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:
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:
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:
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
Felsvar
Om validering eller bearbetning misslyckas returneras ett felsvar med en "ErrorCode" som inte är noll och detaljerad "ErrorText".
Å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. |