Numbering API

Numbering API — программный интерфейс, который позволяет пользователям управлять номерами приложения в Личном кабинете: покупать свободные номера, удалять их, настраивать переадресацию и т.д.

Numbering API Exolve предлагает пользователям следующие методы для управления номерами:

  • GetList - получает справку о параметрах номеров, доступных в Exolve. Характеристики можно использовать при поиске свободных номеров для покупки;

  • GetFree - получает список свободных номеров для покупки по заданным параметрам;

  • Lock - бронирует свободный номер для покупки;

  • Unlock - отменяет бронирование номера;

  • Buy - покупает бронированный номер;

  • Delete - удаляет купленный номер;

  • GetInfo - получает информацию о купленном номере;

  • SetCallForwarding - настраивает переадресацию входящих на номер вызовов;

  • DeleteCallForwarding - удаляет переадресацию входящих на номер вызовов;

  • GetAttributes - получает информацию о настройках переадресации и записи разговоров на номере.

Решения, где используется Numbering API

Попробовать бесплатно

Метод GetList

Примените этот метод для получения справочника по характеристикам номеров (тип, категория, регион, и проект). Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/reference/v1/GetList

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте пустой JSON в теле запроса.

Параметр Описание
{} пустой JSON

Выходные параметры

Параметр Тип Описание
types NumberTypes сопоставляет наименование типа номера и его идентификатор
categories Categories сопоставляет имя категории и ее идентификатор, а также принадлежащие к ней тип номера и его идентификатор
regions Regions сопоставляет название региона с его идентификатором и кодом

NumberTypes

Параметр Тип Описание
type_id uint32 идентификатор типа номера
type_name string наименование типа номера

Categories

Параметр Тип Описание
category_id uint32 идентификатор категории
type_id uint32 идентификатор типа номера
type_name string наименование типа номера
category_name string имя категории

Regions

Параметр Тип Описание
project_id uint32 идентификатор проекта
region_id uint32 идентификатор региона
parent_region_id uint32 идентификатор родительского региона
region_code string код региона
region_name string имя региона (латиница)
description string имя региона (кириллица)

Возможные ошибки

Код Статус Пример сообщения Описание
400 Bad Request proto: syntax error (line 1:2): unexpected token некорректный формат запроса
400 Bad Request proto: syntax error (line 1:2): invalid value невалидный запрос

Примеры

Входные параметры:

{}

Выходные параметры:


{
    "regions": [
        {
            "project_id": 10008,
            "region_id": 10257,
            "parent_region_id": 10084,
            "region_code": "SLH",
            "region_name": "Salekhard",
            "description": "Салехард"
        }
     ],
    "types": [
        {
            "type_id": 1104,
            "type_name": "DEF"
        }
     ],
    "categories": [
        {
            "category_id": 10003,
            "type_id": 1107,
            "type_name": "CEN",
            "category_name": "REGULAR"
        }
    ]
}

Метод GetFree

Примените этот метод для получения списка свободных номеров для покупки. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/GetFree

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
type_id uint32 идентификатор типа номера
region_id uint32 идентификатор региона
category_id uint32 идентификатор категории номера
random boolean True вернет номера в случайном порядке
mask string маска
limit uint32 лимит выводимых строк
offset uint32 номер строки, с которой начинать выборку (начинается с 0)

Выходные параметры

Параметр Тип Описание
numbers array NumberElement список номеров с информацией по ним

NumberElement

Параметр Тип Описание
type_name string наименование типа номера
region_name string имя региона
category_name string имя категории номера
number_code uint64 код номера
subscription_fee float абонентская плата
install_fee float стоимость покупки номера

Список типов номеров (type_id)

Название ID типа номера
Мобильный (DEF) 1104
Городской (ABC) 1105
7-800 (KDU) 1106 (использовать только с регионом Россия)

Список категорий номеров (category_id)

Название ID категории номера для типа мобильный ID категории номера для типа городской ID категории номера для типа 7-800
Обычный 10000 10001 10002
Бронзовый 10010 10011 10012
Серебряный 10020 10021 10022
Золотой 10030 10031 10032
Платиновый 10040 10041 10042
Эксклюзивный 10050 10051 10052

Список регионов (region_id)

Название ID типа номера
Россия 10084
Магнитогорск 10186
Пермь 10181
Санкт-Петербург 10182
Москва 10230
Ростов-на-Дону 10231
Омск 10196
Новороссийск 10221
Екатеринбург 10190
Казань 10195
Сочи 10153
Самара 10192
Краснодар 10184
Нижний Новгород 10189
Новосибирск 10183
Красноярск 10191
Челябинск 10229
Тольятти 10227
Воронеж 10193

Маска

Символ Назначение
Точка ( . ) / Подчёркивание ( _ ) пропускает один символ параметра number_code в поиске
Звёздочка ( * ) / Знак процента ( % ) пропускает несколько символов параметра number_code в поиске

Возможные ошибки

Код Статус Пример сообщения Описание
400 Bad Request proto: syntax error (line 1:2): unexpected token пустое значение в поле type_id
400 Bad Request proto: syntax error (line 1:2): invalid value значение в поле type_id не валидно

Примеры

Пример получения свободных номеров для региона - Москва, категории- Обычный, тип - Мобильный:

// Входные параметры
{
    "type_id": 1104,
    "region_id": 10230,
    "category_id": 10000,
    "random": true,
    "mask": "7986...5275",
    "limit": 1
}

// Выходные параметры
{
    "numbers": [
        {
            "number_code": "79862285275",
            "type_name": "DEF",
            "region_name": "Moscow",
            "category_name": "REGULAR",
            "subscription_fee": 150,
            "install_fee": 590
        }
    ]
}

Пример получения свободных номеров для региона - Санкт-Петербург, категории- Бронзовый, тип - Городской:

// Входные параметры
{
    "type_id": 1105,
    "region_id": 10182,
    "category_id": 10011,
    "random": true,
    "mask": "781221*",
    "limit": 1
}
// Выходные параметры
{
    "numbers": [
        {
            "number_code": "78122133337",
            "type_name": "ABC",
            "region_name": "St. Petersburg",
            "category_name": "BRONZE",
            "subscription_fee": 200,
            "install_fee": 1000
        }
    ]
}

Пример получения свободных номеров для региона - Россия, категории- Серебряный, тип - 7-800:

// Входные параметры
{
    "type_id": 1106,
    "region_id": 10084,
    "category_id": 10022,
    "random": true,
    "limit": 1
}
// Выходные параметры
{
    "numbers": [
        {
            "number_code": "78003333623",
            "type_name": "KDU",
            "region_name": "Russia",
            "category_name": "SILVER",
            "subscription_fee": 3500,
            "install_fee": 50000
        }
    ]
}

Метод Lock

Примените этот метод для бронирования номера перед его покупкой. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/Lock

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
number_code uint64 номер в формате 79999999999
seconds uint32 время бронирования в секундах (от 60 до 600 секунд)
description string комментарий к бронированию номера

Выходные параметры

Параметр Тип Описание
Id uint32 идентификатор бронирования

Возможные ошибки

Код Статус Пример сообщения Описание
500 Internal Server Error Номер {number} не в статусе free заданный в поле number_code номер не свободен для покупки
400 Internal Server Error Номер {number} не существует заданный в поле number_code номер не существует
400 Bad Request proto: syntax error (line 2:20): unexpected token , пустое значение в поле number_code

Примеры

Входные параметры:

{
    "number_code": 74951340002,
    "seconds": 500
}

Выходные параметры:

{
    "Id": 1001884
}

Метод Unlock

Примените этот метод для отмены бронирования номера. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/Unlock

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
number_code uint64 номер
uid uint32 идентификатор бронирования

Выходные параметры

Пустой JSON с 200 OK статусом.

Возможные ошибки

Код Статус Пример сообщения Описание
500 Internal Server Error Номер {number} не в статусе Reserved указанный в поле number_code номер не зарезервирован
400 Bad Request proto: syntax error (line 2:20): invalid value к значение в поле number_code не валидно
400 Bad Request proto: syntax error (line 2:20): unexpected token , не задано значение в поле number_code
500 Internal Server Error UID резерва для номера {number} неправильный некорректный формат в поле uid
400 Bad Request proto: (line 4:1): invalid value for uint32 type: } не задано значение в поле uid
400 Bad Request proto: syntax error (line 3:20): invalid value к значение в поле uid не валидно

Примеры

Входные параметры:

{
    "number_code": 73412209107,
    "uid": 1000988
}

Выходные параметры:

{}

Метод Lock

Примените этот метод для бронирования номера перед его покупкой. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/Lock

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
number_code uint64 номер в формате 79999999999
seconds uint32 время бронирования в секундах (от 60 до 600 секунд)
description string комментарий к бронированию номера

Выходные параметры

Параметр Тип Описание
Id uint32 идентификатор бронирования

Возможные ошибки

Код Статус Пример сообщения Описание
500 Internal Server Error Номер {number} не в статусе free заданный в поле number_code номер не свободен для покупки
400 Internal Server Error Номер {number} не существует заданный в поле number_code номер не существует
400 Bad Request proto: syntax error (line 2:20): unexpected token , пустое значение в поле number_code

Примеры

Входные параметры:

{
    "number_code": 74951340002,
    "seconds": 500
}

Выходные параметры:

{
    "Id": 1001884
}

Метод Buy

Примените этот метод для покупки ранее бронированного номера. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/Buy

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
number_code uint64 номер
reserve_uid uint32 идентификатор забронированного номера (возвращаемое поле id, после выполнения запроса LockNumber)

Выходные параметры

Пустой JSON с 200 OK статусом.

Возможные ошибки

Код Статус Пример сообщения Описание
500 Internal Server Error Error buying number: number isn’t reserved указанный в поле number_code номер не зарезервирован
400 Bad Request proto: syntax error (line 2:20): invalid value к значение в поле number_code не валидно
400 Bad Request proto: syntax error (line 2:20): unexpected token , не задано значение в поле number_code
400 Bad Request proto: (line 4:1): invalid value for uint32 type: } не задано значение в поле reserved_uid
400 Bad Request proto: syntax error (line 3:20): invalid value к значение в поле reserved_uid не валидно

Примеры

Входные параметры:

{
    "number_code": 74996480010,
    "reserve_uid": 1000993
}

Выходные параметры:

{}

Метод Delete

Примените этот метод для удаления ранее купленного номера. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/Delete

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
number_code uint64 код номера

Выходные параметры

Пустой JSON с 200 OK статусом.

Возможные ошибки

Код Статус Пример сообщения Описание
500 Internal Server Error Application [ID] does not own resource [number] указанный в поле number_code номер не принадлежит указанному приложению
400 Bad Request proto: syntax error (line 2:20): invalid value п значение в поле number_code не валидно
400 Bad Request proto: (line 3:1): invalid value for uint64 type: } не задано значение в поле number_code

Примеры

Входные параметры:

{
    "number_code": 74951341115
}

Выходные параметры:

{}

Метод GetInfo

Примените этот метод для получения информации об одном купленном номере. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/customer/v1/GetInfo

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
number_code uint64 купленный номер

Выходные параметры

Параметр Тип Описание
number_name string номер
type_name string наименование типа номера
region_name string имя региона
application_name string имя приложения
subscription_fee float стоимость абонентской платы
install_fee float стоимость покупки номера
create_date string дата покупки номера в формате RFC-3339 / ISO-8601
application_uuid string уникальный идентификатор приложения
category_name string наименование категории

Примеры

Входные параметры:

{  
    "number_code": 79011550006
}

Выходные параметры:

{
    "number_name": "79016220127",
    "type_name": "DEF",
    "region_name": "Moscow",
    "application_name": "test data_феекшигеуы",
    "subscription_fee": 150,
    "install_fee": 333,
    "create_date": "2022-12-06T07:37:34.543471Z",
    "application_uuid": "828b86c9-f3e5-4312-aa87-b2cb93f0ded2",
    "category_name": "REGULAR"
}

Метод SetCallForwarding

Примените этот метод для настройки переадресации входящих вызовов. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/SetCallForwarding

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
number_code uint64 номер Exolve, на который устанавливается переадресация
call_forwarding_type enum CallForwardingType тип переадресации
call_forwarding_data oneof CallForwardingData настройка переадресации

CallForwardingType

Параметр Тип Описание
0 enum переадресация не определена
2 enum переадресация на номер или SIP ID
3 enum переадресация на URL
4 enum переадресация на SIP-транк (Static IP)

CallForwardingData

Параметр Тип Описание
call_forwarding_number CallForwardingNumber данные для переадресации на номер или SIP ID
call_forwarding_ipcr CallForwardingIpcr данные для переадресации на URL
call_forwarding_static CallForwardingStatic данные для переадресации на SIP-транк (Static IP)

CallForwardingNumber

Параметр Тип Описание
redirect_type enum RedirectType тип переадресации
call_control CallControl управление входящим вызовом
event_url string URL для отправки уведомлений о ходе звонка
event_extended boolean True для получения расширенных уведомлений. False для получения стандартного набора уведомлений
client_id string сквозной идентификатор вызова от API клиента
file_to_a string аудиосообщение звонящему абоненту
file_to_b string аудиосообщение принимающему абоненту
masking boolean True для скрытия номера звонящего абонента. False для показа оригинального номера звонящего абонента
display_number string номер, который показывается абоненту C (номер переадресации). Зависит от параметра masking. Если значение masking - false, принимающему вызов показывается реальный номер звонящего. Если параметр masking - true, можно передать любой номер Exolve, принадлежащий этому приложению

RedirectType

Параметр Тип Описание
1 enum одиночная переадресация
2 enum последовательная переадресация
3 enum параллельная переадресация

CallControl

Параметр Тип Описание
redirect_number string номер или юзернейм SIP ID для переадресации
timeout uint32 время ожидания ответа в секундах
active boolean True для переадресации вызова на redirect_number, False для сброса вызова
name string произвольное имя номера для переадресации вызова
period string Period расписание активности для переадресации вызова; значение передаётся в виде перечисления (разделитель – пробел) или диапазона (вида «от» и «до» включительно, разделитель – пробел)
period_description string произвольное описание расписания активности для перенаправления вызова

Period

Параметр Значение Описание и допустимые значения
year yr Год: 0-3000. Пример: yr {2024-2026}
month mo Месяц года: 1-12 или jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec или Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. Пример: mo {Jan-Apr} или mo {jan feb nov dec}
week wk Порядковая неделя в месяце: 1-6. Пример: wk {1 3 5} или wk {1-2}
yday yd Порядковый день года: 1-365. Пример: yd {1-100}
mday  md  День месяца: 1-31. Пример: md {1-5}
wday  wd День в неделе: 1-7 или mo, tu, we, th, fr, sa, su или Mo, Tu, We, Th, Fr, Sa, Su или mon, tue, wed, thu, fri, sat, sun или Mon, Tue, Wed, Thu, Fri, Sat, Sun. Пример: wd {1 3 5 7} или wd {mo-fr}
hour hr Час: 0-23 или 12am 1am-11am 12pm(12noon) 1pm-11pm. Пример: hr {9am-4pm}
minute min Минута: 0-59. Пример: min {30-59}
second sec Секунда: 0-59. Пример: sec {1-5}

CallForwardingIpcr

Параметр Тип Описание
url string URL для переадресации звонка
reserve string резервный номер для переадресации, если URL будет недоступен

CallForwardingStatic

Параметр Тип Описание
static_ip string IP адрес
port uint32 порт
timeout uint32 таймаут переадресации
did uint64 DID номер

Выходные параметры

Пустой JSON с 200 OK статусом.

Примеры

Входные параметры для переадресации на номер или SIP ID:

{
    "number_code": 74991112233,
    "call_forwarding_type": 2,
    "call_forwarding_number": {
       "redirect_type": 1,
       "call_control":[
           {
                "timeout": "16",
                "active": true,
                "period": "wd {Mon-Fri} hr {6am-14pm}",
                "period_description": "график будни",
                "name": "звонит клиент",
                "redirect_number": "74992223344" // или 883140XXXXXXXXX (SIP ID)
            }
       ],
        "event_url": "https://example.com/",
        "event_extended": true,
        "client_id": "test",
        "file_to_a": "12345",
        "file_to_b": "54321",
        "masking": true,
        "display_number": "74995556677"
    }
}

Входные параметры для переадресации на URL:

{
    "number_code": 74991112233,
    "call_forwarding_type": 3,
    "call_forwarding_ipcr": {
        "url": "https://example.com/",
        "reserve": "74993334455"
    }
}

Входные параметры для переадресации на SIP-транк (Static IP):

{
    "number_code": 74991112233,
    "call_forwarding_type": 4,
    "call_forwarding_static": {
       "static_ip": "127.0.0.1",
       "port": 10,
       "timeout": 30,
       "did": 111
    }
}

Выходные параметры:

{}

Примечание к отправке уведомлений при входящем звонке

Вы можете настроить отправку уведомлении на URL о ходе входящих звонков двумя способами:

  • Установить URL для определённого номера, передав значение в поле “event_url” при выполнения метода SetCallForwarding.

  • Установить URL в настройках приложения в блоке “Уведомления о событиях” в Личном кабинете разработчика. Установленный URL применяется ко всем номерам приложения.

При отправке уведомлений о ходе входящего звонка платформа Exolve сначала проверяет, указан ли URL индивидуально на номере вызова. Если URL не указан на номере, проверяет, указан ли в приложении. Подробнее:

  1. Если URL указан и на номере, и в приложении, то уведомления будут отправлены на URL из индивидуальных настроек номера.
  2. Если URL указан на номере, но пуст в приложении, то уведомления будут отправлены на URL из индивидуальных настроек номера.
  3. Если URL не указан на номере, но указан в приложении, то уведомления будут отправлены на URL из приложения

Метод DeleteCallForwarding

Примените этот метод для удаления настроек переадресации входящих вызовов. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/DeleteCallForwarding

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
number_code uint64 код номера

Выходные параметры

Пустой JSON с 200 OK статусом.

Возможные ошибки

Код Статус Пример сообщения Описание
500 Internal Server Error Application [ID] does not own resource [number] указанный в поле number_code номер не принадлежит указанному приложению
400 Bad Request proto: syntax error (line 2:20): invalid value п значение в поле number_code не валидно
400 Bad Request proto: (line 3:1): invalid value for uint64 type: } не задано значение в поле number_code

Примеры

Входные параметры:

{
    "number_code": 74951341115
}

Выходные параметры:

{}

Метод GetAttributes

Примените этот метод для получения информации о настройке купленного номера (переадресация, запись разговоров). Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/GetAttributes

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

Имя Тип Описание
Authorization string API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

Параметр Тип Описание
number_code uint64 код номера

Выходные параметры

Параметр Тип Описание
number_resource_id uint64 код номера
status_name string наименование статуса
attributes NumberAttributes атрибуты номера, информация о настройке

NumberAttributes

Параметр Тип Описание
call_record boolean True если функция записи звонка включена. False если функция записи звонка отключена
call_forwarding_type enum ForwardingType тип переадресации
call_forwarding_number enum ForwardingNumber настройки номера, на который происходит переадресация
call_forwarding_ipcr enum ForwardingIpcr URL, на который происходит переадресация

ForwardingType

Параметр Тип Описание
CALL_FORWARDING_TYPE_NUMBER = 2 string переадресация на номер
CALL_FORWARDING_TYPE_IPCR = 3 string переадресация на URL
CALL_FORWARDING_TYPE_UNSPECIFIED = 0 string переадресация не определена

ForwardingNumber

Параметр Тип Описание
redirect_type int64 тип переадресации: 1 - одиночная, 2 - последовательная, 3 - параллельная
call_control CallControl управление входящим вызовом
event_url string URL для отправки уведомлений о ходе звонка
event_extended boolean True для получения расширенных уведомлений. False для получения стандартного набора уведомлений
file_to_a string аудиосообщение звонящему абоненту
file_to_b string аудиосообщение принимающему абоненту
answer boolean True для проигрывания аудиосообщения в предответном состоянии. False для проигрывания аудиосообщения в ответном состоянии (False по умолчанию)
masking boolean True для скрытия номер звонящего абонента. False для показа оригинального номера звонящего абонента
display_number string номер Exolve, который видит звонящий абоненту при вызове

CallControl

Параметр Тип Описание
period string период переадресации входящего вызова
period_description string описание периода переадресации вызова
timeout uint32 время ожидания ответа в секундах
active boolean True для переадресации вызова на redirect_number, False для сброса вызова
name string символьное имя номера для переадресации вызова
redirect_number string номер для переадресации
dtmf string добавочный номер

ForwardingIpcr

Параметр Тип Описание
url string URL, на который происходит переадресация
reserve string номер, на который происходит переадресация, если URL не доступен

Возможные ошибки

Код Статус Пример сообщения Описание
500 Internal Server Error Application [ID] does not own resource [number] указанный в поле number_code номер не принадлежит указанному приложению или не верно задан формат номера
400 Bad Request proto: syntax error (line 2:20): invalid value п значение в поле number_code не валидно
400 Bad Request proto: (line 3:1): invalid value for uint64 type: } не задано значение в поле number_code

Примеры

Входные параметры:

{
    "number_code": 74996487174
}

Выходные параметры для номера с переадресацией на номер:

{
    "number_resource_id": "94004",
    "status_name": "Active",
    "attributes": {
        "call_record": false,
        "call_forwarding_type": 2,
        "call_forwarding_number": {
            "redirect_type": 1,
            "call_control":[
                {
                    "period": "always",
                    "period_description": "всегда переадресовывать",
                    "timeout": "16",
                    "active": true,
                    "name": "звонит клиент",
                    "redirect_number": "74996480184",
                    "dtmf": "896"
                }
            ],
           "event_url": "https://example.com/",
           "event_extended": true,
           "file_to_a": "12345",
           "file_to_b": "54321",
           "answer": true,
           "masking": true,
           "display_number": "74995557890"
        }
    }
}

Входные параметры для переадресации на URL:

{
    "number_resource_id": "51802",
    "status_name": "",
    "attributes": {
        "call_record": true,
        "call_forwarding_type": "CALL_FORWARDING_TYPE_IPCR",
        "call_forwarding_ipcr": {
            "url": "http://example.com",
            "reserve": "74996482846"
        }
    }
}

Решения, где используется Numbering API

Попробовать бесплатно

Содержание статьи