Skip to content

Endpoints de Order

Os pedidos são pedidos WooCommerce com escopo de organização. O dominio Order atua como adaptador sobre o WooCommerce com integração Stripe para processamento de pagamentos.

Caminho base: /wp-json/middag-account/v1/orders

Endpoints

MétodoEndpointAuthEscopoDescrição
GET/ordersJWT + OrgordersListar pedidos da organização
GET/orders/{id}JWT + OrgordersDetalhes completos do pedido
POST/orders/{id}/cancelJWT + OrgordersCancelar pedido pendente
POST/orders/{id}/refundJWT + Orgorders + financesSolicitar reembolso

GET /orders

Listar pedidos da organização atual.

Headers: X-Middag-Organization: {org_id}

Filtros de query:

ParâmetroTipoValores
statusstringpending, processing, completed, cancelled, refunded
date_fromstringData ISO 8601 (ex.: 2026-01-01)
date_tostringData ISO 8601

Resposta (200):

json
{
    "success": true,
    "data": [
        {
            "id": 501,
            "status": "completed",
            "total": "1250.00",
            "currency": "BRL",
            "date_created": "2026-04-01T14:30:00Z",
            "date_completed": "2026-04-01T14:35:00Z",
            "payment_method": "stripe",
            "items_count": 2
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 20,
        "total": 1,
        "pages": 1
    }
}

GET /orders/:id

Detalhes completos do pedido incluindo itens, endereços de cobrança/entrega, dados de entitlement vinculado e informações de pagamento.

Campos de resposta: id, status, total, subtotal, tax_total, currency, date_created, date_completed, payment_method, billing_address, line_items[], entitlements[], notes.

POST /orders/:id/cancel

Cancelar um pedido pendente ou em processamento.

Resposta (200):

json
{
    "success": true,
    "message": "Order cancelled"
}

Retorna 409 CONFLICT se o pedido já esta concluido ou em um estado não cancelável.

POST /orders/:id/refund

Solicitar reembolso de um pedido concluido. Requer os escopos orders e finances.

Request:

json
{
    "reason": "Customer requested cancellation",
    "amount": "1250.00"
}

Resposta (200):

json
{
    "success": true,
    "data": {
        "refund_id": 88,
        "amount": "1250.00",
        "status": "processing"
    }
}

Mapeamento de Status Stripe

Os pedidos do Stripe mapeiam status da seguinte forma (cobrança charge_automatically):

Status StripeStatus WooCommerce
activecompleted
trialingprocessing
incompleteon-hold
past_duefailed
canceledcancelled

Relacionados