Páginas filhas
  • API Order Cartão - Status

Versões comparadas

Chave

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

CONTEÚDO


01. VISÃO GERAL
Âncora
ver_geral
ver_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 Mesa Cartão - Get Status


...

02. ENDPOINT
Âncora
endpoint
endpoint


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


...

03. EXEMPLO DE UTILIZAÇÃO
Âncora
utilizar
utilizar


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

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: 

Âncora
todos_status
todos_status

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
	    "success": true,
	    "error": null,
	    "integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
	    "orderKeyType": "TABLECARD",
	    "orderKey": [],
	    "lastestUpdatedStatus": "2024-0709-0312 1711:1830:4210",
	    "items": [
		{
			        {
            "id": "fd8654cfad976378-ca3d8823-440c48d3-b34e9cd1-c7936cbbd1fd62d68cf3be77",
			"status": {
				            "status": {
                "code": 506,
				504,
                "description": "CLOSEDOPEN_TABLE"
			},
			            },
            "deliveryAgent": null,
			            "deliveryDateTime": null,
			            "cancellationReason": null,
			"tableCardNumber": "1"
		},
		{
			            "tableCardNumber": "1"
        },
        {
            "id": "f08549f82160c838-c82f97d0-4d29432f-8955a43a-25bc9f15c84adce087150d49",
			            "status": {
				                "code": 506,
				505,
                "description": "CLOSEDTABLE_IN_TABLE"
			},
			USE"
            },
            "deliveryAgent": null,
			            "deliveryDateTime": null,
			            "cancellationReason": null,
			"tableCardNumber": "2"
		},
		{
			            "tableCardNumber": "340"
        },
        {
            "id": "d19436e4b17fd862-99dac06d-45934bce-a92a9f11-46125f076e12358a2be04668",
			            "status": {
				                "code": 504,
				                "description": "OPEN_TABLE"
			},
			            },
            "deliveryAgent": null,
			            "deliveryDateTime": null,
			            "cancellationReason": null,
			            "tableCardNumber": "3370"
		},
		{
			        },
        {
            "id": "05bc94785b8d7e5c-60ccf87e-43b340ac-87bb91b7-6f9a1d0cf295726da529fc88",
			            "status": {
				"code": 504,
				                "code": 504,
                "description": "OPEN_TABLE"
			            },
			"deliveryAgent": null,
			            "deliveryAgent": null,
            "deliveryDateTime": null,
			            "cancellationReason": null,
			            "tableCardNumber": "44040"
		},
		{
			"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,
				        }
    ]
}
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 - 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:

Âncora
detalhes_pedido_especifico
detalhes_pedido_especifico

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
    "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"
        }
    ]
}
Nota
titleNota: HTTP Status Code = 226 IM Used

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.

Âncora
multiplos
multiplos

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
    "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": "11"
		},
		{
			            "tableCardNumber": "340"
        },
        {
            "id": "693abccf-b584-4e40-83df-266e0d4a787e360",
			            "status": {
				                "code": 504,
				412,
                "description": "OPENNOT_TABLE"
			},
			FOUND"
            },
            "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"
		}
	]
}
Nota
titleNota: HTTP Status Code = 226 IM Used

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

...

            "tableCardNumber": null
        }
    ]
}
Nota
titleNota: HTTP Status Code = 226 IM Used

Status enviado com sucesso.

Dica
titleDica

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.


  • Detalhamento dos campos da requisição:
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


  • Itens associados detalhados:
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)


  • Estrutura do Enum Items - Status 
CampoValorDescrição
code *numberCódigo do status
description *stringDescrição do status


  • Erro (quando success é false):
CampoValorDescrição
code *numberIdentifica o tipo de erro ocorrido
message *stringDetalha a falha e fornece mais informações sobre o 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
titleCorpo da requisição no JSON faltando campos
linenumberstrue
{
	"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
	"

...

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
	"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"
		}
	]
}
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": "647469f8-b31b-4fae-ba33-99e04def555b",
	"orderKeyType": "TABLE",
	"orderKey": [
		"18",
		"19"
	],
	"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"
		}
	]
}
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: A chave do pedido, que pode ser uma lista de identificadores.
  • lastestUpdatedStatus: A data e hora da última atualização do status do pedido.
  • items: Uma lista de itens relacionados ao pedido, onde cada item inclui:
    • id: O identificador do item.
    • status: O status atual do item, incluindo um código e uma descrição.
    • deliveryAgent: Informações sobre o agente de entrega, se aplicável.
    • deliveryDateTime: Data e hora de entrega, se aplicável.
    • cancellationReason: Motivo do cancelamento, se aplicável.
    • tableCardNumber: O número da mesa associada ao pedido.
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:

...

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. JSON enviando faltando um ou mais campos.

Bloco de código
titleCorpo da requisição no JSON faltando campos
linenumberstrue
{
	"integrationHubServiceId": "5ffec6b8-1c55-4a7d-985f-12d13685b5538",
	"success": true,
	"orderStatus": [
		{
			"id": "bd768726-91ef-4161-b35b-4e28e711dfd8",
			"status": {
				"code": 1,
				"description": "Em Preparo"
			}
		}
	]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"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"
		}
	]
}

02. Formando inválido do JSON esperado

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"success": true,
	"errororderStatus": null,
[
		{
			"integrationHubServiceIdid": "644a4d3cbd768726-6d2c91ef-41544161-a089b35b-c1ab3fd891514e28e711dfd8",
			"orderKeyTypestatus": "String",{
				"orderKeycode": [1,
		"22"
	],
	"lastestUpdatedStatusdescription": "2024-07-16 15:48:30",
	"items": [
		{Em Preparo"
			}
			"id": "975dbf9b-a11d-4efe-b491-197ee123bfe4",
			"status": }
	]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errors": [
		{
				"codekey": 504"integrationHubServiceId",
				"descriptionmessage": "OPEN_TABLEbody.integrationHubServiceId must be a valid GUID"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,{
			"cancellationReasonkey": null"orderKeyType",
			"tableCardNumbermessage": "22body.orderKeyType is required"
		},
	]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errors": [
		{
			"key": "orderKeyTypeorderKey",
			"message": "body.orderKeyTypeorderKey must be one of [ORDER_ID, TABLE, CARD]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.

...


...


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.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"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"
		}
	]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
		}
	

...

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.

Nota
titleNota: HTTP Status Code = 401 Unauthorized

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

Bloco de código
titleURL enviada incorreda
https://api-barramento.meuelevestage.com/order/statusS
Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
    "integrationHubServiceId": "1188f64e-3ce8-45be-882c-6c8dcfcb70d4",
	  "orderKeyType": "TABLE",
	   "orderKey": ["09"]
}
Nota
titleNota: HTTP Status Code = 403 - Forbidden400 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 novamenteO cliente não enviou uma requisição para a URL  incorreta.


...

  • HTTP Status Code 404 401 - Not FoundUnauthorized
    Âncora
    status_code_
    404status_code_404

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.

Bloco de código
titleJSON de retorno de múltiplos pedidos
linenumberstrue
{
	"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"
		}
	]
}
  • 401
    status_code_401
     

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.


Nota
titleNota: HTTP Status Code = 401 Unauthorized

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.


...

  • HTTP Status Code 403 - Forbidden
    Âncora
    status_code_403
    status_code_403

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.


Bloco de código
titleURL enviada incorreda
https://api-barramento.meuelevestage.com/order/statusS
Bloco de código
titleCorpo da requisição no JSON
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errorsmessage": [
		{
			"key": "orderKeyType_orderKey",
			"message": "Order status for: TABLE_22 not found"
		}
	]
}"Missing Authentication Token"
}


...

  • HTTP Status Code 404 - Not Found
    Âncora
    status_code_404
    status_code_404

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.


Nota
titleNota: HTTP Status Code = 404 - Not Found

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


...




Templatedocumentos