Авторизация аккаунта
Импортировать сессию
Завершает аутентификацию импортом существующей session URL или cookie/сессии. В клиентских примерах используйте плейсхолдеры и не пишите содержимое сессии в логи.
https://api.unifyport.ai/v1/accounts/{account_id}/auth/sessionПеред вызовом
Используйте X-Api-Key нужного рабочего пространства на сервере. Перед запуском замените все заполнители.
WhatsApp Protocol — отдельный канал с идентификатором provider=whatsapp-protocol. Сейчас поддерживается только импорт сессии (auth_mode=session): для авторизации аккаунта используются существующие данные сессии. Авторизация WhatsApp Protocol
Откуда взять параметры
- account_id
- Возьмите data.id из создания или запроса аккаунта. Идентификатор относится к рабочему пространству X-Api-Key. Получить аккаунт
Параметры запроса
Заголовки
X-Api-KeyAPI-ключ рабочей области. Рабочая область определяется по этому заголовку.
Content-TypeИспользуйте application/json при отправке JSON-тела запроса.
Параметры пути
account_idИдентификатор для маршрута раздела authentication.
Тело запроса
session_urlURL или ссылка на существующий артефакт сессии провайдера.
format: uri
whatsapp-protocolobjectУчётные данные для импорта сессии WhatsApp Protocol. Передаются только в /v1/accounts/{account_id}/auth/session в этом вложенном объекте, не через provider_data. При его указании обязательны phone, static_pub_key, static_pri_key, identity_pub_key и identity_pri_key. Ответы не возвращают ключи протокола или другие конфиденциальные учётные данные. phone используется для проверки согласованности личности; открытый и закрытый ключи протокола — только для запуска на стороне вышестоящего сервиса. Платформа подставляет фиксированное значение edge_routing; передавать его запрещено.
whatsapp-protocolУчётные данные для импорта сессии WhatsApp Protocol. Передаются только в /v1/accounts/{account_id}/auth/session в этом вложенном объекте, не через provider_data. При его указании обязательны phone, static_pub_key, static_pri_key, identity_pub_key и identity_pri_key. Ответы не возвращают ключи протокола или другие конфиденциальные учётные данные. phone используется для проверки согласованности личности; открытый и закрытый ключи протокола — только для запуска на стороне вышестоящего сервиса. Платформа подставляет фиксированное значение edge_routing; передавать его запрещено.
phoneТелефон может содержать пробелы, дефисы, скобки или знак плюса; сервер нормализует его в строку с положительным числом.
minLength: 1
platformЗначение платформы для импорта сессии WhatsApp Protocol (int32).
format: int32
app_versionВерсия приложения для импорта сессии WhatsApp Protocol.
server_addressАдрес сервера провайдера для импорта сессии WhatsApp Protocol.
fallback_server_addresses[]Список резервных адресов серверов для импорта сессии WhatsApp Protocol.
countryКод страны для импорта сессии WhatsApp Protocol.
deviceЗначение устройства для импорта сессии WhatsApp Protocol (uint32).
format: uint32
static_pub_keyОткрытый ключ протокола; только для записи.
minLength: 1
static_pri_keyЗакрытый ключ протокола; только для записи.
minLength: 1
identity_pub_keyОткрытый ключ идентификации; только для записи.
minLength: 1
identity_pri_keyЗакрытый ключ идентификации; только для записи.
minLength: 1
hashУстаревшее поле совместимости; значение игнорируется и не сохраняется. Рекомендуется опускать.
peer_kem_publicОткрытый ключ KEM другой стороны; только для записи.
auth_hex_dataТекущие данные аутентификации в шестнадцатеричном виде; только для записи.
authhexdataУстаревшее поле данных аутентификации в шестнадцатеричном виде; только для записи.
pq_handshake_modeРежим рукопожатия PQ для импорта сессии WhatsApp Protocol.
use_xxkem_handshakeИспользовать ли рукопожатие XXKEM для импорта сессии WhatsApp Protocol.
Как понять результат
Прочитайте результат авторизации, затем проверьте runtime_status. Импорт сессии и активное соединение — разные этапы.
Ответ 200 OK
{
"request_id": "<REQUEST_ID>",
"data": {
"account_id": "acc_example",
"status": "authorized"
}
}
Тело ответа
account_idАккаунт провайдера, к которому относится этот ответ.
statusТекущий статус потока авторизации, например pending_auth, awaiting_qr_scan, awaiting_code, pending, passkey_required, passkey_pending, passkey_confirmation, passkey_confirmation_sent, authorized или failed.
Ответы
200200 OK
Запрос выполнен. См. пример тела ответа.
400Bad Request
Тело запроса, путь или параметры некорректны.
401Unauthorized
Заголовок X-Api-Key отсутствует или недействителен.
409Conflict
Запрошенная операция конфликтует с существующим аккаунтом провайдера или ресурсом.
500Internal Server Error
Сервис столкнулся с неожиданной ошибкой.
502Bad Gateway
Адаптер или вышестоящий провайдер не смог завершить операцию.
При ошибке запроса
Проверьте HTTP и error.code/numeric_code, сохраните request_id. Исправьте параметры, завершите авторизацию или проверьте runtime. До повторной отправки или записи выясните результат предыдущей попытки. Справочник ошибок
- invalid_request · 10000 · 400
- Проверьте обязательные поля, форматы и условия канала, затем исправьте запрос.
- invalid_api_key · 11001 · 401
- Проверьте X-Api-Key и активность рабочего пространства.
- provider_invalid_request · 30001 · 400
- Проверьте обязательные поля, форматы и условия канала, затем исправьте запрос.