Retornar o status do pedido ao receber o webhook

Responda a uma solicitação HTTP com o status de pagamento e de processamento de um pedido. Um chatbot, uma central de atendimento ou um portal do cliente envia um número de pedido e recebe o status na mesma resposta.

Um gatilho do Workflow Webhooks, juntamente com a ação “Resposta do Webhook de Retorno”, sem a necessidade de nenhum outro aplicativo.

O fluxo de trabalho no Shopify Flow: Retornar o status do pedido ao receber um webhook
O fluxo de trabalho completo, conforme aparece no Shopify Flow.

O que é necessário

Um webhook em Workflow Webhooks com a resposta síncrona ativada; consulte Resposta síncrona e este mapeamento de payload. Consulte Mapeamento de payload e variáveis de fluxo.

Campo O que deve ser mapeado para ele
fieldOne O número do pedido, por exemplo#1001

Uma chamada ao webhook fica assim:

bash
curl -X POST https://<your webhook URL> \
  -H "Content-Type: application/json" \
  -d '{"orderNumber": "#1001"}'

# Response:
# {"orders": [{"name": "#1001", "financialStatus": "PAID", "fulfillmentStatus": "UNFULFILLED"}]}

Conheça o fluxo de trabalho

  1. Faça o download do arquivo .flow, anexado na parte inferior desta página.
  2. No painel de administração do Shopify, abra a seção “Shopify Flow”, clique em “Importar” e selecione o arquivo.
  3. Verifique as etapas e, em seguida, clique em “Ativar fluxo de trabalho”.

O arquivo é uma exportação do próprio Shopify Flow. Não o edite manualmente; altere o fluxo de trabalho no Shopify Flow após importá-lo.

Como funciona

  1. O gatilho “Sync Webhook” inicia o fluxo de trabalho enquanto o chamador aguarda uma resposta e passa o invocationId, juntamente com os campos mapeados.
  2. A função “Get order data” pesquisa o pedido por meio da consulta name:{{fieldOne}} e mantém, no máximo, um resultado.
  3. A resposta do webhook de retorno envia a lista {"orders": [...]} de volta ao solicitante, contendo o nome do pedido, o status financeiro e o status de processamento. A lista fica vazia quando não há nenhum pedido correspondente.

Faça disso algo seu

  • Adicione mais campos de pedido ao corpo da resposta, por exemplo, {{order.totalPriceSet.shopMoney.amount}}.

Próximos passos