Webhooks

Sicherheit

Wenn Sie Webhook-Endpunkte einrichten, können Sie Ihre Anwendung vor unerwünschten Anfragen schützen, indem Sie das Webhook-Geheimnis konfigurieren. Jede Anfragesignatur wird mit dem Hashing-Algorithmus HMAC_SHA256 erstellt. Der Algorithmus signiert die Webhook-Nutzlast mit dem von Ihnen angegebenen Geheimnis. Der resultierende Hash ist im Signaturheader der Anfrage im folgenden Format enthalten:

X-TopMessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Verwalten Sie Ihre Webhook-Endpunkte

hier

Zustellbericht empfangen

Der Zustellbericht ausgehender Nachrichten wird an Ihren Webhook-Endpunkt gesendet und gibt an, ob jede Nachricht erfolgreich zugestellt wurde oder nicht.

NameTypBeschreibung
dataobjectEnthält die folgenden Details der gesendeten Nachricht.
Datenobjekt
NameTypBeschreibung
idstringEindeutige Kennung Ihrer Nachricht.
statusstringAnfangsstatus Ihrer Nachricht.
Möglichen Werte: PENDING, FAILED, DELIVERED, SEEN
channelstringDer Kommunikationskanal, über den Ihre Nachricht gesendet wurde.
Möglichen Werte: SMS und WHATSAPP
Standard: SMS
Eingehende Nachrichten empfangen

Eingehende Nachrichten, die an Ihre SMS- oder WhatsApp-Telefonnummer gesendet werden, werden in Echtzeit an den angegebenen Webhook-Endpunkt weitergeleitet.

NameTypBeschreibung
dataobjectEnthält die folgenden Details der gesendeten Nachricht.
Datenobjekt
NameTypBeschreibung
account_idstringEindeutige Kennung Ihres Kontos.
fromstringDie Mobiltelefonnummer(n) des Absenders im internationalen Format.
sender_codestringIhre TopMessage-SMS- oder WhatsApp-Telefonnummer.
textstringIhr Nachrichtentext, der an den/die Empfänger gesendet werden soll.
channelstringDer Kommunikationskanal, über den Ihre Nachricht gesendet wurde.
Möglichen Werte: SMS und WHATSAPP
Standard: SMS
tostringIhr TopMessage SMS- oder WhatsApp-Absendername. Sie können verfügbare Namen einsehen oder einen neuen auf der Absenderseite erstellen.Zur Absenderseite gehen.
request_idstringEindeutige Kennung der von Ihnen generierten Anfrage zum Verfolgen von Anfragen.
Standard: NULL
POST
https://{yourDomain}/your/webhook/path
X-Topmessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Content-Type: application/json
Anfragebeispiel (Zustellbericht)

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
Anfragebeispiel (eingehende Nachricht)

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