Skip to content

Pedidos

Gerencie os pedidos da loja. Crie pedidos diretamente via API (para integrações com ERPs) ou consulte/atualize pedidos existentes.

Listar pedidos

http
GET /api/v1/orders

Query parameters

ParâmetroTipoDescrição
statusstringFiltrar por status do pedido
payment_statusstringFiltrar por status de pagamento
customer_idintegerFiltrar por cliente
order_numberstringFiltrar por número do pedido
date_fromdatePedidos a partir desta data (YYYY-MM-DD)
date_todatePedidos até esta data (YYYY-MM-DD)
sortstringCampo de ordenação (padrão: created_at)
directionstringasc ou desc (padrão: desc)
per_pageintegerItens por página (máx: 100, padrão: 25)

Exemplo

bash
curl -X GET "https://sualoja.com.br/api/v1/orders?status=processing&date_from=2026-03-01" \
  -H "X-API-Key: SUA_CHAVE"

Resposta

json
{
  "data": [
    {
      "id": 42,
      "order_number": "2026-00042",
      "customer": {
        "id": 5,
        "name": "João Silva",
        "email": "joao@email.com"
      },
      "guest_name": null,
      "guest_email": null,
      "status": "processing",
      "payment_status": "paid",
      "payment_method": "pix",
      "items": [
        {
          "id": 100,
          "product_id": 1,
          "variant_id": 10,
          "product_name": "Camiseta Preta",
          "variant_label": "P / Preto",
          "sku": "CAM-001-P",
          "quantity": 2,
          "unit_price": 59.90,
          "total": 119.80
        }
      ],
      "shipping": {
        "method": "PAC",
        "cost": 14.90,
        "days": 8,
        "tracking_code": "BR123456789BR",
        "tracking_url": "https://rastreamento.correios.com.br/...",
        "address": {
          "name": "João Silva",
          "phone": "(11) 98765-4321",
          "zip": "01001-000",
          "street": "Rua A",
          "number": "100",
          "complement": null,
          "district": "Centro",
          "city": "São Paulo",
          "state": "SP"
        }
      },
      "subtotal": 119.80,
      "discount": 10.00,
      "pix_discount": 0,
      "shipping_cost": 14.90,
      "total": 124.70,
      "coupon_code": "DESCONTO10",
      "notes": null,
      "paid_at": "2026-03-15T10:30:00Z",
      "shipped_at": null,
      "delivered_at": null,
      "cancelled_at": null,
      "created_at": "2026-03-15T10:25:00Z",
      "updated_at": "2026-03-15T10:30:00Z"
    }
  ]
}

Buscar pedido

http
GET /api/v1/orders/{id}

Retorna o pedido completo com cliente, itens e eventos.

Criar pedido

http
POST /api/v1/orders

Cria um pedido diretamente, sem passar pelo carrinho. Ideal para integrações com ERPs que precisam registrar pedidos de outros canais.

Pedido de cliente cadastrado ou visitante

Envie customer_id para vincular a um cliente cadastrado, ou envie guest_name e guest_email para um pedido de visitante.

Campos

CampoTipoObrigatórioDescrição
customer_idintegerID do cliente (obrigatório se não enviar guest_*)
guest_namestringNome do visitante
guest_emailstringE-mail do visitante
guest_phonestringTelefone do visitante
payment_methodstringpix, credit_card ou boleto
itemsarrayLista de itens (mínimo 1)
items[].product_idintegerID do produto
items[].variant_idintegerID da variante
items[].quantityintegerQuantidade (mínimo: 1)
items[].unit_pricenumberPreço unitário
shipping_namestringNome do destinatário
shipping_zipstringCEP
shipping_streetstringRua
shipping_numberstringNúmero
shipping_complementstringComplemento
shipping_districtstringBairro
shipping_citystringCidade
shipping_statestringEstado (UF)
shipping_phonestringTelefone para entrega
shipping_methodstringMétodo de envio (ex: "PAC", "SEDEX")
shipping_costnumberCusto do frete
shipping_daysintegerPrazo em dias
subtotalnumberSubtotal dos itens
discountnumberDesconto aplicado
totalnumberValor total do pedido
notesstringObservações do pedido

Exemplo

bash
curl -X POST https://sualoja.com.br/api/v1/orders \
  -H "X-API-Key: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": 5,
    "payment_method": "pix",
    "items": [
      {
        "product_id": 1,
        "variant_id": 10,
        "quantity": 2,
        "unit_price": 59.90
      }
    ],
    "shipping_name": "João Silva",
    "shipping_zip": "01001-000",
    "shipping_street": "Rua A",
    "shipping_number": "100",
    "shipping_district": "Centro",
    "shipping_city": "São Paulo",
    "shipping_state": "SP",
    "shipping_method": "PAC",
    "shipping_cost": 14.90,
    "shipping_days": 8,
    "subtotal": 119.80,
    "discount": 10.00,
    "total": 124.70
  }'

Resposta 201 Created

O pedido é criado com status: pending e payment_status: pending. O evento order.created é disparado automaticamente (webhooks).

Atualizar pedido

http
PUT /api/v1/orders/{id}

Atualiza status, rastreamento e observações de um pedido. Não permite alterar itens.

Campos

CampoTipoDescrição
statusstringNovo status do pedido
payment_statusstringNovo status de pagamento
tracking_codestringCódigo de rastreamento
tracking_urlstringURL de rastreamento
notesstringObservações
shipped_atdatetimeData de envio
delivered_atdatetimeData de entrega

Timestamps automáticos

  • Ao alterar status para shipped, o campo shipped_at é preenchido automaticamente (se não enviado).
  • Ao alterar status para delivered, o campo delivered_at é preenchido automaticamente (se não enviado).

Exemplo — marcar como enviado

bash
curl -X PUT https://sualoja.com.br/api/v1/orders/42 \
  -H "X-API-Key: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "shipped",
    "tracking_code": "BR123456789BR",
    "tracking_url": "https://rastreamento.correios.com.br/..."
  }'

Status do pedido

StatusDescrição
pendingAguardando pagamento
processingPagamento confirmado, preparando
paidPago
shippedEnviado
deliveredEntregue
cancelledCancelado
refundedReembolsado

Status de pagamento

StatusDescrição
pendingAguardando
paidPago
failedFalhou
refundedReembolsado

Métodos de pagamento

MétodoDescrição
pixPIX
credit_cardCartão de crédito
boletoBoleto bancário