Перейти к содержимому

Подключение 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

  1. В Zapier создайте Zap и выберите триггер Webhooks by Zapier (доступен на платных тарифах Zapier).
  2. Выберите Catch Hook и продолжите.
  3. Скопируйте URL, который покажет Zapier (начинается с https://hooks.zapier.com/hooks/catch/).

2. Добавьте вебхук в RastroAff

  1. В панели сети откройте API и найдите раздел Вебхуки (администраторы, начиная с тарифа Starter).
  2. Вставьте URL из Zapier, выберите события и нажмите Создать вебхук.
  3. Скопируйте секрет подписи — он показывается один раз. Он нужен, только если вы проверяете подписи сами.
  4. Нажмите Отправить тест. 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, поэтому не передавайте его другим.