Документація api — smsgateway24

Документація

Документація з API та інтеграції

Використовуйте SmsGateway24 із SMS, WhatsApp, чатами, API-запитами та вебхуками.
Ця документація охоплює автентифікацію за токеном, надсилання повідомлень, масові операції, API пристроїв, статуси доставки та інтеграцію вебхуків.
v.1.1
API
Створено для розробників і команд
Підключіть бекенд, CRM або службу підтримки до свого Android-пристрою для повідомлень.

1. Отримання токена:

Опис: У разі успішного виконання цього запиту ви отримаєте токен. Потім за його допомогою можна звертатися до сервера й робити інші запити.
Ендпойнт: https://smsgateway24.com/getdata/gettoken
Метод:: GET
Параметри запиту:
Змінна Тип Опис
email string [обов'язковий] Your login in the system. Usually email
pass string [обов'язковий] Your password in the system

Відповідь у форматі JSON::
Змінна Тип Опис
token string Токен отримується через метод отримання токена:
error int 0 | 1 — указує, чи сталася помилка під час обробки запиту
message string Повідомлення про помилку; порожнє, якщо все гаразд.
Посилання на приклад коду на Curl
Посилання на приклад коду на Guzzle
Приклад відповіді:
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f41119fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}

2. Надсилання одного повідомлення за допомогою TOKEN:

Опис: Створює вихідне повідомлення на сервері. Повідомлення може бути надіслане через вибраний канал підключеного Android-пристрою.
Ендпойнт: https://smsgateway24.com/getdata/addsms
Метод: GET, POST (У GET-запиті використовуйте %2B замість знака плюс «+»)
Параметри запиту:
Змінна Тип Опис
token string [обов'язковий] Токен отримується через метод отримання токена.
sendto string [обов'язковий] Адреса або номер телефону отримувача. Кілька значень можна перелічити через кому.
body string [обов'язковий] Текст повідомлення. Не потрібен під час надсилання зображення (див. параметр «file» нижче) — у цьому разі body замінюється URL завантаженого зображення.
device_id int [обов'язковий] ID пристрою
sim int [обов'язковий] SIM-слот: 0 і 1 для SMS. 2 — WhatsApp Business, 3 — особистий WhatsApp. 4 і 5 — RCS.
timetosend string
YYYY-MM-DD
або
YYYY-MM-DD HH:MM:SS
[необов'язково] Час, призначений для надсилання повідомлення. Наприклад: 2026-09-19 03:10:00
customerid int [необов'язково] Ідентифікатор вашого клієнта. Необов'язкове поле
urgent int [необов'язково] Позначає повідомлення як термінове. Корисно для OTP і трафіку з високим пріоритетом.
file file (multipart/form-data) [необов'язково] Файл зображення для надсилання (jpeg, png, webp, gif). Якщо його вказано, запит потрібно надсилати як multipart/form-data методом POST. Файл завантажується в наше сховище S3, і його публічний URL замінює поле «body», тому зображення доставляється отримувачу (наразі підтримується на слотах WhatsApp / WhatsApp Business) і відображається у відповідному чаті. Параметр повністю необов'язковий — наявні інтеграції, що надсилають лише текст, продовжують працювати без змін.
Зворотна сумісність: параметр «file» необов'язковий. Якщо файл не передано, ендпойнт працює точно як раніше — наявні текстові інтеграції змінювати не потрібно.

Відповідь у форматі JSON:
Змінна Тип Опис
error int 0 або 1 — указує, чи сталася помилка під час обробки запиту
message string Повідомлення про помилку; порожнє, якщо все гаразд.
sms_id int Ідентифікатор створеного повідомлення в нашій системі.
Посилання на приклад коду на Curl
Посилання на приклад коду на Guzzle
Приклад відповіді:
{ "error": 0, "sms_id": 62807347, "message": "Sms has been saved successfully" }

2.1 Застарілий метод: надсилання однієї SMS за логіном і паролем

Застаріло. Для нових інтеграцій використовуйте автентифікацію за токеном. Цей метод збережено лише для зворотної сумісності.
Ендпойнт: https://smsgateway24.com/getdata/smstosend
Метод: GET, POST
Параметри запиту:
Змінна Тип Опис
emailstring[обов'язковий] Ваш email
passstring[обов'язковий] Ваш пароль
sendtostring[обов'язковий] Адреса або номер телефону отримувача.
bodystring[обов'язковий] Текст повідомлення
device_idint[обов'язковий] ID пристрою
simint[обов'язковий] SIM-слот: 0 і 1 для SMS. 2 — WhatsApp Business, 3 — особистий WhatsApp. 4 і 5 — RCS
timetosendstring[необов'язково] Запланований час надсилання.
customeridint[необов'язково] Ваш ідентифікатор клієнта.
urgentint[необов'язково] Позначає повідомлення як термінове.

3. Масове надсилання SMS через JSON

Опис: Створює SMS на сервері для надсилання. Після цього телефон із застосунком Smsgateway24 звертається до сервера, забирає SMS і надсилає їх із вашої SIM-карти. Завантажте застосунок за посиланням
Ендпойнт: https://smsgateway24.com/getdata/addalotofsms
Метод:: GET, POST
Параметри запиту:
Змінна Тип Опис
datajson string [обов'язковий] {"token":"df427bfcf113c9a21c67718035076b5b","smsdata":[{"sendto":"015752982212","body":"Test message","sim":1,"timetosend":"2019-07-01 23:50:00","device_id":260},{"sendto":"+4915752982212","body":"Test message 2","sim":1,"timetosend":"2019-07-01 23:50:00","device_id":260,"urgent":1}]}

Відповідь у форматі JSON::
Змінна Тип Опис
error int 0 | 1 — указує, чи сталася помилка під час обробки запиту
message string Повідомлення про помилку; порожнє, якщо все гаразд.
Посилання на приклад коду на Curl
Посилання на приклад коду на Guzzle
Request example:
{ "token":"df427bfcf113c9a21c6771803501", "smsdata":[ { "sendto":"015752982212", "body":"Your password is 12345", "sim":1, "timetosend":"2019-07-01 23:50:00", "device_id":260, "customerid":122, "urgent":1 }, { "sendto":"015752982212", "body":"Regular SMS. Not urgnet", "sim":1, "timetosend":"2019-07-01 23:50:00", "device_id":260, "customerid":122, "urgent":0 } ] }

4. Отримати всі SMS (включно з вхідними):

Опис: Цей запит дає змогу отримати всі повідомлення вашого облікового запису, включно з вхідними SMS від клієнтів. У цьому методі всі вхідні параметри обов'язкові, а SMS можуть мати різні статуси.
Ендпойнт: https://smsgateway24.com/getdata/getallsms
Спосіб: GET, POST (У GET-запиті використовуйте %2B замість знака плюс «+»)
Параметри запиту:
Змінна Тип Опис
token string [обов'язковий] Токен отримується через метод отримання токена.
device_id string [необов'язково] ID пристрою
status int [необов'язково]
  • 1 - Очікувані SMS
  • 2 - SMS, узяті телефоном
  • 3 - У черзі на надсилання. Certainly, it would have been more logical to place the status "queued for sending" before "SMS taken by phone," but for backward compatibility, the statuses are in the following order: 1, 3, 2."
  • 5 - Вхідні SMS
  • 6 - SMS надіслані телефоном
  • 7 - SMS доставлено
  • 8 - SMS НЕ доставлено
  • 9 - SMS узагалі не надіслана — Generic Failure. (Прочитайте, що робити з цією помилкою тут)
  • Інші, рідкісніші помилки:
  • 10 - SMS не надіслано - No Service
  • 11 - SMS не надіслано - Null PDU
  • 12 - SMS не надіслано - Radio Off
  • 100, 101 - SMS не надіслано - NOT ALLOWED. (Застосунку не надано дозволи на надсилання SMS)
begindate string
YYYY-MM-DD
or
YYYY-MM-DD HH:MM:SS
[необов'язково] Begin Date Time
enddate string
YYYY-MM-DD
or
YYYY-MM-DD HH:MM:SS
[необов'язково] End Date Time
sim int [необов'язково] SIM-слот: 0 і 1 для SMS. 2 — WhatsApp Business, 3 — особистий WhatsApp. 4 і 5 — RCS # 0 or 1
customerid int [необов'язково] Ідентифікатор вашого клієнта. Необов'язкове поле
onlycount int [необов'язково] 0 | 1 лише кількість
phone string [необов'язково] 0 | 1 Фільтр за номером телефону
orderbydesc int [необов'язково] 0 | 1 Order by any field
timezone int [необов'язково] Укажіть свій часовий пояс, наприклад Australia/Sydney.

Відповідь у форматі JSON::
Змінна Тип Опис
token string Токен отримується через метод отримання токена:
error int 0 | 1 — указує, чи сталася помилка під час обробки запиту
message string Повідомлення про помилку; порожнє, якщо все гаразд
count int SMS amount
smss int JSON object
Посилання на приклад коду на Curl
Посилання на приклад коду на Guzzle
Приклад відповіді ... :
{ "smss": { "62050971": { "id": 62050971, "sendto": "+4912312312332", "body": "Hello! Thank you for Order! ", "customerid": null, "status": 2, "statustitle": "sending", "deviceid": 11231, "urgent": null, "created": { "date": "2023-11-02 22:44:43.000000", "timezone_type": 3, "timezone": "Europe/Paris" }, "senttime": null, "timetosend": null, "paketid": null, "pakettitle": null, "paketbody": null }, "62051117": { "id": 62051117, "sendto": "+4912312312332", "body": "Hello! Thank you for Order! ", "customerid": null, "status": 7, "statustitle": "delivered", "deviceid": 11231, "urgent": null, "created": { "date": "2023-11-02 22:46:09.000000", "timezone_type": 3, "timezone": "Europe/Paris" }, "senttime": null, "timetosend": null, "paketid": null, "pakettitle": null, "paketbody": null } } }

5. Додати новий список контактів

Опис: Тег потрібен, щоб створити розсилку на групу номерів. Наприклад, використайте тег «Співробітники»
Ендпойнт: https://smsgateway24.com/getdata/savetag
Метод:: GET, POST
Параметри запиту:
Змінна Тип Опис
token string [обов'язковий] Токен отримується через метод отримання токена.
title string [обов'язковий] Назва тегу

Відповідь у форматі JSON::
Змінна Тип Опис
tag_id int Tag ID
error int 0 | 1 — указує, чи сталася помилка під час обробки запиту
message string Повідомлення про помилку; порожнє, якщо все гаразд.
Посилання на приклад коду на Curl
Посилання на приклад коду на Guzzle
Приклад відповіді:
{ "error": 0, "tag_id": 8303, "message": "OK" }

6. Додати контакти до списку контактів:

Опис: Додавайте контакти в будь-який тег. Наприклад, у тег * Співробітники * чудово підійдуть ваші колеги.
Ендпойнт: https://smsgateway24.com/getdata/savecontact
Метод:: GET, POST
Параметри запиту:
Змінна Тип Опис
token string [обов'язковий] Токен отримується через метод отримання токена.
phone string [обов'язковий] phone number
ctag_id int [обов'язковий] Tag ID
fullname string [обов'язковий] Ім'я вашого клієнта

Відповідь у форматі JSON::
Змінна Тип Опис
contact_id int Contact Id
error int 0 | 1 — указує, чи сталася помилка під час обробки запиту
message string Повідомлення про помилку; порожнє, якщо все гаразд.
Посилання на приклад коду на Curl
Посилання на приклад коду на Guzzle
Приклад відповіді ... :
{"error":0,"contact_id":15954765,"message":"ok"}

7. Створити розсилку

Опис:Після створення тегу ви можете зробити розсилку за номерами цього тегу.
Ендпойнт: https://smsgateway24.com/getdata/savepaket
Метод:: GET, POST
Параметри запиту:
Змінна Тип Опис
token string [обов'язковий] Токен отримується через метод отримання токена.
title string [обов'язковий] Назва розсилки
device_id string [обов'язковий] ID пристрою
body string [обов'язковий] Текст цільового повідомлення
tags string [обов'язковий] ID тегу. Може бути кілька через кому. Наприклад: 12,13,14
sim int [обов'язковий]SIM-слот: 0 і 1 для SMS. 2 — WhatsApp Business, 3 — особистий WhatsApp. 4 і 5 — RCS 0 or 1
time_to_send int, default = 0 [обов'язковий]Date time when Newsletter should be sent. Do not forget tap start on device. DD.MM.YYYY H:i:s

Відповідь у форматі JSON::
Змінна Тип Опис
contact_id int ID контакту
error int 0 | 1 — указує, чи сталася помилка під час обробки запиту
message string Повідомлення про помилку; порожнє, якщо все гаразд.
paket_id int Package ID
Посилання на приклад коду на Curl
Посилання на приклад коду на Guzzle
Приклад відповіді ... :
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f4f49fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}

8. Отримати список пристроїв

Опис: Ви можете дізнатися все про свої пристрої.
Ендпойнт: https://smsgateway24.com/getdata/getalldevices
Метод:: GET, POST
Параметри запиту:
Змінна Тип Опис
token string [обов'язковий] Токен отримується через метод отримання токена.

Відповідь у форматі JSON::
Змінна Тип Опис
count int Кількість пристроїв:
device json
  • id - ID пристрою
  • title - Назва пристрою
  • created - Дата створення пристрою
  • createdhumanformat - Дата створення пристрою у звичайному форматі
  • lastseen - Дата, коли пристрій був у мережі востаннє
  • lastseenhumanformat - Дата, коли пристрій був у мережі востаннє
  • serialnumber - Серійний номер пристрою
  • siminfo - Інформація про SIM-карти у форматі JSON
  • appversion - Версія застосунку, встановленого на пристрої
  • subscription - Чи є на пристрої підписка
message string Повідомлення про помилку; порожнє, якщо все гаразд.
Посилання на приклад коду на Curl
Посилання на приклад коду на Guzzle
Приклад відповіді:
    {
    "count": 2,
    "device": {
        "1576": {
            "id": 1576,
            "title": "AOSP_on_IA_Emulator",
            "number": null,
            "imei": "358240051111110",
            "created": {
                "date": "2020-03-28 20:10:29.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "createdhumanformat": "28.03.2020 20:10:29",
            "lastseen": {
                "date": "2020-04-23 17:02:21.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "lastseenhumanformat": "23.04.2020 17:02:21",
            "serialnumber": "EMULATOR30X0X5X0",
            "siminfo": [
                {
                    "Slot": "0",
                    "IccId": "89014103211118510720",
                    "Number": " 15555215554",
                    "Roaming": "0",
                    "CountryIso": "us",
                    "CarrierName": "Android (T-Mobile)"
                }
            ],
            "appversion": "12.1.21",
            "isappversionactual": false,
            "delaybetweeneachsms": null,
            "delaybetweenrequest": 1,
            "subscription": true
        },
        "1297": {
            "id": 1297,
            "title": "Android_SDK_built_for_x86",
            "number": null,
            "imei": "null",
            "created": {
                "date": "2020-01-20 14:01:05.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "createdhumanformat": "20.01.2020 14:01:05",
            "lastseen": {
                "date": "2020-04-20 20:51:34.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "lastseenhumanformat": "20.04.2020 20:51:34",
            "serialnumber": "unknown",
            "siminfo": [
                {
                    "Slot": "0",
                    "IccId": "8949226172233934327",
                    "Number": "+4915752982212",
                    "Roaming": "1",
                    "CountryIso": "de",
                    "CarrierName": "Drillisch (o2)"
                }
            ],
            "appversion": "12.1.21",
            "isappversionactual": false,
            "delaybetweeneachsms": 5,
            "delaybetweenrequest": 10,
            "subscription": false
        }
    }
}

9. Отримати статус доставки однієї SMS

Опис: За допомогою цього методу можна дізнатися статус доставки кожної SMS
Ендпойнт: https://smsgateway24.com/getdata/getsmsstatus
Метод:: GET, POST
Параметри запиту:
Змінна Тип Опис
token string [обов'язковий] Токен отримується через метод отримання токена.
sms_id int [обов'язковий] Sms Id

Відповідь у форматі JSON::
Змінна Тип Опис
sms_id int SMS ID
status int SMS Status
  • 1 - Очікувані SMS
  • 2 - SMS, узяті телефоном
  • 3 - У черзі на надсилання. Certainly, it would have been more logical to place the status "queued for sending" before "SMS taken by phone," but for backward compatibility, the statuses are in the following order: 1, 3, 2."
  • 5 - Вхідні SMS
  • 6 - SMS надіслані телефоном
  • 7 - SMS доставлено
  • 8 - SMS НЕ доставлено
  • 9 - SMS узагалі не надіслана — Generic Failure. (Прочитайте, що робити з цією помилкою тут)
  • Інші, рідкісніші помилки:
  • 10 - SMS не надіслано - No Service
  • 11 - SMS не надіслано - Null PDU
  • 12 - SMS не надіслано - Radio Off
  • 100, 101 - SMS не надіслано - NOT ALLOWED. (Застосунку не надано дозволи на надсилання SMS)
status_description string Назва статусу
error int 0 | 1 - чи є помилка під час обробки запиту
message string Повідомлення про помилку; порожнє, якщо все гаразд.
Посилання на приклад коду на Curl
Посилання на приклад коду на Guzzle
Приклад відповіді:
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f4f49fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}