Опис формату синхронізації Інтернет-магазину з Торгсофт

<< Click to Display Table of Contents >>

Navigation:  Додаткові функції > Синхронізація з Інтернет-магазином >

Опис формату синхронізації Інтернет-магазину з Торгсофт

Previous pageReturn to chapter overviewNext page

Синхронізація програми Торгсофт з Інтернет-магазином здійснюється за допомогою FTP-сервера.

1. Завантаження товарів на сайт:

Перелік того, що повинен вміти інтернет-магазин, для вдалої синхронізації.

1) Ваш інтернет-магазин повинен вміти завантажувати прайс-лист з файлу в форматі * .csv з роздільником; який має назву TSGoods.trs. Або файл формату * .yml. У файлі можуть бути присутні не всі поля, які поля вивантажуються і їх порядок - налаштовується:

* Ключ товару - GoodID (пошуковий), цілочисельний (назва колонки за замовчуванням - GoodID)

* Назва товару - строкове (500) (назва колонки за замовчуванням - GoodName)

* Опис товару - строкове (255) (назва колонки за замовчуванням - Description)

* Країна - строкове (100) (назва колонки за замовчуванням - Country)

* Артикул - строкове (30) (назва колонки за замовчуванням - Articul)

* Ціна роздрібна - дійсне (назва колонки за замовчуванням - RetailPrice)

* Ціна оптова - дійсне (назва колонки за замовчуванням - WholesalePrice)

* Ціна акційна (з товарної знижкою) - дійсне (назва колонки за замовчуванням - RetailPriceWithDiscount)

* Мінімальна кількість для замовлення клієнтом, шт - цілочисельне (назва колонки за замовчуванням - MinQuantityForOrder)

* Висота, см = 0 - дійсне (назва колонки за замовчуванням - Height)

* Ширина, см = 0 - дійсне (назва колонки за замовчуванням - Width)

* Ідентифікатор розділу Інтернет-магазину - Категорія - ціле число (назва колонки за замовчуванням - Category)

* Кількість на складі - дійсне (назва колонки за замовчуванням - WarehouseQuantity)

* Відображення (0- не відображати на сайті; 1 відображати на сайті) (назва колонки за замовчуванням - Display)

* Розмір - строкове (20) (назва колонки за замовчуванням - TheSize)

* Колір - строкове (50) (назва колонки за замовчуванням - Color)

* Матеріал - строкове (200) (назва колонки за замовчуванням - Material)

* Назва моделі товару - строкове (500) (назва колонки за замовчуванням - FashionName)

* Стать - цілочисельне (0 - стать не визначено, 1 - чоловіча, 2 - жіноча, 3 - хлопчик, 4 - дівчинка, 5 - унісекс) (назва колонки за замовчуванням - Sex)

* Коротка назва товару - строкове (255) (назва колонки за замовчуванням - ShortName)

* Вид товару повністю - строкове, містить всю ієрархію виду товару зверху вниз, розділені між собою комами (приклад "одяг, джинси, кльош") (максимальна довжина не визначена) (назва колонки за замовчуванням - GoodTypeFull)

* Колекція виробника повністю - строкове, містить всю ієрархію колекції виробника зверху вниз, розділені між собою комами (приклад "Польща, WOJCIK") (максимальна довжина не визначена) (назва колонки за замовчуванням - ProducerCollectionFull)

* Сезон - строкове (100) (назва колонки за замовчуванням - Season)

* Штрих-код - строкове (40) // з версії бази даних 376 (назва колонки за замовчуванням - Barcode)

* Упаковка - строкове (255) // з версії бази даних 380 (назва колонки за замовчуванням - Pack)

* Розмір упаковки - строкове (255) // з версії бази даних 380 (назва колонки за замовчуванням - PackSize)

* Живлення - строкове (255) // з версії бази даних 380 (назва колонки за замовчуванням - PowerSupply)

* Кількість штук в ящику - строкове (255) // з версії бази даних 380 (назва колонки за замовчуванням - CountUnitsPerBox)

* Вік - строкове (255) // з версії бази даних 380 (назва колонки за замовчуванням - Age)

* Міра - дійсне // з версії бази даних 380 (назва колонки за замовчуванням - Measure)

* Одиниця виміру міри - строкове (255) // з версії бази даних 380 (назва колонки за замовчуванням - MeasureUnit)

* Ознака уцінки товару - цілочисельне (0 - не знижений в ціні, 1 - знижений у ціні товар) // з версії бази даних 403 (назва колонки за замовчуванням - Closeout)

* Ціна за одиницю міри - дійсне // з версії бази даних 428 (назва колонки за замовчуванням - RetailPricePerUnit)

* Оптова ціна за одиницю міри - дійсне // з версії бази даних 428 (назва колонки за замовчуванням - WholesalePricePerUnit)

* Еквівалент роздрібної ціни - дійсне // з версії бази даних 449 (назва колонки за замовчуванням - EqualSalePrice)

* Еквівалент оптової ціни - дійсне // з версії бази даних 449 (назва колонки за замовчуванням - EqualWholesalePrice)

* Валюта еквівалентної ціни - строкове (3) // з версії бази даних 449 (назва колонки за замовчуванням - EqualCurrencyName)

* Собівартість - дійсне // з версії бази даних 461 (назва колонки за замовчуванням - PrimeCost)

* Код постачальника - строкове (255) // з версії бази даних 461 (назва колонки за замовчуванням - SuppLierCode)

* Аналоги - строкове (1000) // з версії бази даних 481 (назва колонки за замовчуванням - Analogs)

* Будь-які динамічні характеристики товару // з версії бази даних 481 (назва колонки за замовчуванням - "Ім'я" динамічної характеристики)

* Мінімальна оптова кількість - дійсне // з версії бази даних 482 (назва колонки за замовчуванням - WholesaleCount)

* Одиниця виміру - строкове (10) // з версії бази даних 482 (назва колонки за замовчуванням - MesUnit)

* Знижка - дійсне // з версії бази даних 482 (назва колонки за замовчуванням - PriceDiscountPercent)

* Виробник - строкове (100) // з версії бази даних 482 (назва колонки за замовчуванням - PCName)

* ID Моделі- цілочисельне // з версії бази даних 482 (назва колонки за замовчуванням - ModelGoodID)

* Вид товару - строкове (255), назву кореневого виду товару, на який посилається синхронізований товар // з версії бази даних 492 (назва колонки за замовчуванням - GoodTypeName)

* Розділ синхронізації - строкове (255), назва розділу синхронізації кореневого виду товару, на який посилається синхронізований товар // з версії бази даних 492 (назва колонки за замовчуванням - SynchronizationSection)

* Ціна у валюті роздрібна - дійсне, може бути кілька // з версії бази даних 492 (назва колонки за замовчуванням - CurrencyPriceRetail_ "ID валюти")

* Ціна у валюті оптова - дійсне, може бути кілька // з версії бази даних 492 (назва колонки за замовчуванням - CurrencyPriceWholesale_ "ID валюти")

* Термін гарантії - цілочисельне // з версії бази даних 493 (назва колонки за замовчуванням GuaranteePeriod)

* Одиниця виміру терміну гарантії - строкове, може приймати одне з трьох значень (д., міс., р) // з версії бази даних 493 (назва колонки за замовчуванням GuaranteeMesUnit)

 

Прайс і замовлення знаходяться в якійсь папці на 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 (сума платежу)

 

Основні можливості синхронізації через формат YML:

синхронізація працює через файл, також цей файл можна зберегти на FTP, який вказується в налаштуваннях об'єкту синхронізації;

дозволяє вивантажувати динамічні характеристики товару в вивантажуваний файл;

дозволяє вивантажувати фото товару в файл (за попередньою налаштування куди зберігати фото: свій сайт або сторонній сервіс - http://uploads.ru).

 

Також, можуть бути вивантажені динамічні характеристики товару. Поля динамічних характеристик додаються вручну і потрапляють в блок <param>

Якщо назва тега не відповідає перерахованим вище, то ця характеристика (будь вона динамічна або постійна) потрапить в блок <params> і на імпортованій стороні буде називатися як характеристика для користувача. У різних товарів може бути свій набір <param> і тільки у <param> може бути одиниця виміру характеристики, яка в Торгсофт може бути тільки у цілочисельних і дійсних динамічних характеристик.

 

2. Для обробки замовлень в програмі:

Також Торгсофт може формуватися файл *.csv (роздільник ;) з клієнтською базою TSClients.trs (чи формувати даний файл вирішує користувач, відповідним налаштуванням), відправляється в ту ж папку, що і TSGoods.trs.

Набір полів:

1. ПІБ - строкове поле (100)

2. e-mail - строкове поле (50)

3. Номер телефону, мобільний - строкове поле (100)

4. Знижка клієнта - дійсне поле

5. Міський телефон - строкове поле (255)

6. Номер картки (штрих-код клієнта) - строкове поле (16)

7. Індекс - строкове поле (15)

8. Країна - строкове поле (50)

9. Область - строкове поле (100)

10. Місто - строкове поле (50)

11. Адреса - строкове поле (255)

12. Додаткова інформація - строкове поле невизначений (максимальна довжина не визначена)

13. Сума для розрахунку знижки - дійсне поле

14. Сума накопичених бонусів - дійсне поле

 

 3. Формувати замовлення в файли такого типу

текстовий файл з розширенням sal
кодування файла: Win-1251 або UTF-8 (з 428 версії БД), в залежності від налаштування Об'єкту синхронізації.

файл в форматі XML (з 493 версії бази даних)
кодування файла: UTF-8

файл у форматі JSON (з 493 версії бази даних)
кодування файла: UTF-8

Файл замовлення повинен складатися з ASCII символів (латинські літери, цифри і роздільники)

Опис полів

Текстовий файл з розширенням sal:

Файл у форматі XML (з 493 версії бази даних):

Файл у форматі JSON (з 493 версії бази даних):

[Client] (Блок інформації про клієнта)

Name = ПІБ (обов'язкове поле)

Mphone = 0672356147

CPhone = 2568974

ZIP = 61072

Country = Україна

Region = Харківська

City = Харків

Address = вул. Тобольська 42-А

EMail=info@torgsoft.ua

 

[Options] (Блок інформації про замовлення)

OrderNumber = 12/21 (обов'язкове поле)

Comment** = Доставка з 14 до 18

DeliveryCondition = Нова Пошта - строкове (255) // з 390 версії бази даних

ReserveDate = 28082013 - дата резерву в форматі ddmmyyyy // з 392 версії бази даних

SaleType = 1 * (обов'язкове поле)

BonusPay = 28,50 - дійсне число, яке відображає суму на замовлення, яку клієнт оплатив бонусами // з 463 версії бази даних

GiftCertificate = +9567200000106,9567200000182 - перелік подарункових сертифікатів, використаних клієнтом для оплати замовлення через кому // з 470 версії бази даних

OrderDate = 2009-01-31 1:55:14 - дата оформлення замовлення (необов'язкове поле) в форматі yyyy-mm-dd hh: mm: ss // з 470 версії бази даних

CurrencyInternationalCode = UAH - строкове (4) міжнародний код валюти замовлення (необов'язкове поле, якщо не вказано, замовлення обробляється в національній валюті) // з 493 версії бази даних

[NewPostDeliveryOptions] (блок інформації для створення отримувача та адреси Нової пошти) детальніше див. тут

[1] (Блок інформації про перший товар замовлення)

GoodID = 201 (Ключ товару) (обов'язкове поле)

Price = 120,05 (Ціна продажу товару) (обов'язкове поле)

Count = 20 (Кількість замовленого товару) (обов'язкове поле)

[2] (Блок інформації про другий товар замовлення)

GoodID = 20294

Price = 19,00

Count = 1

....

[N] (Блок інформації про n-ий товар замовлення)

GoodID = 13854

Price = 63,00

Count = 5

<?xml version="1.0" encoding="UTF-8"?>

<Order>

  <Client>

     <Name>Пупкін Іван Петрович</Name>

     <MPhone>0675746830</MPhone>

     <CPhone>7601828</CPhone>

     <ZIP>61072</ZIP>

     <Country>Украина</Country>

     <Region>Харьковская</Region>

     <City>Харьков</City>

     <Address>ул.Тобольская 42-А</Address>

     <EMail>info@torgsoft.com.ua</EMail>

  </Client>

  <Options>

     <SaleType>1</SaleType>

     <Comment>Код подъезда 1685</Comment>

     <OrderNumber>12</OrderNumber>

     <DeliveryCondition>Новая Почта</DeliveryCondition>

     <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": "Харьковская",

       "City": "Харьков",

       "Address": "ул.Тобольская 42-А",

       "EMail": "info@torgsoft.com.ua"

   },

   "Options": {

       "SaleType": "1",

       "Comment": "Код подъезда 1685",

       "OrderNumber": "12",

       "DeliveryCondition": "Новая Почта",

       "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 мається на увазі, що весь товар знаходиться в необхідній кількості на даному центрі обліку. Якщо товар відсутній, то продажі будуть проходити в мінус.

** Коментар відображається на формі Рахунок (після створення рахунку, щоб побачити, потрібно відкрити рахунок на редагування) в поле Коментар (Мал. 1).

Счет - Комментарий

Мал. 1 (Версія програми 2020.0.8)

 

4. Експорт політики оптових цін (з 447 версії БД)

При активованій додатковій опції Політика оптових цін є можливість зберігати політику оптових цін в 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 - ключ товару (пошуковий), цілочисельний

Price - секція ціни

Quantity - секція кількості, значення - кількість для переходу, дійсний

QuantityPrice - секція ціни, значення - ціна при переході, дійсний

 

5. Експорт подарункових сертифікатів (з 470 версії БД) в файл *.csv формата з назвою TSGiftCertificate.trs

Формувати даний файл (назва файлу можна змінити), вирішує користувач відповідним налаштуванням, відправляється в ту ж папку, що і TSGoods.trs.

Набір полів:

1. Штрих-код сертифіката - строкове поле (40)

2. Сума сертифіката - дійсне поле

3. Дата закінчення терміну дії сертифіката - дата формату ddmmyyyy (якщо відсутня, то у сертифіката немає терміну дії або він відраховується від дати продажу сертифіката, але ще не проданий)

4. Тип сертифіката - може приймати значення 1 або 2 (1 випущений, можна продати, але не можна використовувати для оплати покупок; 2 - куплений, куплений клієнтом, можна використовувати для оплати покупок)