Arendaja juhend

Ühenda custom e-pood Zeronode’iga

Zeronode on ostuassistent, mis töötab sinu e-poes. Ta otsib sinu kataloogist ja soovitab päris tooteid koos kehtiva hinna ja laoseisuga. WooCommerce’i ja Magento poed saab ühendada ilma arenduseta. Kui sinu pood on custom lahendus, leiad siit kõik, mida me sinult vajame.

01

Ülevaade

Kolm osa. Live’i minekuks on vaja ainult toote API-t.

Kohustuslik

Toote API

Read-only JSON üle HTTPS-i. Otsing ja kolm soovituslikku endpointi.

Valikuline

Ostukorvi hookid

Assistent saab tooteid külastaja ostukorvi lisada. Koodi kirjutame meie.

Üks rida

Widgeti script-tag

Üks script-tag igale lehele. Võtme saadame meie.

02

API põhitõed

Kuidas me sinu API-t kasutame ja mida sellelt ootame.

  • Päringud tulevad meie serveritestMitte külastaja brauserist, nii et CORS-i headereid pole vaja.
  • GET-päring, vastuseks JSONKõik päringud on GET-id query parameetritega.
  • KiireOotame vastust kuni 8 sekundit, aga eesmärk võiks olla alla sekundi. Otsing käib samal ajal, kui assistent vastust kirjutab.
  • Nimed võivad olla sinu omadVäljade ja parameetrite nimed vali ise, me mapime need enda poolel. Võib-olla piisab ka olemasolevast sisemisest API-st, nii et saada see meile.
  • Loend võib olla ükskõik kusVastus võib olla kohe massiiv või paikneda mõne välja all, näiteks items või data.products.
  • Ainult avaldatud tootedTagasta ainult tooted, mida külastaja saab avada ja osta.
  • Üks keel päringu kohtaKui poes on mitu keelt, võta vastu parameeter (nt lang=et) või anna igale keelele oma base URL. Nimed, kirjeldused ja URL-id peavad olema samas keeles.

Autentimine

Vali üks. Anna võtmele ainult kataloogi lugemise õigus.

Bearer token
Authorization: Bearer …
Basic auth
Authorization: Basic …Kasutajanimi ja parool.
Võti URL-is
?key=…Töötab, aga võti jääb access logidesse.
03

Endpointid

Pathid on näited, kasuta seda, mis sinu platvormile sobib.

GET/products/search
Kohustuslik

Toodete otsing

Kõige olulisem endpoint: assistent kasutab seda kõige rohkem ja soovituste kvaliteet sõltub otsingu kvaliteedist.

q
Otsingusõnad.
limit
Tulemuste arv, kuni 20.
min_price
Valikuline. Minimaalne hind.
max_price
Valikuline. Maksimaalne hind.
  • Otsi toote nimest, tootekoodist (SKU), brändist ja kirjeldusest.
  • Mitu sõna peab töötama; tooted, mis vastavad kõigile sõnadele, tulevad eespool.
  • Suur- ja väiketähed ega täpitähed ei tohi tulemust mõjutada: „käärid” leiab ka „kaarid”.
  • Tagasta täisandmetega tooted (kõik allpool olevad väljad), parimad vasted eespool.
GET/categories
Soovituslik

Kategooriad

Aitab assistendil kataloogis ringi vaadata, kui külastaja küsib tooteliiki, mitte konkreetset toodet.

q
Valikuline. Filtreerib kategooriaid nime järgi.
limit
Kategooriate arv.
  • Igal kategoorial on vaja id-d, nime ja parent id-d. Toodete arv on boonuseks.
GET/categories/{id}/products
Soovituslik

Kategooria tooted

Ühe kategooria tooted, mida saab kitsendada sõnade ja hinnaga.

limit
Toodete arv, tavaliselt 20.
q
Valikuline. Sõnad, mis tulemusi kitsendavad.
page
Valikuline. Lehekülje number, alates 1-st.
min_price, max_price
Valikuline. Hinnavahemik.
sort
Valikuline. price, date, title või popularity.
order
Valikuline. asc või desc.
  • Tagasta ka alamkategooriate tooted.
GET/products/{id}
Soovituslik

Üks toode id järgi

Selle kaudu kontrollime enne toote näitamist hinda ja laoseisu ning võrdleme tooteid.

id
Toote id pathis.
  • Tagasta samad väljad mis otsingus või 404, kui sellist id-d pole.
Proovi
curl -H "X-Api-Key: YOUR_KEY" \
  "https://shop.example.com/api/products/search?q=beaker&limit=20"
04

Tooteväljad

Kõik endpointid, mis tooteid tagastavad, tagastavad need väljad.

idKohustuslik

Ei muutu. Sama id, mida kasutab sinu ostukorv.

nameKohustuslik

Toote enda nimi, ilma kategooriate ja saidi nimeta.

priceKohustuslik

Number: hind, mille külastaja maksab, koos käibemaksuga. Kui sul on ainult käibemaksuta hinnad, anna meile teada käibemaksumäär.

urlKohustuslik

Tootelehe täielik URL.

imageSoovituslik

Põhipildi täielik URL.

stockSoovituslik

instock, outofstock või onbackorder.

descriptionSoovituslik

Plain text või lihtne HTML. Loeme esimesed 600 tähemärki, nii et olulisem info pane algusesse.

skuSoovituslik

Tootekood, mida kasutavad külastajad ja sinu töötajad.

brandSoovituslik

Tootja või bränd.

categoryIdsSoovituslik

Kategooriad, kuhu toode kuulub.

attributesValikuline

Nimi-väärtus paarid, näiteks Maht: 250 ml.

currencyValikuline

ISO-kood, näiteks EUR. Kui kõik hinnad on ühes valuutas, piisab, kui ütled meile korra.

regularPriceValikuline

Hind enne allahindlust, kui toode on soodushinnaga.

Otsingu vastuse näide
{
  "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" }
      ]
    }
  ]
}

Vead

200
Tulemusi pole: tühi list.
404
Sellise id-ga toodet pole.
401 / 403
Vale või puuduv võti. Meie rakendus märgib ühenduse katkiseks, nii et viga ei jää märkamata.
JSON
Vead tagasta JSON-ina, mitte HTML-i error-lehe ega boti-kontrollina. Kui API ees on firewall, lase meie päringud läbi.
05

Ostukorvi hookid

Valikuline. Ilma nendeta viivad tootekaardid tootelehele ja külastaja lisab toote ostukorvi seal.

Ostukorvi hookidega saab assistent tooteid külastaja ostukorvi lisada. Koodi kirjutame meie: see jookseb külastaja brauseris sinu lehel, tema enda sessioonis, ja sul ei ole vaja midagi lisada. Anna meile teada, kuidas sinu lehel olev skript saab teha neid nelja asja:

  1. Lisa ostukorviToote id, kogus ja variant (kui variandid on) praeguse külastaja ostukorvi.
  2. Loe ostukorvi sisuOstukorvis olevate toodete id-d ja kogused.
  3. Ava ostukorvEnamasti piisab ostukorvi lehe URL-ist.
  4. Lisa sooduskoodAinult siis, kui kasutad sooduskoode.

Sobib nii JavaScripti funktsioon kui ka sama domeeni endpoint. Kasuta samu toote id-sid mis API-s.

Kaks varianti, mis sobivad (sinu oma võib erineda)
// Funktsioon lehel …
await window.shop.cart.add({ id: '48213', quantity: 1 })

// … või sama domeeni endpoint, mis kasutab sessiooniküpsist
await fetch('/cart/add', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ id: '48213', quantity: 1 }),
})
06

Widgeti paigaldamine

Lisa script-tag igale lehele, kas head’i või enne sulgevat body-tagi. Public key saadame meie.

HTML
<script src="https://content.zeronode.ai/zeronode-plugin.js"
        data-public-key="YOUR_PUBLIC_KEY" data-zeronode defer></script>

Kui sinu sait kasutab Content-Security-Policy headerit, luba need hostid. Widget ei vaja unsafe-evali ega inline-skripte.

Content-Security-Policy
Content-Security-Policy:
  script-src https://content.zeronode.ai https://api.zeronode.ai;
  connect-src https://api.zeronode.ai wss://api.zeronode.ai;
07

Saada meile

Kui API töötab, saada meile need andmed ja me ühendame poe.

  1. API base URL ja read-only võti.
  2. Üks otsingu URL, mis tagastab tulemusi.
  3. Üks toote id, millega saame testida.
  4. Ostukorvi hookide jaoks: funktsioon või endpoint ja ostukorvi lehe URL.
Küsimusi või valmis ühendama?info@zeronode.ai
Kirjuta meile