Справочник API

Звонки

Текущий звонокbeta

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

В настоящее время поддерживаются только личные голосовые и видеозвонки WhatsApp. Возвращает звонок, управляемый нашей системой, или data: {}. Не определяет занятость аккаунта или собеседника в мобильном WhatsApp.

GEThttps://api.unifyport.ai/v1/calls/active

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

WhatsApp

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

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

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

Откуда взять параметры
account_id
Возьмите data.id из создания или запроса аккаунта. Идентификатор относится к рабочему пространству X-Api-Key. Получить аккаунт

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

Заголовки

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

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

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

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

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

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

Тело запроса

Этот эндпоинт не требует JSON-тела запроса.

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

Прочитайте call_id/state текущего звонка, управляемого UnifyPort. data={} означает отсутствие такого звонка, но не определяет, занята или свободна любая сторона в мобильном WhatsApp.

Ответ 200 · active

{
  "request_id": "req_example",
  "data": {
    "call_id": "call_example",
    "state": "active",
    "direction": "inbound",
    "media_type": "voice"
  }
}

Ответ 200 · idle

{
  "request_id": "req_example",
  "data": {}
}

Тело ответа

call_id
string

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

maxLength: 128

state
string

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

enum: preparing, dialing, ringing, connecting, active

direction
string

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

enum: inbound, outbound

media_type
string

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

enum: voice, video

Ответы

200

200 · active

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

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 в запросе не дают доступа.