Кешбэк в сервисе начисляется в рамках акций. Акция описывает условия начисления кешбэка, его величину, способ расчета и подпадающие под акцию товары.

Список акций можно получить запросом GET /offersПример акции:

Ответ
{
    "items": [
        {
            "id": 79,
            "title": "Мандарины",
            "text": "Мандарины",
            "conditions": "Основные положения:\r\nДетальную информацию об организаторе Акции смотрите в Публичной Оферте, расположенной в разделе Акции.\r\n\r\nПериод проведения акции: с 1 марта по 31 марта 2019 года.\r\n\r\nСписок участвующих в акции товаров: \r\nМандарины.\r\n\r\nПользователь может приобрести акционный товар в любом магазине, кроме ООО \"Яндекс.Маркет\" и ООО \"Вайлдберриз\".\r\nОрганизатор вправе изменить условия проведения акции.\r\n\r\nУсловия начисления и правила расчета начисления Кешбэка: \r\nПокупка акционных товаров должна быть совершена в период действия Акции.\r\nОплата покупки должна быть совершена одним из способов: наличными денежными средствами или безналичным платежом по карте банка (кешбэк не начисляется при оплате покупок за счет бонусных баллов).\r\nЧек с акционным товаром должен быть загружен в период действия Акции, одним из способов указанных в Публичной оферте (по QR-коду или по карте программы лояльности торговой сети).\r\nЧек считается загруженным с момента получения состава чека в соответствии с описанием способов загрузки чека в Публичной оферте.\r\nДля получения повышенного кешбэка покупка должна быть подтверждена операцией по карте банка в соответствии с описанием процесса подтверждения в Публичной оферте. Подтвердить покупку операцией из банка можно с момента загрузки чека и до окончания следующего за ним календарного месяца.\r\n\r\nВ случае загрузки чека по QR-коду, кешбэк за покупку товара до 150 руб. составит - 1 %. \r\nВ случае загрузки чека по карте лояльности, кешбэк за покупку товара до 150 руб. составит - 2 % \r\nВ случае если покупка подтверждена операцией по карте банка, Вы получите за покупку товара до 150 руб. + 10 % к первоначальному кешбэку.\r\nВ акции можно принять участие до 2 раз.\r\n\r\nСроки начисления:\r\nСроки начисления кешбэк-вознаграждения - до 24 часов, с момента выполнения всех условий акций.\r\nЕсли по какой-либо причине Вам не начислен кешбэк в указанный промежуток времени, Вы можете обратиться в нашу службу поддержки.",
            "category": {
                "id": 6,
                "name": "Овощи, фрукты, зелень, грибы",
                "order_num": 0
            },
            "cashback_type": "fix",
            "cashback": {
                "qr": 1,
                "card": 2,
                "trans_bonus": 10
            },
            "currency": "rub",
            "date_from": "2018-02-01",
            "date_to": "2019-05-31",
            "status": "active",
			"restrictions": {
				"participations": {
					"limit_type": "product_units",
					"max_count": 3
				},
				"rate": {"min": 0, "max": 0},
				"amount": {"min": 0, "max": 0},
				"count": {"min": 0, "max": 0}
			},
            "images": [
                "https://cashoff.ru/static/media/offers_images/J604UP03YEUFKTCB6J2WZSK45.jpg"
            ]
        }
    ],
    "total": 1
}

Акции имеют ограниченный срок действия (date_from, date_to) и статус (акция может быть досрочно отключена, даже если её срок не завершен).

Список акций по большей части статичен, по этому рекомендуется кешировать его на небольшой срок (1 час). 

По каждой акции доступна как минимум одна ссылка на изображение товара, которая указана в поле images.

Все акции распределены по одноуровнему списку категорий акций. В описании акции всегда указана информация о её категории, но сам список категорий можно загрузить отдельным запросом GET /offers/categories:

Ответ
{
    "items": [
        {
            "id": 1,
            "name": "Напитки, чай, кофе",
            "for_adults_only": false,
            "order_num": 0
        },
        {
            "id": 2,
            "name": "Зоотовары",
            "for_adults_only": false,
            "order_num": 6
        },
        {
            "id": 3,
            "name": "Косметика",
            "for_adults_only": false,
            "order_num": 5
        },
        {
            "id": 4,
            "name": "Сладости",
            "for_adults_only": false,
            "order_num": 0
        },
        {
            "id": 5,
            "name": "Молочные продукты",
            "for_adults_only": false,
            "order_num": 0
        }
    ],
    "total": 5
}

Поле order_num содержит порядковый номер для отображения (с 0). Если две или несколько категории имеют одинаковый порядковый номер, значит, их позиции для отображения равноценны. Категории с меньшим порядковым номером имеют приоритет в отображении выше, чем категории с большим.

Ограничение по количеству участий

Количество участий одного пользователя в каждой акции может быть ограниченно (поле restrictions.participations в ответе на запрос GET /offers).

  • Если акция распространяется на товар, который может продаваться на развес (например, овощи и фрукты, сыры, колбасы, икра и т.д.), либо единица товара не фиксирована (например, пачка яиц может пробиваться в чеке как 1 пачка, либо как 10 яиц), то ограничивается количество товарных позиций с акционным товаром, за которые пользователь может получить кешбэк по этой акции. В этом случае в поле restrictions.participations.limit_type будет стоять значение commodity_items.
  • Если акция распространяется на товар, который всегда продается поштучно и единица товара фиксирована (например, стиральный порошок конкретной марки), то ограничивается количество единиц акционного товара, за которые пользователь может получить кешбэк по этой акции. В этом случае в поле restrictions.participations.limit_type будет стоять значение product_units.

Ограничения устанавливаются не для каждой акции, но для большинства из них.

Получить количество участий конкретного пользователя в акциях, имеющих ограничения, можно запросом GET /cashback/limits/offers-participation:

Ответ
{
	"items": [
		{
			"offer_id": 79,
			"limit_type": "product_units",
			"max_count": 3,
			"actual_count": 1
		}
	],
	"total": 1
}


Акции для совершеннолетних

Каталог акций может содержать специальные акции, доступные только для совершеннолетних. Такие акции привязываются к отдельным категориям, у которых поле for_adults_only стоит в true. По умолчанию пользователи не получают кешбек по подобным акциям и его начисление включается отдельно от остальных акций.

Для того чтобы включить кешбек по акциям для совершеннолетних, необходимо выполнить запрос POST /offers/for-adults-only/enable. Данный запрос нужно выполнять уже после того, как пользователю был включен кешбек в целом, т.к. это является дополнительным разрешением поверх глобального доступа. Обратно отключить получение можно запросом POST /offers/for-adults-only/disable.