Integracijos diegimas

Pagrindiniai diegimo žingsniai :

  • Manorivile-Gateway įdiegimas. Instrukcija kaip tai atlikti pateikta internetiniai_moduliai/api_rest/manorivile-gateway.
  • Importo programos įrašymas;
  • Parametrų ir dokumentų skaitliukų aprašymas;
  • Programos parametrų priderinimas pagal kliento poreikį;
  • Importui reikalingo klavišo užprogramavimas.

Importo programos įrašymas.

Su UAB "Rivile" ar atstovais sudaroma sutartis dėl importo iš WooCommerce užprogramavimo.

Į RIV_GAMA katalogą įrašoma importo programa.

Programų atsisiuntimas (Konsultantams ir atstovams):

Parametrų ir dokumentų skaitliukų aprašymas.

Rivile GAMA sistemoje aprašomi ir užpildomi:

  • specialūs, importui reikalingi parametrai,
  • parametras "Padalinio kodas pagal nutylėjimą",
  • aprašomas pardavimo dokumentų skaitliukas,
  • aprašomas klientų kodų skaitliukas (jei bus kuriami klientai).

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š WooCommerce sistemos.

Instrukcija, kaip gaunamas WooCommerce API raktas pateikta: WooCommerce_API_rakto_uzsakymas.pdf

Parametras Aprašymas
WOO_RIV Rivile API (web service) raktas
WOO_SITE WooCommerce parduotuvės adresas (pvz., https://www.myshop.lt)
WOO_USER WooCommerce prisijungimo duomenys (pvz.,ck_80cae38a8b8a75ta8881f8e532d0fb891b9ff662 ir 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)

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.

Programos parametrų priderinimas pagal kliento poreikį.

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ų)
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
pristatymo_suma_su_pvm .NULL. Pagal nutylėjimą, skaičiuojama pagal parametrą "suma_su_pvm", tačiau galima nurodyti papildomai, kaip skaičiuoti pristatymo paslaugai (.T. - Rivilė paskaičiuoja mokesčius, .F. - el. parduotuvėje paskaičiuoti mokesčiai teisingai)
korteles_kodas 'KORTEL_MOKES' Apmokėjimo kortele paslaugos (angl. „fee“) kodas
korteles_tipas 3 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"
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 'WOO' Kliento kodas, naudojamas kliento prekių aprašymuose prie prekių kortelės
i06_dok_nr '' Dokumento numerio laukas (užsakymo nr: 'number'). Nenurodžius - priskiriamas iš skaitliuko.
meta_invoicenumber '_wcpdf_invoice_number' Nurodoma, kokiame meta duomenų lauke saugomas sąskaitos faktūros numeris. Nenurodžius - numeris bus formuojamas Rivilėje
meta_invoicedate '_wcpdf_invoice_date_formatted' Nurodoma, kokiame meta duomenų lauke saugoma sąskaitos faktūros data. Nenurodžius - data bus imama užsakymo data
meta_invoice_serija '' Nurodoma, kokią seriją pridėti prie invoice_number
meta_company_code '_billing_company_code' Kliento įmonės kodas
meta_company_vat_code '_billing_pvm_code' Kliento įmonės PVM kodas
meta_company_address '_billing_company_address' Kliento įmonės adresas
api_url '/wp-json/wc/v3/' API versijos nuoroda (pvz., '/wp-admin/wp-json/wc/v2/' )
api_header_auth .T. Ar formuoti Authorization header?
api_filtravimas 'status=completed&order=asc&orderby=date' Filtravimo sąlygos, kaip atrenkami dokumentai iš el. parduotuvės
api_puslapio_limit 100 Gražinamų iš el. parduotuvės dokumentų kiekis vienoje užklausoje (max 100)
param_riv 'WOO_RIV' Parametro kodas, kuriame nurodomas prisijungimo prie Rivile API raktas
param_site 'WOO_SITE' Parametro kodas, kuriame nurodomas el. parduotuvės adresas
param_user 'WOO_USER' Parametro kodas, kuriame nurodomas prisijungimo prie elektroninės parduotuvės vartotojas ir slaptažodis
debug .F. jei .T. - išsaugomi originalūs json failai tmp kataloge
file .F. nurodytas failas - importuojama iš failo. Galima nurodyti: imp.file=GETFILE("JSON")
field_sku 'sku' Nurodomas laukas, iš kurio imamas prekės/paslaugos SKU kodas
field_barcode '' Nurodomas laukas, iš kurio imamas prekės/paslaugos barkodas
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.
field_country 'billing.address_1.country' Nurodomas laukas, iš kurio imamas šalies kodas (pvz.: "billing.address_1.country","billing.country").

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.

Reikalavimai ir pastabos:

  • Veikia nuo Rivile GAMA 115 versijos
  • Jeigu pardavimai bus registruojami kiekvienam pirkėjui atskirai, būtinai turi būti aprašytas skaitliukas klientų kodų kūrimui:

Servisas -> Administravimas -> Dokumentų skaitliukai

woo_1

  • Kad neimportuotų antrą kartą tų pačių klientų, klientų kortelėse turi būti suvesti bent jau el. pašto adresai - pagal juos bus identifikuojamas klientas.
  • Kad neimportuotų antrą kartą tų pačių pardavimo dokumentų, "Dokumentų registro" lauke įrašomas užsakymo numeris.
  • Startuojant pirmą kartą, rekomenduojama nurodyti parametre datą, nuo kurios dienos turi būti pradėti importuoti dokumentai ir už kokį intervalą jie turi būti imami. Pavyzdžiui, už 31 dieną, pradedant nuo 2020.09.01: imp.nuo_datos=MAX({^2020.09.01},date()-30)
  • Ištrynus pardavimo dokumentą, jį programa importuos dar kartą.
  • Ištrynus arba pakeitus pardavimo dokumente "Dokumentų registro" lauką, dokumentas bus importuojamas dar kartą.
  • Mokėjimo statusas bei mokėjimo būdas išsaugomi importuoto pardavimo dokumento aprašymo lauke.

Importui reikalingo klavišo užprogramavimas.

Pardavimo operacijų sąraše užprogramuojamas klavišas, kurį paspaudus bus vykdomas importas iš WooCommerce sistemos.

Pavyzdžiui:

imp=imp_woo_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
imp=imp_woo_api() && Sukuriamas parametrų objektas
imp.nuo_datos=MAX({^2020.11.02},date()-1) && Nurodoma pradžios data, nuo kurios dienos startuojamas servisas
imp.pristatymo_kodas='500100'
imp.pristatymo_tipas=3
imp.op_tip=51
imp.suminis=.T.
imp.suminis_kodas='50000'
imp.suminis_matas='VNT'
imp.suminis_tipas=3
*imp.suma_su_pvm=.F.
imp.apmokejimas="paysera:27111,paysera-NOK:27112,paysera-GBP:27113,paysera-SEK:27114"
imp.meta_invoicenumber='_wcpdf_invoice_number'
imp.Init() && Vykdomas importas