Видео по работе с CPA
Типы оплат
Фиксированная
- Подходит для оплаты за регистрацию, заполнение анкеты, действие или последовательность действий.
- Выберите тип подтверждения (автоматическое или XML подтверждение).
- Укажите стоимость вознаграждения в рублях.
Процент с продаж
- Подходит для оплаты за совершение покупки.
- Тип подтверждения — XML подтверждение.
- Укажите стоимость вознаграждения в процентах.
Важно: Для запуска кампании необходимо пополнить баланс (минимум 5000 руб.). При работе с СРА моделью, за каждые 1000 кликов, при нулевой конверсии, с рекламодателя взимаются 5 копеек за клик.
Типы подтверждения
Автоматическое
- Теперь вы можете добавить кампанию и получить пиксель (код скрипта для автоматического подтверждения действия), нажав на соответствующую иконку в разделе «Управление» в списке кампаний.
- Пиксель устанавливается на странице «завершенного действия», для этого необходимо добавить полученный ранее код на ваш сайт.
- После того как наш специалист удостоверится, что пиксель установлен, кампания попадает в ротацию.
XML
- Добавьте URL XML отчета: это ссылка на сайт, где хранится ваш XML отчет, в котором хранятся данные о статусе заказа (свяжитесь с вашим web-разработчиком для получения данной информации).
- Пароль для XML: пароль для XML составьте произвольно, используется нашей системой для доступа к XML отчету.
- Теперь вы можете добавить кампанию и получить пиксель (код скрипта для автоматического подтверждения действия), нажав на соответствующую иконку в разделе «Управление» в списке кампаний.
- Пиксель устанавливается на странице «завершенного действия», для этого необходимо добавить полученный ранее код на ваш сайт.
- После того как наш специалист удостоверится, что пиксель установлен, кампания попадает в ротацию.
Важно: правильный пиксель выглядит так:
или так:
где [UNIQUE.ID.В.ВАШЕЙ.СИСТЕМЕ] это номер заказа (укажите число в соответствии с нумерацией, принятой в вашей системе или произвольно). По oid будет отслеживаться статус заказа. Для этого один раз в сутки будет запрашиваться XML отчет.
Как должен работать XML отчет
XML генератору POST-ом (multipart/form-data) передаются данные:
pass — md5 от пароля для доступа к XML генератору, который указан в настройках кампании (далее просто пароль);
xml — список Order_id для получения информации по заказам по их идентификаторам, например, в таком формате:
<items>
<item>12345</item>
<item>2345678</item>
<item>88088</item>
<item>333999</item>
</items>
ответ XML генератора:
если переданный параметр <pass> не совпадает с md5 от пароля, указанного в настройках кампании:
иначе, XML отчет в следующем формате:
<item>...</item>
<item>...</item>
...
<item>...</item>
</items>
где <item> имеет следующую структуру:
<status>1</status>
<price>57.50</price>
тут <id> — идентификатор заказа, один из запрашиваемых в xml;
<status> — состояние заказа, может быть одним из 3 видов:
- done (или 1) — подтвержден
- wait (или 2) — в ожидании (в процессе обработки)
- cancel (или 3) — отклонён
<price> — стоимость товара или услуги, необходима при типе цели "Процент с продаж" (и если статус подтвержден, в остальных случаях значение игнорируется, если оно есть), в цели "Фиксированная оплата" можно отправлять 0 или не отправлять это поле вовсе
пример правильного ответа:
<items>
<item>
<id>12345</id>
<status>1</status>
<price>57.50</price>
</item>
<item>
<id>2345678</id>
<status>wait</status>
</item>
<item>
<id>88088</id>
<status>done</status>
<price>200</price>
</item>
<item>
<id>333999</id>
<status>cancel</status>
<price>0</price>
</item>
</items>
Пример кода генератора XML отчёта на PHP
$pass="12345";
// Пароль для доступа к XML генератору, который указан в настройках кампании
if ($_POST['pass'] != md5($pass) )
die('<?xml version="1.0"?><error>no confirm pass</error>');
$res = '';
preg_match_all("/<item>(.*)<\/item>/Uis", $_POST['xml'], $items);
foreach($items[1] as $oid)
{
// вместо getOrderById вам нужно прописать
// свою функцию, которая получает данные из БД
$order = getOrderById($oid);
$res .= '<item>';
$res .= '<id>' . $oid . '</id>';
$res .= '<status>' . $order['status'] . '</status>';
$res .= '<price>' . $order['price'] . '</price>';
$res .= '</item>';
}
$res = '<?xml version="1.0"?><items>' . $res . '</items>';
echo $res;
// пример функции получения данных из БД
function getOrderById($oid)
{
$status = 2;
$price = 0;
// тут предполагается что конект к базе уже есть
$res = mysql_query('SELECT * FROM `table_order` WHERE `id`= ' . $oid . ' LIMIT 1');
$row = mysql_fetch_assoc($res);
$status = $row['status'];
// состояние запрошенного заказа
// status:
// done (или 1) - подтвержден
// wait (или 2) - в ожидании (в процессе обработки)
// cancel (или 3) - отклонён
$price = $row['cost'];
// стоимость товара/услуги.
// нужно при типе цели "Процент с продаж",
// в цели "Фиксированная оплата" можно в отправлять 0 или не отправлять это поле вовсе
return array(
'status' => $status,
'price' => $price);
}
?>