Event subscriptions
List recent channel events
Recent events on the channel in the same shape a subscription receives, with raw set to
null and rawOmitted true, limited to what your plan lets you see in the delivery log.
Returns up to limit of the most recent events, newest first. It looks through a bounded
number of recent deliveries, so it can return fewer than limit events when the type you
asked for is rare. Use it as sample data when you set up an automation, not as a history
feed: no paging. Facebook Page channels return an empty list.
GET
/
channels
/
{ch}
/
events
List recent channel events
curl --request GET \
--url https://api.hookmyapp.com/channels/{ch}/events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hookmyapp.com/channels/{ch}/events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hookmyapp.com/channels/{ch}/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hookmyapp.com/channels/{ch}/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hookmyapp.com/channels/{ch}/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hookmyapp.com/channels/{ch}/events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hookmyapp.com/channels/{ch}/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"events": [
{
"id": "<string>",
"type": "whatsapp.message.received",
"occurredAt": "2023-11-07T05:31:56Z",
"channelId": "<string>",
"channel": {
"type": "whatsapp"
},
"data": {
"messageId": "<string>",
"from": "<string>",
"contactName": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"messageType": "<string>",
"text": "<string>",
"media": {
"id": "<string>",
"mimeType": "<string>",
"sha256": "<string>",
"filename": "<string>"
},
"interactive": {},
"context": {
"messageId": "<string>"
}
},
"raw": "<unknown>",
"rawOmitted": true
}
]
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}Authorizations
Authorization: Bearer hmok_... API key or a dashboard session token
Path Parameters
ch_ channel id
Pattern:
^ch_[A-Za-z0-9]{8}$Query Parameters
Comma-separated event types. Default: all.
Out-of-range values are clamped.
Required range:
1 <= x <= 50Response
Events
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
⌘I
List recent channel events
curl --request GET \
--url https://api.hookmyapp.com/channels/{ch}/events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hookmyapp.com/channels/{ch}/events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hookmyapp.com/channels/{ch}/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hookmyapp.com/channels/{ch}/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hookmyapp.com/channels/{ch}/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hookmyapp.com/channels/{ch}/events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hookmyapp.com/channels/{ch}/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"events": [
{
"id": "<string>",
"type": "whatsapp.message.received",
"occurredAt": "2023-11-07T05:31:56Z",
"channelId": "<string>",
"channel": {
"type": "whatsapp"
},
"data": {
"messageId": "<string>",
"from": "<string>",
"contactName": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"messageType": "<string>",
"text": "<string>",
"media": {
"id": "<string>",
"mimeType": "<string>",
"sha256": "<string>",
"filename": "<string>"
},
"interactive": {},
"context": {
"messageId": "<string>"
}
},
"raw": "<unknown>",
"rawOmitted": true
}
]
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}