NAV
php shell

Об API

Документация для подключение виртуальных портов (esim и другие) к смс-сервису активаций smsak.org

Авторизация запросов осуществляется методом передачи GET параметра (password) ко всем URL запросам

Параметр Описание
password API_KEY выданный при создании менеджерской панели

Для получения API_KEY пройдите авторизацию или регистрацию на смс сервисе smsak.org и сообщите о желании продавать смс сообщения через виртуальные порты. После выдачи партнерской панели управления ваш API_KEY будет действительным и можно будет использовать данный интерфейс.

// Для работы понадобится клиентская библиотека для работы с URL
// В текущей документации примеры реализованы с использованием cUrl
// https://www.php.net/manual/ru/book.curl.php
# Для работы достаточно shell curl
curl -X POST [URL]
     -H "Content-Type: application/json" 
     -d "[JSON data]"  

Методы

Сообщить о работе портов

Для информирования нашего сервера о доступности (В СЕТИ) ваших портов, необходимо отправлять keepalive запрос со списком живых сим-портов каждые 30-60 секунд. При невозможности определения статуса и сети ваших сим карт, отправляйте пустой массив, в таком случае все сим-порты будут выставлены как доступные в данный момент.

$url = 'https://smsak.org/api-gateway/set-signals?password=API_KEY';
$data = ['port1', 'port2']; // Список портов, которые в сети
$postdata = json_encode($data);

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$result = curl_exec($ch);

curl -X POST "https://smsak.org/api-gateway/set-signals?password=API_KEY" \
-H "Content-Type: application/json" \
-d '["port1","port2"]'

В ответ будет отправлен JSON:

true

Обязательный URL

Параметр Описание
password API_KEY выданный при создании менеджерской панели

Отправка СМС сообщения от порта

Сообщения приходящие на сим карту перенаправляйте на наш эндпоинт

https://smsak.org/api-gateway/send-sms

Возможны 2 варианта передачи сообщений

С указанием порта

Параметр Описание
port Порт на который пришло СМС
sender Информация об отправителе (От кого)
text Содержимое сообщения

С указанием номера телефона

Параметр Описание
phone Номер телефона, на который пришло сообщение
sender Информация об отправителе (От кого)
text Содержимое сообщения
$url = 'https://smsak.org/api-gateway/send-sms?password=API_KEY';
$data = ['port' => 'port1', 'sender' => 'Имя отправителя смс', 'text' => 'Текст СМС'];
// Второй возможный вариант передачи (phone - номер телефона привязанного порта) 
// $data = ['phone' => '+79990123456', 'sender' => 'Имя отправителя смс', 'text' => 'Текст СМС'];
$postdata = json_encode($data);

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$result = curl_exec($ch);

curl -X POST "https://smsak.org/api-gateway/send-sms?password=API_KEY" \
-H "Content-Type: application/json" \
-d '{"port":"port1","sender":"Имя отправителя смс","text":"Текст СМС"}'


# Второй возможный вариант передачи (phone - номер телефона привязанного порта)
curl -X POST "https://smsak.org/api-gateway/send-sms?password=API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone":"+79990123456","sender":"Имя отправителя смс","text":"Текст СМС"}'

В ответ будет отправлен JSON

true

Обязательный URL

Параметр Описание
password API_KEY выданный при создании менеджерской панели

Выставление номеров телефонов для каждого порта

Для выставления (привязки) номеров телефонов к виртуальным портам - передайте словарь, где ключем необходимо указать наименование порта, а значением - номер телефона.

$url = 'https://smsak.org/api-gateway/set-port-numbers?password=API_KEY';

// Номер телефона должен всегда начинаться с символа "+",
// после должен идти код страны, которую вы выставили в панели управления для своих портов
$data = ['port1' => '+79990123456', 'port2' => 'Номер телефона'];

$postdata = json_encode($data);

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$result = curl_exec($ch);

curl -X POST "https://smsak.org/api-gateway/set-port-numbers?password=API_KEY" \
-H "Content-Type: application/json" \
-d '{"port1":"+79990123456","port2":"Номер телефона"}'

В ответ будет отправлен JSON

true

Обязательный URL

Параметр Описание
password API_KEY выданный при создании менеджерской панели

Сброс всех номеров телефонов на виртуальных портах

При необходимости замены номеров телефонов на виртуальных портах возможно произвести полную очистку. Также в случае временного простоя или недоступности виртуальных портов вы можете очистить привязку номеров на всех портах. Для этого используйте следующий метод.

$url = 'https://smsak.org/api-gateway/clear-ports?password=API_KEY';
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($ch);

curl "https://smsak.org/api-gateway/clear-ports?password=API_KEY"

В ответ будет отправлен JSON

true

Обязательный URL

Параметр Описание
password API_KEY выданный при создании менеджерской панели

Запрос заработка по номеру

$url = 'https://smsak.org/api-gateway/phones-stat?password=API_KEY';

// Номер телефона должен всегда начинаться с символа "+",
// после должен идти код страны, которую вы выставили в панели управления для своих портов
$data = ['+79990123456', '+79990123458'];

$postdata = json_encode($data);

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$result = curl_exec($ch);

curl -X POST "https://smsak.org/api-gateway/phones-stat?password=API_KEY" \
-H "Content-Type: application/json" \
-d '["+79990123456","+79990123458"]'

В ответ будет отправлен JSON

{"+79990123456": 128.9, "+79990123458": 0}

Обязательный URL

Параметр Описание
password API_KEY выданный при создании менеджерской панели