Συμβατότητα GMS API
Το SMSBAT υποστηρίζει ένα επίπεδο συμβατότητας με το GMS API. Αυτό σας επιτρέπει να μετεγκαταστήσετε τις υπάρχουσες ενσωματώσεις σας που έχουν σχεδιαστεί για GMS απευθείας στο SMSBAT χωρίς να χρειάζεται να τροποποιήσετε τα σχήματα δρομολόγησης μηνυμάτων, τις δομές ωφέλιμου φορτίου ή τους ακροατές επανάκλησης.
Ρυθμίσεις σύνδεσης
Για να δρομολογήσετε αιτήματα μέσω SMSBAT, ενημερώστε τη βασική διεύθυνση URL και τα διαπιστευτήρια ελέγχου ταυτότητας στην ενσωμάτωσή σας:
- Βασική διεύθυνση URL:
https://restapi.smsbat.com - Τελικό σημείο:
POST /api/GMSMessage/send_message - Μορφή αιτήματος:
application/json - Έλεγχος ταυτότητας: Βασικός έλεγχος ταυτότητας HTTP (χρησιμοποιεί τα διαπιστευτήριά σας SMSBAT API)
Παράμετροι αιτήματος
Το API συμβατότητας GMS δέχεται ένα αντικείμενο JSON με τις ακόλουθες παραμέτρους ανώτατου επιπέδου:
| Παράμετρος | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|
| ”αριθμός_τηλεφώνου” | χορδή | Ναι | Αριθμός τηλεφώνου παραλήπτη σε διεθνή μορφή (π.χ. 380501234567). |
tag | χορδή | Ναι | Εγγεγραμμένο όνομα αποστολέα / όνομα άλφα. |
| ”κανάλια” | συστοιχία | Ναι | Λίστα καναλιών προς δοκιμή, με σειρά προτεραιότητας. Υποστηριζόμενες τιμές: «viber», «sms», «push». Π.χ., `[“viber”, “sms”]”. |
| “επιλογές_καναλιού” | αντικείμενο | Ναι | Χάρτης που περιέχει επιλογές για κάθε ενεργό κανάλι (δείτε παρακάτω). |
extra_id | χορδή | Όχι | Το εσωτερικό σας αναγνωριστικό μηνύματος από την πλευρά του πελάτη. |
callback_url | χορδή | Όχι | URL τελικού σημείου στο σύστημά σας για να λαμβάνετε επανακλήσεις κατάστασης παράδοσης. |
| «κωδικός_διαίρεσης» | χορδή | Όχι | Προαιρετικό αναγνωριστικό κωδικού διαίρεσης (προεπιλογή σε «κύριο»). |
Ρυθμίσεις επιλογών καναλιού
Το αντικείμενο “channel_options” περιέχει διαμορφώσεις για συγκεκριμένα κανάλια.
Χρησιμοποιείται όταν το “viber” αναφέρεται στη διάταξη “κανάλια”.
| Παράμετρος | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|
κείμενο | χορδή | Ναι | Κείμενο σώματος μηνύματος. |
ttl | ακέραιος | Ναι | Time-to-Live σε δευτερόλεπτα. |
img | χορδή | Όχι | Δημόσια διεύθυνση URL HTTPS της εικόνας προς εμφάνιση. |
| «λεζάντα» | χορδή | Όχι | Κουμπί ετικέτα κειμένου. |
| «δράση» | χορδή | Όχι | Διεύθυνση URL προορισμού όταν κάνετε κλικ στο κουμπί. |
| ”επιλογές_έρευνας” | συστοιχία | Όχι | Πίνακας συμβολοσειρών (2 έως 5 στοιχεία) για εμφάνιση ως επιλογές έρευνας. |
| «αντικείμενα_καρουσέλ» | συστοιχία | Όχι | Σειρά αντικειμένων διαφανειών για εμφάνιση ως καρουζέλ του Viber (δείτε τη δομή στην καρτέλα). |
Παράδειγμα αιτήματος Viber:
{
"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"
}
}
}
Μορφή απόκρισης
Το τελικό σημείο επιστρέφει απαντήσεις σε μορφή JSON με κωδικό κατάστασης “HTTP 200 OK”.
Επιτυχής απόκριση
{
"MessageId": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
"ErrorCode": null,
"ErrorText": null
}
Αποκρίσεις σφαλμάτων
Εάν αποτύχει η επικύρωση ή η επεξεργασία, θα επιστραφεί μια απάντηση σφάλματος με μη μηδενικό «ErrorCode» και λεπτομερές «ErrorText».
{
"MessageId": "00000000-0000-0000-0000-000000000000",
"ErrorCode": 10221,
"ErrorText": "This type of Message is not supported by the system"
}
Μορφή παράδοσης επανάκλησης
Εάν το “callback_url” καθορίστηκε στο αίτημα, το SMSBAT στέλνει ενημερώσεις κατάστασης παράδοσης ως ωφέλιμο φορτίο JSON POST στο τελικό σημείο σας.
Παράδειγμα αιτήματος επανάκλησης
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
}
Περιγραφή πεδίων επανάκλησης
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
| «αριθμός» | χορδή | Αριθμός τηλεφώνου παραλήπτη. |
χρόνος | αριθμός | Χρονική σήμανση συμβάντος σε χιλιοστά του δευτερολέπτου Unix. |
| «κατάσταση» | αριθμός | Απλοποιημένο αναγνωριστικό κατάστασης (δείτε πίνακα κωδικών κατάστασης). |
| «υποκατάσταση» | αριθμός | Αναλυτικό αναγνωριστικό κατάστασης (βλ. πίνακα κωδικών υποκατάστασης). |
hyber_status | αριθμός | Λεπτομερής εσωτερικός κωδικός κατάστασης SMSBAT (βλ. πίνακα Κατάστασης Hyber). |
| “αναγνωριστικό_μηνύματος” | χορδή | Το αναγνωριστικό μηνύματος SMSBAT (GUID) δημιουργήθηκε κατά την αποστολή. |
extra_id | χορδή | Το αναγνωριστικό από την πλευρά του πελάτη που παρέχεται στο αρχικό αίτημα. |
σταλμένο_μέσω | χορδή | Κανάλι που επεξεργάστηκε το μήνυμα: “viber”, “sms” ή “rcs”. |
matching_template_id | αριθμός | Κατάσταση αντιστοίχισης προτύπου Viber (όπου ισχύει). |
Αντιστοιχίσεις κατάστασης
1. Απλοποιημένη κατάσταση (‘κατάσταση’)
| Κωδικός | Σημασία |
|---|---|
1 | Το μήνυμα έγινε αποδεκτό ή παραδίδεται. |
2 | Το μήνυμα παραδόθηκε. |
3 | Σφάλμα επεξεργασίας ή παράδοσης. |
2. Λεπτομερής κατάσταση (‘substatus’)
| Κωδικός | Σημασία |
|---|---|
12 | Αποδεκτό για επεξεργασία. |
23 | Παραδόθηκε. |
24 | Είδα/διαβάστηκε. |
35 | Δεν παραδίδεται εντός TTL (Έληξε). |
36 | Σφάλμα παράδοσης. |
3. Τύπος καναλιού (sent_via)
| Κανάλι | Περιγραφή |
|---|---|
viber | Κατάσταση που παράγεται από το κανάλι Viber. |
sms | Κατάσταση που παράγεται από κανάλι SMS. |
rcs | Κατάσταση που παράγεται από το κανάλι RCS. |
4. Λεπτομερής κατάσταση SMSBAT (“hyber_status”)
| Κωδικός | Κανάλι | Κατάσταση | Υποκατάσταση | Σημασία |
|---|---|---|---|---|
| 23033 | viber | 2 | 23 | Παραδόθηκε μήνυμα Viber. |
| 24013 | viber | 2 | 24 | Μήνυμα Viber που διαβάζεται από τον παραλήπτη (Εμφανίστηκε). |
| 36013 | viber | 3 | 36 | Εσωτερικό σφάλμα Viber. |
| 36023 | viber | 3 | 36 | Μη έγκυρο ή μη διαθέσιμο αναγνωριστικό υπηρεσίας Viber. |
| 36033 | viber | 3 | 36 | Μη έγκυρα δεδομένα ωφέλιμου φορτίου Viber. |
| 36037 | viber | 3 | 36 | Η διεύθυνση URL εικόνας Viber είναι πολύ μεγάλη. |
| 36038 | viber | 3 | 36 | Μη έγκυρη διεύθυνση URL εικόνας Viber. |
| 36039 | viber | 3 | 36 | Το κείμενο Viber είναι πολύ μεγάλο. |
| 36044 | viber | 3 | 36 | Κενό κείμενο Viber. |
| 36053 | viber | 3 | 36 | Μη υποστηριζόμενος τύπος μηνύματος Viber. |
| 36063 | viber | 3 | 36 | Μη έγκυρες παράμετροι Viber. |
| 36073 | viber | 3 | 36 | Λήξη χρονικού ορίου παρόχου Viber. |
| 36083 | viber | 3 | 36 | Ο αποστολέας του Viber έχει αποκλειστεί από τον παραλήπτη. |
| 36093 | viber | 3 | 36 | Ο παραλήπτης δεν έχει εγγραφεί ως χρήστης του Viber. |
| 36103 | viber | 3 | 36 | Δεν βρέθηκε συσκευή Android/iOS με υποστήριξη Viber. |
| 36113 | viber | 3 | 36 | Μη εξουσιοδοτημένη διεύθυνση IP για αποστολή Viber. |
| 36123 | viber | 3 | 36 | Εντοπίστηκε διπλό μήνυμα Viber. |
| 36143 | viber | 3 | 36 | Σφάλμα χρέωσης Viber. |
| 36153 | viber | 3 | 36 | Το μήνυμα αποκλείστηκε από τη μαύρη λίστα της πλατφόρμας. |
| 36163 | viber | 3 | 36 | Εσωτερικό σφάλμα επεξεργασίας πλατφόρμας Viber. |
| 36173 | viber | 3 | 36 | Λάθος ή λείπει η ετικέτα Viber. |
| 36183 | viber | 3 | 36 | Μη έγκυρη τιμή Viber TTL. |
| 12011 | sms / rcs | 1 | 12 | Αποδεκτό SMS/RCS. |
| 36011 | sms / rcs | 1 | 12 | Διαδρομή SMS/RCS. |
| 23011 | sms / rcs | 2 | 23 | Παραδόθηκε SMS/RCS. |
| 35015 | sms / rcs | 3 | 35 | Το SMS/RCS έληξε (δεν παραδόθηκε εντός TTL). |
| 36021 | sms / rcs | 3 | 36 | Το μήνυμα SMS/RCS διαγράφηκε. |
| 36031 | sms / rcs | 3 | 36 | Δεν είναι δυνατή η παράδοση SMS/RCS. |
| 36041 | sms / rcs | 3 | 36 | Άγνωστη κατάσταση παράδοσης SMS/RCS. |
| 36051 | sms / rcs | 3 | 36 | Το μήνυμα SMS/RCS απορρίφθηκε. |