Webhooks

Säkerhet

När du ställer in webhook-slutpunkter kan du säkra din applikation mot oönskade förfrågningar genom att konfigurera webhook secret. Varje begäransignatur skapas med hjälp av hashalgoritmen HMAC_SHA256. Algoritmen signerar webhook-nyttolasten med hemligheten du har tillhandahållit. Den resulterande hashen ingår i begärans signaturhuvud i följande format:

X-TopMessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Hantera dina webhook-slutpunkter

här

Ta emot leveransrapport

Leveransrapporten för utgående meddelanden skickas till din webhook-slutpunkt och indikerar om varje meddelande levererades framgångsrikt eller misslyckades.

NamnSlagBeskrivning
dataobjectInnehåller nedanstående information om meddelandet som skickas.
DataObject
NamnSlagBeskrivning
idstringUnik identifierare för ditt meddelande.
statusstringInitial status för ditt meddelande.
Möjliga värden: PENDING, FAILED, DELIVERED, SEEN
channelstringKommunikationskanalen skickar ditt budskap igenom.
Möjliga värden: SMS och WHATSAPP
Standard: SMS
Ta emot inkommande meddelande

Inkommande meddelanden som tas emot på ditt SMS- eller WhatsApp-telefonnummer vidarebefordras i realtid till den angivna webhook-slutpunkten.

NamnSlagBeskrivning
dataobjectInnehåller nedanstående information om meddelandet som skickas.
DataObject
NamnSlagBeskrivning
account_idstringUnik identifierare för ditt konto.
fromstringAvsändarens mobilnummer i internationellt format.
sender_codestringDitt TopMessage-sms eller WhatsApp-telefonnummer.
textstringDitt textmeddelande ska skickas till mottagaren/mottagarna.
channelstringKommunikationskanalen skickar ditt budskap igenom.
Möjliga värden: SMS och WHATSAPP
Standard: SMS
tostringDitt TopMessage-avsändarnamn för SMS eller WhatsApp. Du kan se tillgängliga namn eller skapa ett nytt på avsändarsidan.Gå till avsändarsidan.
request_idstringUnik identifierare för begäran som genererats av dig för att spåra förfrågningar.
Standard: NULL
POST
https://{yourDomain}/your/webhook/path
X-Topmessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Content-Type: application/json
Begär prov (leveransrapport)

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
Begär prov (inkommande meddelande)

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