Здесь представлена краткая инструкция по интеграции сайта, сервиса или приложения с системой GETSMS.UZ для автоматизации SMS уведомлений. Для упрощения интеграции мы разработали примеры кода на языках программирования.
Прежде, чем начать работу:
Убедитесь, что ваш проект поддерживает cURL.
Сообщите в техническую службу статический IP-адрес сервера, с которого будут направляться запросы, иначе любые соединения с неизвестных хостов будут отклоняться.
Убедитесь, что ваш проект поддерживает cURL.
Сообщите в техническую службу статический IP-адрес сервера, с которого будут направляться запросы, иначе любые соединения с неизвестных хостов будут отклоняться.
Ниже даны определения переменным, используемым в исходном коде:
LOGIN — логин, выданный технической службой
PASSWORD — пароль, выданный вместе с логином
NUMBER — номер телефона получателя в международном формате без плюса (+)
TEXT — текст SMS сообщения в кодировке UTF-8
REQUEST_ID — ID запроса
Техническая документация по подключению
<?php
/**
* (c) 2018 http://getsms.uz
*
Ссылка на обработчик для отправки смс:
http://185.8.212.184/smsgateway/
Параметры отправляются методом POST в
следующем виде:
login = ваш логин
password = ваш пароль
nickname = одно из ваших алфа-имен, которое ранее установлено в системе. По умолчанию отправка смс происходит с короткого номера.
data =
[
{
"phone":"998971234567", "text":"тестовое смс 1"
},
{
"phone":"998971234567", "text":"тестовое смс 2"
}
]
массив, содержащий до 100 (json-объектов)
отправляемых смс
В ответ, при удачном запросе, сервис
выдает данные вида:
[
{
"recipient": 998971234567,
"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": "+998901234567",
"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": "998901234567",
"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": "998901234567",
"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
}