O espaço para lojistas conversarem sobre apps. Quais apps oferecem os melhores resultados para você?
Estamos com dificuldades na documentação que discorre sobre ação obsoleta "cancel order".
Após varia tentativas junto a equipe de atendimento a clientes shoipify-plus, não obtivemos resultado para criar um fluxo que liste as ultimas ordens com created_at:>'{{ scheduledAt | date_minus: "1 hour" }}' gateway:'%Pix%' AND financial_status:pending. Após listar, cada ordem deve ser arquivada, reallizado reembolso e ter itens devolvidos ao estoque(inventário).
Qualque solução dentro do Flow será de grande ajuda. Já tenho a solução por API Graphql, mas se faz necessário deixar os processos dentro do Flow.
Olá Zericksp, como vai?
Entendo a sua frustração com a ação obsoleta "cancel order" no Shopify Flow e a necessidade de automatizar o processo de cancelamento de pedidos específicos diretamente dentro do Flow. Embora o Flow seja uma ferramenta poderosa para automações dentro do Shopify, ele possui algumas limitações em termos de ações nativas disponíveis. No entanto, é possível contornar essas limitações utilizando webhooks e integrações com APIs externas, como você já fez com a API GraphQL.
A seguir, apresento uma solução detalhada para criar o fluxo desejado dentro do Shopify Flow, utilizando webhooks para integrar com sua solução baseada em GraphQL:
Antes de configurar o Flow, certifique-se de que você possui um endpoint (API) configurado para receber os webhooks e executar as ações necessárias (listar pedidos, arquivar, realizar reembolso e retornar itens ao estoque). Como você já mencionou que possui uma solução via GraphQL API, essa parte já está implementada.
Caso ainda não tenha, você precisará configurar um servidor que possa receber requisições HTTP e interagir com a API GraphQL do Shopify. Esse servidor será responsável por:
Exemplo de Implementação (usando Node.js e Express):
Nota: Substitua 'YOUR_ACCESS_TOKEN' pelo seu token de acesso à API do Shopify e ajuste a lógica conforme necessário para sua implementação específica.
Agora, vamos configurar o Shopify Flow para acionar o webhook que você criou:
Acesse o Shopify Flow:
Criar um Novo Fluxo:
Definir o Trigger (Gatilho):
Configuração do Gatilho:
Adicionar Condições:
Como Configurar:
Condição 1:
Condição 2:
Condição 3:
Adicionar Ação: Enviar Webhook
Configuração da Ação:
Exemplo de Corpo JSON:
Salvar e Ativar o Fluxo:
Após configurar o fluxo, realize testes para garantir que tudo está funcionando conforme o esperado:
Criar um Pedido de Teste:
Verificar a Execução do Webhook:
Confirmar Ações no Shopify:
Se você precisa executar essa verificação periodicamente (por exemplo, a cada hora), considere usar uma solução de agendamento externa para acionar o webhook:
Serviços de Agendamento:
Ajuste na Lógica do Endpoint:
Manutenção e Monitoramento:
Segurança:
Logs e Auditoria:
Limitações do Shopify Flow:
Espero que essa solução atenda às suas necessidades e permita automatizar o processo conforme desejado!
Abraços Paolo Werneck
AgenciaFY & Playecom
Necesitamos levar todo este processo para dentro da Shopify, garantindo escalabilidade com baixa manutenção.
O processo já validado é feito diretamente com os webhook " Criação de pedido".
Poderia ser utilizado em uma tarefa CRON com o GRPHQL :
<<<'GRAPHQL' { orders(first: 50, query: "gateway:'XXX XXXX Pix' financial_status:pending created_at:1h") { edges { node {
id
createdAt
financialStatus
gateway
}
}
}
}
GRAPHQL;
Mas já temos gravado todo conteúdo do pedido em uma base MySql e uma tarefa CRON recupera os dados do DB a cada 10 minutos com "SELECT ord_id,ord_cancelled_at,ord_closed_at,ord_cancel_reason,ord_confirmation_number,ord_created_at,ord_financial_status,ord_order_status_url,ord_payment_gateway_names,ord_processed_at,ord_status FROM tbl_shpf_orders WHERE ord_payment_gateway_names LIKE '%Pix%'
AND ord_financial_status <> 'paid' AND ord_closed_at IS NULL AND ord_processed_at <= DATE_SUB(NOW(), INTERVAL 2 HOUR) ORDER BY ord_processed_at DESC LIMIT 10;"
No Loop pelo resultado, executamos uma function de update no pedido, aproveitando esta base para montar uma tela de monitoramento dos pedidos ainda não atualizados com possibilidade de execução manual.
Para internalizar o processo na Shopify de forma mais escalável e com menor manutenção, é importante reduzir as dependências externas (como o uso de um banco MySQL intermediário e CRON jobs externos) e aproveitar recursos nativos da plataforma ou integrações mais fluidas. Abaixo seguem algumas estratégias e considerações:
1. Uso de Webhooks + Aplicativo Privado ou Custom App Interno:
Se você já utiliza o webhook de "Order Creation" (Criação de pedido), pode expandir essa lógica por meio de um app privado ou custom app registrado na loja. Esse app poderá:
Isso elimina a necessidade de rodar um CRON local. Com o app privado, você pode configurar uma função serverless (AWS Lambda, Cloud Functions, etc.) que, a cada intervalo, se necessário, executa a query GraphQL direto na Shopify, atualiza pedidos e, caso queira, registra logs no próprio pedido via notas internas ou tags. Por ser serverless, a manutenção é reduzida e a escalabilidade melhora.
2. Shopify Flow (se disponível em seu plano):
Se a sua loja estiver num plano compatível, o Shopify Flow pode automatizar muitos processos internos, reduzindo a necessidade de CRONs externas. Você pode criar fluxos para:
Isso reduz a dependência de CRON jobs, já que o agendamento e as verificações passam a ser definidas dentro do ecossistema da Shopify.
3. Redução da dependência do MySQL externo:
Se a principal razão do MySQL era armazenar dados para monitoramento e execução manual, avalie alternativas:
4. Substituindo a CRON por Agendamentos em Nuvem e Lógicas Internas:
Caso precise realmente de algo semelhante a um CRON, você pode utilizar serviços na nuvem (como AWS EventBridge ou Cloud Scheduler no GCP) para disparar periodicamente uma função serverless que consulta os pedidos na Shopify via GraphQL. Dessa forma, a manutenção é apenas na nuvem, não exige servidor dedicado, e você integra diretamente com a API da Shopify, atualizando estados sem intermediários complexos.
5. Segurança e Manutenção Reduzida:
Resumo da Estratégia Recomendada:
Assim, todo o fluxo (verificação, atualização e monitoramento) ficará concentrado dentro do ecossistema Shopify, garantindo escalabilidade, baixa manutenção e maior integração dos processos.
Você é aquele lojista que criou múltiplas lojas para usufruir do período de avaliação...
By Paula Aug 15, 2024Antes de tomar a decisão de comprar de uma loja virtual, podem surgir algumas dúvida...
By Amalia Aug 1, 2024Se você está em Portugal e utiliza o Shopify Payments, este artigo foi feito para voc...
By Paula Jul 18, 2024