Каналы
Авторизация WhatsApp Protocol
WhatsApp Protocol — отдельный канал с идентификатором provider=whatsapp-protocol. Сейчас поддерживается только импорт сессии (auth_mode=session): для авторизации аккаунта используются существующие данные сессии.
Начало работы
- 1
Список регионов провайдера
Запросите регионы whatsapp-protocol и выберите регион с allocatable=true. Если таких регионов нет, создать аккаунт в этих регионах пока нельзя.
Список регионов провайдераcurl -X GET "https://api.unifyport.ai/v1/providers/whatsapp-protocol/regions" \ -H "X-Api-Key: <YOUR_API_KEY>" - 2
Создать аккаунт
Создайте аккаунт с provider=whatsapp-protocol и auth_mode=session. Сохраните data.id как account_id. Передавайте данные протокола только в /auth/session, не в provider_data.
Создать аккаунтcurl -X POST "https://api.unifyport.ai/v1/accounts" \ -H "X-Api-Key: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "name": "WhatsApp Protocol", "provider": "whatsapp-protocol", "region": "<REGION>", "auth_mode": "session" }' - 3
Импортировать сессию
Передайте объект whatsapp-protocol ниже. Для этого сценария обязательны phone и четыре поля ключей. Ключи доступны только для записи и не возвращаются. Исключите устаревшие поля и edge_routing.
Импортировать сессиюcurl -X POST "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/auth/session" \ -H "X-Api-Key: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "whatsapp-protocol": { "phone": "8600000000000", "static_pub_key": "<STATIC_PUBLIC_KEY>", "static_pri_key": "<STATIC_PRIVATE_KEY>", "identity_pub_key": "<IDENTITY_PUBLIC_KEY>", "identity_pri_key": "<IDENTITY_PRIVATE_KEY>" } }' - 4
Проверьте готовность аккаунта
После импорта проверьте авторизацию и runtime для account_id. authorized не означает установленное соединение. Если аккаунт вне сети, обновите runtime перед отправкой.
Обновить состояние runtimecurl -X GET "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/auth" \ -H "X-Api-Key: <YOUR_API_KEY>" curl -X POST "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/runtime/refresh" \ -H "X-Api-Key: <YOUR_API_KEY>"
Примечания
- Поддерживаются text, image и сведения о контакте. Нет цитатных ответов, mentions, списка/изменения контактов, диалогов и групп. Отображаются текстовые/графические message.received, account.started, account.status.updated и account.auth.failed; доставка зависит от исходного аккаунта.
- Для сведений о контакте нужен существующий LID (xxx@lid). Используйте data.sender.id или data.conversation.id только с окончанием @lid. Protocol не предоставляет список контактов, а этот API не вычисляет LID по номеру телефона. Без LID выполнить запрос нельзя. Успешный ответ может не содержать часть профиля.