Kako uporabljati API za Shoply AI Search
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:
your-store.myshopify.comAPI 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
POST https://api.shoplyai.ai/product_query_v2
Content-Type: application/jsonTelo zahtevka
| Polje | Obvezno | Opis |
|---|---|---|
store_key | Da | Trajna domena vaše trgovine myshopify.com |
query | Da | Niz, kodiran kot JSON, ki vsebuje vsaj polje keywords |
start | Ne | Odmik rezultatov za paginacijo z ničelnim indeksom; privzeto 0 |
limit | Ne | Največ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:
"{\"keywords\":\"waterproof hiking boots\"}"Primer cURL
Zamenjajte your-store.myshopify.com s trajno Shopify domeno svoje trgovine:
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
// 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
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:
{
"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_resultsje skupno število ujemajočih se izdelkov.docsvsebuje razvrščene izdelke za zahtevano stran.display_filtersvsebuje 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:
{
"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.
