PrestaShop webservice instrukcija v1
UAB Magnus IC (PrestaRock)
- created: 01/01/2015
- latest update: 05/17/2015
- by: Ričardas Šmaižys
- http://www.prestarock.lt
Bendri komentarai ir veikimas
Kiekvienas importo vartotojas turi savo saugumu raktą, kurį išduoda domenas.lt el. parduotuvės administracija.
Kiekvienas importo vartotojas gali būti apribotas skirtingas ir gauti skirtingą informaciją.
Dokumentacijoje paaiškinami bendri bruožai, kas atiduodama iš sistemos, patarimai, kaip geriausia pasiimti informaciją efektyviausiu būdu. Techninė dokumentacija.
Webservice URL adresas
Webservice‘as paremtas RESTful technologijomis. Galimas rezultatas XML formatu.
Webservice‘as pasiekiamas URL adresu:
http://UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX@domenas.lt/api/?id_shop=2, kur UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX – Jūsų unikalus saugumo raktas.
id_shop - parametras el. sub-parduotuvės iš kurios importuojamos prekės, dažniausiai bus nurodytas kaip konstanta.
Webservice schemos struktūros peržiūra
Webservice struktūra pasiekiama: http://www.domenas.lt/api?synopsis
http://www.domenas.lt/api/orders?schema=blank
http://www.domenas.lt/api/orders?schema=synopsis
Visų prekių sąrašo gavimas
Turėdami unikalų saugumo raktą ir priskirtą leidimą (angl. permission) matyti prekes, galite gauti visą konkrečios el. parduotuvės prekių sąrašą.
Prekių sąrašas, pasiekiamas keliais skirtingais būdais, pavyzdžiui, rezultatas http://www.domenas.lt/api/products/?id_shop=2 grąžina visų prekių sąrašą su ID ir tikslesne xlink nuoroda į konkretų prekės aprašymą.
Papildomas parametras display=full grąžina pilną prekės sąrašą su pilna prekes informacija XML rezultatu:
http://www.domenas.lt/api/products/?id_shop=2&display=full
Tas pats galioja ir kitoms sistemoms esybėms (angl. entity), pavyzdžiui, gamintojams, užsakymams ir kt.
Visų prekių sąrašo filtravimas
Visų prekių sąrašą filtruoti galima pagal specialius laukus, kurie palengvina darbą su prekių importu į jūsų sistemą.
Filtruoti galima pagal šiuos parametrus:
· id_shop – nurodoma el. sub-parduotuvė. Jei turite prieigą tik prie vienos, id_shop – konstanta
· new – boolean parametras 1/0 - ar prekė yra nauja domenas.lt sistemoje
· id_manufacturer – int – gamintojo domenas.lt sistemoje ID
· on_sale – boolean parametras 1/0 – ar šiuo metu taikoma nuolaida, išparduodama
· price – double – pardavimo kaina domenas.lt puslapyje
· active – boolean parametras 1/0 – ar šiuo metu prekė aktyvi domenas.lt sistemoje
· date_add – date – pridėjimo data domenas.lt sistemoje. Pastaba: būtinas papildomas parametras date=1
Filtravimo užklausų pavyzdžiai:
http://www.domenas.lt/api/products/?id_shop=2&filter[date_add]=[2014-12-12,2014-12-14]&date=1 – filtruojama pagal datos rėžį
http://www.domenas.lt/api/products/?id_shop=2&filter[id]=[0,100000] – filtruojama pagal domenas.lt ID rėžį
http://www.domenas.lt/api/products/?id_shop=2&filter[active]=[1] – filtruojama pagal būseną – aktyvi
http://www.domenas.lt/api/products/?id_shop=2&filter[id_manufacturer]=[704] – filtruojama pagal gamintojo ID sistemoje domenas.lt.
PASTABA:
Papildomas parametras display=full grąžina pilną prekės sąrašą su pilna prekes informacija XML rezultatu:
Prekių sąrašo rūšiavimas
Rūšiuoti galima pagal tuos pačius parametrus kaip ir filtravimo.
Rūšiavimo pavyzdžiai pagal datą:
http://www.domenas.lt/api/products/?display=full&sort=[date_add_ASC]&date=1&id_shop=2
http://www.domenas.lt/api/products/?display=full&sort=[date_upd_DESC]&date=1&id_shop=2
http://www.domenas.lt/api/products/?display=full&sort=[date_upd_DESC]&date=1&id_shop=2
Filtravimo ir rūšiavimo užklausos pavyzdys
http://www.domenas.lt/api/products/?display=full&sort=[date_upd_DESC]&filter[id]=[1,100000]&date=1&id_shop=2
Vienos prekės informacijos gavimas
Vienos prekės informacija gaunama pagal domenas.lt sistemos prekės ID, pavyzdžiui, http://www.domenas.lt/api/products/33018?id_shop=2
Tas pats galioja ir kitoms sistemoms esybėms (angl. entity).
Pastaba: nepamirštama nurodyti konstantos id_shop, kitaip rezultatas rodys, kad tokios prekės nėra.
Rezultatų kiekių ribojimas – parametras limit
Rezultatus siekiant išnaudoti ir neapkrauti domenas.lt sistemoje rekomenduojama puslapiuoti.
Tokių užklausų pavyzdžiui susideda iš papildomo parametro limit, naudojimo pavyzdžiai:
http://www.domenas.lt/api/products/?display=full&sort=[id_ASC]&limit=1
http://www.domenas.lt/api/products/?display=full&sort=[id_ASC]&limit=5
Puslapiavimo galimybė:
http://www.domenas.lt/api/products/?display=full&sort=[id_ASC]&limit=2,3
Gamintojų (angl. manufacturer) eksportas
Gamintojų eksportui galioja visos prekių eksporto savybės ir funkcionalumas.
Gamintojų eksportas pasiekiamas nuoroda:
http://www.domenas.lt/api/manufacturers/?id_shop=2, kur
id_shop - parametras el. sub-parduotuvės iš kurios importuojamos prekės, dažniausiai bus nurodytas kaip konstanta.
Prekių kategorijos (angl. categories)
Kategorijų eksportui galioja visos prekių eksporto savybės ir funkcionalumas.
Kategorijų eksportas pasiekiamas nuoroda:
http://www.domenas.lt/api/categories/?id_shop=2, kur
id_shop - parametras el. sub-parduotuvės iš kurios importuojamos prekės, dažniausiai bus nurodytas kaip konstanta.
Prekių kiekių (angl. stock available)
Prekių kiekio eksportui galioja visos prekių eksporto savybės ir funkcionalumas.
Prekių kiekio eksportas pasiekiamas nuoroda:
Prekių paveikslėlių (angl. products images)
Prekių paveikslėlių eksportui galioja visos prekių eksporto savybės ir funkcionalumas.
Prekių paveikslėlių eksportas pasiekiamas nuoroda:
http://www.domenas.lt/api/images/products/?id_shop=2
Papildomai perduodama informacija apie paveikslėlių tipus (angl. image types) – paveikslėliai sistemoje naudojami kelių dydžių, jų dydžių tipai aprašyti grąžinamame rezultate.
Užsakymų eksportavimas
Schemos:
/api/orders/
/api/orders?schema=blank
/api/orders?schema=synopsis
Visų užsakymų išvedimas ir rūšiavimas (angl. sort)
/api/orders/?display=full&sort=[id_ASC]
Galima rūšiuoti pagal bet kurį iš žemiau pateiktų laukų:
· id
· reference
· payment_status
· payment_type
· shipping_method
Rūšiavimas pagal datą
/api/orders/?display=full&sort=[date_add_ASC]&date=1
/api/orders/?display=full&sort=[date_upd_DESC]&date=1
/api/orders/?display=full&sort=[date_upd_DESC]&date=1
Ir pan.
Kiti pavyzdžiai rikiavimo:
/api/orders/?display=full&sort=[date_upd_DESC&filter[current_state]=[1,6]
Užsakymų kiekio ribojimas (angl. limit)
/api/orders/?display=full&sort=[id_ASC]&limit=1
/api/orders/?display=full&sort=[id_ASC]&limit=5
Puslapiavimo galimybė:
/api/orders/?display=full&sort=[id_ASC]&limit=2,3
Užsakymų filtravimas
api/orders/?display=full&sort=[id_ASC]&filter[id]=1
api/orders/?display=full&sort=[id_ASC]&filter[reference]=XKBKNABJK
Filtravimas pagal datą:
api/orders/?display=full&filter[date_add]=[2014-12-12,2014-12-15]&date=1
api/orders/?display=full&filter[date_add]=[2014-12-12,2014-12-14]&date=1
Filtravimas pagal būseną (current state, žr. lentelę apačioje)
/api/orders/?display=full&filter[current_state]=[1]
api/orders/?display=full&filter[current_state]=[6]
api/orders/?display=full&filter[current_state]=[1,6]
Webservice rezultato formato pakeitimas į JSON
Testuota daugiausia su XML, bet galima naudoti ir JSON prirašant papildomą parametrą output_format=JSON
/api/orders/?display=full&output_format=JSON