Páginas filhas
  • API Order Cartão - Consumption

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

CONTEÚDO


01. VISÃO GERAL
Âncora
ver_geral
ver_geral

O endpoint Status da API Order Mesa é utilizado para envio do resultado da solicitação de consumo do pedido através do Ponto de Venda (PDV). Este endpoint recebe o mesmo corpo de requisição utilizado pelo endpoint GetConsumption -   API Order Mesa Cartão - Get Consumption


...

02. ENDPOINT
Âncora
endpoint
endpoint


MétodoURLAmbiente
POSThttps://api-barramento.meuelevestage.com/order/consumptionHomologação
POSThttps://api-barramento.meueleve.com/order/consumptionProdução


...

03. EXEMPLO DE UTILIZAÇÃO

...

Âncora
utilizar
utilizar


3.1. Request - Corpo da requisição para retornar o consumo específico:

Essa requisição é enviada para obter detalhes sobre o consumo de um pedido específico, retornando as informações relevantes do consumo solicitado. 01. O corpo da requisição enviada para retornar um consumos especifico é o seguinte:

Âncora
todos_status
todos_status

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
	    "success": true,
	    "error": null,
	    "integrationHubServiceId": "03a93e3166ca34be-1196a568-454b4444-b66fa78d-55b7b6364339098a68686e58",
	    "orderKeyType": "TABLECARD",
	    "orderKey": [
		"19"
	        "340"
    ],
	    "consumption": [
		{
			        {
            "orderId": "c5c1bf932160c838-d11297d0-4f4c432f-af3ba43a-450b39519e12dce087150d49",
			            "type": "TABLECARD",
			"createdAt": "2024-02-25 14:01:50",
			            "createdAt": "2024-09-09 14:57:36",
            "customerName": "TOTVS",
			            "items": [
				{
					"id": "5",
					"index": "331838",
					"name": "BRIGADEIRO COM BABA DE MOCA",
					"externalCode": "5",
					"unit": "UNIT",
					"ean": "",
					"quantity": 2,
					"specialInstructions                {
                    "id": "200",
                    "index": "20",
                    "name": "A FRANCESA",
                    "externalCode": "1",
                    "unit": "UNIT",
                    "ean": "",
					"unitPrice": {
						"value": 29.99,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						                    "quantity": 1,
                    "specialInstructions": "TESTE",
                    "unitPrice": {
                        "value": 69.9,
                        "currency": "R$"
					},
					"totalPrice": {
						                    },
                    "optionsPrice": {
                        "value": 30.2,
						0,
                        "currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				},
				{
					"id": "6",
					"index": "331839",
					"name": "BRIGADEIRO 2",
					"externalCode": "6",
					"unit": "UNIT",
					"ean": "",
					"quantity": 2,
					"specialInstructions": "",
					"unitPrice": {
						"value": 63,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 63.42,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				},
				{
					"id": "5",
					"index": "331841",
					"name": "BRIGADEIRO COM BABA DE MOCA",
					"externalCode": "5",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "",
					"unitPrice": {
						"value": 29.99,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 15.11,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				},
				{
					"id": "6",
					"index": "331842",
					"name": "BRIGADEIRO 2",
					"externalCode": "6",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "",
					"unitPrice": {
						"value": 63,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 31.7,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				}
			],
			"otherFees": [
				{
					"name": "Taxa de Serviço",
					"type": "SERVICE_FEE",
					"receivedBy": "MERCHANT",
					"receiverDocument": "",
					"price": {
						"value": 14.04,
						"currency": "R$"
					},
					"observation": ""
				}
			],
			"discounts": null,
			"total": {
				"items": 140.43,
				"otherFees": 14.04,
				"discount": 0,
				"orderAmount": 154.47
			},
			"delivery": null,
			"takeout": null,
			"indoor": null,
			"table": {
				"waiterCode": 9999,
				"tableNumber": 19,
				"chairNumber": 0
			},
			"card": null
		}
	]
}
Nota
titleNota: HTTP Status Code = 226 IM Used

A solicitação foi processada com sucesso e o resultado foi retornado conforme esperado.

...

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "03a93e31-1196-454b-b66f-55b7b6364339",
	"orderKeyType": "TABLE",
	"orderKey": [
		"06",
		"19"
	],
	"consumption": [
		{
			"orderId": "c5c1bf93-d112-4f4c-af3b-450b39519e12",
			"type": "TABLE",
			"createdAt": "2024-02-08 10:12:05",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "251",
					"index": "331811",
					"name": "TESTE MYTAPP",
					"externalCode": "251",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "",
					"unitPrice": {
						"value": 99.9,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 99.9,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "NENHUM"
						}
					]
				}
			],
			"otherFees": [
				{
					"name": "Taxa de Serviço",
					"type": "SERVICE_FEE",
					"receivedBy": "MERCHANT",
					"receiverDocument": "",
					"price": {
						"value": 9.99,
						"currency": "R$"
					},
					"observation": ""
				}
			],
			"discounts": null,
			"total": {
				"items": 99.9,
				"otherFees": 9.99,
				"discount": 0,
				"orderAmount": 109.89
			},
			"delivery": null,
			"takeout": null,
			"indoor": null,
			"table": {
				"waiterCode": 9999,
				"tableNumber": 6,
				"chairNumber": 0
			},
			"card": null
		},
		{
			"orderId": "644a4d3c-6d2c-4154-a089-c1ab3fd89151",
			"type": "TABLE",
			"createdAt": "2024-02-25 14:01:50",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "5",
					"index": "331838",
					"name": "BRIGADEIRO COM BABA DE MOCA",
					"externalCode": "5",
					"unit": "UNIT",
					"ean": "",
					"quantity": 2,
					"specialInstructions": "",
					"unitPrice": {
						"value": 29.99,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 30.2,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				},
				{
					"id": "6",
					"index": "331839",
					"name": "BRIGADEIRO 2",
					"externalCode": "6",
					"unit": "UNIT",
					"ean": "",
					"quantity": 2,
					"specialInstructions": "",
					"unitPrice": {
						"value": 63,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 63.42,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				},
				{
					"id": "5",
					"index": "331841",
					"name": "BRIGADEIRO COM BABA DE MOCA",
					"externalCode": "5",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "",
					"unitPrice": {
						"value": 29.99,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 15.11,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				},
				{
					"id": "6",
					"index": "331842",
					"name": "BRIGADEIRO 2",
					"externalCode": "6",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "",
					"unitPrice": {
						"value": 63,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 31.7,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				}
			],
			"otherFees": [
				{
					"name": "Taxa de Serviço",
					"type": "SERVICE_FEE",
					"receivedBy": "MERCHANT",
					"receiverDocument": "",
					"price": {
						"value": 14.04,
						"currency": "R$"
					},
					"observation": ""
				}
			],
			"discounts": null,
			"total": {
				"items": 140.43,
				"otherFees": 14.04,
				"discount": 0,
				"orderAmount": 154.47
			},
			"delivery": null,
			"takeout": null,
			"indoor": null,
			"table": {
				"waiterCode": 9999,
				"tableNumber": 19,
				"chairNumber": 0
			},
			"card": null
		}
	]
}
Dica
titleDica

O corpo da requisição enviada é o mesmo que o corpo da resposta obtida através do endpoint GetOrderStatus.

Informações
titleNota:

Neste exemplo, os dados retornados incluem:

  • success: Indica se a operação foi bem-sucedida.
  • error: Contém informações sobre erros, se houver.
  • integrationHubServiceId: O identificador do serviço de integração.
  • orderKeyType: O tipo da chave do pedido (neste caso, "TABLE").
  • orderKey: Uma lista de identificadores de pedidos.
  • consumption: Uma lista de consumos associados aos pedidos, onde cada consumo inclui:
    • orderId: O identificador do pedido.
    • type: O tipo de consumo (neste caso, "TABLE").
    • createdAt: Data e hora de criação do pedido.
    • customerName: Nome do cliente.
    • items: Uma lista de itens consumidos, onde cada item inclui:
      • id: O identificador do item.
      • index: O índice do item.
      • name: O nome do item.
      • externalCode: O código externo do item.
      • unit: A unidade do item.
      • ean: O código EAN do item (pode estar vazio).
      • quantity: A quantidade do item.
      • specialInstructions: Instruções especiais para o item.
      • unitPrice: O preço unitário do item.
      • optionsPrice: O preço das opções do item.
      • totalPrice: O preço total do item.
      • options: As opções do item (pode ser null).
      • productionPoint: Pontos de produção associados ao item.
    • otherFees: Outras taxas associadas ao pedido.
    • discounts: Descontos aplicados ao pedido (pode ser null).
    • total: Totais do pedido, incluindo valores de itens, outras taxas e descontos.
    • delivery: Informações sobre entrega (pode ser null).
    • takeout: Informações sobre retirada (pode ser null).
    • indoor: Informações sobre consumo no local (pode ser null).
    • table: Informações sobre a mesa, incluindo o código do garçom e o número da mesa.
    • card: Informações sobre o cartão (pode ser null).
Dica
titleDica

O corpo da requisição enviada é o mesmo que o corpo da resposta obtida através do endpoint GetConsumption.

Informações
titleInformação:

integrationHubServiceId: é um código da integração da loja com o Integration Hub

orderKey: é o código do pedido

04. ERROS

A seguir, alguns dos erros comuns que podem ser apresentados ao lidar com requisições HTTP e suas respectivas respostas:

...

                    },
                    "totalPrice": {
                        "value": 69.9,
                        "currency": "R$"
                    },
                    "options": null,
                    "productionPoint": [
                        {
                            "name": "COZINHA"
                        }
                    ]
                }
            ],
            "otherFees": [
                {
                    "name": "Taxa de Serviço",
                    "type": "SERVICE_FEE",
                    "receivedBy": "MERCHANT",
                    "receiverDocument": "",
                    "price": {
                        "value": 6.99,
                        "currency": "R$"
                    },
                    "observation": ""
                }
            ],
            "discounts": null,
            "total": {
                "items": 69.9,
                "otherFees": 6.99,
                "discount": 0,
                "orderAmount": 76.89
            },
            "delivery": null,
            "takeout": null,
            "indoor": null,
            "table": null,
            "card": {
                "waiterCode": 9999,
                "cardNumber": 340,
                "deliveryTableNumber": 340
            }
        }
    ]
}
Nota
titleNota: HTTP Status Code = 226 IM Used

A solicitação foi processada com sucesso e o resultado foi retornado conforme esperado.


...


3.2. Request - Corpo da requisição para obter o status de múltiplos pedidos:

Essa requisição é utilizada para consultar o status atualizado de vários pedidos simultaneamente, retornando as informações detalhadas de cada pedido solicitado.

Âncora
multiplos
multiplos

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
    "success": true,
    "error": null,
    "integrationHubServiceId": "66ca34be-a568-4444-a78d-098a68686e58",
    "orderKeyType": "CARD",
    "orderKey": [
        "340",
        "350"
    ],
    "consumption": [
        {
            "orderId": "2160c838-97d0-432f-a43a-dce087150d49",
            "type": "CARD",
            "createdAt": "2024-09-09 14:57:36",
            "customerName": "TOTVS",
            "items": [
                {
                    "id": "200",
                    "index": "20",
                    "name": "A FRANCESA",
                    "externalCode": "1",
                    "unit": "UNIT",
                    "ean": "",
                    "quantity": 1,
                    "specialInstructions": "TESTE",
                    "unitPrice": {
                        "value": 69.9,
                        "currency": "R$"
                    },
                    "optionsPrice": {
                        "value": 0,
                        "currency": "R$"
                    },
                    "totalPrice": {
                        "value": 69.9,
                        "currency": "R$"
                    },
                    "options": null,
                    "productionPoint": [
                        {
                            "name": "COZINHA"
                        }
                    ]
                }
            ],
            "otherFees": [
                {
                    "name": "Taxa de Serviço",
                    "type": "SERVICE_FEE",
                    "receivedBy": "MERCHANT",
                    "receiverDocument": "",
                    "price": {
                        "value": 6.99,
                        "currency": "R$"
                    },
                    "observation": ""
                }
            ],
            "discounts": null,
            "total": {
                "items": 69.9,
                "otherFees": 6.99,
                "discount": 0,
                "orderAmount": 76.89
            },
            "delivery": null,
            "takeout": null,
            "indoor": null,
            "table": null,
            "card": {
                "waiterCode": 9999,
                "cardNumber": 340,
                "deliveryTableNumber": 340
            }
        },
        {
            "orderId": "1fbcd589-1bbd-472c-a28d-6b1164282964",
            "type": "CARD",
            "createdAt": "2024-09-09 15:27:18",
            "customerName": "TOTVS",
            "items": [
                {
                    "id": "201",
                    "index": "201",
                    "name": "A FRANCESA",
                    "externalCode": "1",
                    "unit": "UNIT",
                    "ean": "",
                    "quantity": 1,
                    "specialInstructions": "TESTE",
                    "unitPrice": {
                        "value": 69.9,
                        "currency": "R$"
                    },
                    "optionsPrice": {
                        "value": 0,
                        "currency": "R$"
                    },
                    "totalPrice": {
                        "value": 69.9,
                        "currency": "R$"
                    },
                    "options": null,
                    "productionPoint": [
                        {
                            "name": "COZINHA"
                        }
                    ]
                }
            ],
            "otherFees": [
                {
                    "name": "Taxa de Serviço",
                    "type": "SERVICE_FEE",
                    "receivedBy": "MERCHANT",
                    "receiverDocument": "",
                    "price": {
                        "value": 6.99,
                        "currency": "R$"
                    },
                    "observation": ""
                }
            ],
            "discounts": null,
            "total": {
                "items": 69.9,
                "otherFees": 6.99,
                "discount": 0,
                "orderAmount": 76.89
            },
            "delivery": null,
            "takeout": null,
            "indoor": null,
            "table": null,
            "card": {
                "waiterCode": 9999,
                "cardNumber": 350,
                "deliveryTableNumber": 340
            }
        }
    ]
}
Nota
titleNota: HTTP Status Code = 226 IM Used

Consumo enviado com sucesso..

Dica
titleDica

O corpo da requisição enviada é o mesmo que o corpo da resposta obtida através do endpoint GetOrderStatus.


Dicionário da Request

O endpoint Consumption retorna informações sobre o consumo, utilizando o como corpo da requisição a resposta do status code 226 do endpoint API Order Mesa - Get Consumption.

O endpoint Consumption permite consultar os dados de consumo de uma mesa ou várias mesas. Ele retorna informações detalhadas sobre os itens pedidos, preços e outros dados relevantes, facilitando o gerenciamento dos consumos em ambientes de atendimento.


  • Estrutura OrderConsumption:
CampoValorDescrição
integrationHubServiceId *stringIdentificador único da integração
orderKeyType *enum Tipo de chave do pedido (veja na tabela orderKeyType)
orderKey *arrayChave do pedido correspondente 
success *booleanIndica se a operação foi bem-sucedida
consumptionsarrayDetalhes dos consumos relacionados ao pedido. (veja na tabela consumptios)
errorarrayo erro é necessário quando o sucesso é falso. (veja na tabela de error)


  • Estrutura Consumption (dentro de consumptions):
    Âncora
    table_consuptions
    table_consuptions
CampoValorDescrição
type *enumTipo do consumo (veja na tabela type)
createdAt *string (data e hora)Data e hora da criação do pedidos
customerName *stringNome do cliente
items *arrayItens do pedido (veja na tabela de items)
ortherFessarrayOutras taxas que podem ser aplicadas (veja na tabela otherFees)
discountsarrayQuaisquer descontos que possam ser aplicados (veja na tabela discounts)
total *arrayConjunto de campos com a soma dos valores descritos anteriormente no pedido (veja na tabela total)
deliveryarrayInformações para pedidos DELIVERY. OBRIGATÓRIO se o tipo escolhido for DELIVERY. (veja tabela delivery)
takeoutarrayInformações para pedidos TAKEOUT. OBRIGATÓRIO se o tipo escolhido for TAKEOUT (veja na tabela takeout)
tablearrayInformações para pedidos de TABLE. OBRIGATÓRIO se o tipo escolhido for TABLE (veja na tabela table)
cardarrayInformações para pedidos CARD. OBRIGATÓRIO se o tipo escolhido for CARTÃO (veja na tabela de card)


  • Estrutura Consumption (dentro de items):
    Âncora
    table_items
    table_items
CampoValorDescrição
id *stringIdentificador único do item
indexstringPosição do item (opcional)
name *stringNome do produto
externalCode *stringCódigo externo do produto (opcional)
unit *stringUnidade de medida do item. Utilize valores fracionários para quantidades menores que a unidade de medida: Exemplo: 500 gramas = 0,5 KG (veja na tabela unit)
eanstringCódigo de barras EAN do item (opcional)
quantity *numberQuantidade de itens
specialInstructionsstringInstruções especiais sobre o item (opcional)
unitPrice *arrayPreço por unidade, considerando 4 casas decimais (veja tabela de unitPrice)
originalPricearrayPreço original do produto. Este preço é meramente informativo e deve ser utilizado para informar o preço de um item antes de aplicar descontos no preço de tabela.
Descontos aplicados durante o pedido, como cupons e vouchers, não devem ser considerados aqui. Estes devem ser informados no objeto descontos.
ESTE PREÇO NÃO SERÁ CONSIDERADO PARA CÁLCULOS DE TOTAIS DO PEDIDO. (opcional) (veja tabela de originalPrice)
optionsPricearrayPreço total das opções (opcional) (veja tabela de optionsPrice)
totalPrice *numberPreço total do item (veja tabela de totalPrice)
optionsarrayExtras opcionais escolhidos pelo consumidor. (veja na tabela de options)
productionPoint *stringPonto de produção do produto


  • Estrutura Consumption - items (dentro de options):
    Âncora
    table_options
    table_options
CampoValorDescrição
indexstringPosição da opção (opcional)
id *stringIdentificador único da opção
name *stringNome da opção

externalCode *

stringCódigo do produto externo
unit *enumUnidade de medida da opção (veja na tabela unit)
eanstringEAN é o padrão de código de barras usado nos itens.
quantity *numberQuantidade de itens opcionais
unitPrice *arrayPreço por unidade, considerando 4 casas decimais (veja tabela de unitPrice).

originalPrice

arrayPreço original do produto (opcional) (veja tabela de originalPrice).
totalPrice *arrayPreço total da opção (veja tabela de totalPrice)
specialInstructionsstringInstruções especiais sobre a opção (opcional)
productionPoint *stringPonto de produção da opção (opcional)


  • Estrutura Consumption (dentro de otherFees):
    Âncora
    table_otherFees
    table_otherFees
CampoValorDescrição
name *stringNome relacionado às taxas
type *enumTipo da taxa (veja na tabela type)
receivedBy *enumPedido recebido por (veja na tabela receivedBy)
receiverDocumentstringDocumento do receptor de outras taxas
price *arrayPreço da taxa(veja tabela de price).
observationstringObservação de outras taxas. Quaisquer comentários extras


  • Estrutura Consumption (dentro de discounts):
    Âncora
    table_discounts
    table_discounts
CampoValorDescrição
value *numberValor do desconto
target *enumDestino do desconto (vejna na tabela de cart)
targetIdstring

Identificador do alvo (obrigatório quando target = ITEM).

sponsorshipValues *

arrayValores patrocinados por qualquer uma das partes. A soma dos valores listados neste atributo deverá corresponder ao valor informado no atributo valor acima (veja na tabela sponsorshipValues)


  • Estrutura Consumption (dentro de total):
    Âncora
    table_total
    table_total
CampoValorDescrição
items *numberSoma do preço total dos itens listados no atributo itens
otherFeesnumberSoma do valor total das demais taxas listadas no atributo otherFees. Se não houver, use 0
discountnumberSoma de quaisquer descontos que possam estar listados no atributo descontos. Se não houver, use 0
orderAmount *numberO valor final da encomenda (itens + outrasTaxas +Taxas adicionais +Taxa de entrega - descontos)
additionalFeesnumberSoma do valor total das taxas adicionais listadas no atributo adicionalFees. Se não houver, use 0
deliveryFeenumberSoma do valor total da taxa de entrega listada no atributo deliveryFee. Se não houver, use 0


  • Estrutura Consumption (dentro de delevery):
    Âncora
    table_delivery
    table_delivery
CampoValorDescrição

deliveredBy *

enumSolicitar entrega por (veja na tabela de deliveredBy)

deliveryAddress *

arrayO endereço onde o pedido será entregue (veja na tabela deliveryAddress)

estimatedDeliveryDateTime *

stringData e hora estimada de entrega. A mesma data mostrada ao cliente, na interface do Aplicativo de Pedidos

deliveryDateTime

stringData de entrega. A data e hora em que a entrega realmente ocorreu.



  • Estrutura Consumption (dentro de takeout):
    Âncora
    table_takeout
    table_takeout
CampoValorDescrição
mode *enumModo de pedido para viagem (veja na tabela mode)

takeoutDateTime *

stringData e hora em que o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedidos utilizando o tempo médio de preparo dos pratos. O padrão é o mesmo horário de criação do pedido


  • Estrutura Enumeração Consumption - takeout (dentro de mode):
    Âncora
    table_takeout_mode
    table_takeout_mode
CampoValorDescrição
DEFAULT*DEFAULTIndica que o pedido será retirado pelo cliente sem um local específico de coleta, ou seja, de maneira padrão no estabelecimento

PICKUP_AREA*

PICKUP_AREAIndica que o pedido será retirado em uma área de coleta designada dentro do estabelecimento


  • Estrutura Consumption (dentro de table):
    Âncora
    table_table
    table_table
CampoValorDescrição

waiterCode *

numberO identificador do garçom

tableNumber *

numberO identificador da tabela

chairNumber *

numberO identificador do presidente


  • Estrutura Consumption (dentro de card):
    Âncora
    table_card
    table_card
CampoValorDescrição

waiterCode *

numberO identificador do garçom

tableNumber *

numberO identificador da tabela

deliveryTableNumber *

numberO identificador da mesa


  • Estrutura Error:
    Âncora
    table_error
    table_error
CampoValorDescrição
code *string
Código de erro
message *string
Mensagem de erro


Tabela de auxiliares e enumerações

  • Estrutura Enumeração orderKeyType
    Âncora
    table_orderKeyType
    table_orderKeyType
EnumValorDescrição
TABLETABLEIdentifica o pedido pelo número da mesa
CARDCARDIdentifica o pedido pelo número do cartão
ORDER_IDORDER_IDIdentifica o pedido por um ID exclusivo


  • Estrutura Consumption (dentro de type):
    Âncora
    table_type
    table_type
CampoValorDescrição
valuenumberValor do preço
currencystringCódigo da moeda ISO 4217


  • Estrutura Enumeração Consumption - items (dentro de unit):
    Âncora
    table_unit
    table_unit
EnumValorDescrição
UNUNUnidade de medida simples
KGKGQuilograma
LLLitro
OZOZOnça
LBLBLibra
GALGALGalão


  • Estrutura Consumption - items (dentro de unitPrice):
    Âncora
    table_unitPrice
    table_unitPrice
CampoValorDescrição
value *numberValor do preço
currency *stringCódigo da moeda ISO 4217


  • Estrutura Consumption - items (dentro de originalPrice):
    Âncora
    table_originalPrice
    table_originalPrice
CampoValorDescrição
value *numberValor do preço
currency *stringCódigo da moeda ISO 4217


  • Estrutura Consumption - items (dentro de optionsPrice):
    Âncora
    table_optionsPrice
    table_optionsPrice
CampoValorDescrição
value *numberValor do preço
currency *stringCódigo da moeda ISO 4217


  • Estrutura Consumption - items (dentro de totalPrice):
    Âncora
    table_totalPrice
    table_totalPrice
CampoValorDescrição
value *numberValor do preço
currency *stringCódigo da moeda ISO 4217


  • Estrutura Enumeração Consumption - otherFees (dentro de type):
    Âncora
    table_OrderFeesType
    table_OrderFeesType
EnumValorDescrição
DELIVERY_FEEDELIVERY_FEETaxa de entrega
SERVICE_FEESERVICE_FEETaxa de serviço
TIPTIPGorjeta


  • Estrutura Enumeração Consumption - otherFees (dentro de receivedBy):
    Âncora
    table_receivedBy
    table_receivedBy
EnumValorDescrição
MARKETPLACEMARKETPLACEEntidade que recebeu o pedido é o marketplace
MERCHANTMERCHANTEntidade que recebeu o pedido é o comerciante
LOGISTIC_SERVICESLOGISTIC_SERVICESEntidade que recebeu o pedido é a logística


  • Estrutura Enumeração Consumption - delivery (dentro de deliveredBy):
    Âncora
    table_deliveredBy
    table_deliveredBy
EnumValorDescrição
MARKETPLACEMARKETPLACEEntidade responsável pela entrega é o marketplace
MERCHANTMERCHANTEntidade responsável pela entrega é o comerciante


  • Estrutura Consumption - otherFees (dentro de price):
    Âncora
    table_price
    table_price
CampoValorDescrição
value *numberValor do preço
currency *stringCódigo da moeda ISO 4217


  • Estrutura Enumeração Consumption - discounts(dentro de sponsorshipValues):
    Âncora
    table_sponsorshipValues
    table_sponsorshipValues
EnumValorDescrição
MARKETPLACEMARKETPLACEEntidade responsável pela entrega é o marketplace
MERCHANTMERCHANTEntidade responsável pela entrega é o comerciante


  • Estrutura Consumption - delivery (dentro de deliveryAddress):
    Âncora
    table_deliveryAddress
    table_deliveryAddress
CampoValorDescição

country *

stringTipo de pedido País do endereço de entrega. *Código de país ISO 3166-1 alfa-2 de duas letras.

state *

stringSubdivisão de estado ou país. É recomendado (mas não obrigatório) que você use a representação ISO 3166-2

city *

stringNome da cidade

district *

stringBairro ou Distrito

street *

stringNome da rua

number *

stringNúmero da rua

complement

stringComplemento de endereço

reference

stringReferência de endereço

formattedAddress *

stringTexto de endereço totalmente formatado

postalCode *

stringCódigo postal

coordinates *

arrayTipo de pedido Endereço de entrega Coordenadas latitude (veja na tabela coordinates)


  • Estrutura Consumption - delivery - deliveryAddress (dentro de coordinates):
    Âncora
    table_coordinates
    table_coordinates
CampoValorDescrição

latitude *

numberLatitude em graus. Os valores estão restritos ao intervalo [[-90, 90]]

longitude *

numberLongitude em graus. Os valores estão restritos ao intervalo [[-180, 180]]
Dica
titleCampos obrigatórios

Campos marcaos com o * (asteristico) o seu preenchimento é obrigatório


...

04. ERROS
Âncora
erros
erros

A seguir, alguns dos erros comuns que podem ser apresentados ao lidar com requisições HTTP e suas respectivas respostas:

  • HTTP Status Code - 400 - Bad Request
    Âncora
    status_code_400
    status_code_400

O código de status HTTP 400, conhecido como "Bad Request" (Requisição Inválida), indica que o servidor não pôde processar a requisição do cliente devido a uma sintaxe inválida, estrutura malformada ou dados inválidos presentes na requisição.


4.1 - Formato inválido do JSON esperado:

A requisição foi enviada com um JSON malformado ou inválido, o que impede o sistema de interpretá-la corretamente. Isso ocorre quando a estrutura JSON contém erros de sintaxe, como chaves ou colchetes incorretos.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"success": true,
	"error": null,

...

O código de status HTTP 400, conhecido como "Bad Request" (Requisição Inválida), indica que o servidor não pôde processar a requisição do cliente devido a uma sintaxe inválida, estrutura malformada ou dados inválidos presentes na requisição.

01. Formando inválido do JSON esperado.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "644a4d3c-6d2c-4154-a089-c1ab3fd89151",
	"orderKeyType": "String",
	"orderKey": [
		"06"
	],
	"consumption": [
		{
			"orderId": "542e6b3e-8e63-4498-bdc8-1e334a22012e",
			"type": "TABLE",
			"createdAt": "2024-02-08 10:12:05",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "251",
					"index": "331811",
					"name": "TESTE MYTAPP",
					"externalCode": "251",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "",
					"unitPrice": {
						"value": 99.9,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 99.9,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "NENHUM"
						}
					]
				}
			],
			"otherFees": [
				{
					"name": "Taxa de Serviço",
					"type": "SERVICE_FEE",
					"receivedBy": "MERCHANT",
					"receiverDocument": "",
					"price": {
						"value": 9.99,
						"currency": "R$"
					},
					"observation": ""
				}
			],
			"discounts": null,
			"total": {
				"items": 99.9,
				"otherFees": 9.99,
				"discount": 0,
				"orderAmount": 109.89
			},
			"delivery": null,
			"takeout": null,
			"indoor": null,
			"table": {
				"waiterCode": 9999,
				"tableNumber": 6,
				"chairNumber": 0
			},
			"card": null
		}
	]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
		}
	]
}

02. JSON enviando faltando um ou mais campos.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"integrationHubServiceId": "644a4d3c-6d2c-4154-a089-c1ab3fd89151",
	"orderKeyType": "String",
	"orderKey": [
		"06"
	],
	"consumption": [
		{
			"orderId": "542e6b3e-8e63-4498-bdc8-1e334a22012e",
			"type": "TABLE",
			"createdAt": "2024-02-08 10:12:05",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "251",
					"index": "331811",
					"name": "TESTE MYTAPP",
					"externalCode": "251",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "",
					"unitPrice": {
						"value": 99.9,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 99.9,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "NENHUM"
						}
					]
				}
			],
			"otherFees": [
				{
					"name": "Taxa de Serviço",
					"type": "SERVICE_FEE",
					"receivedBy": "MERCHANT",
					"receiverDocument": "",
					"price": {
						"value": 9.99,
						"currency": "R$"
					},
					"observation": ""
				}
			],
			"discounts": null,
			"total": {
				"items": 99.9,
				"otherFees": 9.99,
				"discount": 0,
				"orderAmount": 109.89
			},
			"delivery": null,
			"takeout": null,
			"indoor": null,
			"table": {
				"waiterCode": 9999,
				"tableNumber": 6,
				"chairNumber": 0
			},
			"card": null
		}
	]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errors": [
			"indoor": null,
			"table": {
				"keywaiterCode": "success"9999,
				"tableNumber": 6,
				"messagechairNumber": "body.success is required"
0
			},
	]
}
Nota
titleNota: HTTP Status Code = 400 Bad Request

A solicitação é inválida e não pôde ser processada devido a erros na entrada fornecida. Verifique os dados enviados e tente novamente.

...

			"card": null
		}
	]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
		}
	]
}


...


4.2 - JSON enviado com a ausência de um ou mais campos obrigatórios:

Se a requisição estiver faltando um ou mais campos obrigatórios, o servidor responderá com um erro 400. Cada campo requerido deve estar presente para que a operação seja processada corretamente.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "66ca34be-a568-4444-a78d-098a68686e58",
	"orderKey": [
		"340"
	],
	"consumption": [
		{
			"orderId": "2160c838-97d0-432f-a43a-dce087150d49",
			"type": "CARD",
			"createdAt": "2024-09-09 14:57:36",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "200",
					"index": "20",
					"name": "A FRANCESA",
					"externalCode": "1",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "TESTE",
					"unitPrice": {
						"value": 69.9,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 69.9,
						"currency": "R$"
					}

...

O código de status HTTP 401, conhecido como "Unauthorized" (Não Autorizado), indica que a requisição não foi aplicada porque carece de credenciais de autenticação válidas para o recurso alvo. Diferente do código 403 (Forbidden), que significa que o servidor entendeu a requisição, mas se recusa a autorizá-la, o 401 é usado especificamente quando a autenticação é necessária e falhou ou ainda não foi fornecida.

Nota
titleNota: HTTP Status Code = 401 Unauthorized

A solicitação não pôde ser processada porque o usuário não possui as permissões necessárias. Verifique suas credenciais e tente novamente.

...

O código de status HTTP 403, conhecido como "Forbidden" (Proibido), indica que o servidor não entendeu a requisição do cliente por está tentando acessar uma URL incorreta

Bloco de código
titleURL enviada incorreda
https://api-barramento.meuelevestage.com/order/consumptionS
Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
    "integrationHubServiceId": "1188f64e-3ce8-45be-882c-6c8dcfcb70d4",
	  "orderKeyType": "TABLE",
	   "orderKey": ["09"]
}
Nota
titleNota: HTTP Status Code = 403 - Forbidden

O cliente não enviou uma requisição para a URL  incorreta.

...

O código de status HTTP 404, conhecido como "Not Found" (Não Encontrado), indica que o servidor não encontrou o recurso solicitado. Isso ocorrer quando o token  da requisição da autenticação, é diferente do token gerado utilizando o integrationHubId  diferente do corpo da requisição.

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "644a4d3c-6d2c-4154-a089-c1ab3fd891513",
	"orderKeyType": "TABLE",
	"orderKey": [
		"06"
	],
	"consumption": [
		{
			"orderId": "542e6b3e-8e63-4498-bdc8-1e334a22012e",
			"type": "TABLE",
			"createdAt": "2024-02-08 10:12:05",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "251",
					"index": "331811",
					"name": "TESTE MYTAPP",
					"externalCode": "251",
					"unitoptions": "UNIT"null,
					"eanproductionPoint": "",[
						"quantity": 1,
{
							"specialInstructionsname": "COZINHA",
					"unitPrice": {	}
						"value": 99.9,]
				}
			],
			"currencyotherFees": "R$"[
					},{
					"optionsPricename": {
	 "Taxa de Serviço",
					"valuetype": 0"SERVICE_FEE",
						"currencyreceivedBy": "R$MERCHANT",
					}"receiverDocument": "",
					"totalPriceprice": {
						"value": 6.99.9,
						"currency": "R$"
					},
					"optionsobservation": null,
		""
				}
			],
			"productionPointdiscounts": [null,
						"total": {
				"items": 69.9,
				"nameotherFees": "NENHUM"6.99,
						}"discount": 0,
					]
	"orderAmount": 76.89
			},
			]"delivery": null,
			"otherFeestakeout": [null,
				{"indoor": null,
			"table": null,
			"namecard": "Taxa de Serviço",{
					"typewaiterCode": "SERVICE_FEE"9999,
					"receivedBycardNumber": "MERCHANT"340,
					"receiverDocumentdeliveryTableNumber": "",340
			}
		}
	"price]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errors": {[
			{
			"valuekey": 9.99"orderKeyType",
						"currencymessage": "R$body.orderKeyType is required"
		}
			},
					"observation": ""
				}
			],
			"discounts": null,
			"total": {
				"items": 99.9,
				"otherFees": 9.99,
				"discount": 0,
				"orderAmount": 109.89
			},
			"delivery": null,
			"takeout": null,
			"indoor": null,
			"table": {
				"waiterCode": 9999,
				"tableNumber": 6,
				"chairNumber": 0
			},
			"card": null
		}
	]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"Message": "User is not authorized to access this resource with an explicit deny"
}
Nota
titleNota: HTTP Status Code = 404 - Not Found

Uma ou mais informações enviadas não puderam ser encontradas.

]
}
Nota
titleNota: HTTP Status Code = 400 Bad Request

A solicitação é inválida e não pôde ser processada devido a erros na entrada fornecida. Verifique os dados enviados e tente novamente.


...

  • HTTP Status Code 401 - Unauthorized
    Âncora
    status_code_401
    status_code_401
     

O código de status HTTP 401, conhecido como "Unauthorized" (Não Autorizado), indica que a requisição não foi aplicada porque carece de credenciais de autenticação válidas para o recurso alvo. Diferente do código 403 (Forbidden), que significa que o servidor entendeu a requisição, mas se recusa a autorizá-la, o 401 é usado especificamente quando a autenticação é necessária e falhou ou ainda não foi fornecida.

Nota
titleNota: HTTP Status Code = 401 Unauthorized

A solicitação não pôde ser processada porque o usuário não possui as permissões necessárias. Verifique suas credenciais e tente novamente.


...

  • HTTP Status Code 403 - Forbidden
    Âncora
    status_code_403
    status_code_403
     

O código de status HTTP 403, conhecido como "Forbidden" (Proibido), indica que o Token de autenticação ausente.


...

  • HTTP Status Code 404 - Not Found
    Âncora
    status_code_404
    status_code_404
     

O código de status HTTP 404, conhecido como "Not Found" (Não Encontrado), indica que o servidor não encontrou o recurso solicitado. Isso ocorrer quando o token  da requisição da autenticação, é diferente do token gerado utilizando o integrationHubId  diferente do corpo da requisição.

Bloco de código
titleURL do endpoint incorreto
https://api-barramento.meuelevestage.com/order/consumption
Nota
titleNota: HTTP Status Code = 404 - Not Found

{
    "errors": [
        {
            "key": "orderKeyType_orderKey",
            "message": "Order consumption for : CARD_340 not found"
        }
    ]
}


...




Templatedocumentos