|
<< Click to Display Table of Contents >> Опис формату синхронізації Інтернет-магазину з Торгсофт |
![]() ![]()
|
Формат синхронізації інтернет-магазину з Торгсофт: інформація для розробника
1. Завантаження товарів на сайт
Перелік того, що повинен вміти інтернет-магазин, для вдалої синхронізації
Ваш інтернет-магазин повинен вміти завантажувати прайс-лист з файлу:
•у форматі *.csv з роздільником ; та назвою TSGoods.trs,
•або файл формату *.yml.
У файлі можуть бути присутніми не всі поля. Які поля вивантажуються та їхній порядок — це налаштовується:
Дані |
Тип даних |
Кількість символів |
Колонка за замовчуванням |
Коментар
|
З версії бази даних |
Ключ товару — GoodID (пошуковий) |
Ціле/Integer |
|
GoodID |
|
|
Назва товару |
Строкове/String |
500 |
GoodName |
|
|
Опис товару |
Строкове/String |
255 |
Description |
|
|
Країна |
Строкове/String |
100 |
Country |
|
|
Артикул |
Строкове/String |
30 |
Articul |
|
|
Ціна роздрібна |
Дійсне/Float |
|
RetailPrice |
|
|
Ціна оптова |
Дійсне/Float |
|
WholesalePrice |
|
|
Ціна акційна (з товарною знижкою) |
Дійсне/Float |
|
RetailPriceWithDiscount |
|
|
Мінімальна кількість для замовлення клієнтом, шт |
Ціле/Integer |
|
MinQuantityForOrder |
|
|
Висота, см =0 |
Дійсне/Float |
|
Height |
|
|
Ширина, см =0 |
Дійсне/Float |
|
Width |
|
|
Ідентифікатор розділу інтернет-Магазину — Категорія |
Ціле/Integer |
|
Category |
|
|
Кількість на складі |
Дійсне/Float |
|
WarehouseQuantity |
|
|
Відображення |
|
|
Display |
0 — не відображати на сайті; 1 — відображати на сайті |
|
Розмір |
Строкове/String |
20 |
TheSize |
|
|
Колір |
Строкове/String |
50 |
Color |
|
|
Матеріал |
Строкове/String |
200 |
Material |
|
|
Назва моделі товару |
Строкове/String |
500 |
FashionName |
|
|
Стать |
Ціле/Integer |
|
Sex |
0 — стать не визначено, 1 — чоловіча, 2 — жіноча, 3 — хлопчик, 4 — дівчинка, 5 — унісекс |
|
Коротка назва товару |
Строкове/String |
255 |
ShortName |
|
|
Вид товару повністю |
Строкове/String |
максимальна довжина невизначена |
GoodTypeFull |
містить всю ієрархію виду товару зверху вниз, розділені між собою комами (приклад "одяг,джинси,кльош") |
|
Колекція виробника повністю |
Строкове/String |
максимальна довжина невизначена |
ProducerCollectionFull |
містить усю ієрархію колекції виробника згори донизу, розділені між собою комами (приклад "Польща,WOJCIK") |
|
Сезон |
Строкове/String |
100 |
Season |
|
|
Штрих-код |
Строкове/String |
40 |
Barcode |
|
376 |
Упаковка |
Строкове/String |
255 |
Pack |
|
380 |
Розмір упаковки |
Строкове/String |
255 |
PackSize |
|
380 |
Живлення |
Строкове/String |
255 |
PowerSupply |
|
380 |
Кількість штук у ящику |
Строкове/String |
255 |
CountUnitsPerBox |
|
380 |
Вік |
Строкове/String
|
255 |
Age |
|
380 |
Міра |
Дійсне/Float |
|
Measure |
|
380 |
Одиниця виміру міри |
Строкове/String |
255 |
MeasureUnit |
|
380 |
Ознака уцінки товару |
Ціле/Integer |
|
Closeout |
0 — не знижено у ціні, 1 — знижений у ціні товар |
403 |
Ціна за одиницю міри |
Дійсне/Float |
|
RetailPricePerUnit |
|
428 |
Оптова ціна за одиницю міри |
Дійсне/Float |
|
WholesalePricePerUnit |
|
428 |
Еквівалент роздрібної ціни |
Дійсне/Float |
|
EqualSalePrice |
|
449 |
Еквівалент оптової ціни |
Дійсне/Float |
|
EqualWholesalePrice |
|
449 |
Валюта еквівалентної ціни |
Строкове/String |
|
EqualCurrencyName |
|
449 |
Собівартість |
Дійсне/Float |
|
PrimeCost |
|
461 |
Код постачальника |
Строкове/String |
255 |
SuppLierCode |
|
461 |
Аналоги |
Строкове/String |
1000 |
Analogs |
|
481 |
Будь-які динамічні характеристики товару |
|
|
|
назва колонки за замовчуванням — "Ім'я" динамічної характеристики |
481 |
Мінімальна оптова кількість |
Дійсне/Float |
|
WholesaleCount |
|
482 |
Одиниця виміру |
Строкове/String |
10 |
MesUnit |
|
482 |
Знижка |
Дійсне/Float |
|
PriceDiscountPercent |
|
482 |
Виробник |
Строкове/String |
100 |
PCName |
|
482 |
ID Моделі |
Ціле/Integer |
|
ModelGoodID |
|
482 |
Вид товару |
Строкове/String |
255 |
GoodTypeName |
назва розділу синхронізації кореневого виду товару, на який посилається |
492 |
Розділ синхронізації |
Строкове/String |
255 |
SynchronizationSection |
назва розділу синхронізації кореневого виду товару, на який посилається синхронізований товар |
492 |
Ціна у валюті роздрібна |
Дійсне/Float |
|
CurrencyPriceRetail_"ID валюти" |
може бути декілька |
492 |
Ціна у валюті оптова |
Дійсне/Float |
|
CurrencyPriceWholesale_"ID валюти" |
може бути декілька |
492 |
Термін гарантії |
Ціле/Integer |
|
GuaranteePeriod |
|
493 |
Одиниця виміру строку гарантії |
Строкове/String |
|
GuaranteeMesUnit |
може приймати одне з трьох значень — д., міс., р. |
493 |
Прайс та замовлення знаходяться в будь-якій теці на ftp-сервері, фотографії — в іншій теці та мають назву, аналогічну GoodID, а розширення файлів фотографій відповідає їх типу.
З 452 версії бази даних, у теку з фотографіями переміщуються також додаткові фотографії товару з ім'ям наступного формату: код фотографії (ID товару), нижнє підкреслення, номер додаткової фотографії (не обов'язково послідовно), крапка, розширення файлу.
Як ви назвете поля у вашій базі інтернет-магазину — неважливо, чи будете ви їх усі використовувати, чи ні — теж.
Налаштування порядку полів у *.csv файлі та можливість виключати непотрібні для інтернет-магазину поля з файлу.
Формувати назву колонок у *.csv файлі. Вони можуть формуватися як автоматично, так і вручну користувачем.
При вивантаженні в файл YML є список зарезервованих тегів (якщо ми так назвемо поле, що вивантажується, то воно експортується саме як тег з такою назвою, а не через тег param — тег додаткових характеристик товару):
•name — назва товару,
•model — назва моделі товару,
•vendor — виробник товару,
•vendorCode — артикул,
•price — ціна зі знижкою,
•oldprice — роздрібна ціна,
•price_old — роздрібна ціна,
•categoryId — ID виду товару/категорії,
•description — опис товару,
•country — країна виробника,
•group_id — ID моделі товару,
•stock_quantity — кількість товару,
•barcode — штрих-код товару,
•url — URL сторінки товару на сайті магазину,
•enable_auto_discounts — автоматичний розрахунок і показ знижок для пропозиції,
•vat — ставка ПДВ,
•delivery — true|false — можливість кур'єрської доставки,
•delivery-options — умови кур'єрської доставки товару за регіоном магазину: види доставки, терміни, вартість,
•option — умови кур'єрської доставки товару по регіону магазину: види доставки, терміни, вартість,
•cost — вартість доставки,
•days — термін доставки в робочих днях,
•order-before — час, до якого потрібно зробити замовлення, щоб отримати його в цей термін,
•pickup — true|false— можливість самовивозу з пунктів видачі в усіх регіонах, в які доставляє магазин,
•store — true|false — можливість купити товар без попереднього замовлення,
•sales_notes — обов'язковий елемент, якщо у вас є обмеження при купівлі, наприклад, мінімальна кількість товарів або необхідність передоплати. Також можна вказати варіанти оплати, акції та розпродажі, у цьому випадку використання елемента необов'язкове.
•min-quantity — мінімальна кількість однакових товарів у замовленні для випадків, коли купівля можлива тільки комплектом, а не поштучно.
•manufacturer_warranty — true|false — офіційна гарантія виробника,
•adult — true|false — товар має відношення до задоволення сексуальних потреб, або іншим чином експлуатує інтерес до сексу,
•expiry — термін придатності, термін служби або дата закінчення терміну придатності,
•weight — вага товару в кілограмах з урахуванням упаковки,
•dimensions — габарити товару в упаковці: довжина, ширина, висота. Розміри вкажіть у сантиметрах.
•age — вікова категорія товару,
•typePrefix — тип/категорія,
•country_of_origin — країна-виробник,
•partType — оплата частинами,
•partCount — кількість платежів в оплаті частинами,
•sale — товар доступний за програмою «Теплі кредити», за умови обов'язкової наявності блоку «Оплата частинами», має бути значення hc,
•partPrice — сума платежу.
Також Торгсофт може формувати файл *.csv (роздільник ;) з клієнтською базою TSClients.trs, що надсилається до тієї самої теки, що й TSGoods.trs. Чи формувати цей файл — вирішує користувач відповідним налаштуванням.
Набір полів :
1. ПІБ — Строкове/String (100)
2. e-mail — Строкове/String (50)
3. Номер телефону, мобільний — Строкове/String (100)
4. Знижка клієнта — Дійсне/Float
5. Міський телефон — Строкове/String (255)
6. Номер картки (штрих-код клієнта) — Строкове/String (16)
7. Індекс — Строкове/String (15)
8. Країна — Строкове/String (50)
9. Область — Строкове/String (100)
10. Місто — Строкове/String (50)
11. адреса — Строкове/String (255)
12. Додаткова інформація — Строкове/String поле невизначене (максимальна довжина не визначена)
13. Сума для розрахунку знижки — Дійсне/Float
14. Сума накопичених бонусів — Дійсне/Float
•Текстовий файл із розширенням sal — кодування файлу: Win-1251 або UTF-8, з 428 версії БД, залежно від налаштування об'єкта синхронізації.
•Файл у форматі XML — кодування файлу: UTF-8, з 493 версії бази даних.
•Файл у форматі JSON — кодування файлу: UTF-8, з 493 версії бази даних.
Ім'я файлу замовлення має складатися з ASCII-символів — латинські літери, цифри та роздільники.
Name=ПІБ (обов'язкове поле)
MPhone=0672356147
CPhone=2568974
ZIP=61072
Country=Україна
Region=Харківська область
City=Харків
Address=вул. Тобольська 42-А
EMail=info@torgsoft.ua
OrderNumber=12/21 — обов'язкове поле.
Comment=Доставка з 14 до 18.
DeliveryCondition=Нова Пошта — Строкове/String (255), з 390 версії бази даних.
DeliveryAddress=Харків, вул. Сумська, 124 (Відділення №33) — Строкове/String (255), з 505 версії бази даних.
ReserveDate=28082013 — дата резерву у форматі ddmmyyyyy, з 392 версії бази даних.
SaleType=1* — обов'язкове поле.
BonusPay=28,50 — Дійсне/Float, що відображає суму за замовленням, яку клієнт оплатив бонусами, з 463 версії бази даних.
GiftCertificate=9567200000106,9567200000182 — перелік подарункових сертифікатів, використаних клієнтом для оплати замовлення через КОМУ, з 470 версії бази даних.
OrderDate=2009-01-31 01:55:14 — дата оформлення замовлення (необов'язкове поле) у форматі yyyy-mm-dd hh:mm:ss, з 470 версії бази даних.
CurrencyInternationalCode=UAH — Строкове/String (4) міжнародний код валюти замовлення (необов'язкове поле; якщо не вказано, замовлення обробляється в національній валюті), з 493 версії бази даних
SaleForm=1 — цифрове (значення 1 — Опт, 2 — Роздріб), вид торгівлі замовлення; якщо поле не вказано або вказано некоректно, замовлення обробляється з видом торгівлі — роздріб, з 500 версії бази даних.
WarehouseID - код центру обліку, який є центром обліку при створенні рахунка по замовленню.
Примітка. Код центру обліку вказується в об'єкті синхронізації на вкладці Центри обліку
RecepientType=2 — тип одержувача: 1 — юридична особа, 2 — фізична особа.
EGRPOU= — для юридичної особи вказується код ЄДРПОУ — 8-символьний числовий код.
LastName=Петров — прізвище контактної особи одержувача Нової пошти.
FirstName=Петр — ім'я контактної особи одержувача Нової пошти.
MiddleName=Петрович — по батькові контактної особи одержувача Нової пошти.
Phone=0676758462 — мобільний телефон контактної особи одержувача Нової пошти.
DeliveryType=2 — тип доставки: 1 — адресна доставка одержувачу, 2 — доставка на склад Нової пошти.
DeliveryCity=Заболотів — місто куди доставляти та для якого міста створити нову адресу при DeliveryType= 1 або вибирати шукати склад нової пошти при DeliveryType= 2.
WarehouseNumber=1 — номер відділення Нової пошти.
WarehouseRef=e62a5ed5-87bf-11eb-b05e-b8830365bd14 — ідентифікатор складу (відділення) Нової пошти. У разі передачі ідентифікатора складу у полі WarehouseRef, заповнювати поля "Назва міста" (DeliveryCity) та "Номер складу" (WarehouseNumber) не потрібно.
StreetType= — при адресній доставці тип вулиці "вул", "пров" тощо, при доставці на склад — має бути порожнє.
StreetName= — при адресній доставці одержувачу найменування вулиць, при доставці на склад Нової пошти — має бути порожнє.
BuildingNumber= — номер будинку при адресній доставці одержувачу для створення адреси доставки.
Flat= — номер квартири, якщо є, для створення адреси одержувача Нової пошти.
DeclarationNumber - номер ТТН Нової пошти (для подальшого завантаження в програму). Якщо це поле вказано та заповнено, то всі інші поля блоку ігноруються (можна не вказувати).
Адресні поля повинні бути заповнені українською мовою, тому що при роботі з API Нової Пошти список вулиць і відділень завантажується українською мовою. Це потрібно для коректності пошуку за переданими значеннями на сервері Нової пошти та створення й додавання адреси.
GoodID=201 — ключ товару, (обов'язкове поле),
Price=120,05 — ціна продажу товару, (обов'язкове поле),
Count=20 — кількість замовленого товару, (обов'язкове поле),
WarehouseID=45 - код центру обліку, звідки буде списуватися товар
GoodID=20294
Price=19,00
Count=1
WarehouseID=45 - код центру обліку, звідки буде списуватися товар
....
GoodID=13854
Price=63,00
Count=5
WarehouseID=45 - код центру обліку, звідки буде списуватися товар
Примітка. Якщо в поле WarehouseID вказано значення, яке не є кодом центру обліку, то воно буде ігноруватися.
<?xml version="1.0" encoding="UTF-8"?>
<Order>
<Client>
<Name>Пупкін Іван Петрович</Name>
<MPhone>0675746830</MPhone>
<CPhone>7601828</CPhone>
<ZIP>61072</ZIP>
<Country>Україна</Country>
<Регіон>Харківська</Регіон>
<City>Харків</City>
<Address>вул.Тобольська 42-А</Address>
<EMail>info@torgsoft.com.ua</EMail>
</Client>
<Options>
<SaleType>1</SaleType>
<Comment>Код під'їзду 1685</Comment>
<OrderNumber>12</OrderNumber>
<DeliveryCondition>Нова Пошта</DeliveryCondition>
<DeliveryAddress>Харків, вул. Сумська, 124 (Відділення №33)</DeliveryAddress>
<ReserveDate>28082013</ReserveDate>
<BonusPay>100.8</BonusPay>
<GiftCertificate>9567200000106,9567200000182 </GiftCertificate>
<OrderDate>2020-02-04 18:19:44 </OrderDate>
<CurrencyInternationalCode>USD</CurrencyInternationalCode>
</Options>
<Goods>
<Good_1>
<GoodID>38280</GoodID>
<Price>145.33</Price>
<Count>2</Count>
</Good_1>
<Good_2>
<GoodID>38281</GoodID>
<Price>131.61</Price>
<Count>1</Count>
</Good_2>
</Goods>
</Order>
{
"Client": {
"Name": "Пупкін Іван Петрович",
"MPhone": "0675746830",
"CPhone": "7601828",
"ZIP": "61072",
"Country": "Україна",
"Region": "Харківська",
"Місто": "Харків",
"Address": "вул.Тобольська 42-А",
"EMail": "info@torgsoft.com.ua"
},
"Options": {
"SaleType": "1",
"Comment": "Код під'їзду 1685",
"OrderNumber": "12",
"DeliveryCondition": "Нова Пошта",
"DeliveryAddress": "Харків, вул. Сумська, 124 (Відділення №33)",
"ReserveDate": "28082013",
"BonusPay": "100.8",
"GiftCertificate": "9567200000106,9567200000182",
"OrderDate": "2020-02-04 18:19:44",
"CurrencyInternationalCode": "USD"
},
"Goods": [
{
"GoodID": "38280",
"Price": "145.33",
"Count": "2"
},
{
"GoodID": "38281",
"Price": "131.61",
"Count": "1"
}
]
}
*Значення SaleType може бути від 1 до 5:
1 — попереднє замовлення: створюється замовлення, за яким можна буде створити рахунок,
2 — оформлений продаж: створюється рахунок зі 100% передоплатою,
3 — оформлений продаж з відвантаженням: створюється рахунок зі 100% передоплатою, за яким відбувається відвантаження товару (створення видаткової накладної),
4 — оформлений продаж з відвантаженням, але без оплати: створюється рахунок без оплати, за яким відбувається відвантаження товару (створення видаткової накладної),
5 — тільки рахунок: замовлення не створюється, створюється відразу рахунок.
Примітка! У SaleType 2 - 5 мається на увазі, що весь товар знаходиться у потрібній кількості на даному центрі обліку. Якщо товар відсутній, то продаж проходитиме в мінус.
При активації додаткової функції Політика оптових цін є можливість зберігати політику оптових цін в xml-файл і передати його на FTP-сервер.
<?xml version="1.0" encoding="UTF-8"?>
<WholesalePrice>
<Good GoodID="1378">
<Price>
<Quantity>2</Quantity>
<QuantityPrice>33</QuantityPrice>
</Price>
<Price>
<Quantity>3</Quantity>
<QuantityPrice>32</QuantityPrice>
</Price>
<Price>
<Quantity>5</Quantity>
<QuantityPrice>30</QuantityPrice>
</Price>
</Good>
<Good GoodID="42">
<Price>
<Quantity>2</Quantity>
<QuantityPrice>6.5</QuantityPrice>
</Price>
<Price>
<Quantity>3</Quantity>
<QuantityPrice>6.3</QuantityPrice>
</Price>
<Price>
<Quantity>5</Quantity>
<QuantityPrice>6.1</QuantityPrice>
</Price>
</Good>
</WholesalePrice>
•WholesalePrice — батьківська секція (кореневий елемент).
•Good — секція товару, має один параметр GoodID — ключ товару (пошуковий), Ціле/Integer.
•Price — секція ціни.
•Quantity — секція кількості, значення — кількість для переходу, Дійсне/Float.
•QuantityPrice — секція ціни, значення — ціна під час переходу, Дійсне/Float.
Чи формувати цей файл, вирішує користувач відповідним налаштуванням. Ім'я файлу можна змінити. Файл відправляють у ту саму теку, що й TSGoods.trs.
1.Штрих-код сертифіката — Строкове/String (40).
2.Сума сертифіката — Дійсне/Float.
3.Дата закінчення терміну дії сертифіката — дата формату ddmmyyyyyy (якщо відсутня, то в сертифіката немає терміну дії або він відлічується від дати продажу сертифіката, але ще не проданий).
4.Тип сертифіката — може набувати значень 1 або 2: 1 — випущено, можна продати, але не можна використовувати для оплати покупок; 2 — куплено, куплено клієнтом, можна використовувати для оплати покупок.