
SMS API документация
Введение
SMS Global API соединяет ваш веб-сайт или приложение с мобильными операторами по всему миру.
В качестве транспортного уровня SMS Global API для описываемого протокола выбран HTTPS.
Ключ доступа используется в качестве основы авторизации API. Данные запросов и ответов форматируются как JSON, используя кодировку UTF-8 и значения в кодировке URL.
Чтобы использовать API-интерфейсы SMS Global, вам необходимо бесплатно зарегистрироваться на сайте www.smsglobal.ru
SMS API
Каждое сообщение идентифицируется уникальным идентификатором, поэтому пользователи всегда могут проверить статус сообщения.
SMS API использует HTTPS с ключом доступа в качестве авторизации API.
API Авторизация - Базовый ключ доступа Base64.
Чтобы получить ключ API, пожалуйста, свяжитесь с вашим менеджером по работе с клиентами.
Отправка Сообщений
-
POST REQUEST json string https://portal.smsglobal.ru/api/multiple-message
2. {"phones":[380631111112,380636151111],"sender":"info","text":"when the text is more than 160 characters, the SMS is divided into several parts","validity_period":300}
Response:
[
[
{
"message_id": 26381268,
"phone": 380631111112,
"part_count": 2,
"concat_part": 1,
"status": "ACCEPTD"
},
{
"message_id": 26381269,
"phone": 380631111112,
"part_count": 2,
"concat_part": 2,
"status": "ACCEPTD"
}
],
[
{
"message_id": 26381270,
"phone": 380636151111,
"part_count": 2,
"concat_part": 1,
"status": "ACCEPTD"
},
{
"message_id": 26381271,
"phone": 380636151111,
"part_count": 2,
"concat_part": 2,
"status": "ACCEPTD"
}
]
]
Параметры:
- message_id int – уникальный случайный ID, который создается платформой СМС Глобал.
- phones array - номер телефона, по которому вы хотите выполнить запрос.
- sender string - отправитель сообщения. Это может быть номер мобильного телефона (включая код страны) или буквенно-цифровая строка. Максимальная длина буквенно-цифровых строк составляет 11 символов.
- text string - каждое текстовое сообщение, состоящее из нескольких частей, для латиницы ограничено 153 символами, а не 160 из-за необходимости информации заголовков пользовательских данных (UDH), длина текстовых сообщений, состоящих из двух и трех частей, составляет 306 (2 x 153) и 459 (3 x 153) символов соответственно. Использование Unicode для кириллицы и таких языков, как Хинди, ограничивает ваше сообщение до 70 символов в SMS. Мобильные телефоны используют информацию UDH, чтобы они могли связывать длинные сообщения вместе, чтобы они отображались как отдельные SMS-сообщения в телефоне получателя. Максимальная длина текстовых сообщений Unicode, состоящих из двух и трех частей, составляет 134 (2 x 67) и 201 (3 x 67) символов соответственно.
- part_count int – количество частей сообщения
- concat_part int – номер части сообщения
- validity_period int - SMS время жизни минимум 2 минуты максимум 4320.
- status string – статус сообщения
Пример на PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https:// portal.smsglobal.ru/api/multiple-message',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{"phones":[380631111112,380636151111],"sender":"info","text":"when the text is more than 160 characters, the SMS is divided into several parts","validity_period":300}',
CURLOPT_HTTPHEADER => array(
'Authorization: Basic api key',
'Content-Type: application/json', ),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Отчеты о доставке
GET REQUEST https:// portal.smsglobal.ru/api/status?message_id=234234234
Response:
{
"message_id": "26348265",
"status": "DELIVRD"
}
Параметры:
- message_id int – уникальный случайный ID, который создается платформой СМС Глобал.
- status string - возможные статусы SMS:
ENROUTE, DELIVRD, EXPIRED, DELETED, UNDELIV, ACCEPTD, UNKNOWN, REJECTD
Отчеты о доставке сообщений - SMS Callbacks
Вы можете создавать аналитику своего SMS-трафика, используя webhooks на основе событий, определяемые пользователем HTTP callbacks — для отслеживания статуса доставки исходящих сообщений.
Для каждого отправляемого вами SMS-сообщения SMS Global отправляет обновление статуса на URL-адрес, который вы настраиваете в качестве callback. Вы можете хранить информацию на своем сервере для анализа статуса доставки. После одного из таких событий SMS Global отправляет HTTP-запрос (POST) к URL-адресу конечной точки, который вы настроили для webhook. Для обработки webhook необходимо создать прослушиватель (веб-приложение), который может принимать эти HTTP-запросы от SMS Global. SMS Global автоматически трижды повторяет попытку webhook, если код состояния HTTP 200 не возвращается:
Интервал — 15 минут, 12 часов, 1 день. Если ваш URL-адрес недоступен в течение всего периода повтора, данные будут потеряны (отчеты о доставке).
-
send method Post client Url callback http://client.com/callback
JSON:
[
{
"message_id": "26381482",
"time_delivery": "2022-05-27 12:31:25",
"phone": "380632132122",
"status": "2",
"part_count": "1",
"concat_part": "1"
},
{
"message_id": "26381475",
"time_delivery": "2022-05-27 07:17:44",
"phone": "380631211121",
"status": "2",
"part_count": "1",
"concat_part": "1"
},
{
"message_id": "26381473",
"time_delivery": "2022-05-27 07:04:15",
"phone": "380631111111",
"status": "2",
"part_count": "1",
"concat_part": "1"
}
]
Параметры:
- message_id int – уникальный случайный ID, который создается платформой СМС Глобал.
- phone - Номер телефона, по которому вы хотите выполнить сетевой запрос.
- Time_delivery - формат доставки SMS DATETIME (utc + 0).
- part_count – количество сообщений.
- concat_part - Количество частей сообщения.
- status - возможный sms статус.
Возможные значения статуса:
ENROUTE = 1;
DELIVERED = 2;
EXPIRED = 3;
DELETED = 4;
UNDELIVERABLE = 5;
ACCEPTED = 6;
UNKNOWN = 7;
REJECTED = 8;