Webhooks

Sicurezza

Quando 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.

NomeTipoDescrizione
dataobjectContiene i seguenti dettagli del messaggio inviato.
DataObject
NomeTipoDescrizione
idstringIdentificatore univoco del tuo messaggio.
statusstringStato iniziale del tuo messaggio.
Valori possibili: PENDING, FAILED, DELIVERED, SEEN
channelstringIl 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.

NomeTipoDescrizione
dataobjectContiene i seguenti dettagli del messaggio inviato.
DataObject
NomeTipoDescrizione
account_idstringIdentificatore univoco del tuo account.
fromstringIl/i numero/i di cellulare del mittente nel formato internazionale.
sender_codestringIl tuo numero di telefono SMS o WhatsApp TopMessage.
textstringIl tuo messaggio di testo da inviare ai destinatari.
channelstringIl canale di comunicazione invia il tuo messaggio.
Valori possibili: SMS E WHATSAPP
Predefinito: SMS
tostringIl 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_idstringIdentificatore 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