CONTEÚDO


01. VISÃO GERAL

O endpoint CancelledItems da API Order Mesa é utilizado para envio do resultado da solicitação de itens cancelados de pedido através do Ponto de Vendas (PDV). Este endpoint recebe o mesmo corpo da resposta obtida pelo endpoint GetCancelledItems -   API Order Mesa - Get Cancelled Items



02. ENDPOINT


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



03. EXEMPLO DE UTILIZAÇÃO

3.1 - Envio da requisição para obter o status de um item cancelado no PDV:
Ao enviar a requisição para este endpoint, o sistema processa a solicitação e retorna o status atualizado de um item cancelado no PDV. O corpo da requisição deve conter os dados obtidos no endpoint getCancelledItems, e a resposta fornecerá as informações detalhadas sobre o cancelamento solicitado.

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "5ffec6b8-1c55-4a7d-985f-12d13685b553",
	"orderKeyType": "TABLE",
	"orderKey": ["22"],
	"lastestUpdatedStatus": "2024-07-18 09:26:47",
	"items": [
		{
			"id": "39735945",
			"index": "5",
			"name": "MARACUJA",
			"externalCode": "58",
			"quantity": 1,
			"cancellationAgent": "ALBINO",
			"cancellationDateTime": "2024-07-17 14:19:33",
			"cancellationReason": " 55596;",
			"tableCardNumber": "22",
			"productionPoint": "NENHUM"
		}
	]
}

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



3.2. Request - Corpo da requisição para consultar o cancelamento de vários pedidos no PDV específico:

Essa requisição é enviada para verificar se os itens de vários pedidos cancelados em um PDV específico foram transmitidos com sucesso. 

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "d01ea5cd-7952-4b77-b0ae-ed93aa32e832",
	"orderKeyType": "TABLE",
	"orderKey": [
		"22",
		"23"
	],
	"lastestUpdatedStatus": "2024-07-18 09:48:03",
	"items": [
		{
			"id": "39735945",
			"index": "5",
			"name": "MARACUJA",
			"externalCode": "58",
			"quantity": 1,
			"cancellationAgent": "ALBINO",
			"cancellationDateTime": "2024-07-17 14:19:33",
			"cancellationReason": " 55596;",
			"tableCardNumber": "22",
			"productionPoint": "NENHUM"
		},
		{
			"id": "3973594011",
			"index": "19",
			"name": "MARACUJA",
			"externalCode": "58",
			"quantity": 1,
			"cancellationAgent": "ALBINO",
			"cancellationDateTime": "2024-07-17 16:04:27",
			"cancellationReason": " 55596;",
			"tableCardNumber": "23",
			"productionPoint": "NENHUM"
		}
	]
}

O corpo da request preenchida, deverá ser obrigatóriamente o é o mesmo que o corpo do response obtido através do endpoint GetCancelledItems


Dicionário de Request


Informações sobre o campos da request da API cancelledItems, é utilizada para retornar os dados do(s) pedido(s) cancelado(s).

CampoValorDescrição
successbooleanIndica se a operação foi bem-sucedida
errorobjetoContém informações sobre erros, se houver (veja na tabela de error)
integrationHubServiceIdstringChave de identificação de integração
orderKeyTypeenumTipo da chave do pedido (veja na tabela orderKeyType)
orderKeyarrayLista de identificadores de pedidos (números de mesa, cartão, ou ID de pedido)
lastestUpdatedStatusstring (data e hora)Data e hora da última atualização do status dos pedidos
itemsarrayLista de itens cancelados


Enum

Valor

Descrição

TABLETABLEIdentifica o pedido pelo número da mesa
CARDCARDIdentifica o pedido pelo número do cartão
ORDER_IDORDER_IDIdentifica o pedido por um ID exclusivo


CampoValorDescrição
idstringIdentificador do produto no lançamento.
indexstringPosição do produto no lançamento.
namestringNome do item/produto.
externalCodestringCódigo do produto no PDV integrado.
quantitynúmeroQuantidade do item cancelado.
cancellationAgentstringOperador responsável pelo cancelamento.
cancellationDateTimestring (data e hora)Data e hora do cancelamento.
cancellationReasonstringMotivo do cancelamento.
tableCardNumberstringNúmero da mesa ou cartão associado ao item cancelado
productionPointstringPonto de produção relacionado ao item


EnumValorDescrição
codecódigo do erroIdentifica o código do erro
messagemessagem do erroDescrição detalhada do erro ocorrido, ex: "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"



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-12d13685b553",
	"orderKeyType": "TABLE",
	"orderKey": [
		"22",
		"23"
	],
	"lastestUpdatedStatus": "2024-07-18 09:48:03",
	"items": [
		{
			"id": "39735945",
			"index": "5",
			"name": "MARACUJA",
			"externalCode": "58",
			"quantity": 1,
			"cancellationAgent": "ALBINO",
			"cancellationDateTime": "2024-07-17 14:19:33",
			"cancellationReason": " 55596;",
			"tableCardNumber": "22",
			"productionPoint": "NENHUM"
		},
		{
			"id": "3973594011",
			"index": "19",
			"name": "MARACUJA",
			"externalCode": "58",
			"quantity": 1,
			"cancellationAgent": "ALBINO",
			"cancellationDateTime": "2024-07-17 16:04:27",
			"cancellationReason": " 55596;",
			"tableCardNumber": "23",
			"productionPoint": "NENHUM"
		}
	]
}
{
	"errors": [
		{
			"key": "success",
			"message": "body.success is required"
		}
	]
}




4.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": "5ffec6b8-1c55-4a7d-985f-12d13685b553",
	"orderKeyType": "String",
	"orderKey": [
		"22",
		"23"
	],
	"lastestUpdatedStatus": "2024-07-18 09:48:03",
	"items": [
		{
			"id": "39735945",
			"index": "5",
			"name": "MARACUJA",
			"externalCode": "58",
			"quantity": 1,
			"cancellationAgent": "ALBINO",
			"cancellationDateTime": "2024-07-17 14:19:33",
			"cancellationReason": " 55596;",
			"tableCardNumber": "22",
			"productionPoint": "NENHUM"
		},
		{
			"id": "3973594011",
			"index": "19",
			"name": "MARACUJA",
			"externalCode": "58",
			"quantity": 1,
			"cancellationAgent": "ALBINO",
			"cancellationDateTime": "2024-07-17 16:04:27",
			"cancellationReason": " 55596;",
			"tableCardNumber": "23",
			"productionPoint": "NENHUM"
		}
	]
}
{
	"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.



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 - Status
API Order Mesa - Get Consumption
API Order Mesa - Consumption
API Order Mesa - Payment
API Order Mesa - Get Cancelled Items