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 requisição utilizado pelo endpoint GetOrderStatus -   API Order Cartão - Get Status



02. ENDPOINT


MétodoURLAmbiente
POSThttps://api-barramento.meuelevestage.com/order/statusHomologação
POSThttps://api-barramento.meueleve.com/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": "CARD",
    "orderKey": [],
    "lastestUpdatedStatus": "2024-09-12 11:30:10",
    "items": [
        {
            "id": "ad976378-8823-48d3-9cd1-62d68cf3be77",
            "status": {
                "code": 504,
                "description": "OPEN_TABLE"
            },
            "deliveryAgent": null,
            "deliveryDateTime": null,
            "cancellationReason": null,
            "tableCardNumber": "1"
        },
        {
            "id": "2160c838-97d0-432f-a43a-dce087150d49",
            "status": {
                "code": 505,
                "description": "TABLE_IN_USE"
            },
            "deliveryAgent": null,
            "deliveryDateTime": null,
            "cancellationReason": null,
            "tableCardNumber": "340"
        },
        {
            "id": "b17fd862-c06d-4bce-9f11-358a2be04668",
            "status": {
                "code": 504,
                "description": "OPEN_TABLE"
            },
            "deliveryAgent": null,
            "deliveryDateTime": null,
            "cancellationReason": null,
            "tableCardNumber": "370"
        },
        {
            "id": "5b8d7e5c-f87e-40ac-91b7-726da529fc88",
            "status": {
                "code": 504,
                "description": "OPEN_TABLE"
            },
            "deliveryAgent": null,
            "deliveryDateTime": null,
            "cancellationReason": null,
            "tableCardNumber": "4040"
        }
    ]
}

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




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": "CARD",
    "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.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": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
    "orderKeyType": "CARD",
    "orderKey": [
        "40",
        "20"
    ],
    "lastestUpdatedStatus": "2024-09-12 11:56:09",
    "items": [
        {
            "id": "2160c838-97d0-432f-a43a-dce087150d49",
            "status": {
                "code": 504,
                "description": "OPEN_TABLE"
            },
            "deliveryAgent": null,
            "deliveryDateTime": null,
            "cancellationReason": null,
            "tableCardNumber": "340"
        },
        {
            "id": "360",
            "status": {
                "code": 412,
                "description": "NOT_FOUND"
            },
            "deliveryAgent": null,
            "deliveryDateTime": null,
            "cancellationReason": null,
            "tableCardNumber": null
        }
    ]
}

Status enviado com sucesso.

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
integrationHubServiceId *stringChave de identificação da integração no hub
success *booleanIndica 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
lastestUpdatedStatus *stringData e hora da última atualização do status dos pedidos
orderKey *arrayLista de identificadores dos pedidos (neste caso, o número da mesa)
orderKeyType *enum Tipo de chave do pedido, que pode ser mesa, cartão ou ID do pedido
items *arrayLista de itens associados ao pedido, detalhando o status de cada item
error * arrayErro é necessário quando o sucesso é falso


CampoValorDescrição
id *stringIdentificador do item dentro do pedido
status *objetoObjeto contendo informações detalhadas sobre o status 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
code *numberCódigo do status
description *stringDescrição do status


CampoValorDescrição
code *numberIdentifica o tipo de erro ocorrido
message *stringDetalha a falha e fornece mais informações sobre o erro

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



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": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
	"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": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
	"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, por causa do Token de autenticação ausente.


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



O código de status HTTP 404, conhecido como "Not Found" (Não Encontrado), indica que o servidor não encontrou o recurso solicitado. Uma ou mais informações postadas não foram encontradas.


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



05. LINKS


API Order Cartão - New Order
API Order Cartão - Get Consumption
API Order Cartão - Consumption
API Order Cartão - Payment
API Order Cartão - Get Cancelled Items
API Order Cartão - Cancelled Items
API Order Cartão - Get Status