CONTEÚDO


01. VISÃO GERAL

O endpoint Get Status da API Order Mesa é utilizado para o envio do resultado da solicitação de status dos pedidos do Ponto de Venda (PDV). Este endpoint recebe o mesmo corpo de resposta obtido pelo endpoint GetOrderStatus -   API Order Mesa - Get Status



02. ENDPOINT


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



03. EXEMPLO DE UTILIZAÇÃO

3.1 - Request - O corpo da requisição enviada para retornar todos os status dos pedidos é o seguinte:

Ao enviar essa requisição, o sistema processa a solicitação e retorna o status atualizado de todos os pedidos. O corpo da requisição contém informações essenciais que permitem ao sistema identificar e consultar o status de cada pedido.

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
	"orderKeyType": "TABLE",
	"orderKey": [],
	"lastestUpdatedStatus": "2024-07-03 17:18:42",
	"items": [
		{
			"id": "fd8654cf-ca3d-440c-b34e-c7936cbbd1fd",
			"status": {
				"code": 506,
				"description": "CLOSED_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "1"
		},
		{
			"id": "f08549f8-c82f-4d29-8955-25bc9f15c84a",
			"status": {
				"code": 506,
				"description": "CLOSED_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "2"
		},
		{
			"id": "d19436e4-99da-4593-a92a-46125f076e12",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "3"
		},
		{
			"id": "05bc9478-60cc-43b3-87bb-6f9a1d0cf295",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "4"
		},
		{
			"id": "3b35ffe5-b48d-4a66-b5bf-c6e2c5b82d8a",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "5"
		},
		{
			"id": "86ebfa7f-db95-42ad-baf0-b2a5e0865c74",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "6"
		},
		{
			"id": "64fe9584-8c9e-4587-8733-ae86ae9a8721",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "7"
		},
		{
			"id": "9dc5de7e-88f8-467f-bd85-bd3126db9160",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "8"
		},
		{
			"id": "60efbaa6-fbca-41ca-a03e-70986b1b6957",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "9"
		},
		{
			"id": "f6b6f8dc-e674-465e-b949-5d5851beb1b2",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "10"
		},
		{
			"id": "5ad276aa-27f1-41c4-8e66-136c052dcedf",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "11"
		},
		{
			"id": "693abccf-b584-4e40-83df-266e0d4a787e",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "12"
		},
		{
			"id": "2214be25-c48b-4917-b375-ebee2b5534d8",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "13"
		},
		{
			"id": "745f28a5-b6e0-43eb-9e86-32e6fe68174b",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "17"
		},
		{
			"id": "db5b9ae2-7111-4310-866b-5eb66a63bdbb",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "18"
		},
		{
			"id": "406a2a14-ac79-422a-b667-769fa1d2a9a0",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "19"
		},
		{
			"id": "3a18df72-bd49-4184-aeec-bc3d499bf4ba",
			"status": {
				"code": 506,
				"description": "CLOSED_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "20"
		},
		{
			"id": "2442a7dc-257d-4c01-8b42-55c9ada53420",
			"status": {
				"code": 506,
				"description": "CLOSED_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "21"
		}
	]
}

Status enviado com sucesso.



3.2 - Request - Enviando o pedido para obter o status de um pedido específico:

Essa requisição é utilizada para consultar o status de um único pedido. Ao enviar o identificador do pedido, o sistema retornará o status detalhado do pedido solicitado, incluindo todas as informações relacionadas ao seu processamento.

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
	"orderKeyType": "TABLE",
	"orderKey": [
		"19"
	],
	"lastestUpdatedStatus": "2024-07-15 16:40:13",
	"items": [
		{
			"id": "406a2a14-ac79-422a-b667-769fa1d2a9a0",
			"status": {
				"code": 505,
				"description": "TABLE_IN_USE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "19"
		}
	]
}

Status enviado com sucesso.



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

Ao utilizar essa requisição, é possível consultar o status atualizado de vários pedidos simultaneamente. O sistema retornará informações detalhadas sobre cada pedido, permitindo uma visão geral do processamento de múltiplas solicitações ao mesmo tempo.

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "647469f8-b31b-4fae-ba33-99e04def555b",
	"orderKeyType": "TABLE",
	"orderKey": ["18"],
	"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"
		}
	]
}

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


Dicionário de Requisição

Essa requisição permite verificar o o status atualizado do(s) pedido(s), retornando informações de acordo com o corpo da response obtida atráves do endpoint getStatus.


CampoValorDescrição
integrationHubServiceIdstringChave de identificação da integração no hub
successbooleanIndica se a operação foi bem-sucedida
trueA operação foi concluída com sucesso e o status dos pedidos será retornado
falseA operação falhou, com detalhes fornecidos no campo error
lastestUpdatedStatusstring (data e hora)Data e hora da última atualização do status dos pedidos
orderKeyarrayLista de identificadores dos pedidos (neste caso, o número da mesa)
orderKeyTypeenum "TABLE", "CARD", "ORDER_ID"Tipo de chave do pedido, que pode ser mesa, cartão ou ID do pedido
itemsarrayLista de itens associados ao pedido, detalhando o status de cada item


CampoValorDescrição
idstringIdentificador do item dentro do pedido
statusobjetoObjeto contendo informações detalhadas sobre o status do item
status.codenumberCódigo representando o status atual do item
status.descriptionstringDescrição do status atual do item
deliveryAgentstringAgente responsável pela entrega (obrigatório para pedidos de entrega)
deliveryDateTimestring (data e hora)Data e hora em que a entrega foi realizada (obrigatório para pedidos de entrega)
cancellationReasonstringMotivo do cancelamento do item (se o item foi cancelado)


CampoValorDescrição
codecódigo do erroIdentifica o tipo de erro ocorrido
messagemensagem descritivaDetalha a falha e fornece mais informações sobre o 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.


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.

{
	"integrationHubServiceId": "5ffec6b8-1c55-4a7d-985f-12d13685b5538",
	"success": true,
	"orderStatus": [
		{
			"id": "bd768726-91ef-4161-b35b-4e28e711dfd8",
			"status": {
				"code": 1,
				"description": "Em Preparo"
			}
		}
	]
}
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "body.integrationHubServiceId must be a valid GUID"
		},
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType is required"
		},
		{
			"key": "orderKey",
			"message": "body.orderKey is required"
		}
	]
}



3.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.

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "644a4d3c-6d2c-4154-a089-c1ab3fd89151",
	"orderKeyType": "String",
	"orderKey": [
		"22"
	],
	"lastestUpdatedStatus": "2024-07-16 15:48:30",
	"items": [
		{
			"id": "975dbf9b-a11d-4efe-b491-197ee123bfe4",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "22"
		}
	]
}
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
		}
	]
}



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/statusS
{
    "integrationHubServiceId": "1188f64e-3ce8-45be-882c-6c8dcfcb70d4",
	  "orderKeyType": "TABLE",
	   "orderKey": ["09"]
}

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.


{
	"success": true,
	"error": null,
	"integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586cc",
	"orderKeyType": "TABLE",
	"orderKey": [
		"19"
	],
	"lastestUpdatedStatus": "2024-07-15 17:02:35",
	"items": [
		{
			"id": "406a2a14-ac79-422a-b667-769fa1d2a9a0",
			"status": {
				"code": 505,
				"description": "TABLE_IN_USE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "19"
		}
	]
}
{
	"errors": [
		{
			"key": "orderKeyType_orderKey",
			"message": "Order status for: TABLE_22 not found"
		}
	]
}

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



05. LINKS


API Order Mesa - New Order
API Order Mesa - Get 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