Отправка SMS и получение статуса
Сайт: https://sms2.aliftech.net/
Эта документация предназначена для разработчиков, которые хотят интегрировать свои системы с API SMS-центра Alif.
Аутентификация
Для аутентификации в API используется ключ, который должен быть передан в заголовке X-Api-Key.
X-Api-Key: <ваш_ключ_api>
1. Отправка одиночного SMS
Позволяет отправить одно SMS-сообщение на указанный номер.
Метод: POST
URL: /api/v1/sms
Параметры запроса
| Параметр | Обязательность | Тип | Описание | По умолчанию / Значения |
|---|---|---|---|---|
PhoneNumber |
Да | string |
Номер телефона в международном формате. | Пример: 992900900900 |
Text |
Да | string |
Текст SMS-сообщения. | |
SenderAddress |
Да | string |
Алфанумерик (имя отправителя), который должен быть предварительно зарегистрирован и доступен для вашего клиента. Макс. 15 символов. | Пример: AlifBank |
Priority |
Нет | integer |
Приоритет отправки сообщения. Более высокий приоритет обрабатывается быстрее. | 0: Low 1: Normal (по умолчанию) 2: High (для OTP) |
SmsType |
Да | integer |
Тип SMS в зависимости от его назначения. | 1: Common (Обычное) 2: Otp (Пароли) 3: Batch (Рассылка) |
ScheduledAt |
Нет | datetime (UTC) |
Дата и время для отложенной отправки сообщения. Если не указано, отправляется немедленно. | Пример: 2025-02-17T10:20:30Z |
ExpiresIn |
Нет | integer |
Срок "жизни" сообщения в секундах. Если система не сможет отправить SMS за это время, оно будет отменено. | 0 (никогда не истекает) |
SmsLabel |
Нет | string |
Произвольная метка для группировки или фильтрации сообщений в отчетах. | |
ClientMessageId |
Нет | string |
Уникальный идентификатор уведомления из внешней системы (например). |
Важно: Поле
PhoneNumberнужно отправить с кодом страны. Например, для Таджикистана номер должен быть отправлен как992900123456.
Пример запроса (cURL)
curl --location 'https://sms2.aliftech.net/api/v1/sms' \
--header 'X-Api-Key: <ваш_ключ_api>' \
--header 'Content-Type: application/json' \
--data '{
"PhoneNumber": "992900900900",
"Text": "Ваш код подтверждения: 12345",
"SenderAddress": "AlifBank",
"SmsType": 2
}'
Пример успешного ответа
{
"MessageId": "23861959",
"MessageResult": "OK",
"MessageError": false
}
MessageId: Уникальный идентификатор сообщения в нашей системе. Сохраните его для последующего получения статуса.
2. Получение статуса SMS
Позволяет отслеживать статус доставки отправленного сообщения по его MessageId.
Метод: GET
URL: /api/v1/sms/{id}
Параметры запроса
| Параметр | Обязательность | Тип | Описание |
|---|---|---|---|
id |
Да | integer |
MessageId, полученный при отправке SMS. |
Пример запроса (cURL)
curl --location 'https://sms2.aliftech.net/api/v1/sms/23861959' \
--header 'X-Api-Key: <ваш_ключ_api>'
Пример ответа
{
"MessageId": "23861959",
"CommandStatus": "OK",
"MessageState": "Delivered",
"DateSubmitted": "2025-02-17T10:20:30",
"DateDone": "2025-02-17T10:22:00"
}
Возможные значения MessageState
| Значение | Код | Описание |
|---|---|---|
None |
0 |
Начальное состояние, статус неизвестен. |
Enroute |
1 |
Сообщение находится в процессе доставки. |
Delivered |
2 |
Сообщение успешно доставлено получателю. |
Expired |
3 |
Срок действия сообщения истек до его доставки. |
Deleted |
4 |
Сообщение было удалено. |
Undeliverable |
5 |
Сообщение не может быть доставлено (например, неверный номер). |
Accepted |
6 |
Сообщение принято к доставке (например, прочитано службой поддержки). |
Unknown |
7 |
Статус сообщения неизвестен. |
Rejected |
8 |
Сообщение было отклонено. |
3. Отправка массовой рассылки (Bulk)
Позволяет отправить одинаковые или разные сообщения нескольким получателям за один запрос.
Метод: POST
URL: /api/v1/sms/bulk
Параметры запроса
Тело запроса представляет собой JSON-массив, где каждый объект — это полноценный запрос на отправку SMS, аналогичный одиночной отправке.
Пример запроса (JSON)
[
{
"PhoneNumber": "992900900900",
"Text": "Уважаемый клиент, напоминаем о предстоящем платеже.",
"SenderAddress": "AlifBank",
"SmsType": 1
},
{
"PhoneNumber": "992988776655",
"Text": "Ваша заявка принята в обработку.",
"SenderAddress": "AlifSarmoya",
"SmsType": 1
}
]
Пример успешного ответа
{
"Added": 2
}
Added: Количество сообщений, успешно принятых в очередь на отправку.