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
Как продавать еще удобнее
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
POST/v2/oauth/token
│
├── grant_type *
│
└── token_exchange_data *
  ├── subject_token *
  ├── subject_token_type *
  ├── requested_subject *
  └── scope *
Параметр. Обязательные отмечены * Тип параметра Описание параметра
grant_type* string Укажите "urn:ietf:params:oauth:grant-type:token-exchange"
token_exchange_data* object token_exchange_data Данные, необходимые для получения токенов

token_exchange_data (объект)

Параметр. Обязательные отмечены * Тип параметра Описание параметра
subject_token* string Полученный на шаге 2 machine_token (в ответе находится в поле access_token)
subject_token_type* string Укажите "urn:wazzup:oauth:token-type:machine_token"
requested_subject* string account_id клиента, который получили при создании дочернего аккаунта
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 идентификацию

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

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