Справочник API

Звонки

Завершить звонокbeta

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

В настоящее время поддерживаются только личные голосовые и видеозвонки WhatsApp. Используйте account_id и call_id. Если ID потерян, сначала запросите текущий звонок.

POSThttps://api.unifyport.ai/v1/calls/{call_id}/hangup

Поддерживаемые каналы

WhatsApp

Перед вызовом

Используйте X-Api-Key нужного рабочего пространства на сервере. Перед запуском замените все заполнители.

Проверьте доступ рабочего пространства к закрытому тестированию. Перед созданием звонка завершите авторизацию WhatsApp и проверьте runtime_status=running. Используйте conversation_id личного диалога этого аккаунта.

Откуда взять параметры
account_id
Возьмите data.id из создания или запроса аккаунта. Идентификатор относится к рабочему пространству X-Api-Key. Получить аккаунт
call_id
Используйте call_id из создания звонка или запроса текущего звонка этого аккаунта. Если ID потерян, запросите текущий звонок перед завершением. Текущий звонок

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

Заголовки

X-Api-Key
stringобязательно

API-ключ рабочей области. Рабочая область определяется по этому заголовку.

Content-Type
stringобязательно

Используйте application/json при отправке JSON-тела запроса.

Параметры пути

call_id
stringобязательно

Идентификатор для маршрута раздела calls.

maxLength: 128 · pattern: ^[A-Za-z0-9][A-Za-z0-9_-]*$

Тело запроса

account_id
stringобязательно

ID аккаунта текущего рабочего пространства.

pattern: ^acc_[A-Za-z0-9][A-Za-z0-9_-]*$

Как понять результат

Прочитайте возвращённые call_id и state. ended и failed — конечные состояния звонка; повторное завершение может вернуть уже существующее конечное состояние. HTTP 200 не обязательно означает state=ended; не повторяйте запрос автоматически только из-за state=failed.

Ответ 200 · 200

{
  "request_id": "req_example",
  "data": {
    "call_id": "call_example",
    "state": "ended",
    "direction": "outbound",
    "media_type": "voice"
  }
}

Тело ответа

call_id
string

Идентификатор звонка, также используется для завершения.

maxLength: 128

state
string

Текущее состояние звонка.

enum: ended, failed

direction
string

Направление звонка.

enum: inbound, outbound

media_type
string

voice — аудио, video — звонок с поддержкой видео.

enum: voice, video

Ответы

200

200 · 200

Запрос выполнен. См. пример тела ответа.

400

Bad Request

Тело запроса, путь или параметры некорректны.

401

Unauthorized

Заголовок X-Api-Key отсутствует или недействителен.

403

Forbidden

Запрос распознан, но операция запрещена.

404

Not Found

Запрошенный ресурс не найден. Сверьте error.code с текущей операцией.

409

Conflict

Запрошенная операция конфликтует с существующим аккаунтом провайдера или ресурсом.

500

Internal Server Error

Сервис столкнулся с неожиданной ошибкой.

501

Not Implemented

Выбранный провайдер не реализует эту операцию.

502

Bad Gateway

Адаптер или вышестоящий провайдер не смог завершить операцию.

503

Service Unavailable

Необходимая серверная служба временно недоступна.

При ошибке запроса

Проверьте HTTP-статус и error.code/numeric_code; сохраните request_id. Уточните доступ к тестированию, аккаунт и call_id. При конфликте создания сначала запросите текущий звонок. Перед повтором создания или завершения проверьте состояние звонка. Справочник ошибок

invalid_request · 10000 · 400
Проверьте обязательные поля, форматы и условия канала, затем исправьте запрос.
missing_api_key · 11000 · 401
Проверьте X-Api-Key и активность рабочего пространства.
invalid_api_key · 11001 · 401
Проверьте X-Api-Key и активность рабочего пространства.
account_not_found · 20020 · 404
Проверьте account_id и используйте X-Api-Key рабочего пространства владельца аккаунта. Текущий ключ не даёт доступа к аккаунту, которого нет в этом пространстве.
unsupported_by_provider · 30003 · 501
Проверьте руководство по возможностям канала и выберите поддерживаемый канал или действие. Повтор не добавляет поддержку.
beta_feature_not_enabled · 41002 · 403
Обратитесь в техническую поддержку за доступом рабочего пространства к закрытому тестированию. Повтор запроса или изменение is_beta в запросе не дают доступа.
call_not_found · 38003 · 404
Проверьте HTTP-статус и error.code/numeric_code; сохраните request_id. Уточните доступ к тестированию, аккаунт и call_id. При конфликте создания сначала запросите текущий звонок. Перед повтором создания или завершения проверьте состояние звонка.