Для AI-агентов: markdown этой страницы — /docs-content/voximplant-sip/list.md индекс документации — /llms.txt

Список подключений

GET /v1/voximplant-sip

Возвращает SIP-подключения офисных и облачных АТС, доступные ключу, с фильтрацией, сортировкой и постраничным выводом.

Параметры

Параметр Тип Обяз. По умолч. Описание
filter (query) object нет — Фильтр по полям подключения из таблицы «Поля ответа», кроме hasPassword и hasIncomingPassword. Оператор ставится перед именем поля: >, >=, ! — не равно, % — подстрока.
Синтаксис фильтрации. Несколько значений одного поля — массивом, условия по разным полям объединяются через «И», filter[logic]=OR объединяет их через «ИЛИ». Пример: ?filter[type]=office, ?filter[configId][]=1&filter[configId][]=17
sort (query) string нет — Поле сортировки — любое поле, по которому работает filter. Передаётся только вместе с order
order (query) string нет — Направление сортировки: ASC или DESC, регистр не важен. Передаётся только вместе с sort
start (query) number нет 0 Сколько записей пропустить. Для следующей страницы передайте значение meta.next из предыдущего ответа

Других параметров запрос не принимает.

Примеры

curl — личный ключ

Terminal
curl "https://vibecode.bitrix24.tech/v1/voximplant-sip?sort=configId&order=ASC" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth-приложение

Terminal
curl "https://vibecode.bitrix24.tech/v1/voximplant-sip?sort=configId&order=ASC" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/voximplant-sip?sort=configId&order=ASC', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { data, meta } = await res.json()
for (const sip of data) {
  console.log(sip.configId, sip.type, sip.title, sip.server)
}
if (meta.next !== undefined) {
  console.log('Следующая страница: start =', meta.next)
}

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/voximplant-sip?sort=configId&order=ASC', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { data, meta } = await res.json()
for (const sip of data) {
  console.log(sip.configId, sip.type, sip.title, sip.server)
}
if (meta.next !== undefined) {
  console.log('Следующая страница: start =', meta.next)
}

Поля ответа

Пароли в ответ не попадают — вместо них приходят признаки hasPassword и hasIncomingPassword.

Поле Тип Описание
success boolean true при успехе
data array Подключения. Пустой массив, если под фильтр ничего не попало
data[].configId string ID подключения
data[].type string Тип АТС: office — офисная, cloud — облачная
data[].title string Название подключения
data[].server string Адрес SIP-сервера
data[].login string Логин на SIP-сервере
data[].hasPassword boolean Задан ли пароль подключения
data[].authUser string | null Имя пользователя для авторизации на SIP-сервере. null, если не задано
data[].outboundProxy string | null Адрес прокси-сервера для исходящих вызовов. null, если не задан
data[].detectLineNumber string Определять ли номер линии по SIP-заголовкам входящего вызова: N — не определять
data[].lineDetectHeaderOrder string SIP-заголовки, по которым определяется номер линии, в порядке проверки, например diversion;to
data[].registrationStatusCode string | null Код результата регистрации на SIP-сервере, например 502, когда сервер не найден
data[].registrationErrorMessage string | null Текст ошибки регистрации. null, если ошибки нет
data[].regId string Только облачная АТС: ID регистрации на SIP-сервере
data[].incomingServer string Только офисная АТС: адрес сервера для входящих вызовов, его выдаёт Битрикс24
data[].incomingLogin string Только офисная АТС: логин для входящих вызовов, его выдаёт Битрикс24
data[].hasIncomingPassword boolean Только офисная АТС: задан ли пароль для входящих вызовов
meta.total number Сколько подключений попало под фильтр. При пустой выборке meta приходит пустым объектом
meta.next number Значение start для следующей страницы. Приходит, только когда следующая страница есть

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

JSON
{
  "success": true,
  "data": [
    {
      "type": "cloud",
      "configId": "1",
      "regId": "133788",
      "server": "pbx.example.com",
      "login": "cloud-line",
      "hasPassword": true,
      "authUser": "cloud-user",
      "outboundProxy": "proxy.example.com",
      "detectLineNumber": "N",
      "lineDetectHeaderOrder": "diversion;to",
      "registrationStatusCode": "502",
      "registrationErrorMessage": "Unable to resolve hostname",
      "title": "Облачная АТС"
    },
    {
      "type": "office",
      "configId": "17",
      "server": "sip.example.com",
      "login": "office-line",
      "hasPassword": true,
      "incomingServer": "ip.b24-1234-1234567890.bitrixphone.com",
      "incomingLogin": "sip17",
      "hasIncomingPassword": true,
      "authUser": null,
      "outboundProxy": null,
      "detectLineNumber": "N",
      "lineDetectHeaderOrder": "diversion;to",
      "registrationStatusCode": "0",
      "registrationErrorMessage": null,
      "title": "Офисная АТС"
    }
  ],
  "meta": {
    "total": 2
  }
}

Пример ответа при ошибке

400 — фильтр по полю пароля:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "filter may use only noncredential SIP fields and logical groups"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS Передан параметр, кроме filter, sort, order, start
400 INVALID_PARAMS filter — не объект, содержит поле пароля, путь через точку или поле, которого нет в ответе
400 INVALID_PARAMS sort и order переданы не вместе, или order — не ASC и не DESC
400 INVALID_PARAMS sort называет поле пароля или поле, которого нет в ответе
400 INVALID_PARAMS start — не целое неотрицательное число
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Платформа не знает такой строки ключа: опечатка, обрезанное значение или удалённый ключ
401 TOKEN_MISSING У ключа нет доступа к порталу: у личного ключа нет вебхука портала, ключу приложения не передан Authorization: Bearer с токеном сессии
403 SCOPE_DENIED У ключа нет скоупа telephony
403 BITRIX_ACCESS_DENIED Битрикс24 отказал в доступе — разбор причин
422 BITRIX_ERROR Битрикс24 отклонил запрос, причина — в error.message
429 RATE_LIMITED Превышена частота запросов
429 QUEUE_OVERFLOW Очередь запросов к порталу переполнена, запрос отклонён без ожидания. Задержку подсказывает заголовок Retry-After
429 QUEUE_TIMEOUT Запрос не дождался очереди к порталу и не был отправлен в Битрикс24. Задержку подсказывает заголовок Retry-After
502 BITRIX_UNAVAILABLE Битрикс24 недоступен
503 BITRIX_TIMEOUT Битрикс24 не ответил вовремя

Полный список общих ошибок API — Ошибки.

Известные особенности

  • Видны только подключения своего приложения. Список содержит подключения, созданные тем же приложением Битрикс24, что и ключ: ключ приложения видит подключения своего приложения, личный ключ — подключения, созданные через вебхуки портала. Подключения других приложений в список не попадают.
  • Имена полей в верхнем регистре. filter и sort принимают имена полей и в верхнем регистре с подчёркиванием: filter[CONFIG_ID]=1, sort=CONFIG_ID.

Смотрите также