Документация 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:48:30
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"}