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

<< 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 (c 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 01:55:14 - дата оформления заказа (необязательное поле) в формате yyyy-mm-dd hh:mm:ss //с 470 версии базы данных

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

[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. Экспорт политики оптовых цен (c 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. Экспорт подарочных сертификатов (c 470 версии БД) в файл *.csv формата с названием TSGiftCertificate.trs

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

Набор полей:

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

2. Сумма сертификата - вещественное поле

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

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