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

Изменить подключение

PATCH /v1/voximplant-sip/:configId

Меняет название, адрес SIP-сервера, логин или пароль SIP-подключения. Тело — плоский JSON-объект только с изменяемыми полями.

Параметры

Параметр Тип Обяз. Описание
configId (path) number да ID подключения. Список: GET /v1/voximplant-sip

Поля запроса (body)

Поле Тип Обяз. Описание
title string нет Новое название подключения
server string нет Новый адрес SIP-сервера
login string нет Новый логин на SIP-сервере
password string нет Новый пароль. В ответах не возвращается — вместо него приходит признак hasPassword
type string нет Текущий тип подключения: office или cloud. Другой тип не принимается — после создания тип не меняется

Передайте хотя бы одно поле, кроме type. Поля, которых нет в теле, не меняются. Все значения — строки, других полей тело не принимает.

Примеры

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/voximplant-sip/17" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Офисная АТС, второй этаж"}'

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/voximplant-sip/17" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Офисная АТС, второй этаж"}'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/voximplant-sip/17', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ title: 'Офисная АТС, второй этаж' }),
})

const { success, data } = await res.json()
if (success) {
  console.log('Новое название:', data.title)
}

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/voximplant-sip/17', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ title: 'Офисная АТС, второй этаж' }),
})

const { success, data } = await res.json()
if (success) {
  console.log('Новое название:', data.title)
}

Поля ответа

Ответ содержит подключение целиком, уже с изменениями. Пароли в ответ не попадают — вместо них приходят признаки hasPassword и hasIncomingPassword.

Поле Тип Описание
success boolean true при успехе
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 Только офисная АТС: задан ли пароль для входящих вызовов

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

JSON
{
  "success": true,
  "data": {
    "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": "Офисная АТС, второй этаж"
  }
}

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

400 — попытка сменить тип подключения:

JSON
{
  "success": false,
  "error": {
    "code": "READONLY_FIELD",
    "message": "Connection type cannot be changed"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS Тело запроса — не JSON-объект
400 INVALID_PARAMS В теле нет изменяемого поля, кроме type: тело пустое или содержит только type
400 INVALID_PARAMS type — не office и не cloud
400 INVALID_PARAMS Значение поля — не строка
400 INVALID_PARAMS configId — не целое положительное число
400 READONLY_FIELD type отличается от текущего типа подключения
400 READONLY_FIELD В теле есть поле, кроме type, title, server, login, password
404 ENTITY_NOT_FOUND Подключения с таким configId нет среди подключений, доступных ключу
422 BITRIX_ERROR Битрикс24 не подтвердил изменение, сообщение Bitrix24 did not confirm the update
422 BITRIX_ERROR Битрикс24 отклонил изменение, причина — в error.message
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Платформа не знает такой строки ключа: опечатка, обрезанное значение или удалённый ключ
401 TOKEN_MISSING У ключа нет доступа к порталу: у личного ключа нет вебхука портала, ключу приложения не передан Authorization: Bearer с токеном сессии
403 SCOPE_DENIED У ключа нет скоупа telephony
403 WRITE_BLOCKED_READONLY_KEY Ключ только для чтения — см. права доступа
403 BITRIX_ACCESS_DENIED Битрикс24 отказал в доступе — разбор причин
429 RATE_LIMITED Превышена частота запросов
429 QUEUE_OVERFLOW Очередь запросов к порталу переполнена, запрос отклонён без ожидания. Задержку подсказывает заголовок Retry-After
429 QUEUE_TIMEOUT Запрос не дождался очереди к порталу и не был отправлен в Битрикс24. Задержку подсказывает заголовок Retry-After
502 BITRIX_UNAVAILABLE Битрикс24 недоступен
503 BITRIX_TIMEOUT Битрикс24 не ответил вовремя

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

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

  • Изменить можно только подключение своего приложения. Метод находит подключение, только если оно создано тем же приложением Битрикс24, что и ключ: ключ приложения — подключения своего приложения, личный ключ — подключения, созданные через вебхуки портала. На configId подключения другого приложения метод отвечает 404 ENTITY_NOT_FOUND.

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