Slik bruker du Shoply Merchant API
Shoply Merchant API lar en forhandler trygt bruke sine egne Shoply-data i rapporteringsverktøy, støttearbeidsflyter, planlagte eksporter og private forretningsapplikasjoner.
Hver integrasjon autentiserer med en tilbakekallbar legitimasjon avgrenset til butikken, opprettet i Shoply Settings. Du trenger ikke å dele et Shopify Admin API-tilgangstoken, og en integrasjon kan bare få tilgang til butikken som utstedte legitimasjonen.
Hva kan jeg gjøre med Merchant API?
Du kan bruke Merchant API til å:
- Eksportere daglige, ukentlige eller månedlige resultatdata til et regneark eller datavarehus.
- Bygge et privat dashbord for økter, chatter, søk, produktklikk, legg-i-handlekurv-hendelser, kjøp og tilskrevet omsetning.
- Overvåke kundeaktivitet og oppdage uvanlige endringer i engasjement.
- Gjennomgå chat- og søkeøkter for support, merchandising og arbeid med svarkvalitet.
- Hente en individuell samtaletidslinje når du undersøker et kundeproblem.
- Opprette, oppdatere, liste opp og slette den egendefinerte kunnskapen som brukes av Shoply AI.
- Legge til en ekstern nettside eller en opplastet PDF-, tekst- eller Markdown-fil i kunnskapsbasen.
- Samkjøre UTC-hendelsesdata med butikkens lokale tidssone.
Denne veiledningen dokumenterer sju endepunkter. Fem er de samme endepunktene som brukes av Shoply Admin → Analytics, mens to administrerer kunnskapsbasen:
| API | Kategori | Hva det returnerer |
|---|---|---|
admin_store_analytics | Ytelse | Daglige, ukentlige eller månedlige ytelsesrader og totaler |
query_api_usage_count | Engasjement | Aktivitetsantall gruppert etter UTC-minutt eller dag |
query_sessionized_chat | Samtaler | Sammendrag av chat- og søkeøkter |
query_log_visualization | Samtaler | Den komplette hendelsestidslinjen for én valgt økt |
admin_get_store_metadata | Butikkonfigurasjon | Butikkens tidssone som brukes for å vise UTC-data korrekt |
admin_store_knowledge | Kunnskap | Egendefinert tekst, eksterne sider, opplastede filer, sletting og ny crawling |
user_generated_file | Kunnskapsfiler | Laster opp en PDF-, tekst- eller Markdown-fil før den registreres som kunnskap |
Svarinnholdet nedenfor er representative eksempler. Dine felter og verdier vil gjenspeile aktiviteten som er registrert for butikken din.
Krav til utrulling: Autentisering med butikk-eier-hemmelighet må være distribuert på API-serveren du kaller. Hvis en gyldig hemmelighet returnerer HTTP
403medNo access_token found, kjører den serveren fortsatt den eldre autentiseringskoden som kun støtter access token.
Hvordan oppretter jeg en API-hemmelighet?
- Åpne Shoply AI-admin.
- Gå til Settings → Store owner API secret.
- Opprett en hemmelighet og gi den et navn som identifiserer integrasjonen, for eksempel
Weekly reporting export. - Kopier hemmeligheten når den vises. Shoply viser klartekstverdien bare én gang.
Hver hemmelighet er gyldig i 90 dager. En butikk kan ha separate hemmeligheter for separate integrasjoner, og du kan tilbakekalle én hemmelighet uten å avbryte de andre.
Lagre disse verdiene som server-side miljøvariabler:
export SHOPLY_STORE_KEY="your-store.myshopify.com"
export SHOPLY_STORE_OWNER_API_SECRETE="shoply_owner_key_example123.secret-value"Bruk butikkens permanente myshopify.com-domene for SHOPLY_STORE_KEY, selv om kunder vanligvis besøker et egendefinert domene.

Hvordan fungerer autentisering?
Hver Merchant API-forespørsel sender en Authorization-header der verdien er en JSON-streng:
{
"store_key": "your-store.myshopify.com",
"store_owner_api_secrete": "YOUR_STORE_OWNER_API_SECRET"
}store_owner_api_secrete er det nøyaktige offentlige feltnavnet, inkludert den historiske skrivemåten. Dette er ikke et Bearer-token. Legg hele JSON-strengen direkte i Authorization-headeren.
Oppbevar hemmeligheten kun i backend-kode. Ikke legg den i en URL, en nettleserbundle, et offentlig repository, en analyshendelse eller en applikasjonslogg.
Finnes det offisielle Python- og Node.js-pakker?
Ja. Shoply publiserer to server-side pakker som automatisk legger til nødvendig autentisering og eksponerer Merchant API som typede funksjoner. Begge pakkene er åpen kildekode under GitHub-organisasjonen shoplyai-public.
Python-pakke
Pakken shoply-merchant-api støtter Python 3.12 og bruker Pydantic v2-svarmodeller. Installer den låste 2.1.3-utgivelsen:
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install "git+https://github.com/shoplyai-public/shoply-merchant-api.git@v2.1.3"Hent de nyeste chat- og søkeøktene som typede SessionSummary-modeller:
import os
from shoply_merchant_api import ShoplyMerchantClient
with ShoplyMerchantClient(
store_key=os.environ["SHOPLY_STORE_KEY"],
api_secret=os.environ["SHOPLY_STORE_OWNER_API_SECRETE"],
) as shoply:
session_response = shoply.list_sessions(limit=40)
for conversation in session_response.data:
print(conversation.customer_id, conversation.user_questions)Pakken tilbyr også funksjoner for analyse, aktivitetsantall, komplette økttidslinjer, butikkens tidssone og kunnskapsadministrasjon. Se veiledningen for forretningsbrukstilfeller og API-referansen .
Node.js- og TypeScript-pakke
Repoet shoply-merchant-api-js tilbyr pakken @shoplyai/merchant-api for Node.js 20 eller nyere. Det er en ESM-pakke med innebygde TypeScript-deklarasjoner og ingen kjøretidsavhengigheter. Installer den låste 2.1.3-utgivelsen direkte fra GitHub:
npm install "github:shoplyai-public/shoply-merchant-api-js#v2.1.3"Hent de samme nyeste øktene fra en Node.js-server:
import { ShoplyMerchantClient } from "@shoplyai/merchant-api";
const storeKey = process.env.SHOPLY_STORE_KEY;
const apiSecret = process.env.SHOPLY_STORE_OWNER_API_SECRETE;
if (!storeKey || !apiSecret) {
throw new Error("SHOPLY_STORE_KEY and SHOPLY_STORE_OWNER_API_SECRETE are required");
}
const shoply = new ShoplyMerchantClient({
storeKey,
apiSecret,
});
const sessionResponse = await shoply.listSessions({ limit: 40 });
for (const conversation of sessionResponse.data) {
console.log(conversation.customer_id, conversation.user_questions);
}npm-pakken dekker de samme Merchant API-endepunktene som Python-pakken. Se veiledningen for forretningsbrukstilfeller og API-referansen .
Begge pakkene er for pålitelige backend-tjenester, planlagte jobber og private interne verktøy. Ikke importer noen av pakkene i butikkfrontkode og ikke eksponer API-hemmeligheten i en nettleserbundle.
Kan jeg kalle HTTP API uten en pakke?
Ja. Merchant API forblir et standard HTTPS API. Python-eksemplene på lavt nivå nedenfor bruker Requests slik at du kan se hele wire-kontrakten eller integrere fra et annet språk.
Installer Requests hvis miljøet ditt ikke allerede inkluderer det:
python -m pip install requestsHjelpefunksjonen nedenfor legger til store key og autentiseringsheader i hver forespørsel:
import json
import os
from typing import Any
import requests
BASE_URL = "https://api.shoplyai.ai"
STORE_KEY = os.environ["SHOPLY_STORE_KEY"]
STORE_OWNER_API_SECRETE = os.environ["SHOPLY_STORE_OWNER_API_SECRETE"]
session = requests.Session()
session.headers.update({
"Authorization": json.dumps({
"store_key": STORE_KEY,
"store_owner_api_secrete": STORE_OWNER_API_SECRETE,
})
})
def shoply_get(api_name: str, **params: Any) -> dict[str, Any]:
"""Call one store-scoped Shoply API and surface HTTP or API-level errors."""
response = session.get(
f"{BASE_URL}/{api_name}",
params={"store_key": STORE_KEY, **params},
timeout=30,
)
response.raise_for_status()
payload = response.json()
if payload.get("error") is not None or payload.get("statusCode") not in (None, 200):
raise RuntimeError(payload.get("error", "Shoply API request failed"))
return payload
def shoply_post(
api_name: str,
payload: dict[str, Any] | None = None,
**params: Any,
) -> dict[str, Any]:
"""Write store-scoped data and surface HTTP or API-level errors."""
response = session.post(
f"{BASE_URL}/{api_name}",
params={"store_key": STORE_KEY, **params},
json=payload,
timeout=60,
)
response.raise_for_status()
result = response.json()
if result.get("error") is not None or result.get("statusCode") not in (None, 200):
raise RuntimeError(result.get("error", "Shoply API request failed"))
return resultEksemplene nedenfor bruker denne delte klienten. Begge hjelpefunksjonene legger automatisk til den autentiserte store key.
Kan jeg administrere Shoply AI-kunnskap gjennom API-et?
Ja. admin_store_knowledge bruker GET for å hente kunnskap og POST for å opprette, oppdatere, slette eller kjøre ny crawling. En POST som bruker en eksisterende kunnskaps-ID oppdaterer den oppføringen; bruk av en ny ID oppretter en ny.
Før du automatiserer oppdateringer, planlegg nyttig butikkunnskap med eksemplene i opplæringsveiledningen vår.
Skriving til kunnskap kan endre svar som vises til kunder. Bruk en dedikert hemmelighet for systemet som administrerer kunnskap, valider innhold før du sender det, og eksponer aldri denne skrivbare legitimasjonen i butikkfrontens JavaScript.
List opp eksisterende kunnskap
knowledge_payload = shoply_get(
"admin_store_knowledge",
knowledge_id_to_retrieve="_ALL_",
)
for knowledge_id, knowledge in knowledge_payload["data"].items():
print(knowledge_id, knowledge.get("title"))Eksempelsvar
{
"data": {
"knowledge::shipping-policy": {
"title": "Shipping policy",
"text": "Orders leave our warehouse within two business days.",
"epoch_edit": 1787211246
}
}
}Opprett eller oppdater egendefinert tekstkunnskap
Velg en stabil, unik kunnskaps-ID. Gjenbruk samme ID når du oppdaterer den oppføringen.
from time import time
knowledge_id = "knowledge::shipping-policy"
result = shoply_post(
"admin_store_knowledge",
{
knowledge_id: {
"title": "Shipping policy",
"text": (
"Orders leave our warehouse within two business days. "
"Standard delivery normally takes three to five business days."
),
"epoch_edit": int(time()),
}
},
)
print(result)Eksempelsvar
{
"statusCode": 200
}Et vellykket svar betyr at kunnskapen ble lagret. Søkeindeksering kan ta noen minutter, så et nytt svar vises kanskje ikke umiddelbart. Hvis API-et rapporterer at innholdet ble lagret, men indekseringen er forsinket, bekreft den lagrede oppføringen med GET før du prøver å skrive på nytt.
Legg til en ekstern nettside
Bruk en ID som begynner med external_url::. Legg hele http://- eller https://-URL-en i text.
from time import time
result = shoply_post(
"admin_store_knowledge",
{
"external_url::returns-policy": {
"title": "Returns and exchanges",
"text": "https://www.example.com/policies/returns",
"epoch_edit": int(time()),
}
},
)Last opp og registrer en kunnskapsfil
Kunnskapsfiler må være PDF, TXT eller Markdown og mindre enn 5 MB. Last først opp filen, og lagre deretter den returnerte private S3-plasseringen som en kunnskapsoppføring.
from pathlib import Path
from time import time
file_path = Path("shipping-policy.md")
with file_path.open("rb") as file_handle:
upload_response = session.post(
f"{BASE_URL}/user_generated_file",
params={"store_key": STORE_KEY, "folder": "knowledge_file"},
files={"file": (file_path.name, file_handle, "text/markdown")},
timeout=60,
)
upload_response.raise_for_status()
uploaded = upload_response.json()
if uploaded.get("statusCode") != 200:
raise RuntimeError(uploaded.get("error", "Knowledge file upload failed"))
shoply_post(
"admin_store_knowledge",
{
"knowledge_file::shipping-policy": {
"title": "Shipping policy document",
"text": uploaded["file_url"],
"epoch_edit": int(time()),
}
},
)Eksempelsvar for opplasting
{
"message": "File uploaded successfully",
"statusCode": 200,
"file_url": "s3://shoplystores/your-store.myshopify.com/uploads/shipping-policy.md"
}Behandle file_url som en ugjennomsiktig privat plassering returnert av Shoply. Ikke konstruer eller endre den selv.
Slett kunnskap
Sletting er permanent. Hent først de nåværende oppføringene og send kun de eksakte ID-ene du har til hensikt å fjerne.
result = shoply_post(
"admin_store_knowledge",
{
"knowledge_ids_to_delete": [
"knowledge::shipping-policy",
"external_url::returns-policy",
"knowledge_file::shipping-policy",
]
},
)Be om ny crawling av nettstedet
Bruk ny crawling etter at innholdet på forhandlerens nettsted har endret seg. Det er vanligvis ikke nødvendig etter hver oppdatering av egendefinert tekst.
result = shoply_post(
"admin_store_knowledge",
re_crawl_ind="true",
)Forretningsbrukstilfeller
- Synkroniser veiledning om frakt, returer, garanti, størrelser eller produktpleie fra et internt innholdssystem.
- Publiser midlertidig kampanje- eller høytidsinformasjon uten å kopiere den manuelt inn i Shoply Admin.
- Legg til en policy-nettside eller et godkjent dokument i kunnskapsbasen som en del av en utrullingsarbeidsflyt.
- Fjern foreldet veiledning så snart en policy eller kampanje avsluttes.
Merchant API-eksempler
1. Hent ytelsesanalyse
admin_store_analytics driver tabellen Analytics → Summary. Den returnerer økter, chatter, søk, klikk, legg-i-handlekurv-hendelser, kjøp og tilskrevet omsetning.
Endepunkt
GET https://api.shoplyai.ai/admin_store_analyticsQuery-parametere
| Parameter | Påkrevd | Beskrivelse |
|---|---|---|
store_key | Ja | Lagt til av den delte klienten |
report_type | Ja | daily, weekly eller monthly |
start_date | Daglig/ukentlig | Inkluderende UTC-dato formatert som YYYYMMDD |
end_date | Daglig/ukentlig | Inkluderende UTC-dato formatert som YYYYMMDD |
Månedlige rapporter bruker Shoplys lagrede månedshistorikk og krever ikke datogrenser.
Python-eksempel
daily_report = shoply_get(
"admin_store_analytics",
report_type="daily",
start_date="20260801",
end_date="20260820",
)
for row in daily_report["data"]:
print(row["date"], row["sessions"], row["purchases"], row["revenue"])
print("Totals:", daily_report["totals"])
# Weekly rows use the Monday of each week as their date label.
weekly_report = shoply_get(
"admin_store_analytics",
report_type="weekly",
start_date="20260701",
end_date="20260820",
)
# Monthly requests do not need start_date or end_date.
monthly_report = shoply_get("admin_store_analytics", report_type="monthly")Eksempelsvar
{
"data": [
{
"date": "20260820",
"sessions": 42,
"chats": 18,
"searches": 24,
"clicks": 11,
"add_to_cart": 5,
"purchases": 2,
"revenue": "$168.00",
"revenue_usd": "$168.00"
}
],
"totals": {
"date": "totals",
"sessions": 42,
"chats": 18,
"searches": 24,
"clicks": 11,
"add_to_cart": 5,
"purchases": 2,
"revenue": "$168.00",
"revenue_usd": "$168.00"
},
"report_type": "daily"
}Omsetning kan inneholde mer enn én valuta. Behandle revenue som visningstekst. Bruk revenue_usd når du trenger den normaliserte USD-verdien som vises av Shoply.
Forretningsbrukstilfeller
- Send et daglig sammendrag av salgspåvirkning til forhandleren eller e-handelsteamet.
- Sammenlign søk, produktklikk, legg-i-handlekurv-hendelser og kjøp for å finne frafall i trakten.
- Mat inn et ukentlig eller månedlig business-intelligence-dashbord uten å skrape Shoply Admin-siden.
- Spor tilskrevet omsetning over tid og sammenlign den med endringer i merchandising eller kampanjer.
2. Hent butikkens tidssone
admin_get_store_metadata leverer tidssone-merket som vises i Analytics → Chat & Search History. Siden bruker det til å oversette UTC-aktivitet til butikkens lokale tid.
Endepunkt
GET https://api.shoplyai.ai/admin_get_store_metadataQuery-parametere
| Parameter | Påkrevd | Beskrivelse |
|---|---|---|
store_key | Ja | Lagt til av den delte klienten |
metadata_key | Ja | Bruk den bokstavelige verdien time_zone |
Python-eksempel
timezone_payload = shoply_get(
"admin_get_store_metadata",
metadata_key="time_zone",
)
timezone = timezone_payload["data"]
print(timezone["ianaTimezone"], timezone["timezoneOffsetMinutes"])Eksempelsvar
{
"data": {
"ianaTimezone": "America/Los_Angeles",
"timezoneOffset": -7,
"timezoneOffsetMinutes": -420
},
"statusCode": 200
}Forretningsbrukstilfeller
- Grupper UTC-aktivitet i de samme lokale kalenderdagene som forhandleren ser i Analytics.
- Planlegg daglige eksporter etter at butikkens lokale dag er avsluttet.
- Merk rapporter med en entydig IANA-tidssone som
America/Los_Angeles.
Tidssoneforskyvninger kan endre seg på grunn av sommertidregler. Foretrekk ianaTimezone når rapportsystemet ditt støtter det, i stedet for å lagre ett numerisk avvik permanent.
3. Hent aktivitetsantall
query_api_usage_count returnerer butikkaktivitet gruppert etter UTC-dato eller det opprinnelige UTC-minuttet. Det er også kilden til aktivitetsdiagrammet i Analytics → Chat & Search History.
Endepunkt
GET https://api.shoplyai.ai/query_api_usage_countQuery-parametere
| Parameter | Påkrevd | Beskrivelse |
|---|---|---|
start_dt_utc | Ja | UTC-starttid som YYYY-MM-DD HH:mm:ss |
end_dt_utc | Ja | UTC-sluttid som YYYY-MM-DD HH:mm:ss |
groupby | Nei | utc_date for daglige totaler eller utc_date_time for minuttrader |
Python-eksempel
activity = shoply_get(
"query_api_usage_count",
start_dt_utc="2026-08-01 00:00:00",
end_dt_utc="2026-08-20 23:59:59",
groupby="utc_date",
)
for row in activity["data"]:
print(row)Eksempelsvar
{
"data": [
{
"utc_date": "2026-08-20",
"QA": 18,
"CHAT": 18,
"SEARCH": 20,
"CACHED_SEARCH": 4,
"PRODUCT_SEARCH": 22,
"CLICK": 11,
"ADD_TO_CART": 5,
"CHECKOUT": 2
}
]
}Rader inkluderer aktivitetstellerne som er tilgjengelige for den perioden, som chatspørsmål, søk, klikk, legg-i-handlekurv-hendelser og checkout-hendelser. Tellere uten aktivitet kan mangle i stedet for å være satt til null.
Forretningsbrukstilfeller
- Bygg et timebasert eller daglig aktivitetsdiagram som det i Chat & Search History.
- Oppdag uvanlige trafikkspiker eller plutselige fall i kundeengasjement.
- Sammenlign produktsøkevolum med klikk, legg-i-handlekurv-hendelser og checkouter.
- Estimer når support- og merchandising-team bør gjennomgå de travleste periodene.
4. Hent sammendrag av chat- og søkeøkter
query_sessionized_chat returnerer én kompakt post per kundeøkt. Den driver også øktlisten i Analytics → Chat & Search History.
Endepunkt
GET https://api.shoplyai.ai/query_sessionized_chatQuery-parametere
| Parameter | Påkrevd | Beskrivelse |
|---|---|---|
start_dt_utc | Ja | UTC-starttid, eller den bokstavelige verdien undefined |
end_dt_utc | Ja | UTC-sluttid, eller den bokstavelige verdien undefined |
num_sessions | Nei | Antall økter som skal velges når en av grensene er undefined |
ScanIndexForward | Nei | Bruk false for å velge de nyeste øktene først |
Hent de siste 40 øktene
summary_payload = shoply_get(
"query_sessionized_chat",
start_dt_utc="undefined",
end_dt_utc="undefined",
num_sessions=40,
ScanIndexForward="false",
)
sessions = summary_payload["data"]
for conversation in sessions:
print(conversation["customer_id"], conversation.get("user_questions", ""))Hent økter i et UTC-intervall
summary_payload = shoply_get(
"query_sessionized_chat",
start_dt_utc="2026-08-20 00:00:00",
end_dt_utc="2026-08-20 23:59:59",
ScanIndexForward="false",
)Når begge tidsgrensene er til stede, returnerer API-et økter i hele intervallet; num_sessions begrenser ikke den avgrensede spørringen.
Eksempelsvar
{
"data": [
{
"customer_id": "customer-or-session-id",
"user_questions": "Do you have this in blue?\nWhen will it ship?",
"start_timestamp_ms": 1787184000000,
"end_timestamp_ms": 1787184065000,
"session_types": "product information, click",
"customer_email": null,
"customer_info": {},
"sentiment": "positive",
"num_questions": 2,
"num_searches": 1,
"num_clicks": 1
}
]
}Valgfrie felter varierer etter økt. Behold customer_id, start_timestamp_ms og end_timestamp_ms hvis du planlegger å hente den komplette tidslinjen.
Forretningsbrukstilfeller
- Gjennomgå et utvalg av nylige samtaler for svarkvalitet og supportopplæring.
- Finn gjentatte kundespørsmål som bør påvirke produkttekster eller FAQ-er.
- Identifiser økter med høy intensjon som inneholder søk, produktklikk eller andre handlehandlinger.
- Eksporter én rad per økt for trendanalyse, samtidig som du unngår den større nyttelasten på hendelsesnivå.
5. Hent én komplett økt
Send et valgt sammendrag til query_log_visualization for å hente kunde-, AI-, søke- og handelshendelsene.
Endepunkt
GET https://api.shoplyai.ai/query_log_visualizationQuery-parametere
| Parameter | Påkrevd | Beskrivelse |
|---|---|---|
date_time_utc_start | Ja | Øktstart formatert som UTC YYYY-MM-DD HH:mm:ss |
date_time_utc_end | Ja | Øktslutt formatert som UTC YYYY-MM-DD HH:mm:ss |
session_id | Nei | Sammendragets customer_id, brukt for eldre historikkposter |
start_timestamp_ms | Anbefalt | Sammendragets eksakte starttidsstempel i millisekunder |
Python-eksempel
from datetime import datetime, timezone
def utc_from_milliseconds(timestamp_ms: int) -> str:
"""Format a Shoply millisecond timestamp for the history API."""
value = datetime.fromtimestamp(timestamp_ms / 1000, tz=timezone.utc)
return value.strftime("%Y-%m-%d %H:%M:%S")
selected = sessions[0]
timeline_payload = shoply_get(
"query_log_visualization",
date_time_utc_start=utc_from_milliseconds(selected["start_timestamp_ms"]),
date_time_utc_end=utc_from_milliseconds(selected["end_timestamp_ms"]),
session_id=selected["customer_id"],
start_timestamp_ms=selected["start_timestamp_ms"],
)
for event in timeline_payload["data"]:
print(event.get("server_timestamp_ms"), event.get("action_type"))Eksempelsvar
{
"data": [
{
"action_type": "QA",
"session_id": "customer-or-session-id",
"utc_date_time": "2026-08-20 00:00:00",
"start_timestamp_ms": 1787184000000,
"server_timestamp_ms": 1787184000123,
"Q": {
"question": "Do you have this in blue?",
"question_context": {}
},
"task_id": "task-id",
"list_tokens": [
{
"data_type": "LLMOutput",
"data": "Yes. These blue options are currently available."
}
],
"dict_search_results": {}
}
]
}Tidslinjen kan inneholde kundespørsmål, AI-svar, søkeresultater, produktklikk, legg-i-handlekurv-hendelser, checkout-hendelser og deltakelse fra menneskelige agenter. Bruk server_timestamp_ms til å sortere blandede hendelsestyper. Eldre poster kan inneholde færre felter.
Forretningsbrukstilfeller
- Revider nøyaktig hva en kunde spurte om og hva Shoply svarte under en supportundersøkelse.
- Gjennomgå svarkvalitet sammen med søkeresultatene og produktene som ble vist til kunden.
- Rekonstruer reisen fra spørsmål til klikk, legg-i-handlekurv eller checkout.
- Diagnostiser én økt rapportert av en kunde uten å søke gjennom urelatert historikk.
Kan jeg bruke én hemmelighet for hvert API?
Ja. En gyldig store_owner_api_secrete er avgrenset til én butikk og fungerer på tvers av Merchant API-endepunktene ovenfor. For SiteChat-kontoer autentiserer den samme hemmeligheten også API-ene for katalogopplasting. For tryggere drift bør du bruke separate navngitte hemmeligheter for separate systemer—for eksempel én for en nattlig dataeksport og en annen for et internt dashbord.
Hvis én integrasjon fases ut eller kompromitteres, tilbakekall kun dens hemmelighet i Shoply Settings. De andre integrasjonene vil fortsette å fungere.
Hva bør jeg vite om utløp, personvern og feil?
Du bør også gå gjennom Shoply-datakilder og personvern for å forstå hvilken informasjon som er tilgjengelig for kundesvar.
- API-hemmeligheter for butikkeiere utløper etter 90 dager. Opprett en erstatning og oppdater integrasjonen før utløpsdatoen.
- Shoplys standard lagringsperiode for chat- og søkehistorikk er også 90 dager. Utløp av hemmeligheter og datalagring er separate retningslinjer.
- Historikksvar kan inneholde personopplysninger, inkludert kundeidentifikatorer, e-postadresser, omtrentlig lokasjon, spørsmål og handleaktivitet. Lagre og behandle dette i samsvar med personvernpolicyen din og gjeldende lov.
- HTTP
403betyr at hemmeligheten mangler, er ugyldig, utløpt, tilbakekalt eller tilhører en annen butikk. - HTTP
422betyr vanligvis at en påkrevd query-parameter mangler eller har feil navn. - HTTP
500eller et svar medstatusCode: 500betyr at forespørselen nådde Shoply, men ikke kunne fullføres. Prøv midlertidige feil på nytt med backoff og kontakt oss hvis feilen fortsetter. - Bruk avgrensede UTC-intervaller for eksporter og tilbakevendende jobber slik at svarene holder seg håndterbare.
Er produktsøk en del av Merchant API?
Shoplys offentlige API for produktsøk har en annen autentisering og forespørselskontrakt. Se Slik får du tilgang til Shoply AI Search gjennom API hvis du vil ha produktsøkeresultater for en kundevendt opplevelse i stedet for private forhandlerdata.
Kan SiteChat-forhandlere laste opp en produktkatalog?
Ja. SiteChat-kontoer kan laste opp strukturerte produkter og produktbilder med den samme butikk-eier-API-hemmeligheten. Disse katalogendepunktene er dokumentert separat i Slik laster du opp katalogen din for SiteChat. Shopify-butikker fortsetter å synkronisere produkter gjennom Shopify og bruker ikke disse opplastingsrutene.
Hvis du trenger hjelp med en integrasjon, kontakt Shoply AI.
