Завантаження пакета даних
URI: /api/v1/marketplace/data-import?type={type}
Метод використовується для завантаження пакета даних з файлу в форматі json, xlsx або csv.
Запит виконується методом POST у multipart/form-data форматі.
⚠️ Запит повинен містити заголовок Accept: application/json
увага
Рекомендована періодичність для вивантаження пакета даних — один раз на годину
Параметри URI
Метод дозволяє передати в рядку запиту наступні параметри:
| Ім'я | Тип | Обов'язковий | Опис |
|---|---|---|---|
| type | string | Так | Тип даних: |
Параметри запиту
| Ім'я | Тип | Обов'язк овий | Опис |
|---|---|---|---|
| file | file | Так | Файл з даними в форматі json, xlsx або csv |
Приклад запиту
/api/v1/marketplace/data-import?type=sell
Важливо!
Назви колонок та типи даних обов'язково повинні бути такими як в прикладі.
Кожен об'єкт у масиві даних повинен містити однаковий набір полів в однаковому порядку в кожному документі
| Назва колонки в файлі | Тип даних | Обов'яз-ковий buy | Обов'яз-ковий sell | Призначення | Приклад | Примітка |
|---|---|---|---|---|---|---|
| document_type | string | Ні | Ні | Тип документа | check | |
| deleted | boolean | Ні | Ні | Видалений документ (1 - так, 0 - ні) | 0 | |
| cash_register_number | string | - | Так | Номер фіскального апарата | ||
| document_id | string | Ні | Так | ID чека | 1234567-234234 | |
| document_fiscal_number | string | - | Так | Фіскальний номер чека | ||
| datetime | Y-m-d H:i:s | Так | Так | Дата та час чека | 2019-11-22 14:15:16 | |
| expire_date | Y-m-d | Ні | Ні | Дата терміну придатності товару | 2021-12-31 | |
| series | string | Ні | Ні | Серія товару | AB1234-XYZ | |
| morion_id | string | Ні | Ні | Код моріона для продукту | 1234567 | |
| ext_goods_id | string | Так | Так | ID товару в системі клієнта | ||
| drlz_goods_id | string | Ні | Ні | ID товару в ДРЛЗ | ||
| distributor_goods_id | string | Ні | Ні | ID товару у дистриб'ютора | 12XT1234 | |
| goods_name | string | Ні | Ні | Назва товару | ГРОПИВИРИН ТАБЛ. 500 МГ № 20 | |
| goods_producer_name | string | Ні | Ні | Назва виробника товару | ||
| distributor_edrpou | string | Так | Так | ЕДРПОУ постачальника | ||
| ext_drugstore_id | string | Так | Так | ID аптеки в системі клієнта | ||
| ext_pharmacist_id | string | - | Ні | ID фармацевта в системі кл ієнта | ||
| drugstore_edrpou | string | Ні | Ні | ЕДРПОУ юридичної особи аптеки | ||
| customer_edrpou | string | - | Ні | ЕДРПОУ покупця | ||
| prescription_number | string | - | Ні | Номер рецепту | ||
| medical_program_id | string | - | Ні | ID програми по якій виписаний рецепт | ||
| customer_phone | string | - | Ні | Номер телефона покупця | 380501111111 | |
| customer_card | string | - | Ні | Номер дисконтної карти покупця | 7395762016382 | |
| insurance_edrpou | string | - | Ні | ЕДРПОУ страхової компанії | ||
| promotion_id | string | - | Ні | ID акцій для позиції в чеку | 6F9619FF-8B86-D011-B42D-00CF4FC964FF | |
| payment_type | string | Так | Так | Тип оплати | cash | |
| channel_code | string | - | Ні | Тип каналу продажу | online | |
| channel_name | string | - | Ні | Назва каналу продажу у системі клієнта | ||
| quantity | double | Так | Так | Кількість товару | 2.5 | |
| nds | integer | Ні | Ні | ПДВ у % | 20 | |
| price_buy | double | Так | Так | Ціна закупівлі | 120.15 | |
| price_buy_vat | double | Так | Так | Ціна закупівлі з ПДВ | 144.18 | |
| price_online | double | - | Ні | Ціна для продажу онлайн | 120.15 | |
| price_online_vat | double | - | Ні | Ціна для продажу онлайн з ПДВ | 144.18 | |
| price_retail | double | - | Ні | Роздрібна ціна | 120.15 | |
| price_retail_vat | double | - | Ні | Роздрібна ціна з ПДВ | 144.18 | |
| price_sell | double | - | Так | Ціна продажу (фактична) | 120.15 | |
| price_sell_vat | double | - | Так | Ціна продажу з ПДВ (фактична) | 144.18 | |
| discount_amount | double | - | Ні | Сума знижки на всю позицію в чеку (грн) 🛈 Знижка нараховується на всю кількість товару в межах однієї позиції чека, а не на кожну окрему одиницю | 20.00 Сума знижки на всю позицію = 10 грн (знижка за одиницю товару) * 2 шт (кількість товару в позиції) = 20.00 грн | |
| bonus_amount | double | - | Ні | Сума нарахован ого бонусу на всю позицію в чеку (грн) 🛈 Бонуси розраховуються для всієї кількості товару в рамках однієї позиції чека, а не для кожної одиниці окремо | 1.50 Сума нарахованого бонусу на всю позицію = 6 грн (бонус за повну одиницю товару) * 0.25 (кількість товару в позиції) = 1.5 грн | |
| write_off_bonus_sum | double | - | Ні | Списаний бонус на всю позицію в чеку 🛈 Відображає загальну суму списаних бонусів, яка стосується всієї кількості товару в межах однієї позиції чека, а не окремої одиниці |
Тип документа
| Назва | Дані |
|---|---|
| Накладна приходу | purchase_consignment |
| Повернення постачальнику | return_to_supplier |
| Внутрішнє переміщення | internal_movement |
| Чеки | check |
| Прихід | incoming |
| Внутрішній прихід | internal_purchase |
| Переоцінка | revaluation |
| Акт пересортиці | act_of_regrading |
| Повернення від покупців | returns_from_buyers |
| Зворотні чеки | return_check |
| Накладна повернення | return_consignment |
Тип оплати
| Назва | Дані |
|---|---|
| Оплата за допомогою Apple Pay | apple_pay |
| Оплата за допомогою Google Pay | google_pay |
| Оплата картою на сайті | liq_pay |
| Оплата в аптеці, картою або готівкою | cash_in_store |
| Оплата при отриманні товару | cash_on_delivery |
| Тара | tare |
| Термінал | terminal |
| Готівковий | cash |
| Безготівковий | cashless |
Тип каналу продажу
| Назва | Дані |
|---|---|
| СК | insurance |
| Колцентр | call_center |
| Онлайн | online |
| Офлайн | offline |
| Інсуліни | insulin |
| Реімбурсація | reimbursement |
| Офлайн знижка | offline_discount |
Параметри відповіді
| Ім'я | Тип | Опис |
|---|---|---|
| data | object | Дані імпорту |
| data.id | integer | Ідентифікатор імпорту |
| data.dataset_type | string | Тип даних |
| data.import_status | string | Статус імпорту даних: 1 - статус одразу після завантаження 2 - процес імпорту запущено 3 - фінальний статус |
| data.index_status | string | Статус індексації даних для подальшого аналізу |
| data.imported_rows | integer | Кількість імпортованих документів |
| data.indexed_rows | integer | Кількість індексованих документів для подальшого аналізу |
| data.duplicated_rows | integer | Кількість документів які раніше були вже завантажено (дублі) |
| data.created_at | string | Дата та час створення імпорту |
| data.updated_at | string | дата та час останнього оновлення імпорту |
Приклад успішної відповіді
200 OK
Відповідь: /api/v1/marketplace/data-import?type=sell
{
"data": {
"id": 544,
"dataset_type": "sell",
"import_status": "wait_in_queue",
"index_status": "null",
"imported_rows": null,
"indexed_rows": null,
"duplicated_rows": null,
"created_at": "2024-01-24 18:09:32",
"updated_at": "2024-01-24 18:10:31"
}
}