В HTTP сервис KKMTransfer добавлена ф-я DiscountCalculation.
В ТП 7 требуется:
Для получения рассчитанных скидок нужно отправить POST запрос на адрес «{веб-адрес ТП 7}/hs/KKMTransfer/DiscountCalculation»,
где {веб-адрес ТП 7} - адрес опубликованной базы ТП 7, например, http://localhost:8080/TP7_dev.
В теле запроса нужно передать информацию о чеке, для которого нужно получить рассчитанные скидки.
Авторизация Basic Base64(login:password).
Тело POST запроса строка JSON:
{
"kkm": 1,
"card": "123456",
"items": [
{
"id": 0,
"type": 0,
"code": 1,
"attr": "",
"pack": "",
"q": 2,
"price": 50
},
{
"id": 1,
"type": 0,
"code": 4,
"attr": "1",
"pack": "",
"q": 2,
"price": 15.3
}
],
"payments": [
{"code": 1, "value": 1000.00}
]
}
В ответ ф-я DiscountCalculation возвращает строку в формате JSON.
Выходные параметры строка JSON:
{
"data": {
"sum_wd": 130.6,
"sum_total": 81,
"discount_sum": 0,
"discount_sum_total": 50,
"discount_sum_round": -0.4,
"active_schemes": [
{
"code": 2,
"name": "Акция на чек",
"discount_sum": 0,
"bonus_sum": 7,
"ban": false,
"details": [
{
"code": 2,
"discount_type": 1,
"discount_value": 0,
"discount_sum": 0,
"bonus_type": 1,
"bonus_value": 5,
"bonus_sum": 7,
"spec_price_code": 0,
"text": "5% бонус на карту",
"name": "Начисление бонусов",
"ban": false
}
]
}
],
"items": [
{
"id": 0,
"discount_sum": 50,
"bonus_sum": 0,
"spec_price_code": 0,
"spec_price_value": 0,
"active_schemes": [
{
"code": 1,
"name": "Акция на позиции",
"discount_sum": 50,
"bonus_sum": 0,
"ban": false,
"details": [
{
"code": 1,
"discount_type": 1,
"discount_value": 100,
"discount_sum": 50,
"bonus_type": 0,
"bonus_value": 0,
"bonus_sum": 0,
"spec_price_code": 0,
"text": "Акция 1+1=1",
"name": "Товарная скидка 2 по цене 1",
"ban": false
}
]
}
]
},
{
"id": 1,
"discount_sum": 0,
"bonus_sum": 0,
"spec_price_code": 0,
"spec_price_value": 0,
"active_schemes": []
}
],
"bonus_sum": 7,
"card": {
"Код": "123456",
"Наименование": "123456",
"ТекстДляЧека": "Текст чека ДК",
"НеВестиНакопление": false,
"ДеньРождения": "2021-03-19T00:00:00",
"Накопление": 0,
"КоличествоЧеков": 0,
"СуммаБонуса": 0,
"НомерТелефона": "",
"АдресЭлектроннойПочты": "dsa@das.com",
"Группы": [1]
},
"card_error": ""
},
"result": "ok"
}
{
"result": "error",
"msg": "ККМ не найден"
}
Для получения информации о товаре и/или дисконтной карте нужно отправить POST запрос на адрес «{веб-адрес ТП 7}/hs/KKMTransfer/PriceChecker»,
где {веб-адрес ТП 7} - адрес опубликованной базы ТП 7, например, http://localhost:8080/TP7_dev.
В теле запроса нужно передать штрихкод и/или номер дисконтной карты.
Авторизация Basic Base64(login:password).
Тело POST запроса строка JSON:
{
"kkm": 1,
"barcode": "12345678",
"card": "123"
}
В ответ ф-я PriceChecker возвращает код ответа 200 и в теле ответа строку в формате JSON.
Выходные параметры строка JSON:
{
"result": "ok",
"good": {
"code": 1,
"barcode": "12345678",
"name": "Товар 1",
"art": "01",
"price": 100.00,
"spec_price": 0,
"price_d": 95.00,
"discount_sum": 5.00,
"measure_unit": "шт.",
"country": "РФ",
"description": "описание товара",
"image": null
},
"card": {
"Код": "1234",
"Наименование": "123",
"ТекстДляЧека": "Текст чека ДК",
"НеВестиНакопление": false,
"ДеньРождения": "2021-03-19T00:00:00",
"Накопление": 0,
"КоличествоЧеков": 0,
"СуммаБонуса": 0,
"НомерТелефона": "",
"АдресЭлектроннойПочты": "dsa@das.com",
"Группы": [1]
}
}
{
"result": "error",
"msg": "Товар не найден"
}