[Beta]{class="badge informative"}
Shopify Streaming
Adobe Experience Platform fornisce supporto per l’acquisizione di dati da applicazioni di streaming. Il supporto per i provider di streaming include Shopify.
Prerequisiti prerequisites
La sezione seguente illustra i passaggi prerequisiti da completare prima di utilizzare l'origine Shopify Streaming.
Per connettersi alle API Shopify è necessario disporre di un account partner Shopify valido. Se non disponi già di un account partner, registrati utilizzando il dashboard Shopify partner.
Creare l’applicazione
Con un account partner Shopify valido, ora puoi procedere e creare la tua app utilizzando il dashboard dei partner. Per i passaggi completi su come creare l'app in Shopify, consulta la Shopify guida introduttiva.
Una volta creata l'app, recupera l'ID client e il segreto client dalla scheda credenziali client del dashboard Shopify partner. L’ID client e il segreto client verranno utilizzati nei passaggi successivi per recuperare il codice di autorizzazione e il token di accesso.
Recuperare il codice di autorizzazione
Quindi, recupera il codice di autorizzazione immettendo l'URL myshopify.com
del tuo dominio nel browser, insieme alle stringhe di query che definiscono la chiave API, gli ambiti e l'URI di reindirizzamento.
Il formato di questo URL è il seguente:
Formato API
https://{SHOP}.myshopify.com/admin/oauth/authorize?client_id={API_KEY}&scope={SCOPES}&redirect_uri={REDIRECT_URI}
shop
myshopify.com
.api_key
scopes
scope=write_orders,read_customers
per consentire le autorizzazioni di modifica degli ordini e di lettura dei clienti.redirect_uri
Richiesta
https://connnectors-test.myshopify.com/admin/oauth/authorize?client_id=l6fiviermmzpram5i1spfub99shms3j9&scope=write_orders,read_customers&redirect_uri=https://acme.com
Risposta
In caso di esito positivo, la risposta restituisce l’URL di reindirizzamento, incluso il codice di autorizzazione necessario per generare il token di accesso.
https://www.acme.com/?code=k6j2palgrbljja228ou8c20fmn7w41gz&hmac=68c9163f772eecbc8848c90f695bca0460899c125af897a6d2b0ebbd59d3a43b&shop=connnectors-test.myshopify.com&state=123456×tamp=1658305460
Recuperare il token di accesso
Ora che disponi del tuo ID client, del segreto client e del codice di autorizzazione, puoi recuperare il token di accesso. Per recuperare il token di accesso, effettuare una richiesta POST all'URL myshopify.com
del dominio aggiungendo questo URL con l'endpoint API Shopify’s: /admin/oauth/access_token
.
Formato API
POST /{SHOP}.myshopify.com/admin/oauth/access_token
Richiesta
La richiesta seguente genera un token di accesso per l'istanza Shopify.
curl -X POST \
'https://connnectors-test.myshopify.com/admin/oauth/access_token' \
-H 'developer-token: {DEVELOPER_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'Cookie: _master_udr=xxx; request_method=POST'
-d '{
"client_id": "l6fiviermmzpram5i1spfub99shms3j9",
"client_secret": "dajn3caxz9s7ti624ncyv_m4f60jnwi3ii3y3k",
"code": "k6j2palgrbljja228ou8c20fmn7w41gz"
}'
Risposta
In caso di esito positivo, la risposta restituisce il token di accesso e gli ambiti delle autorizzazioni.
{
"access_token": "shpca_wjhifwfc91psjtldysxd6rqli371tx54",
"scope": "write_orders,read_customers"
}
Crea un webhook per lo streaming dei dati Shopify webhook
I webhook consentono alle applicazioni di rimanere sincronizzate con i dati di Shopify o di eseguire un'azione dopo che un particolare evento si è verificato in un negozio. Per lo streaming dei dati Shopify su Experience Platform, è possibile utilizzare i webhook per definire l'endpoint http e gli argomenti per la sottoscrizione.
Richiesta
La richiesta seguente crea un webhook per i dati di Shopify Streaming.
curl -X POST \
'https://connnectors-test.myshopify.com/admin/api/2022-07/webhooks.json' \
-H 'X-Shopify-Access-Token: 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' \
-H 'Content-Type: application/json' \; request_method=POST' \
-d '{
"webhook": {
"address": "https://dcs.adobedc.net/collection/9d411a24aa3c0a3eded92bac6c64d0da986ee7a8212f87168c5fb42d9ddc3227",
"topic": "orders/create",
"format": "json"
}
}'
webhook.address
webhook.topic
webhook.format
Risposta
In caso di esito positivo, la risposta restituisce informazioni sul webhook, inclusi id
, l'indirizzo e altre informazioni sui metadati corrispondenti.
{
"webhook": {
"id": 1091138715786,
"address": "https://dcs.adobedc.net/collection/9d411a24aa3c0a3eded92bac6c64d0da986ee7a8212f87168c5fb42d9ddc3227",
"topic": "orders/create",
"created_at": "2022-07-20T07:15:23-04:00",
"updated_at": "2022-07-20T07:15:23-04:00",
"format": "json",
"fields": [],
"metafield_namespaces": [],
"api_version": "2021-10",
"private_metafield_namespaces": []
}
}
Limitazioni limitations
Di seguito è riportato un elenco delle limitazioni note che possono verificarsi quando si utilizzano i webhook con l'origine Shopify Streaming.
- Non è garantito che puoi organizzare l’ordine di consegna di diversi argomenti per la stessa risorsa. È ad esempio possibile che un webhook
products/update
venga recapitato prima di un webhookproducts/create
. - Puoi impostare il webhook in modo che distribuisca gli eventi del webhook a un endpoint almeno una volta. Ciò significa che un endpoint può ricevere lo stesso evento più di una volta. È possibile cercare eventi webhook duplicati confrontando l'intestazione
X-Shopify-Webhook-Id
con eventi precedenti. - Shopify considera le risposte allo stato HTTP 2xx come notifiche riuscite. Qualsiasi altra risposta al codice di stato è considerata un errore. Shopify fornisce un meccanismo di esecuzione di un nuovo tentativo per le notifiche del webhook non riuscite. Se non viene ricevuta alcuna risposta dopo aver atteso cinque secondi, Shopify ritenta la connessione 19 volte nel corso delle 48 ore successive. Se non sono ancora presenti risposte entro la fine del periodo di esecuzione dei nuovi tentativi, Shopify elimina il webhook.
Passaggi successivi
I seguenti tutorial forniscono i passaggi per collegare l'origine Shopify Streaming ad Experience Platform utilizzando l'API e l'interfaccia utente: