Описание формата синхронизации Интернет-магазина с Торгсофт

<< Click to Display Table of Contents >>

Navigation:  Дополнительные функции > Сопряжение с Интернет-магазином >

Описание формата синхронизации Интернет-магазина с Торгсофт

Попередня сторінка Повернутися до розділу Наступна сторінка

Формат синхронизации интернет-магазина с Торгсофт: информация для разроботчика

 

1. Загрузка товаров на сайт

 

Перечень того, что должен уметь интернет-магазин, для успешной синхронизации

 

Ваш интернет-магазин должен уметь загружать прайс-лист из файла:

в формате *.csv с разделителем; и названием TSGoods.trs,

или файл формата *.yml.

 

В файле могут присутствовать не все поля. Какие поля выгружаются и их порядок - это настраивается:

 

Данные

Тип данных

Количество символов

Колонка по умолчанию

Комментарий

 

С версии базы данных







ID Модели

Целое/Integer

 

ModelGoodID

 

482

Аналоги

Строковое/String

1000

Analogs

 

481

Артикул

Строковое/String

30

Articul

 

 

валюта эквивалентной цены

Строковое/String

 

EqualCurrencyName

 

449

Вид товара

Строковое/String

255

GoodTypeName

название раздела синхронизации корневого вида товара, на который ссылается

492

Вид товара полностью

Строковое/String

максимальная длина не определена

GoodTypeFull

содержит всю иерархию вида товара сверху вниз, разделенные между собой запятыми (пример "одежда, джинсы, клеш")

 

Возраст

Строковое/String

255

Age

 

380

Высота, см =0

Вещественное/Float

 

Height

 

 

Единица измерения

Строкове/String

10

MesUnit

 

482

Единица измерения меры

Строковое/String

255

MeasureUnit

 

380

Единица измерения срока гарантии

Строковое/String

 

GuaranteeMesUnit

может принимать одно из трех значений – д., мес., г.

493

Идентификатор раздела интернет - магазина — Категория

Целое/Integer

 

Category

 

 

Ключ товара— GoodID (поисковой)

Целое/Integer

 

GoodID

 

 

Код поставщика

Строковое/String

255

SuppLierCode

 

461

Количество на складе

Вещественное/Float

 

WarehouseQuantity

 

 

Количество на складе (по центрам учета)

Строковое/String

максимальная длина не определена

WarehouseQuantityForPartner

пример 2=1,000|3=2,000|8=2,000..., где 2,3,8 - код центра учета, который отображается в Объекте синхронизации, на вкладке Центры учета; 1,000, 2,000 - количество товара; | - разделитель.

 

Количество штук в ящике

Строковое/String

255

CountUnitsPerBox

 

380

Коллекция производителя полностью

Строковое/String

максимальная длина не определена

ProducerCollectionFull

содержит всю иерархию коллекции производителя сверху вниз, разделенные между собой запятыми (пример "Польша, WOJCIK")

 

Короткое название товара

Строковое/String

255

ShortName

 

 

Любые динамические характеристики товара

 

 

 

название колонки по умолчанию - "Имя" динамической характеристики

481

Материал

Строковое/String

200

Material

 

 

Мера

Вещественное/Float

 

Measure

 

380

Минимальное количество на заказ клиента, шт

Целое/Integer

 

MinQuantityForOrder

 

 

Минимальное оптовое количество

Дійсне/Float

 

WholesaleCount

 

482

Назва модели товара

Строковое/String

500

FashionName

 

 

Название товара

Строковое/String

500

GoodName

 

 

Описание товара

Строковое/String

255

Description

 

 

Оптовая цена за единицу меры

Вещественное/Float

 

WholesalePricePerUnit

 

428

Отображение

 

 

Display

0 — не отображать на сайте;

1 — отображать на сайте

 

Питание

Строковое/String

255

PowerSupply

 

380

Пол

Целое/Integer

 

Sex

0 — пол не определен, 1 — мужской, 2 — женский, 3 — мальчик, 4 — девочка, 5 — унисекс

 

Признак уценки товара

Целое/Integer

 

Closeout

0 — не уценка,

1 — уценка

403

Производитель

Строковое/String

100

PCName

 

482

Раздел синхронизации

Строковое/String

255

SynchronizationSection

название раздела синхронизации корневого вида товара, на который ссылается синхронизированный товар

492

Размер

Строковое/String

20

TheSize

 

 

Размер упаковки

Строковое/String

255

PackSize

 

380

Себестоимость

Вещественное/Float

 

PrimeCost

 

461

Сезон

Строковое/String

100

Season

 

 

Скидка

Вещественное/Float

 

PriceDiscountPercent

 

482

Срок гарантии

Целое/Integer

 

GuaranteePeriod

 

493

Страна

Строковое/String

100

Country

 

 

Упаковка

Строковое/String

255

Pack

 

380

Цвет

Строковое/String

50

Color

 

 

Цена акционная (с товарной скидкой)

Вещественное/Float

 

RetailPriceWithDiscount

 

 

Цена в валюте оптовая

Вещественное/Float

 

CurrencyPriceWholesale_"ID валюти"

может быть несколько

492

Цена в валюте розничная

Вещественное/Float

 

CurrencyPriceRetail_"ID валюти"

может быть несколько

492

Цена за единицу меры

Вещественное/Float

 

RetailPricePerUnit

 

428

Цена оптовая

Вещественное/Float

 

WholesalePrice

 

 

Цена розничная

Вещественное/Float

 

RetailPrice

 

 

Ширина, см =0

Вещественное/Float

 

Width

 

 

Штрих-код

Строковое/String

40

Barcode

 

376

Эквивалент оптовой цены

Вещественное/Float

 

EqualWholesalePrice

 

449

Эквивалент розничной цены

Вещественное/Float

 

EqualSalePrice

 

449

 

 

Прайс и заказы находятся в любой папке на 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 – сумма платежа.

2. Обработка заказов в программе

Также Торгсофт может формировать файл *.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. Сумма накопленных бонусов — Вещественное/Floa

 

3. Тип формирование заказа в файлы

Текстовый файл с расширением sal – кодирование файла: Win-1251 или UTF-8, с 428 версии БД, в зависимости от настройки объекта синхронизации.

Файл в формате XML – кодировка файла: UTF-8, из 493 версии базы данных.

Файл в формате JSON – кодировка файла: UTF-8, с 493 версии базы данных.

 

Имя файла заказа должно состоять из символов ASCII — латинские буквы, цифры и разделители.

Описане полей

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

[Client] — блок информации про клиента

Name=ФИО (обязательное поле)

MPhone=0672356147

CPhone=2568974

ZIP=61072

Country=Украина

Region=Харьковская область

City=Харьков

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

EMail=info@torgsoft.ua

Barcode=990400800006 - если поле заполнено, при импорте заказа для нового клиента будет создана карта с уникальным штрих-кодом. Если включена настройка Обновлять данные клиента при автоматическом создании счета, штрих-код будет обновлен и для существующего клиента. Если переданный штрих-код уже используется другим клиентом, обновление не выполняется.

[Options] — блок информации про заказ

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 - код центра учета, являющегося центром учета при создании счета по заказу.

 

Примечание. Код центра учета указывается в объекте синхронизации на вкладке Центры учета

 

*Значение SaleType может быть от 1 до 5:

1 — предварительный заказ: создается заказ, по которому можно будет создать счет,

2 — оформленная продажа: создается счет со 100% предоплатой,

3 — оформленная продажа с отгрузкой: создается счет со 100% предоплатой, по которому происходит отгрузка товара (создание расходной накладной),

4 — оформленная продажа с отгрузкой, но без оплаты: создается счет без оплаты, по которому происходит отгрузка товара (создание расходной накладной),

5 – только счет: заказ не создается, создается сразу счет.

 

Примечание! В SaleType 2 – 5 подразумевается, что весь товар находится в нужном количестве на данном центре учета. Если товар отсутствует, то продажа будет проходить в минус.

[NewPostDeliveryOptions] — добавлено новую секцию

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 Новой Почты список улиц и отделений загружается на украинском языке. Это необходимо для корректности поиска по переданным значениям на сервере Новой почты и создания и добавления адреса.

 

Для файлов формата .JSON и .XML описание полей должно быть аналогичным.

 

[1] — блок информации о первом товаре заказа

GoodID=201 — ключ товара, (обязательное поле),

Price=120,05 — цена продажи товара, (обязательное поле),

Count=20 — количество заказанного товара, (обязательное поле),

WarehouseID=45 - код центра учета, с которого будет списываться товар

 

[2] — блок информации о втором товаре заказа

GoodID=20294

Price=19,00

Count=1

WarehouseID=45 - код центра учета, с которого будет списываться товар

....

[n] — блок информации про n-й товар заказа

GoodID=13854

Price=63,00

Count=5

WarehouseID=45 - код центра учета, с которого будет списываться товар

 

Примечание. Если в поле WarehouseID указано значение, не являющееся кодом центра учета, то оно будет игнорироваться.

Файл в формате XML, с 493 версии базы данных

<?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>

 <Barcode>990400800006</Barcode>

  </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>

 

Файл в формате JSON, с 493 версии базы данных

{

   "Client": {

       "Name": "Пупкін Іван Петрович",

       "MPhone": "0675746830",

       "CPhone": "7601828",

       "ZIP": "61072",

       "Country": "Україна",

       "Region": "Харківська",

       "City": "Харків",

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

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

   "Barcode": "990400800006"

   },

   "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"

       }

   ]

}

 

4. Экспорт политики оптовых цен, с 447 версии БД

При активации дополнительной опции Политика оптовых цен есть возможность сохранять политику оптовых цен в xml-файле и передать его на FTP-сервер.

Пример xml-файла

 

<?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.

5. Экспорт подарочных сертификатов в файл *.csv формата с названием TSGiftCertificate.trs, с 470 версии БД

Формировать ли этот файл, решает пользователь соответствующей настройкой. Можно изменить имя файла. Файл отправляют в ту же папку, что и TSGoods.trs.

Набор полей

1.Штрих-код сертификата - Строковое/String (40).

2.Сумма сертификата – Действительное/Float.

3.Дата истечения срока действия сертификата – дата формата ddmmyyyyyy (если отсутствует, то у сертификата нет срока действия или он отсчитывается от даты продажи сертификата, но еще не продан).

4.Тип сертификата – может принимать значения 1 или 2: 1 – выпущено, можно продать, но нельзя использовать для оплаты покупок; 2 – куплено, куплено клиентом, можно использовать для оплаты покупок.