[Beta]{class="badge informative"}
Shopify Streaming
O Adobe Experience Platform oferece suporte para assimilação de dados de aplicativos de transmissão contínua. O suporte para provedores de streaming inclui Shopify.
Pré-requisitos prerequisites
A seção a seguir descreve as etapas de pré-requisito a serem concluídas antes de usar a origem Shopify Streaming.
Você deve ter uma conta de parceiro Shopify válida para se conectar às APIs Shopify. Se você ainda não tiver uma conta de parceiro, registre-se usando o Shopify painel de parceiros.
Criar seu aplicativo
Com uma conta de parceiro Shopify válida, agora você pode continuar e criar seu aplicativo usando o painel de parceiros. Para obter etapas abrangentes sobre como criar seu aplicativo no Shopify, leia o Shopify guia de introdução.
Depois que o aplicativo for criado, recupere a ID do cliente e o segredo do cliente da guia credenciais do cliente do painel de parceiros Shopify. A ID do cliente e o segredo do cliente serão usados nas próximas etapas para recuperar o código de autorização e o token de acesso.
Recupere seu código de autorização
Em seguida, recupere o código de autorização inserindo a URL myshopify.com
do domínio no navegador, juntamente com as cadeias de caracteres de consulta que definem a chave de API, os escopos e o URI de redirecionamento.
O formato desse URL é o seguinte:
Formato da 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
para permitir permissões para modificar pedidos e ler clientes.redirect_uri
Solicitação
https://connnectors-test.myshopify.com/admin/oauth/authorize?client_id=l6fiviermmzpram5i1spfub99shms3j9&scope=write_orders,read_customers&redirect_uri=https://acme.com
Resposta
Uma resposta bem-sucedida retorna o URL de redirecionamento, incluindo o código de autorização necessário para gerar o token de acesso.
https://www.acme.com/?code=k6j2palgrbljja228ou8c20fmn7w41gz&hmac=68c9163f772eecbc8848c90f695bca0460899c125af897a6d2b0ebbd59d3a43b&shop=connnectors-test.myshopify.com&state=123456×tamp=1658305460
Recupere o token de acesso
Agora que você tem a ID do cliente, o segredo do cliente e o código de autorização, é possível recuperar o token de acesso. Para recuperar o token de acesso, faça uma solicitação POST à URL myshopify.com
do domínio ao anexar essa URL ao ponto de extremidade de API Shopify’s: /admin/oauth/access_token
.
Formato da API
POST /{SHOP}.myshopify.com/admin/oauth/access_token
Solicitação
A solicitação a seguir gera um token de acesso para a instância 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"
}'
Resposta
Uma resposta bem-sucedida retorna o token de acesso e os escopos de permissão.
{
"access_token": "shpca_wjhifwfc91psjtldysxd6rqli371tx54",
"scope": "write_orders,read_customers"
}
Criar um webhook para transmissão de dados Shopify webhook
Os webhooks permitem que os aplicativos permaneçam sincronizados com os dados do Shopify ou executem uma ação depois que um evento específico ocorrer em uma loja. Para transmitir dados do Shopify para o Experience Platform, é possível usar webhooks para definir o ponto de extremidade http e os tópicos para assinatura.
Solicitação
A solicitação a seguir cria um webhook para seus dados do 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
Resposta
Uma resposta bem-sucedida retorna informações no webhook, incluindo id
, endereço e outras informações de metadados correspondentes.
{
"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": []
}
}
Limitações limitations
Esta é uma lista de limitações conhecidas que você pode encontrar ao usar webhooks com a origem Shopify Streaming.
- Não há garantia de que você pode organizar a ordem de entrega de diferentes tópicos para o mesmo recurso. Por exemplo, é possível que um webhook
products/update
seja entregue antes de um webhookproducts/create
. - Você pode definir seu webhook para entregar eventos de webhook a um endpoint pelo menos uma vez. Isso significa que um endpoint pode receber o mesmo evento mais de uma vez. Você pode procurar eventos de webhook duplicados comparando o cabeçalho
X-Shopify-Webhook-Id
com os eventos anteriores. - Shopify trata as respostas de status HTTP 2xx como notificações bem-sucedidas. Quaisquer outras respostas de código de status são consideradas como falhas. Shopify fornece um mecanismo de repetição para notificações de webhook com falha. Se não houver nenhuma resposta após aguardar cinco segundos, o Shopify tentará novamente a conexão 19 vezes durante as próximas 48 horas. Se ainda não houver respostas no final do período de novas tentativas, Shopify excluirá o webhook.
Próximas etapas
Os tutoriais a seguir fornecem etapas sobre como conectar a origem do Shopify Streaming ao Experience Platform usando a API e a interface do usuário: