Páginas filhas
  • API Order Mesa - Consumption

Versões comparadas

Chave

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

CONTEÚDO

...

O endpoint Status da API Order Mesa é utilizado no ponto de venda para envio do resultado da solicitação de consumo do pedido através do Ponto de Venda (PDV) para obter o status dos pedidos. Este endpoint recebe o mesmo corpo de requisição utilizado resposta obtida pelo endpoint GetConsumption -   API Order Mesa - Get Consumption


...

02. ENDPOINT
Âncora
endpoint
endpoint


MétodoURLAmbiente
POSThttps://api-barramento.meuelevestage.com/order/consumptionHomologação
POSThttps://api-barramento.meueleve.com.br/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.

Âncora
todos_status
todos
01. O corpo da requisição enviada para retornar um consumos especifico é o seguinte:
Âncora
todos_statustodos_status

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "03a93e315ffec6b8-11961c55-454b4a7d-b66f985f-55b7b636433912d13685b553",
	"orderKeyType": "TABLE",
	"orderKey": [
		"19204"
	],
	"consumption": [
		{
			"orderId": "c5c1bf93f217d261-d112126c-4f4c456a-af3b86d5-450b39519e12d92eda8fbd1a",
			"type": "TABLE",
			"createdAt": "2024-0209-2524 1411:0107:5041",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "5204",
					"index": "331838204",
					"name": "BRIGADEIRO COM BABA DE MOCAA FRANCESA",
					"externalCode": "51",
					"unit": "UNIT",
					"ean": "",
					"quantity": 21,
					"specialInstructions": "TESTE",
					"unitPrice": {
						"value": 2969.999,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 3069.29,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				},
				{],
					"idotherFees": "6",[
					"index": "331839",{
					"name": "BRIGADEIROTaxa de 2Serviço",
					"externalCodetype": "6SERVICE_FEE",
					"unitreceivedBy": "UNITMERCHANT",
					"eanreceiverDocument": "",
					"quantityprice": 2,{
						"specialInstructionsvalue": ""6.99,
						"unitPricecurrency": {"R$"
						"value": 63},
						"currencyobservation": "R$"
					},
			],
			"optionsPricediscounts": {null,
						"valuetotal": 0,{
						"currencyitems": "R$"69.9,
					}"otherFees": 6.99,
					"totalPricediscount": {0,
						"valueorderAmount": 6376.42,89
			},
			"currencydelivery": "R$"null,
					}"takeout": null,
					"optionsindoor": null,
					"productionPointtable": [{
				"waiterCode": 9999,
		{
		"tableNumber": 204,
					"namechairNumber": "COZINHA"0
						},
					]
				},
				{
					"id"card": "5",null
		}
	]
}
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": "644a4d3c-6d2c-4154-a089-c1ab3fd8915",
	"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"			"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$"
					},
					"totalPricename": { "TESTE MYTAPP",
						"valueexternalCode": 15.11"251",
						"currencyunit": "R$UNIT",
					}"ean": "",
					"optionsquantity": null1,
					"productionPointspecialInstructions": [
"",
						"unitPrice": {
							"namevalue": "COZINHA"99.9,
						}
					]
"currency": "R$"
					},
					"optionsPrice": {
						"idvalue": "6"0,
						"indexcurrency": "331842"R$"
					},
					"nametotalPrice": "BRIGADEIRO 2",{
						"externalCodevalue": "6"99.9,
						"unitcurrency": "UNITR$",
					"ean": ""},
					"quantityoptions": 1null,
					"specialInstructionsproductionPoint": "",[
					"unitPrice": 	{
							"valuename": 63,"NENHUM"
						"currency": "R$"}
					]
				},
			],
			"optionsPriceotherFees": [
				{
						"valuename": 0"Taxa de Serviço",
						"currencytype": "R$SERVICE_FEE",
					}"receivedBy": "MERCHANT",
					"totalPricereceiverDocument": {"",
						"valueprice": 31.7,{
						"currencyvalue": "R$"9.99,
					},
					"optionscurrency": null,
					"productionPoint": ["R$"
						{},
							"nameobservation": "COZINHA"
						}
					],
				}
			]"discounts": null,
			"otherFeestotal": [{
				{"items": 99.9,
					"nameotherFees": "Taxa de Serviço"9.99,
					"typediscount": "SERVICE_FEE"0,
					"receivedByorderAmount": "MERCHANT",109.89
			},
			"receiverDocumentdelivery": ""null,
					"pricetakeout": {null,
						"valueindoor": 14.04null,
						"currencytable": "R$"{
					}"waiterCode": 9999,
					"observationtableNumber": ""6,
				}"chairNumber": 0
			]},
			"discountscard": null
		},
			"total": {
				"itemsorderId": 140.43"644a4d3c-6d2c-4154-a089-c1ab3fd89151",
				"otherFeestype": 14.04"TABLE",
				"discountcreatedAt": 0,
				"orderAmount": 154.47
			}"2024-02-25 14:01:50",
			"deliverycustomerName": null,
			"takeout": null"TOTVS",
			"indooritems": null,[
				"table": {
					"waiterCodeid": 9999"5",
					"tableNumberindex": 19"331838",
					"chairNumbername": 0 "BRIGADEIRO COM BABA DE MOCA",
			}		"externalCode": "5",
					"cardunit": 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": ["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": "2516",
					"index": "331811331839",
					"name": "TESTEBRIGADEIRO MYTAPP2",
					"externalCode": "2516",
					"unit": "UNIT",
					"ean": "",
					"quantity": 12,
					"specialInstructions": "",
					"unitPrice": {
						"value": 99.963,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 9963.942,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "NENHUMCOZINHA"
						}
					]
				},
				],{
					"otherFeesid": ["5",
				{	"index": "331841",
					"name": "Taxa de ServiçoBRIGADEIRO COM BABA DE MOCA",
					"typeexternalCode": "SERVICE_FEE5",
					"receivedByunit": "MERCHANTUNIT",
					"receiverDocumentean": "",
					"pricequantity": {1,
						"valuespecialInstructions": 9.99"",
						"currencyunitPrice": "R$"{
					}	"value": 29.99,
						"observationcurrency": "R$"
					},
			],
			"discountsoptionsPrice": null,{
						"totalvalue": {0,
						"itemscurrency": 99.9"R$"
					},
					"otherFeestotalPrice": 9.99,
{
						"discountvalue": 015.11,
						"orderAmountcurrency": 109.89"R$"
					},
					"deliveryoptions": null,
					"takeoutproductionPoint": null,[
			"indoor": null,
			"table": {
							"waiterCodename": 9999,
"COZINHA"
						"tableNumber": 6,}
				"chairNumber": 0
	]
				},
			"card": null
		},	{
		{
			"orderIdid": "644a4d3c-6d2c-4154-a089-c1ab3fd891516",
					"typeindex": "TABLE331842",
					"createdAtname": "2024-02-25 14:01:50BRIGADEIRO 2",
					"customerNameexternalCode": "TOTVS6",
					"itemsunit": ["UNIT",
				{	"ean": "",
					"idquantity": "5"1,
					"indexspecialInstructions": "331838",
					"nameunitPrice": "BRIGADEIRO COM BABA DE MOCA",{
						"externalCodevalue": "5"63,
					"unit": "UNIT",
					"eancurrency": "R$",
					"quantity": 2},
					"specialInstructionsoptionsPrice": "",
					"unitPrice": {
						"value": 29.990,
						"currency": "R$"
					},
					"optionsPricetotalPrice": {
						"value": 031.7,
						"currency": "R$"
					},
					"totalPriceoptions": {null,
						"valueproductionPoint": 30.2,[
						"currency": "R$"{
					},
					"optionsname": null,
					"productionPoint": ["COZINHA"
						{}
							"name": "COZINHA"]
						}
					],
				},"otherFees": [
				{
					"idname": "6Taxa de Serviço",
					"indextype": "331839SERVICE_FEE",
					"namereceivedBy": "BRIGADEIRO 2MERCHANT",
					"externalCodereceiverDocument": "6",
					"unitprice": "UNIT",{
						"eanvalue": ""14.04,
						"quantitycurrency": 2"R$"
					},
					"specialInstructionsobservation": "",
					"unitPrice": {}
			],
			"valuediscounts": 63null,
						"currencytotal": "R$"{
					}"items": 140.43,
					"optionsPriceotherFees": {
		14.04,
				"valuediscount": 0,
						"currencyorderAmount": "R$"154.47
					},
					"totalPricedelivery": {null,
						"valuetakeout": 63.42null,
						"currencyindoor": "R$"null,
					},
	"table": {
				"optionswaiterCode": null9999,
					"productionPointtableNumber": [
						{19,
							"namechairNumber": "COZINHA"0
						}
					]
				},
				{
					"idcard": "5",null
					"index": "331841",
					"name": "BRIGADEIRO COM BABA DE MOCA",
					"externalCode": "5",}
	]
}
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 GetConsumption.


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):
CampoValorDescrição
type *enumTipo do consumo (veja na tabela type)
createdAt *string 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)
errorarrayErro é necessário quando o sucesso é falso (veja tabela de error)


  • 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 (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 (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.


...


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]]


  • 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
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,
	"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$"
					}
					"unit": "UNIT",
					"eanoptions": ""null,
					"quantityproductionPoint": 1,[
						{
							"specialInstructionsname": "NENHUM",
					"unitPrice": {
	}
					]
		"value": 29.99,		}
			],
			"currencyotherFees": "R$"[
					},{
					"optionsPricename": {"Taxa de Serviço",
						"valuetype": 0"SERVICE_FEE",
						"currencyreceivedBy": "R$MERCHANT",
					}"receiverDocument": "",
					"totalPriceprice": {
						"value": 159.1199,
						"currency": "R$"
					},
					"optionsobservation": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					],
				}"discounts": null,
				"total": {
					"iditems": "6"99.9,
					"indexotherFees": "331842"9.99,
					"namediscount": "BRIGADEIRO 2"0,
					"externalCodeorderAmount": "6",
109.89
			},
			"unitdelivery": "UNIT"null,
					"eantakeout": ""null,
					"quantityindoor": 1null,
					"specialInstructionstable": "",{
					"unitPricewaiterCode": {9999,
						"valuetableNumber": 636,
						"currencychairNumber": "R$"0
					},
					"optionsPricecard": {null
		}
				"value]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errors": 0,[
		{
				"currencykey": "R$"
					}orderKeyType",
					"totalPricemessage": {"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
{
	"integrationHubServiceId": "644a4d3c-6d2c-4154-a089-c1ab3fd89151",
	"orderKeyType": "String",
	"orderKey": [
		"06"
	],
	"consumption				"value": 31.7,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "COZINHA"
						}
					]
				}
			],
			"otherFees": [
				{
					"nameorderId": "Taxa de Serviço542e6b3e-8e63-4498-bdc8-1e334a22012e",
					"type": "SERVICE_FEETABLE",
					"receivedBycreatedAt": "MERCHANT2024-02-08 10:12:05",
					"receiverDocumentcustomerName": "TOTVS",
					"priceitems": [
				{
						"valueid": 14.04"251",
						"currencyindex": "R$331811",
					}"name": "TESTE MYTAPP",
					"observationexternalCode": "251",
				}
			],
			"discountsunit": null,
			"total": {"UNIT",
					"itemsean": 140.43"",
					"otherFeesquantity": 14.041,
					"discountspecialInstructions": 0"",
					"orderAmountunitPrice": 154.47{
			},
			"deliveryvalue": null99.9,
						"takeoutcurrency": null,
"R$"
					"indoor": null},
					"tableoptionsPrice": {
						"waiterCodevalue": 99990,
						"tableNumbercurrency": 19,"R$"
					"chairNumber": 0},
			},
			"cardtotalPrice": 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:

...

		"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": "success",
			"message": "body.success is required"
		}
	]
}
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.

...

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "5ffec6b8644a4d3c-1c556d2c-4a7d4154-985fa089-12d13685b553c1ab3fd891513",
	"orderKeyType": "TABLE",
	"orderKey": [
		"06"
	],
	"consumption": [
		{
			"orderId": "86ebfa7f542e6b3e-db958e63-42ad4498-baf0bdc8-b2a5e0865c741e334a22012e",
			"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
		}
	]
}

...

Nota
titleNota: HTTP Status Code = 404 - Not Found

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


...




Templatedocumentos