CONTEÚDO


01. VISÃO GERAL


Este endpoint é utilizado para obter itens de cancelamento de pedidos por meio de integração do PDV, fornecendo um retorno em formato JSON com os itens cancelados.

Obtenha os itens cancelados atribuídos a um ou mais pedidos utilizando o parâmetro orderKeyType, que pode ser ORDER_ID, TABLE ou CARD.



02. ENDPOINT


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



03. EXEMPLO DE UTILIZAÇÃO


3.1 - Request - Enviando a solicitação para o cancelamento de um pedido específico:

Ao fazer essa requisição, o sistema processa a solicitação de cancelamento do pedido indicado.

{
  "integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
  "orderKeyType": "TABLE",
  "orderKey": ["22"]
}

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.




3.2 - Request - Ao reenviar a solicitação, a resposta retornada será a seguinte:

Após reenviar a requisição, você receberá uma resposta detalhando o status atualizado do processamento do pedido.

{
	"errors": [
		{
			"key": "orderKeyType_orderKey",
			"message": "Order cancelled itens request already exists: TABLE_22"
		}
	]
}

Seu pedido já foi enviado, aguarde alguns instantes e entre em contato com o mesmo endereço para obter os itens cancelados solicitados.




3.3 - Request - Ao enviar novamente a solicitação, o processamento será realizado conforme a seguinte resposta:

Reenviando a requisição, o sistema processará o pedido e retornará uma resposta que reflete o status do processamento realizado.


{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
	"orderKeyType": "TABLE",
	"orderKey": ["22"],
	"lastestUpdatedStatus": "2024-07-17 14:21:24",
	"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.4 -  Request - Enviando o pedido para requisição do cancelamento de múltiplos pedidos:
Essa requisição é utilizada para solicitar o cancelamento de diversos pedidos simultaneamente, permitindo que o sistema processe e cancele cada pedido listado de forma eficiente.

{
  "integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
  "orderKeyType": "TABLE",
  "orderKey": ["22", "23"]
}

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.




3.5 - Request - Ao reenviar a solicitação, a resposta retornada será a seguinte:

Após reenviar a requisição, você receberá uma resposta detalhando o status atualizado do processamento do pedido.

{
	"errors": [
		{
			"key": "orderKeyType_orderKey",
			"message": "Order cancelled itens request already exists: TABLE_22,23"
		}
	]
}

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.




3.6 - Request - Ao enviar novamente a solicitação, o processamento será realizado conforme a seguinte resposta:

Reenviando a requisição, o sistema processará o pedido e retornará uma resposta que reflete o status do processamento realizado.

{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
	"orderKeyType": "TABLE",
	"orderKey": [
		"22",
		"23"
	],
	"lastestUpdatedStatus": "2024-07-17 16:18:40",
	"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"
		}
	]
}

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




Dicionário da Request


Informações sobre os campos da API cancelledItems:


CampoValorDescrição
integrationHubServiceId *stringChave de identificação de integração que é utilizada para identificar de forma única a integração dentro do hub
orderKeyTypeenumTipo de chave de pedido (veja tabela orderKeyType)

orderKey

arraySolicitar chave de pedido de itens cancelados. Uma lista que contém os identificadores dos pedidos, conforme especificado no campo orderKeyType


EnumValorDescrição
TABLETABLEChave que representa o número da mesa
CARDCARDChave que representa um cartão
ORDERD_IDORDER_ID Chave que representa o identificador do pedido

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",
	  "orderKeyType": "string",
	  "orderKey": ["22"]
}
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
		}
	]
}




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.

{
    "integrationHubServiceId": "a5c4e135-aacd-49c1-b051-160a78a83b56"
}
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType is required"
		},
		{
			"key": "orderKey",
			"message": "body.orderKey is required"
		}
	]
}




4.3 -  GUID incorreto:

O GUID (Identificador Globalmente Único) enviado na requisição está incorreto ou malformado, o que pode resultar em um erro. Um GUID é uma sequência específica que deve seguir o padrão correto.

{
    "integrationHubServiceId": "9a1cf326-c962-456f-8c49-c1bb2f340fc6A",
	  "orderKeyType": "TABLE",
	  "orderKey": []
}
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "body.integrationHubServiceId must be a valid GUID"
		}
	]
}




4.4 - Requisição enviada sem informar o orderKey corretamente:

Caso a requisição seja enviada sem o campo orderKey ou com o valor incorreto, o sistema não conseguirá identificar o pedido, resultando em um erro 400. O orderKey deve estar corretamente preenchido e de acordo com o orderKeyType informado.

{
    "integrationHubServiceId": "808c143d-d6d4-4b95-8c37-efa3a934f222",
	  "orderKeyType": "TABLE",
	  "orderKey": [""]
}
{
	"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 do cliente por está tentando acessar uma URL incorreta


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

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



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 integrationHubId  está incorreto ou inválido.


{
    "integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586cc",
	  "orderKeyType": "TABLE",
	  "orderKey": ["5"]
}
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "Provider Merchant for integrationHubServiceId \"f1b874af-96ab-4535-aac3-25118fe586cc\" not found or disabled"
		}
	]
}

IntegrationHubId incorreto ou inválido



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.


{
    "integrationHubServiceId": "7d7d205b-83ba-47c5-91ba-e4f32a2bbd9e",
	  "orderKeyType": "TABLE",
	  "orderKey": ["5"]
}
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "5ffec6b8-1c55-4a7d-985f-12d13685b553",
	"orderKeyType": "TABLE",
	"orderKey": [
		"22"
	],
	"lastestUpdatedStatus": "2024-07-17 17:08:45",
	"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"
		}
	]
}

Alguma regra para atender ao seu pedido não foi cumprida; analise o corpo da resposta para descobrir as razões.


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 - Cancelled Items