Для работы с API нужна авторизация.
Для авторизации необходимо:
в запросе ожидаются параметры:
email - e-mail адрес, например just@example.ru
password - пароль, например 1234567890
Пары email/password должны быть установлены нами предварительно.
Пример данных запроса в формате json:
{'email': 'just@example.ru', 'password': '1234567890'}
ответ:
{'token': eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYyNzMwOTI3MiwianRpIjoiNDc1OGFjMGMtYjEzZi00NTE0LTlmNTEtZWI3MzNmYmNlYWFlIi'}
Полученный токен имеет время жизни 24 часа.
Формат: Bearer <токен>
напрмер:
Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYyNzMwOTI3MiwianRpIjoiNDc1OGFjMGMtYjEzZi00NTE0LTlmNTEtZWI3MzNmYmNlYWFlIi
в запросе ожидаются параметры:
async = 1 (другие значения недопустимы)
dstNumber - номер в формате e164, 9-15 цифр, первой цифрой не должен быть 0, например 79871234567
timeout - таймаут от 20 до 79 сек, должен быть обязательно задан
pin - 4-х значный цифровой код, должен присутствовать обязательно
Пример данных запроса в формате json:
{'async': '1', 'dstNumber': '79871234567', 'timeout': '30', 'pin': '1330'}
Данные ответа:
- параметр status - код завершения операции.
Общая классификация соответствует кодам завершения HTTP:
2xx: успешно
4xx, 5xx: ошибка при выполнении операции
- параметр message - присутствует в случае завершения с ошибкой и содержит ее краткое описание
- объект callDetails,
содержащий параметры:
callId – идентификатор сгенерированного вызова, строка
pin – код, который использован как последние 4 цифры номера источника, строка
status = null
async - копирует значение из запроса
timeout - копирует значение из запроса
dstNumber - копирует значение из запроса
Пример данных в ответе:
{'status': '200', 'callDetails': {'async': '1', 'dstNumber': '79871234567', 'pin': '1333', 'timeout': '30', 'callId': 'zW49iyxL9WDZ5Fi', 'status': 'null'}}
в запросе один обязательный параметр:
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
RINGING call before VM detected
HUMAN voice detected
- для result = NOTDELIVERED
UNREACHABLE detected
Пример данных в ответе:
{'status': '200', 'callDetails': {'callId': 'jRe3RyO3WqUKcEq', 'reasonCode': '200', 'status': 'ANSWER', 'result': 'DELIVERED', 'description': 'RINGING call before VM detected'}}
или
{'status': '404', 'callDetails': {'callId': 'jRe3RyO3WqUKcEd', 'result': 'Call not found! Try later...'}}