Подключение RastroAff к Zapier через вебхуки: конверсии в Sheets, Slack или CRM
Отправляйте конверсии, регистрации партнёров и выплаты RastroAff в Zapier, Make или n8n подписанными вебхуками: настройка, получаемый JSON и проверка подписи.
Обновлено 30 окт. 2026 г.
Вебхуки позволяют RastroAff сообщать другим системам о событиях в момент, когда они происходят: новая конверсия, смена статуса, новый или одобренный партнёр, выплата. С Zapier (или Make, или n8n) можно добавить строку в Google Sheets, написать в Slack или создать контакт в CRM без программирования.
Какие события можно отправлять
| Событие | Когда |
|---|---|
conversion.created |
Записана новая конверсия |
conversion.status_changed |
Конверсия одобрена, отклонена или отменена |
affiliate.signed_up |
Партнёр зарегистрировался |
affiliate.approved |
Вы одобрили партнёра |
payout.requested |
Партнёр запросил выплату |
payout.status_changed |
Выплата одобрена, оплачена или отклонена |
1. Создайте триггер в Zapier
- В Zapier создайте Zap и выберите триггер Webhooks by Zapier (доступен на платных тарифах Zapier).
- Выберите Catch Hook и продолжите.
- Скопируйте URL, который покажет Zapier (начинается с
https://hooks.zapier.com/hooks/catch/).
2. Добавьте вебхук в RastroAff
- В панели сети откройте API и найдите раздел Вебхуки (администраторы, начиная с тарифа Starter).
- Вставьте URL из Zapier, выберите события и нажмите Создать вебхук.
- Скопируйте секрет подписи — он показывается один раз. Он нужен, только если вы проверяете подписи сами.
- Нажмите Отправить тест. RastroAff отправит событие
webhook.testи покажет ответ Zapier.
3. Завершите Zap
Вернитесь в Zapier и нажмите Test trigger: появятся поля тестового события. После первой реальной конверсии появятся и поля конверсии. Добавьте действие, например Google Sheets → Create Spreadsheet Row или Slack → Send Channel Message, и сопоставьте поля.
Что отправляет RastroAff
Каждый запрос — POST с JSON:
{
"id": "cmw1…",
"event": "conversion.created",
"createdAt": "2026-10-30T15:46:34.684Z",
"data": {
"id": "cmw2…",
"status": "approved",
"offer": "CMP-7K2M9XA1",
"affiliate": "AFF-78HHEKM6",
"clickId": "01JCW7R2KQ8M4T…",
"transactionId": "order-1042",
"goal": null,
"payout": 25,
"revenue": 30,
"saleAmount": 99,
"currency": "EUR",
"country": "PT",
"sub1": "facebook",
"sub2": null,
"sub3": null
}
}
При смене статуса добавляется previousStatus. Заголовки: X-RastroAff-Event, X-RastroAff-Delivery (ID доставки) и X-RastroAff-Signature.
Повторы
Если ваш адрес не отвечает статусом 2xx, RastroAff повторяет попытку через 1 минуту, 5 минут, 30 минут, 2 часа, 6 часов и 12 часов. На странице API видны последние доставки и ответы. Используйте id доставки, чтобы отбрасывать дубликаты.
Проверка подписи (на вашем сервере)
X-RastroAff-Signature выглядит так: t=1730303194,v1=5f2b…. Вычислите HMAC-SHA256 от t + "." + исходное тело с вашим секретом и сравните с v1; отклоняйте запросы старше 5 минут.
import crypto from "node:crypto";
function verify(secret, rawBody, header) {
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
if (Math.abs(Date.now() / 1000 - Number(parts.t)) > 300) return false;
const expected = crypto.createHmac("sha256", secret).update(`${parts.t}.${rawBody}`).digest("hex");
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
}
Zapier и Make не проверяют подписи: секретом служит сам URL, поэтому не передавайте его другим.