Kako uporabljati API za Shoply AI Search

Shoply AI Search API connecting backend code to storefront product search results

Da. Po Shoply AI Search lahko programsko poizvedujete iz svojega zalednega sistema, ne da bi naložili gradnik na spletnem mestu ali poslali zahtevek prek svoje Shopify storefront.

Standardni API za iskanje je na voljo pri vsakem Shopify paketu, ki vključuje AI Search, vključno s Forever Free. API zahtevki uporabljajo isto mesečno kvoto iskanj kot iskanja, izvedena prek gradnika v storefrontu. Trenutne omejitve si oglejte na naši strani s cenami.

Če potrebujete višje omejitve, pogodbo o ravni storitve, prilagojen vir podatkov ali integracijo, ki ne uporablja Shopify kataloga, indeksiranega s Shoply, nas kontaktirajte glede paketa Enterprise.

Preden začnete

Namestite Shoply AI v Shopify trgovino, katere katalog želite preiskovati, in počakajte, da se začetno indeksiranje izdelkov zaključi. Potrebovali boste trajno domeno trgovine myshopify.com, na primer:

text
your-store.myshopify.com

API je mogoče klicati iz katerega koli zalednega okolja. Ločen API ključ ni potreben za standardno končno točko za iskanje izdelkov, ker vrača iste javne podatke kataloga, ki jih Shoply lahko prikaže v izkušnji iskanja v storefrontu.

Končna točka

text
POST https://api.shoplyai.ai/product_query_v2 Content-Type: application/json

Telo zahtevka

PoljeObveznoOpis
store_keyDaTrajna domena vaše trgovine myshopify.com
queryDaNiz, kodiran kot JSON, ki vsebuje vsaj polje keywords
startNeOdmik rezultatov za paginacijo z ničelnim indeksom; privzeto 0
limitNeNajvečje število izdelkov za vrnitev; privzeto 4

query je niz JSON znotraj telesa zahtevka, ne pa vgnezden objekt JSON. Na primer, iskalna fraza waterproof hiking boots se pošlje kot:

json
"{\"keywords\":\"waterproof hiking boots\"}"

Primer cURL

Zamenjajte your-store.myshopify.com s trajno Shopify domeno svoje trgovine:

bash
curl --request POST "https://api.shoplyai.ai/product_query_v2" \ --header "Content-Type: application/json" \ --data '{ "store_key": "your-store.myshopify.com", "query": "{\"keywords\":\"waterproof hiking boots\"}", "start": 0, "limit": 8 }'

Primer JavaScript

js
// Build the inner query separately because the API expects it as a JSON-encoded string. const searchQuery = JSON.stringify({ keywords: "waterproof hiking boots" }); const response = await fetch("https://api.shoplyai.ai/product_query_v2", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ store_key: "your-store.myshopify.com", query: searchQuery, start: 0, limit: 8 }) }); if (!response.ok) { throw new Error(`Shoply search failed with status ${response.status}`); } const results = await response.json(); console.log(results.docs);

Primer Python

python
import json import requests # The query value is encoded separately to match Shoply's structured search contract. payload = { "store_key": "your-store.myshopify.com", "query": json.dumps({"keywords": "waterproof hiking boots"}), "start": 0, "limit": 8, } response = requests.post( "https://api.shoplyai.ai/product_query_v2", json=payload, timeout=30, ) response.raise_for_status() results = response.json() print(results["docs"])

Odgovor

Uspešen zahtevek vrne:

json
{ "num_results": 2, "docs": [ { "product_id": "gid://shopify/Product/1234567890", "url": "https://your-store.example/products/example-product", "product_name": "Example Product", "brand": "Example Brand", "current_price": "129.00", "currency": "USD", "main_image": "https://cdn.shopify.com/example-product.jpg", "selected_variant_id": "gid://shopify/ProductVariant/1234567891" } ], "display_filters": [] }
  • num_results je skupno število ujemajočih se izdelkov.
  • docs vsebuje razvrščene izdelke za zahtevano stran.
  • display_filters vsebuje razpoložljive filtre, kot so cena, blagovna znamka, barva ali drugi atributi, specifični za katalog.

Objekti izdelkov lahko vsebujejo dodatna polja glede na katalog trgovine, različice, cene in konfiguracijo Shoply. Odjemalci naj uporabljajo polja, ki jih potrebujejo, neznana polja pa naj varno prezrejo.

Paginacija

Uporabite start in limit za zahtevanje dodatnih rezultatov. Na primer, po tem ko zahtevate osem izdelkov z start: 0 in limit: 8, naslednjo stran zahtevajte z:

json
{ "start": 8, "limit": 8 }

Ustavite se, ko je start + docs.length večje ali enako num_results, ali ko je docs prazen.

Opombe o paketu in integraciji

Če vaša prilagojena storefront potrebuje tudi pogovor, dodajte klepet v headless Shopify storefront.

  • Standardno iskanje prek API-ja je samopostrežno in ne zahteva gradnika na spletnem mestu.
  • Vaša Shopify trgovina mora ostati povezana s Shoply AI, da lahko njen indeks izdelkov ostane posodobljen.
  • Iskanja prek API-ja in iskanja v storefrontu si delijo mesečno kvoto iskanj za vaš Shopify paket.
  • Klic obdržite v svojem zalednem sistemu, če želite centralizirati predpomnjenje, beleženje, ponovne poskuse ali nadzor dostopa.
  • Kontaktirajte nas za podporo Enterprise, če potrebujete prilagojeno avtentikacijo, zagotovljeno prepustnost, SLA, katalog, ki ni Shopify, ali omejitve, ki presegajo objavljene pakete.

Za pomoč pri potrditvi ključa svoje trgovine ali načrtovanju produkcijske integracije kontaktirajte Shoply AI.