MeuPedido/developer

Visão geral

O que é a API Open Delivery do MeuPedido, para quem ela serve e por onde começar.

A API Open Delivery do MeuPedido entrega ao seu sistema, em tempo real, os pedidos que chegam às lojas que usam o MeuPedido, e recebe de volta cada avanço de status até a conclusão. Ela segue o padrão Open Delivery 1.4.0 da Abrasel, módulos Order e Merchant, com o MeuPedido no papel de aplicação de pedidos.

Se você mantém um ERP, PDV, KDS, sistema de gestão de entregas ou qualquer software que precisa saber o que a loja vendeu, é aqui que você conecta.

URL base
https://api.meupedido.io/open-delivery

O que a API faz

CapacidadeComoEscopo
Receber pedidos novos e mudanças de statusPolling em GET /v1/events:polling ou webhook na sua URLorders:read
Ler um pedido completoGET /v1/orders/{orderId}orders:read
Avançar o pedido (confirmar, preparar, despachar, concluir, cancelar)POST /v1/orders/{orderId}/confirm e as demais açõesorders:write
Ler os dados da lojaGET /v1/merchant/{merchantId}merchant:read
Ler o cardápioGET /v1/merchant/{merchantId}/menuscatalog:read

Tudo é autenticado com OAuth 2.0 client credentials. Uma credencial dá acesso a exatamente uma loja; para integrar cinco lojas, o lojista de cada uma gera uma credencial e você guarda cinco pares de client_id e client_secret.

Como a integração funciona

  1. 01

    Lojista

    Credencial na loja

    No painel, em Integrações > Open Delivery, o lojista concede acesso ao seu sistema: nome, escopos e modo de entrega. O client_id e o segredo aparecem uma única vez.

    client_id mp_…
  2. 02

    Seu sistema

    Token

    Troque client_id e client_secret por um JWT. Ele vale 3600 s e serve para toda a API; quando receber 401, peça outro no mesmo endpoint.

    POST /oauth/token
  3. 03

    MeuPedido

    Receber eventos

    Cada mudança do pedido vira um evento com o link do pedido completo. Consulte por polling ou receba por webhook; o envelope é o mesmo.

    GET /v1/events:polling
  4. 04

    Seu sistema

    Confirmar o pedido

    Confirme os eventos recebidos (acknowledgment) e avance o pedido conforme a operação: confirm, readyForPickup, dispatch, delivered.

    POST /v1/orders/{id}/confirm
  1. O lojista concede acesso. No painel do MeuPedido, em Integrações > Open Delivery, ele cria uma credencial para o seu sistema e escolhe os escopos e o modo de entrega.
  2. Seu sistema pede um token. POST /oauth/token com client_id e client_secret devolve um JWT válido por 3600 segundos.
  3. Seu sistema recebe eventos. Cada pedido criado, confirmado, despachado ou cancelado vira um evento. Você consulta por polling, recebe por webhook, ou os dois.
  4. Seu sistema responde com ações. Ao confirmar o pedido no seu lado, chame confirm; ao despachar, dispatch; e assim até delivered ou pickedUp.

A leitura completa desse fluxo está em Como funciona.

Sem sandbox, com loja de teste

Não existe um ambiente separado de homologação. O suporte cria uma loja de teste em produção para você: ela se comporta como qualquer loja, mas todo pedido sai com "test": true, e você mesmo gera pedidos pelo cardápio digital dela. Veja Loja de teste.

Duas formas de receber eventos

Nos dois casos, o evento só sai do feed quando você chama POST /v1/events/acknowledgment. Receber por webhook não confirma o evento.

Além do padrão

O MeuPedido emite alguns eventos e aceita algumas ações que o Open Delivery 1.4.0 não prevê, como PREPARING, MODIFIED e a família COURIER_* de rastreio do entregador. Eles aparecem nesta documentação com o selo Extensão MeuPedido. Se o seu sistema já fala Open Delivery, pode ignorá-los sem prejuízo. A lista completa do que está e do que ainda não está implementado fica em Compatibilidade.

Por onde começar

Próximos passos

Nesta página