Отправка SMS (JSON API)
SMS отправляется синхронно через /api/json.php (немедленный ответ шлюза с msg_id для каждого сообщения).
Асинхронная SMS отправка доступна по адресу /v1/json (запрос ставится в очередь).
Синхронная отправка
Пример запроса для отправки SMS-сообщения на указанный номер.
URI: https://alphasms.ua/api/json.php
Все запросы к API отправляются в формате JSON с помощью метода POST.
Параметры заголовков
В запросах обязательно должен быть заголовок Content-Type: application/json, иначе запрос будет считаться некорректным даже при валидном JSON в нем
Параметры запроса
Пример запроса
- Sync
- Async
- JSON
- cURL
- PHP
- Python
- Node.js
{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "sms",
"id": 100500,
"phone": 380971234567,
"sms_signature": "SMSTest",
"sms_message": "Текст сообщения для отправки по SMS",
"sms_lifetime": 172800,
"short_link": true,
"unsubscribe_link": true,
"hook": "https://example.org/webhook/url.php"
}
]
}
curl -X POST 'https://alphasms.ua/api/json.php' \
-H 'Content-Type: application/json' \
--data-raw '{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "sms",
"id": 100500,
"phone": 380971234567,
"sms_signature": "SMSTest",
"sms_message": "Текст сообщения для отправки по SMS",
"sms_lifetime": 172800,
"short_link": true,
"unsubscribe_link": true,
"hook": "https://example.org/webhook/url.php"
}
]
}'
<?php
$payload = json_encode([
'auth' => 'bb56a4369eb19***cfec6d1776bd25',
'data' => [
[
'type' => 'sms',
'id' => 100500,
'phone' => 380971234567,
'sms_signature' => 'SMSTest',
'sms_message' => 'Текст сообщения для отправки по SMS',
'sms_lifetime' => 172800,
'short_link' => true,
'unsubscribe_link' => true,
'hook' => 'https://example.org/webhook/url.php',
],
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://alphasms.ua/api/json.php');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests
payload = {
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "sms",
"id": 100500,
"phone": 380971234567,
"sms_signature": "SMSTest",
"sms_message": "Текст сообщения для отправки по SMS",
"sms_lifetime": 172800,
"short_link": True,
"unsubscribe_link": True,
"hook": "https://example.org/webhook/url.php",
},
],
}
response = requests.post(
"https://alphasms.ua/api/json.php",
json=payload,
timeout=30,
)
print(response.json())
const payload = {
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "sms",
"id": 100500,
"phone": 380971234567,
"sms_signature": "SMSTest",
"sms_message": "Текст сообщения для отправки по SMS",
"sms_lifetime": 172800,
"short_link": true,
"unsubscribe_link": true,
"hook": "https://example.org/webhook/url.php"
}
]
};
const response = await fetch("https://alphasms.ua/api/json.php", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
console.log(await response.json());
- JSON
- cURL
- PHP
- Python
- Node.js
{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "sms",
"id": 100500,
"phone": 380971234567,
"sms_signature": "SMSTest",
"sms_message": "Текст сообщения для отправки по SMS",
"sms_lifetime": 172800,
"short_link": true,
"unsubscribe_link": true,
"hook": "https://example.org/webhook/url.php"
}
]
}
curl -X POST 'https://api-async.alphasms.ua/v1/json' \
-H 'Content-Type: application/json' \
--data-raw '{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "sms",
"id": 100500,
"phone": 380971234567,
"sms_signature": "SMSTest",
"sms_message": "Текст сообщения для отправки по SMS",
"sms_lifetime": 172800,
"short_link": true,
"unsubscribe_link": true,
"hook": "https://example.org/webhook/url.php"
}
]
}'
<?php
$payload = json_encode([
'auth' => 'bb56a4369eb19***cfec6d1776bd25',
'data' => [
[
'type' => 'sms',
'id' => 100500,
'phone' => 380971234567,
'sms_signature' => 'SMSTest',
'sms_message' => 'Текст сообщения для отправки по SMS',
'sms_lifetime' => 172800,
'short_link' => true,
'unsubscribe_link' => true,
'hook' => 'https://example.org/webhook/url.php',
],
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://api-async.alphasms.ua/v1/json');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests
payload = {
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "sms",
"id": 100500,
"phone": 380971234567,
"sms_signature": "SMSTest",
"sms_message": "Текст сообщения для отправки по SMS",
"sms_lifetime": 172800,
"short_link": True,
"unsubscribe_link": True,
"hook": "https://example.org/webhook/url.php",
},
],
}
response = requests.post(
"https://api-async.alphasms.ua/v1/json",
json=payload,
timeout=30,
)
print(response.json())
const payload = {
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "sms",
"id": 100500,
"phone": 380971234567,
"sms_signature": "SMSTest",
"sms_message": "Текст сообщения для отправки по SMS",
"sms_lifetime": 172800,
"short_link": true,
"unsubscribe_link": true,
"hook": "https://example.org/webhook/url.php"
}
]
};
const response = await fetch("https://api-async.alphasms.ua/v1/json", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
console.log(await response.json());
Параметры ответа
| successinteger Результат выполнения запроса | ||||||
| errorstring Текст ошибки, который возвращается, если success=false | ||||||
| datalist[object] Список объектов с результатами выполнения запроса
|
Примеры ответа
- Успешный
- Доступ запрещен
- Ошибка в Альфа-имени
HTTP Status Code: 200
Content Type: JSON application/json
{
"success": true,
"data": [
{
"success": true,
"data": {
"id": 100500,
"msg_id": 123456789,
"parts": 1
}
}
]
}
HTTP Status Code: 200
Content Type: JSON application/json
{
"success": false,
"error": "Access denied"
}
HTTP Status Code: 200
Content Type: JSON application/json
{
"success": true,
"data": [
{
"success": false,
"error": "Error in Alpha-name",
"data": {
"id": 100500
}
}
]
}
Асинхронная отправка
Для массовой или неблокирующей отправки используйте async JSON API. Формат тела запроса такой же, как при синхронной отправке: auth и непустой массив data с объектами type: "sms".
URI: https://api-async.alphasms.ua/v1/jsonПример ответа при успехе:
{
"request_id": "cf-ray-1234567890-ABC",
"success": true
}
Идентификаторы msg_id по каждому сообщению в ответе не возвращаются.
Для получения результатов доставки используйте request_id, webhook через hook в запросе или статус сообщения
Коды ошибок HTTP:
| Code | Описание |
|---|---|
400 | Недействительный JSON или пустой/недействительный data массив |
401 | Отсутствует или пустой auth |
405 | Метод, отличный от POST |
413 | Слишком большой размер тела запроса |
415 | Отсутствует или недействителен Content-Type (должен быть application/json) |
503 | Очередь недоступна |