Протокол интеграции HTTPs (REST) для рассылки HLR-запросов (Актуализации номеров)
ВНИМАНИЕ
Для использования данного вида интеграции Вам необходимоПароль для интеграции задается в настройках пользователя во вкладке Настройки API.
Варианты:
1) Регистрация в личном кабинете
2) Регистрация через менеджера компании Stream Telecom
Общие положения
Серверная платформа Stream Telecom и клиент компании (далее ЗАКАЗЧИК) обмениваются HTTPS URL- encoded запросами, используя форматы передач данных JSON в соответствии с принципами GET, параметры запроса включаются в текст запроса в кодировке UTF8.
Обмен данными построен по схеме запрос/ответ с использованием метода GET и не требует постоянного TCP/IP соединения.
Точка доступа
Запросы ЗАКАЗЧИКА должны передаваться на сервер ИСПОЛНИТЕЛЯ по URL:
Функции
Для начала работы через интеграцию REST, необходимо запросить идентификатор сессии (API ключ). API ключ нужен для того, чтобы при отправке запросов не было необходимости передачи конфиденциальных данных (логина и пароля) в открытом виде. Так же, если от личного кабинета будет изменен пароль, при работе через API, авторизация пользователя все равно будет происходить и работа не остановится. |
Запрос GET HTTP/1.1 Host: https://gateway.api.sc/rest/Session/
Content-Type: application/x-www-form-urlencoded /?login=user&password=userpasswd |
Наименование поля |
Описание |
login |
Логин присвоенный клиенту. Обязательный. |
password |
Пароль для api (задается в личном кабинете во вкладке Настройка > Безопасность) Обязательный. |
Ответ
HTTP/1.1 200 OK Cache-Control: private Connection: Keep-Alive Content-Type: application/json; charset=utf-8 "967648e7c4bc8926166632a4f0490f5e" |
Наименование поля |
Описание |
Возвращаемое значение |
API ключ (36 символов). |
В случае отправки некорректного запроса, Вам вернется код возникшей ошибки
Отправка HLR-запроса
Отправляет единичное сообщение и возвращает его системный идентификатор.
Запрос
POST HTTP/1.1 Host: https://gateway.api.sc/rest/Send/SendHLR/
Content-Type: application/x-www-form-urlencoded Expect: 100-continue HTTP/1.1 100 Continue sessionId=967648e7c4bc8926183333a4f0490f5e &destinationAddress=79001234567 |
Наименование поля |
Описание |
sessionId |
API ключ (36 символов). Обязательный. |
destinationAddress |
Номер, который будет проверяться по HLR в международном формате: код страны + код сети + номер телефона. Пример: 79031234567. Обязательный. |
Ответ
HTTP/1.1 200 OK Cache-Control: private Connection: Keep-Alive Content-Type: application/json; charset=utf-8 ["568423"] |
Наименование поля |
Описание |
Возвращаемое значение |
Идентификатор сообщения. |
Отправляет единичное сообщение и возвращает его системный идентификатор.
Запрос
POST HTTP/1.1 Host: https://gateway.api.sc/rest/Send/SendHLR/
Content-Type: application/x-www-form-urlencoded Expect: 100-continue HTTP/1.1 100 Continue sessionId=967648e7c4bc8926183333a4f0490f5e &destinationAddress=79001234567 |
Наименование поля |
Описание |
sessionId |
API ключ (36 символов). Обязательный. |
destinationAddress |
Номер, который будет проверяться по HLR в международном формате: код страны + код сети + номер телефона. Пример: 79031234567. Обязательный. |
Ответ
HTTP/1.1 200 OK Cache-Control: private Connection: Keep-Alive Content-Type: application/json; charset=utf-8 ["568423"] |
Наименование поля |
Описание |
Возвращаемое значение |
Идентификатор сообщения |
Возвращает статус сообщения и время обновления статуса.
Запрос
GET HTTP/1.1 Host: https://gateway.api.sc/rest/State/HLR/
Content-Type: application/x-www-form-urlencoded /?sessionId=967648e7c4bc8926177842a4f0490f5e&messageId=568423 |
Наименование поля |
Описание |
sessionId |
API ключ (36 символов). Обязательный. |
messageId |
Идентификатор HLR-запроса. Обязательный. |
Ответ
HTTP/1.1 200 OK Cache-Control: private Connection: Keep-Alive Content-Type: application/json; charset=utf-8 {"State":0,"IMSI":"250011772756828","MSC":"1979112009927","ERROR":"0x030000","PORT":0} |
Наименование поля |
Описание |
State |
Статус HLR-запроса (см. приложение). |
IMSI |
Международный идентификатор мобильного абонента (индивидуальный номер абонента). |
MSC |
Код коммутатора, обслуживающего абонента. |
ERROR |
Код ошибки (см. приложение). |
PORT |
Признак портированности номера. В случае портированности - 1, иначе - 0. |
Портированный номер - номер, владелец которого сменил оператора, без смены номера
Расшифровку статусов запросов, можно посмотреть в таблице статусов запросов
В случае отправки некорректного запроса, Вам вернется код возникшей ошибки
Коды ошибок
REST error code |
Значение |
Описание |
0x030000 |
Delivered |
Абонент доступен |
0x030100 |
Unknown Subscriber |
Абонент не найден |
0x0301FF |
Unknown Subscriber |
Абонент не найден |
0x030B00 |
Teleservice Not Provisioned |
Телекоммуникационный сервис не предоставляется |
0x030BFF |
Teleservice Not Provisioned |
Телекоммуникационный сервис не предоставляется |
0x030D00 |
Call Barred |
Вызов запрещен |
0x030DFF |
Call Barred |
Вызов запрещен |
0x031B00 |
Absent Subscriber |
Абонент не доступен |
0x031BFF |
Absent Subscriber |
Абонент не доступен |
0x03FA00 |
Waiting timeout expired |
Истек таймаут ожидания ответа |
0x03FB00 |
Waiting timeout expired |
Истек таймаут ожидания ответа |
0x03FE00 |
Absent routing info ack |
Отсутствует ответ телефонной части |
0x03FF00 |
Waiting timeout expired |
Истек таймаут ожидания ответа |
0x03FFFB |
Waiting timeout expired |
Истек таймаут ожидания ответа |
0x0323FF |
Data missing |
Отсутствие данных |
0x032400 |
Data missing |
Отсутствие данных |
Статусы сообщений
State |
Описание |
Тип статуса |
-1 |
Номер находится в процессе проверки |
Промежуточный |
0 |
Абонент доступен |
Окончательный |
42 |
Абонент недоступен |
Окончательный |