Notificações de pedidos do Shopify que chegam ao seu celular em segundos

Mande os webhooks do Shopify direto para o celular: um aviso discreto a cada pedido, um mais alto para carrinhos grandes e uma ligação quando um reembolso ou cancelamento precisa de você.

Atualizado

Sumário

Os e-mails de pedido do Shopify chegam quando o seu app de e-mail resolve sincronizar, caem numa pasta que você filtrou, e parecem idênticos se o pedido foi de R$ 60 ou de R$ 6.000. Se é você que toca a loja, esse é o formato errado de sinal.

Um webhook resolve. O Shopify vai fazer POST de todo pedido para uma URL que você escolher, e o Echobell transforma esse POST numa notificação cujo volume quem decide é você.

Escolha os topics que merecem interromper você

O Shopify chama os tipos de evento de webhook de topics. Estes quatro cobrem a maioria das lojas tocadas por uma pessoa só:

TopicO que significaUrgência
orders/createUm pedido foi feito.Normal
orders/paidO pagamento foi aprovado. Use este se só importa o dinheiro que realmente entrou.Normal
orders/cancelledUm cliente cancelou. Vale saber antes de embalar.Sensível ao tempo
refunds/createUm reembolso foi emitido.Sensível ao tempo

Assine orders/create ou orders/paid, não os dois, a menos que você realmente queira duas notificações por venda. Para a maioria das lojas, orders/paid é o honesto.

Passo 1 — Crie o canal

Crie um canal no Echobell chamado algo como "Pedidos Shopify", copie a URL de webhook dele e ligue Somente POST. O Shopify sempre envia por POST.

Se quiser um canal separado e mais alto para cancelamentos e reembolsos, crie ele agora também e coloque em sensível ao tempo.

Passo 2 — Adicione o webhook no Shopify

No admin do Shopify, vá em Configurações → Notificações → Webhooks → Criar webhook. Escolha o topic, deixe o formato em JSON e cole a URL do seu canal.

O Shopify manda um payload de teste ao salvar. Se o celular vibrar, o caminho funciona.

Passo 3 — Coloque no template só os campos que você lê

Os payloads de pedido do Shopify são longos: mais de cem campos por pedido. Você só precisa de alguns:

Título

Pedido #{{order_number}} · {{total_price}} {{currency}}

Corpo

{{customer.first_name}} {{customer.last_name}}
{{line_items[0].title}}

line_items é um array, então line_items[0] é o primeiro item. Os templates do Echobell aceitam acesso por índice, mas não existe laço: um pedido com três itens mostra o primeiro e mais nada. Se isso importa, ponha a contagem ao lado:

{{line_items[0].title}} · {{line_items.length}} itens no total

Diferente do Stripe, o Shopify envia total_price como string decimal — "49.00", não 4900 — então aparece certo sem conta nenhuma.

Passo 4 — Roteie por topic com uma condição

Se você apontar vários topics para o mesmo canal, o Shopify diz qual é qual num cabeçalho:

header["x-shopify-topic"] == "orders/paid"

É a forma mais limpa de separar comportamentos sem criar um webhook por canal no admin.

Só me acorde por pedidos grandes

O padrão que a maioria dos lojistas realmente quer: todo pedido vai para um canal silencioso, e só os acima de um limite vão para um barulhento.

Crie um segundo canal, coloque em sensível ao tempo, aponte outro webhook de orders/paid para ele e dê uma condição:

total_price > 500

Agora um dia normal é um zumbido de fundo e um pedido de R$ 4.500 é algo que você sente.

O que isso não faz

Sem verificação de HMAC. O Shopify assina todo webhook com um cabeçalho X-Shopify-Hmac-Sha256. O Echobell não verifica, então a URL do seu canal é a única coisa segurando estranhos do lado de fora. Mantenha em segredo, deixe Somente POST ligado, e se uma notificação de pedido forjada causar dano real, ponha seu próprio endpoint na frente para verificar o HMAC e faça ele chamar o Echobell.

O Shopify pode entregar o mesmo webhook duas vezes. Ele repete em caso de falha, e as repetições não são desduplicadas. Trate a notificação como um empurrão para olhar o pedido, não como contagem de pedidos. Seu admin do Shopify é a fonte da verdade.

Topics de estoque ficam barulhentos rápido. inventory_levels/update dispara a cada movimentação de estoque, incluindo suas próprias edições. Se quiser alertas de estoque baixo, filtre com rigor ou vai se arrepender antes do almoço.

Perguntas frequentes

Preciso de um app do Shopify para isso?

Não. Os webhooks em Configurações → Notificações já vêm no admin e não exigem app, conta de parceiro nem código.

Meu estoque consegue ver os pedidos sem ver meu admin do Shopify?

Consegue. Compartilhe o canal com eles. Recebem as notificações e mais nada — sem acesso ao admin e sem dados de cliente além do que o seu template incluir.

Devo colocar nome de cliente na notificação?

É decisão sua, e vale tomar de forma consciente. Tudo que está no template aparece na tela bloqueada. Número do pedido e total costumam bastar para agir.

Dá para receber uma ligação por chargeback?

Contestações do Shopify Payments chegam pelo topic disputes/create em lojas que usam Shopify Payments. Aponte isso para um canal em modo chamada — é o único evento de pedido com prazo colado nele.

Fechando

Um webhook, um template, e uma condição se você quiser a versão barulhenta. Leva uns cinco minutos e substitui ficar atualizando a página de pedidos.

Baixe o Echobell para iPhone ou pegue no Google Play, depois faça um pedido de teste e veja ele chegar antes do e-mail de confirmação.


Conteúdo relacionado