Reliez votre plateforme à RevRake.
Un guide pas à pas pour le développeur d'un opérateur et pour un affilié. Votre plateforme fait deux choses : elle conserve un tag de l'URL d'arrivée, et elle déclare les joueurs, par requêtes signées ou par fichiers quotidiens. Chaque champ, chaque limite et chaque code d'erreur se trouve dans la référence de l'API.
Vue d'ensemble
Un affilié partage un lien de tracking. RevRake enregistre le clic et envoie le visiteur vers votre landing page avec deux tags. Votre plateforme conserve un tag jusqu'à l'inscription du joueur, puis déclare à RevRake le joueur et son argent. RevRake calcule la commission, informe le tracker de l'affilié et clôture le mois en un paiement.
- Affilié Lien de tracking
- Visiteur track.revrake.com Clic enregistré
- Votre landing page arrive avec
cidetbtag - Votre plateforme conserve le tag, inscrit le joueur
- RevRake app.revrake.com attribution, commissions, grand livre
- Tracker de l'affiliépostbackPaiement mensuelCSV
Votre plateforme → RevRake: Événements signés ou fichiers quotidiens
Pour le développeur de l'opérateur
Les étapes, dans l'ordre où vous les ferez.
1Créez votre programme
Inscrivez-vous sur app.revrake.com/signup avec votre e-mail et confirmez-le avec le lien que nous envoyons. Le lien fonctionne une fois, pendant 48 heures. La confirmation crée votre programme et vous connecte comme son admin. C'est gratuit et sans carte bancaire.
Vérifiez ensuite le site vers lequel mènent vos liens. Ouvrez la page Marque, choisissez « Vérifiez votre site » et publiez ce qu'elle affiche : un enregistrement DNS TXT revrake-verify=<token> sur l'hôte ou un domaine parent, ou la balise <meta name="revrake-verify" content="<token>"> sur la landing page. Lancez ensuite la vérification.
- Tant que le site n'est pas vérifié, un visiteur qui ouvre l'un de vos liens de tracking voit d'abord une courte page indiquant où mène le lien.
2Obtenez votre clé
Ouvrez la page Intégration de votre portail opérateur. Elle affiche l'endpoint, votre identifiant de clé (il commence par pb_) et le secret. Seul un admin de l'espace de travail peut voir le secret ou renouveler la clé.
Chaque requête porte trois en-têtes : l'identifiant de clé, l'heure Unix actuelle en secondes, et le HMAC-SHA256 en hexadécimal de <timestamp>.<body> avec le secret. La référence donne la marche à suivre, avec des exemples en curl, Node.js, Python, PHP et Go, et un vecteur de test pour vérifier votre code.
- Renouveler la clé en crée une nouvelle et arrête l'ancienne immédiatement. Faites passer votre plateforme à la nouvelle clé sans attendre.
- Gardez le secret sur votre serveur. Ne le mettez jamais dans une page ni dans une application.
3Conservez cid ou btag à l'inscription
Un lien de tracking redirige le visiteur vers votre landing page et ajoute deux paramètres :
https://track.revrake.com/c/<code>?utm_source=telegram&sub1=<tracker click id>
→ https://your-site.example/landing?cid=<click id>&btag=1001_1&utm_source=telegram Stockez l'un des deux avec le visiteur (un cookie ou votre session) et enregistrez-le sur le joueur à son inscription. C'est cette valeur qui attribue le joueur.
cidest le click ID : 26 lettres et chiffres. Traitez-le comme une chaîne opaque et stockez-le comme du texte. Il donne l'attribution la plus exacte.btagest<numéro d'affilié>_<numéro de lien>, uniquement des chiffres, le format que les plateformes de casino stockent déjà sur un joueur. Utilisez-le quand votre plateforme a un champ btag et pas de place pour un click ID.- Si l'URL d'arrivée des réglages de votre marque contient
{click_id}, le click ID y est placé au lieu d'être ajouté encid. - Les tags UTM du lien de tracking sont transmis à votre landing page.
4Déclarez les inscriptions
Quand un joueur s'inscrit, envoyez un événement registration avec votre identifiant du joueur et le click_id, le btag, ou les deux. RevRake attribue le joueur une seule fois, à ce moment-là, et la réponse dit à quel affilié et pourquoi.
{"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"
}
} Un joueur est attribué selon la politique de votre marque, réglée sur la page Intégration : dernier clic (par défaut) ou premier clic, dans une fenêtre d'attribution de 1 à 365 jours (30 par défaut). Le click ID est essayé d'abord, puis le btag, sauf si la politique dit que le btag l'emporte quand les deux divergent. Envoyez toutes les inscriptions, y compris celles sans tag : elles sont enregistrées comme non attribuées, et l'on sait alors que leurs dépôts ultérieurs ne sont pas les premiers dépôts du joueur d'un affilié. Quand la politique fait primer le code promo, un code qui correspond à un lien est essayé avant les deux, et un code qui ne correspond pas revient à eux. Un accord peut fixer sa propre fenêtre, qui remplace celle de la politique pour les clics sur les liens de ses affiliés.
- Envoyez
email_hashetipsi vous voulez que le contrôle d'auto-parrainage s'appuie sur plus que le clic. - Envoyez
country, le code pays du joueur sur deux lettres (ISO 3166-1 alpha-2, par exempleGB), si l'un de vos deals ne paie pas pour certains pays. Sans lui, le pays du clic qui a amené le joueur est utilisé. - Envoyez
tsquand vous déclarez en retard, pour que la fenêtre d'attribution soit mesurée à partir de l'heure réelle de l'inscription. - Envoyez
promo_codequand le joueur a saisi un code promo à l'inscription. Il n'attribue le joueur que si ni le click ID ni le btag ne le font (voir l'étape suivante). - Envoyez
email_domain, la partie de l'e-mail du joueur après le@, si vous activez la règle e-mail jetable. N'envoyez que le domaine : si une adresse complète arrive, seul le domaine est gardé sur le joueur, mais le journal des entrées montre toujours la requête telle qu'elle est arrivée.
5Utilisez des codes promo
Un code promo crédite un joueur à un affilié sans clic : le joueur le saisit à l'inscription. Sur la page Codes promo, un admin ajoute un code pour un affilié approuvé, et le code devient l'un des liens de cet affilié, affiché sur sa page Liens. Créez le même code dans votre plateforme, puis envoyez-le avec l'inscription dans promo_code, ou dans la colonne promo_code du fichier 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"
}
} - Le click ID et le btag passent d'abord. Le code promo n'attribue le joueur que si aucun des deux ne le fait, et la raison est alors
promo_code. - Les codes ne sont pas sensibles à la casse :
GARAGE50etgarage50sont le même code. Un code compte de 2 à 40 lettres, chiffres, traits d'union ou tirets bas. - Retirer un code l'empêche de créditer de nouveaux joueurs ; les joueurs qu'il a apportés restent à l'affilié. Un code retiré ne peut plus jamais être utilisé dans le programme.
- Quand rien d'autre n'a été envoyé pour attribuer le joueur, un code que RevRake ne connaît pas reçoit la raison
unknown_promo_code, et un code retirépromo_code_retired. Le code d'un affilié qui n'est pas approuvé donneaffiliate_inactive.
6Déclarez les dépôts
Envoyez un événement deposit par dépôt, avec votre identifiant de transaction dans txn_id. Le deal compare son minimum CPA au premier dépôt ou aux dépôts cumulés, déduction faite des chargebacks. La qualification crée une commission CPA par joueur, en rétention.
{"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"
}
} - Envoyez
first: truesur le premier dépôt du joueur si votre plateforme le sait. Sans cela, un dépôt compte comme premier si RevRake n'en connaît aucun antérieur pour ce joueur. - Envoyez la
currencydu dépôt lui-même. Un dépôt dans une autre devise que celle du deal est comparé au deal au taux de change du jour. - Un dépôt peut arriver avant son inscription. Il est conservé, et valorisé quand l'inscription arrive.
7Déclarez les chargebacks
Envoyez un événement chargeback avec son propre txn_id et le txn_id du dépôt initial dans ref_txn_id. Il annule ce dépôt en totalité. Pour le CPA cumulé, la commission est reprise seulement si le total admissible restant passe sous le minimum : une commission en rétention est annulée ; une commission approuvée ou payée reçoit une ligne d’annulation.
{"type":"chargeback","txn_id":"CB-5001","ref_txn_id":"TX-88213"} - Le dépôt doit avoir été déclaré d'abord. Le chargeback d'un dépôt inconnu est refusé, pas conservé.
- Un dépôt ne peut faire l'objet que d'un seul chargeback.
8Déclarez le revenu net de jeu (NGR)
Pour les deals en RevShare, envoyez un événement ngr par joueur et par période : le revenu net de jeu (NGR) du joueur pour un jour (YYYY-MM-DD) ou un mois (YYYY-MM), négatif quand le joueur a gagné. Il rapporte la part fixée dans le deal, en rétention.
{"type":"ngr","player_id":"PLR-1001","period":"2026-10-03","amount":"118.40","currency":"KES"} - Le joueur doit d'abord être inscrit ; le revenu d'un joueur inconnu est refusé.
- Si un chiffre change, envoyez le nouveau chiffre pour la même période. La différence est enregistrée comme un ajustement ; rien n'est réécrit.
- Choisissez les jours ou les mois et tenez-vous-y. Un mois et son premier jour sont deux périodes différentes :
2026-10n'est pas2026-10-01. Un mois est tarifé selon la version du deal en vigueur à son dernier jour et retenu à partir de ce jour. - Ajoutez si vous le souhaitez
ggr,bonuses,feesettaxes: comment le revenu net a été obtenu. L'affilié les voit à côté de la commission ; la commission est toujours tarifée suramount.
9Choisissez entre événements en direct, lots et fichier quotidien
Les trois options alimentent le même grand livre de commissions. Les événements en direct et les lots décrivent des transactions individuelles ; les fichiers SALES décrivent des récapitulatifs quotidiens. Choisissez selon les possibilités de votre plateforme.
POST https://app.revrake.com/v1/files?filename=sales-2026-10-03.csv - Événements en direct. Une requête signée par événement, au moment où il se produit. L'affilié voit le joueur en quelques secondes. Utilisez ce mode si votre plateforme peut appeler une URL à l'inscription et au dépôt.
- Lots. Les mêmes événements, en un tableau JSON de 1 000 au plus par requête, par exemple depuis une tâche qui tourne toutes les quelques minutes ou pour une reprise d'historique. Chaque événement reçoit sa propre réponse.
- Fichiers quotidiens. Les fichiers CSV REG et SALES que votre plateforme exporte déjà pour un système d'affiliation, importés sur la page Intégration, envoyés à
POST /v1/files, ou récupérés par RevRake à une adresse où votre plateforme les publie (étape suivante). Une ligne par joueur et par jour. Envoyez le fichier REG avant le fichier SALES du même jour : le revenu d'un joueur qui n'est pas encore inscrit est refusé. - Un récapitulatif SALES couvre les dépôts et chargebacks du joueur pour le jour d’activité et la devise, dans le fuseau des fichiers. Les postbacks couverts ne sont pas additionnés une seconde fois, quel que soit leur ordre d’arrivée ; leurs identifiants restent utilisables pour les chargebacks. Les totaux contradictoires sont refusés. Des identifiants de transaction distincts restent des dépôts distincts, même de montant égal.
- SALES exige
deposits(dépôts bruts du jour, FTD compris),first_deposit_amount(uniquement le jour du premier dépôt, déjà compris dans le brut) etchargeback(montant distinct des chargebacks du jour). Ce sont des montants quotidiens, pas des cumuls historiques. Une cellule vide vaut zéro ; les montants doivent être non négatifs. Un récapitulatif immuable est conservé par marque, joueur et jour : un réexport identique est un replay ; modifier les montants ou la devise crée un conflit. - Les montants reçus avant REG sont conservés et calculés à l’arrivée de l’inscription ; le NGR refusé doit être renvoyé après REG. Les montants quotidiens utilisent les taux de leur date d’activité. Un taux manquant ou un chargeback ambigu du premier dépôt peut retenir le paiement. Vérifiez les événements refusés et le journal entrant ; lisez le contrat SALES complet avant de connecter votre export.
10Laissez RevRake récupérer le fichier quotidien
Si votre plateforme publie le fichier de chaque jour à une adresse web, RevRake peut le récupérer tout seul. Sur la page Intégration, un admin ajoute une adresse de fichier : un nom (comme REG ou SALES), l'adresse, la façon de se connecter et l'heure. Chaque jour à cette heure, dans le fuseau horaire de votre espace de travail, RevRake récupère le fichier de la veille en quelques minutes et l'importe exactement comme un téléversement.
https://reports.your-platform.example/affiliates/reg-{date}.csv
→ GET https://reports.your-platform.example/affiliates/reg-2026-10-04.csv - Dans l'adresse,
{date}devient le jour du fichier au formatYYYY-MM-DD, et{yyyymmdd}devientYYYYMMDD. Utilisez une adresse par fichier : une pour REG, une pour SALES. - Connexion : aucune, un nom d'utilisateur et un mot de passe (HTTP Basic), ou un token envoyé en
Authorization: Bearer. Un mot de passe ou un token n'est envoyé qu'à une adressehttps://. - Une récupération qui n'importe pas de fichier, quelle qu'en soit la raison (un
404ou toute autre réponse qu'un2xx, une erreur réseau, un fichier trop gros ou illisible), est retentée toutes les heures jusqu'à la récupération du lendemain. Chaque adresse est récupérée séparément : une qui échoue ne retarde pas les autres. Quand il a 3 heures de retard, les admins de l'espace de travail reçoivent un seul e-mail, et la page Intégration affiche le fichier comme en retard. - La récupération du lendemain passe au jour suivant. Pour combler un jour manqué, ou pour tester l'adresse, appuyez sur « Récupérer maintenant » et choisissez le jour. Un fichier récupéré deux fois n'enregistre rien deux fois.
- Donnez au fichier REG une heure plus tôt qu'au fichier SALES : le revenu d'un joueur qui n'est pas encore inscrit est refusé.
- Un fichier peut peser jusqu'à 32 Mo. RevRake ne récupère qu'à des adresses publiques, vérifie les certificats et abandonne au bout d'une minute. Les 30 dernières récupérations de chaque adresse sont listées avec leur résultat.
11Testez avant la mise en production
La page Intégration peut envoyer un événement de test : il fait passer une inscription par le vrai parcours, montre ce qui se passerait et n'enregistre rien. Utilisez-le avec un cid issu d'un vrai clic sur l'un de vos liens de tracking.
Chaque requête signée avec votre clé et chaque ligne de fichier importée ou refusée figure dans le journal des entrées de la même page avec son résultat, la raison et le corps tel qu'il est arrivé. Il affiche les 50 dernières des 7 derniers jours. L'adresse IP d'un corps n'est jamais conservée, et un corps long est coupé à 4 000 caractères.
- Vérifiez votre code de signature avec le vecteur de test avant d'envoyer quoi que ce soit.
- Envoyer deux fois le même événement est sans risque. La seconde réponse est la première, avec
"status":"duplicate".
12Choisissez vos règles anti-fraude
Sur la page Signalements, onglet Règles, un admin active et désactive les règles anti-fraude. Chaque règle lève sa propre alerte sur un joueur qu'elle attrape. Le joueur reste attribué, et ses commissions restent en rétention jusqu'à ce que quelqu'un lève ou confirme l'alerte dans la file d'examen. L'auto-parrainage et les rafales de clics sont actifs dès le départ ; les règles ci-dessous restent désactivées tant que vous ne les activez pas.
- Clics publicitaires payants. Le clic qui a amené le joueur portait le click ID d'un réseau publicitaire (
gclid,wbraid,fbclid,msclkidouttclid), ce qui peut signifier que l'affilié enchérit sur le nom de votre marque. - E-mail jetable. Le domaine de l'e-mail du joueur figure sur une liste publique de domaines d'e-mail jetables. Il faut
email_domainsur l'inscription. - Pays différent. Le
countryde l'inscription diffère du pays du clic. - Inscription peu après le clic. Le joueur s'est inscrit dans le nombre de secondes que vous fixez (jusqu'à 3 600) après le clic ; une inscription aussi rapide semble automatisée.
- Compte de paiement partagé. Un affilié enregistre des coordonnées de paiement qu'un autre affilié du programme utilise déjà. Cette alerte ne retient aucune commission, mais tant qu'elle est ouverte, la ligne de paiement de l'affilié est retenue à la clôture mensuelle. Le numéro de compte et le code de routage doivent tous deux correspondre, sans tenir compte de la casse, des espaces ni de la ponctuation ; un numéro de compte de moins de quatre lettres ou chiffres n'est pas comparé. Une adresse de portefeuille crypto ou un compte de portefeuille électronique compte comme numéro de compte. Seul l'affilié qui enregistre les coordonnées est signalé.
- Les règles joueur s'appliquent une fois, à l'inscription, aux joueurs attribués ; les règles clic payant, pays et délai ont besoin du clic qui a amené le joueur. Une règle s'applique dès son enregistrement, pas aux joueurs antérieurs.
- Les alertes ouvertes peuvent se décider seules après un nombre de jours que vous choisissez (1 à 365 ; 0, la valeur par défaut, signifie jamais), levées ou rejetées. Dans la file d'examen, vous pouvez lever ou confirmer jusqu'à 200 alertes à la fois.
13Liste de contrôle avant la mise en production
- La landing page conserve
cidoubtagjusqu'à l'inscription du joueur, y compris quand il revient plus tard dans le même navigateur. - Votre code de signature reproduit le vecteur de test, et l'horloge de votre serveur est synchronisée (NTP).
- Un vrai clic, puis une inscription de test avec son
cid, affiche le bon affilié. - Les inscriptions sont envoyées pour tous les joueurs, pas seulement pour ceux qui portent un tag.
- Les dépôts portent un
txn_idstable et leur devise. - En cas de délai dépassé ou de
5xx, votre plateforme renvoie l'événement, avec un timestamp frais. - Un
422est journalisé de votre côté et examiné : un nouvel essai n'aboutira pas. - Le journal des entrées affiche
acceptedpour chaque type d'événement que vous envoyez.
14Récupérez les rapports et les commissions dans votre back-office
Votre backend peut lire ce que le portail affiche, avec la même clé et les trois mêmes en-têtes : GET /v1/reports renvoie le rapport de la page Rapports, en JSON ou en CSV, et GET /v1/commissions renvoie le grand livre des commissions page par page. Une lecture n'a pas de corps : la signature porte donc sur le chemin et la query, exactement tels que vous les envoyez. La référence décrit chaque paramètre et chaque champ.
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 - Le statut d'une commission change après l'écriture de la ligne : en rétention, puis approuvée, puis payée, ou rejetée. Ne récupérez pas seulement les nouvelles lignes. Relisez une période, par exemple les 60 derniers jours chaque nuit, et mettez à jour les lignes que vous avez déjà d'après leur
id. - Les montants sont en unités mineures, avec la devise à côté. N'additionnez jamais des montants de devises différentes ; utilisez
reporting_minorpour les totaux dans votre devise de reporting. - 120 lectures par minute et par clé au plus. Chaque réponse indique combien il en reste dans
X-RateLimit-Remaining. Sur un429, attendez le nombre de secondes indiqué dansRetry-Afteret renvoyez la requête. - Ne donnez jamais votre clé à un affilié : elle lit tout le programme et peut envoyer des événements. Chaque affilié crée sa propre clé, qui ne lit que ses propres chiffres.
- Les mêmes rapports et le grand livre peuvent aussi être téléchargés en CSV dans le portail.
15Être informé des changements dans vos propres systèmes
Les webhooks envoient ce qui se passe dans votre programme à vos propres systèmes (un CRM, un entrepôt de données, un canal de discussion) au moment où cela se produit : candidatures et décisions sur les affiliés, joueurs inscrits, commissions créées, approuvées, refusées, payées ou annulées, et paiements. Sur la page Intégration, un admin clique sur « Ajouter un endpoint », saisit l'adresse sur votre serveur et coche les événements. Le secret de signature n'est affiché qu'une fois : copiez-le à ce moment-là.
{
"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"
}
} Chaque événement est un POST JSON signé avec ce secret, avec un corps comme celui ci-dessus. La référence liste chaque événement et chaque champ, les en-têtes, et le code de vérification en Node.js et en Python.
- Vérifiez la signature sur le corps brut avant de l'analyser, et répondez par un
2xxen moins de 5 secondes. - Écartez les doublons grâce à l'
iddu corps : un événement peut arriver plus d'une fois. - Cliquez sur « Envoyer un test » pour vérifier votre endpoint. Le journal des envois de chaque endpoint montre ce qui a été envoyé et ce que votre serveur a répondu.
- Un envoi échoué est réessayé pendant environ un jour et demi. Après 20 tentatives échouées d'affilée, l'endpoint est désactivé ; les événements continuent de s'accumuler et sont envoyés quand vous le réactivez.
16Dépannage
bad_signature. Signez les octets exacts que vous envoyez : la même chaîne, pas une copie resérialisée du JSON. Le texte signé est le timestamp, un point, puis le corps. La signature est en hexadécimal minuscule. Vérifiez que le secret ne se termine pas par une espace ou un saut de ligne.bad_timestamp. Le timestamp doit être en secondes Unix (pas en millisecondes) et à moins de cinq minutes de l'heure réelle. Synchronisez l'horloge du serveur, et signez chaque nouvel essai avec un timestamp frais.unknown_key. L'identifiant de clé est mal saisi, ou la clé a été renouvelée. La clé actuelle se trouve sur la page Intégration.- Tout est en double. Les inscriptions utilisent
player_id; les dépôts et chargebacks utilisenttxn_id. Réutilisez un identifiant uniquement pour un nouvel envoi identique. Modifier les montants du dépôt ou la référence du chargeback crée un conflit. Utilisez un identifiant distinct pour chaque transaction réelle. - Les joueurs ne sont pas attribués. Regardez la
reasondans la réponse ou dans le journal des entrées.no_tag: la landing page a perdu le tag avant l'inscription.unknown_clickouunknown_btag: la valeur a été modifiée ou tronquée en chemin.outside_window: le clic est plus ancien que la fenêtre d'attribution.affiliate_inactive: l'affilié n'est pas approuvé.unknown_promo_codeoupromo_code_retired: le code promo n'est pas l'un des vôtres, ou a été retiré. - Je déclare par les deux voies pendant un changement d’intégration. Un récapitulatif SALES couvre les postbacks du joueur, du jour d’activité et de la devise dans le fuseau des fichiers. Les montants comptent une fois, quel que soit l’ordre d’arrivée, et les
txn_idréels restent utilisables. Un récapitulatif inférieur aux transactions connues ou des preuves contradictoires du premier dépôt sont refusés. Des identifiants de postback différents restent des dépôts distincts. - Un dépôt est arrivé avant son inscription. La réponse contient
"waiting_for_player": true. Rien n'est perdu : envoyez l'inscription, et le dépôt est alors valorisé. - Un dépôt n'a rien rapporté. La
commission.reasondit pourquoi :unattributed,not_first,below_threshold,country_blocked,no_cpa_in_deal,already_earnedouno_deal_version. - Une commission est en rétention avec « taux de change manquant ». Le dépôt est dans une devise pour laquelle il n'y a pas encore de taux ce jour-là. Les taux sont actualisés toutes les heures ; vous pouvez aussi saisir un taux pour le jour sur la page Taux de change. La commission est réglée dès qu'un taux existe.
bad_signaturesur une lecture. Pour unGET, signez le timestamp, un point, puis le chemin et la query exactement tels qu'ils sont envoyés, dans le même ordre et avec le même encodage :/v1/reports?by=link&days=7. Sans query, signez le chemin seul.- Un champ est refusé. Un champ qui n'est pas dans la référence est refusé, de sorte qu'une faute de frappe n'est jamais ignorée en silence. La réponse nomme le
fieldet dit quoi corriger.
Pour les affiliés
Les liens et les postbacks se configurent dans votre portail affilié et ne demandent aucune clé. Une clé n'est nécessaire que si vous voulez lire vos chiffres par API.
Liens, sub-IDs et tags UTM
Créez un lien de tracking par campagne sur la page Liens de tracking. Chaque lien a sa propre adresse courte et son propre btag, et peut atterrir sur une page du site du programme que vous choisissez.
https://track.revrake.com/c/a8Kq2Zx?sub1={clickid}&utm_source=telegram&utm_campaign=october Ajoutez vos propres valeurs au lien quand vous le placez. Elles sont enregistrées avec chaque clic :
sub1àsub5: jusqu'à 200 caractères chacun. Mettez le click ID de votre tracker danssub1; il vous revient dans vos postbacks.utm_source,utm_medium,utm_campaign,utm_term,utm_content: enregistrés avec le clic et transmis à la landing page.- Une valeur fixée sur le lien dans le portail est utilisée, sauf si l'adresse que vous placez porte la sienne.
- Les bots, les aperçus de liens et les clics répétés sont enregistrés et signalés, et exclus de vos décomptes de clics.
- Donnez à un lien un nom court à dire en stream ou à imprimer : il s'ouvre aussi à
track.revrake.com/go/<name>. Chaque lien a un QR code à télécharger en PNG ou SVG.
Envoyez les conversions à votre tracker
Sur la page Postbacks, ajoutez une destination : choisissez votre tracker, remplacez l'hôte de l'adresse par celui de votre tracker, et cochez les événements dont vous voulez être informé. Tout ce qui est entre accolades est une macro, renseignée pour chaque conversion.
Le portail fournit ces presets. Dans chacun, le click ID de votre tracker voyage dans sub1, et {status} porte les mots que ce tracker connaît :
| Tracker | À mettre dans le sub1 de votre lien | Modèle d'adresse |
|---|---|---|
| Keitaro | {subid} | https://YOUR-TRACKER-DOMAIN/POSTBACK-KEY/postback?subid={sub1}&status={status}&payout={commission}¤cy={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}¤cy={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}¤cy={currency} |
| FunnelFlux Pro | {hit} | https://YOUR-TRACKER-DOMAIN/pb/?hit={sub1}&tx={conversion_id}&rev={commission}&status={status} |
Pour tout autre tracker, choisissez « Other / custom » et écrivez l'adresse avec les macros dont vous avez besoin.
Guides pas à pas par tracker : Keitaro, Binom, Voluum, RedTrack, BeMob, PeerClick, FunnelFlux Pro.
- Un compte peut avoir jusqu'à 10 destinations.
- Une inscription ne porte pas d'argent :
{commission}et{amount}sont vides pour elle. - Une macro que RevRake ne connaît pas est envoyée telle quelle, de sorte qu'une faute de frappe apparaît dans le journal des envois.
Testez et lisez le journal des envois
Cliquez sur « Envoyer un test » sur une destination : une conversion fictive est envoyée immédiatement et vous voyez ce que votre tracker a répondu. Chaque vrai postback est une ligne du journal des envois, avec chaque tentative et la réponse du tracker.
- Un envoi échoué est retenté après 1 minute, 5 minutes, 25 minutes, 2 heures, 10 heures et 24 heures. Après le dernier essai, il est marqué comme abandonné, et vous pouvez le relancer à la main.
- Après 5 puis 15 échecs d'affilée, vous recevez un e-mail. À 20, la destination est désactivée ; corrigez l'adresse et réactivez-la, et tous les postbacks mis en file d'attente entre-temps sont envoyés. Une destination que vous désactivez vous-même ne reçoit rien de nouveau.
- Votre tracker doit être joignable sur une adresse publique et répondre par un statut
2xxen 5 secondes.
Lisez vos propres chiffres par API
Si vous tenez votre propre reporting, créez une clé dans l'onglet API de votre portail affilié. Elle commence par ak_. Le secret est affiché une seule fois, à la création de la clé : copiez-le à ce moment-là. Avec elle, vous pouvez appeler GET /v1/reports, /v1/commissions, /v1/affiliates, /v1/links et /v1/deals, signés comme le décrit la référence, et vous obtenez vos propres clics, inscriptions, premiers dépôts et commissions, et rien de personne d'autre.
GET https://app.revrake.com/v1/reports?by=link&days=7 - Votre clé ne peut pas envoyer d'événements et ne peut pas lire les autres affiliés.
- Créer une nouvelle clé arrête l'ancienne immédiatement. Vous pouvez aussi révoquer la clé et n'en avoir aucune.
- La clé fonctionne tant que votre compte est approuvé dans le programme. S'il ne l'est pas, la réponse est
403affiliate_inactive. - Le statut d'une commission change après l'écriture de la ligne (en rétention, approuvée, payée, ou rejetée). Relisez une période au lieu de ne récupérer que les nouvelles lignes.
- Ne demandez jamais sa clé à l'opérateur, et ne partagez jamais la vôtre. Sans clé, les mêmes chiffres sont dans votre portail, avec des téléchargements CSV.
Prêt à vous connecter ? Créez votre programme et obtenez votre clé.
Vous créez votre programme vous-même : inscrivez-vous, confirmez votre e-mail, et vous y êtes en quelques minutes. Gratuit pour les opérateurs, pour toujours. Sans carte bancaire.
Des questions ? Écrivez à hello@revrake.com