Справочник API

Авторизация аккаунта

Импортировать сессию

Завершает аутентификацию импортом существующей session URL или cookie/сессии. В клиентских примерах используйте плейсхолдеры и не пишите содержимое сессии в логи.

POSThttps://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-Key
stringобязательно

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

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

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

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

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

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

Тело запроса

session_url
string

URL или ссылка на существующий артефакт сессии провайдера.

format: uri

whatsapp-protocol
object

Учётные данные для импорта сессии 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
string

Телефон может содержать пробелы, дефисы, скобки или знак плюса; сервер нормализует его в строку с положительным числом.

minLength: 1

platform
integer

Значение платформы для импорта сессии WhatsApp Protocol (int32).

format: int32

app_version
string

Версия приложения для импорта сессии WhatsApp Protocol.

server_address
string

Адрес сервера провайдера для импорта сессии WhatsApp Protocol.

fallback_server_addresses[]
string[]

Список резервных адресов серверов для импорта сессии WhatsApp Protocol.

country
string

Код страны для импорта сессии WhatsApp Protocol.

device
integer

Значение устройства для импорта сессии WhatsApp Protocol (uint32).

format: uint32

static_pub_key
string

Открытый ключ протокола; только для записи.

minLength: 1

static_pri_key
string

Закрытый ключ протокола; только для записи.

minLength: 1

identity_pub_key
string

Открытый ключ идентификации; только для записи.

minLength: 1

identity_pri_key
string

Закрытый ключ идентификации; только для записи.

minLength: 1

hash
string

Устаревшее поле совместимости; значение игнорируется и не сохраняется. Рекомендуется опускать.

peer_kem_public
string

Открытый ключ KEM другой стороны; только для записи.

auth_hex_data
string

Текущие данные аутентификации в шестнадцатеричном виде; только для записи.

authhexdata
string

Устаревшее поле данных аутентификации в шестнадцатеричном виде; только для записи.

pq_handshake_mode
string

Режим рукопожатия PQ для импорта сессии WhatsApp Protocol.

use_xxkem_handshake
boolean

Использовать ли рукопожатие XXKEM для импорта сессии WhatsApp Protocol.

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

Прочитайте результат авторизации, затем проверьте runtime_status. Импорт сессии и активное соединение — разные этапы.

Ответ 200 OK

{
  "request_id": "<REQUEST_ID>",
  "data": {
    "account_id": "acc_example",
    "status": "authorized"
  }
}

Тело ответа

account_id
string

Аккаунт провайдера, к которому относится этот ответ.

status
string

Текущий статус потока авторизации, например pending_auth, awaiting_qr_scan, awaiting_code, pending, passkey_required, passkey_pending, passkey_confirmation, passkey_confirmation_sent, authorized или failed.

Ответы

200

200 OK

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

400

Bad Request

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

401

Unauthorized

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

409

Conflict

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

500

Internal Server Error

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

502

Bad 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
Проверьте обязательные поля, форматы и условия канала, затем исправьте запрос.