|
<< Click to Display Table of Contents >> Описание формата синхронизации Интернет-магазина с Торгсофт |
|
Формат синхронизации интернет-магазина с Торгсофт: информация для разроботчика
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 – сумма платежа.
Также Торгсофт может формировать файл *.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
Текстовый файл с расширением 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
Barcode=990400800006 - если поле заполнено, при импорте заказа для нового клиента будет создана карта с уникальным штрих-кодом. Если включена настройка Обновлять данные клиента при автоматическом создании счета, штрих-код будет обновлен и для существующего клиента. Если переданный штрих-код уже используется другим клиентом, обновление не выполняется.
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 подразумевается, что весь товар находится в нужном количестве на данном центре учета. Если товар отсутствует, то продажа будет проходить в минус.
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 - код центра учета, с которого будет списываться товар
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>
<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>
{
"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"
}
]
}
При активации дополнительной опции Политика оптовых цен есть возможность сохранять политику оптовых цен в 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 – куплено, куплено клиентом, можно использовать для оплаты покупок.