FlashСall API

Формат взаимодействия

Запросы к API выполняются по протоколу HTTP. Входные и выходные структуры данных передаются в теле запроса и ответа в формате JSON.

Авторизация

Большинство вызовов HTTP API требуют процедур аутентификации и авторизации, которые связывают вызовы API с необходимыми приложениями в Вашей учетной записи.

Для этого каждый запрос должен содержать заголовок, либо аргумент X-Authorization с токеном соединения в формате AccessKey token,

Например заголовком:
POST /apps/activate HTTP/1.1
Host: api.unibell.ru
X-Authorization: AccessKey d8ac9959r12b43545da9034
или
Authorization: Basic d8ac9959r12b43545da9034

либо параметром:
POST api.unibell.ru/apps/activate?X-Authorization=AccessKey d8ac9959r12b43545da9034

Формат ответов

JSON схема любого ответа содержит параметр status типа string со следующими значениями:

Значение statusОписание
okБез ошибок
invalidAccessKeyErrorНеверный AccessKey
requiredJsonErrorВ теле запроса требуется JSON
invalidSchemeErrorНеверная схема JSON
invalidDataErrorОшибочные входные данные
prohibitedForAppErrorЗапрещено для данного приложения
prohibitedForServiceErrorЗапрещено для данной услуги
rpcErrorКоммуникационная ошибка

Например:

    {
        …
        “status”: “ok”
        ....
    }

FlashCall запросы

POST https://api.unibell.ru/apps/flash/calls/flash
HTTP Basic
Authorization: token

Параметры в теле, json

    {
        "number": "791791367878",
        "code": 1234,
        "timeout": 60000, 
    } 
ПараметрОписание
numberНомер телефона в формате e.164
codeКод, 4е знака
timeoutМаксимальное время вызова в мс

Ответ:

В случае успешной отправки возвращается requestId — идентификатор сообщения на стороне партнера, который потом возвращается в callback.

Пример успешного ответа:

    {
        "requestId": XXXXXX
        "from": "79179136787"
    }

Пример неуспешного ответа:

    {
        "errorCode" : 1,
        "errorReason" : "Authentication required"
    }

Описание кодов ошибок

errorCodeerrorReasonОписание
1 НТТP 401Authentication requiredНеверный токен аутентификации
2 HTTP 400Inactive accountНеактивный аккаунт. Свяжитесь с поддержкой
4 HTTP 429Too many requestsСлишком много запросов за короткий период времени
5 HTTP 401Inactive tokenНеактивный токен
6 HTTP 403Insufficient fundsНизкий баланс, невозможно выполнить запрос
10 HTTP 400Invalid requestНеправильно сформированный запрос
11 HTTP 400Invalid numberНеверный формат номера. Номер должен быть в формате (E.164).
16 HTTP 400Sender not allowedДля данного типа запроса недопустим sender id

Получение статусов

Получение статусов должно быть настроено через Callback.

Параметры в callback

ПараметрОписание
requestIdУникальный идентификатор запроса на стороне партнера
numberНомер абонента
statusСтатус (приведены в таблице ниже)
timestampВремя изменения статуса в формате unixtime
appKeyAPI ключ приложения

Сопоставление статусов

Статусы, которые может вернуть ПартнерОписание статуса ПартнераСоответствующий статус Message_state
ANSWEREDВызов пришел, абонент взял трубкуDELIVERED
TERMINATEDВызов пришел, абонент не взял трубку (звонок прерван по истечении ttl или по команде)
BUSY_HEREВызов пришел, абонент сбросил вызов
REJECTEDЗвонок не может быть совершен, например если номер еще занят другим звонком или другая SIP-ошибкаUNDELIVERED
UNAVAILABLEАбонент не доступен, телефон выключен
FORBIDDENВозвращается при срабатывании антифрода
На этой странице