Documentación de integración
Cómo conectar tu tráfico y tu producto a la red. Tiempo estimado: ~30 minutos.
1. Enlace de referido (tracking)
Usa tu refCode (lo ves en el Marketplace tras la aprobación):
https://{trackingDomain}/r?ref={refCode}&s1={sub1}&s2={sub2}&fbclid={fbclid}El endpoint /r guarda una cookie (60 días) y redirige al landing con click_id.
2. Postback (Keitaro y compatibles)
Configura tu URL de postback en Ajustes → por oferta. Macros disponibles:
{clickid} {subid} {status} {event} {payout} {currency} {sub1}…{sub10} {txid}Plantilla Keitaro recomendada:
https://tu-keitaro/postback?subid={clickid}&status={status}&payout={payout}¤cy={currency}Mapeo de estados: lead→lead, initiate_checkout→lead, trial→lead, sale/rebill→sale, refund/chargeback→rejected.
Para que tu tracker (Keitaro/Binom/…) asocie el postback a su clic, pasa su click-id en el enlace: &click_id={subid} (Keitaro). El constructor de enlaces del panel puede añadirlo. Sin esto el postback igual se dispara, pero el tracker no lo vincula.
El postback se dispara en cada evento, no solo en la venta. Todos los ajustes (postback, píxel/CAPI) se aplican al instante.
3. Píxel propio (FB CAPI)
En Ajustes pones tu FB Pixel ID + CAPI Token (se cifra) + Test Event Code. La red envía Lead / InitiateCheckout / StartTrial / Purchase al Graph API con fbc desde fbclid y dedup por event_id.
Además, /sdk.js en el landing inyecta TU píxel en el navegador (PageView) según el click_id del visitante — cada buyer alimenta su propio ad account sobre la misma oferta — y devuelve la cookie _fbp para mejorar el match quality de CAPI.
4. Para dueños de producto (ej. Susurra)
Añade ~25 líneas a tu webhook de Stripe. Cada petición va firmada con HMAC — el ingest sin firma se rechaza con 401. En invoice.payment_succeeded:
import crypto from "node:crypto";
// invoice.payment_succeeded → signed conversion event
const raw = JSON.stringify({
click_id: subscription.metadata.click_id,
user_ref: customer.id,
event: invoice.billing_reason === "subscription_create" ? "sale" : "rebill",
external_payment_id: invoice.payment_intent, // idempotency
gross_amount: invoice.amount_paid / 100,
currency: invoice.currency.toUpperCase(),
is_first_payment: invoice.billing_reason === "subscription_create",
});
const ts = Math.floor(Date.now() / 1000).toString();
const nonce = crypto.randomBytes(12).toString("hex");
const sig = crypto.createHmac("sha256", SIGNING_SECRET)
.update(ts + "." + nonce + "." + raw).digest("hex");
await fetch(NETWORK_URL + "/api/ingest/conversion", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Offer-Key": OFFER_KEY,
"X-Ingest-Timestamp": ts,
"X-Ingest-Nonce": nonce,
"X-Ingest-Signature": sig,
},
body: raw, // exactly the signed bytes
});OFFER_KEY (el ingestApiKey de la oferta) y SIGNING_SECRET los emite el admin de la red. Timestamp en segundos unix (±5 min), nonce de un solo uso (anti-replay), y la firma cubre los bytes exactos del body.
En charge.refunded → /api/ingest/refund; en charge.dispute.created → /api/ingest/chargeback (mismas cabeceras firmadas; body: { external_payment_id }).
5. Stats API (pull)
Genera un token en Ajustes y deja que tu tracker tire las conversiones por horario:
curl -H 'Authorization: Bearer ***' 'https://partners.example/api/affiliate/stats-api?offer=...&from=2026-06-01&format=csv'6. Pagos
Net-7 / semanal. Mínimo configurable (def. $50). Métodos: USDT, Wise, PayPal.
Integration documentation
How to connect your traffic and your product to the network. Estimated time: ~30 minutes.
1. Referral link (tracking)
Use your refCode (visible in the Marketplace after approval):
https://{trackingDomain}/r?ref={refCode}&s1={sub1}&s2={sub2}&fbclid={fbclid}The /r endpoint stores a cookie (60 days) and redirects to the landing page with a click_id.
2. Postback (Keitaro and compatible)
Set your postback URL in Settings → per offer. Available macros:
{clickid} {subid} {status} {event} {payout} {currency} {sub1}…{sub10} {txid}Recommended Keitaro template:
https://tu-keitaro/postback?subid={clickid}&status={status}&payout={payout}¤cy={currency}Status mapping: lead→lead, initiate_checkout→lead, trial→lead, sale/rebill→sale, refund/chargeback→rejected.
So your tracker (Keitaro/Binom/…) can match the postback to its click, pass its click-id on the link: &click_id={subid} (Keitaro). The cabinet link builder can add it. Without it the postback still fires but the tracker won't reconcile it.
The postback fires on every event, not just on the sale. All settings (postback, pixel/CAPI) apply instantly.
3. Your own pixel (FB CAPI)
In Settings you set your FB Pixel ID + CAPI Token (encrypted) + Test Event Code. The network sends Lead / InitiateCheckout / StartTrial / Purchase to the Graph API with fbc from fbclid and dedup by event_id.
On top of that, /sdk.js on the landing injects YOUR pixel browser-side (PageView) based on the visitor's click_id — every buyer feeds their own ad account on the same offer — and sends the _fbp cookie back to boost CAPI match quality.
4. For product owners (e.g. Susurra)
Add ~25 lines to your Stripe webhook. Every request must be HMAC-signed — unsigned ingest is rejected with 401. On invoice.payment_succeeded:
import crypto from "node:crypto";
// invoice.payment_succeeded → signed conversion event
const raw = JSON.stringify({
click_id: subscription.metadata.click_id,
user_ref: customer.id,
event: invoice.billing_reason === "subscription_create" ? "sale" : "rebill",
external_payment_id: invoice.payment_intent, // idempotency
gross_amount: invoice.amount_paid / 100,
currency: invoice.currency.toUpperCase(),
is_first_payment: invoice.billing_reason === "subscription_create",
});
const ts = Math.floor(Date.now() / 1000).toString();
const nonce = crypto.randomBytes(12).toString("hex");
const sig = crypto.createHmac("sha256", SIGNING_SECRET)
.update(ts + "." + nonce + "." + raw).digest("hex");
await fetch(NETWORK_URL + "/api/ingest/conversion", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Offer-Key": OFFER_KEY,
"X-Ingest-Timestamp": ts,
"X-Ingest-Nonce": nonce,
"X-Ingest-Signature": sig,
},
body: raw, // exactly the signed bytes
});OFFER_KEY (the offer's ingestApiKey) and SIGNING_SECRET are issued by the network admin. Timestamp is unix seconds (±5 min), the nonce is single-use (anti-replay), and the signature covers the exact body bytes.
On charge.refunded → /api/ingest/refund; on charge.dispute.created → /api/ingest/chargeback (same signed headers; body: { external_payment_id }).
5. Stats API (pull)
Generate a token in Settings and let your tracker pull conversions on a schedule:
curl -H 'Authorization: Bearer ***' 'https://partners.example/api/affiliate/stats-api?offer=...&from=2026-06-01&format=csv'6. Payouts
Net-7 / weekly. Configurable minimum (default $50). Methods: USDT, Wise, PayPal.
Документация по интеграции
Как подключить трафик и продукт к сети. Примерное время: ~30 минут.
1. Реф-ссылка (трекинг)
Используй свой refCode (виден в Маркетплейсе после апрува):
https://{trackingDomain}/r?ref={refCode}&s1={sub1}&s2={sub2}&fbclid={fbclid}Эндпоинт /r ставит cookie (60 дней) и редиректит на лендинг с click_id.
2. Постбэк (Keitaro и совместимые)
Укажи URL постбэка в Настройках → под каждый оффер. Доступные макросы:
{clickid} {subid} {status} {event} {payout} {currency} {sub1}…{sub10} {txid}Рекомендованный шаблон для Keitaro:
https://tu-keitaro/postback?subid={clickid}&status={status}&payout={payout}¤cy={currency}Маппинг статусов: lead→lead, initiate_checkout→lead, trial→lead, sale/rebill→sale, refund/chargeback→rejected.
Чтобы трекер (Keitaro/Binom/…) сматчил постбэк со своим кликом, прокинь его click-id в ссылке: &click_id={subid} (Keitaro). Конструктор ссылок в кабинете умеет это добавить. Без этого постбэк всё равно уйдёт, но трекер его не свяжет.
Постбэк шлётся на каждое событие, не только на продажу. Все настройки (постбэк, пиксель/CAPI) применяются сразу.
3. Свой пиксель (FB CAPI)
В Настройках указываешь свой FB Pixel ID + CAPI Token (шифруется) + Test Event Code. Сеть шлёт Lead / InitiateCheckout / StartTrial / Purchase в Graph API с fbc из fbclid и дедупом по event_id.
Плюс /sdk.js на лендинге подставляет ТВОЙ пиксель в браузере (PageView) по click_id визитёра — каждый байер кормит свой ад-аккаунт на одном оффере — и возвращает cookie _fbp для match quality CAPI.
4. Владельцам продукта (напр. Susurra)
Добавь ~25 строк в свой Stripe-вебхук. Каждый запрос подписывается HMAC — неподписанный ingest отклоняется с 401. На invoice.payment_succeeded:
import crypto from "node:crypto";
// invoice.payment_succeeded → signed conversion event
const raw = JSON.stringify({
click_id: subscription.metadata.click_id,
user_ref: customer.id,
event: invoice.billing_reason === "subscription_create" ? "sale" : "rebill",
external_payment_id: invoice.payment_intent, // idempotency
gross_amount: invoice.amount_paid / 100,
currency: invoice.currency.toUpperCase(),
is_first_payment: invoice.billing_reason === "subscription_create",
});
const ts = Math.floor(Date.now() / 1000).toString();
const nonce = crypto.randomBytes(12).toString("hex");
const sig = crypto.createHmac("sha256", SIGNING_SECRET)
.update(ts + "." + nonce + "." + raw).digest("hex");
await fetch(NETWORK_URL + "/api/ingest/conversion", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Offer-Key": OFFER_KEY,
"X-Ingest-Timestamp": ts,
"X-Ingest-Nonce": nonce,
"X-Ingest-Signature": sig,
},
body: raw, // exactly the signed bytes
});OFFER_KEY (это ingestApiKey оффера) и SIGNING_SECRET выдаёт админ сети. Timestamp — unix-секунды (±5 мин), nonce одноразовый (анти-replay), подпись считается по точным байтам тела.
На charge.refunded → /api/ingest/refund; на charge.dispute.created → /api/ingest/chargeback (те же подписанные заголовки; body: { external_payment_id }).
5. Stats API (pull)
Сгенерируй токен в Настройках и пусть трекер тянет конверсии по расписанию:
curl -H 'Authorization: Bearer ***' 'https://partners.example/api/affiliate/stats-api?offer=...&from=2026-06-01&format=csv'6. Выплаты
Net-7 / еженедельно. Настраиваемый минимум (по умолч. $50). Методы: USDT, Wise, PayPal.