Webhooks
SicurezzaQuando configuri gli endpoint webhook, puoi proteggere la tua applicazione da richieste indesiderate configurando il segreto del webhook. Ogni firma di richiesta viene creata utilizzando l'algoritmo di hashing HMAC_SHA256. L'algoritmo firma il payload del webhook con il segreto che hai fornito. L'hash risultante è incluso nell'intestazione della firma della richiesta nel seguente formato:
X-TopMessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Gestisci i tuoi endpoint webhook
qui
Ricevi il rapporto di consegna
Il report di consegna dei messaggi in uscita viene inviato al tuo endpoint webhook, indicando se ciascun messaggio è stato recapitato correttamente o meno.
Nome | Tipo | Descrizione |
---|---|---|
data | object | Contiene i seguenti dettagli del messaggio inviato. |
DataObject
Nome | Tipo | Descrizione |
---|---|---|
id | string | Identificatore univoco del tuo messaggio. |
status | string | Stato iniziale del tuo messaggio. Valori possibili: PENDING , FAILED , DELIVERED , SEEN |
channel | string | Il canale di comunicazione invia il tuo messaggio. Valori possibili: SMS E WHATSAPP Predefinito: SMS |
Ricevi messaggio in arrivo
I messaggi in entrata ricevuti sul tuo numero di telefono SMS o WhatsApp vengono inoltrati in tempo reale all'endpoint webhook specificato.
Nome | Tipo | Descrizione |
---|---|---|
data | object | Contiene i seguenti dettagli del messaggio inviato. |
DataObject
Nome | Tipo | Descrizione |
---|---|---|
account_id | string | Identificatore univoco del tuo account. |
from | string | Il/i numero/i di cellulare del mittente nel formato internazionale. |
sender_code | string | Il tuo numero di telefono SMS o WhatsApp TopMessage. |
text | string | Il tuo messaggio di testo da inviare ai destinatari. |
channel | string | Il canale di comunicazione invia il tuo messaggio. Valori possibili: SMS E WHATSAPP Predefinito: SMS |
to | string | Il nome mittente SMS o WhatsApp di TopMessage. Puoi controllare i nomi disponibili o crearne uno nuovo dalla pagina dei mittenti.Vai alla pagina dei mittenti. |
request_id | string | Identificatore univoco della richiesta da te generato per tracciare le richieste. Predefinito: NULL |
POST
https://{yourDomain}/your/webhook/path
X-Topmessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Content-Type: application/json
Richiedi campione (rapporto di consegna)
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
Richiedi campione (messaggio in arrivo)
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