Páginas filhas
  • API Order Mesa - Status

Versões comparadas

Chave

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

...

...

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 pelo endpoint GetOrderStatus -   API Order Mesa - Get Status

...

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

Âncora
todos_status
todos_status

Bloco de código
titleResposta do JSON Corpo 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
titleDicaNota: HTTP Status Code = 226 IM Used

A solicitação foi processada com sucesso e o resultado foi retornado conforme esperadoO corpo da requisição enviada é o mesmo que o corpo da resposta obtida através do endpoint GetOrderStatus.


...

02. Enviando o pedido para obter o status de um pedido especifico:

Âncora
detalhes_pedido_especifico
detalhes_pedido_especifico

Bloco de código
titleJSON Para retornar o status de um pedido específicoCorpo da requisição no JSON
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
  	"orderKeyType": "TABLE",
  	"orderKey": [
		"4019"
	]
}
Nota
titleNota: HTTP Status Code = 202 Accepted

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.

Bloco de código
titleJSON de resposta do retorno de um pedido específico HTTP Status Code = 208
linenumberstrue
{
	"errors": [
		{
			"key": "orderKeyType_orderKey",
	"lastestUpdatedStatus": "2024-07-15 16:40:13",
	"items": [
		{
			"id": "406a2a14-ac79-422a-b667-769fa1d2a9a0",
			"status": {
				"code": 505,
				"description": "TABLE_IN_USE"
			},
			"messagedeliveryAgent": "Order status request already exists: TABLE_40null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "19"
		}
	]
}  
 
Nota
titleNota: HTTP Status Code = 208 Already Reported226 IM Used

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.foi processada com sucesso e o resultado foi retornado conforme esperado.


...

03. Corpo da requisição para obter o status de múltiplos pedidos:

Âncora
multiplos
multiplos

Bloco de código
titleJSON de resposta do retorno de um pedidoCorpo da requisição no JSON
linenumberstrue
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "1853f0ab647469f8-faf7b31b-47d64fae-a193ba33-610b2080714399e04def555b",
	"orderKeyType": "TABLE",
	"orderKey": [
		"18",
		"4019"
	],
	"lastestUpdatedStatus": "2024-06-28 09:0413:0646",
	"items": [
		{
			"id": "504251478c3752a1-5d06ae15-4b8742a1-a05bbafb-4586f2dccc71189ca95f0211",
			"status": {
				"code": 505,
				"description": "TABLE_IN_USE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "4018"
		},
	]
}
Nota
titleNota: HTTP Status Code = 226 IM Used

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

04. Retornar o status de múltiplos pedidos:

Bloco de código
titleJSON Para retornar múltiplos pedidos
linenumberstrue
{
  "integrationHubServiceId		{
			"id": "7056c9705ebf990f-cb119075-400f462c-9d4fb675-9f30253f3b0ba8c57a350d61",
  "orderKeyType			"status": "TABLE",
  "orderKey{
				"code": 504,
				"description": ["40", "20"]
}
Bloco de código
titleJSON de retorno de múltiplos pedidos
linenumberstrue
{
	"success": true,
	"error"OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"integrationHubServiceIdcancellationReason": "647469f8-b31b-4fae-ba33-99e04def555b"null,
	"orderKeyType": "TABLE",
		"orderKeytableCardNumber": [
		"1819",
		"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"
		}
	]
}
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:

...


}
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:


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


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"
		},

...

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]is required"
		},
		]
}

02. JSON enviando faltando um ou mais campos.

...

titleJSON Inválido
linenumberstrue
{
			"key": "orderKey",
			"message": "body.orderKey is required"
		}
	]
}


02. Formando inválido do JSON esperado

...

Bloco de código
titleJSON Resposta Inválido
linenumberstrue
{
	"errorssuccess": [
		{
		true,
	"keyerror": "orderKeyType"null,
			"messageintegrationHubServiceId": "body.orderKeyType is required"
		},
		{
			"key644a4d3c-6d2c-4154-a089-c1ab3fd89151",
	"orderKeyType": "orderKeyString",
			"messageorderKey": "body.orderKey is required"[
		}"22"
	]
}

03. GUID incorreto 

Bloco de código
titleJSON com o GUID inválido
linenumberstrue
{
    "integrationHubServiceId,
	"lastestUpdatedStatus": "9a1cf3262024-c962-456f-8c49-c1bb2f340fc6A07-16 15:48:30",
	  "orderKeyTypeitems": "TABLE",[
		{
	  		"orderKeyid": []
}
Bloco de código
titleJSON Inválido GUID incorreto
linenumberstrue
{
	"errors": [
		{
			"key": "integrationHubServiceId""975dbf9b-a11d-4efe-b491-197ee123bfe4",
			"status": {
				"code": 504,
				"messagedescription": "body.integrationHubServiceId must be a valid GUIDOPEN_TABLE"
			}
	]
}

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 orderKey
linenumberstrue
{
    "integrationHubServiceId": "808c143d-d6d4-4b95-8c37-efa3a934f222",
	  "orderKeyType": "TABLE",
	  "orderKey": [""]
}
Bloco de código
titleJSON Response
linenumberstrue
{
	"errors": [
		{
			"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.

...

,
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "22"
		}
	]
}
Bloco de código
titleResposta do JSON da requisição

...

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.

{ "errors": [ { "key": "integrationHubServiceId", "message": "Provider Merchant for integrationHubServiceId \"f1b874af-96ab-4535-aac3-25118fe586cc\" not found or disabled" } ] }
Bloco de código
titleIntegration Hub Code Inválido
linenumberstrue
{
    "integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586cc",
	  "orderKeyType	"errors": [
		{
			"key": "TABLEorderKeyType",
			"orderKeymessage": "body.orderKeyType must be one of ["5"ORDER_ID, TABLE, CARD]"
		}
	]
}
Bloco de código
titleJSON Response
linenumberstrue



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-8746882c-369e651026b46c8dcfcb70d4",
	  "orderKeyType": "TABLE",
	   "orderKey": []
}
Bloco de código
titleHTTP Status Code 412 = Precpndition Failed
linenumberstrue
{
	"message": "NOT_FOUND",
	"code": 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.

...

HTTP Status Code = 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,
			"deliveryDateTime": 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.


...

...