Создать аккаунт
Создаёт аккаунт провайдера. auth_mode обязателен и принимает qrcode, code или session. Если комбинации provider + auth_mode нужен телефон, передайте provider_data.phone; значение сохраняется для следующих действий аутентификации.
https://api.unifyport.ai/v1/accountsЗаголовки
X-Api-KeyAPI-ключ рабочей области. Рабочая область определяется по этому заголовку.
Content-TypeИспользуйте application/json при отправке JSON-тела запроса.
Параметры пути
У этого эндпоинта нет параметров пути.
Тело запроса
nameПонятное человеку имя аккаунта.
providerКлиентский идентификатор провайдера: telegram, whatsapp, line, twitter, zalo или tiktok.
enum: telegram, whatsapp, line, twitter, zalo, tiktok, x, x_client, twitter_client
regionРегион провайдера, используемый для выделения. Выберите регион со значением allocatable: true из Список регионов провайдера.
minLength: 1
statusБизнес-состояние аккаунта, например active или inactive.
runtime_statusЗапрашиваемое состояние runtime, если провайдер позволяет менять его через настройки аккаунта.
enum: unknown, starting, running, stopping, stopped, reconnecting, disconnected, error
auth_modeОбязателен при создании аккаунта: qrcode, code или session.
enum: qrcode, code, session
capabilities[]В PATCH пропустите для сохранения, передайте [] для очистки; null недопустим.
metadataВ PATCH пропустите для сохранения, передайте {} для очистки; null недопустим.
provider_account_refИдентификатор аккаунта на стороне провайдера, обычно заполняемый после авторизации.
provider_dataВ PATCH пропустите для сохранения, передайте {} для очистки; null недопустим. Не логируйте секреты.
proxyНеобязательная конфигурация исходящего прокси для аккаунта.
Тело ответа
idУникальный идентификатор аккаунта (acc_...). Используйте его в маршрутах уровня аккаунта.
nameПонятное человеку имя аккаунта.
providerИдентификатор провайдера, например telegram, whatsapp, line, twitter, zalo или tiktok.
enum: telegram, whatsapp, line, twitter, zalo, tiktok
regionРегион провайдера, в котором выделен аккаунт.
statusСостояние жизненного цикла аккаунта, например active.
runtime_statusНормализованное состояние runtime: одно из unknown, starting, running, stopping, stopped, reconnecting, disconnected или error.
enum: unknown, starting, running, stopping, stopped, reconnecting, disconnected, error
auth_modeПоток аутентификации, используемый аккаунтом: code, qrcode или session.
capabilities[]Возможности, включённые для аккаунта, например send_message и receive_message.
metadataВаши собственные метки окружения, сохранённые в аккаунте.
provider_account_refИдентификатор на стороне провайдера, который можно привязать для сопоставления аккаунта с вашей собственной системой.
proxyНастройки исходящего прокси аккаунта, если они заданы.
provider_profileobjectПрофиль, сообщённый провайдером, например display_name. Не возвращается до аутентификации аккаунта.
provider_profileПрофиль, сообщённый провайдером, например display_name. Не возвращается до аутентификации аккаунта.
idНепрозрачный идентификатор аккаунта в подключённом канале. Для WhatsApp это может быть canonical LID без суффикса устройства.
phoneНормализованный телефон без пробелов, дефисов и начального плюса.
usernameИмя пользователя у провайдера, если доступно.
display_nameОтображаемое имя аккаунта; для WhatsApp оно формируется с приоритетом BusinessName и резервным переходом на PushName.
push_namePushName, сейчас заданный в аккаунте WhatsApp; другие провайдеры не определяют семантику этого поля.
business_nameWhatsApp BusinessName; поле отсутствует, если provider не возвращает значение.
first_nameИмя, сообщённое провайдером.
last_nameФамилия, сообщённая провайдером.
avatar_urlURL аватара аккаунта у провайдера.
bioОписание или статус аккаунта у провайдера.
platformИдентификатор платформы входа, который WhatsApp сообщает при сопряжении. Считайте его непрозрачной строкой и поддерживайте неизвестные значения; для других провайдеров смысл поля не определён. Это не поле device_platform.
Ответы
201Запрос выполнен. См. пример тела ответа.
400Тело запроса, путь или параметры некорректны.
401Заголовок X-Api-Key отсутствует или недействителен.
409Запрошенная операция конфликтует с существующим аккаунтом провайдера или ресурсом.
500Сервис столкнулся с неожиданной ошибкой.
503Необходимая серверная служба временно недоступна.
Запрос
curl -X POST https://api.unifyport.ai/v1/accounts \
-H "X-Api-Key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"name": "Telegram Production",
"provider": "telegram",
"region": "global",
"status": "active",
"auth_mode": "qrcode",
"capabilities": ["send_message", "receive_message"],
"provider_data": {},
"metadata": {
"env": "production"
},
"provider_account_ref": "provider-side-identifier"
}'Ответ
{
"data": {
"id": "acc_example",
"name": "Telegram Production",
"provider": "telegram",
"region": "global",
"status": "active",
"runtime_status": "stopped",
"auth_mode": "qrcode",
"capabilities": ["send_message", "receive_message"],
"provider_account_ref": "provider-side-identifier"
}
}