CONTEÚDO


01. VISÃO GERAL

Este endpoint é utilizado para obter informações detalhadas sobre os pedidos, fornecendo um retorno em formato JSON com diversos atributos relevantes. Ao enviar uma solicitação no formato especificado, como nos exemplos abaixo, o endpoint processa a requisição e retorna um conjunto de dados que inclui o status mais recente do pedido, a identificação do serviço, a chave do pedido e detalhes específicos de cada item relacionado ao pedido.



02. ENDPOINT


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



03. EXEMPLO DE UTILIZAÇÃO

3.1 - Request - Obter detalhes de um pedido específico: Essa requisição é utilizada para buscar informações detalhadas sobre um pedido específico:

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

A solicitação foi aceita, mas ainda não foi processada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.




3.2 - Request - Ao reenviar a solicitação, a resposta será a seguinte: Ao reenviar a requisição, você receberá uma resposta contendo o status atualizado e os detalhes do pedido.

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

A solicitação já foi enviada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.




3.3 - Request - Reenvio da solicitação, resposta de processamento:
Reenviando a solicitação, o sistema processará o pedido e fornecerá a resposta com o status do processamento. 

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "1853f0ab-faf7-47d6-a193-610b20807143",
	"orderKeyType": "TABLE",
	"orderKey": [
		"40"
	],
	"lastestUpdatedStatus": "2024-06-28 09:04:06",
	"items": [
		{
			"id": "50425147-5d06-4b87-a05b-4586f2dccc71",
			"status": {
				"code": 505,
				"description": "TABLE_IN_USE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "40"
		}
	]
}

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




3.4 - Request - Retornar o status de múltiplos pedidos: Essa requisição é utilizada para obter o status atualizado de diversos pedidos simultaneamente. O sistema retornará as informações detalhadas de cada pedido

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

A solicitação foi aceita, mas ainda não foi processada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.




3.5 - Request - Ao reenviar a solicitação, a resposta será a seguinte: Ao reenviar a requisição, receberá uma resposta contendo o status atualizado e os detalhes dos pedidos.

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

A solicitação já foi enviada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.




3.6 - Request - Reenvio da solicitação, resposta de processamento: Reenviando a solicitação, o sistema processará o pedido e fornecerá a resposta com o status do processamento. 

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "647469f8-b31b-4fae-ba33-99e04def555b",
	"orderKeyType": "TABLE",
	"orderKey": [
		"40",
		"20"
	],
	"lastestUpdatedStatus": "2024-06-28 09:13:46",
	"items": [
		{
			"id": "8c3752a1-ae15-42a1-bafb-189ca95f0211",
			"status": {
				"code": 505,
				"description": "TABLE_IN_USE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "18"
		},
		{
			"id": "5ebf990f-9075-462c-b675-a8c57a350d61",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "19"
		}
	]
}

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




3.7 - Request - Retornar o status de múltiplos pedidos: Essa requisição é utilizada para obter o status atualizado de diversos pedidos simultaneamente. O sistema retornará as informações detalhadas de cada pedido.

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

A solicitação foi aceita, mas ainda não foi processada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.




3.8 - Request - Ao reenviar a solicitação, a resposta será a seguinte: Ao reenviar a requisição, receberá uma resposta contendo o status atualizado e os detalhes dos pedidos.

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

A solicitação já foi enviada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.




3.9 - Request - Ao reenviar a solicitação, a resposta será a seguinte: Ao reenviar a requisição, receberá uma resposta contendo o status atualizado e os detalhes dos pedidos.

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "ab3e5b94-3a02-423a-8500-bbb5292fb13a",
	"orderKeyType": "TABLE",
	"orderKey": [],
	"lastestUpdatedStatus": "2024-09-24 17:35:52",
	"items": [
		{
			"id": "f217d261-126c-456a-86d5-d92eda8fbd1a",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "204"
		},
		{
			"id": "1730ccab-ba9e-4b0b-b7f2-ad2652659d0a",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "500"
		},
		{
			"id": "dbd9bc55-6c26-4160-bee3-e74822d8b81b",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "503"
		}
	]
}

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




Os dados retornados pela resposta incluem:

  • integrationHubServiceId: Chave de identificação de integração, utilizada para identificar de forma única a integração no hub.

  • success: Indica se a operação foi bem-sucedida. Este campo é um valor booleano:

    • true: A operação foi concluída com sucesso e os detalhes do pedido estarão disponíveis no campo items.
    • false: A operação falhou, e os detalhes do erro serão fornecidos no campo error.
  • lastestUpdatedStatus: A data e hora da última atualização do status do pedido, representada como uma string.

  • orderKey: Identificador do pedido, conforme definido pelo tipo de chave em orderKeyType.

  • orderKeyType: Tipo da chave do pedido, que pode ser um dos seguintes valores:

    • TABLE: Representa um número de mesa.
    • CARD: Representa um cartão.
    • ORDER_ID: Representa um identificador único do pedido.

    Enum: [TABLE, CARD, ORDER_ID]

  • items: Uma lista de itens relacionados ao pedido, contendo os detalhes sobre o status de cada item. Cada item inclui as seguintes informações:

    • id: Identificador do item dentro do pedido.
    • status: O status atual do item (informações detalhadas estão contidas no objeto Status).
    • deliveryAgent: O agente responsável pela entrega. Este campo é obrigatório se o pedido for do tipo delivery.
    • deliveryDateTime: A data e hora em que a entrega foi realizada. Este campo é obrigatório se o pedido for do tipo delivery.
    • cancellationReason: O motivo do cancelamento do item ou do pedido. Este campo é obrigatório quando o pedido ou o item foi cancelado.
  • error: Este campo é obrigatório quando success é false e contém detalhes sobre o erro ocorrido:

    • code: Código do erro, que identifica o tipo de falha.
    • message: Mensagem descritiva que fornece mais detalhes sobre o erro.


Dicionário de Retorno


Informações sobre os retornos da API cancelledItems.

EnumValor
TABLETABLE
CARDCARD
ORDERD_IDORDER_ID


CampoValor
orderKeyCódigo de identificação do pedido, sendo uma "string"



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": "393d9572-2ec9-4cda-9ad3-5b69e02c988d",
	  "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 não entendeu a requisição do cliente por está tentando acessar uma URL incorreta


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

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 pode ocorrer quando o integrationHubId  está incorreto ou inválido.


{
    "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"
		}
	]
}

IntegrationHubId incorreto ou inválido



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": ["5"]
}
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7d7d205b-83ba-47c5-91ba-e4f32a2bbd9e",
	"orderKeyType": "TABLE",
	"orderKey": [
		"5"
	],
	"lastestUpdatedStatus": "2024-07-02 18:54:28",
	"items": [
		{
			"id": "de9fd388-c223-4325-a64d-08889250f839",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "5"
		}
	]
}

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 - Status
API Order Mesa - Get Consumption
API Order Mesa - Consumption
API Order Mesa - Payment
API Order Mesa - Get Cancelled Items
API Order Mesa - Cancelled Items