Pagrindiniai diegimo žingsniai :
Su UAB "Rivile" ar atstovais sudaroma sutartis dėl importo iš PrestaShop užprogramavimo.
Į RIV_GAMA katalogą įrašoma importo programa.
Programų atsisiuntimas (Konsultantams ir atstovams):
Rivile GAMA sistemoje aprašomi ir užpildomi:
Parametrai ir skaitliukai gali būti priskirti tik konkrečiam vartotojui.
Vartotojo vardas, kuriuo leidžiamas importas, yra Rivilės API rakto simboliai iki taško.
Parametrų sąraše kurti naujų parametrų nereikia. Jie susikurs automatiškai, pirmą kartą paspaudus užprogramuotą importo klavišą.
Parametrų reikšmės gaunamos iš PrestaShop sistemos.
Instrukcija, kaip gaunamas PrestaShop API raktas pateikta: Prestashop_API_rakto_uzsakymas.pdf
Parametras | Aprašymas |
---|---|
PRESTA_RIV | Rivile API (web service) raktas |
PRESTA_SITE | PrestaShop parduotuvės adresas (pvz., https://parduotuve.lt) |
PRESTA_USER | PrestaShop prisijungimo duomenys (pvz., J3T46CMV1Q1H8A6VTTKTST8C88TATDJU) |
Iš anksto nesukūrus parametrų ir pirmą kartą iškvietus importą, programa praneš, kad neaprašyti parametrai. Parametrai susikurs automatiškai, reikės aprašyti jų reikšmes.
Importo programoje naudojami tam tikri parametrai. Keičiant jų reikšmes, importo programą galima lanksčiai priderinti prie kliento poreikių.
Parametras | Reikšmė pagal nutylėjimą | Aprašymas |
---|---|---|
nuo_datos | DATE()-30 | Nurodoma nuo kada skaityti pardavimų informaciją (pvz: už paskutines 5 dienas arba už paskutines 30 dienų). Kai .F. - skaitoma viskas, t.y. neformuojamas datos filtravimas |
kliento_kodas | '' | Kliento kodas, kai visi pardavimai registruojami vienam klientui |
kliento_rysys | 'PT001' | Kliento sąskaitų ryšio kodas pagal nutylėjimą |
kliento_mokesciai | 'PVM' | Kliento mokesčio kodas pagal nutylėjimą |
mokesciai | '' | Mokesčių parinkimo sąlygos:"<VALIUTA>[-<ŠALIS>]:<MOKESČIO KODAS>,..." , pavyzdžiui: "USD:PVM_I,EUR:PVM,GBP:PVM_UK,EUR-LT:PVM_LT" |
pristatymo_kodas | 'PRISTATYMAS' | Pristatymo paslaugos kodas |
pristatymo_tipas | 2 | Tipas: 1-prekė, 2-paslauga, 3-kodas |
nuolaidos | .F. | Ar skaičiuoti nuolaidos sumą (kainos ir sumos bus imamos prieš nuolaidą) |
nuolaidos_kodas | 'NUOLAIDA' | Nuolaidos paslaugos kodas |
nuolaidos_tipas | 2 | Tipas: 1-prekė, 2-paslauga, 3-kodas |
apmokejimas | '' | Apmokėjimo sąlygos: "<MOKĖJIMO BŪDAS>[-<VALIUTA>]:<SĄSKAITA>,..." , pavyzdžiui: "STRIPE:271,PAYPAL:273,PAYSERA:274,PAYSERA-USD:2711" |
padaliniai | '' | Padalinys: ""162:KAUNAS,160:VILNIUS" |
field_padaliniai | 'id_carrier' | Laukas, pagal kurį parenkamas padalinys |
op_tip | 53 | 51 - Pardavimo važtaraštis, 53 - Pardavimo užsakymas |
kaina_su_pvm | .T. | .T. - Kaina su PVM dokumente, .F. - Kaina be PVM dokumente |
isaf_pozymis | 0 | Dokumentų registre: 0 - Formuoti, 1 - (+)Sąskaita, ... |
suma_su_pvm | .F. | .T. - PVM suskaičiuojama Rivilės sistemoje, arba .F. - sumos ir PVM imamos taip, kaip pateikta el. parduotuvėje |
suminis | .F. | .T. - Suminis dokumentas, neimportuojama detaliomis eilutėmis, arba .F. - importuojamos detalios eilutės |
suminis_kodas | 'PARDAVIMAS' | Suminio dokumento pardavimo kodas |
suminis_matas | 'VNT' | Mato vienetas |
suminis_tipas | 3 | Tipas: 1-prekė, 2-paslauga, 3-kodas |
preke_kliento | 'PRESTASHOP' | Kliento kodas, naudojamas kliento prekių aprašymuose prie prekių kortelės |
api_url | '/api/' | API versijos nuoroda |
api_header_auth | .T. | Ar formuoti Authorization header? |
api_filtravimas | 'filter[current_state]=%[]%&'+'date=1'+'&'+'sort=[id_asc]' |
Filtravimo sąlygos, kaip atrenkami dokumentai iš el. parduotuvės. Galima nusirodyti papildomus filtrus, pavyzdžiui: "filter[current_state]=4&filter[invoice_date]=[2021-01-01%2013:00:00,2021-02-28%2023:59:59]&sort=[id_asc]" |
api_puslapio_limit | 100 | Gražinamų iš el. parduotuvės dokumentų kiekis vienoje užklausoje (max 100) |
param_riv | 'PRESTA_RIV' | Parametro kodas, kuriame nurodomas prisijungimo prie Rivile API raktas |
param_site | 'PRESTA_SITE' | Parametro kodas, kuriame nurodomas el. parduotuvės adresas |
param_user | 'PRESTA_USER' | Parametro kodas, kuriame nurodomas prisijungimo prie elektroninės parduotuvės raktas |
debug | .F. | jei .T. - išsaugomi originalūs xml failai tmp kataloge |
field_sku | 'product_reference' | Nurodomas laukas iš kurio imamas prekės/paslaugos SKU kodas. Gali būti: "product_reference" , "product_isbn" , "product_ean13" , "product_upc" |
field_barcode | 'product_ean13' | Nurodomas laukas iš kurio imamas prekės/paslaugos barkodas |
field_dok_nr | '' | Laukas, iš kurio imamas dokumento numeris (nenurodžius bus formuojamas pagal GAMOJE nurodytą dokumento skaitliuką) ("", "id" arba "invoice_number") |
field_dok_id | 'invoice_number' | Laukas, kuris traktuojamas kaip dokumento ID – dokumento unikalumui užtikrinti (įkeliama į Dokumento registro lauką) ("id" arba "invoice_number" ) |
field_order_nr | 'invoice_number' | Laukas, kuris traktuojamas kaip užsakymo numeris (naudojamas tik klaidos pranešimuose) |
field_dok_data | 'date_add' | Laukas, iš kurio imama dokumento ir operacijos data |
dok_nr_mask | '' | Nurodoma, kokią seriją pridėti prie invoice_number, nurodomas šablonas, pavyzdžiui: INV-99999 |
id_prefix | '' | Importuojant iš kelių parduotuvių, kiekviena privalo turėti savo id prefiksą, kuris užtikrina dokumentų unikalumą. Pavyzdžiui 'A','B','1' ar pan. |
dok_prefix | '' | Dokumento numerio prefiksas |
field_company_code | 'company_code' | Laukas, iš kurio imamas kliento kodas |
field_company_vat | 'company_vat_code' | Laukas, iš kurio imamas kliento PVM mokėtojo kodas |
supakavimo_kodas | 'SUPAKAVIMAS' | Supakavimo paslaugos kodas |
supakavimo_tipas | 2 | Tipas: 1-prekė, 2-paslauga, 3-kodas |
Jeigu pardavimai bus registruojami kiekvienam pirkėjui atskirai, tai klientas parenkamas pagal tokią logiką prioritetiškai:
Kliento kodas pagal nutylėjimą -> Parenkamas pagal trumpame pavadinime nurodytą ID -> Parenkamas pagal el. pašto adresą -> Kuriamas naujas.
Prekė/ paslauga/ pardavimo kodas parenkamas pagal tokią logiką prioritetiškai:
Barkodas -> Parenkama iš kliento, nurodyto parametre "preke_kliento", prekių sąrašo (jeigu prekių kortelėse yra suvestos klientų prekės) -> Parenkama pagal prekės kodas + pagrindinis mato vnt -> pardavimo kodas -> Jeigu nieko nerandama, gaunama klaida, ir neimportuojamas visas dokumentas.
Servisas -> Administravimas -> Dokumentų skaitliukai
Pardavimo operacijų sąraše užprogramuojamas klavišas, kurį paspaudus bus vykdomas importas iš PrestaShop sistemos.
Pavyzdžiui:
imp=imp_prestashop_api() && Sukuriamas parametrų objektas
imp.nuo_datos=MAX({^2020.09.20},date()-7) && Nurodoma pradžios data, nuo kurios dienos startuojamas servisas
imp.suma_su_pvm=.F.
imp.kliento_kodas="PIRKEJAS"
imp.apmokejimas="STRIPE:271,PAYPAL:273,PAYSERA:274,PAYSERA-USD:2711"
imp.Init() && Vykdomas importas