Звонки
Завершить звонокbeta
Эта функция находится в закрытом тестировании. Обратитесь в техническую поддержку, чтобы запросить доступ для рабочего пространства.
В настоящее время поддерживаются только личные голосовые и видеозвонки WhatsApp. Используйте account_id и call_id. Если ID потерян, сначала запросите текущий звонок.
https://api.unifyport.ai/v1/calls/{call_id}/hangupПоддерживаемые каналы
Перед вызовом
Используйте X-Api-Key нужного рабочего пространства на сервере. Перед запуском замените все заполнители.
Проверьте доступ рабочего пространства к закрытому тестированию. Перед созданием звонка завершите авторизацию WhatsApp и проверьте runtime_status=running. Используйте conversation_id личного диалога этого аккаунта.
Откуда взять параметры
- account_id
- Возьмите data.id из создания или запроса аккаунта. Идентификатор относится к рабочему пространству X-Api-Key. Получить аккаунт
- call_id
- Используйте call_id из создания звонка или запроса текущего звонка этого аккаунта. Если ID потерян, запросите текущий звонок перед завершением. Текущий звонок
Параметры запроса
Заголовки
X-Api-KeyAPI-ключ рабочей области. Рабочая область определяется по этому заголовку.
Content-TypeИспользуйте application/json при отправке JSON-тела запроса.
Параметры пути
call_idИдентификатор для маршрута раздела calls.
maxLength: 128 · pattern: ^[A-Za-z0-9][A-Za-z0-9_-]*$
Тело запроса
account_idID аккаунта текущего рабочего пространства.
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Идентификатор звонка, также используется для завершения.
maxLength: 128
stateТекущее состояние звонка.
enum: ended, failed
directionНаправление звонка.
enum: inbound, outbound
media_typevoice — аудио, video — звонок с поддержкой видео.
enum: voice, video
Ответы
200200 · 200
Запрос выполнен. См. пример тела ответа.
400Bad Request
Тело запроса, путь или параметры некорректны.
401Unauthorized
Заголовок X-Api-Key отсутствует или недействителен.
403Forbidden
Запрос распознан, но операция запрещена.
404Not Found
Запрошенный ресурс не найден. Сверьте error.code с текущей операцией.
409Conflict
Запрошенная операция конфликтует с существующим аккаунтом провайдера или ресурсом.
500Internal Server Error
Сервис столкнулся с неожиданной ошибкой.
501Not Implemented
Выбранный провайдер не реализует эту операцию.
502Bad Gateway
Адаптер или вышестоящий провайдер не смог завершить операцию.
503Service 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. При конфликте создания сначала запросите текущий звонок. Перед повтором создания или завершения проверьте состояние звонка.