Páginas filhas
  • New Order Cartão - Itens Fracionado com Adicionais e Desconto

Versões comparadas

Chave

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

...


01. VISÃO GERAL
Âncora
ver_geral
ver_geral

Esta documentação tem como finalidade demonstrar o formato JSON para envio de requisições de pedidos com item fracionando na API Order MesaCartão Consumo, utilizando o endpoint newOrder. Para pedidos com itens fracionandos, adicionais e desconto.


...

02.

...

EXEMPLO DE UTILIZAÇÃO
Âncora
pedido_inteiro
pedido_inteiro


2.1 - Request Itens Fracionado com Adicionais e Desconto:

01. Corpo da requisição de envio de novo pedidos fracionando: Âncoraitem_fracionandoitem_ fracionando

Bloco de código
titleJSON para pedido com item fracionado
linenumberstrue
{
   	"integrationHubServiceId": "3fea8768-bbd9-454b-9e7b-40841e9a6812",
   	"data": {
      		"id": "f853a079-d0cb-4612-847f-430460485c02",
      		"type": "TABLECARD",
      		"displayId": "29",
      		"createdAt": "2024-06-24T17:35:00",
      		"orderTiming": "2024-06-24T17:40:24",
      		"preparationStartDateTime": "2024-06-24T18:00:00",
      		"merchant": {
         			"id": "3d0cbd44-a6c4-469c-8ab3-c83700672ee1",
         			"name": "BOTECO DO ALBINO"
      		},
      		"items": [
         {
            			{
				"id": "3973594022",
            				"index": "22",
            				"name": "MARACUJA",
            				"externalCode": "58",
            				"unit": "UN",
            				"quantity": 0.5,
            				"specialInstructions": "Teste",
            				"unitPrice":{
                {
					"value": 61.00,
               					"currency": "R$"
            },
            				},
				"optionsPrice":{
                {
					"value": 0.0,
               					"currency": "R$"
            },
            				},
				"totalPrice":{
                {
					"value": 30.50,
               "currency":"R$"
            },
            					"currency": "R$"
				},
				"otherFees": []
         }
      ],
      			}
		],
		"total": {
         			"items": 30.50,
         			"otherFees": 0,
         			"discount": 0.00,
         			"orderAmount": 20.50,
         			"additionalFees": 0,
         			"deliveryFee": 0
      		},
      		"payments":{
         "prepaid":0.0,
         "pending":0.0,
         "methods":[
            {
               "value":30.50,
               "currency":"BRL",
               "type":"PREPAID",
               "method":"credit",
               "methodInfo":"Visa",
               "changeFor":0.0
            }
         ]
      },
      "delivery":null,
      "extraInfo":"Teste",
      "schedule":null,
      "indoor":null,
      "takeout":null,
      "table":{
         "waiterCode":"9999",
         "tableNumber":"29",
         "chairNumber":"1"
      },
      "card":null
   }
}
Nota
titleNota: HTTP Status Code = 200 OK

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

...

A seguir, alguns dos erros comuns que podem ser apresentados ao lidar com requisições HTTP e suas respectivas respostas:

...

null,
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": null,
		"card": {
			"waiterCode": 9999,
			"cardNumber": 29,
			"deliveryTableNumber": 29
		}  
	}
}
Nota
titleNota: HTTP Status Code = 200 OK

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


...

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


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.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"integrationHubServiceId": "3fea8768-bbd9-454b-9e7b-40841e9a6812",
	"data": {
		"id": "f853a079-d0cb-4612-847f-430460485c02",
		"type": "CARD",
		"displayId": 29,
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"merchant": {
			"id": "3d0cbd44-a6c4-469c-8ab3-c83700672ee1",
			"name": "BOTECO DO ALBINO"
		},
		"items": [
			{
				"id": "3973594022",
				"index": "22",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 0.5,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 30.50,
					"currency": "R$"
				},
				"otherFees": []
			}
		],
		"total": {
			"items": 30.50,
			"otherFees": 0,
			"discount": 0.00,
			"orderAmount": 20.50,
			"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
		}  
	}
}
Bloco de código
titleJSON Resposta
linenumberstrue
{
	"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.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"integrationHubServiceId": "3fea8768-bbd9-454b-9e7b-40841e9a6812",
	"data": {
		"id": "f853a079-d0cb-4612-847f-430460485c02",
		"type": "CARD",
		"displayId": "29",
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"items": [
			{
				"id": "3973594022",
				"index": "22",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 0.5,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 30.50,
					"currency": "R$"
				},
				"otherFees": []
			}
		],
		"total": {
			"items": 30.50,
			"otherFees": 0,
			"discount": 0.00,
			"orderAmount": 20.50,
			"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
		}  
	}
}
Bloco de código
titleJSON Resposta
linenumberstrue
{
	"errors": [
		{
			"key": "merchant",
			"message": "body.data.merchant is required"
		}
	]

...

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": "3fea8768-bbd9-454b-9e7b-40841e9a6812",
	"data": {
		"id": "b1e26dd8-0a1b-486e-bf62-65e80ddce2f4",
		"type": "TABLE",
		"displayId": 55,
		"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": "54",
				"index": "54",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 1.0,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 61.00,
					"currency": "R$"
				}
			}
		],
		"otherFees": [],
		"total": {
			"items": 61.0,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 61.0,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": {
			"prepaid": 0.0,
			"pending": 0.0,
			"methods": [
				{
					"value": 61.0,
					"currency": "BRL",
					"type": "PREPAID",
					"method": "credit",
					"methodInfo": "Visa",
					"changeFor": 0.0
				}
			]
		},
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": {
			"waiterCode": "9999",
			"tableNumber": "54",
			"chairNumber": "1"
		},
		"card": null
	}
}
Bloco de código
titleJSON Resposta
linenumberstrue
{
	"errors": [
		{
			"key": "displayId",
			"message": "body.data.displayId must be a string"
		}
	]
}

02. JSON enviando faltando um ou mais campos.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"integrationHubServiceId": "3fea8768-bbd9-454b-9e7b-40841e9a6812",
	"data": {
		"id": "fa3a2d45-3a29-4136-95e7-692d93db8b2b",
		"type": "TABLE",
		"displayId": "55",
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",		
		"items": [
			{
				"id": "54",
				"index": "54",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 1.0,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 61.00,
					"currency": "R$"
				}
			}
		],
		"otherFees": [],
		"total": {
			"items": 61.0,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 61.0,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": {
			"prepaid": 0.0,
			"pending": 0.0,
			"methods": [
				{
					"value": 61.0,
					"currency": "BRL",
					"type": "PREPAID",
					"method": "credit",
					"methodInfo": "Visa",
					"changeFor": 0.0
				}
			]
		},
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": {
			"waiterCode": "9999",
			"tableNumber": "54",
			"chairNumber": "1"
		},
		"card": null
	}
}
Bloco de código
titleJSON Resposta
linenumberstrue
{
	"errors": [
		{
			"key": "merchant",
			"message": "body.data.merchant is required"
		}
	]
}
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 nã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/newOrderS
Bloco de código
titleJSON Response para URL incorreta
linenumberstrue
{
	"message": "Missing Authentication Token"
}
Nota
titleNota: HTTP Status Code = 403 - Forbidden400 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 novamenteO cliente não enviou uma requisição para a URL  incorreta.


...

  • HTTP Status Code 404 401 - Not FoundUnauthorized
    Âncora
    status_code_
    404
    401
    status_code_
    404
    401
     

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


...

  • HTTP Status Code 403 - Forbidden
    Âncora
    status_code_403
    status_code_403

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.

Bloco de código
titleURL enviada incorreda
https://api-barramento.meuelevestage.com/order/newOrderS
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 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 pode ocorrer quando o integrationHubId  está incorreto ou inválido.

Bloco de código
titleIntegration Hub Code Inválido
linenumberstrue
{
	"integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586c",
	"data": {
		"id": "f853a079-d0cb-4612-847f-430460485c02",
		"type": "CARD",
		"displayId": "29",
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"merchant": {
			"id": "3d0cbd44-a6c4-469c-8ab3-c83700672ee1",
			"name": "BOTECO DO ALBINO"
		},
		"items": [
			{
				"id": "3973594022",
				"index": "22",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 0.5,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 30.50,
					"currency": "R$"
				},
				"otherFees": []
			}
		],
		"total": {
			"items": 30.50,
			"otherFees": 0,
			"discount": 0.00,
			"orderAmount": 20.50,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments":null
Bloco de código
titleIntegration Hub Code Inválido
linenumberstrue
{
	"integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586c2",
	"data": {
		"id": "f1bddb3f-63c4-4b2f-be53-e4527275ad9d",
		"type": "TABLE",
		"displayId": "55",
		"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": "54",
				"index": "54",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 1.0,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 61.00,
					"currency": "R$"
				}
			}
		],
		"otherFees": [],
		"total": {
			"items": 61.0,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 61.0,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": {
			"prepaid": 0.0,
			"pending": 0.0,
			"methods": [
				{
					"value": 61.0,
					"currency": "BRL",
					"type": "PREPAID",
					"method": "credit",
					"methodInfo": "Visa",
					"changeFor": 0.0
				}
			]
		},
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": null,
		"card": {
			"waiterCode": "9999",
			"tableNumbercardNumber": "54"29,
			"chairNumberdeliveryTableNumber": "1"29
		},
		"card": null  
	}
}
Bloco de código
titleJSON Response
linenumberstrue
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "Provider Merchant for integrationHubServiceId \"f1b874af-96ab-4535-aac3-25118fe586cc\" not found or disabled"
		}
	]
}

...

Dica
titleSaiba mais!

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 fracionando e adicionais  acesse a documentação clicando aqui.

Dica
titleSaiba mais!

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 fracionando, adicionais e descontos  acesse acesse a documentação clicando aqui.

Dica
titleSaiba mais!

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 fracionando, adicionais, descontos e taxa  acesse a documentação clicando aqui.

...


...