Resposta síncrona
Normalmente, um webhook responde ao solicitante imediatamente, e seu fluxo de trabalho do Shopify Flow é executado em segundo plano. Com a opção “Resposta síncrona” ativada, o aplicativo mantém a solicitação HTTP do solicitante aberta até que seu fluxo de trabalho envie os dados de volta e, então, retorna esses dados.
Útil quando quem está ligando precisa de uma resposta, e não apenas de um aviso de recebimento - um formulário que exiba um resultado, um sistema que exija um valor calculado, uma consulta.
Ligue-o
Configurações avançadas -> Resposta síncrona no webhook.
Crie o fluxo de trabalho
Um webhook de sincronização aciona o Gatilho de Webhook de Sincronização, e não o Gatilho de Webhook padrão. Esse gatilho contém um campo adicional, invocationId, que identifica a solicitação específica que aguarda uma resposta.
| Etapa | O que |
|---|---|
| Gatilho | Gatilho de Webhook de Sincronização |
| Condição | Webhook ID corresponde ao ID do seu webhook |
| Última ação | Resposta do Webhook de Retorno |
A ação ocorre em três campos:
| Campo | O que colocar |
|---|---|
| ID da invocação | Defina o parâmetro {{invocationId}} a partir do gatilho. Sem ele, sua resposta não poderá ser associada ao chamador em espera e será descartada. |
| Corpo da resposta | O que o interlocutor recebe - veja a seguir. |
| Tipo de conteúdo | Opcional. O valor padrão é application/json; utilize text/plain para texto simples. |
Como escrever o corpo da resposta
É possível escrever o corpo diretamente no campo utilizando as variáveis do gatilho, o que já é suficiente para a maioria dos fluxos de trabalho:
{"ok": true, "orderId": "{{fieldOne}}", "email": "{{fieldTwo}}"}
Todos os campos de gatilho estão disponíveis: {{fieldOne}} a {{fieldFour}}, {{rawBody}} e {{webhookId}}.
Para qualquer tarefa que exija lógica - consultar um cliente, calcular um total, moldar um objeto maior - , utilize uma ação “Executar Código” no início do fluxo de trabalho e vincule seu resultado aqui.
Quando não houver resposta
Caso seu fluxo de trabalho não responda em até 15 segundos, o chamador recebe a resposta padrão - o mesmo 200 que um webhook não síncrono retorna. Isso nunca constitui um erro, e o chamador nunca fica à espera. A invocação ainda aparece no Histórico, e o fluxo de trabalho ainda pode ser concluído; apenas a resposta chega tarde demais para ser utilizada.
As causas mais comuns:
- O fluxo de trabalho não está ativado.
- Ele é baseado no gatilho Webhook padrão, e não no gatilho de sincronização.
- Um ramo foi concluído sem chegar à resposta do webhook de retorno.
- O ID da invocação não foi vinculado.
Informações úteis
- A primeira resposta vence. Se dois fluxos de trabalho responderem à mesma solicitação, o solicitante recebe o primeiro; o segundo é descartado.
- Entregas duplicadas nunca podem esperar. Uma solicitação suprimida por Proteção contra entregas duplicadas retorna imediatamente - nenhum fluxo de trabalho é executado, portanto, há não tenho nada a responder.
- O tempo típico de ida e volta é de 2 a 4 segundos, mas o site Shopify não oferece nenhuma garantia de tempo para Shopify Flow. Trate as respostas síncronas como “best-effort”: rápidas na prática, com o limite de 15 segundos plano alternativo como medida de segurança.

