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

  • промокод активирован;
  • промокод соответствует карте, если он прикреплен к карте или просто карта выбрана, если данная группа промокодов работает только при наличии карты;
  • промокод не был использован или данная группа промокодов может быть использована несколько раз;
  •  

1.    Получить промокод

Проверки:

  • active = true
    Пояснение: промокод активирован;
  • coupon_group.type = 0 или coupon.coupon_group.type = 1 и coupon.used = 0
    Пояснение: группа промокодов многоразовая или она одноразовая и промокод еще не использован;
  • card_id = “” или coupon.card_id = card_id
    Пояснение: в промокоде не указана карта или указанная карта соответствует текущей выбранной;
  • coupon_group.oncard=false или coupon.coupon_group.oncard=true и card_id заполнено
    Пояснение: промокод может использоваться без карты или должен быть привязан к любой карте.

 

GET

/organization/coupon/{id}?full_info=

 

Параметры

id // Идентификатор(он же номер) существующего промокода

full_info // По умолчанию false. Если передан true, тогдва вместе с промокодом вернется информация о группе в которой находится промокод

 

Заголовки

token // Токен доступа выданный при авторизации

 

Выходной JSON

{

  "coupon": 

  {

// Номер промокода

    "id":"g5",

 

// Идентификатор группы промокодов

    "coupon_group_id":"9b77b5ec-9e4e-4bbf-996b-d0bc56a5a9ab",

 

// Статус активации промокода

    "active":true,

 

// Карта, к которой был привязан промокод

    "card_id":"",

 

// Количество использований промокода

    "used":    1,

 

// Дата создания промокода

    "add_date":    1579846733550,

 

// Дата активации промокода

    "activate_date":    1579846733550,

 

// Дата последнего использования

    "last_date":    1580115885320,

 

// Идентификатор события, которое сгенерировало промокод

    "job_id":"", 

 

"coupon_group": 

  {

// Номер строки

    "row_number":    1,

 

// Идентификатор группы

    "id":"9b77b5ec-9e4e-4bbf-996b-d0bc56a5a9ab",

 

// Наименование группы

    "name":"Группа выдачи купонов",

 

// описание

    "description":"",

 

// Тип группы. 0 - Многоразовая. 1 - Одноразовая

    "type":    1,

 

// Только при наличии карты. Купон будет работать только в случае, если используется любая карта бонусной программы

    "oncard":false,

 

// Признак того, что группа удалена

    "deleted":false 

  }

 

  },

  "code":  0,

  "message":"Операция выполнена"

}

 

 

2.    Получить группу промокодов

 

GET

/organization/coupon_group/{id}

 

Параметры

id // Идентификатор существующего сегмента

 

Заголовки

token // Токен доступа выданный при авторизации

 

Выходной JSON

{

  "coupon_group": 

  {

// Номер строки

    "row_number":    1,

 

// Идентификатор группы

    "id":"9b77b5ec-9e4e-4bbf-996b-d0bc56a5a9ab",

 

// Наименование группы

    "name":"Группа выдачи купонов",

 

// описание

    "description":"",

 

// Тип группы. 0 - Многоразовая. 1 - Одноразовая

    "type":    1,

 

// Только при наличии карты. Купон будет работать только в случае, если используется любая карта бонусной программы

    "oncard":false,

 

// Признак того, что группа удалена

    "deleted":false 

  },

  "code":  0,

  "message":"Операция выполнена"

}

 

 

 

 

 

Получить список промокодов

GET

/organization/coupon?coupon_group_id=%D1%88%D1%88%D1%88&card_id=Card_1&page=1&per_page=10&calculate_count=true

 

Параметры в запросе

page //[Необязательный]. Номер страницы которую нужно получить

per_page //[Необязательный]. Количество строк на страницу

calculate_count //[Необязательный] Рассчитывать пагинацию

card_id //[Необязательный] Идентификатор карты к которой привязаны промокоды

coupon_group_id//[Необязательный] Идентификатор группы промокодов

 

 

Заголовки

token // Токен доступа выданный при авторизации

 

Выходной JSON

{

  "coupons": 

  [

    {

      "id":"123",

 

      "coupon_group_id":"4f96dedd-e50f-4cbb-abf6-6e4327ee33a9",

 

      "active":true,

 

      "card_id":"",

 

      "used":      0,

 

      "add_date":      1580287538150,

 

      "activate_date":      1580287538150,

 

      "last_date":      0,

 

      "job_id":""

 

    } 

  ],

  "pagination": 

      {

         "per_page":    10,    // Количество строк на страницу

         "page"    :    1,     // Номер текущей страницы

         "items"   :    15275, // Всего записей

         "pages"   :    1528   // Всего страниц

     },

  "code":  0,

  "message":"Операция выполнена"

}