---
title: "Integracijos diegimas"
url: "https://gidas.rivile.lt/integraciniai_sprendimai/el_parduotuves/prestashop/integracijos_diegimas"
updated: "2026-02-09"
parent: "https://gidas.rivile.lt/integraciniai_sprendimai/el_parduotuves/prestashop.md"
---

# Integracijos diegimas

Pagrindiniai diegimo žingsniai :

- Manorivile-Gateway įdiegimas. Instrukcija kaip tai atlikti pateikta [internetiniai_moduliai/api_rest/manorivile-gateway](https://gidas.rivile.lt/internetiniai_moduliai/api_rest.md#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š PrestaShop užprogramavimo.

Į RIV_GAMA katalogą įrašoma importo programa.

[Programų atsisiuntimas (Konsultantams ir atstovams): ](https://manorivile.sharepoint.com/:u:/r/sites/rivilefiles/Shared%20Documents/Downloads/Rivile%20EPI/imp_prestashop_api-latest.zip?download=1)

#### 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.

> **Įspėjimas:**  Vartotojo vardas, kuriuo leidžiamas importas, yra Rivilės API rakto simboliai iki taško.

> **Dėmesio:** 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 ](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/07.El_parduotuves/17.Prestashop/20.Integracijos_diegimas/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.

#### 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ų). 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: "<id_carrier>:<PADALINIO KODAS>,...", pavyzdžiui: `"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                          |

> **Dėmesio:** Jeigu pardavimai bus registruojami kiekvienam pirkėjui atskirai, tai klientas parenkamas pagal tokią logiką prioritetiškai:<br/>Kliento kodas pagal nutylėjimą -\> Parenkamas pagal trumpame pavadinime nurodytą ID -\> Parenkamas pagal el. pašto adresą -\> Kuriamas naujas.

> **Dėmesio:** Prekė/ paslauga/ pardavimo kodas parenkamas pagal tokią logiką prioritetiškai: <br/>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 119 versijos.
- Turi būti aprašytas pardavimo dokumentų skaitliukas.
- Jeigu pardavimai bus registruojami kiekvienam pirkėjui atskirai, būtinai turi būti aprašytas skaitliukas klientų kodų kūrimui:

Servisas -> Administravimas -> Dokumentų skaitliukai

![presta_1](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/07.El_parduotuves/17.Prestashop/20.Integracijos_diegimas/presta_1.png)

- 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š 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
