Это пошаговое руководство по интеграции от Whapi.Cloud, провайдера WhatsApp Business API, предназначено для разработчиков Node.js и Python, а также технических менеджеров бразильских магазинов на Yampi, которые хотят добавить уведомления о заказах через WhatsApp без подписки на коннекторы. У Yampi нет встроенного канала уведомлений WhatsApp. Чтобы добавить его, укажите вебхуки Yampi на сервер, который вызывает REST API Whapi.Cloud: один HTTP POST к /messages/text отправляет сообщение на WhatsApp покупателя менее чем за секунду. Руководство охватывает валидацию подписи HMAC-SHA256, все шесть типов вебхук-событий Yampi, рабочий код на Node.js/Express и Python/Flask, вариант без кода через Make, n8n и Zapier, а также сравнение с закрытыми платформами, включая NI, Pluga и Interakt. Оно не затрагивает WhatsApp Flows, подключение к Meta Cloud API и настройку WABA.
TL;DR: что вы получите из этого руководства
- Полные обработчики вебхуков на Node.js и Python с валидацией HMAC-SHA256
- Все 6 вебхук-событий Yampi, привязанных к шаблонам сообщений WhatsApp
- Один HTTP POST к
/messages/textотправляет сообщение в WhatsApp без платы за коннектор - Вариант без кода через Make, n8n или Zapier для нетехнических специалистов
- Сравнение REST API с закрытыми платформами (NI, Pluga, Interakt) по 8 критериям
- Требования к opt-in по LGPD и формат телефона E.164
Есть ли у Yampi нативная интеграция с WhatsApp?
Нет — и это застаёт врасплох многих владельцев магазинов на Yampi. Yampi — надёжная бразильская e-commerce платформа с системой вебхуков, но встроенного канала уведомлений WhatsApp в ней нет.
Инструменты-коннекторы, такие как Pluga и NI, частично закрывают этот пробел, однако берут плату за каждое сообщение или ограничивают вас фиксированным набором шаблонов — при сколько-нибудь значительном объёме заказов кампании по возврату брошенных корзин быстро становятся нерентабельными.
Прямой путь — система вебхуков Yampi плюс REST API Whapi.Cloud. При каждом значимом событии заказа Yampi отправляет HTTP POST на ваш сервер. Сервер проверяет запрос, считывает payload и отправляет один HTTP POST на endpoint /messages/text Whapi.Cloud. Покупатель получает сообщение в WhatsApp менее чем за секунду. Никаких подписок на посредников, никакой платы за сообщение, никакой привязки к вендору.
Почему открываемость имеет значение: Автоматизация через WhatsApp обеспечивает около 98% открываемости против 20–25% у email. Для бразильского магазина, отправляющего 500 уведомлений о заказах в день, это примерно на 390 прочитанных сообщений в день больше, чем у email — конкретная разница в удовлетворённости покупателей и частоте повторных покупок.
Whapi.Cloud — провайдер WhatsApp Business API, подключающийся через web-session сокеты — тот же механизм, что использует WhatsApp Web. Бразильские разработчики и агентства выбирают его именно потому, что плата за сообщение отсутствует, а интеграция работает с уже существующим номером WhatsApp.
Почему WhatsApp для вашего магазина на Yampi?
Бразилия лидирует по проникновению WhatsApp среди крупных e-commerce рынков. Более 99% пользователей смартфонов имеют его установленным. Почтовые ящики конкурируют за внимание с сотнями писем в день; переписка в WhatsApp воспринимается как личная и мгновенная.
| Канал | Открываемость | Процент ответов | Типичная модель стоимости |
|---|---|---|---|
| WhatsApp (автоматизированный) | ~98% | 40–60% | Фиксированная ежемесячная (Whapi.Cloud) |
| 20–25% | 2–5% | За отправку или фиксированная | |
| SMS | 75–85% | 15–25% | За сообщение |
| Push-уведомление | 10–15% | 1–3% | Фиксированная ежемесячная |
Для возврата брошенных корзин математика ROI однозначна: напоминание о корзине через WhatsApp доходит почти до каждого покупателя; то же сообщение по email — до одного из пяти. При любом реальном объёме заказов разница в выручке окупает затраты на интеграцию в первую же неделю.
Автоматизация Yampi → WhatsApp охватывает шесть этапов жизненного цикла: подтверждение заказа, возврат при неудавшейся оплате, обновления доставки, подтверждение получения, запрос отзыва и апселл. Каждый этап соответствует отдельному вебхук-событию Yampi — все обрабатываются из единого endpoint сервера.
Как работает интеграция
Архитектура состоит из трёх компонентов: система вебхуков Yampi, ваш сервер (или инструмент без кода) и REST API Whapi.Cloud. Платформы-посредники не нужны.
Вот поток «событие → реакция»:
- Yampi отправляет вебхук. Когда покупатель оплачивает заказ, бросает корзину или статус заказа меняется, Yampi отправляет HTTP POST на ваш настроенный URL вебхука с JSON-payload и заголовком подписи HMAC-SHA256.
- Ваш сервер проверяет подпись. Каждый вебхук Yampi содержит подпись HMAC-SHA256 в заголовке
x-yampi-hmac-sha256. Проверяйте её на сервере до обработки. Если пропустить этот шаг, поддельные запросы могут отправлять сообщения случайным покупателям. - Ваш сервер считывает тип события и payload. Поле
eventопределяет триггер. Объектresourceсодержит телефон, имя клиента, номер заказа и данные конкретного события. - Ваш сервер отправляет один HTTP POST к Whapi.Cloud: единственный POST на
https://gate.whapi.cloud/messages/textс номером телефона в формате E.164 и текстом сообщения. Whapi.Cloud доставляет сообщение на WhatsApp покупателя менее чем за секунду. - Yampi получает 200 OK. Отвечайте немедленно, а затем обрабатывайте payload асинхронно, чтобы избежать таймаутов.
Формат E.164 обязателен. Whapi.Cloud требует номера телефонов в формате E.164. Для Бразилии: +5511999998888. Отсутствующий код страны молча нарушает доставку сообщений без каких-либо ошибок на стороне Yampi. Всегда нормализуйте номер телефона из payload Yampi перед отправкой.
Полный справочник вебхук-событий Yampi
Yampi предоставляет шесть вебхук-событий, охватывающих полный жизненный цикл заказа. Каждое имеет чёткий триггер, предсказуемую структуру payload и подходящее сообщение WhatsApp.
| Событие | Когда срабатывает | Ключевые поля payload | Рекомендуемый шаблон WhatsApp |
|---|---|---|---|
order.created |
Покупатель оформляет заказ (до оплаты) | number, customer.phone, customer.name, checkout_url |
«Привет, [name]! Заказ #[id] получен. Завершите оплату для подтверждения: [link]» |
order.paid |
Оплата подтверждена, срабатывает мгновенно | number, customer.phone, customer.name, total |
«Привет, [name]! ✅ Заказ #[id] подтверждён. Уже готовим. Спасибо за покупку!» |
order.status.updated |
Статус заказа изменился (например, отправлен, доставлен) | number, status, customer.phone, tracking_url |
«Привет, [name]! Заказ #[id]: [status]. Отследите здесь: [link]» |
transaction.payment.refused |
Попытка оплаты отклонена | number, customer.phone, checkout_url, reason |
«Привет, [name], оплата заказа #[id] отклонена. Попробуйте снова: [link]» |
cart.reminder |
Покупатель бросил корзину (настраиваемая задержка) | customer.phone, customer.name, checkout_url, items |
«Привет, [name]! В корзине остались товары 🛒 Завершите заказ: [link]» |
order.cancellation |
Заказ отменён (магазином или покупателем) | number, customer.phone, reason |
«Привет, [name], заказ #[id] отменён. Напишите, если нужна помощь.» |
Отдайте приоритет order.paid — он срабатывает в момент подтверждения оплаты. Отправьте подтверждение через WhatsApp немедленно, пока покупатель ещё активен. Это касание генерирует больше доверия и снижает число обращений в поддержку больше, чем любое другое событие в списке.
Пошаговое руководство по интеграции
Этот раздел проведёт вас от нуля до работающего сервера вебхуков примерно за два часа. Версия на Node.js является основной; эквивалент на Python следует в шаге 5.
Шаг 1: Предварительные требования
Прежде чем писать первую строку кода, вам потребуется:
- Магазин на Yampi с доступом к вебхукам (доступно на платных тарифах)
- Аккаунт Whapi.Cloud: зарегистрируйтесь в бесплатной песочнице (позволяет отправлять тестовые сообщения без продакшн-номера)
- Токен канала Whapi.Cloud (из панели управления после создания канала)
- Публично доступный HTTPS-URL для вашего вебхука (используйте ngrok для локального тестирования; рассматривается в шаге 6)
- Node.js 18+ или Python 3.9+ установлен
Шаг 2: Настройка вебхука в панели Yampi
- Войдите в панель администратора Yampi и перейдите в Настройки → Вебхуки
- Нажмите Добавить вебхук и введите URL вашего сервера (например
https://yourdomain.com/webhook/yampi) - Выберите нужные события:
order.created,order.paid,order.status.updated,transaction.payment.refused,cart.reminder,order.cancellation - Скопируйте секрет, сгенерированный Yampi. Немедленно сохраните его как
YAMPI_WEBHOOK_SECRETв файл.envдля HMAC-валидации. - Сохраните вебхук. Yampi отправит тестовый пинг на ваш URL. Сервер должен вернуть 200 OK.
Шаг 3: Сервер вебхуков на Node.js с валидацией HMAC-SHA256
Это полный, готовый к продакшну сервер. Сначала установите зависимости: npm install express axios dotenv.
// .env: YAMPI_WEBHOOK_SECRET, WHAPI_TOKEN, PORT
require('dotenv').config();
const express = require('express');
const crypto = require('crypto');
const axios = require('axios');
const app = express();
// Capture raw body for HMAC verification
app.use(express.json({
verify: (req, res, buf) => { req.rawBody = buf; }
}));
const WHAPI_BASE = 'https://gate.whapi.cloud';
// Normalize Brazilian phone to E.164: +5511999998888
function toE164(phone) {
const digits = phone.replace(/\D/g, '');
return digits.startsWith('55') ? `+${digits}` : `+55${digits}`;
}
// Send a WhatsApp text message via Whapi.Cloud
async function sendWhatsApp(phone, text) {
const to = toE164(phone); // E.164 required — e.g. +5511999998888
await axios.post(`${WHAPI_BASE}/messages/text`, { to, body: text }, {
headers: { Authorization: `Bearer ${process.env.WHAPI_TOKEN}` }
});
}
// Yampi webhook: validate HMAC-SHA256 signature, then route event
app.post('/webhook/yampi', (req, res) => {
const sig = req.headers['x-yampi-hmac-sha256'];
const expected = crypto
.createHmac('sha256', process.env.YAMPI_WEBHOOK_SECRET)
.update(req.rawBody)
.digest('base64');
if (!crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected))) {
return res.status(401).send('Invalid signature');
}
res.status(200).send('OK'); // Acknowledge immediately
const { event, resource } = req.body;
const phone = resource?.customer?.phone;
const name = resource?.customer?.name?.split(' ')[0] || 'there';
const orderId = resource?.number;
switch (event) {
case 'order.paid':
sendWhatsApp(phone,
`Hi ${name}! ✅ Order #${orderId} confirmed. We're preparing it now. Thanks for shopping with us!`);
break;
case 'order.created':
sendWhatsApp(phone,
`Hi ${name}! We received order #${orderId}. Complete payment to confirm. Questions? Reply here.`);
break;
case 'order.status.updated':
sendWhatsApp(phone,
`Hi ${name}! Order #${orderId} status updated: ${resource?.status}. Track it in your email.`);
break;
case 'transaction.payment.refused':
sendWhatsApp(phone,
`Hi ${name}, your payment for order #${orderId} was declined. Try again: ${resource?.checkout_url}`);
break;
case 'cart.reminder':
sendWhatsApp(phone,
`Hi ${name}! You left items in your cart 🛒 Complete your order: ${resource?.checkout_url}`);
break;
case 'order.cancellation':
sendWhatsApp(phone,
`Hi ${name}, order #${orderId} was cancelled. Need help? Reply and we'll sort it out.`);
break;
}
});
app.listen(process.env.PORT || 3000, () => console.log('Webhook server running'));
Важно: необработанное тело для HMAC. Валидация HMAC-SHA256 требует точных необработанных байт, отправленных Yampi, а не распарсенного JSON-объекта. Коллбэк verify в express.json() захватывает необработанный буфер до его парсинга Express. Если вместо этого пересериализовать распарсенное тело, подпись никогда не совпадёт.
Шаг 4: Отправка WhatsApp через Whapi.Cloud /messages/text
Функция sendWhatsApp делает только одно: POST на https://gate.whapi.cloud/messages/text с тремя полями:
to: телефон в формате E.164 (например+5511999998888); отсутствующий код страны молча нарушает доставкуbody: текст сообщенияAuthorization: Bearer YOUR_TOKEN: токен канала Whapi.Cloud в заголовке
Whapi.Cloud даёт магазинам на Yampi полный контроль над сообщениями и фиксированную ежемесячную цену за канал. Нет платы за сообщение, нет процесса согласования шаблонов, нет привязки к вендору — в отличие от NI, Pluga и Interakt, которые берут плату за доставку или ограничивают вас предустановленными шаблонами.
Шаг 5: Эквивалент на Python
Установите зависимости: pip install flask requests. Логика идентична: проверить подпись, маршрутизировать событие, отправить сообщение.
import os, hmac, hashlib, base64, requests
from flask import Flask, request, abort
app = Flask(__name__)
WHAPI_TOKEN = os.getenv('WHAPI_TOKEN')
WEBHOOK_SECRET = os.getenv('YAMPI_WEBHOOK_SECRET')
def to_e164(phone):
digits = ''.join(filter(str.isdigit, phone))
return f"+{digits}" if digits.startswith('55') else f"+55{digits}"
def send_whatsapp(phone, text):
# to must be E.164 format: +5511999998888
requests.post('https://gate.whapi.cloud/messages/text',
json={'to': to_e164(phone), 'body': text},
headers={'Authorization': f'Bearer {WHAPI_TOKEN}'})
@app.route('/webhook/yampi', methods=['POST'])
def yampi_webhook():
sig = request.headers.get('X-Yampi-Hmac-Sha256', '')
expected = hmac.new(WEBHOOK_SECRET.encode(), request.get_data(), hashlib.sha256).digest()
if not hmac.compare_digest(sig, base64.b64encode(expected).decode()):
abort(401)
data = request.json
event = data.get('event')
res = data.get('resource', {})
phone = res.get('customer', {}).get('phone', '')
name = res.get('customer', {}).get('name', 'there').split()[0]
order_id = res.get('number', '')
msgs = {
'order.paid': f"Hi {name}! ✅ Order #{order_id} confirmed. We're on it!",
'order.created': f"Hi {name}! Order #{order_id} received. Complete payment to confirm.",
'order.status.updated': f"Hi {name}! Order #{order_id} status: {res.get('status')}",
'transaction.payment.refused':f"Hi {name}, payment declined for #{order_id}. Retry: {res.get('checkout_url')}",
'cart.reminder': f"Hi {name}! Your cart is waiting 🛒 {res.get('checkout_url')}",
'order.cancellation': f"Hi {name}, order #{order_id} cancelled. Reply if you need help.",
}
if event in msgs:
send_whatsapp(phone, msgs[event])
return 'OK', 200
if __name__ == '__main__':
app.run(port=int(os.getenv('PORT', 3000)))
Шаг 6: Тестирование с ngrok и развёртывание в продакшн
Для локальной разработки откройте сервер через ngrok:
npx ngrok http 3000
Скопируйте сгенерированный HTTPS-URL (например https://abc123.ngrok.io) и вставьте в настройки вебхука Yampi. Создайте тестовый заказ в режиме sandbox Yampi. Вы должны увидеть, как вебхук приходит на сервер, а сообщение WhatsApp появляется на тестовом номере.
Для продакшна используйте любой Node.js или Python хост с HTTPS: Railway, Render, Fly.io, VPS с nginx или serverless-функцию (Vercel, AWS Lambda). Обязательное требование — публично доступный HTTPS-endpoint, возвращающий 200 в рамках таймаута Yampi.
Вариант без кода: Make и n8n
Сервер не нужен. Make (бывший Integromat) и n8n соединяют вебхуки Yampi с Whapi.Cloud без кода. Настройка занимает 30–60 минут и не требует хостинга.
Паттерн в обоих инструментах одинаковый: триггер Webhook получает событие Yampi, вы маршрутизируете по полю event, затем HTTP POST модуль отправляет на https://gate.whapi.cloud/messages/text с вашим Bearer-токеном. Нормализация телефона в формат E.164 происходит на промежуточном шаге.
Make (бывший Integromat)
- Добавьте триггер Webhooks → Custom Webhook. Скопируйте URL в настройки вебхука Yampi.
- Добавьте модуль Router с фильтром по типу события (
event = order.paidи т.д.). - После каждого фильтра добавьте модуль HTTP → Make a Request: POST на
https://gate.whapi.cloud/messages/text, JSON-тело{"to": "{{phone}}", "body": "{{message}}"}, заголовок авторизации с вашим токеном Whapi.Cloud. - Используйте текстовые функции Make для нормализации телефона в E.164. Смотрите руководство по интеграции Make на сайте Whapi.Cloud для пошаговых инструкций.
n8n
- Добавьте триггерную ноду Webhook. Укажите путь
/yampiи вставьте URL в Yampi. - Добавьте ноду Switch, маршрутизируя по
{{ $json.event }}. - Для каждой ветки добавьте ноду HTTP Request: POST на
https://gate.whapi.cloud/messages/text, JSON-тело сtoиbody, заголовок Bearer-токена. Смотрите руководство по интеграции n8n на сайте Whapi.Cloud для полных деталей настройки.
Пользователи Zapier могут воспроизвести тот же поток с триггером Webhooks by Zapier и POST-действием, направленным на endpoint /messages/text Whapi.Cloud.
Компромисс реален: Make и n8n добавляют расходы на подписку и вводят лимиты операций рабочего процесса. При более чем 1000 заказов в день эти лимиты создают трение и обходятся дороже, чем прямое использование REST API.
Реальные кейсы магазинов на Yampi
Следующие паттерны взяты из магазинов на Yampi, использующих Whapi.Cloud в продакшне. Цифры предоставлены самими магазинами.
Возврат брошенной корзины с cart.reminder
Бразильский магазин модных аксессуаров настроил вебхук cart.reminder на срабатывание через 45 минут после брошения корзины. Сообщение включает ссылку на корзину и имя покупателя. Конверсия по возвращённым корзинам: 18% — против 4% при отправке того же сообщения по email. Сообщение WhatsApp читают; email игнорируют или фильтруют. Магазин возвращает примерно 140 дополнительных заказов в месяц с этой одной автоматизацией, без платы за сообщение на фиксированном тарифе Whapi.Cloud.
Возврат при отклонённой оплате с transaction.payment.refused
Отказ в оплате — момент высокой вовлечённости: покупатель хотел купить, но что-то пошло не так технически. Магазин электроники на Yampi мгновенно отправляет WhatsApp по событию transaction.payment.refused со ссылкой для повторной попытки и предложением помощи в чате. 31% покупателей с отклонённой оплатой завершают покупку в течение 10 минут после получения сообщения. Email-follow-up того же магазина по тому же событию конвертирует в 6%.
Полный жизненный цикл в магазине моды из Сан-Паулу
Магазин моды среднего размера в Сан-Паулу пропускает все шесть вебхук-событий через единый канал Whapi.Cloud: заказ создан → запрос оплаты; заказ оплачен → подтверждение с ориентировочной датой отправки; статус обновлён (отправлен) → ссылка отслеживания; статус обновлён (доставлен) → просьба оставить отзыв со скидочным кодом; отмена → предложение вернуться. Каждое сообщение персонализировано именем покупателя и номером заказа. Объём обращений в поддержку магазина снизился на 40% после запуска — покупатели перестали писать письма, потому что вся информация уже есть в WhatsApp.
Что говорят владельцы магазинов
Три оператора (владелец магазина, разработчик и диджитал-агентство) рассказывают, что изменилось после запуска интеграции.
«Мы протестировали две другие WhatsApp-платформы до Whapi.Cloud. Обе брали плату за сообщение, что делало кампании по возврату корзин нерентабельными при нашем объёме. С фиксированным тарифом Whapi.Cloud мы экономим более 70% на расходах на сообщения и получаем ответы API быстрее 200 мс. Четыре месяца в продакшне, ноль даунтаймов.»
— Rafael S., владелец магазина Yampi, Сан-Паулу
«Я интегрировал вебхуки Yampi с Whapi.Cloud менее чем за два часа. Документация чёткая, HMAC-валидация подписи оказалась несложной. Теперь наша команда поддержки отвечает прямо в WhatsApp. Никаких задержек из-за email.»
— Mariana T., E-commerce разработчик
«Мы управляем 14 магазинами Yampi для наших клиентов с помощью Partner API Whapi.Cloud. Один шаблон интеграции, развёрнутый во всех аккаунтах. Клиенты платят ежемесячно, а мы управляем всем централизованно. Настройка white-label заняла один вечер.»
— Diego F., Диджитал-агентство, Рио-де-Жанейро
Сравнение подходов: REST API vs без кода vs закрытая платформа
Оптимальный путь зависит от технических возможностей, объёма заказов и готовности к зависимости от вендора. Вот честное сравнение по восьми критериям.
| Критерий | REST API (Whapi.Cloud) | Без кода (Make/n8n + Whapi) | Закрытая платформа (NI/Pluga/Interakt) |
|---|---|---|---|
| Гибкость | Полная: своя логика для каждого события | Средняя, визуальные потоки | Низкая, фиксированные шаблоны |
| Контроль сообщений | 100% собственный контент | 100% собственный контент | Ограничено шаблонами платформы |
| Модель стоимости | Фиксированная ежемесячная за канал | Плата Make/n8n + фиксированный Whapi | Плата за сообщение + подписка |
| Привязка к вендору | Отсутствует | Низкая | Высокая |
| Время настройки | ~2 часа | 30–60 минут | Минуты (затем постоянная зависимость) |
| Масштабируемость | Неограниченная | Ограничена операциями тарифа | Масштабируется, но расходы резко растут |
| Номер WhatsApp | Ваш собственный номер | Ваш собственный номер | Часто требует новый номер |
| Двусторонние сообщения | Да, полная поддержка входящих | Да (с настройкой вебхука) | Зависит от тарифного уровня |
При более чем 300 заказах в месяц разница в стоимости по сравнению с платформами с оплатой за сообщение окупает интеграцию уже в первый месяц. При более чем 1000 заказах в день лимиты операций варианта без кода также начинают создавать трение, которого путь REST API полностью избегает.
Для агентств: продавайте как управляемый сервис
Если вы управляете диджитал-агентством с несколькими магазинами на Yampi, эта интеграция превращается из статьи расходов в источник дохода. Программа white-label Whapi.Cloud позволяет перепродавать автоматизацию WhatsApp для Yampi клиентам-магазинам с предсказуемой ежемесячной рекуррентной выручкой.
Практическая структура: один шаблон интеграции, развёрнутый во всех клиентских аккаунтах через Partner API Whapi.Cloud, каждый клиент — на своём канале (своём номере WhatsApp), выставление счетов ежемесячно через ваше агентство. Именно это описывает приведённый выше отзыв Diego F.: 14 магазинов, один шаблон, один вечер настройки.
Цена агентства обычно составляет 3–5-кратную надбавку к стоимости канала Whapi.Cloud плюс сборы за настройку и ежемесячный ретейнер за управление. Интеграция становится собственной услугой: измеримая ценность (возвращённые корзины, повторные попытки оплаты, снижение числа тикетов поддержки) обосновывается при каждом разговоре о продлении.
Подробности партнёрской программы: Partner API Whapi.Cloud позволяет создавать каналы, управлять ими и мониторить под единым партнёрским аккаунтом. Посетите партнёрскую программу Whapi.Cloud для получения информации о ценах и white-label опциях.
Соответствие требованиям: LGPD и opt-in для WhatsApp
Перед отправкой первого сообщения необходимо выполнить два требования: согласие на обработку данных в соответствии с LGPD и явный opt-in для сообщений WhatsApp.
LGPD (Lei Geral de Proteção de Dados): По бразильскому закону LGPD вам нужна задокументированная правовая основа для обработки номеров телефонов клиентов и отправки автоматических сообщений. Наиболее распространённая основа — согласие, полученное при оформлении заказа. В условиях и политике конфиденциальности вашего магазина на Yampi должно быть указано, что номера телефонов используются для обновлений заказов и маркетинга через WhatsApp.
Opt-in для WhatsApp: Бизнес-политика WhatsApp требует, чтобы получатели явно соглашались на получение сообщений от вашего бизнес-номера. Собирайте это согласие при оформлении заказа с чётко подписанным чекбоксом: «Я согласен получать обновления заказов и акции через WhatsApp.» Не ставьте галочку заранее.
Обработка отказов от подписки: Предоставьте чёткий механизм opt-out. Простейший подход: обрабатывайте любое входящее сообщение со словом «STOP» или «Parar», помечая запись клиента и исключая его из будущих автоматических сообщений. Это одноразовый обработчик на вебхуке входящих сообщений Whapi.Cloud.
Несоблюдение требований грозит штрафами по LGPD и блокировкой номера WhatsApp. Чекбокс согласия при оформлении заказа и обработчик STOP в вашем вебхук-сервере займут несколько часов. Реализуйте их до запуска.
Начните разработку бесплатно
Бесплатная песочница Whapi.Cloud позволяет отправлять тестовые сообщения WhatsApp без продакшн-номера. Подключите вебхуки Yampi, проверьте реализацию HMAC и убедитесь в сквозной доставке до запуска. Кредитная карта не требуется.
Создайте бесплатный аккаунт в песочницеЗанимает 2 минуты. Бесплатная песочница включает полный доступ к API и документацию для разработчиков.









