Cerințe tehnice pentru sincronizarea magazinului online cu Torgsoft
1. Încărcarea mărfurilor pe site
Lista a ceea ce trebuie să știe să facă magazinul online pentru o integrare reușită.
Magazinul dvs. online trebuie să poată încărca lista de prețuri dintr-un fișier:
-
în format *.csv cu delimitator ; și nume TSGoods.trs,
-
sau fișier în format *.yml.
În fișier pot fi prezente nu toate câmpurile, ce câmpuri sunt încărcate și ordinea acestora se poate configura:
|
Date |
Tip date |
Numărul de caractere |
Coloană implicită |
Comentariu |
Versiunea bazei de date |
|
Cheie produs — GoodID (căutare) |
Întreg/Integer |
GoodID |
|||
|
Nume produs |
Text/String |
500 |
GoodName |
||
|
Descriere produs |
Text/String |
255 |
Description |
||
|
Țară |
Text/String |
100 |
Country |
||
|
Articol |
Text/String |
30 |
Articul |
||
|
Preț de vânzare |
Float |
RetailPrice |
|||
|
Preț en-gros |
Float |
WholesalePrice |
|||
|
Preț promoțional (cu reducere) |
Float |
RetailPriceWithDiscount |
|||
|
Cantitate minimă pentru comandă, buc |
Întreg/Integer |
MinQuantityForOrder |
|||
|
Înălțime, cm =0 |
Float |
Height |
|||
|
Lățime, cm =0 |
Float |
Width |
|||
|
Identificator categorie magazin online |
Întreg/Integer |
Category |
|||
|
Stoc disponibil |
Float |
WarehouseQuantity |
|||
|
Afișare |
Display |
0 — nu afișa pe site; 1 — afișa pe site |
|||
|
Mărime |
Text/String |
20 |
TheSize |
||
|
Culoare |
Text/String |
50 |
Color |
||
|
Material |
Text/String |
200 |
Material |
||
|
Numele modelului |
Text/String |
500 |
FashionName |
||
|
Gen |
Întreg/Integer |
Sex |
0 — nedeterminat, 1 — masculin, 2 — feminin, 3 — băiat, 4 — fată, 5 — unisex |
||
|
Nume scurt produs |
Text/String |
255 |
ShortName |
||
|
Tipul complet al produsului |
Text/String |
lungime maximă nedeterminată |
GoodTypeFull |
conține întreaga ierarhie a tipului de produs de sus în jos, separate prin virgule (exemplu "îmbrăcăminte,blugi,flare") |
|
|
Întreaga colecție a producătorului |
Text/String |
lungime maximă nedeterminată |
ProducerCollectionFull |
conține întreaga ierarhie a colecției producătorului de sus în jos, separate prin virgule (exemplu "Polonia,WOJCIK") |
|
|
Sezon |
Text/String |
100 |
Season |
||
|
Cod de bare |
Text/String |
40 |
Barcode |
376 |
|
|
Ambalaj |
Text/String |
255 |
Pack |
380 |
|
|
Dimensiunea ambalajului |
Text/String |
255 |
PackSize |
380 |
|
|
Alimentare |
Text/String |
255 |
PowerSupply |
380 |
|
|
Numărul de unități pe cutie |
Text/String |
255 |
CountUnitsPerBox |
380 |
|
|
Vârstă |
Text/String |
255 |
Age |
380 |
|
|
Unitate de măsură |
Text/String |
255 |
Measure |
380 |
|
|
Unitate de măsură pentru măsură |
Text/String |
255 |
MeasureUnit |
380 |
|
|
Indicator de reducere a prețului produsului |
Întreg/Integer |
Closeout |
0 — preț neredus, 1 — preț redus |
403 |
|
|
Preț per unitate de măsură |
Float |
RetailPricePerUnit |
428 |
||
|
Preț en-gros per unitate de măsură |
Float |
WholesalePricePerUnit |
428 |
||
|
Echivalent preț retail |
Float |
EqualSalePrice |
449 |
||
|
Echivalent preț en-gros |
Float |
EqualWholesalePrice |
449 |
||
|
Valută echivalentă |
Text/String |
EqualCurrencyName |
449 |
||
|
Costul produsului |
Float |
PrimeCost |
461 |
||
|
Cod furnizor |
Text/String |
255 |
SuppLierCode |
461 |
|
|
Analogi |
Text/String |
1000 |
Analogs |
481 |
|
|
Orice caracteristici dinamice ale produsului |
numele coloanei implicite — "Numele" caracteristicii dinamice |
481 |
|||
|
Cantitate minimă en-gros |
Float |
WholesaleCount |
482 |
||
|
Unitate de măsură |
Text/String |
10 |
MesUnit |
482 |
|
|
Reducere |
Float |
PriceDiscountPercent |
482 |
||
|
Producător |
Text/String |
100 |
PCName |
482 |
|
|
ID Model |
Întreg/Integer |
ModelGoodID |
482 |
||
|
Tipul produsului |
Text/String |
255 |
GoodTypeName |
numele secțiunii de sincronizare a tipului principal de produs |
492 |
|
Secțiunea de sincronizare |
Text/String |
255 |
SynchronizationSection |
numele secțiunii de sincronizare a tipului principal de produs la care se referă produsul sincronizat |
492 |
|
Preț retail în valută |
Float |
CurrencyPriceRetail_"ID valutei" |
pot exista mai multe |
492 |
|
|
Preț en-gros în valută |
Float |
CurrencyPriceWholesale_"ID valutei" |
pot exista mai multe |
492 |
|
|
Perioada de garanție |
Întreg/Integer |
GuaranteePeriod |
493 |
||
|
Unitate de măsură pentru garanție |
Text/String |
GuaranteeMesUnit |
poate avea una dintre cele trei valori — z., l., a. |
493 |
Lista de prețuri și comenzile se află în orice director de pe serverul ftp, fotografiile în alt director și au același nume ca GoodID, iar extensia fișierelor foto corespunde tipului acestora.
Începând cu versiunea 452 a bazei de date, în directorul cu fotografii sunt mutate și fotografiile suplimentare ale produsului cu numele următor: codul fotografiei (ID-ul produsului), underscore, numărul fotografiei suplimentare (nu neapărat consecutiv), punct, extensia fișierului.
Modul în care denumiți câmpurile în baza de date a magazinului online — nu contează, dacă le veți folosi pe toate sau nu — nu contează, de asemenea.
Opțiuni suplimentare
Setarea ordinii câmpurilor în fișierul *.csv și posibilitatea de a exclude câmpurile inutile pentru magazinul online din fișier.
Formarea denumirii coloanelor în fișierul *.csv. Ele pot fi formate automat sau manual de către utilizator.
La exportul în fișier YML există o listă de taguri rezervate (dacă denumim astfel câmpul exportat, acesta va fi exportat ca tag cu acest nume și nu prin tagul param — tagul caracteristicilor suplimentare ale produsului):
-
name — numele produsului,
-
model — numele modelului produsului,
-
vendor — producătorul produsului,
-
vendorCode — articol,
-
price — preț cu reducere,
-
oldprice — preț retail,
-
price_old — preț retail,
-
categoryId — ID tip produs/categorie,
-
description — descriere produs,
-
country — țara de origine,
-
group_id — ID model produs,
-
stock_quantity — cantitate produs,
-
barcode — cod de bare produs,
-
url — URL pagină produs pe site-ul magazinului,
-
enable_auto_discounts — calcul automat și afișare reduceri pentru ofertă,
-
vat — rata TVA,
-
delivery — true|false — posibilitate livrare curier,
-
delivery-options — condiții livrare curier pentru produs după regiunea magazinului: tipuri de livrare, termene, cost,
-
option — condiții livrare curier pentru produs după regiunea magazinului: tipuri de livrare, termene, cost,
-
cost — costul livrării,
-
days — termenul de livrare în zile lucrătoare,
-
order-before — ora până la care trebuie făcută comanda pentru a fi livrată în acest termen,
-
pickup — true|false — posibilitate ridicare de la punctele de livrare din toate regiunile în care livrează magazinul,
-
store — true|false — posibilitate achiziționare produs fără comandă prealabilă,
-
sales_notes — element obligatoriu dacă aveți restricții la achiziționare, de exemplu, cantitate minimă de produse sau necesitatea avansului. De asemenea, puteți indica opțiunile de plată, promoțiile și reducerile, în acest caz utilizarea elementului nu este obligatorie.
-
min-quantity — cantitatea minimă de produse identice într-o comandă pentru cazurile în care achiziția este posibilă doar în set, nu pe bucată.
-
manufacturer_warranty — true|false — garanție oficială a producătorului,
-
adult — true|false — produsul este destinat satisfacerii nevoilor sexuale sau exploatează în alt mod interesul sexual,
-
expiry — termen de valabilitate, termen de utilizare sau data de expirare,
-
weight — greutatea produsului în kilograme, inclusiv ambalajul,
-
dimensions — dimensiunile produsului în ambalaj: lungime, lățime, înălțime. Specificați dimensiunile în centimetri.
-
age — categoria de vârstă a produsului,
-
typePrefix — tip/categorie,
-
country_of_origin — țara de origine,
-
partType — plată în rate,
-
partCount — numărul de plăți pentru plata în rate,
-
sale — produs disponibil prin programul «Credite Călduțe», cu condiția existenței obligatorii a secțiunii «Plată în rate», trebuie să fie valoarea hc,
-
partPrice — suma plății.
2. Procesarea comenzilor în program
De asemenea, Torgsoft poate genera un fișier *.csv (delimitator ;) cu baza de date a clienților TSClients.trs, care este trimis în același director ca și TSGoods.trs. Dacă se generează acest fișier este decis de utilizator prin setările corespunzătoare.
Set de câmpuri:
1. Nume complet — Text/String (100)
2. e-mail — Text/String (50)
3. Număr de telefon, mobil — Text/String (100)
4. Reducere client — Float
5. Telefon fix — Text/String (255)
6. Număr card (cod de bare client) — Text/String (16)
7. Cod poștal — Text/String (15)
8. Țară — Text/String (50)
9. Regiune — Text/String (100)
10. Oraș — Text/String (50)
11. Adresă — Text/String (255)
12. Informații suplimentare — Text/String, câmp nedeterminat (lungime maximă nedeterminată)
13. Sumă pentru calcularea reducerii — Float
14. Suma bonusurilor acumulate — Float
3. Tipul de generare a comenzii în fișiere
-
Fișier text cu extensia sal — codificare fișier: Win-1251 sau UTF-8, începând cu versiunea 428 a bazei de date, în funcție de setările obiectului de sincronizare.
-
Fișier în format XML — codificare fișier: UTF-8, începând cu versiunea 493 a bazei de date.
-
Fișier în format JSON — codificare fișier: UTF-8, începând cu versiunea 493 a bazei de date.
Numele fișierului comenzii trebuie să fie format din caractere ASCII — litere latine, cifre și separatori.
Descrierea câmpurilor
Fișier text cu extensia sal
[Client] — bloc de informații despre client
Name=Nume complet (câmp obligatoriu)
Mphone=0672356147
CPhone=2568974
ZIP=61072
Country=Ucraina
Region=Regiunea Harkov
City=Harkov
Address=Str. Tobolska 42-A
EMail=info@torgsoft.ua
[Options] — bloc de informații despre comandă
OrderNumber=12/21 — câmp obligatoriu.
Comment=Livrare între orele 14 și 18.
DeliveryCondition=Nova Poșta — Text/String (255), începând cu versiunea 390 a bazei de date.
DeliveryAddress=Harkov, Str. Sumska, 124 (Oficiul nr. 33) — Text/String (255), începând cu versiunea 505 a bazei de date.
ReserveDate=28082013 — data rezervării în format ddmmyyyyy, începând cu versiunea 392 a bazei de date.
SaleType=1* — câmp obligatoriu.
BonusPay=28,50 — Float, reprezentând suma plătită de client cu bonusuri, începând cu versiunea 463 a bazei de date.
GiftCertificate=9567200000106,9567200000182 — lista certificatelor cadou utilizate de client pentru plata comenzii, separate prin VIRGULĂ, începând cu versiunea 470 a bazei de date.
OrderDate=2009-01-31 01:55:14 — data plasării comenzii (câmp opțional) în format yyyy-mm-dd hh:mm:ss, începând cu versiunea 470 a bazei de date.
CurrencyInternationalCode=UAH — Text/String (4) codul valutar internațional al comenzii (câmp opțional; dacă nu este specificat, comanda este procesată în moneda națională), începând cu versiunea 493 a bazei de date.
SaleForm=1 — numeric (valoarea 1 — En-gros, 2 — Retail), tipul comerțului comenzii; dacă câmpul nu este specificat sau este specificat incorect, comanda este procesată ca tip de comerț — retail, începând cu versiunea 500 a bazei de date.
[NewPostDeliveryOptions] — secțiune nouă adăugată
RecepientType=2 — tipul destinatarului: 1 — persoană juridică, 2 — persoană fizică.
EGRPOU= — pentru persoana juridică se specifică codul EGRPOU — cod numeric de 8 caractere.
LastName=Petrov — numele de familie al persoanei de contact a destinatarului Nova Poșta.
FirstName=Petru — prenumele persoanei de contact a destinatarului Nova Poșta.
MiddleName=Petrovici — prenumele tatălui persoanei de contact a destinatarului Nova Poșta.
Phone=0676758462 — telefonul mobil al persoanei de contact a destinatarului Nova Poșta.
DeliveryType=2 — tipul livrării: 1 — livrare la adresa destinatarului, 2 — livrare la oficiul Nova Poșta.
DeliveryCity=Zabolotiv — orașul de livrare și pentru care se creează noua adresă la DeliveryType= 1 sau se caută oficiul Nova Poșta la DeliveryType= 2.
WarehouseNumber=1 — numărul oficiului Nova Poșta.
WarehouseAddress=Str. M. Gusevschii, 3 — adresa oficiului Nova Poșta (pentru o căutare mai precisă a oficiului, deoarece numărul oficiului nu este întotdeauna unic).
StreetType= — la livrarea la adresă tipul străzii "Str.", "Bd.", etc., la livrarea la oficiu — trebuie să fie gol.
StreetName= — la livrarea la adresă denumirea străzii, la livrarea la oficiul Nova Poșta — trebuie să fie gol.
BuildingNumber= — numărul clădirii la livrarea la adresă pentru crearea adresei de livrare.
Flat= — numărul apartamentului, dacă există, pentru crearea adresei destinatarului Nova Poșta.
Câmpurile de adresă trebuie completate în limba ucraineană, deoarece la utilizarea API-ului Nova Poșta lista străzilor și oficiilor este încărcată în limba ucraineană. Acest lucru este necesar pentru corectitudinea căutării valorilor transmise pe serverul Nova Poșta și crearea și adăugarea adresei.
Pentru fișierele în format .JSON și .XML descrierea câmpurilor trebuie să fie similară
[1] — bloc de informații despre primul produs din comandă
GoodID=201 — cheie produs, (câmp obligatoriu),
Price=120,05 — preț de vânzare al produsului, (câmp obligatoriu),
Count=20 — cantitatea produsului comandat, (câmp obligatoriu),
[2] — bloc de informații despre al doilea produs din comandă
GoodID=20294
Price=19,00
Count=1
....
[n] — bloc de informații despre al n-lea produs din comandă
GoodID=13854
Price=63,00
Count=5
Fișier în format XML, începând cu versiunea 493 a bazei de date
<?xml version="1.0" encoding="UTF-8"?>
<Order>
<Client>
<Name>Pupkin Ivan Petrovici</Name>
<MPhone>0675746830</MPhone>
<CPhone>7601828</CPhone>
<ZIP>61072</ZIP>
<Country>Ucraina</Country>
<Region>Harkov</Region>
<City>Harkov</City>
<Address>Str. Tobolska 42-A</Address>
<EMail>info@torgsoft.com.ua</EMail>
</Client>
<Options>
<SaleType>1</SaleType>
<Comment>Cod de acces 1685</Comment>
<OrderNumber>12</OrderNumber>
<DeliveryCondition>Nova Poșta</DeliveryCondition>
<DeliveryAddress>Harkov, Str. Sumska, 124 (Oficiul nr. 33)</DeliveryAddress>
  ; <ReserveDate>28082013</ReserveDate>
<BonusPay>100.8</BonusPay>
<GiftCertificate>9567200000106,9567200000182</GiftCertificate>
<DateOrderDate>2020-02-04 18:19:44</DateOrderDate>
<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>
Fișier în format JSON, începând cu versiunea 493 a bazei de date
{
"Client": {
"Name": "Pupkin Ivan Petrovici",
"MPhone": "0675746830",
"CPhone": "7601828",
"ZIP": "61072",
"Country": "Ucraina",
"Region": "Harkov",
"City": "Harkov",
"Address": "Str. Tobolska 42-A",
"EMail": "info@torgsoft.com.ua"
},
"Options": {
"SaleType": "1",
"Comment": "Cod de acces 1685",
"OrderNumber": "12",
"DeliveryCondition": "Nova Poșta",
"DeliveryAddress": "Harkov, Str. Sumska, 124 (Oficiul nr. 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"
}
]
}
*Valoarea SaleType poate fi de la 1 la 5:
1 — precomandă: se creează o comandă pentru care se poate crea o factură,
2 — vânzare finalizată: se creează o factură cu plata integrală în avans,
3 — vânzare finalizată cu livrare: se creează o factură cu plata integrală în avans, pentru care are loc livrarea produsului (crearea facturii de expediere),
4 — vânzare finalizată cu livrare, dar fără plată: se creează o factură fără plată, pentru care are loc livrarea produsului (crearea facturii de expediere),
5 — doar factură: comanda nu se creează, se creează direct factura.
4. Exportul politicii de prețuri en-gros, începând cu versiunea 447 a bazei de date
Prin activarea funcției suplimentare «Politica de prețuri en-gros» există posibilitatea de a salva politica de prețuri en-gros într-un fișier xml și de a-l transfera pe serverul FTP.
Exemplu fișier 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>
Descrierea tagurilor
-
WholesalePrice — secțiune părinte (element rădăcină).
-
Good — secțiunea produsului, are un parametru GoodID — cheie produs (căutare), Întreg/Integer.
-
Price — secțiunea prețului.
-
Quantity — secțiunea cantității, valoare — cantitate pentru tranziție, Float.
-
QuantityPrice — secțiunea prețului, valoare — preț în timpul tranziției, Float.
5. Exportul certificatelor cadou în fișier *.csv cu numele TSGiftCertificate.trs, începând cu versiunea 470 a bazei de date
Dacă se generează acest fișier, este decis de utilizator prin setările corespunzătoare. Numele fișierului poate fi schimbat. Fișierul este trimis în același director ca și TSGoods.trs.
Set de câmpuri
-
Cod de bare certificat — Text/String (40).
-
Suma certificatului — Float.
-
Data expirării certificatului — dată în format ddmmyyyyyy (dacă nu este prezentă, certificatul nu are termen de valabilitate sau acesta este calculat de la data vânzării certificatului, dar nu a fost încă vândut).
-
Tip certificat — poate avea valorile 1 sau 2: 1 — emis, poate fi vândut, dar nu poate fi utilizat pentru plata achizițiilor; 2 — achiziționat, achiziționat de client, poate fi utilizat pentru plata achizițiilor.
Reveniți la pasul anterior