Webhooki
BezpieczeństwoKonfigurując punkty końcowe elementu webhook, możesz zabezpieczyć aplikację przed niechcianymi żądaniami, konfigurując klucz tajny elementu webhook. Każdy podpis żądania jest tworzony przy użyciu algorytmu mieszającego HMAC_SHA256. Algorytm podpisuje ładunek webhooka podanym kluczem tajnym. Wynikowy skrót jest zawarty w nagłówku podpisu żądania w następującym formacie:
X-TopMessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Zarządzaj punktami końcowymi webhooka
tutaj
Odbierz raport dostawy
Raport dostarczenia wiadomości wychodzących jest wysyłany do punktu końcowego elementu webhook i wskazuje, czy każda wiadomość została pomyślnie dostarczona, czy też nie.
Nazwa | Uprzejmy | Opis |
---|---|---|
data | object | Zawiera poniższe szczegóły wysyłanej wiadomości. |
Obiekt danych
Nazwa | Uprzejmy | Opis |
---|---|---|
id | string | Unikalny identyfikator Twojej wiadomości. |
status | string | Początkowy status Twojej wiadomości. Możliwe wartości: PENDING , FAILED , DELIVERED , SEEN |
channel | string | Kanał komunikacyjny przesyła Twoją wiadomość. Możliwe wartości: SMS I WHATSAPP Domyślny: SMS |
Odbierz wiadomość przychodzącą
Wiadomości przychodzące otrzymane na Twój SMS lub numer telefonu WhatsApp są przekazywane w czasie rzeczywistym do określonego punktu końcowego webhooka.
Nazwa | Uprzejmy | Opis |
---|---|---|
data | object | Zawiera poniższe szczegóły wysyłanej wiadomości. |
Obiekt danych
Nazwa | Uprzejmy | Opis |
---|---|---|
account_id | string | Unikalny identyfikator Twojego konta. |
from | string | Numer(y) telefonu komórkowego nadawcy w formacie międzynarodowym. |
sender_code | string | Twój numer telefonu TopMessage SMS lub WhatsApp. |
text | string | Twoja wiadomość tekstowa, która zostanie wysłana do odbiorców. |
channel | string | Kanał komunikacyjny przesyła Twoją wiadomość. Możliwe wartości: SMS I WHATSAPP Domyślny: SMS |
to | string | Twoja nazwa nadawcy SMS lub WhatsApp w TopMessage. Możesz sprawdzić dostępne nazwy lub utworzyć nową na stronie nadawców.Przejdź do strony nadawców. |
request_id | string | Unikalny identyfikator żądania wygenerowanego przez Ciebie w celu śledzenia żądań. Domyślny: NULL |
POST
https://{yourDomain}/your/webhook/path
X-Topmessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Content-Type: application/json
Poproś o próbkę (raport dostawy)
Payload
Java
Python
{
"data":
{
"id":"b04fc4d3-f232-46b7-b66b-538c0d4b3404",
"channel":"SMS",
"status":"DELIVERED"
}
}
public class TopMessageDeliveryReport {
private String id;
private String requestId;
private String channel;
private String status;
}
class TopMessageDeliveryReport:
id: str
request_id: str
channel: str
status: str
Poproś o próbkę (wiadomość przychodząca)
Payload
Java
Python
{
"data": {
"id":"e3fc3b55-807f-41cf-93cf-cd365fef8515",
"channel":"WHATSAPP",
"account_id":"0d1f7f1c-27df-41bf-8bdc-5666608a4285",
"sender_details":
{
"sender_id":"476c7381-ca60-4e98-9657-a4af98ec032b",
"sender_name":"TopMessage",
"sender_code":"19134216816"},
"Number":"491511234567",
"text":"Received"
}
}
}
public class TopMessageIncomingMessage {
private String id;
private String channel;
private String accountId;
private SenderDetails senderDetails;
private String number;
private String referenceMessageId;
private String text;
private String mediaId;
private Location location;
public static class SenderDetails {
private String id;
private String name;
private String code;
}
public static class Location {
private String name;
private String address;
private String latitude;
private String longitude;
}
}
class SenderDetails:
id: str
name: str
code: str
class Location:
name: str
address: str
latitude: str
longitude: str
class TopMessageIncomingMessage:
id: str
channel: str
account_id: str
sender_details: SenderDetails
number: str
reference_message_id: str
text: str
media_id: str
location: Location