Páginas filhas
  • API Order Mesa - Status

Versões comparadas

Chave

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

CONTEÚDO

...

O endpoint Get Status da API Order Mesa é utilizado no ponto de venda (PDV) para obter 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 resposta obtido pelo endpoint GetOrderStatus -   API Order Mesa - Get Status

...

02. ENDPOINT
Âncora
endpoint
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
Âncora
utilizar
utilizar

3.1 - Request - 01. 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.

Â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": "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"
		}
	]
}
Dicanote
titleDica

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

Nota
titleNota: HTTP Status Code = 226 IM Used

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

Nota: HTTP Status Code = 226 IM Used

Status enviado com sucesso.


...


3.2 - Request - 02. Enviando o pedido para obter o status de um pedido especificoespecí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
Âncora
detalhes_pedido_especifico
detalhes_pedido_especifico

...

Nota
titleNota: HTTP Status Code = 226 IM Used

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


...


04. Retornar 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

Neste exemplo, os dados retornados incluem:

success: Indica
Bloco de código
titleCorpo da requisição no JSON
Bloco de código
titleJSON Para retornar múltiplos pedidos
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7056c970647469f8-cb11b31b-400f4fae-9d4fba33-9f30253f3b0b99e04def555b",
  	"orderKeyType": "TABLE",
  	"orderKey": ["4018"], "20"]
}
Bloco de código
titleJSON de retorno de múltiplos pedidos
linenumberstrue
{
	"successlastestUpdatedStatus": true"2024-06-28 09:13:46",
	"erroritems": null,[
		{
			"integrationHubServiceIdid": "647469f88c3752a1-b31bae15-4fae42a1-ba33bafb-99e04def555b189ca95f0211",
			"orderKeyTypestatus": "TABLE"{
				"code": 505,
				"orderKeydescription": [
"TABLE_IN_USE"
			"18"},
			"19deliveryAgent": null,
	],
		"lastestUpdatedStatusdeliveryDateTime": "2024-06-28 09:13:46"null,
			"itemscancellationReason": [null,
		{
			"idtableCardNumber": "8c3752a1-ae15-42a1-bafb-189ca95f021118"
		},
		{
			"id": "5ebf990f-9075-462c-b675-a8c57a350d61",
			"status": {
				"code": 505504,
				"description": "OPEN_TABLE_IN_USE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "1819"
		},
		{
			"id": "5ebf990f-9075-462c-b675-a8c57a350d61",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "19"
		}
	]
}
Informações
titleNota:
]
}
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

...

  • 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.
mesa, cartão ou ID do pedido
items *arrayLista de itens associados ao pedido, detalhando o status de cada item


  • 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)
deliveryDateTimestringData 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 *código do erroIdentifica o tipo de erro ocorrido
message *mensagem descritivaDetalha 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": "5ffec6b8-1c55-4a7d-985f-12d13685b5538",
	"success": true,
	"orderStatus
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. Formando inválido do JSON esperado.

Bloco de código
titleJSON Inválido
linenumberstrue
{
    "integrationHubServiceId": "393d9572-2ec9-4cda-9ad3-5b69e02c988d",
	  "orderKeyType": "string",
	   "orderKey": ["string"]
}
Bloco de código
titleJSON Resposta
linenumberstrue
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
		}
	]
}

02. JSON enviando faltando um ou mais campos.

Bloco de código
titleJSON Inválido
linenumberstrue
{
    "integrationHubServiceId": "a5c4e135-aacd-49c1-b051-160a78a83b56"
}
Bloco de código
titleJSON Resposta
linenumberstrue
{
	"errors": [
		{
			"keyid": "orderKeyTypebd768726-91ef-4161-b35b-4e28e711dfd8",
			"messagestatus": "body.orderKeyType is required"
		},{
		{
			"keycode": "orderKey"1,
				"messagedescription": "body.orderKey is required"Em Preparo"
			}
		}
	]
}

03. GUID incorreto 

Bloco de código
titleJSON com o GUID inválidoResposta do JSON da requisição
linenumberstrue
{
    "integrationHubServiceId": "9a1cf326-c962-456f-8c49-c1bb2f340fc6A",
	  "orderKeyType	"errors": [
		{
			"key": "TABLEintegrationHubServiceId",
			  "orderKeymessage": []
}
Bloco de código
titleJSON Inválido GUID incorreto
linenumberstrue
{
	"errors": [ "body.integrationHubServiceId must be a valid GUID"
		},
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType is required"
		},
		{
			"key": "integrationHubServiceIdorderKey",
			"message": "body.integrationHubServiceIdorderKey must be a valid GUIDis 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.04. Enviando uma requisição sem informar o código da orderKey corretamente

Bloco de código
titleJSON com sem informar o código da orderKeyInválido
linenumberstrue
{
    "integrationHubServiceId	"success": "808c143d-d6d4-4b95-8c37-efa3a934f222true,
	"error": null,
	"integrationHubServiceId": "644a4d3c-6d2c-4154-a089-c1ab3fd89151",
	  "orderKeyType": "TABLEString",
	  "orderKey": [
		"22"
	]
}
Bloco de código
titleJSON Response
linenumberstrue
{
	"errors,
	"lastestUpdatedStatus": "2024-07-16 15:48:30",
	"items": [
		{
			"key": 0,
			"message": "body.orderKey[0] is not allowed to be empty"
		}
	]
}
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.

...

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

Bloco de código
titleURL enviada incorreda
https://api-barramento.meuelevestage.com/order/getStatuS
Bloco de código
titleJSON Response para URL incorreta
linenumberstrue
{
	"message": "Missing Authentication Token"
}
Nota
titleNota: HTTP Status Code = 403 - Forbidden

O cliente não incluiu um token de autenticação válido no cabeçalho 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.

Bloco de código
titleIntegration Hub Code Inválido
linenumberstrue
{
    "integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586cc",
	  "orderKeyType": "TABLE",
		"orderKey": ["5"]
}

...

titleJSON Response
linenumberstrue
"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]"
		}
	]
}
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.


...

  • HTTP Status Code 401 - Unauthorized
    Âncora
    status_code_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 = 404 - Not Found401 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 novamenteUma ou mais informações enviadas não puderam ser encontradas.


...

  • HTTP Status Code 412 403 - Precondition FailedForbidden
    Âncora
    status_code_
    412
    403
    status_code_
    412
    403

O código de status HTTP 412403, conhecido como "Precondition FailedForbidden" (Pré-condição FalhouProibido), indica que o servidor não atendeu a uma das pré-condições que o cliente colocou no cabeçalho da requisiçã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": "8f7949c31188f64e-cdd63ce8-4db045be-8746-369e651026b4",
	  "orderKeyType": "TABLE",
	  "orderKey": []
}
Bloco de código
titleHTTP Status Code 412 = Precpndition Failed
linenumberstrue
{
	"message882c-6c8dcfcb70d4",
	  "orderKeyType": "NOT_FOUNDTABLE",
	   "codeorderKey": 412["09"]
}
Nota
titleNota: HTTP Status Code = 412 Precondition Failed

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.

...

403 - Forbidden

O cliente não enviou uma requisição para a URL  incorreta.


...

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

...

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.

Bloco de código
titleJSON da requisição
linenumberstrue
{
    "integrationHubServiceId": "7d7d205b-83ba-47c5-91ba-e4f32a2bbd9e",
	  "orderKeyType": "TABLE",
		"orderKey": ["5"]
}
Bloco de código
titleResposta da última execução
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7d7d205bf1b874af-83ba96ab-47c54535-91baaac3-e4f32a2bbd9e25118fe586cc",
	"orderKeyType": "TABLE",
	"orderKey": [
		"519"
	],
	"lastestUpdatedStatus": "2024-07-0215 1817:5402:2835",
	"items": [
		{
			"id": "de9fd388406a2a14-c223ac79-4325422a-a64db667-08889250f839769fa1d2a9a0",
			"status": {
				"code": 504505,
				"description": "OPENTABLE_IN_TABLEUSE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,null,
			"cancellationReason": null,
			"tableCardNumber": "19"
		}
	]
}
Bloco de código
titleResposta do JSON da requisição
linenumberstrue
{
	"errors": [
		{
			"cancellationReasonkey": null"orderKeyType_orderKey",
			"tableCardNumbermessage": "5Order status for: TABLE_22 not found"
		}
	]
}
Nota
titleNota: HTTP Status Code = 429 - Too Many Requests404 - Not Found

Uma ou mais informações enviadas não puderam ser encontradasAlguma regra para atender ao seu pedido não foi cumprida; analise o corpo da resposta para descobrir as razões.


...




Templatedocumentos