Simular um webhook de pedido do Shopify

Um mock GET em formato de webhook de pedido do Shopify, com um order_number que aumenta progressivamente e um total e e-mail de cliente aleatórios.

Este modelo retorna um webhook de pedido em formato do Shopify cujo order_number aumenta em cada chamada, com um total e e-mail de cliente aleatórios. Isso o torna útil para testar códigos que precisam lidar com um fluxo de pedidos distintos em vez do mesmo fixture repetidamente — desduplicação, ordenação e idempotência precisam de mais de um valor.

Retorna um evento pronto — alimente-o diretamente no seu próprio handler.

Payload de resposta

{
  "id": 5734891234567,
  "order_number": {{seq}},
  "total_price": "{{faker.price}}",
  "currency": "USD",
  "line_items": [
    {
      "title": "Wireless Mouse",
      "quantity": 2,
      "price": "19.99"
    }
  ],
  "customer": {
    "email": "{{faker.email}}"
  }
}

Campos que valem a pena conhecer

Campo O que significa
order_number Aumenta progressivamente em cada chamada através de {{seq}} — é assim que os próprios números de pedidos do Shopify se comportam também.
total_price Um valor aleatório através de {{faker.price}}; o total de um pedido real é a soma de seus itens da linha, mais impostos e envio.
currency O código da moeda, codificado aqui como USD.
line_items Os itens de linha do pedido — um item fixo aqui, um pedido real pode conter muitos.
customer.email Um email aleatório via {{faker.email}}.

Criar o mock

curl -X POST https://quickmock.dev/api/mocks \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "GET",
  "response_status": 200,
  "content_type": "application/json",
  "response_body": "{\"id\":5734891234567,\"order_number\":{{seq}},\"total_price\":\"{{faker.price}}\",\"currency\":\"USD\",\"line_items\":[{\"title\":\"Wireless Mouse\",\"quantity\":2,\"price\":\"19.99\"}],\"customer\":{\"email\":\"{{faker.email}}\"}}"
}'

Chame-o

curl https://quickmock.dev/m/<slug>

O que você obtém

GET /m/<slug> -> 200 a Shopify-style order webhook
order_number counts up per call, total_price/customer.email are random

Como isso difere do original

Este é um pedido reduzido em vez do conjunto completo de campos que um pedido real do Shopify possui, e a requisição não é assinada. order_number aumenta através de {{seq}}; total_price e customer.email são aleatórios em cada chamada.

Fontes

FAQ

Isso se conecta a uma loja do Shopify?
Não. É um pedido reduzido servido a partir da sua URL de mock, sem loja, sem inventário e sem API por trás dele. Um pedido real do Shopify possui muito mais campos do que os mostrados aqui.
Por que o order_number muda a cada chamada?
Ele usa um token de sequência, espelhando como os próprios números de pedidos do Shopify aumentam. Um fixture com um ID fixo não pode capturar um bug onde seu código trata dois pedidos diferentes como se fossem o mesmo.
O total_price é consistente com os itens da linha?
Não — é aleatório em cada chamada, enquanto os itens da linha são fixos. Se o seu código recalcula o total a partir dos itens, edite o corpo da resposta para fazer os dois concordarem primeiro.

Pronto para usar?

Abrir no construtor de mocks para ajustar primeiro

Combina bem com este guia: Testar um receptor de webhook

Modelos relacionados

← Todos os modelos

Última atualização: 2026-10-17