Получение информации по сценариям переадресации

Читать 11

Описание

С помощью данного API метода можно получать информацию о настроенных в проекте сценариях переадресации.

Запрос

POST:

https://api.calltouch.ru/phone-service/v1/api/calltracking/call-redirect/list

HEADERS:

  • Access-Token — API-ключ;
  • SiteId — ID ЛК Calltouch.

Пример тела запроса

Тело запроса в формате JSON.

{
    "redirectOptions": {
        
"redirectIds": [123345],
        "redirectName": {
            "value""Номер",
            "filterMode""star_twith"
        },
        "redirectStatus": "active"
    },
    
    "poolOptions": {
        "poolName": {
            "value""Остальные"
        }

    },
    "phoneNumbers": ["79001112233""79005554433"]
}

Параметры запроса

Параметр Формат   Обязательный   Описание 
redirectOptions  object  Нет  Объект с фильтрами по настоенной на номерах переадресации. 
redirectOptions.redirectIds  array  Нет  Фильтр по id сценария переадресации.

При указании этого параметра будут выгружены только те номера, у которых настроена переадресации по сценариям с указанными id.

Массив, можно указать несколько id сценариев переадресации в массиве.

Максимум 50 штук.  

redirectOptions.redirectName.value  string  Нет  Фильтр по имени сценария переадресации.

При указании этого параметра будут выгружены только сценарии переадресации с подходящими названиями. Поиск регистронезависимый. 

Может быть найдено несколько подходящих сценариев переадресации, тогда отдаем все подходящие сценарии.

Максимум 100 символов. 
redirectOptions.redirectName.filterMode string Нет
Режим фильтрации по имени сценария, описание режимов:
  • start_with — начинается с;
  • contains — содержит;
  • exact — полное соответствие (по умолчанию если фильтр не задан).
redirectOptions.redirectStatus string Нет Фильтр по статусу сценария переадресации.

При указании этого параметра будут выгружены только сценарии с искомым статусом.

Возможные значения:

  • "active" — Активен;
  • "error" — Ошибка применения настроек сценария;
  • "sending" — Идет применение настроек сценария.
poolOptions.poolName.value string Нет Фильтр по названию пула.

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

Может быть найдено несколько пулов с подходящим названием, тогда отдаем сценарии переадресации из всех подходящих пулов.

Максимум 100 символов.
poolOptions.poolName.filterMode  string  Нет  Режим фильтрации по имени пула, в котором используется сценарий переадресации, описание режимов:
  • start_with — начинается с;
  • contains — содержит;
  • exact — полное соответствие (по умолчанию если фильтр не задан).
phoneNumbers  array  Нет  Фильтр по подменным номерам, по которым нужно получить сценарии переадресации.

Формат "79123456789". 

Массив, можно указать несколько номеров в массиве.

Максимум 300 номеров.
Все условия-фильтры во входных параметрах совмещаются по логическому И.

Ответ

Пример ответа

{
  "data": [
    {
      "redirectId"79105,
      "redirectName""Транк",
      "redirectType""sipTrunk",
      "redirectStatus""active",
      "isComplex"false,
      "redirectParams": {
        "uri""sip2264.sitnet.ru",
        "login""login",
        "password""pa55word",
        "ignoreEarlyMedia"true,
        "reservePhone": {
          "enabled"true,
          "phoneNumber""79115554433",
          "callTimeout"60
        }
      },
      "poolOptions": {
        "poolNames": [
          "cb"
        ],
        "poolIds": [
          163738
        ]
      },
      "phoneNumbers": [
        "74996268830"
      ]
    },
    {
      "redirectId"79106,
      "redirectName""Номер +79001328426",
      "redirectType""phone",
      "redirectStatus""active",
      "isComplex"false,
      "redirectParams": {
        "phoneNumber""79001328426",
        "ignoreEarlyMedia"true,
        "reservePhone": {
          "enabled"false,
          "phoneNumber""",
          "callTimeout"null
        }
      },
      "poolOptions": {
        "poolNames": [
          "Остальные",
          "Визитка"
        ],
        "poolIds": [
          123456,
          123321
        ]
      },
      "phoneNumbers": [
        "74996268831",
        "74996268832",
        "74996268833",
        "74996268834",
        "74996268835"
      ]
    },
    {
      "redirectId"79107,
      "redirectName""SIP URI",
      "redirectType""sipUri",
      "redirectStatus""active",
      "isComplex"false,
      "redirectParams": {
        "login""00074994449182",
        "server""vpbx400285819.mangosip.ru",
        "port""5060",
        "ignoreEarlyMedia"false,
        "reservePhone": {
          "enabled"false,
          "phoneNumber""",
          "callTimeout"null
        }
      },
      "poolOptions": {},
      "phoneNumbers": []
    },
    {
      "redirectId"79108,
      "redirectName""Распределение по времени",
      "redirectType""timeOfDay",
      "redirectStatus""active",
      "isComplex"true,
      "redirectParams": {},
      "poolOptions": {},
      "phoneNumbers": []
    },
    {
      ...
    }
  ]
}

Параметры ответа

Параметр   Формат  Описание 
data[n].redirectId  integer  ID сценария переадресации. 
data[n].redirectName  string  Имя сценария переадресации. 
data[n].redirectType  string Тип сценария:
  • "phone" — Переадресация на номер;
  • "sipUri" — Переадресация на SIP URI;
  • "sipTrunk" — Переадресация на SIP Trunk;
  • "timeOfDay" — По времени и дням недели;
  • "timeRule" — По времени и дням недели (расширенная);
  • "autoAttendant" — Голосовое приветствие/меню;
  • "ringGroup" — На группу номеров.
data[n].redirectStatus  string  Статус сценария:
  • "active" — Активен;
  • "error" — Ошибка применения настроек сценария;
  • "sending" — Идет применение настроек сценария.
data[n].isComplex  boolean  Сложный сценарий: true/false 
data[n].redirectParams  object  Подробности настроек сценария, содержание будет отличаться в зависимости от типа сценария (redirectType):
  • "phone": состоит из полей number, ignoreEarlyMedia, reservePhone
  • "sipUri": состоит из полей login, server, port, ignoreEarlyMedia, reservePhone
  • "sipTrunk": состоит из полей uri, login, password, ignoreEarlyMedia, reservePhone
  • "timeOfDay": пустой объект {}
  • "timeRule": пустой объект {}
  • "autoAttendant": пустой объект {}
  • "ringGroup": пустой объект {}
data[n].redirectParams.phoneNumber  string  Используется только если "type": "phone", содержит номер телефона переадресации, формат "79123456789". 
data[n].redirectParams.login  string  Используется только если "type": "sipUri", содержит логин от SIP URI.      
data[n].redirectParams.server   string  Используется только если "type": "sipUri", содержит сервер (IP/домен) от SIP URI. 
data[n].redirectParams.port  string  Используется только если "type": "sipUri", содержит порт SIP URI. 
data[n].redirectParams.uri  string  Используется только если "type": "sipTrunk", содержит адрес сервера транка в Телемире (sipXXXX.sitnet.ru).
data[n].redirectParams.login  string  Используется только если "type": "sipTrunk", содержит логин от SIP транка.  
data[n].redirectParams.password  string  Используется только если "type": "sipTrunk", содержит пароль от SIP транка. 
data[n].redirectParams.ignoreEarlyMedia  boolean  Используется, если "type": "phone", "sipUri" или "sipTrunk".
Настройка "Игнорировать оповещения", может принимать значения true/false.      
data[n].redirectParams.reservePhone  object  Используется, если "type": "phone", "sipUri" или "sipTrunk".
Cодержит настройки резервного номера.  
data[n].redirectParams.reservePhone.enabled   boolean   Используется, если "type": "phone", "sipUri" или "sipTrunk".
Настройка "используется резервный номер телефона", может принимать значения true/false.  
data[n].redirectParams.reservePhone.phoneNumber  string  Используется, если "type": "phone", "sipUri" или "sipTrunk".
Cодержит резервный номер телефона.  
data[n].redirectParams.reservePhone.callTimeout  integer  Используется, если "type": "phone", "sipUri" или "sipTrunk".
Количество секунд до звонка на резервный номер.
Может быть null. 
data[n].poolOptions.poolNames  array  Массив string из названий пулов, в которых подключен данный сценарий. 
data[n].poolOptions.poolIds  array  Массив string из ID пулов, в которых подключен данный сценарий. 
data[n].phoneNumbers  array  Массив string из номеров, которым назначен данный сценарий. 




Типовые ошибки

Ошибки авторизации

Если в запросе указаны некорректные авторизационные данные — то выводится ошибка. Список типовых ответов при запросах с некорректными авторизационными данными, или некорректными данными в теле API запроса вы можете посмотреть в этой статье.

Ошибки валидации

Если в запросе во входных параметрах обнаруживаются ошибки валидации — отвечаем кодом 400 и выводим ошибку, указывающую на проблемное поле, с пояснением, вида:

{
    "meta": [],
    "data": {
        "type""validationError",
        "validationErrorData": {
            "violations": [
                {
                    "fieldPath""Указание на ошибочное поле",
                    "message""Описание в чем именно ошибка"
                }
            ]
        }
    }
}

Список типовых ответов при запросах с некорректными данными в теле API запроса вы можете посмотреть в этой статье.

Система баллов API

Система баллов API — механизм, регулирующий нагрузку на сервера Calltouch. Для каждого проекта выдается индивидуальное суточное количество баллов. За каждый успешно выполненный запрос списываются баллы. Подробнее читайте в статье: Система баллов API Calltouch

Количество запросов в секунду к API Calltouch ограничено — не более 5 запросов в секунду с одного IP-адреса. Например, если в 1 секунду с одного IP-адреса поступит 11 API-запросов, то 5 выполнятся сразу, а остальные API-запросы завершатся с ошибкой c кодом 429 (Too Many Requests).


Не нашли решение проблемы?
Заполните форму, и мы вам поможем.