Guia de integração

Conecte sua plataforma à RevRake.

Um guia passo a passo para o desenvolvedor do operador e para o afiliado. Sua plataforma faz duas coisas: guarda uma tag da URL de destino e informa os jogadores, por requisições assinadas ou por arquivos diários. Todos os campos, limites e códigos de erro estão na referência da API.

Como tudo se encaixa

Um afiliado divulga um link de rastreamento. A RevRake grava o clique e envia o visitante à sua landing page com duas tags. Sua plataforma guarda uma tag até o jogador se cadastrar e então informa o jogador e o dinheiro dele à RevRake. A RevRake calcula a comissão, avisa o tracker do afiliado e fecha o mês em um pagamento.

  1. Afiliado Link de rastreamento
  2. Visitante track.revrake.com Clique gravado
  3. Sua landing page chega com cid e btag
  4. Sua plataforma guarda a tag, cadastra o jogador
  5. RevRake app.revrake.com atribuição, comissões, livro-razão
  6. Tracker do afiliadopostback
    Pagamento mensalCSV

Sua plataforma → RevRake: Eventos assinados ou arquivos diários

Para o desenvolvedor do operador

Os passos, na ordem em que você vai executá-los.

1Crie o seu programa

Cadastre-se em app.revrake.com/signup com seu e-mail e confirme-o pelo link que enviamos. O link funciona uma vez, por 48 horas. A confirmação cria o seu programa e faz você entrar como admin dele. É gratuito e não precisa de cartão.

Depois, verifique o site para onde seus links levam. Abra a página Marca, escolha "Verifique seu site" e publique o que ela mostra: um registro DNS TXT revrake-verify=<token> no host ou em um domínio pai, ou a tag <meta name="revrake-verify" content="<token>"> na landing page. Depois, clique em verificar.

  • Até o site ser verificado, um visitante que abre um dos seus links de rastreamento vê primeiro uma página curta dizendo para onde o link leva.

2Obtenha sua chave

Abra a página Integração do seu portal do operador. Ela mostra o endpoint, o ID da sua chave (começa com pb_) e o segredo. Somente um admin do workspace pode ver o segredo ou rotacionar a chave.

Cada requisição leva três cabeçalhos: o ID da chave, o horário Unix atual em segundos e o HMAC-SHA256 em hexadecimal de <timestamp>.<body> com o segredo. A referência traz a receita com exemplos em curl, Node.js, Python, PHP e Go, e um vetor de teste para você conferir seu código.

  • Rotacionar a chave cria uma nova e desativa a antiga imediatamente. Passe sua plataforma para a nova chave na mesma hora.
  • Mantenha o segredo no seu servidor. Nunca o coloque em uma página ou em um aplicativo.

4Informe os cadastros

Quando um jogador se cadastra, envie um evento registration com o seu ID do jogador e o click_id, o btag ou os dois. A RevRake atribui o jogador uma única vez, nesse momento, e a resposta diz a qual afiliado e por quê.

{"type":"registration","player_id":"PLR-1001","click_id":"01K6QF3M8Z5T7W9XB2C4D6E8GH","btag":"1001_1"}
{
  "status": "accepted",
  "event_type": "registration",
  "event_id": "0199b2c4-6f1e-7a53-9d0c-2b8f4e1a7c33",
  "attribution": {
    "attributed": true,
    "reason": "click",
    "affiliate_number": 1001,
    "link_number": 1,
    "click_id": "01K6QF3M8Z5T7W9XB2C4D6E8GH",
    "policy_version": 1,
    "window_days": 30,
    "model": "last_click"
  }
}

Um jogador é atribuído pela política da sua marca, definida na página Integração: último clique (o padrão) ou primeiro clique, dentro de uma janela de atribuição de 1 a 365 dias (30 por padrão). Primeiro tenta-se o click ID, depois o btag, a menos que a política diga que o btag vale quando os dois divergem. Envie todos os cadastros, inclusive os sem tag: eles são registrados como não atribuídos, e assim se sabe que os depósitos posteriores deles não são primeiros depósitos de um jogador de afiliado. Quando a política diz que vale o código promocional, um código que corresponde a um link é tentado antes dos dois, e um que não corresponde volta para eles. Um acordo pode definir sua própria janela, que substitui a da política para cliques nos links dos seus afiliados.

  • Envie email_hash e ip se quiser que a verificação de autoindicação use mais do que o clique.
  • Envie country, o código de duas letras do país do jogador (ISO 3166-1 alpha-2, como GB), se algum dos seus deals não paga por certos países. Sem ele, vale o país do clique que trouxe o jogador.
  • Envie ts quando informar com atraso, para que a janela de atribuição seja medida a partir do horário real do cadastro.
  • Envie promo_code quando o jogador digitou um código promocional no cadastro. Ele atribui o jogador apenas quando nem o click ID nem o btag o fazem (veja o próximo passo).
  • Envie email_domain, a parte do e-mail do jogador depois do @, se você ativar a regra de e-mail descartável. Envie só o domínio: se chegar um endereço completo, só o domínio fica no jogador, mas o log de entrada ainda mostra a requisição como chegou.

5Use códigos promocionais

Um código promocional credita um jogador a um afiliado sem clique: o jogador o digita ao se cadastrar. Na página Códigos promocionais, um admin adiciona um código para um afiliado aprovado, e o código vira um dos links desse afiliado, exibido na página Links dele. Crie o mesmo código na sua plataforma e envie-o com o cadastro como promo_code, ou na coluna promo_code do arquivo REG.

{"type":"registration","player_id":"PLR-1003","promo_code":"GARAGE50"}
{
  "status": "accepted",
  "event_type": "registration",
  "event_id": "0199b2c5-1d40-7e82-b3a1-6c0f2d9e4b17",
  "attribution": {
    "attributed": true,
    "reason": "promo_code",
    "affiliate_number": 1001,
    "link_number": 7,
    "policy_version": 1,
    "window_days": 30,
    "model": "last_click"
  }
}
  • O click ID e o btag vêm primeiro. O código promocional atribui o jogador apenas quando nenhum dos dois o faz, e o motivo é então promo_code.
  • Os códigos não diferenciam maiúsculas de minúsculas: GARAGE50 e garage50 são o mesmo código. Um código tem de 2 a 40 letras, dígitos, hifens ou sublinhados.
  • Desativar um código faz com que ele deixe de creditar novos jogadores; os jogadores que ele trouxe continuam com o afiliado. Um código desativado nunca pode ser usado de novo no programa.
  • Quando nada mais foi enviado para atribuir o jogador, um código que a RevRake não conhece recebe o motivo unknown_promo_code, e um código desativado recebe promo_code_retired. Um código de um afiliado que não está aprovado dá affiliate_inactive.

6Informe os depósitos

Envie um evento deposit para cada depósito, com seu ID de transação em txn_id. O deal define se o mínimo para CPA é comparado ao primeiro depósito ou aos depósitos acumulados, descontados os chargebacks. A qualificação cria uma comissão CPA por jogador, em retenção.

{"type":"deposit","player_id":"PLR-1001","txn_id":"TX-88213","amount":"25.00","currency":"KES","first":true}
{
  "status": "accepted",
  "event_type": "deposit",
  "event_id": "0199b2c9-03aa-7e10-b6d2-91c07f5e2a18",
  "commission": {
    "effect": "created",
    "type": "cpa",
    "amount_minor": 4000,
    "status": "hold"
  }
}
  • Envie first: true no primeiro depósito do jogador, se a sua plataforma souber disso. Sem ele, um depósito conta como primeiro quando a RevRake não conhece nenhum anterior do jogador.
  • Envie a currency do próprio depósito. Um depósito em moeda diferente da do deal é comparado com o deal pela taxa de câmbio do dia.
  • Um depósito pode chegar antes do cadastro. Ele é guardado e precificado quando o cadastro chegar.

7Informe os chargebacks

Envie um evento chargeback com seu próprio txn_id e o txn_id do depósito original em ref_txn_id. Ele reverte o depósito inteiro. No CPA acumulado, a comissão só é retirada se o total qualificado restante ficar abaixo do mínimo: uma comissão em retenção é cancelada; uma aprovada ou paga recebe uma linha de estorno.

{"type":"chargeback","txn_id":"CB-5001","ref_txn_id":"TX-88213"}
  • O depósito precisa ter sido informado antes. Um chargeback de um depósito desconhecido é recusado, não guardado.
  • Um depósito só pode sofrer chargeback uma vez.

8Informe a receita líquida de jogo (NGR)

Para deals de RevShare, envie um evento ngr por jogador e período: a receita líquida de jogo (NGR) do jogador em um dia (YYYY-MM-DD) ou em um mês (YYYY-MM), negativa quando o jogador ganhou. Ela rende o percentual definido no deal, em retenção.

{"type":"ngr","player_id":"PLR-1001","period":"2026-10-03","amount":"118.40","currency":"KES"}
  • O jogador precisa estar cadastrado antes; a receita de um jogador desconhecido é recusada.
  • Se um valor mudar, envie o novo valor para o mesmo período. A diferença é registrada como ajuste; nada é reescrito.
  • Escolha dias ou meses e mantenha a escolha. Um mês e o seu primeiro dia são períodos diferentes: 2026-10 não é 2026-10-01. Um mês é precificado pela versão do deal em vigor no seu último dia e retido a partir daí.
  • Se quiser, acrescente ggr, bonuses, fees e taxes: como se chegou à receita líquida. O afiliado os vê ao lado da comissão; a comissão é sempre precificada sobre amount.

9Escolha entre eventos em tempo real, lotes ou o arquivo diário

As três opções alimentam o mesmo livro-razão de comissões. Eventos ao vivo e lotes informam transações individuais; arquivos SALES informam resumos diários. Escolha o que sua plataforma pode fornecer.

POST https://app.revrake.com/v1/files?filename=sales-2026-10-03.csv
  • Eventos em tempo real. Uma requisição assinada por evento, no momento em que ele acontece. O afiliado vê o jogador em segundos. Use este caminho se a sua plataforma consegue chamar uma URL no cadastro e no depósito.
  • Lotes. Os mesmos eventos em um array JSON de até 1.000 por requisição, por exemplo a partir de um job que roda a cada poucos minutos ou para uma carga retroativa. Cada evento é respondido separadamente.
  • Arquivos diários. Os arquivos CSV REG e SALES que a sua plataforma já exporta para um sistema de afiliados, enviados pela página Integração, por POST /v1/files, ou buscados pela RevRake num endereço onde a sua plataforma os publica (próximo passo). Uma linha por jogador por dia. Envie o arquivo REG antes do arquivo SALES do mesmo dia: a receita de um jogador que ainda não está cadastrado é recusada.
  • Um resumo SALES cobre os depósitos e chargebacks do jogador no dia de atividade e na moeda, no fuso horário dos arquivos. Postbacks cobertos não são somados novamente, independentemente da ordem de chegada; seus IDs continuam disponíveis para chargebacks. Totais conflitantes são recusados. IDs de transação diferentes continuam representando depósitos diferentes, mesmo com valores iguais.
  • SALES exige deposits (depósitos brutos do dia, incluindo FTD), first_deposit_amount (somente no dia do primeiro depósito, já incluído no bruto) e chargeback (valor separado de chargebacks desse dia). São valores diários, não totais históricos. Células vazias significam zero; valores devem ser não negativos. Um resumo imutável é guardado por marca, jogador e dia: reexportações iguais são replays; alterar dinheiro ou moeda gera conflito.
  • Dinheiro recebido antes de REG é guardado e precificado quando o cadastro chega; NGR recusado deve ser reenviado após REG. O dinheiro diário usa as taxas da data de atividade. A falta de câmbio ou um chargeback ambíguo do primeiro depósito pode reter o pagamento. Confira eventos recusados e o log de entrada; leia o contrato SALES completo antes de conectar sua exportação.

10Deixe a RevRake buscar o arquivo diário

Se a sua plataforma publica o arquivo de cada dia num endereço web, a RevRake pode buscá-lo sozinha. Na página Integração, um admin adiciona um endereço de arquivo: um nome (como REG ou SALES), o endereço, como fazer login e a hora do dia. Todos os dias nessa hora, no fuso horário do seu workspace, a RevRake busca o arquivo de ontem em poucos minutos e o importa exatamente como um envio manual.

https://reports.your-platform.example/affiliates/reg-{date}.csv

→ GET https://reports.your-platform.example/affiliates/reg-2026-10-04.csv
  • No endereço, {date} vira o dia do arquivo como YYYY-MM-DD, e {yyyymmdd} vira YYYYMMDD. Use um endereço por arquivo: um para REG, outro para SALES.
  • Login: nenhum, um nome de usuário e senha (HTTP Basic), ou um token enviado como Authorization: Bearer. Uma senha ou um token só é enviado a um endereço https://.
  • Uma busca que não importa um arquivo, por qualquer motivo (um 404 ou qualquer resposta que não seja 2xx, um erro de rede, um arquivo grande demais ou ilegível), é repetida a cada hora até a busca do dia seguinte. Cada endereço é buscado por si, então um que falha não atrasa os outros. Quando está 3 horas atrasado, os admins do workspace recebem um e-mail, e a página Integração mostra o arquivo como atrasado.
  • A busca do dia seguinte passa para o dia seguinte. Para preencher um dia perdido, ou para testar o endereço, clique em "Buscar agora" e escolha o dia. Um arquivo buscado duas vezes não registra nada duas vezes.
  • Dê ao arquivo REG um horário anterior ao do arquivo SALES: a receita de um jogador que ainda não está cadastrado é recusada.
  • Um arquivo pode ter até 32 MB. A RevRake só busca em endereços públicos, verifica os certificados e desiste depois de um minuto. As últimas 30 buscas de cada endereço são listadas com o resultado.

11Teste antes de entrar em produção

A página Integração pode enviar um evento de teste: ele passa um cadastro pelo caminho real, mostra o que aconteceria e não grava nada. Use-o com um cid de um clique real em um dos seus links de rastreamento.

Cada requisição assinada com a sua chave e cada linha de arquivo importada ou recusada aparece no log de entrada da mesma página com o resultado, o motivo e o corpo como chegou. Ele mostra os 50 mais recentes dos últimos 7 dias. O endereço IP de um corpo nunca é gravado, e um corpo longo é cortado em 4.000 caracteres.

  • Confira seu código de assinatura com o vetor de teste antes de enviar qualquer coisa.
  • Enviar o mesmo evento duas vezes é seguro. A segunda resposta é a primeira com "status":"duplicate".

12Escolha suas regras de fraude

Na página Sinalizações, aba Regras, um admin ativa e desativa as regras de fraude. Cada regra levanta o seu próprio alerta sobre um jogador que ela pega. O jogador continua atribuído, e as comissões dele aguardam em retenção até que alguém libere ou confirme o alerta na fila de análise. Autoindicação e rajadas de cliques vêm ativadas desde o início; as regras abaixo ficam desativadas até você ativá-las.

  • Clique de anúncio pago. O clique que trouxe o jogador trazia o click ID de uma rede de anúncios (gclid, wbraid, fbclid, msclkid ou ttclid), o que pode significar que o afiliado faz lances no nome da sua marca.
  • E-mail descartável. O domínio do e-mail do jogador está numa lista pública de domínios de e-mail descartáveis. Requer email_domain no cadastro.
  • País diferente. O country do cadastro é diferente do país do clique.
  • Cadastro logo após o clique. O jogador se cadastrou dentro do número de segundos que você define (até 3.600) depois do clique; um cadastro tão rápido parece automatizado.
  • Conta de pagamento compartilhada. Um afiliado salva dados de pagamento que outro afiliado do programa já usa. Esse alerta não retém nenhuma comissão, mas enquanto está aberto a linha de pagamento do afiliado fica retida no fechamento mensal. O número da conta e o código de roteamento precisam coincidir, ignorando maiúsculas, espaços e pontuação; um número de conta com menos de quatro letras ou dígitos não é comparado. Um endereço de carteira cripto ou uma conta de carteira digital conta como número da conta. Só o afiliado que salva os dados recebe o alerta.
  • As regras de jogador rodam uma vez, no cadastro, sobre jogadores atribuídos; as regras de clique pago, de país e de tempo precisam do clique que trouxe o jogador. Uma regra vale a partir do momento em que é salva, não para jogadores anteriores.
  • Alertas abertos podem se decidir sozinhos depois de um número de dias que você escolhe (de 1 a 365; 0, o padrão, significa nunca), liberados ou rejeitados. Na fila de análise você pode liberar ou confirmar até 200 alertas de uma vez.

13Checklist para entrar em produção

  • A landing page guarda cid ou btag até o jogador se cadastrar, inclusive quando ele volta mais tarde no mesmo navegador.
  • Seu código de assinatura reproduz o vetor de teste, e o relógio do seu servidor está sincronizado (NTP).
  • Um clique real, seguido de um cadastro de teste com o cid dele, mostra o afiliado certo.
  • Os cadastros são enviados para todos os jogadores, não só para os que têm tag.
  • Os depósitos levam um txn_id estável e a sua moeda.
  • Em um timeout ou um 5xx, sua plataforma envia o evento de novo, com um timestamp novo.
  • Um 422 é registrado do seu lado e analisado: ele não vai dar certo em um reenvio.
  • O log de entrada mostra accepted para cada tipo de evento que você envia.

14Traga relatórios e comissões para o seu back office

Seu backend pode ler o que o portal mostra, com a mesma chave e os mesmos três cabeçalhos: GET /v1/reports devolve o relatório da página Relatórios, em JSON ou em CSV, e GET /v1/commissions devolve o livro-razão de comissões página por página. Uma leitura não tem corpo, então a assinatura cobre o caminho e a query exatamente como você os envia. A referência traz todos os parâmetros e campos.

GET https://app.revrake.com/v1/reports?by=link&days=7
GET https://app.revrake.com/v1/commissions?from=2026-09-01&to=2026-10-01&per_page=500
  • O status de uma comissão muda depois que a linha é gravada: em retenção, depois aprovada, depois paga, ou rejeitada. Não busque apenas as linhas novas. Leia um período de novo, por exemplo os últimos 60 dias toda noite, e atualize as linhas que você já tem pelo id.
  • Os valores estão em unidades menores, com a moeda ao lado. Nunca some valores de moedas diferentes; use reporting_minor para totais na sua moeda de relatório.
  • No máximo 120 leituras por minuto por chave. Cada resposta diz quantas restam em X-RateLimit-Remaining. Em um 429, espere os segundos indicados em Retry-After e envie a requisição de novo.
  • Nunca entregue sua chave a um afiliado: ela lê o programa inteiro e pode enviar eventos. Cada afiliado emite sua própria chave, que lê apenas os números dele.
  • Os mesmos relatórios e o livro-razão também podem ser baixados em CSV no portal.

15Receba as mudanças nos seus próprios sistemas

Os webhooks enviam o que acontece no seu programa para os seus próprios sistemas (um CRM, um data warehouse, um canal de chat) no momento em que acontece: candidaturas e decisões sobre afiliados, jogadores cadastrados, comissões quando são criadas, aprovadas, rejeitadas, pagas ou estornadas, e pagamentos. Na página Integração, um admin clica em "Adicionar um endpoint", informa o endereço no seu servidor e marca os eventos. O segredo de assinatura é mostrado uma única vez: copie-o nesse momento.

{
  "id": "0199b2c9-0a11-7c3e-9f20-7d4b1e6a2c58",
  "type": "commission.created",
  "created_at": "2026-10-05T09:12:44.318204Z",
  "data": {
    "player_id": "PLR-1001",
    "occurred_at": "2026-10-05T09:12:40Z",
    "attributed": true,
    "affiliate_number": 1001,
    "affiliate_name": "Odds Garage",
    "commission_id": "0199b2c9-0a0f-7a51-8c3d-5e2f4a6b7c90",
    "commission_type": "cpa",
    "amount": "25.00",
    "amount_currency": "USD",
    "commission": "40.00",
    "commission_currency": "USD"
  }
}

Cada evento é um POST JSON assinado com esse segredo, com um corpo como o mostrado acima. A referência lista todos os eventos e campos, os cabeçalhos e o código de verificação em Node.js e Python.

  • Verifique a assinatura sobre o corpo bruto antes de interpretá-lo, e responda com um 2xx em até 5 segundos.
  • Descarte repetições pelo id do corpo: um evento pode chegar mais de uma vez.
  • Clique em "Enviar teste" para verificar o seu endpoint. O log de entregas de cada endpoint mostra o que foi enviado e o que o seu servidor respondeu.
  • Uma entrega que falhou é reenviada durante cerca de um dia e meio. Depois de 20 tentativas falhas seguidas o endpoint é desligado; os eventos continuam na fila e são enviados quando você o liga de novo.

16Solução de problemas

  • bad_signature. Assine os bytes exatos que você envia: a mesma string, não uma cópia re-serializada do JSON. O texto assinado é o timestamp, um ponto e depois o corpo. A assinatura é hexadecimal em minúsculas. Verifique se o segredo não tem um espaço ou uma quebra de linha no fim.
  • bad_timestamp. O timestamp deve estar em segundos Unix (não em milissegundos) e a no máximo cinco minutos do horário real. Sincronize o relógio do servidor e assine cada reenvio com um timestamp novo.
  • unknown_key. O ID da chave foi digitado errado, ou a chave foi rotacionada. A chave atual está na página Integração.
  • Tudo é duplicado. Cadastros usam player_id; depósitos e chargebacks usam txn_id. Reutilize um ID apenas para uma tentativa idêntica. Alterar o dinheiro do depósito ou a referência do chargeback gera conflito. Use um ID diferente para cada transação real.
  • Os jogadores não são atribuídos. Veja o reason na resposta ou no log de entrada. no_tag: a landing page perdeu a tag antes do cadastro. unknown_click ou unknown_btag: o valor foi alterado ou cortado no caminho. outside_window: o clique é mais antigo que a janela de atribuição. affiliate_inactive: o afiliado não está aprovado. unknown_promo_code ou promo_code_retired: o código promocional não é um dos seus, ou foi desativado.
  • Informo pelos dois caminhos enquanto troco de integração. Um resumo SALES cobre postbacks do jogador, dia de atividade e moeda no fuso dos arquivos. Valores contam uma vez, qualquer que seja a ordem de chegada, e os txn_id reais continuam utilizáveis. Um resumo abaixo das transações conhecidas ou evidências inconsistentes de primeiro depósito é recusado. IDs de postback diferentes continuam contando como depósitos separados.
  • Um depósito chegou antes do cadastro. A resposta traz "waiting_for_player": true. Nada se perde: envie o cadastro, e o depósito é precificado nesse momento.
  • Um depósito não rendeu nada. O commission.reason diz por quê: unattributed, not_first, below_threshold, country_blocked, no_cpa_in_deal, already_earned ou no_deal_version.
  • Uma comissão está em retenção com "aguardando taxa de câmbio". O depósito está em uma moeda para a qual ainda não há taxa naquele dia. As taxas são atualizadas de hora em hora; você também pode informar uma taxa para o dia na página Taxas de câmbio. A comissão é liquidada assim que existir uma taxa.
  • bad_signature em uma leitura. Para um GET, assine o timestamp, um ponto e depois o caminho e a query exatamente como enviados, na mesma ordem e com a mesma codificação: /v1/reports?by=link&days=7. Sem query, assine só o caminho.
  • Um campo é recusado. Um campo que não está na referência é recusado, então um erro de digitação nunca é ignorado em silêncio. A resposta indica o field e diz o que corrigir.

Para afiliados

Links e postbacks são configurados no seu portal do afiliado e não precisam de chave. Uma chave só é necessária se você quiser ler seus números por API.

Envie conversões ao seu tracker

Na página Postbacks, adicione um destino: escolha seu tracker, substitua o host do endereço pelo do seu tracker e marque os eventos sobre os quais quer ser avisado. Tudo entre chaves é uma macro, preenchida a cada conversão.

O portal traz estes presets. Em cada um, o click ID do seu tracker viaja em sub1, e {status} leva as palavras que esse tracker conhece:

TrackerColoque em sub1 do seu linkTemplate de endereço
Keitaro{subid}https://YOUR-TRACKER-DOMAIN/POSTBACK-KEY/postback?subid={sub1}&status={status}&payout={commission}&currency={currency}&tid={conversion_id}
Binom{clickid}https://YOUR-TRACKER-DOMAIN/click?cnv_id={sub1}&payout={commission}&cnv_status={status}&cnv_currency={currency}
Voluum{clickid}https://YOUR-TRACKER-DOMAIN/postback?cid={sub1}&payout={commission}&currency={currency}&txid={event_id}&et={event}
RedTrack{clickid}https://YOUR-TRACKER-DOMAIN/postback?clickid={sub1}&sum={commission}&status={status}&type={event}&rdtk_event_id={event_id}
BeMob{clickId}https://YOUR-TRACKER-DOMAIN/postback?cid={sub1}&payout={commission}&txid={conversion_id}&status={status}
PeerClick{clickid}https://YOUR-TRACKER-DOMAIN/postback?cid={sub1}&payout={commission}&txid={conversion_id}&status={status}&currency={currency}
FunnelFlux Pro{hit}https://YOUR-TRACKER-DOMAIN/pb/?hit={sub1}&tx={conversion_id}&rev={commission}&status={status}

Para qualquer outro tracker, escolha "Outro / personalizado" e escreva o endereço com as macros de que você precisa.

Guias passo a passo por tracker: Keitaro, Binom, Voluum, RedTrack, BeMob, PeerClick, FunnelFlux Pro.

  • Uma conta pode ter até 10 destinos.
  • Um cadastro não envolve dinheiro: {commission} e {amount} ficam vazias para ele.
  • Uma macro que a RevRake não conhece é enviada como está, então um erro de digitação aparece no log de entregas.

Teste e leia o log de entregas

Clique em "Enviar teste" em um destino: uma conversão fictícia é enviada na hora e você vê o que o seu tracker respondeu. Cada postback real é uma linha no log de entregas, com cada tentativa e a resposta do tracker.

  • Uma entrega com falha é reenviada após 1 minuto, 5 minutos, 25 minutos, 2 horas, 10 horas e 24 horas. Depois da última tentativa, ela é marcada como desistida, e você pode reenviá-la manualmente.
  • Depois de 5 e de 15 falhas seguidas, você recebe um e-mail. Com 20, o destino é desligado; corrija o endereço e ligue-o de novo, e todos os postbacks que entraram na fila nesse meio-tempo são enviados. Um destino que você mesmo desligou não recebe nada novo.
  • Seu tracker precisa estar acessível em um endereço público e responder com um status 2xx em até 5 segundos.

Leia seus próprios números por API

Se você mantém seus próprios relatórios, crie uma chave na aba API do seu portal do afiliado. Ela começa com ak_. O segredo é exibido uma única vez, quando a chave é criada: copie-o nesse momento. Com ela você pode chamar GET /v1/reports, /v1/commissions, /v1/affiliates, /v1/links e /v1/deals, assinados como a referência descreve, e recebe seus próprios cliques, cadastros, primeiros depósitos e comissões, e nada de mais ninguém.

GET https://app.revrake.com/v1/reports?by=link&days=7
  • Sua chave não pode enviar eventos nem ler outros afiliados.
  • Criar uma nova chave desativa a antiga imediatamente. Você também pode revogar a chave e ficar sem nenhuma.
  • A chave funciona enquanto sua conta está aprovada no programa. Se não estiver, a resposta é 403 affiliate_inactive.
  • O status de uma comissão muda depois que a linha é gravada (em retenção, aprovada, paga ou rejeitada). Leia um período de novo em vez de buscar apenas as linhas novas.
  • Nunca peça a chave do operador e nunca compartilhe a sua. Sem chave, os mesmos números estão no seu portal, com downloads em CSV.

Pronto para conectar? Crie o seu programa e obtenha sua chave.

Você mesmo cria o seu programa: cadastre-se, confirme seu e-mail e em poucos minutos você está dentro. Gratuito para operadores, para sempre. Sem cartão.

Dúvidas? Escreva para hello@revrake.com