Introdução

A integração com a API do parceiro foi desenvolvida para simplificar e automatizar o processo de incorporação de pedidos provenientes de marketplaces de delivery, além de pedidos de mesa e comandas. Essa funcionalidade permite que parceiros interessados em integrar seus pedidos possam desenvolver ou atualizar suas APIs, facilitando a comunicação direta com o sistema Consumer.

Atualmente, o Consumer oferece suporte para a integração de três eventos principais.

  • Consulta de eventos: Esta função de polling permite ao Consumer verificar os eventos de venda disponíveis na API do parceiro.
  • Consulta de detalhes do pedido: Com base no ID do pedido, esta função possibilita a consulta à API do parceiro para obter todos os detalhes específicos de um pedido, incluindo informações sobre pagamento, produtos, clientes, e outros dados relevantes.
  • Envio de atualização de status do pedido: O Consumer comunica à API do parceiro todas as atualizações de status, como confirmação, cancelamento, saída para entrega, e conclusão do pedido.Nesta documentação, você encontrará informações detalhadas sobre cada função que o parceiro deve implementar para integrar seus pedidos ao Consumer de forma eficaz. Serão abordados os parâmetros de entrada, as respostas esperadas e exemplos práticos de uso.

O que é necessário para realizar a integração?

Para realizar a integração com o sistema Consumer, a empresa parceira precisa desenvolver uma API que siga as especificações descritas neste manual. Essa API permitirá que o Consumer consulte os eventos de pedidos diretamente na API do parceiro e troque informações de maneira eficiente e segura.

Os parceiros devem garantir que sua API esteja configurada para atender às três funcionalidades principais de integração listadas acima.

Ciclo de Vida do Pedido

A integração é orientada por eventos, o que significa que um pedido pode passar por diversos eventos ao longo de seu ciclo de vida. Abaixo, você encontrará um diagrama ilustrando os possíveis status de um pedido.

 

Fluxo de Integração



 

Endpoint de Polling

O endpoint de polling permite que o Consumer consulte regularmente a API do parceiro para verificar a existência de novos pedidos, o Consumer vai realizar requisições periódicas ao endpoint de polling da API do parceiro.

Esse endpoint deve retornar código 200, com as informações iniciais do pedido.

Exemplo:

{
  "items": [
    {
      "id": "1b51b42a-f24d-4010-92b2-80bde30b6eb2",
      "orderId": "e1f4e4fa-58dd-4d76-9d19-e8a00d47f905",
      "createdAt": "2024-08-21T16:36:23.9733003Z",
      "fullCode": "PLACED",
      "code": "PLC"
    }
  ],
  "statusCode": 0,
  "reasonPhrase": null
}

 

Endpoint de detalhes do pedido

O endpoint de detalhes do pedido permite que o Consumer tenha acesso às informações completas de um pedido específico. Antes de confirmar ou cancelar um pedido, o Consumer consulta esses detalhes para exibi-los ao cliente e, em seguida, realizar o atendimento. Para pedidos delivery isso garante que todos os itens estejam disponíveis em estoque e que a entrega possa ser efetuada no endereço do cliente.

Esse endpoint deve retornar um código 200, acompanhado de todas as informações detalhadas do pedido.

Exemplo:

{
  "item": {
    "benefits": null,
    "orderType": "DELIVERY",
    "payments": {
      "methods": [
        {
          "method": "CREDIT",
          "prepaid": false,
          "currency": "BRL",
          "type": "OFFLINE",
          "value": 51.97,
          "cash": null,
          "card": {
            "brand": "AMEX"
          },
          "wallet": null
        }
      ],
      "pending": 51.97,
      "prepaid": 0
    },
    "merchant": {
      "name": "Teste - Consumer Soluções em Tecnologia Ltda",
      "id": "2eff44c8-ff06-4507-8233-e3f72c4e59af"
    },
    "salesChannel": "PARTNER",
    "picking": null,
    "orderTiming": "IMMEDIATE",
    "createdAt": "2024-08-21T18:03:48.4556777Z",
    "total": {
      "benefits": 0,
      "deliveryFee": 3.99,
      "orderAmount": 51.97,
      "subTotal": 47.98,
      "additionalFees": 0
    },
    "preparationStartDateTime": "2024-08-21T18:03:48.4556777Z",
    "id": "cfa5ed42-9bab-4f5e-bac3-83b9a7b3a738",
    "displayId": "8078",
    "items": [
      {
        "unitPrice": 22,
        "quantity": 2,
        "externalCode": "112",
        "totalPrice": 44,
        "index": 1,
        "unit": "UN",
        "ean": null,
        "price": 44,
        "observations": "Observação produto principal",
        "imageUrl": "https://seusite.com.br/image/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
        "name": "Alabama Apimentado",
        "options": null,
        "id": "66f40253-7dfe-4f12-a742-e4f25293f968",
        "uniqueId": "75b55fd4-ee09-4ccb-946a-8f441d89d970",
        "optionsPrice": 0,
        "addition": 0,
        "scalePrices": null
      },
      {
        "unitPrice": 30,
        "quantity": 1,
        "externalCode": "107",
        "totalPrice": 30,
        "index": 2,
        "unit": "UN",
        "ean": null,
        "price": 30,
        "observations": "Observação produto principal",
        "imageUrl": "https://seusite.com.br/image/upload/t_high/pratos/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
        "name": "Alabama Filé (exemplo perguntas)",
        "options": [
          {
            "unitPrice": 0,
            "unit": "UN",
            "ean": null,
            "quantity": 1,
            "externalCode": "WO",
            "price": 0,
            "name": "Ao Ponto",
            "index": 0,
            "id": "84a6cd76-8b02-4c70-ae4f-b4590672d50c",
            "addition": 0
          },
          {
            "unitPrice": 3.5,
            "unit": "UN",
            "ean": null,
            "quantity": 2,
            "externalCode": "7",
            "price": 3.5,
            "name": "Bacon",
            "index": 0,
            "id": "d94cd118-e3e8-45ee-a01a-ed66b583af2e",
            "addition": 0
          }
        ],
        "id": "393140e8-adce-4cb5-9e27-1cd5ec41adad",
        "uniqueId": "f900907b-e51c-4d8d-829b-36a0a137f689",
        "optionsPrice": 36,
        "addition": 0,
        "scalePrices": null
      }
    ],
    "customer": {
      "phone": {
        "number": "0800 012 3456",
        "localizer": "54639728",
        "localizerExpiration": "2024-08-21T19:03:48.4556777Z"
      },
      "documentNumber": null,
      "name": "PEDIDO DE TESTE - Fulano de Tal",
      "ordersCountOnMerchant": null,
      "id": "910a258a-bcd3-4564-a62b-d29c61c94985",
      "segmentation": "Cliente"
    },
    "extraInfo": null,
    "additionalFees": null,
    "delivery": {
      "mode": "DEFAULT",
      "pickupCode": "1492",
      "deliveredBy": "Partner",
      "deliveryAddress": {
        "reference": "TESTE",
        "country": "XX",
        "streetName": "Rua TESTE",
        "formattedAddress": "Rua TESTE, 999999",
        "streetNumber": "999999",
        "city": "TESTE",
        "postalCode": "99999999",
        "coordinates": {
          "latitude": 0,
          "longitude": 0
        },
        "neighborhood": "Bairro TESTE",
        "state": "XX",
        "complement": "Complemento TESTE"
      },
      "deliveryDateTime": "2024-08-21T18:03:48.4556777Z",
      "observations": null
    },
    "schedule": null,
    "indoor": null,
    "takeout": null,
    "additionalInfometadata": null
  },
  "statusCode": 0,
  "reasonPhrase": null
}

 

Endpoint de alteração de status do pedido

Após obter os detalhes do pedido e exibir as informações na tela, o Consumer permite que o usuário tome uma decisão: confirmar ou cancelar o pedido.

Depois que o usuário decide, o Consumer deve enviar a alteração de status correspondente para a API do parceiro.

Os status possíveis incluem:

  • Confirmado: O pedido foi confirmado pelo usuário.
  • Cancelado: O pedido foi cancelado pelo usuário.
  • Pronto para Retirada: O pedido está pronto para ser retirado pelo cliente.
  • Saiu para Entrega: O pedido foi despachado para entrega no endereço do cliente.
  • Finalizado: O pedido foi concluído com sucesso.

Esses status são enviados para a API do parceiro para refletir o progresso do pedido em tempo real.

Request body

{
  "orderId": "cfa5ed42-9bab-4f5e-bac3-83b9a7b3a738",
  "status": "CONCLUDED",
  "justification": "Pedido finalizado"
}

Response body

{
  "statusCode": 0,
  "reasonPhrase": "cfa5ed42-9bab-4f5e-bac3-83b9a7b3a738 alterado para 'CONCLUDED': Pedido finalizado."
}

 

Integração dos produtos do pedido

Para garantir uma integração correta dos itens do pedido no Consumer, o primeiro passo essencial é assegurar o preenchimento dos códigos de PDV na plataforma do parceiro.

A API do parceiro deve retornar o código PDV de cada produto ou complemento do pedido no “externalCode“, permitindo que o Consumer identifique claramente todos os itens contidos nele.

O Consumer simplifica esse processo, exibindo os códigos de maneira intuitiva e acessível, facilitando a integração e a gestão dos itens.

 

Para visualizar o código PDV de cada produto, acesse o menu:

PRODUTOS → PRODUTOS

 

Para produtos por tamanho marque a opção “Detalhar todos os tamanhos”.

Nessa tela é possível identificar o código PDV de todos os produtos, e caso necessário exportar para um arquivo “.xls”.

 

Para visualizar o código PDV de cada complemento, acesse o menu:

PRODUTOS → COMPLEMENTOS

 

Também é possível visualizar e exportar toda a lista de códigos acessando o menu:

APPS → Pedidos Online → Exportar Cardápio

 

A seguir, apresentamos alguns exemplos com diferentes tipos de produtos:

Produto simples

{
    ...
    "items": [
        {
            "unitPrice": 22,
            "quantity": 2,
            "externalCode": "112",
            "totalPrice": 44,
            "index": 1,
            "unit": "UN",
            "ean": null,
            "price": 44,
            "observations": "Observação produto principal",
            "imageUrl": "https://seusite.com.br/image/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
            "name": "Alabama Apimentado",
            "options": null,
            "id": "31223e2c-c8a4-4018-b7fc-e765b9efaf4e",
            "uniqueId": "110d3f32-0359-4ea5-bc7e-05b0ef72e513",
            "optionsPrice": 0,
            "addition": 0,
            "scalePrices": null
        }
    ]
    ...
}

 

Produto com complementos e observações como opções

{
    ...
    "items": [
        {
            "unitPrice": 30,
            "quantity": 1,
            "externalCode": "107",
            "totalPrice": 30,
            "index": 2,
            "unit": "UN",
            "ean": null,
            "price": 30,
            "observations": "Observação produto principal",
            "imageUrl": "https://seusite.com.br/image/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
            "name": "Alabama Filé (exemplo perguntas)",
            "options": [
                {
                    "unitPrice": 0,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "WO",
                    "price": 0,
                    "name": "Ao Ponto",
                    "index": 0,
                    "id": "7ff678cc-7ef0-45b2-b21f-7e90e0b068aa",
                    "addition": 0
                },
                {
                    "unitPrice": 0,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "WO",
                    "price": 0,
                    "name": "Maionese Temperada",
                    "index": 0,
                    "id": "dcf7576c-bcc1-431b-bd3b-10594fbde0b1",
                    "addition": 0
                },
                {
                    "unitPrice": 0,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "WO",
                    "price": 0,
                    "name": "Sim, quero ketchup",
                    "index": 0,
                    "id": "1b9364ec-dbe6-4c48-a2fb-f4325307a06c",
                    "addition": 0
                },
                {
                    "unitPrice": 3.5,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 2,
                    "externalCode": "7",
                    "price": 3.5,
                    "name": "Bacon",
                    "index": 0,
                    "id": "d7b6ebff-c40f-44e8-9834-05a534457c71",
                    "addition": 0
                },
                {
                    "unitPrice": 0.5,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "142",
                    "price": 0.5,
                    "name": "Alface",
                    "index": 0,
                    "id": "b99db576-170e-49f4-9975-e5f30901c327",
                    "addition": 0
                }
            ],
            "id": "ae64778e-8315-40e9-890b-30a1003f785b",
            "uniqueId": "86cc8c5e-8d04-43c3-9987-9be1171e59fe",
            "optionsPrice": 36,
            "addition": 0,
            "scalePrices": null
        }
    ]
    ...
}

 

Produto com complementos, observações e outros produtos como opções

{
    ...
    "items": [
        {
            "unitPrice": 35,
            "quantity": 1,
            "externalCode": "110",
            "totalPrice": 35,
            "index": 2,
            "unit": "UN",
            "ean": null,
            "price": 35,
            "observations": "Observação produto principal",
            "imageUrl": "https://seusite.com.br/image/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
            "name": "Alabama Bacon Duplo",
            "options": [
                {
                    "unitPrice": 0,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "WO",
                    "price": 0,
                    "name": "Ao Ponto",
                    "index": 0,
                    "id": "784f1edc-c54d-404f-aade-3dd92131695a",
                    "addition": 0
                },
                {
                    "unitPrice": 0,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "WO",
                    "price": 0,
                    "name": "Maionese Temperada",
                    "index": 0,
                    "id": "31b31dc1-8c1b-4564-afef-e820de4acea8",
                    "addition": 0
                },
                {
                    "unitPrice": 3.5,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 2,
                    "externalCode": "7",
                    "price": 3.5,
                    "name": "Bacon",
                    "index": 0,
                    "id": "3722d2f3-d15e-4388-a0ab-01ef4a99ae35",
                    "addition": 0
                },
                {
                    "unitPrice": 0.5,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "143",
                    "price": 0.5,
                    "name": "Cebola",
                    "index": 0,
                    "id": "3cb78b64-8914-4338-82a9-60a2e9d01598",
                    "addition": 0
                },
                {
                    "unitPrice": 5,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "114",
                    "price": 5,
                    "name": "Coca-Cola 350ml",
                    "index": 0,
                    "id": "08ec8e17-3e6c-4a55-9287-27e02951fa67",
                    "addition": 0
                },
                {
                    "unitPrice": 0,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "WO",
                    "price": 0,
                    "name": "Copo com limão e gelo",
                    "index": 0,
                    "id": "c0fd1a19-534b-47b7-996c-4f595f427b61",
                    "addition": 0
                },
                {
                    "unitPrice": 15,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "113",
                    "price": 15,
                    "name": "Batata Frita Tradicional",
                    "index": 0,
                    "id": "29579ed7-6986-4b63-8311-474f6efa597e",
                    "addition": 0
                },
                {
                    "unitPrice": 0,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "WO",
                    "price": 0,
                    "name": "Dividir a porção em dois",
                    "index": 0,
                    "id": "700ec387-9163-4103-a3e2-3e47e1c3340f",
                    "addition": 0
                },
                {
                    "unitPrice": 7,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "7",
                    "price": 7,
                    "name": "Bacon",
                    "index": 0,
                    "id": "39c7cf96-a2fb-4ff5-a451-1b5082928b03",
                    "addition": 0
                }
            ],
            "id": "bf052fec-8f29-42c0-a863-d711c94a2dfa",
            "uniqueId": "2d693a11-daa6-472e-a6bf-2a1b8597f0b9",
            "optionsPrice": 36,
            "addition": 0,
            "scalePrices": null
        }
    ]
    ...
}

 

Produto por tamanho com múltiplos sabores e com complementos

{
    ...
    "items": [
        {
            "unitPrice": 0,
            "quantity": 1,
            "externalCode": "T8",
            "totalPrice": 36,
            "index": 2,
            "unit": "UN",
            "ean": null,
            "price": 0,
            "observations": "Observação produto principal",
            "imageUrl": "https://seusite.com.br/image/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
            "name": "Pizza Grande",
            "options": [
                {
                    "unitPrice": 18,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "55",
                    "price": 18,
                    "name": "1/2 Calabresa",
                    "index": 3,
                    "id": "4727afa0-9542-4474-9aac-32bb4a353305",
                    "addition": 0.5
                },
                {
                    "unitPrice": 17.5,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "133",
                    "price": 18,
                    "name": "1/2 Baiana",
                    "index": 4,
                    "id": "f3acf9bd-4529-4d5d-b8e3-6cbb90d85556",
                    "addition": 0.5
                },
                {
                    "unitPrice": 5,
                    "unit": "UN",
                    "ean": null,
                    "quantity": 1,
                    "externalCode": "4",
                    "price": 5,
                    "name": "Borda Catupiry",
                    "index": 0,
                    "id": "7914333e-bf6c-4a70-a7eb-739c6306c061",
                    "addition": 0
                }
            ],
            "id": "46e8d008-21c9-4e3b-9722-13335abecbd7",
            "uniqueId": "58a97023-5c85-4136-b1ac-ca6c6235583a",
            "optionsPrice": 36,
            "addition": 0,
            "scalePrices": null
        }
    ]
    ...
}

 

Configuração no Consumer

Após a conclusão do desenvolvimento e da implementação dos endpoints por parte da empresa parceira, é necessário proceder com a configuração no Consumer. Para isso, solicitamos que o parceiro compartilhe o token de acesso e as URLs dos endpoints com o estabelecimento.

Com essas informações, basta seguir as orientações abaixo para ativar a integração.

Acesse o menu:

APPS → Pedidos Online → API do parceiro

 

Preencha todos os campos com as informações fornecidas pela empresa parceira, seguindo o exemplo abaixo:

Atenção: preencha o campo “token” com o token fornecido pelo parceiro para garantir a correta identificação da loja e uma integração segura e eficiente com a API do parceiro.

 

Após preencher e validar todas as informações, a opção para ativar a integração na fila de pedidos online estará disponível.

Acesse o menu:

APPS → Pedidos Online → Fila de Pedidos

 

Ative a fila de pedidos e o Consumer estará pronto para receber os pedidos do parceiro.

 

Após ativar a fila de pedidos online, os pedidos do parceiro serão integrados e exibidos para atendimento.

 

Para pedidos do tipo delivery, após atender o pedido ele será listado na tela de pedidos delivery

 

Para enviar as alterações de status dos pedidos delivery para a API do parceiro, basta selecionar o status desejado na tela do pedido, após isso o Consumer enviará automaticamente a atualização para a API do parceiro.

 

Pedidos para Mesas e Comandas

A integração também permite o envio de pedidos para mesas e comandas, oferecendo maior flexibilidade no gerenciamento de pedidos. Com esse tipo de pedido, é possível adicionar diferentes itens a uma mesa ou comanda em momentos distintos, conforme o cliente faz novos pedidos.

Essa funcionalidade permite um fluxo contínuo de pedidos até que o cliente decida encerrar sua conta e efetuar o pagamento.

Essa abordagem é ideal para estabelecimentos onde os clientes permanecem por períodos prolongados e fazem pedidos de forma gradual, como em refeições completas, encontros sociais, ou eventos.

Quando um pedido integrado for recebido, ele será exibido na fila de pedidos para atendimento. Após ser atendido, a mesa correspondente será aberta com os itens registrados.

 

Caso a mesa já esteja aberta, os itens enviados serão adicionados à mesa existente.

 

Para que o Consumer identifique corretamente os pedidos como mesas e comandas, o endpoint de detalhes do pedido deve retornar um código 200, juntamente com todas as informações detalhadas do pedido.

Exemplo:

{
	"item": {
	  "benefits": null,
	  "orderType": "INDOOR",
	  "payments": {
		"methods": [
		  {
			"method": "CREDIT",
			"prepaid": false,
			"currency": "BRL",
			"type": "OFFLINE",
			"value": 51.97,
			"cash": null,
			"card": {
			  "brand": "AMEX"
			},
			"wallet": null
		  }
		],
		"pending": 51.97,
		"prepaid": 0
	  },
	  "merchant": {
		"name": "Teste - Consumer Soluções em Tecnologia Ltda",
		"id": "2eff44c8-ff06-4507-8233-e3f72c4e59af"
	  },
	  "salesChannel": "PARTNER",
	  "picking": null,
	  "orderTiming": "IMMEDIATE",
	  "createdAt": "2024-08-27T14:37:05.0380282Z",
	  "total": {
		"benefits": 0,
		"deliveryFee": 3.99,
		"orderAmount": 51.97,
		"subTotal": 47.98,
		"additionalFees": 0
	  },
	  "preparationStartDateTime": "2024-08-27T14:37:05.0380282Z",
	  "id": "e52250f1-9161-49bf-b0df-b6ed884dbe3a",
	  "displayId": "8078",
	  "items": [
		{
		  "unitPrice": 22,
		  "quantity": 2,
		  "externalCode": "112",
		  "totalPrice": 44,
		  "index": 1,
		  "unit": "UN",
		  "ean": null,
		  "price": 44,
		  "observations": "Observação produto principal",
		  "imageUrl": "https://seusite.com.br/image/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
		  "name": "Alabama Apimentado",
		  "options": null,
		  "id": "a87245f8-1216-4183-bd5f-499a057684f5",
		  "uniqueId": "df26480a-78be-40f1-b978-25ea123b312a",
		  "optionsPrice": 0,
		  "addition": 0,
		  "scalePrices": null
		},
		{
		  "unitPrice": 30,
		  "quantity": 1,
		  "externalCode": "107",
		  "totalPrice": 30,
		  "index": 2,
		  "unit": "UN",
		  "ean": null,
		  "price": 30,
		  "observations": "Observação produto principal",
		  "imageUrl": "https://seusite.com.br/image/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
		  "name": "Alabama Filé (exemplo perguntas)",
		  "options": [
			{
			  "unitPrice": 0,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "WO",
			  "price": 0,
			  "name": "Ao Ponto",
			  "index": 0,
			  "id": "77f5cf34-c8cf-4b7e-b019-2b6d926b555b",
			  "addition": 0
			},
			{
			  "unitPrice": 0,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "WO",
			  "price": 0,
			  "name": "Maionese Temperada",
			  "index": 0,
			  "id": "f2c57623-55b6-4fda-aef5-8814c2f7b304",
			  "addition": 0
			},
			{
			  "unitPrice": 0,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "WO",
			  "price": 0,
			  "name": "Sim, quero ketchup",
			  "index": 0,
			  "id": "b8640571-9d9e-4736-9965-723507fbf68d",
			  "addition": 0
			},
			{
			  "unitPrice": 3.5,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 2,
			  "externalCode": "7",
			  "price": 3.5,
			  "name": "Bacon",
			  "index": 0,
			  "id": "b25e9f1d-59d2-4cf9-a0ed-cb8ff6ac5748",
			  "addition": 0
			},
			{
			  "unitPrice": 0.5,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "142",
			  "price": 0.5,
			  "name": "Alface",
			  "index": 0,
			  "id": "d6fd3f8e-b963-4cfe-af09-4b4b4f616fbf",
			  "addition": 0
			}
		  ],
		  "id": "5655c5cd-e9f5-4e97-9b8c-ecd77df260d7",
		  "uniqueId": "f7c5360e-f47d-4817-8583-327d8f0a5b01",
		  "optionsPrice": 36,
		  "addition": 0,
		  "scalePrices": null
		},
		{
		  "unitPrice": 35,
		  "quantity": 1,
		  "externalCode": "110",
		  "totalPrice": 35,
		  "index": 2,
		  "unit": "UN",
		  "ean": null,
		  "price": 35,
		  "observations": "Observação produto principal",
		  "imageUrl": "https://seusite.com.br/image/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
		  "name": "Alabama Bacon Duplo",
		  "options": [
			{
			  "unitPrice": 0,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "WO",
			  "price": 0,
			  "name": "Ao Ponto",
			  "index": 0,
			  "id": "1aa4681e-e703-438a-9e72-04b50362428d",
			  "addition": 0
			},
			{
			  "unitPrice": 0,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "WO",
			  "price": 0,
			  "name": "Maionese Temperada",
			  "index": 0,
			  "id": "d9695e06-01e3-4ed6-b754-9f0c3c67a650",
			  "addition": 0
			},
			{
			  "unitPrice": 3.5,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 2,
			  "externalCode": "7",
			  "price": 3.5,
			  "name": "Bacon",
			  "index": 0,
			  "id": "73159812-ecab-43fa-8dff-8af33b4aa490",
			  "addition": 0
			},
			{
			  "unitPrice": 0.5,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "143",
			  "price": 0.5,
			  "name": "Cebola",
			  "index": 0,
			  "id": "630d2f3a-b789-48ad-a46e-08a0846caefa",
			  "addition": 0
			},
			{
			  "unitPrice": 5,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "114",
			  "price": 5,
			  "name": "Coca-Cola 350ml",
			  "index": 0,
			  "id": "c2d63ae6-41e8-463b-8725-a01c0be8ee0f",
			  "addition": 0
			},
			{
			  "unitPrice": 0,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "WO",
			  "price": 0,
			  "name": "Copo com limão e gelo",
			  "index": 0,
			  "id": "1cb6e99a-c71d-4792-b2c1-bfe7c263f4c9",
			  "addition": 0
			},
			{
			  "unitPrice": 15,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "113",
			  "price": 15,
			  "name": "Batata Frita Tradicional",
			  "index": 0,
			  "id": "ef735556-9c48-40d4-9d06-c9d52cab749a",
			  "addition": 0
			},
			{
			  "unitPrice": 0,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "WO",
			  "price": 0,
			  "name": "Dividir a porção em dois",
			  "index": 0,
			  "id": "2bcff611-7128-40a1-b4b9-5ecdc21999d1",
			  "addition": 0
			},
			{
			  "unitPrice": 7,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "7",
			  "price": 7,
			  "name": "Bacon",
			  "index": 0,
			  "id": "77aef948-42e4-4012-bf89-4454c641352a",
			  "addition": 0
			}
		  ],
		  "id": "3ea96bb2-8108-4956-90a8-6bb1501aaef1",
		  "uniqueId": "61cf3934-84b8-4b63-8ee9-527f4864e757",
		  "optionsPrice": 36,
		  "addition": 0,
		  "scalePrices": null
		},
		{
		  "unitPrice": 0,
		  "quantity": 1,
		  "externalCode": "T8",
		  "totalPrice": 36,
		  "index": 2,
		  "unit": "UN",
		  "ean": null,
		  "price": 0,
		  "observations": "Observação produto principal",
		  "imageUrl": "https://seusite.com.br/image/e078d2e1-0af0-49c3-ba0d-ea4effffbd54/202305121137_XIHJ_i.jpg",
		  "name": "Pizza Grande",
		  "options": [
			{
			  "unitPrice": 18,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "55",
			  "price": 18,
			  "name": "Calabresa",
			  "index": 3,
			  "id": "01beb51a-5a3e-45d7-94ff-42d7fe4cbe59",
			  "addition": 0.5
			},
			{
			  "unitPrice": 17.5,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "133",
			  "price": 18,
			  "name": "Baiana",
			  "index": 4,
			  "id": "497b52b8-70d4-4fdf-8d9c-c7817bf14b39",
			  "addition": 0.5
			},
			{
			  "unitPrice": 5,
			  "unit": "UN",
			  "ean": null,
			  "quantity": 1,
			  "externalCode": "4",
			  "price": 5,
			  "name": "Borda Catupiry",
			  "index": 0,
			  "id": "e49f73fc-f2ab-4da1-bcda-b9b81e3f667b",
			  "addition": 0
			}
		  ],
		  "id": "c4c8ec59-1b23-4740-ab79-9526374ea121",
		  "uniqueId": "8bcee23c-70e9-4bf0-b598-cea393fa7dfb",
		  "optionsPrice": 36,
		  "addition": 0,
		  "scalePrices": null
		}
	  ],
	  "customer": {
		"phone": {
		  "number": "0800 012 3456",
		  "localizer": "54639728",
		  "localizerExpiration": "2024-08-27T15:37:05.0380282Z"
		},
		"documentNumber": null,
		"name": "PEDIDO DE TESTE - Fulano de Tal",
		"ordersCountOnMerchant": null,
		"id": "910a258a-bcd3-4564-a62b-d29c61c94985",
		"segmentation": "Cliente"
	  },
	  "extraInfo": null,
	  "additionalFees": null,
	  "delivery": null,
	  "schedule": null,
	  "indoor": {
		"mode": "TABLE",
		"deliveryDateTime": "2024-08-27T15:37:05.0380282Z",
		"table": "1",
		"observations": ""
	  },
	  "takeout": null,
	  "additionalInfometadata": null
	},
	"statusCode": 0,
	"reasonPhrase": null
  }

 

A estrutura geral mantém o mesmo formato de um pedido de delivery. No entanto, é necessário alterar o valor de “orderType” para “INDOOR” e preencher as informações no campo “indoor”.

Exemplos:

{
	...
	"item": {
		...
		"orderType": "INDOOR",
		...
	}
	...
}

 

Preenchimento das informações em “indoor”:

{
	"item": {
	  ...
	  "indoor": {
			"mode": "TABLE",
			"deliveryDateTime": "2024-08-27T15:37:05.0380282Z",
			"table": "1",
			"observations": ""
	  },
	  ...
	},
	...
}

 

Conclusão

A integração com o sistema Consumer oferece uma maneira eficiente e automatizada de gerenciar pedidos provenientes de parceiros, melhorando a comunicação e a experiência geral de nossos clientes. Ao seguir as diretrizes e especificações apresentadas neste manual, os parceiros poderão garantir que seus pedidos sejam corretamente incorporados e gerenciados no sistema Consumer.

Lembramos que é essencial testar todos os endpoints e fluxos de integração para assegurar a precisão dos dados e o funcionamento adequado dos processos de pedido e atualização de status.

Em caso de dúvidas ou necessidade de suporte durante a implementação, entre em contato com a equipe de suporte técnico do Consumer, que está à disposição para auxiliar.

E-mail para contato: [email protected]

Com uma integração bem-sucedida, os parceiros terão acesso a uma solução robusta e confiável, permitindo uma melhor gestão de pedidos e uma experiência aprimorada para seus clientes.

Este artigo foi útil para você?