SetCallForwarding

Метод SetCallForwarding

Примените метод SetCallForwarding для настройки переадресации входящих вызовов на номере.

Точка подключения: Выполните POST-запрос с входными параметрами к точке подключения:

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

Авторизация

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

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

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

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

ПараметрТипОписание
number_codeuint64номер МТС Exolve, на который устанавливается переадресация
call_forwarding_typeenum CallForwardingTypeтип переадресации
call_forwarding_dataoneof CallForwardingDataнастройка переадресации

CallForwardingType

ПараметрТипОписание
0enumпереадресация не определена
1enumпереадресация на внешний SIP-аккаунт
2enumпереадресация на номер или SIP ID платформы МТС Exolve
3enumдинамическая переадресация по API (на URL)
4enumпереадресация на SIP-транк (Static IP) — будет упразднён, используйте тип 6
6enumпереадресация на один или несколько SIP-транков (Static IP) последовательно или с балансировкой трафика

CallForwardingData

ПараметрТипОписание
call_forwarding_sipCallForwardingSipданные для переадресации на внешний SIP-аккаунт
call_forwarding_numberCallForwardingNumberданные для переадресации на номер или SIP ID
call_forwarding_ipcrCallForwardingIpcrданные для динамической переадресации по API (на URL)
call_forwarding_staticCallForwardingStaticданные для переадресации на SIP-транк (Static IP)
call_forwarding_staticsCallForwardingStaticsданные для переадресации на один или несколько SIP-транков (Static IP)

CallForwardingSip

ПараметрТипОписание
sip_uristringURI-адрес SIP-аккаунта формата: {имя пользователя}@{домен или IP}:{порт}

CallForwardingNumber

ПараметрТипОписание
redirect_typeenum RedirectTypeтип переадресации
call_controlCallControlуправление входящим вызовом
event_urlstringURL для отправки уведомлений о ходе звонка
event_extendedbooleanTrue для получения расширенных уведомлений. False для получения стандартного набора уведомлений
client_idstringсквозной идентификатор вызова от API клиента
file_to_astringаудиосообщение звонящему абоненту
file_to_bstringаудиосообщение принимающему абоненту
maskingbooleanTrue для скрытия номера звонящего абонента. False для показа оригинального номера звонящего абонента
display_numberstringномер, который показывается абоненту C (номер переадресации). Зависит от параметра masking. Если masking — False, принимающему вызов показывается реальный номер звонящего. Если masking — True, можно передать любой номер Exolve, принадлежащий этому приложению

RedirectType

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

CallControl

ПараметрТипОписание
redirect_numberstringномер или юзернейм SIP ID для переадресации
timeoutuint32время ожидания ответа в секундах
activebooleanTrue для переадресации вызова на redirect_number, False для сброса вызова
namestringпроизвольное имя номера для переадресации вызова
periodstring Periodрасписание активности для переадресации вызова; значение передаётся в виде перечисления (разделитель – пробел) или диапазона (вида «от» и «до» включительно, разделитель – пробел)
period_descriptionstringпроизвольное описание расписания активности для перенаправления вызова

Period

ПараметрЗначениеОписание и допустимые значения
yearyrГод: 0-3000. Пример: yr {2024-2026}
monthmoМесяц года: 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}
weekwkПорядковая неделя в месяце: 1-6. Пример: wk {1 3 5} или wk {1-2}
ydayydПорядковый день года: 1-365. Пример: yd {1-100}
mdaymdДень месяца: 1-31. Пример: md {1-5}
wdaywdДень в неделе: 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}
hourhrЧас: 0-23 или 12am 1am-11am 12pm(12noon) 1pm-11pm. Пример: hr {9am-4pm}
minuteminМинута: 0-59. Пример: min {30-59}
secondsecСекунда: 0-59. Пример: sec {1-5}

CallForwardingIpcr

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

CallForwardingStatic

ПараметрТипОписание
static_ipstringIP-адрес
portuint32порт IP-адреса
timeoutuint32таймаут переадресации
diduint64номер, на который поступил звонок

CallForwardingStatics

ПараметрТипОписание
redirect_typeenum RedirectTypeтип переадресации
ip_staticsArrayсписок IP-адресов для переадресации
static_ipstringIP-адрес
portuint32порт IP-адреса
timeoutuint32таймаут переадресации
diduint64номер, на который поступил звонок
percentuint32доля входящего трафика, которую нужно направить на этот IP-адрес (только для типа 3)

RedirectTypeStatics

ПараметрТипОписание
1enumпереадресация на IP-адрес
2enumпоследовательная переадресация на несколько номеров IP-адресов
3enumпереадресация на несколько номеров IP-адресов с балансировкой трафика между ними

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

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

Примеры

Входные параметры для переадресации на внешний SIP-аккаунт (тип 1):

{
    "number_code": 74991112233,
    "call_forwarding_type": 1,
    "call_forwarding_sip": {
       "sip_uri": "testsip06844538@testsip.test.ru"
    }
}

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

{
    "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"
    }
}

Входные параметры для динамической переадресации по API (на URL) (тип 3):

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

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

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

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

{
  "number_code": 74991112233,
  "call_forwarding_type": 6,
  "call_forwarding_ip_statics": {
    "redirect_type": 2,
    "ip_statics": [
      {
        "ip": "127.0.0.1",
        "port": 5060,
        "timeout": 60
      },
      {
        "ip": "111.112.113.114",
        "port": 5060,
        "timeout": 60
      }
    ]
  }
}

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

{
  "number_code": 74991112233,
  "call_forwarding_type": 6,
  "call_forwarding_ip_statics": {
    "redirect_type": 3,
    "ip_statics": [
      {
        "ip": "127.0.0.1",
        "port": 5060,
        "timeout": 60,
        "percent": 40
      },
      {
        "ip": "111.112.113.114",
        "port": 5060,
        "timeout": 60,
        "percent": 60
      }
    ]
  }
}

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

{}

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

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

  1. Установить URL для определённого номера, передав значение в поле event_url при выполнения метода SetCallForwarding.
  2. Установить URL в настройках приложения в блоке «Уведомления о событиях» в Личном кабинете разработчика. Установленный URL применяется ко всем номерам приложения.

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

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

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

КодСтатусПример сообщенияОписание
400Bad Requestproto: syntax error (line 2:20): unexpected token ,не задано значение в поле number_code
400Bad Requestproto: syntax error (line 2:20): invalid value кзначение в поле number_code не валидно
500Internal Server Errorerror unknown call forwarding typeв поле call_forwarding_type указан неверный тип переадресации
400Bad Requestproto: syntax error (line 3:29): invalid value пзначение в поле call_forwarding_type не валидно
400Bad Requestproto: syntax error (line 3:29): unexpected token ,не задано значение в поле call_forwarding_type