Changelog da API
Mudanças na API Open Delivery do MeuPedido, da mais recente para a mais antiga.
Toda mudança visível para integradores entra aqui, da mais recente para a mais antiga. Mudanças que quebram compatibilidade são anunciadas com antecedência e marcadas como tal.
19 de setembro de 2026
Buscar pedido responde 404 para id desconhecido
GET /v1/orders/{orderId} com um GUID que não existe, ou que pertence a outra loja, responde 404 com { "error": "order_not_found", "message": "..." }, o mesmo corpo das ações. Antes, um id inexistente respondia 500, e uma integração que seguia a orientação de repetir 500 com backoff ficava em loop num pedido que nunca ia existir.
Endpoint de token: limite de corpo e bloqueio só do segredo errado
POST /oauth/token passa a recusar corpos acima de 4 KB com 413 e { "error": "invalid_request", "error_description": "..." }. O limite de 10 falhas por minuto por credencial agora vale apenas para o segredo errado: o segredo correto continua emitindo token mesmo enquanto outra origem tenta o segredo errado da mesma credencial, então conhecer um client_id não basta para derrubar a integração de ninguém. A tabela de erros do endpoint de token documenta o formato real do RFC 6749 (error_description).
Lançamento do portal do desenvolvedor
Este portal, em developer.meupedido.io, passa a ser a documentação oficial da API Open Delivery do MeuPedido: guias, referência de API gerada da especificação OpenAPI, changelog e versões em Markdown de cada página para agentes de IA (/llms.txt, /llms-full.txt e .md por página).
Rota de polling no formato do padrão
GET /v1/events:polling é agora o caminho oficial de consulta de eventos, como o Open Delivery 1.4.0 define. O caminho anterior, /v1/events/:polling, continua funcionando como alias e não será removido sem aviso, mas não deve ser usado em integrações novas.
Token aceita JSON e HTTP Basic
POST /oauth/token passa a aceitar, além do formulário application/x-www-form-urlencoded, o corpo em application/json (com nomes em snake_case ou camelCase) e a credencial em Authorization: Basic. A resposta traz cada campo em snake_case e em camelCase (access_token e accessToken, expires_in e expiresIn). Veja Autenticação.
Datas em UTC com sufixo Z
Todos os campos de data e hora da API (createdAt, preparationStartDateTime, estimatedDeliveryDateTime, scheduledDateTimeStart e os demais) saem em ISO 8601 com o sufixo Z. Clientes que já liam as datas como UTC não precisam mudar nada; clientes que interpretavam as datas no fuso local passam a ler o valor correto.
Campo preparationStartDateTime no pedido
O pedido ganha preparationStartDateTime: igual a createdAt em pedidos INSTANT e igual a schedule.scheduledDateTimeStart em pedidos SCHEDULED. É o campo do padrão para saber quando a cozinha deve começar.
CORS para o portal
A API libera CORS exclusivamente para https://developer.meupedido.io, o que permite o playground das páginas de documentação chamar a API a partir do navegador. Nenhuma outra origem é aceita; integrações continuam servidor a servidor.
Próximos passos
- Compatibilidade: o que está implementado do Open Delivery 1.4.0 e o que ainda não está.
- Referência de API: endpoints, campos e erros.