Sådan bruger du Shoply Merchant API
Shoply Merchant API giver en forhandler mulighed for sikkert at bruge sine egne Shoply-data i rapporteringsværktøjer, supportarbejdsgange, planlagte eksporter og private forretningsapplikationer.
Hver integration godkendes med en tilbagekaldelig legitimationsoplysning med butiksscope, som oprettes i Shoply Settings. Du behøver ikke dele et Shopify Admin API-adgangstoken, og en integration kan kun få adgang til den butik, der udstedte dens legitimationsoplysning.
Hvad kan jeg gøre med Merchant API?
Du kan bruge Merchant API til at:
- Eksportere daglige, ugentlige eller månedlige resultatmålinger til et regneark eller et datavarehus.
- Bygge et privat dashboard til sessioner, chats, søgninger, produktklik, tilføj-til-kurv-hændelser, køb og tilskrevet omsætning.
- Overvåge kundeaktivitet og opdage usædvanlige ændringer i engagement.
- Gennemgå chat- og søgesessioner til support, merchandising og arbejde med svarkvalitet.
- Hente en tidslinje for en individuel samtale ved undersøgelse af et kundeproblem.
- Oprette, opdatere, liste og slette den brugerdefinerede viden, som Shoply AI bruger.
- Tilføje en ekstern webside eller en uploadet PDF-, tekst- eller Markdown-fil til vidensbasen.
- Tilpasse UTC-hændelsesdata til butikkens lokale tidszone.
Denne vejledning dokumenterer syv endpoints. Fem er de samme endpoints, som bruges af Shoply Admin → Analytics, mens to administrerer vidensbasen:
| API | Kategori | Hvad den returnerer |
|---|---|---|
admin_store_analytics | Ydeevne | Daglige, ugentlige eller månedlige rækker med resultater og totaler |
query_api_usage_count | Engagement | Aktivitetstællinger grupperet efter UTC-minut eller dag |
query_sessionized_chat | Samtaler | Chat- og søgesessionsammendrag |
query_log_visualization | Samtaler | Den komplette hændelsestidslinje for én valgt session |
admin_get_store_metadata | Butikskonfiguration | Butikkens tidszone, som bruges til at vise UTC-data korrekt |
admin_store_knowledge | Viden | Brugerdefineret tekst, eksterne sider, uploadede filer, sletning og recrawling |
user_generated_file | Videnfiler | Uploader en PDF-, tekst- eller Markdown-fil, før den registreres som viden |
Svarindholdet nedenfor er repræsentative eksempler. Dine felter og værdier vil afspejle den aktivitet, der er registreret for din butik.
Krav til deployment: Godkendelse med butiksejer-hemmelighed skal være deployet på den API-server, du kalder. Hvis en gyldig hemmelighed returnerer HTTP
403medNo access_token found, kører den server stadig den ældre godkendelseskode, der kun understøtter access tokens.
Hvordan opretter jeg en API-hemmelighed?
- Åbn din Shoply AI-admin.
- Gå til Settings → Store owner API secret.
- Opret en hemmelighed, og giv den et navn, der identificerer integrationen, såsom
Weekly reporting export. - Kopiér hemmeligheden, når den vises. Shoply viser kun klartekstværdien én gang.
Hver hemmelighed er gyldig i 90 dage. En butik kan have separate hemmeligheder til separate integrationer, og du kan tilbagekalde én hemmelighed uden at afbryde de andre.
Gem disse værdier som serverside-miljøvariabler:
export SHOPLY_STORE_KEY="your-store.myshopify.com"
export SHOPLY_STORE_OWNER_API_SECRETE="shoply_owner_key_example123.secret-value"Brug butikkens permanente myshopify.com-domæne til SHOPLY_STORE_KEY, selv hvis kunder normalt besøger et brugerdefineret domæne.

Hvordan fungerer godkendelse?
Hver Merchant API-forespørgsel sender en Authorization-header, hvis værdi 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 præcise offentlige feltnavn, inklusive dets historiske stavemåde. Dette er ikke et Bearer-token. Indsæt hele JSON-strengen direkte i Authorization-headeren.
Opbevar kun hemmeligheden i backend-kode. Placer den ikke i en URL, browserbundle, offentligt repository, analytics-hændelse eller applikationslog.
Findes der officielle Python- og Node.js-pakker?
Ja. Shoply udgiver to serverside-pakker, som automatisk tilføjer den nødvendige godkendelse og eksponerer Merchant API som typebestemte funktioner. Begge pakker er open source under GitHub-organisationen shoplyai-public.
Python-pakke
Pakken shoply-merchant-api understøtter Python 3.12 og bruger Pydantic v2-svarmodeller. Installer den fastlåste version 2.1.3:
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øgesessioner som typebestemte 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 tilbyder også funktioner til analyse, aktivitetstællinger, komplette sessionstidslinjer, butikkens tidszone og administration af viden. Se dens guide til business use cases og API-reference .
Node.js- og TypeScript-pakke
Repoet shoply-merchant-api-js leverer pakken @shoplyai/merchant-api til Node.js 20 eller nyere. Det er en ESM-pakke med indbyggede TypeScript-deklarationer og ingen runtime-afhængigheder. Installer den fastlåste version 2.1.3 direkte fra GitHub:
npm install "github:shoplyai-public/shoply-merchant-api-js#v2.1.3"Hent de samme nyeste sessioner 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 dækker de samme Merchant API-endpoints som Python-pakken. Se dens guide til business use cases og API-reference .
Begge pakker er til betroede backend-tjenester, planlagte jobs og private interne værktøjer. Importér ikke nogen af pakkerne i storefront-kode, og eksponér ikke API-hemmeligheden i en browserbundle.
Kan jeg kalde HTTP API’et uden en pakke?
Ja. Merchant API forbliver et standard HTTPS-API. Python-eksemplerne på lavt niveau nedenfor bruger Requests, så du kan se den komplette wire contract eller integrere fra et andet sprog.
Installer Requests, hvis dit miljø ikke allerede indeholder det:
python -m pip install requestsHjælpefunktionen nedenfor tilføjer store key og godkendelsesheader til hver forespørgsel:
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 resultEksemplerne nedenfor bruger denne delte klient. Begge hjælpefunktioner tilføjer automatisk den godkendte store key.
Kan jeg administrere Shoply AI-viden gennem API’et?
Ja. admin_store_knowledge bruger GET til at hente viden og POST til at oprette, opdatere, slette eller recrawle den. En POST, der bruger et eksisterende knowledge ID, opdaterer den post; brug af et nyt ID opretter en ny.
Før du automatiserer opdateringer, bør du planlægge nyttig butiksviden med eksemplerne i vores træningsguide.
Skrivninger til viden kan ændre de svar, der vises til kunder. Brug en dedikeret hemmelighed til systemet, der administrerer viden, valider indhold før afsendelse, og eksponér aldrig denne skriveberettigede legitimationsoplysning i storefront-JavaScript.
List eksisterende viden
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
}
}
}Opret eller opdater brugerdefineret tekstviden
Vælg et stabilt, unikt knowledge ID. Genbrug det samme ID, når du opdaterer den post.
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 betyder, at viden blev gemt. Søgeindeksering kan tage et par minutter, så et nyt svar vises muligvis ikke med det samme. Hvis API’et rapporterer, at indholdet blev gemt, men at indeksering er forsinket, så bekræft den gemte post med GET, før du prøver at skrive igen.
Tilføj en ekstern webside
Brug et ID, der begynder med external_url::. Angiv den komplette http://- eller https://-URL 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()),
}
},
)Upload og registrer en vidensfil
Vidensfiler skal være PDF, TXT eller Markdown og mindre end 5 MB. Upload først filen, og gem derefter den returnerede private S3-placering som en videnspost.
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 på upload
{
"message": "File uploaded successfully",
"statusCode": 200,
"file_url": "s3://shoplystores/your-store.myshopify.com/uploads/shipping-policy.md"
}Behandl file_url som en uigennemsigtig privat placering returneret af Shoply. Konstruér eller ændr den ikke selv.
Slet viden
Sletning er permanent. Hent først de aktuelle poster, og send kun de præcise ID’er, du har til hensigt at fjerne.
result = shoply_post(
"admin_store_knowledge",
{
"knowledge_ids_to_delete": [
"knowledge::shipping-policy",
"external_url::returns-policy",
"knowledge_file::shipping-policy",
]
},
)Anmod om en recrawl af et website
Brug en recrawl, når indholdet på forhandlerens website ændrer sig. Det er normalt ikke nødvendigt efter hver opdatering af brugerdefineret tekst.
result = shoply_post(
"admin_store_knowledge",
re_crawl_ind="true",
)Business use cases
- Synkronisér vejledning om fragt, returnering, garanti, størrelser eller produktpleje fra et internt indholdssystem.
- Udgiv midlertidig kampagne- eller ferieinformation uden manuelt at kopiere den ind i Shoply Admin.
- Tilføj en webside med politikker eller et godkendt dokument til vidensbasen som en del af et deployment-workflow.
- Fjern forældet vejledning, så snart en politik eller kampagne slutter.
Eksempler på Merchant API
1. Hent performance-analyse
admin_store_analytics driver tabellen Analytics → Summary. Den returnerer sessioner, chats, søgninger, klik, tilføj-til-kurv-hændelser, køb og tilskrevet omsætning.
Endpoint
GET https://api.shoplyai.ai/admin_store_analyticsQuery-parametre
| Parameter | Påkrævet | Beskrivelse |
|---|---|---|
store_key | Ja | Tilføjes af den delte klient |
report_type | Ja | daily, weekly eller monthly |
start_date | Daily/weekly | Inklusiv UTC-dato formateret som YYYYMMDD |
end_date | Daily/weekly | Inklusiv UTC-dato formateret som YYYYMMDD |
Månedlige rapporter bruger Shoplys gemte månedshistorik og kræver ikke datogrænser.
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"
}Omsætning kan indeholde mere end én valuta. Behandl revenue som visningstekst. Brug revenue_usd, når du har brug for den normaliserede USD-værdi, som vises af Shoply.
Business use cases
- Send en daglig oversigt over salgspåvirkning til forhandleren eller ecommerce-teamet.
- Sammenlign søgninger, produktklik, tilføj-til-kurv-hændelser og køb for at finde frafald i tragten.
- Føde et ugentligt eller månedligt business-intelligence-dashboard uden at scrape Shoply Admin-siden.
- Spor tilskrevet omsætning over tid og sammenlign den med ændringer i merchandising eller kampagner.
2. Hent butikkens tidszone
admin_get_store_metadata leverer tidszonebadgen vist i Analytics → Chat & Search History. Siden bruger den til at oversætte UTC-aktivitet til butikkens lokale tid.
Endpoint
GET https://api.shoplyai.ai/admin_get_store_metadataQuery-parametre
| Parameter | Påkrævet | Beskrivelse |
|---|---|---|
store_key | Ja | Tilføjes af den delte klient |
metadata_key | Ja | Brug den bogstavelige værdi 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
}Business use cases
- Gruppér UTC-aktivitet i de samme lokale kalenderdage, som forhandleren ser i Analytics.
- Planlæg daglige eksporter, efter at butikkens lokale dag er afsluttet.
- Mærk rapporter med en entydig IANA-tidszone som
America/Los_Angeles.
Tidszoneforskydninger kan ændre sig på grund af sommertid. Foretræk ianaTimezone, når dit rapportsystem understøtter det, i stedet for permanent at gemme én numerisk forskydning.
3. Hent aktivitetstællinger
query_api_usage_count returnerer butiksaktivitet grupperet efter UTC-dato eller det oprindelige UTC-minut. Det er også kilden til aktivitetsdiagrammet i Analytics → Chat & Search History.
Endpoint
GET https://api.shoplyai.ai/query_api_usage_countQuery-parametre
| Parameter | Påkrævet | 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 | Nej | utc_date for daglige totaler eller utc_date_time for minutrækker |
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
}
]
}Rækker inkluderer de aktivitetstællere, der er tilgængelige for den periode, såsom chatspørgsmål, søgninger, klik, tilføj-til-kurv-hændelser og checkout-hændelser. Tællere uden aktivitet kan mangle i stedet for at være sat til nul.
Business use cases
- Byg et time- eller dagsdiagram over aktivitet som det i Chat & Search History.
- Opdag usædvanlige trafikspidser eller pludselige fald i kundeengagement.
- Sammenlign produktsøgningsvolumen med klik, tilføj-til-kurv-hændelser og checkouts.
- Estimér, hvornår support- og merchandising-teams bør gennemgå de travleste perioder.
4. Hent sammendrag af chat- og søgesessioner
query_sessionized_chat returnerer én kompakt post pr. kundesession. Det driver også sessionslisten i Analytics → Chat & Search History.
Endpoint
GET https://api.shoplyai.ai/query_sessionized_chatQuery-parametre
| Parameter | Påkrævet | Beskrivelse |
|---|---|---|
start_dt_utc | Ja | UTC-starttid eller den bogstavelige værdi undefined |
end_dt_utc | Ja | UTC-sluttid eller den bogstavelige værdi undefined |
num_sessions | Nej | Antal sessioner, der skal vælges, når en af grænserne er undefined |
ScanIndexForward | Nej | Brug false for først at vælge de nyeste sessioner |
Hent de seneste 40 sessioner
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 sessioner i et UTC-interval
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 tidsgrænser er til stede, returnerer API’et sessioner i hele intervallet; num_sessions begrænser ikke denne afgrænsede forespørgsel.
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 efter session. Behold customer_id, start_timestamp_ms og end_timestamp_ms, hvis du planlægger at hente den komplette tidslinje.
Business use cases
- Gennemgå et udsnit af nylige samtaler for svarkvalitet og supporttræning.
- Find gentagne kundespørgsmål, der bør påvirke produkttekster eller FAQs.
- Identificér sessioner med høj købsintention, der indeholder søgninger, produktklik eller andre shoppinghandlinger.
- Eksportér én række pr. session til trendanalyse, mens du undgår den større payload på hændelsesniveau.
5. Hent én komplet session
Send et valgt sammendrag til query_log_visualization for at hente dens kunde-, AI-, søge- og commerce-hændelser.
Endpoint
GET https://api.shoplyai.ai/query_log_visualizationQuery-parametre
| Parameter | Påkrævet | Beskrivelse |
|---|---|---|
date_time_utc_start | Ja | Sessionsstart formateret som UTC YYYY-MM-DD HH:mm:ss |
date_time_utc_end | Ja | Sessionslut formateret som UTC YYYY-MM-DD HH:mm:ss |
session_id | Nej | Sammendragets customer_id, brugt til ældre historikposter |
start_timestamp_ms | Anbefalet | Sammendragets præcise starttimestamp 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 indeholde kundespørgsmål, AI-svar, søgeresultater, produktklik, tilføj-til-kurv-hændelser, checkout-hændelser og deltagelse fra menneskelige agenter. Brug server_timestamp_ms til at sortere blandede hændelsestyper. Ældre poster kan indeholde færre felter.
Business use cases
- Auditer præcist, hvad en kunde spurgte om, og hvad Shoply svarede under en supportundersøgelse.
- Gennemgå svarkvalitet sammen med de søgeresultater og produkter, der blev vist til kunden.
- Rekonstruér rejsen fra spørgsmål til klik, tilføj-til-kurv eller checkout.
- Diagnosticér én session rapporteret af en kunde uden at søge gennem irrelevant historik.
Kan jeg bruge én hemmelighed til alle API’er?
Ja. En gyldig store_owner_api_secrete er scoped til én butik og virker på tværs af Merchant API-endpoints ovenfor. For SiteChat-konti godkender den samme hemmelighed også API’er til katalogupload. For mere sikre operationer bør du bruge separate navngivne hemmeligheder til separate systemer—for eksempel én til en natlig dataeksport og en anden til et internt dashboard.
Hvis én integration udfases eller kompromitteres, skal du kun tilbagekalde dens hemmelighed i Shoply Settings. De øvrige integrationer vil fortsætte med at virke.
Hvad bør jeg vide om udløb, privatliv og fejl?
Gennemgå også Shoplys datakilder og privatliv for at forstå, hvilke oplysninger der er tilgængelige for kundesvar.
- API-hemmeligheder for butiksejere udløber efter 90 dage. Opret en erstatning, og opdater integrationen før dens udløbsdato.
- Shoplys standard opbevaringsperiode for chat- og søgehistorik er også 90 dage. Udløb af hemmeligheder og dataopbevaring er separate politikker.
- Historiesvar kan indeholde persondata, herunder kundeidentifikatorer, e-mailadresser, omtrentlig lokation, spørgsmål og shoppingaktivitet. Opbevar og behandl dem i overensstemmelse med din privatlivspolitik og gældende lovgivning.
- HTTP
403betyder, at hemmeligheden mangler, er ugyldig, udløbet, tilbagekaldt eller tilhører en anden butik. - HTTP
422betyder normalt, at en påkrævet query-parameter mangler eller har det forkerte navn. - HTTP
500eller et svar medstatusCode: 500betyder, at forespørgslen nåede Shoply, men ikke kunne fuldføres. Prøv igen ved midlertidige fejl med backoff, og kontakt os, hvis fejlen fortsætter. - Brug afgrænsede UTC-intervaller til eksporter og tilbagevendende jobs, så svarene forbliver håndterbare.
Er produktsøgning en del af Merchant API?
Shoplys offentlige API til produktsøgning har en anden godkendelse og request contract. Se How to Access Shoply AI Search Through the API, hvis du ønsker produktsøgeresultater til en shopper-vendt oplevelse frem for private forhandlerdata.
Kan SiteChat-forhandlere uploade et produktkatalog?
Ja. SiteChat-konti kan uploade strukturerede produkter og produktbilleder med den samme API-hemmelighed for butiksejeren. Disse katalog-endpoints er dokumenteret separat i How to Upload Your Catalog for SiteChat. Shopify-butikker fortsætter med at synkronisere produkter gennem Shopify og bruger ikke disse uploadruter.
Hvis du har brug for hjælp med en integration, kan du kontakte Shoply AI.
