Pedidos
Endpoints de /api2/order para listagem com paginação determinística, consulta detalhada por ID ou increment_id e operações administrativas: cancel, hold e unhold. Esta página é a porta de entrada da família de pedidos — a partir daqui, navegue para Faturas, Expedições, Estornos e Histórico.
Visão geral
A família /api2/order consolida o ciclo de vida do pedido na Plataforma Yep — da consulta inicial ao estorno final. Esta página cobre o recurso raiz Orders; os demais recursos têm página própria.
limit é omitido ou inválido.total, last_page, has_next sob include_pagination=1.Regras gerais da família
Convenções comuns a todos os endpoints de pedidos. Base URL nos exemplos: /api2. Endpoints protegidos exigem Authorization: Bearer {{token}} e Content-Type: application/json nos verbos POST.
- Listagens aceitam filtros por query string ou por JSON body. Quando o mesmo campo existir nos dois lugares, o valor da query string prevalece.
- Paginação padrão:
page=1,limit=20. Limite máximo:200. Também são aceitospage_size,per_pageepageSize. - Datas devem usar
YYYY-MM-DDouYYYY-MM-DD HH:MM:SS. Datas inválidas retornam400. - Ordenação: use
sortedirection(ascoudesc). Campos aceitos variam por recurso. - Em endpoints operacionais que aceitam
items, cada item deve usarorder_item_idouskue uma quantidade positiva emqty. - Erros seguem o padrão
{"error": "mensagem"}.
Status HTTP
| Status | Uso |
|---|---|
200 | Consulta ou atualização concluída. |
201 | Criação de invoice, shipment, rastreio, histórico ou credit memo concluída. |
400 | Parâmetro inválido, JSON inválido ou ambiguidade na operação. |
401 | Token ausente ou inválido. |
404 | Pedido, invoice, shipment ou credit memo não encontrado. |
409 | Conflito de gravação, duplicidade ou deadlock tratado pelo helper do módulo. |
503 | Recurso temporariamente indisponível por lock wait ou contenção no banco. |
500 | Erro inesperado tratado pelo helper do módulo. |
Listar pedidos com filtros e paginação determinística.
1.20, máximo 200.1, retorna total, last_page e has_next.pending,processing.created_at_from, created_at_to, from, to.updated_at_from, updated_at_to.entity_id, created_at, updated_at, increment_id, grand_total.Exemplo — query string
GET /api2/order?page=1&limit=50&status=pending,processing&include_pagination=1&sort=created_at&direction=desc
Authorization: Bearer {{token}}
Exemplo — JSON body
{
"page": 1,
"limit": 50,
"include_pagination": 1,
"status": ["pending", "processing"],
"customer_email": "cliente@example.com",
"created_from": "2026-01-01",
"created_to": "2026-12-31",
"sort": "created_at",
"direction": "desc"
}
Resposta — exemplo
{
"success": true,
"page": 1,
"limit": 50,
"total": 137,
"last_page": 3,
"has_next": true,
"orders": [
{
"order_id": 123,
"increment_id": "100000123",
"status": "processing",
"state": "processing",
"grand_total": 459.90,
"customer_id": 34,
"customer_email": "cliente@example.com",
"omnichat_sales_person_id": "seller-123",
"omnichat_sales_person_name": "Nome do vendedor",
"created_at": "2026-04-22 14:33:10",
"updated_at": "2026-04-23 09:11:02"
}
]
}
omnichat_sales_person_id e omnichat_sales_person_name. Para pedidos sem vínculo Omnichat, os campos retornam null.Obter pedido individual por id ou increment_id. A resposta usa a chave order (singular).
GET /api2/order?id=123
Authorization: Bearer {{token}}
GET /api2/order?increment_id=100000123
Authorization: Bearer {{token}}
/api2/orders que aceita os mesmos parâmetros.Cancela o pedido seguindo as regras nativas da Yep. Quando canCancel() retornar falso, a API devolve 400.
POST /api2/order/cancel
Authorization: Bearer {{token}}
Content-Type: application/json
{
"order_increment_id": "100000123",
"comment": "Cancelado pela integração."
}
order_id em vez de order_increment_id.Coloca o pedido em hold quando canHold() permitir.
POST /api2/order/hold
Authorization: Bearer {{token}}
Content-Type: application/json
{
"order_id": 123,
"comment": "Pedido em análise."
}
Remove o hold quando canUnhold() permitir.
POST /api2/order/unhold
Authorization: Bearer {{token}}
Content-Type: application/json
{
"order_id": 123,
"comment": "Análise concluída."
}
Formas de uso suportadas
Combinações testadas e homologadas para o recurso Orders.
GET /api2/order?status=pending,processing&include_pagination=1GET /api2/order?increment_id=100000123GET /api2/order?id=123GET /api2/order?updated_from=2026-04-01&sort=updated_at&direction=ascPOST /api2/order/cancelPOST /api2/order/holdPOST /api2/order/unholdRecomendações para integração
Boas práticas consolidadas para integrações com ERP, OMS, CRM e marketplaces que sincronizam pedidos com a Plataforma Yep.
Recomendado
- Identificar pedidos preferencialmente por
order_increment_id— é estável e legível para usuários humanos. - Usar
include_pagination=1em rotinas de sincronização para encerrar loops com segurança viahas_next. - Combinar
updated_from/updated_topara sincronizações incrementais (delta). - Usar
store_idem ambientes multi-store para resultado determinístico.
Evitar
- Misturar
order_ideorder_increment_idno mesmo payload — escolha um identificador por requisição. - Forçar cancel/hold/unhold sem checar o estado atual — a Yep retorna
400quando a transição não é permitida. - Depender de ordenação implícita entre páginas — sempre informe
sortedirection.
Dica de sincronização incremental
Para integrações OMS/ERP, combine updated_from + limit=100 + include_pagination=1 + sort=updated_at&direction=asc. Você obtém um delta determinístico, com critério de parada confiável e ordenação previsível para retomar a partir de um checkpoint.
Erros comuns
| Status | Exemplo de body | Quando ocorre |
|---|---|---|
400 | {"error": "Invalid date format"} | Datas fora do formato YYYY-MM-DD ou YYYY-MM-DD HH:MM:SS. |
400 | {"error": "Order cannot be canceled"} | canCancel(), canHold() ou canUnhold() retornaram falso para o estado atual do pedido. |
401 | {"error": "Unauthorized"} | Authorization ausente ou token expirado. |
404 | {"error": "Order not found"} | order_id ou increment_id inexistente. |
503 | {"error": "Resource temporarily unavailable"} | Lock wait ou contenção transitória — repetir após backoff. |