Руководство по интеграции

Подключите свою платформу к RevRake.

Пошаговое руководство для разработчика оператора и для партнёра. Ваша платформа делает две вещи: сохраняет метку из URL лендинга и сообщает об игроках — подписанными запросами или ежедневными файлами. Все поля, лимиты и коды ошибок — в справочнике API.

Как всё устроено

Партнёр размещает трекинговую ссылку. RevRake сохраняет клик и отправляет посетителя на ваш лендинг с двумя метками. Ваша платформа хранит метку до регистрации игрока, а затем сообщает RevRake об игроке и его деньгах. RevRake рассчитывает комиссию, сообщает о ней трекеру партнёра и закрывает месяц в выплату.

  1. Партнёр Трекинговая ссылка
  2. Посетитель track.revrake.com Клик сохранён
  3. Ваш лендинг приходит с cid и btag
  4. Ваша платформа хранит метку, регистрирует игрока
  5. RevRake app.revrake.com атрибуция, комиссии, реестр
  6. Трекер партнёрапостбэк
    Ежемесячная выплатаCSV

Ваша платформа → RevRake: Подписанные события или ежедневные файлы

Для разработчика оператора

Шаги в том порядке, в котором вы будете их выполнять.

1Создайте программу

Зарегистрируйтесь на app.revrake.com/signup со своим e-mail и подтвердите его по ссылке из письма. Ссылка действует один раз, в течение 48 часов. Подтверждение создаёт вашу программу и выполняет вход под вами как её администратором. Это бесплатно, и карта не нужна.

Затем подтвердите сайт, на который ведут ваши ссылки. Откройте страницу «Бренд», выберите «Подтвердите свой сайт» и опубликуйте то, что там показано: DNS-запись TXT revrake-verify=<token> на хосте или родительском домене либо тег <meta name="revrake-verify" content="<token>"> на лендинге. Затем нажмите кнопку проверки.

  • Пока сайт не подтверждён, посетитель, который открывает одну из ваших трекинговых ссылок, сначала видит короткую страницу с указанием, куда ведёт ссылка.

2Получите ключ

Откройте страницу «Интеграция» вашего портала оператора. На ней показаны эндпоинт, ID вашего ключа (начинается с pb_) и секрет. Увидеть секрет или сменить ключ может только администратор рабочего пространства.

Каждый запрос содержит три заголовка: ID ключа, текущее Unix-время в секундах и HMAC-SHA256 в hex от <timestamp>.<body> на секрете. В справочнике есть порядок действий с примерами на curl, Node.js, Python, PHP и Go и тестовый вектор для проверки вашего кода.

  • Смена ключа создаёт новый ключ и сразу отключает старый. Переведите платформу на новый ключ без промедления.
  • Храните секрет на своём сервере. Никогда не помещайте его в страницу или приложение.

4Сообщайте о регистрациях

Когда игрок регистрируется, отправьте событие registration с вашим ID игрока и click_id, btag или обоими. RevRake атрибутирует игрока один раз, в этот момент, и в ответе указано, какому партнёру и почему.

{"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"
  }
}

Игрок атрибутируется по правилу вашего бренда, заданному на странице «Интеграция»: последний клик (по умолчанию) или первый клик в пределах окна атрибуции от 1 до 365 дней (по умолчанию 30). Сначала проверяется click ID, затем btag, если правило не говорит, что при расхождении побеждает btag. Отправляйте каждую регистрацию, в том числе без метки: такие игроки записываются как неатрибутированные, и тогда известно, что их последующие депозиты не являются первыми депозитами игрока какого-либо партнёра. Если политика отдаёт приоритет промокоду, совпавший с ссылкой код проверяется раньше обоих, а несовпавший возвращает к ним. Сделка может задать своё окно, которое заменяет окно политики для кликов по ссылкам её партнёров.

  • Передавайте email_hash и ip, если хотите, чтобы проверка на самореферал опиралась не только на клик.
  • Передавайте country — двухбуквенный код страны игрока (ISO 3166-1 alpha-2, например GB), если какая-то из ваших сделок не платит за некоторые страны. Без него берётся страна клика, который привёл игрока.
  • Передавайте ts, если сообщаете с опозданием: тогда окно атрибуции отсчитывается от настоящего времени регистрации.
  • Передавайте promo_code, если игрок ввёл промокод при регистрации. Он атрибутирует игрока, только если этого не сделали ни click ID, ни btag (см. следующий шаг).
  • Передавайте email_domain, часть e-mail игрока после @, если вы включили правило одноразового email. Передавайте только домен: если придёт адрес целиком, у игрока сохранится только домен, но журнал входящих всё равно покажет запрос в том виде, в каком он пришёл.

5Используйте промокоды

Промокод засчитывает игрока партнёру без клика: игрок вводит его при регистрации. На странице «Промокоды» администратор добавляет код для одобренного партнёра, и код становится одной из ссылок этого партнёра, видной на его странице «Ссылки». Создайте такой же код в своей платформе и передавайте его вместе с регистрацией как promo_code или в столбце promo_code файла 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"
  }
}
  • Сначала проверяются click ID и btag. Промокод атрибутирует игрока, только если ни один из них этого не сделал, и тогда причина: promo_code.
  • Регистр букв в кодах не важен: GARAGE50 и garage50 означают один и тот же код. Код состоит из 2–40 букв, цифр, дефисов или подчёркиваний.
  • Выведенный код больше не засчитывает новых игроков; приведённые им игроки остаются за партнёром. Выведенный код больше никогда нельзя использовать в программе.
  • Если ничего другого для атрибуции не передано, неизвестный RevRake код получает причину unknown_promo_code, а выведенный: promo_code_retired. Код партнёра, который не одобрен, даёт affiliate_inactive.

6Сообщайте о депозитах

Отправляйте событие deposit для каждого депозита с ID транзакции в txn_id. Сделка определяет, сравнивать ли минимум CPA с первым депозитом или с суммой депозитов за вычетом чарджбэков. При выполнении условия создаётся одна комиссия CPA на игрока, в холде.

{"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"
  }
}
  • Передавайте first: true для первого депозита игрока, если ваша платформа это знает. Без него депозит считается первым, когда RevRake не знает более ранних депозитов этого игрока.
  • Передавайте валюту самого депозита в currency. Депозит в валюте, отличной от валюты сделки, сравнивается со сделкой по курсу этого дня.
  • Депозит может прийти раньше своей регистрации. Он сохраняется и оценивается, когда придёт регистрация.

7Сообщайте о чарджбэках

Отправьте событие chargeback с собственным txn_id и txn_id исходного депозита в ref_txn_id. Оно отменяет весь депозит. При накопительном CPA комиссия отзывается, только если оставшаяся зачётная сумма становится ниже минимума: комиссия в холде отклоняется, для одобренной или выплаченной добавляется строка отмены.

{"type":"chargeback","txn_id":"CB-5001","ref_txn_id":"TX-88213"}
  • О депозите нужно сообщить раньше. Чарджбэк по неизвестному депозиту отклоняется, а не сохраняется.
  • Чарджбэк по одному депозиту возможен один раз.

8Сообщайте о чистом игровом доходе

Для сделок с RevShare отправляйте событие ngr на игрока и период: чистый игровой доход (NGR) игрока за день (YYYY-MM-DD) или месяц (YYYY-MM), отрицательный, если игрок выиграл. По нему начисляется доля, заданная в сделке, в холде.

{"type":"ngr","player_id":"PLR-1001","period":"2026-10-03","amount":"118.40","currency":"KES"}
  • Игрок должен быть уже зарегистрирован; доход по неизвестному игроку отклоняется.
  • Если цифра изменилась, отправьте новую цифру за тот же период. Разница записывается как корректировка; ничего не переписывается.
  • Выберите дни или месяцы и не меняйте выбор. Месяц и его первый день являются разными периодами: 2026-10 не то же самое, что 2026-10-01. Месяц рассчитывается по версии сделки, действующей в его последний день, и холд считается с этого дня.
  • При желании добавьте ggr, bonuses, fees и taxes: из чего сложился чистый доход. Партнёр видит их рядом с комиссией; комиссия всегда рассчитывается от amount.

9Выберите: события в реальном времени, пакетная отправка или ежедневный файл

Все три варианта пополняют один реестр комиссий. События в реальном времени и пакеты описывают отдельные транзакции, файлы SALES — дневные сводки. Выберите вариант, который поддерживает ваша платформа.

POST https://app.revrake.com/v1/files?filename=sales-2026-10-03.csv
  • События в реальном времени. Один подписанный запрос на событие, в момент события. Партнёр видит игрока через несколько секунд. Подходит, если ваша платформа может вызвать URL при регистрации и при депозите.
  • Пакетная отправка. Те же события JSON-массивом до 1000 в одном запросе — например, из задачи, которая запускается каждые несколько минут, или для загрузки истории. На каждое событие приходит отдельный ответ.
  • Ежедневные файлы. CSV-файлы REG и SALES, которые ваша платформа уже выгружает для партнёрской системы: загружаются на странице «Интеграция», отправляются на POST /v1/files или RevRake сам забирает их с адреса, по которому их публикует ваша платформа (следующий шаг). Одна строка на игрока в день. Отправляйте файл REG раньше файла SALES за тот же день: доход по ещё не зарегистрированному игроку отклоняется.
  • Сводка SALES покрывает депозиты и чарджбэки игрока за день активности в указанной валюте и часовом поясе файлов. Покрытые постбэки повторно не суммируются независимо от порядка поступления; их ID транзакций остаются доступны для чарджбэков. Противоречивые суммы отклоняются. Разные ID транзакций по-прежнему означают разные депозиты, даже при одинаковой сумме.
  • SALES требует deposits (общая сумма депозитов за день, включая FTD), first_deposit_amount (только в день первого депозита, уже включён в общую сумму) и chargeback (отдельная сумма чарджбэков за день). Это дневные суммы, не итоги за всё время. Пустая ячейка означает ноль; суммы должны быть неотрицательными. На бренд, игрока и день сохраняется одна неизменяемая сводка: одинаковые повторные выгрузки — повтор, изменение денег или валюты — конфликт.
  • Деньги, полученные до REG, сохраняются и рассчитываются при поступлении регистрации; отклонённый NGR нужно повторить после REG. Дневные суммы используют курсы даты активности. Отсутствие курса или неоднозначный чарджбэк первого депозита может задержать выплату. Проверяйте отклонённые события и входящий журнал; до подключения экспорта прочтите полный контракт SALES.

10Пусть RevRake сам забирает ежедневный файл

Если ваша платформа публикует файл за каждый день по веб-адресу, RevRake может забирать его сам. На странице «Интеграция» администратор добавляет адрес файла: название (например, REG или SALES), адрес, способ входа и время суток. Каждый день в это время по часовому поясу вашего рабочего пространства RevRake в течение нескольких минут забирает вчерашний файл и импортирует его так же, как загруженный вручную.

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

→ GET https://reports.your-platform.example/affiliates/reg-2026-10-04.csv
  • В адресе {date} заменяется днём файла в виде YYYY-MM-DD, а {yyyymmdd} в виде YYYYMMDD. Используйте один адрес на файл: один для REG, один для SALES.
  • Вход: без входа, имя пользователя и пароль (HTTP Basic) или токен в заголовке Authorization: Bearer. Пароль или токен передаются только на адрес https://.
  • Если загрузка не импортировала файл по любой причине (404 или любой другой ответ, кроме 2xx, сетевая ошибка, слишком большой или нечитаемый файл), попытка повторяется каждый час до загрузки следующего дня. Каждый адрес загружается отдельно, поэтому сбой одного не задерживает остальные. Если файл опаздывает на 3 часа, администраторы рабочего пространства получают одно письмо, а страница «Интеграция» показывает файл как опаздывающий.
  • Загрузка следующего дня переходит к следующему дню. Чтобы восполнить пропущенный день или проверить адрес, нажмите «Забрать сейчас» и выберите день. Файл, загруженный дважды, ничего не записывает дважды.
  • Назначьте файлу REG более раннее время, чем файлу SALES: доход по ещё не зарегистрированному игроку отклоняется.
  • Файл может весить до 32 МБ. RevRake забирает файлы только с публичных адресов, проверяет сертификаты и прекращает попытку через минуту. Последние 30 загрузок каждого адреса перечислены с их итогом.

11Проверьте до запуска

Страница «Интеграция» умеет отправлять тестовое событие: регистрация проходит настоящий путь, вы видите, что произошло бы, и ничего не сохраняется. Используйте cid настоящего клика по одной из ваших трекинговых ссылок.

Каждый запрос, подписанный вашим ключом, и каждая импортированная или отклонённая строка файла есть в журнале входящих на той же странице, с результатом, причиной и телом в том виде, в каком оно пришло. Журнал показывает последние 50 записей за последние 7 дней. IP-адрес из тела никогда не сохраняется, а длинное тело обрезается до 4000 символов.

  • Прежде чем что-либо отправлять, проверьте свой код подписи по тестовому вектору.
  • Отправить одно и то же событие дважды безопасно. Второй ответ — это первый ответ с "status":"duplicate".

12Выберите правила антифрода

На странице «Флаги», вкладка «Правила», администратор включает и выключает правила антифрода. Каждое правило ставит свой флаг на пойманного игрока. Игрок остаётся атрибутирован, а его комиссии ждут на холде, пока кто-то не снимет или не подтвердит флаг в очереди проверки. Самореферал и всплески кликов включены с самого начала; правила ниже выключены, пока вы их не включите.

  • Клики с платной рекламы. Клик, который привёл игрока, нёс click ID рекламной сети (gclid, wbraid, fbclid, msclkid или ttclid): возможно, партнёр закупает трафик по названию вашего бренда.
  • Одноразовый email. Домен e-mail игрока есть в публичном списке одноразовых почтовых доменов. Нужен email_domain в регистрации.
  • Несовпадение страны. country регистрации отличается от страны клика.
  • Регистрация сразу после клика. Игрок зарегистрировался в течение заданного числа секунд (до 3600) после клика; такая быстрая регистрация похожа на скрипт.
  • Общий счёт для выплат. Партнёр сохраняет платёжные реквизиты, которые уже использует другой партнёр программы. Этот флаг не держит комиссий, но пока он открыт, строка выплаты партнёра при закрытии месяца удерживается. Должны совпасть и номер счёта, и код банка, без учёта регистра, пробелов и знаков препинания; номер счёта, в котором меньше четырёх букв или цифр, не сравнивается. Адрес криптокошелька или аккаунт электронного кошелька считается номером счёта. Флаг получает только тот партнёр, который сохраняет реквизиты.
  • Правила для игроков срабатывают один раз, при регистрации, для атрибутированных игроков; правилам о платном клике, стране и времени нужен клик, который привёл игрока. Правило действует с момента сохранения, а не для прежних игроков.
  • Открытые флаги могут решаться сами через выбранное вами число дней (от 1 до 365; 0, по умолчанию, значит никогда): сниматься или отклоняться. В очереди проверки можно снять или подтвердить до 200 флагов за раз.

13Чек-лист перед запуском

  • Лендинг хранит cid или btag до регистрации игрока, в том числе когда он возвращается позже в том же браузере.
  • Ваш код подписи воспроизводит тестовый вектор, а часы сервера синхронизированы (NTP).
  • Настоящий клик, а затем тестовая регистрация с его cid показывают нужного партнёра.
  • Регистрации отправляются по каждому игроку, а не только по игрокам с меткой.
  • В депозитах передаются стабильный txn_id и валюта.
  • При таймауте или 5xx ваша платформа отправляет событие снова, со свежей меткой времени.
  • Ответ 422 записывается на вашей стороне и разбирается: повтор не поможет.
  • Журнал входящих показывает accepted для каждого типа событий, который вы отправляете.

14Забирайте отчёты и комиссии в свой бэк-офис

Ваш бэкенд может читать то, что показывает портал, с тем же ключом и теми же тремя заголовками: GET /v1/reports возвращает отчёт страницы «Отчёты» в JSON или CSV, а GET /v1/commissions — реестр комиссий, страница за страницей. У запроса на чтение нет тела, поэтому подпись считается от пути и строки запроса в точности в том виде, в каком вы их отправляете. Все параметры и поля — в справочнике.

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
  • Статус комиссии меняется после записи строки: в холде, затем одобрена, затем выплачена — или отклонена. Не ограничивайтесь загрузкой новых строк. Перечитывайте период — например, последние 60 дней каждую ночь — и обновляйте уже имеющиеся строки по их id.
  • Суммы указаны в минимальных единицах, рядом с ними — валюта. Никогда не складывайте суммы в разных валютах; для итогов в вашей валюте отчётности используйте reporting_minor.
  • Не более 120 запросов на чтение в минуту на ключ. В каждом ответе указано, сколько их осталось, в X-RateLimit-Remaining. При 429 подождите столько секунд, сколько указано в Retry-After, и отправьте запрос снова.
  • Никогда не давайте свой ключ партнёру: он читает всю программу и может отправлять события. Каждый партнёр создаёт собственный ключ, который читает только его цифры.
  • Те же отчёты и реестр можно также скачать в CSV в портале.

15Получайте изменения в своих системах

Вебхуки передают то, что происходит в вашей программе, в ваши собственные системы (CRM, хранилище данных, чат-канал) в момент события: заявки и решения по партнёрам, зарегистрированных игроков, комиссии при создании, одобрении, отклонении, выплате или отмене, а также выплаты. На странице «Интеграция» администратор нажимает «Добавить эндпоинт», вводит адрес на вашем сервере и отмечает события. Секрет для подписи показывается один раз: скопируйте его сразу.

{
  "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"
  }
}

Каждое событие приходит как JSON-запрос POST, подписанный этим секретом, с телом, как в примере выше. В справочнике перечислены все события и поля, заголовки и код проверки на Node.js и Python.

  • Проверяйте подпись по сырому телу до его разбора и отвечайте 2xx в течение 5 секунд.
  • Отбрасывайте повторы по id из тела: одно событие может прийти больше одного раза.
  • Нажмите «Отправить тест», чтобы проверить эндпоинт. Журнал доставок каждого эндпоинта показывает, что было отправлено и что ответил ваш сервер.
  • Неудачная доставка повторяется примерно полтора дня. После 20 неудачных попыток подряд эндпоинт отключается; события продолжают вставать в очередь и отправляются, когда вы включите его снова.

16Устранение неполадок

  • bad_signature. Подписывайте точные байты, которые отправляете: ту же строку, а не заново сериализованную копию JSON. Подписываемый текст — метка времени, точка, затем тело. Подпись — hex в нижнем регистре. Проверьте, что в конце секрета нет пробела или перевода строки.
  • bad_timestamp. Метка времени должна быть в Unix-секундах (не в миллисекундах) и отличаться от реального времени не больше чем на пять минут. Синхронизируйте часы сервера и подписывайте каждый повтор свежей меткой времени.
  • unknown_key. В ID ключа опечатка, или ключ был сменён. Действующий ключ — на странице «Интеграция».
  • Всё считается повтором. Регистрации используют player_id, депозиты и чарджбэки — txn_id. Повторно используйте ID только для идентичного запроса. Изменение денег депозита или ссылки чарджбэка вызывает конфликт. Для каждой реальной транзакции используйте отдельный ID.
  • Игроки не атрибутируются. Посмотрите reason в ответе или в журнале входящих. no_tag: лендинг потерял метку до регистрации. unknown_click или unknown_btag: значение было изменено или обрезано по пути. outside_window: клик старше окна атрибуции. affiliate_inactive: партнёр не одобрен. unknown_promo_code или promo_code_retired: промокод не из ваших или выведен.
  • Я сообщаю обоими способами при смене интеграции. Сводка SALES покрывает постбэки игрока за день активности и в указанной валюте в часовом поясе файлов. Суммы учитываются один раз независимо от порядка поступления, а реальные txn_id остаются доступны. Сводка ниже известных транзакций или противоречивые данные о первом депозите отклоняются. Разные ID постбэков по-прежнему считаются отдельными депозитами.
  • Депозит пришёл раньше своей регистрации. В ответе есть "waiting_for_player": true. Ничего не потеряно: отправьте регистрацию, и депозит будет оценён.
  • По депозиту ничего не начислено. Причина указана в commission.reason: unattributed, not_first, below_threshold, country_blocked, no_cpa_in_deal, already_earned или no_deal_version.
  • Комиссия в холде с пометкой «ожидает курса валют». Депозит сделан в валюте, для которой на этот день ещё нет курса. Курсы обновляются каждый час; курс за день можно также ввести на странице «Курсы валют». Комиссия рассчитывается, как только курс появляется.
  • bad_signature при чтении. Для GET подписывайте метку времени, точку, затем путь и строку запроса в точности как при отправке, в том же порядке и в той же кодировке: /v1/reports?by=link&days=7. Если строки запроса нет, подписывайте только путь.
  • Поле отклонено. Поле, которого нет в справочнике, отклоняется, так что опечатка никогда не проходит молча. В ответе указано поле field и то, что исправить.

Для партнёров

Ссылки и постбэки настраиваются в вашем портале партнёра, ключ для них не нужен. Ключ нужен, только если вы хотите читать свои цифры по API.

Передавайте конверсии в свой трекер

На странице «Постбэки» добавьте адрес назначения: выберите свой трекер, замените хост в адресе на хост вашего трекера и отметьте события, о которых хотите узнавать. Всё в фигурных скобках — макросы, они подставляются для каждой конверсии.

В портале есть такие пресеты. В каждом из них click ID вашего трекера передаётся в sub1, а в {status} — слова, которые знает этот трекер:

ТрекерПередавайте в sub1 вашей ссылкиШаблон адреса
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}

Для любого другого трекера выберите «Другой / свой» и напишите адрес с нужными макросами.

Пошаговые руководства по трекерам: Keitaro, Binom, Voluum, RedTrack, BeMob, PeerClick, FunnelFlux Pro.

  • У аккаунта может быть до 10 адресов назначения.
  • Регистрация не несёт денег: {commission} и {amount} для неё пусты.
  • Макрос, неизвестный RevRake, отправляется как есть, так что опечатка видна в журнале доставок.

Проверьте постбэк и читайте журнал доставок

Нажмите «Отправить тест» у адреса назначения: сразу отправляется вымышленная конверсия, и вы видите, что ответил ваш трекер. Каждый настоящий постбэк — строка в журнале доставок, с каждой попыткой и ответом трекера.

  • Неудачная доставка повторяется через 1 минуту, 5 минут, 25 минут, 2 часа, 10 часов и 24 часа. После последней попытки доставка помечается как остановленная, и вы можете отправить её вручную.
  • После 5 и после 15 неудач подряд вы получаете e-mail. После 20 адрес назначения выключается; исправьте адрес и включите его снова — все постбэки, вставшие в очередь за это время, будут отправлены. Адрес назначения, который вы выключили сами, ничего нового не получает.
  • Ваш трекер должен быть доступен по публичному адресу и отвечать статусом 2xx в течение 5 секунд.

Читайте свои цифры по API

Если вы ведёте собственную отчётность, создайте ключ на вкладке «API» вашего портала партнёра. Он начинается с ak_. Секрет показывается один раз, при создании ключа: скопируйте его сразу. С ним вы можете вызывать GET /v1/reports, /v1/commissions, /v1/affiliates, /v1/links и /v1/deals с подписью, как описано в справочнике, и получаете свои клики, регистрации, первые депозиты и комиссии — и ничего чужого.

GET https://app.revrake.com/v1/reports?by=link&days=7
  • Ваш ключ не может отправлять события и не может читать данные других партнёров.
  • Создание нового ключа сразу отключает старый. Ключ можно также отозвать и остаться без ключа.
  • Ключ работает, пока ваш аккаунт одобрен в программе. Если нет, ответ — 403 affiliate_inactive.
  • Статус комиссии меняется после записи строки (в холде, одобрена, выплачена или отклонена). Перечитывайте период, а не только загружайте новые строки.
  • Никогда не просите у оператора его ключ и никому не передавайте свой. Без ключа те же цифры есть в вашем портале, с выгрузкой в CSV.

Готовы подключаться? Создайте программу и получите ключ.

Вы создаёте программу сами: зарегистрируйтесь, подтвердите e-mail — и через несколько минут вы внутри. Бесплатно для операторов, навсегда. Без карты.

Вопросы? Пишите на hello@revrake.com