Pular para o conteúdo
IndicaSaaS
Navegar na documentação

Widget & SDK

Embarque o programa de afiliados dentro do painel do seu próprio SaaS (o "indicar e ganhar") com poucas linhas, e leia o ?ref para anexar no checkout.

1. Carregue o afs.js

No HTML do seu painel. Ele persiste o ?ref da URL e expõe helpers globais (AFS.getRef(), AFS.renderReferralWidget()).

<script src="https://indicasaas.com/sdk/v1/afs.js"></script>
<div id="afs"></div>

2. Gere as chaves do SDK

No painel → Instalação → Chaves do SDK. A pk_ é pública; a sk_ é exibida uma vez — guarde e use só no backend.

3. Crie/recupere o afiliado (backend)

Do backend do seu SaaS, autenticando com a sk_ (nunca no front):

POST https://indicasaas.com/sdk/v1/affiliate
Authorization: Bearer sk_live_…
Content-Type: application/json

{ "email": "cliente@exemplo.com", "identityVerified": true }

→ { "affiliate": { "link": "…", "couponCode": null,
    "reservedCouponCode": "JOAO10", "couponStatus": "pending",
    "couponUsable": false, "status": "active" } }

identityVerified: true confirma que o seu backend autenticou esse cliente. É obrigatório apenas na primeira criação da identidade.

O SDK não verifica o e-mail para login nem aceita termos em nome de uma conta já existente. Exiba couponCode somente quando couponUsable for true; a reserva aparece separada e não comprova desconto.

4. Renderize o widget (front)

AFS.renderReferralWidget('#afs', {
  link: affiliate.link,
  coupon: affiliate.couponUsable ? affiliate.couponCode : null,
});

5. Anexe o ref no checkout

Quando o seu cliente (que veio por um link de afiliado) for pagar, leia o ref e mande pro seu backend para anexar no gateway:

const ref = AFS.getRef();        // referência válida ou null
// → enviar 'ref' ao seu backend e usar como na página do seu gateway

Com vários programas no mesmo site, use AFS.getRef('ID_DO_PROGRAMA') para selecionar o programa do checkout. Sem argumento, o SDK retorna a indicação válida mais recente entre os programas conhecidos. Envie o valor completo; quando for null, omita a indicação.

Stats do afiliado

GET https://indicasaas.com/sdk/v1/affiliate/stats?email=cliente@exemplo.com
Authorization: Bearer sk_live_…

→ { "stats": { "clicks", "conversions", "releasedCents", "heldCents", "paidCents" } }