Zeronode ir iepirkšanās asistents, kas darbojas jūsu veikalā. Tas meklē jūsu katalogā un iesaka reālus produktus ar aktuālo cenu un atlikumu. WooCommerce un Magento veikalus var pieslēgt bez izstrādes. Ja jūsu veikals ir custom risinājums, šeit atradīsiet visu, kas mums no jums vajadzīgs.
01
Pārskats
Trīs daļas. Lai palaistu live, pietiek ar produktu API.
Obligāti
Produktu API
Read-only JSON caur HTTPS. Meklēšana un trīs ieteicamie endpointi.
Neobligāti
Groza hooki
Ļauj asistentam ielikt produktus apmeklētāja grozā. Kodu rakstām mēs.
Viena rinda
Widgeta script tags
Viens script tags katrā lapā. Atslēgu nosūtīsim mēs.
02
API pamati
Kā mēs izmantojam jūsu API un ko no tā sagaidām.
Pieprasījumi nāk no mūsu serveriemNevis no apmeklētāja pārlūka, tāpēc CORS headeri nav vajadzīgi.
GET pieprasījums, atbilde JSONVisi pieprasījumi ir GET ar query parametriem.
ĀtriGaidām atbildi līdz 8 sekundēm, bet mērķis ir zem sekundes. Meklēšana notiek tajā pašā laikā, kad asistents raksta atbildi.
Nosaukumi var būt jūsuLauku un parametru nosaukumus izvēlaties paši, mēs tos mapojam savā pusē. Iespējams, pietiks ar esošu iekšējo API, tāpēc vienkārši atsūtiet to mums.
Saraksts var būt jebkurAtbilde var būt uzreiz masīvs vai atrasties kāda lauka iekšā, piemēram, items vai data.products.
Tikai publicēti produktiAtgrieziet tikai produktus, ko apmeklētājs var atvērt un nopirkt.
Viena valoda pieprasījumāJa veikalā ir vairākas valodas, pieņemiet parametru (piem., lang=lv) vai dodiet katrai valodai savu base URL. Nosaukumiem, aprakstiem un URL jābūt tajā pašā valodā.
Autentifikācija
Izvēlieties vienu. Dodiet atslēgai tikai kataloga lasīšanas tiesības.
API key headerīIeteicams
X-Api-Key: …Headera nosaukums var būt jebkāds.
Bearer token
Authorization: Bearer …
Basic auth
Authorization: Basic …Lietotājvārds un parole.
Atslēga URL
?key=…Strādā, bet atslēga paliek access logos.
03
Endpointi
Pathi ir tikai piemēri; izmantojiet to, kas der jūsu platformai.
GET/products/search
Obligāti
Produktu meklēšana
Svarīgākais endpoints: asistents to izmanto visvairāk, un ieteikumu kvalitāte ir atkarīga no meklēšanas kvalitātes.
q
Meklēšanas vārdi.
limit
Rezultātu skaits, līdz 20.
min_price
Neobligāti. Minimālā cena.
max_price
Neobligāti. Maksimālā cena.
Meklējiet produkta nosaukumā, produkta kodā (SKU), zīmolā un aprakstā.
Jāstrādā ar vairākiem vārdiem; produkti, kas atbilst visiem vārdiem, ir pirmie.
Lielie un mazie burti un garumzīmes nedrīkst ietekmēt rezultātu: „ūdens” atrod arī „udens”.
Atgrieziet produktus ar pilniem datiem (visi zemāk minētie lauki), labākās atbilstības pirmās.
GET/categories
Ieteicams
Kategorijas
Palīdz asistentam pārlūkot katalogu, kad apmeklētājs jautā pēc produktu veida, nevis konkrēta produkta.
q
Neobligāti. Filtrē kategorijas pēc nosaukuma.
limit
Kategoriju skaits.
Katrai kategorijai vajag id, nosaukumu un parent id. Produktu skaits ir bonuss.
GET/categories/{id}/products
Ieteicams
Kategorijas produkti
Vienas kategorijas produkti, ko var sašaurināt pēc vārdiem un cenas.
limit
Produktu skaits, parasti 20.
q
Neobligāti. Vārdi, kas sašaurina rezultātus.
page
Neobligāti. Lapas numurs, sākot no 1.
min_price, max_price
Neobligāti. Cenu diapazons.
sort
Neobligāti. price, date, title vai popularity.
order
Neobligāti. asc vai desc.
Atgrieziet arī apakškategoriju produktus.
GET/products/{id}
Ieteicams
Viens produkts pēc id
Ar to pirms produkta parādīšanas pārbaudām cenu un atlikumu, kā arī salīdzinām produktus.
id
Produkta id pathā.
Atgrieziet tos pašus laukus kā meklēšanā vai 404, ja tāda id nav.
Visi endpointi, kas atgriež produktus, atgriež šos laukus.
idObligāti
Nemainās. Tas pats id, ko izmanto jūsu grozs.
nameObligāti
Produkta nosaukums, bez kategorijām un vietnes nosaukuma.
priceObligāti
Skaitlis: cena, ko apmeklētājs maksā, ar PVN. Ja jums ir tikai cenas bez PVN, pasakiet mums PVN likmi.
urlObligāti
Pilns produkta lapas URL.
imageIeteicams
Galvenā attēla pilns URL.
stockIeteicams
instock, outofstock vai onbackorder.
descriptionIeteicams
Plain text vai vienkāršs HTML. Nolasām pirmās 600 rakstzīmes, tāpēc svarīgāko informāciju lieciet sākumā.
skuIeteicams
Produkta kods, ko izmanto apmeklētāji un jūsu darbinieki.
brandIeteicams
Ražotājs vai zīmols.
categoryIdsIeteicams
Kategorijas, kurās ir produkts.
attributesNeobligāti
Nosaukuma un vērtības pāri, piemēram, Tilpums: 250 ml.
currencyNeobligāti
ISO kods, piemēram, EUR. Ja visas cenas ir vienā valūtā, pietiek pateikt mums vienreiz.
regularPriceNeobligāti
Cena pirms atlaides, ja produktam ir atlaide.
Meklēšanas atbildes piemērs
{"items":[{"id":"48213","name":"Glass beaker, low form, 250 ml","price":4.90,"currency":"EUR","stock":"instock","url":"https://shop.example.com/labware/glass-beaker-250-ml-48213","image":"https://shop.example.com/images/48213.jpg","sku":"BK-250","brand":"Example Glassworks","categoryIds":[12,31],"description":"Borosilicate glass 3.3, heat resistant to 500 °C. Graduated from 50 to 200 ml, with spout.","attributes":[{"name":"Volume","value":"250 ml"},{"name":"Material","value":"Borosilicate glass"}]}]}
Kļūdas
200
Nav rezultātu: tukšs saraksts.
404
Produkts ar tādu id nav atrasts.
401 / 403
Nepareiza vai trūkstoša atslēga. Mūsu lietotne atzīmē savienojumu kā bojātu, tāpēc kļūda nepaliek nepamanīta.
JSON
Kļūdas atgrieziet kā JSON, nevis HTML error lapu vai botu pārbaudi. Ja API priekšā ir firewall, ielaidiet mūsu pieprasījumus.
05
Groza hooki
Neobligāti. Bez tiem produktu kartītes ved uz produkta lapu, un apmeklētājs pievieno preci grozam tur.
Ar groza hookiem asistents var ielikt produktus apmeklētāja grozā. Kodu rakstām mēs: tas darbojas apmeklētāja pārlūkā jūsu lapā, viņa paša sesijā, un jums nekas nav jāpievieno. Pastāstiet mums, kā skripts jūsu lapā var izdarīt šīs četras lietas:
Pievienot grozamProdukta id, daudzums un variants (ja ir varianti) pašreizējā apmeklētāja grozā.
Nolasīt groza saturuGrozā esošo produktu id un daudzumi.
Atvērt grozuParasti pietiek ar groza lapas URL.
Pievienot atlaižu koduTikai tad, ja izmantojat atlaižu kodus.
Der gan JavaScript funkcija, gan tā paša domēna endpoints. Izmantojiet tos pašus produktu id, kas API.
Divi varianti, kas der (jūsējais var atšķirties)
// Funkcija lapā …await window.shop.cart.add({id:'48213',quantity:1})// … vai tā paša domēna endpoints, kas izmanto sesijas cookieawaitfetch('/cart/add',{method:'POST',headers:{'Content-Type':'application/json'},body: JSON.stringify({id:'48213',quantity:1}),})
06
Widgeta uzstādīšana
Pievienojiet script tagu katrai lapai, head sadaļā vai pirms noslēdzošā body taga. Public key nosūtīsim mēs.