Changelog¶
Historico de versoes do Open Delivery Protocol.
Como ler este changelog¶
Este changelog esta organizado por capability/modulo para facilitar implementacao e migracao.
Legenda usada:
- Breaking: exige ajuste de contrato ou comportamento.
- Novo: capability ou bloco funcional novo na V2.
- Melhoria: esclarecimento, reforco normativo ou evolucao sem quebra direta de contrato.
V2.0.0-rc - Julho 2026¶
Primeira versao Release Candidate da V2. Esta release abre fase de validacao com o ecossistema; a V1 continua ativa durante a transicao.
Status: validacao com o ecossistema¶
A publicacao do RC inicia um periodo de validacao, nao a release estavel. Nesta fase:
- Revisao - empresas e implementadores revisam a documentacao (guia, protocolo e especificacoes da API).
- Piloto - algumas empresas implementam trechos da especificacao em ambientes controlados e validam fluxos reais.
- Feedback - ajustes e esclarecimentos podem ser incorporados com base nos resultados da revisao e dos pilotos.
- Release - somente apos essa validacao a V2 sera promovida a versao estavel.
Ate la, a V1 permanece ativa e continua sendo referencia para integracoes em producao.
Mudancas por capability¶
Discovery¶
- Melhoria:
/.well-known/opendeliverypassa a ser obrigatorio para declarar capabilities, versoes e modos de integracao antes da ativacao da integracao.
Referencias: Protocolo Discovery · API Discovery
Authentication¶
- Breaking: autenticacao por aplicacao, com um
client_idpor software (nao por loja). - Melhoria: padronizacao de escopos por dominio (
od.orders,od.menu,od.logistics,od.crm,od.all). - Melhoria:
Authorization Code Flowsuportado opcionalmente para casos avancados.
Referencias: Protocolo Authentication · API Authentication
Merchant¶
- Breaking:
merchantIdpassa a ser gerado pelo originador; PDV usaexternalCodepara correlacao interna. - Breaking:
merchantTyperemovido. - Breaking: servicos passam a ser identificados por tipo (
DELIVERY,TAKEOUT,INDOOR), sem id separado. - Breaking: shape de
Servicefoi simplificado (semidde service; foco emtype+status;operatingHoursno lugar do modelo antigo de horarios). - Breaking: endpoints legados de onboarding/status da V1 (
/v1/merchantOnboarding,/v1/merchantStatus) deixam de compor o contrato normativo de Merchant V2. - Melhoria: pausa por servico explicita no modelo da capability.
- Melhoria: bootstrap e reconciliacao de catalogo por
GET .../snapshot;merchantUpdate/menuUpdateddeixa de ser caminho central.
Referencias: Protocolo Merchant · API Merchant
Menu (modulo dentro da capability Merchant)¶
- Breaking: fim do webhook monolitico
merchantUpdateda V1. - Breaking: adocao de CRUD granular por entidade de catalogo.
- Breaking:
subtotalem opcionais removido; usaroption_price(obrigatorio) eunity_price. - Melhoria: opcionais recursivos com OptionGroups aninhados.
- Melhoria:
quantity_availableem ItemOffer para disponibilidade operacional.
Referencias: Protocolo Menu · API Merchant
Orders¶
- Breaking: handshake de cancelamento do originador (
ORDER_CANCELLATION_REQUEST+ accept/deny) removido; cancelamento mandatorio viaCANCELLED. - Breaking: evento
PICKED_UPremovido. - Breaking:
Order.typeremovido da raiz; perfil passa paraOrder.fulfillment.orderType. - Breaking:
Order.delivery,Order.takeouteOrder.indoormovidos paraOrder.fulfillment.*. - Breaking: bloco de tempo foi unificado em
Order.timing(orderTiming,schedule,preparationStartDateTime,orderPriority) eschedulepassa a ser obrigatorio quandoorderTiming = SCHEDULED. - Breaking: campos de preco de item/opcao foram agrupados em
pricingdentro deOrder.items[*]eOrder.items[*].options[*], mantendo formato da V1 (Price { value, currency }). - Breaking:
subtotalPricefoi removido de item e opcao em Orders V2. - Breaking:
Order.statusvira campo autoritativo emGET /orders/{id}. - Breaking: para pedidos
DELIVERY,Order.customerpassa a ser obrigatorio no payload. - Novo: metadados de origem no pedido com
Order.context.salesChannele observacoes gerais emOrder.observations. - Novo:
Order.items[*].itemOfferId,Order.items[*].options[*].defaultQuantitye suporte a opcoes aninhadas (Order.items[*].options[*].options). - Novo: dados opcionais de CRM/Loyalty em cliente (
Order.customer.birthDateeOrder.customer.gender). - Melhoria: separacao explicita entre status e eventos.
- Melhoria: repeticao de operacao ja aplicada segue padrao async com
202 Accepted(sem transicao adicional).
Referencias: Protocolo Orders · API Orders · Convencoes
Logistics¶
- Melhoria: consolidacao de semantica async-first (
202 Accepted) para operacoes de ciclo de vida na integracao de entrega. - Melhoria: alinhamento com discovery para modos de acompanhamento (push/pull) no contexto de rastreio.
Referencias: Protocolo Logistics · API Logistics
Customer¶
- Novo: capability de dados de cliente, leads e reviews na V2.
Referencias: Protocolo Customer · API Customer
Loyalty¶
- Novo: capability/modulo de loyalty (pontos, cashback, cupons e recompensas), dentro do dominio de CRM/Customer.
Referencias: Protocolo Loyalty
Indoor¶
- Novo: capability de operacoes de salao (mesa, comanda e balcao), com conta central e comportamento assincrono.
Referencias: Protocolo Indoor · API Indoor
Mudancas transversais¶
- Melhoria: modelo V2 reforca integracao assincrona como padrao (
202 Acceptedpara mutacoes). - Melhoria: separacao mais nitida entre narrativa de dominio (Protocolo) e contrato implementavel (API Spec).
V1.7.0¶
A V1 permanece ativa durante a transicao.
Para diferencas e migracao, consulte: Guia de Migracao V1->V2.