Gå till innehållet

GMS API-kompatibilitet

SMSBAT stöder ett kompatibilitetslager med GMS API. Detta gör att du kan migrera dina befintliga integrationer designade för GMS direkt till SMSBAT utan att behöva ändra dina meddelanderuttscheman, nyttolaststrukturer eller återuppringningslyssnare.


Anslutningsinställningar

För att dirigera förfrågningar via SMSBAT, uppdatera bas-URL och autentiseringsuppgifter i din integration:

  • Baswebbadress: https://restapi.smsbat.com
  • Slutpunkt: POST /api/GMSMessage/send_message
  • Request Format: application/json
  • Autentisering: HTTP Basic Authentication (använder dina SMSBAT API-uppgifter)

Begär parametrar

GMS-kompatibilitets-API:et accepterar ett JSON-objekt med följande parametrar på toppnivå:

Parameter Skriv Krävs Beskrivning
telefonnummer sträng Ja Mottagarens telefonnummer i internationellt format (t.ex. "380501234567").
tagg sträng Ja Registrerad avsändarnamn / alfanamn.
kanaler array Ja Lista över kanaler att prova, i prioriterad ordning. Värden som stöds: "viber", "sms", "push". T.ex. ["viber", "sms"].
kanalalternativ objekt Ja Karta som innehåller alternativ för varje aktiv kanal (se nedan).
extra_id sträng Nej Ditt interna meddelande-ID på kundsidan.
callback_url sträng Nej Endpoint URL på ditt system för att ta emot återuppringningar av leveransstatus.
divisionskod sträng Nej Valfri uppdelningskodidentifierare (förinställningen är "huvud").

Inställningar för kanalalternativ

Objektet channel_options innehåller kanalspecifika konfigurationer.

Används när "viber" är listad i arrayen "kanaler".

Parameter Skriv Krävs Beskrivning
text sträng Ja Meddelandets brödtext.
ttl heltal Ja Time-To-Live på några sekunder.
img sträng Nej Offentlig HTTPS-URL för bilden som ska visas.
caption sträng Nej Knapp textetikett.
åtgärd sträng Nej Destinationsadress när knappen klickas.
survey_options array Nej Array av strängar (2 till 5 objekt) att visa som undersökningsalternativ.
karusell_artiklar array Nej Array av diaobjekt att visa som en Viber-karusell (se struktur på fliken).

Exempel på Viber-begäran:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["viber"],
  "channel_options": {
    "viber": {
      "text": "Hello from SMSBAT!",
      "ttl": 60,
      "img": "https://www.example.com/image.png",
      "caption": "Open",
      "action": "https://www.example.com"
    }
  }
}

Aktiverar Viber-meddelanden med ett automatiskt SMS-fallback om Viber-leverans misslyckas inom TTL.

Exempel på reservförfrågan:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["viber", "sms"],
  "channel_options": {
    "viber": {
      "text": "Your order is ready!",
      "ttl": 60,
      "caption": "Details",
      "action": "https://www.example.com/order"
    },
    "sms": {
      "text": "Your order is ready: https://www.example.com/order",
      "alpha_name": "MySender",
      "ttl": 60,
      "ctr": false
    }
  }
}

Används när 'sms' är listad i arrayen 'kanaler'.

Parameter Skriv Krävs Beskrivning
text sträng Ja Meddelandets brödtext.
alfanamn sträng Ja Avsändarens alfanamn.
ttl heltal Ja Time-To-Live på några sekunder.
ctr boolesk Nej Aktivera CTR-klickspårning på länkar i text (true/false).

Exempel på SMS-begäran:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["sms"],
  "channel_options": {
    "sms": {
      "text": "Your verification code is 1234",
      "alpha_name": "MySender",
      "ttl": 60,
      "ctr": false
    }
  }
}

Används för att skapa Viber-undersökningar och undersökningar.

Varning

Viber-undersökningskonfigurationen måste ha mellan 2 och 5 alternativ inuti survey_options.

Exempel på enkätbegäran:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["viber"],
  "channel_options": {
    "viber": {
      "text": "Please rate our service:",
      "ttl": 60,
      "survey_options": [
        "Excellent",
        "Good",
        "Bad"
      ]
    }
  }
}

Används för att skicka svepbara bildkort. Varje bild har stöd för bild, titel och knappar.

Exempel på karusellförfrågan:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["viber"],
  "channel_options": {
    "viber": {
      "text": "Choose an offer",
      "ttl": 60,
      "carousel_items": [
        {
          "title": "Offer 1",
          "image_url": "https://www.example.com/offer-1.png",
          "primary_label": "Open",
          "primary_url": "https://www.example.com/offer-1",
          "secondary_label": "More",
          "secondary_url": "https://www.example.com/offers"
        },
        {
          "title": "Offer 2",
          "image_url": "https://www.example.com/offer-2.png",
          "primary_label": "Open",
          "primary_url": "https://www.example.com/offer-2"
        }
      ]
    }
  }
}

Används när 'push' är listad i arrayen 'kanaler'.

Parameter Skriv Krävs Beskrivning
titel sträng Ja Rubriktext för push-meddelandet.
text sträng Ja Meddelandets brödtext.
ttl heltal Ja Time-To-Live på några sekunder.
img sträng Nej Offentlig HTTPS-URL för bilden som ska visas.
caption sträng Nej Knapp textetikett.
åtgärd sträng Nej Destinationsadress när knappen klickas.
ctr boolesk Nej Aktivera klickspårning.

Exempel på push-begäran:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["push"],
  "channel_options": {
    "push": {
      "title": "Order update",
      "text": "Your order is ready for pickup!",
      "ttl": 60,
      "img": "https://www.example.com/push.png",
      "caption": "Open",
      "action": "https://www.example.com/order",
      "ctr": false
    }
  }
}


Svarsformat

Slutpunkten returnerar svar i JSON-format med en "HTTP 200 OK"-statuskod.

framgångsrikt svar

{
  "MessageId": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "ErrorCode": null,
  "ErrorText": null
}

Felsvar

Om validering eller bearbetning misslyckas returneras ett felsvar med en "ErrorCode" som inte är noll och detaljerad "ErrorText".

{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 10221,
  "ErrorText": "This type of Message is not supported by the system"
}
{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 10221,
  "ErrorText": "There can be from 2 to 5 survey options."
}
{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 400,
  "ErrorText": "Cannot send to international number: alpha name 'ALPHA' is not registered."
}
{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 500,
  "ErrorText": "Internal server error."
}

Återuppringningsleveransformat

Om "callback_url" angavs i begäran skickar SMSBAT leveransstatusuppdateringar som en JSON POST-nyttolast till din slutpunkt.

Exempel på begäran om återuppringning

POST /your-callback-endpoint HTTP/1.1
Host: yoursystem.com
Content-Type: application/json

{
  "number": "380501234567",
  "time": 1719237600000,
  "status": 2,
  "substatus": 23,
  "hyber_status": 23033,
  "message_id": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "extra_id": "ORDER-12345",
  "sent_via": "viber",
  "matching_template_id": 0
}

Återuppringningsfält Beskrivning

Fält Skriv Beskrivning
nummer sträng Mottagarens telefonnummer.
tid nummer Händelsetidsstämpel i Unix millisekunder.
status nummer Förenklad statusidentifierare (se Statuskodtabell).
substatus nummer Detaljerad statusidentifierare (se Tabell för understatuskod).
hyber_status nummer Detaljerad SMSBAT intern statuskod (se tabellen Hyberstatus).
meddelande-id sträng SMSBAT-meddelande-ID (GUID) genereras vid sändning.
extra_id sträng ID på kundsidan angavs i den ursprungliga begäran.
skickat_via sträng Kanal som bearbetade meddelandet: 'viber', 'sms' eller 'rcs'.
matchande_mall-id nummer Viber-mallmatchningsstatus (i tillämpliga fall).

Statusmappningar

1. Förenklad status (status)

Kod Betydelse
1 Meddelandet accepteras eller levereras.
2 Meddelande levererat.
3 Bearbetnings- eller leveransfel.

2. Detaljerad status ("substatus")

Kod Betydelse
12 Godkänd för bearbetning.
23 Levereras.
24 Sett/läst.
35 Levereras inte inom TTL (Upphört).
36 Leveransfel.

3. Kanaltyp (sent_via)

Kanal Beskrivning
viber Status producerad av Viber-kanalen.
sms Status producerad av SMS-kanal.
rcs Status producerad av RCS-kanal.

4. Detaljerad SMSBAT-status (hyber_status)

Kod Kanal Status Substatus Betydelse
23033 viber 2 23 Viber-meddelande levererat.
24013 viber 2 24 Viber-meddelande läst av mottagare (sett).
36013 viber 3 36 Viber internt fel.
36023 viber 3 36 Ogiltigt eller otillgängligt Viber-tjänst-ID.
36033 viber 3 36 Ogiltig Viber-nyttolastdata.
36037 viber 3 36 Viber-bildadressen är för lång.
36038 viber 3 36 Ogiltig webbadress för Viber-bild.
36039 viber 3 36 Vibertext för lång.
36044 viber 3 36 Tom Viber-text.
36053 viber 3 36 Viber-meddelandetyp stöds inte.
36063 viber 3 36 Ogiltiga Viber-parametrar.
36073 viber 3 36 Viber-leverantörens timeout.
36083 viber 3 36 Viber-avsändare blockerad av mottagaren.
36093 viber 3 36 Mottagaren är inte registrerad som Viber-användare.
36103 viber 3 36 Ingen Android/iOS-enhet med Viber-stöd hittades.
36113 viber 3 36 Obehörig IP-adress för Viber-sändning.
36123 viber 3 36 Dubblett Viber-meddelande upptäcktes.
36143 viber 3 36 Viber-faktureringsfel.
36153 viber 3 36 Meddelande blockerat av plattformens svartlista.
36163 viber 3 36 Viber-plattformens internt bearbetningsfel.
36173 viber 3 36 Fel eller saknas Viber-etikett.
36183 viber 3 36 Ogiltigt Viber TTL-värde.
12011 sms / rcs 1 12 SMS/RCS accepteras.
36011 sms / rcs 1 12 SMS/RCS på väg.
23011 sms / rcs 2 23 SMS/RCS levererat.
35015 sms / rcs 3 35 SMS/RCS har löpt ut (levereras inte inom TTL).
36021 sms / rcs 3 36 SMS/RCS-meddelande raderat.
36031 sms / rcs 3 36 SMS/RCS kan inte levereras.
36041 sms / rcs 3 36 Okänd SMS/RCS-leveransstatus.
36051 sms / rcs 3 36 SMS/RCS-meddelande avvisades.