Child pages
  • Описание API PIN-CALLS
Skip to end of metadata
Go to start of metadata

Для работы с API нужна авторизация.


Для авторизации необходимо:


  • Получить токен

Для получения токена надо сформировать POST запрос

в запросе ожидаются параметры:

email - e-mail адрес, например just@example.ru

password - пароль, например 1234567890

Пары email/password должны быть установлены нами предварительно.

Пример данных запроса в формате json:

{"email": "just@example.ru", "password": "1234567890"}


ответ:

{"token": eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYyNzMwOTI3MiwianRpIjoiNDc1OGFjMGMtYjEzZi00NTE0LTlmNTEtZWI3MzNmYmNlYWFlIi"}


Полученный токен имеет время жизни 24 часа.


  • При запросах к API в заголовке должен присутствовать параметр Authorization.

Формат: Bearer <токен>

 

например:

Bearer  eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYyNzMwOTI3MiwianRpIjoiNDc1OGFjMGMtYjEzZi00NTE0LTlmNTEtZWI3MzNmYmNlYWFlIi

Запросы на инициирование вызова PinCall, а также на получение данных о вызове PinCall


Инициирование вызова - POST запрос.

в запросе ожидаются параметры:

async = 1 (другие значения недопустимы)

dstNumber - номер в формате e164, 9-15 цифр, первой цифрой не должен быть 0, например 79871234567

timeout - таймаут от 20 до 79 сек, должен быть обязательно задан

pin -  4-х значный цифровой код, должен присутствовать обязательно

langязык для воспроизведения PIN кода. В настоящий момент может принимать значения ru или en


Пример данных запроса в формате json:

{"async": "1", "dstNumber": "79871234567", "timeout": "30", "pin": "1330", "lang": "ru"}


Данные ответа:

- параметр status - код завершения операции.

Общая классификация соответствует кодам завершения HTTP:

2xx: успешно

4xx, 5xx: ошибка при выполнении операции

- параметр message - присутствует в случае завершения с ошибкой и содержит ее краткое описание


- объект ​callDetails​,

содержащий параметры:

callId – идентификатор сгенерированного вызова, строка

pin – код, который использован как последние 4 цифры номера источника, строка

status = ​null

async - копирует значение из запроса

timeout - копирует значение из запроса

lang - копирует значение из запроса

dstNumber - копирует значение из запроса


Пример данных в ответе:

{"status": "200", "callDetails": {"async": "1", "dstNumber": "79871234567", "pin": "1333", "timeout": "30", "lang": "ru", "callId": "zW49iyxL9WDZ5Fi", "status": "null"}}


Получение данных о вызове - POST запрос.

в запросе один обязательный параметр:

callId – идентификатор сгенерированного вызова, строка

Пример данных запроса в формате json:

{"callId": "VkjBKofAHZxrEMX"}


Данные ответа:

- параметр status - код завершения операции.


Общая классификация соответствует кодам завершения HTTP:

2xx: успешно

4xx, 5xx: ошибка при выполнении операции

- параметр message - присутствует в случае завершения с ошибкой и содержит ее краткое описание

- объект ​callDetails​,

содержащий параметры:

callId – идентификатор сгенерированного вызова, строка

reasonCode - SIP response code

status - статус вызова, строка, возможные значения: "ANSWER"​ – отвечено, ​"BUSY"​ – занято, ​"NOANSWER"​ – нет ответа, "CONGESTION" - канал перегружен

result - DELIVERED - вызов доставлен до абонента, NOTDELIVERED - не доставлен

description - расширенный комментарий о причине завершения вызова

может принимать значения:


- для result = DELIVERED


call answered


- для result = NOTDELIVERED


call not answered


Пример данных в ответе:

{"status": "200", "callDetails": {"callId": "jRe3RyO3WqUKcEq", "reasonCode": "200", "status": "ANSWER", "result": "DELIVERED", "description": "call answered"}}

или

{"status": "404", "callDetails": {"callId": "jRe3RyO3WqUKcEd", "result": "Call not found! Try later..."}}


  • No labels