Arrow
Начало работы с Wazzup
Arrow
Как подключить мессенджер
Arrow
Как пользоваться чатами Wazzup
Arrow
Как оплатить
Arrow
Битрикс24
Arrow
Как подключить Wazzup
Arrow
Как переписываться
Arrow
Как настроить автоматизацию
Arrow
Сквозная аналитика
Arrow
Решение проблем
Arrow
amoCRM
Arrow
Как подключить Wazzup
Arrow
Как переписываться
Arrow
Как настроить автоматизацию
Arrow
Сквозная аналитика
Arrow
Решение проблем
Arrow
Другие CRM
Arrow
1С: УНФ
Arrow
HubSpot
Arrow
Zoho
Arrow
Pipedrive
Arrow
ПланФикс
Arrow
Еще CRM
Arrow
Как продавать еще удобнее
Arrow
Всё о WABA
Arrow
Для партнеров
Arrow
Публичное API
Для партнеров
Arrow

Упрощённая авторизация (для White Label)

Авторизация позволяет получить доступ к дочернему аккаунту, чтобы подключать каналы, отправлять сообщения и выполнять другие действия от имени клиента.

Используйте упрощённую авторизацию, если работаете по White Label, чтобы получить клиентские токены и работать от имени клиентов без участия пользователей.

Если работаете по Wazzup Label, получите пользовательские токены через OAuth

Суть упрощённой авторизации: партнёр получает служебный machine_token, а затем выполняет обмен (token‑exchange) на токены конкретной дочки.

Чтобы использовать упрощенную авторизацию для получения пользовательских токенов, дочерний аккаунт должен быть создан вами.

Для работы с описанными методами используйте Basic-авторизацию с вашими данными для входа в кабинет партнёра Wazzup: Authorization: Basic base64(email:password)

Шаг 1. Создайте аккаунт‑дочку

Создайте аккаунт-дочку методом POST /v2/accounts. После вы получите account_id клиента, который нужен для получения пользовательских токенов.

Сохраните полученный в ответе account_id дочки — он понадобится на шаге 3.

Шаг 2. Получите machine_token

machine_token нужен, чтобы обменять его на пользовательские токены на следующем шаге.

Метод: POST v2/oauth/token

Параметр. Обязательные отмечены * Тип  Описание 
grant_type* string Тип OAuth-гранта. Укажите client_credentials
client_credentials_data* object Данные, необходимые для client_credentials
client_credentials_data.scope* string Список разрешений, которые запрашиваете у пользователя → к каким действиям хотите получить доступ в аккаунте пользователя. Набор запрашиваемых scope, должен быть согласован с менеджером Wazzup

Пример запроса

curl -L 'https://tech.wazzup24.com/v2/oauth/token' \
-H 'Authorization: Basic base64(email:password)' \
-H 'Content-Type: application/json' \
-d '{
"grant_type": "client_credentials",
"client_credentials_data": {
"scope": "transport,crm"
}
}'

Пример ответа:

{
"data": {
"access_token": "eyJahkboGpppcilllO77iJ99IU12zI671NiIsInR5cCI6IkpXVCJ9.eyJ0eXBlIjozmYzItOThjYS1kY2VjOWVjNTZjMTciLCJpYXQiOjE3NjMwMjc4NzYsImV4cCI6MTc2MzA1NjY3NiwianRpIjoiNWY3OWY0ZDgtZjNlYy00M2VhLTgyYjctMGI4YzJiZmU5hIn0.l",
"token_type": "Bearer",
"expires_in": 28800
},
"meta": {
"timestamp": 1763027876
}
}

Результат: machine_token (в ответе находится в поле access_token), который поменяете на пользовательские токены на следующем шаге.

Храните machine_token в Secret Manager, хранилище, никогда не отправляйте на фронтенд.

Шаг 3. Обменяйте machine_token на токены пользователя

Метод: POST /v2/oauth/token

Параметр. Обязательные отмечены * Тип параметра Описание параметра
grant_type* string Укажите "urn:ietf:params:oauth:grant-type:token-exchange"
token_exchange_data* object Данные, необходимые для получения токенов
token_exchange_data.subject_token* string Полученный на шаге 2 machine_token (в ответе находится в поле access_token)
token_exchange_data.subject_token_type* string Укажите "urn:wazzup:oauth:token-type:machine_token"
token_exchange_data.requested_subject* string account_id клиента, который получили при создании дочернего аккаунта
token_exchange_data.scope* string Список разрешений, которые запрашиваете у пользователя → к каким действиям хотите получить доступ в аккаунте пользователя. Набор запрашиваемых scope, должен быть согласован с менеджером Wazzup

Пример запроса

curl -L 'https://tech.wazzup24.com/v2/oauth/token' \
-H 'Authorization: Basic base64(email:password)' \
-H 'Content-Type: application/json' \
-d '{
"grant_type": "urn:ietf:params:oauth:grant-type:token-exchange",
"token_exchange_data": {
"subject_token": "eyJahkboGpppcilllO77iJ99IU12zI671NiIsInR5cCI6IkpXVCJ9.eyJ0eXBlIjozmYzItOThjYS1kY2VjOWVjNTZjMTciLCJpYXQiOjE3NjMwMjc4NzYsImV4cCI6MTc2MzA1NjY3NiwianRpIjoiNWY3OWY0ZDgtZjNlYy00M2VhLTgyYjctMGI4YzJiZmU5hIn0.l",
"subject_token_type": "urn:wazzup:oauth:token-type:machine_token",
"requested_subject": "12345678",
"scope": "transport,crm"
}
}'

Пример ответа:

{
"data": {
"access_token": "eyJhbGciOi...",
"refresh_token": "def50200...",
"token_type": "Bearer",
"expires_in": 86400
},
"meta": {
"timestamp": 1759481962
}
}

Результат: у вас есть client_access_token (в ответе указан как access_token) клиента для вызовов API и refresh_token для продления.

Теперь вы можете добавлять каналы, отправлять сообщения и выполнять другие действия.

Все вызовы от лица клиента подписывайте заголовком: Authorization: Bearer <client_access_token>

Типовые ошибки

code Когда возникает Что делать
VALIDATION_FAILED Ошибка валидации входных данных Проверьте корректность передаваемых данных
OAUTH_INVALID_GRANT_TYPE Указан недопустимый тип grant Убедитесь, что значение grant_type указано корректно
OAUTH_REDIRECT_URI_INVALID Указан некорректный redirect_uri Используйте redirect_uri, согласованный с Wazzup
OAUTH_AUTHORIZATION_CODE_INVALID Недействительный код авторизации Запросите новый код авторизации — переданный истёк или не принадлежит вашему клиенту
OAUTH_CODE_CHALLENGE_METHOD_UNKNOWN Неизвестный метод PKCE (code_challenge_method) Используйте поддерживаемый метод PKCE (S256, PLAIN)
OAUTH_CODE_VERIFIER_INVALID Недействительный или отсутствующий code_verifier Проверьте корректность формирования и передачи code_verifier
OAUTH_REQUESTED_SUBJECT_MISMATCH Запрошенный subject не совпадает с ожидаемым Убедитесь, что используете корректный machine-токен
OAUTH_SUBJECT_TOKEN_TYPE_MISMATCH Несоответствие типа subject_token_type Проверьте правильность переданного типа subject_token_type
OAUTH_CLIENT_ID_MISMATCH Несовпадение client_id Убедитесь, что client_id передан правильно и принадлежит вашему приложению
OAUTH_REFRESH_TOKEN_INVALID_OR_EXPIRED Недействительный или просроченный refresh_token Повторите процесс авторизации, чтобы получить новую пару токенов
OAUTH_AUTHORIZATION_HEADER_INVALID Недействительный заголовок авторизации Проверьте правильность передачи токена в заголовке Authorization
OAUTH_INVALID_PARTNER_TOKEN Неверный или просроченный partner_token Уточните актуальность токена у менеджера или используйте действительный partner_token
OAUTH_TOKEN_INVALID_OR_EXPIRED Токен недействителен или истёк Выполните обновление токена или повторите процесс авторизации
OAUTH_TOKEN_UNKNOWN_OR_REVOKED Токен неизвестен или был отозван Повторите процесс авторизации или обновите токен
OAUTH_PARTNER_NOT_FOUND Партнёр не найден Уточните детали у менеджера Wazzup
OAUTH_PARTNER_NOT_ACTIVE Партнёр не активен Обратитесь к менеджеру для активации партнёра
OAUTH_CLIENT_NOT_CHILD_OF_PARTNER Клиент не является дочерним у партнёра Проверьте, что клиент действительно принадлежит вашему партнёрскому аккаунту
OAUTH_SCOPE_FORBIDDEN Запрошенный scope запрещён Согласуйте необходимые права (scope) с менеджером
OAUTH_MISSING_GRANT Клиент не предоставил доступы или аннулировал их Клиенту заново необходимо пройти oauth идентификацию

Что делать дальше

После авторизации: