Webhooks
SécuritéLors de la configuration des points de terminaison webhook, vous pouvez sécuriser votre application contre les requêtes non désirées en configurant un secret webhook. Chaque signature de requête est générée en utilisant l'algorithme de hachage HMAC_SHA256. L'algorithme signe le payload du webhook avec le secret que vous avez fourni. Le hachage résultant est inclus dans l'en-tête de signature de la requête dans le format suivant :
X-TopMessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
ici
Le rapport de livraison des messages sortants est envoyé à votre point de terminaison webhook, indiquant si chaque message a été livré avec succès ou a échoué.
Nom | Taper | Description |
---|---|---|
données | objet | Contient les détails ci-dessous du message envoyé. |
Nom | Taper | Description |
---|---|---|
id | string | Identifiant unique de votre message. |
status | string | Statut initial de votre message. Valeurs possibles: PENDING , FAILED , DELIVERED , SEEN |
channel | string | Le canal de communication par lequel votre message est envoyé. Valeurs possibles: SMS et WHATSAPP Par défaut: SMS |
Les messages entrants reçus sur votre numéro de téléphone SMS ou WhatsApp sont transférés en temps réel vers le point de terminaison webhook spécifié.
Nom | Taper | Description |
---|---|---|
données | objet | Contient les détails ci-dessous du message envoyé. |
Nom | Taper | Description |
---|---|---|
account_id | string | Identifiant unique de votre compte. |
from | string | Nom d'affichage à partir duquel votre message sera envoyé. |
sender_code | string | Votre numéro de téléphone SMS ou WhatsApp TopMessage. |
text | string | Le texte de votre message à envoyer au(x) destinataire(s). |
channel | string | Le canal de communication par lequel votre message est envoyé. Valeurs possibles: SMS et WHATSAPP Par défaut: SMS |
sender_name | string | Votre nom d'expéditeur SMS ou WhatsApp TopMessage. |
request_id | string | Identifiant unique de la demande générée par vous pour suivre les requêtes. Par défaut: NULL |
https://{yourDomain}/your/webhook/path
X-Topmessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Content-Type: application/json
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
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