Настроить Postback через POST/GET запросы
Я работаю с некоторыми партнерками, которые при принятии конверсий, отстукивают на постбэк моего трекера с указанием цены пологающейся комиссии в рублях и уникальным идентификатором (subid) ранее переданным мною туда.
Проблема в том, что я использую два трекера, а в партнерке можно указать только один. Так же партнерки передают сумму в рублях, а трекеру для подсчета статистики требуется в долларах.
Поэтому надо сделать промежуточный скрипт-постбэк, который бы я указывал в партнерке и он принимал бы от неё subid и потом раскидывал их на один из трекеров (смотря что за subid) и одновременно конвертировал сумму в доллары по курсу.
Есть два трекера куда надо перенаправлять параметры: cpvlab.com и voluum.com. У каждого subid отличаются структурой:
- voluum.com имеет подобные subid: dSK2JCM7SJDNGHLO0NF8LFNI
- cpvlab.com имеет подобные subid: 0t2s4qme_71_2340318
Вы делаете скрипт, в который идут заросы из партнерки GET и/или POST:
http://yourscript.ru/postback.php?subid=0t2s4qme_71_2340318&bablo=500
где видим:
- 0t2s4qme_71_2340318 - уникальный subid предназначенный для передачи в cpvlab.com
- 500 - сумма в рублях.
2 типа subid:
- Все subid имеющие два знака "_" и между ними любое 2-3х значное число предназначаются для cpvlab.com
- Все subid имеющие более 20 символов предназначаются для voluum.com
http://cpvlab.com/adclick.php?subid=0t2s4qme_71_2340318&revenue=7.69
Обращаем внимание на округление цены в долларах до двух знаков после точки.
В voluum.com отстукиваемся в остальных случаях (т.е. когда не было передачи subid со знаками "_" или вообще пустой запрос пришел), Как пример получили такое: http://yourscript.ru/postback.php?subid=dSK2JCM7SJDNGHLO0NF8LFNI&bablo=550 и переправили тут же на:
http://voluum.com/postback?cid=dSK2JCM7SJDNGHLO0NF8LFNI&payout=8.46
Могут быть случаи, когда получаем сразу два разных subid, например так:
http://yourscript.ru/postback.php?cpvlab=5uis4qme_98_2340318&voluum=aSK2JCM7SJDNGHLO0NF8LFpK&bablo=500&bla=blablabla
Тогда отстукиваем по двум направлениям:
http://cpvlab.com/adclick.php?subid=5uis4qme_98_2340318&revenue=7.69&bla=blablabla
http://voluum.com/postback?cid=aSK2JCM7SJDNGHLO0NF8LFpK&payout=7.69&bla=blablabla
Если в запросах были еще какие-то данные (переменные), их тоже перенаправляем вместе с subid и $.
Если пришел GET или POST запрос содержащий &noprice=voluum или &noprice=cpvlab - то цену отсекаем и не передаем на соответствующий трекер ни при каких условиях именно цену (всё остальное передаем).
Если пришел GET или POST запрос содержащий ¬hing=voluum или ¬hing=cpvlab - вообще ничего не передаем на соответствующий трекер ни при каких условиях.
Кроме всех отстуков, надо в MySQL вести логирование абсолютно всего что, когда и как (POST/GET) было получено, время и в каком виде, куда направлено. Чтобы в случае отказа чего либо, у меня были данные о принятых конверсиях в базе.
UPDATE:
В комментах спрашивали, отвечаю:
Есть пара моментов, которые хотелось бы уточнить:
1."В voluum.com отстукиваемся в остальных случаях (т.е. когда не было
передачи subid со знаками "_" или вообще пустой запрос пришел). "
Можно пример пустого запроса?
Имелось ввиду не предусмотренные ситуации, ошибки со стороны ПП, например если такой запрос был:
http://yourscript.ru/postback.php?subid=1515&bablo=500
http://yourscript.ru/postback.php?cpvlab=&voluum=7898787&tralala
или еще как-то.
Если http://yourscript.ru/postback.php?voluum=0t2s4qme_71_2340318&bablo=500
То очевидно, что перепутали subid указав папраметр для другого трекера. Но субайди-то от cpvlab - значит туда и шлем:
http://cpvlab.com/adclick.php?subid=0t2s4qme_71_2340318&revenue=7.69
2. "&noprice=voluum или &noprice=cpvlab - то цену отсекаем и не передаем на соответствующий трекер".
Т.е. все работает так же как и указано выше, но указанному трекеру не передаем цену? И логировать ли указанный трекер?
Да. Да, вообще всё логируем.