CONTEÚDO


01. VISÃO GERAL


Este endpoint é utilizado para obter informações detalhadas sobre consumo, fornecendo um retorno em formato JSON com diversos atributos relevantes. Ao enviar uma solicitação conforme especificado nos exemplos abaixo, o endpoint processa a requisição e retorna um conjunto de dados que inclui o status mais recente do consumo.

Obtenha o consumo atribuído a um ou mais pedidos utilizando o parâmetro orderKeyType, que pode ser ORDER_ID, TABLE ou CARD.

02. ENDPOINT


MétodoURLAmbiente
POSThttps://api-barramento.meuelevestage.com/order/getConsumptionHomologação
POSThttps://api-barramento.meueleve.com.br/order/getConsumptionProdução



03. EXEMPLO DE UTILIZAÇÃO

3.1- Request - Retornar todos os status dos consumos:

Ao fazer essa requisição, o sistema processa a solicitação para obter o status dos consumos indicados, retornando as informações de cada consumo solicitado.

{
  "integrationHubServiceId": "66ca34be-a568-4444-a78d-098a68686e58",
  "orderKeyType": "TABLE",
  "orderKey": []
}

O seu pedido foi aceite, mas ainda não foi processado, aguarde alguns instantes e contacte a mesma morada para obter o consumo solicitado.




3.2-  Request - Ao reenviar a solicitação, a resposta retornada será a seguinte:
Após reenviar a requisição para o mesmo endpoint, o sistema retornará uma resposta detalhando o status atualizado dos consumos solicitados.

{
	"errors": [
		{
			"key": "orderKeyType_orderKey",
			"message": "Order consumption request already exists: TABLE_"
		}
	]
}  
 

Seu pedido já foi enviado, aguarde alguns instantes e entre em contato com o mesmo endereço para obter o consumo solicitado.




3.3 - Request - Ao enviar novamente a solicitação, o processamento será realizado conforme a seguinte resposta:
Reenviando a requisição após o processamento, o sistema retornará o status final dos consumos, indicando se o processamento foi concluído com sucesso e exibindo as informações detalhadas.

{
   "success":true,
   "error":null,
   "integrationHubServiceId":"ea2aecdb-7a37-449f-99e1-aa1346b09524",
   "orderKeyType":"TABLE",
   "orderKey":[
      "06",
      "10",
      "19"
   ],
   "consumption":[
      {
         "orderId":"7cf20761-adc7-4a79-98c3-2259dd2b2856",
         "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":"244e2bc1-b7ef-4260-bbf5-49251bdc5f0f",
         "type":"TABLE",
         "createdAt":"2024-02-08 10:45:02",
         "customerName":"TOTVS",
         "items":[
            {
               "id":"1",
               "index":"331820",
               "name":"A FRANCESA",
               "externalCode":"1",
               "unit":"UNIT",
               "ean":"",
               "quantity":1,
               "specialInstructions":"",
               "unitPrice":{
                  "value":69.9,
                  "currency":"R$"
               },
               "optionsPrice":{
                  "value":0,
                  "currency":"R$"
               },
               "totalPrice":{
                  "value":69.9,
                  "currency":"R$"
               },
               "options":null,
               "productionPoint":[
                  {
                     "name":"COZINHA"
                  }
               ]
            },
            {
               "id":"4",
               "index":"331821",
               "name":"AVELA",
               "externalCode":"4",
               "unit":"UNIT",
               "ean":"",
               "quantity":1,
               "specialInstructions":"",
               "unitPrice":{
                  "value":37.99,
                  "currency":"R$"
               },
               "optionsPrice":{
                  "value":0,
                  "currency":"R$"
               },
               "totalPrice":{
                  "value":37.99,
                  "currency":"R$"
               },
               "options":null,
               "productionPoint":[
                  {
                     "name":"COZINHA"
                  }
               ]
            }
         ],
         "otherFees":[
            {
               "name":"Taxa de Serviço",
               "type":"SERVICE_FEE",
               "receivedBy":"MERCHANT",
               "receiverDocument":"",
               "price":{
                  "value":10.78,
                  "currency":"R$"
               },
               "observation":""
            }
         ],
         "discounts":null,
         "total":{
            "items":107.89,
            "otherFees":10.78,
            "discount":0,
            "orderAmount":118.67
         },
         "delivery":null,
         "takeout":null,
         "indoor":null,
         "table":{
            "waiterCode":1,
            "tableNumber":10,
            "chairNumber":0
         },
         "card":null
      },
      {
         "orderId":"b6017f3d-e680-4840-b69f-d2b573d4f8c0",
         "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
      }
   ]
}

Sua solicitação foi retornada com sucesso.



3.4 - Request - Obter detalhes de um consumo específico:

Ao fazer essa requisição, o sistema processa a solicitação e retorna os detalhes completos de um consumo específico, incluindo todas as informações relevantes sobre o pedido consumido

{
  "integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
  "orderKeyType": "TABLE",
  "orderKey": ["40"]
}

O seu pedido foi aceite, mas ainda não foi processado, aguarde alguns instantes e contacte a mesma morada para obter o consumo solicitado.




3.5 - Request - Reenviando a solicitação para obter os detalhes de um consumo:

Ao reenviar a requisição para o mesmo endpoint, o sistema retornará as informações atualizadas sobre o consumo solicitado, refletindo seu status mais recente.

{
	"errors": [
		{
			"key": "orderKeyType_orderKey",
			"message": "Order consumption request already exists: TABLE_40"
		}
	]
}  
 

Seu pedido já foi enviado, aguarde alguns instantes e entre em contato com o mesmo endereço para obter o consumo solicitado.




3.6 - Request - Solicitação de processamento para obter detalhes específicos do consumo:

Reenviando a requisição, o sistema processará o pedido de forma detalhada e retornará as informações completas sobre o consumo, conforme os dados disponíveis no momento.

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
	"orderKeyType": "TABLE",
	"orderKey": ["40"],
	"consumption": [
		{
			"orderId": "d8ef12c3-ce5f-4bfa-b1d2-ebde107a2f02",
			"type": "TABLE",
			"createdAt": "2024-06-28 17:27:20",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "39735945",
					"index": "4",
					"name": "MARACUJA",
					"externalCode": "58",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "TESTE",
					"unitPrice": {
						"value": 61,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 61,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "NENHUM"
						}
					]
				}
			],
			"otherFees": [
				{
					"name": "Taxa de Serviço",
					"type": "SERVICE_FEE",
					"receivedBy": "MERCHANT",
					"receiverDocument": "",
					"price": {
						"value": 6.1,
						"currency": "R$"
					},
					"observation": ""
				}
			],
			"discounts": [],
			"total": {
				"items": 61,
				"otherFees": 6.1,
				"discount": 0,
				"orderAmount": 67.1
			},
			"delivery": null,
			"takeout": null,
			"indoor": null,
			"table": {
				"waiterCode": 9999,
				"tableNumber": 40,
				"chairNumber": 0
			},
			"card": null
		}
	]
}

Sua solicitação foi retornada com sucesso.



3.7 - Request - Retornar o status de múltiplos pedidos:

Ao realizar essa requisição, o sistema processa a solicitação e fornece o status atualizado de vários pedidos ao mesmo tempo, incluindo informações detalhadas sobre cada um deles.

{
  "integrationHubServiceId": "ab70a3ce-915b-42ee-9d7f-049d36e26eca",
  "orderKeyType": "TABLE",
  "orderKey": ["20", "40"]
}

O seu pedido foi aceite, mas ainda não foi processado, aguarde alguns instantes e contacte a mesma morada para obter o consumo solicitado.




3.8 - Request - Reenviando a solicitação para obter o status de múltiplos pedidos:

Ao reenviar a requisição, o sistema retornará as informações atualizadas sobre o status dos pedidos solicitados, refletindo quaisquer alterações desde a última consulta.

{
	"errors": [
		{
			"key": "orderKeyType_orderKey",
			"message": "Order consumption request already exists: TABLE_20, 40"
		}
	]
}  
 

Seu pedido já foi enviado, aguarde alguns instantes e entre em contato com o mesmo endereço para obter o consumo solicitado.




3.9 - Request - Solicitação de processamento para o status de múltiplos pedidos:

Reenviando a requisição, o sistema processará o pedido e fornecerá uma resposta que detalha o status atual de todos os pedidos incluídos na solicitação.

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "ab70a3ce-915b-42ee-9d7f-049d36e26eca",
	"orderKeyType": "TABLE",
	"orderKey": [
		"20",
		"40"
	],
	"consumption": [
		{
			"orderId": "2299a4af-2363-4aa8-803b-b95f7d8e8a7b",
			"type": "TABLE",
			"createdAt": "2024-06-28 17:27:20",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "39735945",
					"index": "4",
					"name": "MARACUJA",
					"externalCode": "58",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "TESTE",
					"unitPrice": {
						"value": 61,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 61,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "NENHUM"
						}
					]
				}
			],
			"otherFees": [
				{
					"name": "Taxa de Serviço",
					"type": "SERVICE_FEE",
					"receivedBy": "MERCHANT",
					"receiverDocument": "",
					"price": {
						"value": 6.1,
						"currency": "R$"
					},
					"observation": ""
				}
			],
			"discounts": [],
			"total": {
				"items": 61,
				"otherFees": 6.1,
				"discount": 0,
				"orderAmount": 67.1
			},
			"delivery": null,
			"takeout": null,
			"indoor": null,
			"table": {
				"waiterCode": 9999,
				"tableNumber": 20,
				"chairNumber": 0
			},
			"card": null
		}
	]
}

Sua solicitação foi retornada com sucesso.

A estrutura OrderConsumption representa as informações de consumo de um pedido e contém os seguintes campos:

  • integrationHubServiceId (string, obrigatório):
    Identificador único da integração.

  • orderKeyType (OrderKeyType, obrigatório):
    Tipo de chave do pedido, que pode ser uma das seguintes opções:

    • "TABLE"
    • "CARD"
    • "ORDER_ID"
      Enum: [TABLE, CARD, ORDER_ID]
  • orderKey (string, obrigatório):
    Chave do pedido correspondente.

  • success (boolean, obrigatório):
    Indica se a operação foi bem-sucedida.

  • consumptions (Array de Consumption, obrigatório):
    Detalhes dos consumos relacionados ao pedido, onde cada Consumption inclui:

    • type (OrderKeyType, obrigatório):
      Tipo do consumo, podendo ser "TABLE", "CARD" ou "ORDER_ID".
      Enum: [TABLE, CARD, ORDER_ID]

    • createdAt (string, obrigatório):
      Data e hora da criação do pedido em formato UTC ISO.

    • customerName (string, obrigatório):
      Nome do cliente.

    • items (Array de OrderItems, obrigatório):
      Itens do pedido, onde cada OrderItems inclui:

      • id (string, obrigatório):
        Identificador único do item.

      • index (string, opcional):
        Posição do item.

      • name (string, obrigatório):
        Nome do produto.

      • externalCode (string, opcional):
        Código externo do produto.

      • unit (Unit, obrigatório):
        Unidade de medida do item, podendo ser:

        • UN (Unit)
        • KG (Kilogram)
        • L (Liter)
        • OZ (Ounce)
        • LB (Pound)
        • GAL (Gallon)
          Enum: [UN, KG, L, OZ, LB, GAL]
      • ean (string, opcional):
        Código de barras EAN do item.

      • quantity (number, obrigatório):
        Quantidade de itens, utilizando valores fracionários quando necessário (exemplo: 500 gramas = 0.5 KG).

      • specialInstructions (string, opcional):
        Instruções especiais sobre os itens.

      • unitPrice (UnitPrice, obrigatório):
        Preço por unidade, considerando 4 casas decimais.

        • value (number, obrigatório):
          Valor do preço.

        • currency (string, obrigatório):
          Código da moeda ISO 4217.

      • originalPrice (OriginalPrice, opcional):
        Preço original do produto, que não é considerado para o cálculo do total do pedido.

        • value (number, obrigatório):
          Valor do preço original.

        • currency (string, obrigatório):
          Código da moeda ISO 4217.

      • optionsPrice (OptionsPrice, opcional):
        Soma dos preços de todas as opções do item.

        • value (number, obrigatório):
          Valor do preço total das opções.

        • currency (string, obrigatório):
          Código da moeda ISO 4217.

      • totalPrice (TotalPrice, obrigatório):
        Preço total do item, calculado como (quantidade * (unitPrice + optionsPrice)).

        • value (number, obrigatório):
          Valor do preço total.

        • currency (string, obrigatório):
          Código da moeda ISO 4217.

      • options (Array de OrderItemsOptions, opcional):
        Extras opcionais escolhidos pelo consumidor, onde cada OrderItemsOptions inclui:

        • index (string, opcional):
          Posição da opção.

        • id (string, obrigatório):
          Identificador único da opção.

        • name (string, obrigatório):
          Nome da opção.

        • externalCode (string, opcional):
          Código externo da opção.

        • unit (Unit, obrigatório):
          Unidade de medida da opção, podendo ser:

          • UN (Unit)
          • KG (Kilogram)
          • L (Liter)
          • OZ (Ounce)
          • LB (Pound)
          • GAL (Gallon)
            Enum: [UN, KG, L, OZ, LB, GAL]
        • ean (string, opcional):
          Código de barras EAN da opção.

        • quantity (number, obrigatório):
          Quantidade de itens opcionais, utilizando valores fracionários se necessário.

        • unitPrice (UnitPrice, obrigatório):
          Preço por unidade da opção, considerando 4 casas decimais.

        • originalPrice (OriginalPrice, opcional):
          Preço original da opção.

        • totalPrice (TotalPrice, obrigatório):
          Preço total da opção.

        • specialInstructions (string, opcional):
          Instruções especiais sobre a opção.

        • productionPoint (string, opcional):
          Ponto de produção da opção.

      • productionPoint (string, opcional):
        Ponto de produção do item.

    • otherFees (Array de OtherFees, opcional):
      Outras taxas que podem ser aplicadas, onde cada OtherFees inclui:

      • name (string, obrigatório):
        Nome relacionado às taxas.

      • type (OrderFeesType, obrigatório):
        Tipo da taxa, que pode ser "DELIVERY_FEE", "SERVICE_FEE" ou "TIP".
        Enum: [DELIVERY_FEE, SERVICE_FEE, TIP]

      • receivedBy (OrderReceivedBy, obrigatório):
        Entidade que recebeu o pedido, que pode ser "MARKETPLACE", "MERCHANT" ou "LOGISTIC_SERVICES".
        Enum: [MARKETPLACE, MERCHANT, LOGISTIC_SERVICES]

      • receiverDocument (string, opcional):
        Documento do receptor, obrigatório para marketplace.

      • price (OtherFeesPrice, obrigatório):
        Preço da taxa.

        • value (number, obrigatório):
          Valor da taxa.

        • currency (string, obrigatório):
          Código da moeda ISO 4217.

      • observation (string, opcional):
        Comentários adicionais.

    • discounts (Array de Discounts, opcional):
      Descontos que podem ser aplicados, onde cada Discounts inclui:

      • value (number, obrigatório):
        Valor do desconto.

      • target (OrderDiscountsTarget, obrigatório):
        Destino do desconto, que pode ser "CART", "DELIVERY_FEE" ou "ITEM".
        Enum: [CART, DELIVERY_FEE, ITEM]

      • targetId (string, opcional):
        Identificador do alvo, obrigatório apenas para target = ITEM.

      • sponsorshipValues (Array de SponsorshipValues, obrigatório):
        Valores patrocinados por qualquer uma das partes, onde cada SponsorshipValues inclui:

        • name (OrderSponsorshipName, obrigatório):
          Nome do patrocinador, que pode ser "MARKETPLACE" ou "MERCHANT".
          Enum: [MARKETPLACE, MERCHANT]

        • value (number, obrigatório):
          Valor do desconto dado pelo patrocinador.

  • total (Total, obrigatório):
    Resumo das somas de valores descritos no pedido.

    • items (number, obrigatório):
      Soma do preço total dos itens listados.

    • otherFees (number, obrigatório):
      Soma do valor total das outras taxas. Se não houver, use 0.

    • discount (number, obrigatório):
      Soma de qualquer desconto. Se não houver, use 0.

    • orderAmount (number, obrigatório):
      Valor final do pedido (itens + outras taxas + taxas adicionais + taxa de entrega - descontos).

    • additionalFees (number, obrigatório):
      Soma do valor total das taxas adicionais. Se não houver, use 0.

    • deliveryFee (number, obrigatório):
      Soma do valor total da taxa de entrega. Se não houver, use 0.

  • delivery (OrderTypeDelivery, obrigatório):
    Informações para pedidos de entrega. Necessário se o tipo escolhido for "DELIVERY".

    • deliveredBy (OrderDeliveryBy, obrigatório):
      Entidade responsável pela entrega, que pode ser "MARKETPLACE" ou "MERCHANT".
      Enum: [MARKETPLACE, MERCHANT]

    • deliveryAddress (OrderTypeDeliveryAddress, obrigatório):
      Endereço de entrega do pedido.

      • country (string, obrigatório):
        Código do país em formato ISO 3166-1 alpha-2.

      • state (string, opcional):
        Estado ou subdivisão do país.

      • city (string, obrigatório):
        Nome da cidade.

      • district (string, opcional):
        Bairro ou distrito.

      • street (string, obrigatório):
        Nome da rua.

      • number (string, obrigatório):
        Número da rua.

      • complement (string, opcional):
        Complemento do endereço.

      • reference (string, opcional):
        Referência do endereço.

      • formattedAddress (string, obrigatório):
        Texto completo do endereço formatado.

      • postalCode (string, obrigatório):
        Código postal.

      • coordinates (OrderTypeDeliveryAddressCoordinates, obrigatório):
        Coordenadas do endereço.

        • latitude (number, obrigatório):
          Latitude em graus.

        • longitude (number, obrigatório):
          Longitude em graus.

    • estimatedDeliveryDateTime (string, obrigatório):
      Data e hora estimadas de entrega.

    • deliveryDateTime (string, opcional):
      Data e hora em que a entrega realmente ocorreu.

  • takeout (OrderTypeTakeout, obrigatório):
    Informações para pedidos de retirada. Necessário se o tipo escolhido for "TAKEOUT".

    • mode (OrderTakeoutMode, obrigatório):
      Modo de retirada, podendo ser "DEFAULT" ou "PICKUP_AREA".
      Enum: [DEFAULT, PICKUP_AREA]

    • takeoutDateTime (string, opcional):
      Data e hora para quando o pedido estiver pronto.

  • table (OrderTypeTable, obrigatório):
    Informações para pedidos de mesa. Necessário se o tipo escolhido for "TABLE".

    • waiterCode (number, obrigatório):
      Identificador do garçom.

    • tableNumber (number, obrigatório):
      Identificador da mesa.

    • chairNumber (number, opcional):
      Identificador da cadeira.

  • card (OrderTypeCard, obrigatório):
    Informações para pedidos de cartão. Necessário se o tipo escolhido for "CARD".

    • waiterCode (number, obrigatório):
      Identificador do garçom.

    • cardNumber (number, obrigatório):
      Identificador do cartão.

    • deliveryTableNumber (number, opcional):
      Identificador da mesa de entrega.

  • error (Error, obrigatório):
    Detalhes do erro caso a operação não tenha sido bem-sucedida.

    • code (string, obrigatório):
      Código do erro.

    • message (string, obrigatório):
      Mensagem descritiva do erro.



04. ERROS

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

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.

{
    "integrationHubServiceId": "a9cad639-5775-4f8a-917b-2ae0f2d284d8",
	  "orderKeyType": "string",
	   "orderKey": ["string"]
}
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
		}
	]
}



02. JSON enviando faltando um ou mais campos.

{
    "integrationHubServiceId": "a5c4e135-aacd-49c1-b051-160a78a83b56"
}
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType is required"
		},
		{
			"key": "orderKey",
			"message": "body.orderKey is required"
		}
	]
}



03. GUID incorreto 

{
    "integrationHubServiceId": "9a1cf326-c962-456f-8c49-c1bb2f340fc6A",
	  "orderKeyType": "TABLE",
	  "orderKey": []
}
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "body.integrationHubServiceId must be a valid GUID"
		}
	]
}



04. Enviando uma requisição sem informar o código da orderKey corretamente

{
    "integrationHubServiceId": "808c143d-d6d4-4b95-8c37-efa3a934f222",
	  "orderKeyType": "TABLE",
	  "orderKey": [""]
}
{
	"errors": [
		{
			"key": 0,
			"message": "body.orderKey[0] is not allowed to be empty"
		}
	]
}

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.



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.


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 entendeu a requisição do cliente, mas está se recusando a cumpri-la. Isso geralmente ocorre quando o cliente não possui permissões adequadas para acessar o recurso solicitado, mesmo que as credenciais de autenticação tenham sido fornecidas corretamente.


https://api-barramento.meuelevestage.com/order/getConsumptions
{
	"message": "Missing Authentication Token"
}

O cliente enviou a URL incorreta para solicitação da requisição.



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 pode ocorrer quando o URL fornecido está incorreto, o recurso foi removido permanentemente ou não está disponível no momento da requisição.

{
    "integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586cc",
	  "orderKeyType": "TABLE",
		"orderKey": ["5"]
}
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "Provider Merchant for integrationHubServiceId \"f1b874af-96ab-4535-aac3-25118fe586cc\" not found or disabled"
		}
	]
}

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



O código de status HTTP 412, conhecido como "Precondition Failed" (Pré-condição Falhou), indica que o servidor não atendeu a uma das pré-condições que o cliente colocou no cabeçalho da requisição. 

{
    "integrationHubServiceId": "8f7949c3-cdd6-4db0-8746-369e651026b4",
	  "orderKeyType": "TABLE",
	  "orderKey": []
}
{
	"message": "NOT_FOUND",
	"code": 412
}

Alguma regra necessária para a execução da solicitação não foi atendida. É necessário analisar o conteúdo da resposta retornada para identificar os motivos.



O código de status HTTP 429, conhecido como "Too Many Requests" (Muitas Requisições), indica que o cliente excedeu o limite de requisições permitido para um determinado período de tempo. Esse limite é definido pelo servidor e pode variar de acordo com a política de limitação de taxa implementada.

{
    "integrationHubServiceId": "7d7d205b-83ba-47c5-91ba-e4f32a2bbd9e",
	  "orderKeyType": "TABLE",
		"orderKey": ["20", "40"]
}
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7d7d205b-83ba-47c5-91ba-e4f32a2bbd9e",
	"orderKeyType": "TABLE",
	"orderKey": [
		"20",
		"40"
	],
	"consumption": [
		{
			"orderId": "f5fee4b4-c13f-482d-8e98-0dd840629e02",
			"type": "TABLE",
			"createdAt": "2024-06-28 17:27:20",
			"customerName": "TOTVS",
			"items": [
				{
					"id": "39735945",
					"index": "4",
					"name": "MARACUJA",
					"externalCode": "58",
					"unit": "UNIT",
					"ean": "",
					"quantity": 1,
					"specialInstructions": "TESTE",
					"unitPrice": {
						"value": 61,
						"currency": "R$"
					},
					"optionsPrice": {
						"value": 0,
						"currency": "R$"
					},
					"totalPrice": {
						"value": 61,
						"currency": "R$"
					},
					"options": null,
					"productionPoint": [
						{
							"name": "NENHUM"
						}
					]
				}
			],
			"otherFees": [
				{
					"name": "Taxa de Serviço",
					"type": "SERVICE_FEE",
					"receivedBy": "MERCHANT",
					"receiverDocument": "",
					"price": {
						"value": 6.1,
						"currency": "R$"
					},
					"observation": ""
				}
			],
			"discounts": [],
			"total": {
				"items": 61,
				"otherFees": 6.1,
				"discount": 0,
				"orderAmount": 67.1
			},
			"delivery": null,
			"takeout": null,
			"indoor": null,
			"table": {
				"waiterCode": 9999,
				"tableNumber": 20,
				"chairNumber": 0
			},
			"card": null
		}
	]
}

Alguma regra para atender ao seu pedido não foi cumprida; analise o corpo da resposta para descobrir as razões.


05. LINKS


API Order Mesa - New Order
API Order Mesa - Get Status
API Order Mesa - Status
API Order Mesa - Consumption
API Order Mesa - Payment
API Order Mesa - Get Cancelled Items
API Order Mesa - Cancelled Items