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

WAuth

Cистема вдохновлена OAuth2.0, но формально ей не является. Этот способ подключения должен использовать каждый партнер, который хочет опубликовать в нашем маркетплейсе свою интеграцию.

WAuth нужен, чтобы пользователь мог подключить интеграцию «по кнопке», а не возился с ключом API.

Как пользователь подключает интеграцию из нашего маркетплейса:

1. Пользователь выбирает CRM в маркетплейсе интеграций Wazzup.

2. Кликает «Подключить».

3. Пользователя редиректит в CRM.

4. Он авторизуется в CRM и подтверждает, что хочет подключить интеграцию.

5. Готово — пользователь подключил интеграцию между Wazzup и CRM.

Настройка WAuth

Когда все шаги по созданию интеграции выполнены, можно приступать к WAuth.

Этап 1. Вызовите POST v3/marketplace, чтобы передать значения полей:

Параметр Тип Описание
crmCode String Служит для внутренней идентификации CRM. Строка из латинских букв, цифр. Можно использовать дефис и нижнее подчеркивание. Уникальное в рамках Wazzup
authRedirectUri String Ссылка на аккаунт CRM. Адрес, на который будем редиректить клиента для подтверждения авторизации.

Если у каждого клиента уникальный адрес и редиректить на одну страницу нельзя — оставьте этот параметр пустым.

Тогда, когда клиент выберет CRM в Wazzup, мы попросим его указать ссылку самостоятельно

secret String Ключ (токен), который нужен при подтверждении установки интеграции. Участвует только в запросах «сервер — сервер», клиенту никогда не отсылается

Эти параметры будут использованы, когда ваш клиент выберет в маркетплейсе Wazzup CRM и нажмет «Подключить». В этот момент:

  • сгенерируется state, в котором будут закодированы crmCode и accountId;
  • в query string authRedirectUri добавляем state и переводим пользователя по этой ссылке. Если в параметре authRedirectUri пусто, попросим клиента самостоятельно указать его уникальную ссылку в CRM и перенаправим по указанной ссылке.

По ссылке клиент пройдет авторизацию на стороне CRM.

Этап 2. Если клиент смог авторизоваться, CRM должна сделать запрос:

POST https://api.wazzup24.com/v3/connect/

Метод имеет нестандартную авторизацию: определяем пользователя по свойству secret в теле запроса

В теле запроса должен быть JSON со значениями параметров:

Параметр Тип Описание
state String Сгенерированный и подписанный на стороне Wazzup ключ. Генерируем, когда пользователь выбрал CRM в маркетплейсе и жамкнул «Подключить»
secret String Ключ, введённый администратором маркетплейсной CRM
crmKey String Сгенерированный партнером ключ, по которому можно определить, к какому клиенту относятся вебхуки. Ключ будет приходить в заголовке { Authorization: «Bearer {wazzupKey}» } при отправке вебхуков
name String Название интеграции. Например, домен клиента в CRM. Будет указан в личном кабинете, когда клиент подключит интеграцию
Пример запроса
curl --location --request POST 'https://api.wazzup24.com/v3/connect' \
--header 'Content-Type: application/json' \
--data-raw '
{
"state": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2Vy....",
"secret": "61e5a375-1760-452f-ad73-5318844ffc4f",
"crmKey": "e0629e11-0f67-4567-92a9-2237e91ec1b9",
"name": "Any integration name"
}
'
Пример ответа
HTTP/1.1 200 OK
{
  "data": "1365e2e9119c4d889ca467cc4a9e6a48"
}

Если все настроено как надо, Wazzup получит запрос → сохранит crmKey → сгенерирует apiKey и отдает его в теле ответа.

После этого CRM загружает информацию о пользователях, сделках, контактах, воронках с этапами и устанавливает URL для вебхуков.

Готово — интеграция успешно подключена.

Как протестировать WAuth

Чтобы имитировать установку интеграции клиентом, вызовите:

POST https://api.wazzup24.com/v3/wauth

В теле запроса должен содержаться JSON со значениями следующих параметров:

Параметр

Обязательные отмечены *

Тип Описание
type* String crmCode, указанный в момент вызова POST /v3/marketplace
domain String Нужен, если параметр authRedirectUri оставили пустым, потому что у каждого клиента уникальная ссылка.

В параметр domain добавьте полную ссылку на аккаунт CRM: с протоколом и доменом. Например, https://accountcrm.ru

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

Публикация в маркетплейсе интеграций Wazzup

Когда настроите авторизацию с помощью WAuth, можно публиковать ее в маркетплейсе Wazzup.

1. Чтобы установить название CRM и логотип, вызовите:

PATCH https://api.wazzup24.com/v3/marketplace

В теле запроса должен содержаться JSON со значениями следующих параметров:

Параметр Тип Описание
crmName String Публичное название CRM, которое будет отображаться в ЛК Wazzup. Может содержать буквы, цифры и дефис.

Максимальная длина — 50 символов

logo Object Объект с данными логотипа.

Требования к лого:

  • прозрачный или белый фон,
  • формат svg,
  • без внутренних отступов в логотипе,
  • название компании на логотипе на английском языке.

Пример подходящего логотипа

logo.name String Название файла с логотипом
logo.content String base64-кодированный файл с логотипом
Пример запроса
fetch("https://api.wazzup24.com/v3/marketplace", {
  method: "PATCH",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer {apiKey}",
  },
  body: {
    crmName: "The Cool CRM",
    logo: {
      name: "the-cool-crm.svg",
      content: "YmFzZTY0LWVuY29kZWQtbG9nby1maWxlLWNvbnRlbnQK",
    }
  }
});

Метод может быть вызван, только когда интеграция еще не опубликована в маркетплейсе Wazzup. Если захотите изменить название CRM или логотип после публикации, то обратитесь в партнерский отдел: в WhatsApp или Telegram

2. Напишите в партнерку с просьбой опубликовать интеграцию. Контакты:

Мы проверим, что интеграция работает и подходит под наши требования. Если все ок — опубликуем. Если что-то не так — попросим доработать.

Загрузка новых параметров WAuth

Если надо обновить crmCode, authRedirectUri, secret, необходимо вызвать

POST https://api.wazzup24.com/v3/marketplace

В теле запроса должен быть JSON со значениями следующих параметров:

Параметр Тип Описание
crmCode String Строка из латинских букв, цифр (можно использовать дефис и нижнее подчеркивание). Служит для внутренней идентификации CRM. Уникальное в рамках Wazzup
authRedirectUri String Адрес страницы, на которую будет редиректить клиента для подтверждения авторизации
secret String Ключ (токен), который нужен при подтверждении установки интеграции. Участвует только в запросах «сервер — сервер», клиенту никогда не отсылается
Пример запроса
curl --location --request POST 'https://api.wazzup24.com/v3/marketplace' \
--header 'Authorization: Bearer 4a0с541451244aa9a281fba4716da40d' \
--header 'Content-Type: application/json' \
--data-raw '{
"crmCode": "BestCrmInTheWorld",
"secret": "our-secret",
"authRedirectUri": "http://redirect.uri"
}'