Настройка автосверки через postback

Принцип работы автосверки через postback схож с автосверкой через XML, но в данном случае ваш сервер сам отправляет запрос с данными об обработанных действиях серверу Admitad. Такой способ считается более защищенным и потому популярен среди финансовых программ.

О том, что такое «сверка» и «автосверка», читайте в этой статье.

При автосверке через postback данные в статистике Admitad обновляются оперативнее, поскольку запрос отправляется в момент изменения статуса действия или каждые 2-3 часа (в зависимости от настроек автосверки), а не раз в день как при сверке через XML.
Сверять можно только заказы, находящиеся в ожидании на момент сверки.

Подтверждение заказа означает, что вы готовы выплатить веб-мастеру вознаграждение за этот заказ. После того как вы подтвердите заказ, веб-мастер может вывести вознаграждение из системы, поэтому настоятельно рекомендуем проводить все необходимые проверки по заказу до его подтверждения.

Сверять заказы можно 2 способами:

Сверка через подпись запроса

Этот способ удобен тем, что не требуется указывать IP-адрес. Он подойдет вам, если у вас динамический диапазон IP-адресов.

Для подписи запроса на сверку используется HMAC-SHA1 алгоритм для campaign_code и order_id (ваш номер программы и номер заказа одной строкой без пробелов и спецсимволов). Все строки должны быть в utf-8. Пример на Python 3.7.2/2.7 (IPython)

In [16]: import hmac 

In [17]: import hashlib 

In [18]: campaign_code = u'campaign_code'.encode('utf-8') 

In [19]: order_id = u'my_order_id_here'.encode('utf-8') 

In [20]: revision_secret_key = u'0123456789acbdef'.encode('utf-8')
 
In [22]: revision_sign = hmac.new(revision_secret_key, campaign_code + order_id, hashlib.sha1).hexdigest() 

In [23]: print(revision_sign) '01ae14a1c4ef90e6ce48c65525833e3f8a1f0228' 

In [24]:

 

Необходимые параметры

Значения параметров campaign_code и revision_secret_key вы получите от сотрудников отдела трекинга в процессе настройки автосверки.

  • campaign_code — код программы (строка, 10 символов);

  • revision_secret_key — секретный ключ для сверки через запросы (строка, 40 символов);

  • revision_sign — выходная подпись (см. пример выше);

  • order_id — номер заказа (строка, 1-100 символов);

  • status — статус заказа, может принимать значения:
    • pending — ожидает
    • approved — одобрен
    • declined — отклонен
  • amount — сумма заказа (дробное число, разделитель точка);

  • reward — вознаграждение веб-мастера (в виде дробного числа, в качестве разделителя точка);

  • currency_code (необязательный) — валюта (трехбуквенный код) для значений в параметрах amount (сумма заказа) и reward (вознаграждение веб-мастера);
    • если вы не передаете currency_code, то по умолчанию для currency_code используется валюта, указанная в партнерской программе;

    • если вы передаете currency_code и валюта в нем отличается от валюты в программе, то суммы в параметрах amount (сумма заказа) и reward (вознаграждение веб-мастера) будут конвертированы в валюту программы по курсу в системе на дату регистрации целевого действия.

  • comment — комментарий к заказу, в нем обязательно указывать причину отклонения (строка, 0-30 символов).
     

Пример postback-запроса

https://ad.admitad.com/rp?campaign_code=8f803552ea&
revision_sign=01ae14a1c4ef90e6ce48c65525833e3f8a1f0228&order_id=&status=&comment=

 

Сверка через ключ и IP-адрес

Необходимые параметры

Значения параметров campaign_code и revision_key вы получите от сотрудников отдела трекинга в процессе настройки автосверки. Сообщите IP-адрес или список адресов, с которых будут приходить запросы.

  • campaign_code — код программы (строка, 10 символов);

  • revision_key — ключ авторизации для сверки через запросы (строка, 32 символа);

  • order_id — номер заказа (строка, 1-100 символов)

  • status — статус заказа, может принимать значения:
    • pending — ожидает
    • approved — одобрен
    • declined — отклонён

  • amount — сумма заказа (дробное число, разделитель точка);

  • reward — вознаграждение веб-мастера (в виде дробного числа, в качестве разделителя точка);

  • currency_code (необязательный) — валюта (трехбуквенный код) для значений в параметрах amount (сумма заказа) и reward (вознаграждение веб-мастера);
    • если вы не передаете currency_code, то по умолчанию для currency_code используется валюта, указанная в партнерской программе;

    • если вы передаете currency_code и валюта в нем отличается от валюты в программе, то суммы в параметрах amount (сумма заказа) и reward (вознаграждение веб-мастера) будут конвертированы в валюту программы по курсу в системе на дату регистрации целевого действия.

  • comment — комментарий к заказу, в нем обязательно указывать причину отклонения (строка, 0-30 символов).
     

Пример postback-запроса

https://ad.admitad.com/rp?campaign_code=8f803552ea&
revision_key=3b9e06d28835AA872AE9cb6fc1186d1E&order_id=&status=&comment=

 

Тестирование

По окончании настройки обязательно проводится тестирование. Сотрудники Admitad делают два тестовых заказа, вы должны подтвердить один из них, изменив сумму заказа, а второй отклонить с комментарием. Если данные загрузились корректно: к соответствующим заказам, статусы верные, сумма заказа скорректирована, присутствует комментарий — тестирование считается успешным, и сотрудники отдела трекинга запускают автосверку.

 

Уведомления об ошибках

При отправке запроса в качестве ответа приходит JSON с результатами валидации запроса:

  • в случае успеха {"success":true}, "message": "request is processing". Статус говорит о том, что запрос прошел предварительную валидацию, но может быть отклонен на внутренней проверке.
  • в случае отклонения запроса {"errors":["length revision_key must be no more than 32"],"success":false}, в errors будут указаны причины отклонения.

По возможности настройте на своей стороне уведомление на ответ, содержащий {“errors”} с логированием этих ответов. Если ошибки начнут появляться, сообщите вашему менеджеру в Admitad.

Была ли статья полезной?
0 0 0