Отправка OTP кода (WhatsApp)
Одноразовый код отправляется в WhatsApp шаблоном подтверждения. Его текст пишет сама Meta — «1234 is your verification code» на языке шаблона, — а код заполняет и текст, и кнопку копирования. Создайте такой шаблон в личном кабинете с категорией Authentication.
Свободный текст с кодом доходит до абонента только в течение 24 часов после его последнего сообщения, поэтому код отправляется шаблоном. Запрос pipeline с этапом whatsapp отправляет свободный текст — он работает только внутри этого окна, см. Многоканальная доставка сообщений.
URI: https://alphasms.net/api/json.php
Все запросы к API отправляются в формате JSON с помощью метода POST.
Параметры заголовков
В запросах обязательно должен быть заголовок Content-Type: application/json, иначе запрос будет считаться некорректным даже при валидном JSON в нем
Параметры запроса
Пример запроса
- JSON
- cURL
- PHP
- Python
- Node.js
{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "whatsapp",
"id": 100500,
"phone": 380971234567,
"whatsapp_signature": "WhatsAppTest",
"whatsapp_template": "login_code",
"whatsapp_code": "481516",
"hook": "https://example.org/webhook/url.php"
}
]
}
curl -X POST 'https://alphasms.net/api/json.php' \
-H 'Content-Type: application/json' \
--data-raw '{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "whatsapp",
"id": 100500,
"phone": 380971234567,
"whatsapp_signature": "WhatsAppTest",
"whatsapp_template": "login_code",
"whatsapp_code": "481516",
"hook": "https://example.org/webhook/url.php"
}
]
}'
<?php
$payload = json_encode([
'auth' => 'bb56a4369eb19***cfec6d1776bd25',
'data' => [
[
'type' => 'whatsapp',
'id' => 100500,
'phone' => 380971234567,
'whatsapp_signature' => 'WhatsAppTest',
'whatsapp_template' => 'login_code',
'whatsapp_code' => '481516',
'hook' => 'https://example.org/webhook/url.php',
],
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://alphasms.net/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": "whatsapp",
"id": 100500,
"phone": 380971234567,
"whatsapp_signature": "WhatsAppTest",
"whatsapp_template": "login_code",
"whatsapp_code": "481516",
"hook": "https://example.org/webhook/url.php",
},
],
}
response = requests.post(
"https://alphasms.net/api/json.php",
json=payload,
timeout=30,
)
print(response.json())
const payload = {
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "whatsapp",
"id": 100500,
"phone": 380971234567,
"whatsapp_signature": "WhatsAppTest",
"whatsapp_template": "login_code",
"whatsapp_code": "481516",
"hook": "https://example.org/webhook/url.php"
}
]
};
const response = await fetch("https://alphasms.net/api/json.php", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
console.log(await response.json());
Параметры ответа
| successboolean Результат выполнения запроса | |||||||
| 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,
"data": 1,
"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": "WhatsApp authentication template needs a code",
"data": {
"id": 100500
}
}
]
}
Код с запасной SMS
- JSON
- cURL
- PHP
- Python
- Node.js
{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "whatsapp+sms",
"id": 100501,
"phone": 380971234567,
"whatsapp_signature": "WhatsAppTest",
"whatsapp_template": "login_code",
"whatsapp_code": "481516",
"sms_signature": "SMSTest",
"sms_message": "Your code is 481516",
"hook": "https://example.org/webhook/url.php"
}
]
}
curl -X POST 'https://alphasms.net/api/json.php' \
-H 'Content-Type: application/json' \
--data-raw '{
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "whatsapp+sms",
"id": 100501,
"phone": 380971234567,
"whatsapp_signature": "WhatsAppTest",
"whatsapp_template": "login_code",
"whatsapp_code": "481516",
"sms_signature": "SMSTest",
"sms_message": "Your code is 481516",
"hook": "https://example.org/webhook/url.php"
}
]
}'
<?php
$payload = json_encode([
'auth' => 'bb56a4369eb19***cfec6d1776bd25',
'data' => [
[
'type' => 'whatsapp+sms',
'id' => 100501,
'phone' => 380971234567,
'whatsapp_signature' => 'WhatsAppTest',
'whatsapp_template' => 'login_code',
'whatsapp_code' => '481516',
'sms_signature' => 'SMSTest',
'sms_message' => 'Your code is 481516',
'hook' => 'https://example.org/webhook/url.php',
],
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://alphasms.net/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": "whatsapp+sms",
"id": 100501,
"phone": 380971234567,
"whatsapp_signature": "WhatsAppTest",
"whatsapp_template": "login_code",
"whatsapp_code": "481516",
"sms_signature": "SMSTest",
"sms_message": "Your code is 481516",
"hook": "https://example.org/webhook/url.php",
},
],
}
response = requests.post(
"https://alphasms.net/api/json.php",
json=payload,
timeout=30,
)
print(response.json())
const payload = {
"auth": "bb56a4369eb19***cfec6d1776bd25",
"data": [
{
"type": "whatsapp+sms",
"id": 100501,
"phone": 380971234567,
"whatsapp_signature": "WhatsAppTest",
"whatsapp_template": "login_code",
"whatsapp_code": "481516",
"sms_signature": "SMSTest",
"sms_message": "Your code is 481516",
"hook": "https://example.org/webhook/url.php"
}
]
};
const response = await fetch("https://alphasms.net/api/json.php", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
console.log(await response.json());