Здесь представлена краткая инструкция по интеграции сайта, сервиса или приложения с системой GETSMS.UZ для автоматизации SMS уведомлений. Для упрощения интеграции мы разработали примеры кода на языках программирования.
Прежде, чем начать работу:
Убедитесь, что ваш проект поддерживает cURL.
Сообщите в техническую службу статический IP-адрес сервера, с которого будут направляться запросы, иначе любые соединения с неизвестных хостов будут отклоняться.
Убедитесь, что ваш проект поддерживает cURL.
Сообщите в техническую службу статический IP-адрес сервера, с которого будут направляться запросы, иначе любые соединения с неизвестных хостов будут отклоняться.
Ниже даны определения переменным, используемым в исходном коде:
LOGIN — логин, выданный технической службой
PASSWORD — пароль, выданный вместе с логином
NUMBER — номер телефона получателя в международном формате без плюса (+)
TEXT — текст SMS сообщения в кодировке UTF-8
REQUEST_ID — ID запроса
Пример кода на PHP для отправки СМС с помощью библиотеки cURL:
<?php $curl = curl_init(); $sms = [ [ 'phone' => '998909711322', 'text' => 'Ваш текст СМС', ], [ 'phone' => '998909711322', 'text' => 'Ваш текст СМС 2', ] ]; $data = 'login='.urlencode('ВАШ ЛОГИН'); $data .= '&password='.urlencode('ВАШ ПАРОЛЬ'); if (isset($nickname)) { $data .= '&nickname='.urlencode($nickname); } $data .= '&data='.urlencode(json_encode($sms)); curl_setopt($curl, CURLOPT_URL, 'http://185.8.212.184/smsgateway/'); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($curl, CURLOPT_TIMEOUT, 5); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_USERAGENT, 'Opera 10.00'); $res = curl_exec($curl); echo $res; curl_close($curl);
Пример получения статуса SMS из PHP скрипта с использованием библиотеки cURL:
<?php $data = 'login='.urlencode('ВАШ ЛОГИН'); $data .= '&password='.urlencode('ВАШ ПАРОЛЬ'); $data .= '&data='.urlencode('[{"request_id":"полученный ранее request_id"}]'); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'http://185.8.212.184/smsgateway/status/'); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($curl, CURLOPT_TIMEOUT, 5); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_USERAGENT, 'Opera 10.00'); $res = curl_exec($curl); echo $res; curl_close($curl);
Техническая документация по подключению
<?php
/**
* (c) 2018 http://getsms.uz
*
Ссылка на обработчик для отправки смс:
http://185.8.212.184/smsgateway/
Параметры отправляются методом POST в
следующем виде:
login = ваш логин
password = ваш пароль
nickname = одно из ваших алфа-имен, которое ранее установлено в системе. По умолчанию отправка смс происходит с короткого номера.
data =
[
{
"phone":"998909711322", "text":"тестовое смс 1"
},
{
"phone":"998909711322", "text":"тестовое смс 2"
}
]
массив, содержащий до 100 (json-объектов)
отправляемых смс
В ответ, при удачном запросе, сервис
выдает данные вида:
[
{
"recipient": 998909711322,
"text": "тестовое смс 1",
"user_id": 1,
"date_received": 1499493672,
"message_id": 16854781,
"request_id": 52480252,
"client_ip": "185.8.212.184"
}
]
При некорректном номере телефона, ответ будет:
[
{
"error": 1,
"error_text": "is NOT a phone number",
"error_no": 300,
"recipient": "+998909711322",
"text": "text1",
"user_id": 1,
"date_received": 1499493758,
"message_id": 20766930,
"request_id": 76181024,
"client_ip": "185.8.212.184"
}
]
Примечание: В последующем для проверки доставки
смс до абонента будет необходим
элемент json-объекта request_id (выделен
красным) из ответа смс-шлюза.
Ссылка на обработчик для проверки
статуса отправленных смс:
http://185.8.212.184/smsgateway/status/
Для проверки статуса доставки смс
абоненту необходимо отправить запрос
методом POST, со следующими параметрами:
login = ваш логин
password = ваш пароль
data =
[
{
"request_id ":"3853471"
}
]
массив, содержащий 1 json-объект с id запроса,
который ранее получили (в ответе на запрос при отправки смс)
В ответ, при удачном запросе, сервис
выдает данные вида:
[
{
"recipient": "998909711322",
"text": "Ваш текст смс",
"user_id": "1",
"date_received": "2018-07-08 10:40:34",
"date_sent": "2018-07-08 10:40:34",
"date_delivered": "2018-07-08 10:40:52",
"message_id": "38457358",
"request_id": "93786401",
"status": "delivered",
"count_messages": "1",
"client_ip": "185.8.212.184",
"description": "OK"
}, {
"recipient": "998909711322",
"text": "Ваш текст смс",
"user_id": "1",
"date_received": "2017-07-08 10:40:34",
"date_sent": "2017-07-08 10:40:34",
"date_delivered": "2017-07-08 10:40:42",
"message_id": "12911573",
"request_id": "93786401",
"status": "delivered",
"count_messages": "1",
"client_ip": "185.8.212.184",
"description": "OK"
}
]
В случае отправки некорректных данных,
ответ от сервиса будет иметь вид:
[
{
"error":1,"text":"Incorrect Login or Password","error_no":101
}
]
Имеются следующие виды ошибок:
{
"error": 1,
"error_text": "Login or Password is NULL",
"error_no": 100
}
{
"error": 1,
"error_text": "Incorrect Login or Password",
"error_no": 101
}
{
"error": 1,
"error_text": "Account blocked",
"error_no": 102
}
{
"error": 1,
"error_text": "Limit is over",
"error_no": 103
}
{
"error": 1,
"error_text": "Array is not a JSON",
"error_no": 200
}
{
"error": 1,
"error_text": "Array is invalid",
"error_no": 201
}
{
"error": 1,
"error_text": "Nickname didn\'t set",
"error_no": 202
}
{
"error": 1,
"error_text": "Incorrect nickname",
"error_no": 203
}
{
"error": 1,
"error_text": "request_id is wrong",
"error_no": 400
}