Звонки
Создать звонокbeta
Эта функция находится в закрытом тестировании. Обратитесь в техническую поддержку, чтобы запросить доступ для рабочего пространства.
В настоящее время поддерживаются только личные голосовые и видеозвонки WhatsApp. Подготовьте приватную одноразовую ссылку join_url. Откройте её и нажмите Start call, чтобы начать звонок.
https://api.unifyport.ai/v1/callsПоддерживаемые каналы
Перед вызовом
Используйте X-Api-Key нужного рабочего пространства на сервере. Перед запуском замените все заполнители.
Проверьте доступ рабочего пространства к закрытому тестированию. Перед созданием звонка завершите авторизацию WhatsApp и проверьте runtime_status=running. Используйте conversation_id личного диалога этого аккаунта.
Для звонка в браузере нужен доступ к микрофону; доступ к камере необязателен.
Откуда взять параметры
- account_id
- Возьмите data.id из создания или запроса аккаунта. Идентификатор относится к рабочему пространству X-Api-Key. Получить аккаунт
- to.id · to.type
- Передайте в to.id возвращённый API conversation_id целевого личного диалога этого аккаунта без изменений; задайте to.type=user. Не заменяйте его строкой номера телефона. Детали беседы
Параметры запроса
Заголовки
X-Api-KeyAPI-ключ рабочей области. Рабочая область определяется по этому заголовку.
Content-TypeИспользуйте application/json при отправке JSON-тела запроса.
Тело запроса
account_idID аккаунта текущего рабочего пространства.
pattern: ^acc_[A-Za-z0-9][A-Za-z0-9_-]*$
toobjectобязательноПолучатель индивидуального звонка.
toПолучатель индивидуального звонка.
idУкажите conversation_id целевого диалога текущего аккаунта, используя значение, возвращённое API, без изменений.
minLength: 1
typeПоддерживается только user; group/channel возвращают ошибку неподдерживаемого типа.
enum: user, group, channel
media_typevoice — аудио, video — звонок с поддержкой видео.
enum: voice, video
Как понять результат
201 со state=preparing подготавливает звонок, но ещё не вызывает получателя. Сохраните call_id, откройте конфиденциальный join_url и нажмите Start call до возвращённого expires_at. Подтвердите соединение по состоянию звонка или call.answered.
Примечания
Подготовка личного голосового или видеозвонка WhatsApp (media_type: voice/video). to.id — conversation_id, to.type — user. Номера телефонов строкой и групповые звонки не поддерживаются. Срок подготовки по умолчанию — 2 минуты с момента создания; точный срок указан в expires_at. До его истечения откройте join_url и нажмите Start call. Этот срок не ограничивает длительность соединённого звонка. Микрофон обязателен, камера — нет. Не публикуйте одноразовую ссылку.
Ответ 201 · 201
{
"request_id": "req_example",
"data": {
"call_id": "call_example",
"direction": "outbound",
"media_type": "video",
"state": "preparing",
"join_url": "https://calls.example.com/call/call_example#ticket=example-only",
"expires_at": "2026-09-07T12:02:00Z"
}
}
Тело ответа
call_idИдентификатор звонка, также используется для завершения.
directionНаправление звонка.
enum: outbound
media_typevoice — аудио, video — звонок с поддержкой видео.
enum: voice, video
stateТекущее состояние звонка.
enum: preparing
join_urlКраткосрочная одноразовая HTTPS-ссылка. Не публикуйте и не записывайте её в журнал.
format: uri
expires_atСрок подготовки в формате RFC3339.
format: date-time
Ответы
201201 · 201
Запрос выполнен. См. пример тела ответа.
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_already_active · 38000 · 409
- Запросите текущий звонок, чтобы получить call_id. Дождитесь его окончания или завершите его перед созданием нового.