[Beta]{class="badge informative"}

Shopify Streaming

NOTE
L'origine Shopify Streaming è in versione beta. Per ulteriori informazioni sull'utilizzo di origini con etichetta beta, leggere la panoramica delle origini.

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}
Parametro
Descrizione
shop
URL del sottodominio myshopify.com.
api_key
ID client Shopify. Puoi recuperare l'ID client dalla scheda credenziali client del dashboard dei partner Shopify.
scopes
Tipo di accesso che si desidera definire. Ad esempio, è possibile impostare gli ambiti come scope=write_orders,read_customers per consentire le autorizzazioni di modifica degli ordini e di lettura dei clienti.
redirect_uri
URL dello script che genererà il token di accesso.

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"
  }
}'
Parametro
Descrizione
webhook.address
L’endpoint http in cui vengono inviati i messaggi in streaming.
webhook.topic
L’argomento dell’abbonamento al webhook. Per ulteriori informazioni, leggere la Shopify guida agli argomenti dell'evento webhook.
webhook.format
Il formato dei dati.

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 webhook products/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:

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089