CONTEÚDO


01. VISÃO GERAL

Essa documentação tem como finalidade demonstrar o formato do JSON para envio de requisições de pedidos, como valor integração e adicionais.



02. EXEMPLO DE UTILIZAÇÃO


2.1 - Request Itens com Valor Integral e Adicionais:

Ao enviar a requisição para este endpoint, o sistema processa a criação de um novo pedido, incluindo itens de valor integral

{
	"integrationHubServiceId": "3fea8768-bbd9-454b-9e7b-40841e9a6812",
	"data": {
		"id": "f4114e16-c2e4-4dc3-86f3-98a52bfd5d7d",
		"type": "CARD",
		"displayId": "29",
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"merchant": {
			"id": "c312d2ff-1a8f-40ad-8eed-9ae9a908df6e",
			"name": "BOTECO DO ALBINO"
		},
		"items": [
			{
				"id": "61",
				"index": "60",
				"name": "A FRANCESA",
				"externalCode": "1",
				"unit": "UN",
				"quantity": 1,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 1.00,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				"options": [
					{
						"index": "61",
						"id": "61",
						"name": "COMPOSICAO A",
						"externalCode": "201",
						"unit": "UN",
						"quantity": 1,
						"unitPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"originalPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"totalPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"productionPoint": "Teste"
					}
				]
			}
		],
		"otherFees": [],
		"total": {
			"items": 70.90,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 70.90,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": null,
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": null,
		"card": {
			"waiterCode": 9999,
			"cardNumber": 29,
			"deliveryTableNumber": 29
		} 
	}
}

Sua solicitação foi aceita mas ainda não processada, aguarde alguns instantes e procure o status.



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


3.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": "3fea8768-bbd9-454b-9e7b-40841e9a6812",
	"data": {
		"id": "f4114e16-c2e4-4dc3-86f3-98a52bfd5d7d",
		"type": "CARD",
		"displayId": 29,
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"merchant": {
			"id": "c312d2ff-1a8f-40ad-8eed-9ae9a908df6e",
			"name": "BOTECO DO ALBINO"
		},
		"items": [
			{
				"id": "61",
				"index": "60",
				"name": "A FRANCESA",
				"externalCode": "1",
				"unit": "UN",
				"quantity": 1,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				"options": [
					{
						"index": "61",
						"id": "61",
						"name": "COMPOSICAO A",
						"externalCode": "201",
						"unit": "UN",
						"quantity": 1,
						"unitPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"originalPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"totalPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"productionPoint": "Teste"
					}
				]
			}
		],
		"otherFees": [],
		"total": {
			"items": 70.90,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 70.90,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": null,
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": null,
		"card": {
			"waiterCode": 9999,
			"cardNumber": 29,
			"deliveryTableNumber": 29
		} 
	}
}
{
	"errors": [
		{
			"key": "displayId",
			"message": "body.data.displayId must be a string"
		}
	]
}




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.

{
	"integrationHubServiceId": "3fea8768-bbd9-454b-9e7b-40841e9a6812",
	"data": {
		"id": "f4114e16-c2e4-4dc3-86f3-98a52bfd5d7d",
		"type": "CARD",
		"displayId": "58",
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"items": [
			{
				"id": "61",
				"index": "60",
				"name": "A FRANCESA",
				"externalCode": "1",
				"unit": "UN",
				"quantity": 1,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				"options": [
					{
						"index": "61",
						"id": "61",
						"name": "COMPOSICAO A",
						"externalCode": "201",
						"unit": "UN",
						"quantity": 1,
						"unitPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"originalPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"totalPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"productionPoint": "Teste"
					}
				]
			}
		],
		"otherFees": [],
		"total": {
			"items": 70.90,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 70.90,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": null,
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": null,
		"card": {
			"waiterCode": 9999,
			"cardNumber": 29,
			"deliveryTableNumber": 29
		} 
	}
}
{
	"errors": [
		{
			"key": "merchant",
			"message": "body.data.merchant is required"
		}
	]
}

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/newOrderS
{
	"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",
	"data": {
		"id": "f4114e16-c2e4-4dc3-86f3-98a52bfd5d7d",
		"type": "CARD",
		"displayId": "29",
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"merchant": {
			"id": "c312d2ff-1a8f-40ad-8eed-9ae9a908df6e",
			"name": "BOTECO DO ALBINO"
		},
		"items": [
			{
				"id": "61",
				"index": "60",
				"name": "A FRANCESA",
				"externalCode": "1",
				"unit": "UN",
				"quantity": 1,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				"options": [
					{
						"index": "61",
						"id": "61",
						"name": "COMPOSICAO A",
						"externalCode": "201",
						"unit": "UN",
						"quantity": 1,
						"unitPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"originalPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"totalPrice": {
							"value": 1.00,
							"currency": "R$"
						},
						"productionPoint": "Teste"
					}
				]
			}
		],
		"otherFees": [],
		"total": {
			"items": 70.90,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 70.90,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": null,
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": null,
		"card": {
			"waiterCode": 9999,
			"cardNumber": 29,
			"deliveryTableNumber": 29
		} 
	}
}
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "Provider Merchant for integrationHubServiceId \"f1b874af-96ab-4535-aac3-25118fe586cc\" not found or disabled"
		}
	]
}

IntegrationHubId incorreto ou inválido

Para obter detalhes técnicos sobre o envio de requisições ao endpoint newOrder, incluindo a estrutura do corpo da requisição para itens com valor integral acesse a documentação clicando aqui.

Para obter detalhes técnicos sobre o envio de requisições ao endpoint newOrder, incluindo a estrutura do corpo da requisição para itens com valor integral, adicionais e descontos  acesse a documentação clicando aqui.



04. LINKS


New Order Cartão - Itens Fracionando
New Order Cartão- Vários Itens