Webhooki

Bezpieczeństwo

Konfigurując punkty końcowe elementu webhook, możesz zabezpieczyć aplikację przed niechcianymi żądaniami, konfigurując klucz tajny elementu webhook. Każdy podpis żądania jest tworzony przy użyciu algorytmu mieszającego HMAC_SHA256. Algorytm podpisuje ładunek webhooka podanym kluczem tajnym. Wynikowy skrót jest zawarty w nagłówku podpisu żądania w następującym formacie:

X-TopMessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Zarządzaj punktami końcowymi webhooka

tutaj

Odbierz raport dostawy

Raport dostarczenia wiadomości wychodzących jest wysyłany do punktu końcowego elementu webhook i wskazuje, czy każda wiadomość została pomyślnie dostarczona, czy też nie.

NazwaUprzejmyOpis
dataobjectZawiera poniższe szczegóły wysyłanej wiadomości.
Obiekt danych
NazwaUprzejmyOpis
idstringUnikalny identyfikator Twojej wiadomości.
statusstringPoczątkowy status Twojej wiadomości.
Możliwe wartości: PENDING, FAILED, DELIVERED, SEEN
channelstringKanał komunikacyjny przesyła Twoją wiadomość.
Możliwe wartości: SMS I WHATSAPP
Domyślny: SMS
Odbierz wiadomość przychodzącą

Wiadomości przychodzące otrzymane na Twój SMS lub numer telefonu WhatsApp są przekazywane w czasie rzeczywistym do określonego punktu końcowego webhooka.

NazwaUprzejmyOpis
dataobjectZawiera poniższe szczegóły wysyłanej wiadomości.
Obiekt danych
NazwaUprzejmyOpis
account_idstringUnikalny identyfikator Twojego konta.
fromstringNumer(y) telefonu komórkowego nadawcy w formacie międzynarodowym.
sender_codestringTwój numer telefonu TopMessage SMS lub WhatsApp.
textstringTwoja wiadomość tekstowa, która zostanie wysłana do odbiorców.
channelstringKanał komunikacyjny przesyła Twoją wiadomość.
Możliwe wartości: SMS I WHATSAPP
Domyślny: SMS
tostringTwoja nazwa nadawcy SMS lub WhatsApp w TopMessage. Możesz sprawdzić dostępne nazwy lub utworzyć nową na stronie nadawców.Przejdź do strony nadawców.
request_idstringUnikalny identyfikator żądania wygenerowanego przez Ciebie w celu śledzenia żądań.
Domyślny: NULL
POST
https://{yourDomain}/your/webhook/path
X-Topmessage-Signature: {TOPMESSAGE_HMAC_SIGNATURE}
Content-Type: application/json
Poproś o próbkę (raport dostawy)

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
Poproś o próbkę (wiadomość przychodząca)

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