...
Este endpoint é utilizado para obter informações detalhadas sobre consumo, fornecendo um retorno em formato JSON com diversos atributos relevantes. Ao enviar uma solicitação conforme especificado nos exemplos abaixo, o endpoint processa a requisição e retorna um conjunto de dados que inclui o status mais recente do consumo.
Obtenha o consumo atribuído a um ou mais pedidos utilizando o parâmetro orderKeyType
, que pode ser ORDER_ID
, TABLE
ou CARD
.
...
Âncora | ||||
---|---|---|---|---|
|
...
Nota | ||
---|---|---|
| ||
Sua solicitação foi retornada com sucesso. | ||
Informações | ||
|
Dicionário de Requisição
O endpoint Consumption permite consultar os dados de consumo de uma mesa ou várias mesas. Ele retorna informações detalhadas sobre os itens pedidos, preços e outros dados relevantes, facilitando o gerenciamento dos consumos em ambientes de atendimento.
Campo | Valor | Descrição |
---|---|---|
integrationHubServiceId | string | Identificador único da integração |
...
orderKeyType |
...
string | Tipo de chave do pedido |
...
orderKey | string |
Chave do pedido correspondente |
...
success |
...
boolean |
...
Indica se a operação foi bem-sucedida |
...
consumptions |
...
array | Detalhes dos consumos relacionados ao pedido |
...
. Cada consumption inclui: |
...
consumptions
):Campo | Valor | Descrição |
---|---|---|
type | string | Tipo do consumo |
...
createdAt | string (data e hora) |
...
Data e hora da criação do |
...
pedidos |
customerName |
...
string |
...
Nome do cliente |
...
items |
...
array | Itens do pedido, onde cada |
...
item inclui: |
...
items
):Campo | Valor | Descrição |
---|---|---|
id | string | Identificador único do item |
...
index |
...
string |
...
Posição do item |
...
(opcional) |
name |
...
string |
...
Nome do produto |
...
externalCode |
...
string |
...
Código externo do produto |
...
(opcional) |
unit |
...
string | Unidade de medida do item |
...
...
ean (string, opcional):
Código de barras EAN do item.
...
quantity (number, obrigatório):
Quantidade de itens, utilizando valores fracionários quando necessário (exemplo: 500 gramas = 0.5 KG).
...
specialInstructions (string, opcional):
Instruções especiais sobre os itens.
ean | string | Código de barras EAN do item (opcional) |
quantity | number | Quantidade de itens |
specialInstructions | string | Instruções especiais sobre o item (opcional) |
unitPrice | number |
...
Preço por unidade, considerando 4 casas decimais |
...
value |
...
number |
...
Valor do preço |
...
currency |
...
string |
...
Código da moeda ISO 4217 |
...
originalPrice |
...
number | Preço original do produto |
...
value (number, obrigatório):
Valor do preço original.
currency (string, obrigatório):
Código da moeda ISO 4217.
(opcional) | ||
optionsPrice | number | Preço total das opções (opcional) |
totalPrice | number | Preço total do item |
options | array | Extras opcionais escolhidos pelo consumidor. Cada opção inclui: |
options
):Campo | Valor | Descrição |
---|---|---|
index | string | Posição da opção (opcional) |
id | string | Identificador único da opção |
name | string | Nome da opção |
unit | number | Unidade de medida da opção |
quantity | number | Quantidade de itens opcionais |
unitPrice | number |
...
optionsPrice (OptionsPrice, opcional):
Soma dos preços de todas as opções do item.
value (number, obrigatório):
Valor do preço total das opções.
currency (string, obrigatório):
Código da moeda ISO 4217.
...
totalPrice (TotalPrice, obrigatório):
Preço total do item, calculado como (quantidade * (unitPrice + optionsPrice)).
value (number, obrigatório):
Valor do preço total.
currency (string, obrigatório):
Código da moeda ISO 4217.
options (Array de OrderItemsOptions, opcional):
Extras opcionais escolhidos pelo consumidor, onde cada OrderItemsOptions
inclui:
...
index (string, opcional):
Posição da opção.
...
id (string, obrigatório):
Identificador único da opção.
...
name (string, obrigatório):
Nome da opção.
...
externalCode (string, opcional):
Código externo da opção.
...
unit (Unit, obrigatório):
Unidade de medida da opção, podendo ser:
...
ean (string, opcional):
Código de barras EAN da opção.
...
quantity (number, obrigatório):
Quantidade de itens opcionais, utilizando valores fracionários se necessário.
...
Preço por unidade da opção, considerando 4 casas decimais |
...
originalPrice (OriginalPrice, opcional):
Preço original da opção.
totalPrice | number |
Preço total da opção |
...
specialInstructions |
...
string |
...
Instruções especiais sobre a opção |
...
(opcional) |
productionPoint |
...
string |
...
Ponto de produção da opção |
...
( |
...
opcional) |
...
otherFees (Array de OtherFees, opcional):
Outras taxas que podem ser aplicadas, onde cada OtherFees
inclui:
Campo | Valor | Descrição |
---|---|---|
name | string |
...
Nome relacionado às taxas |
...
type |
...
string | Tipo da taxa |
...
price | number | Valor da taxa |
currency | string | Código da moeda ISO 4217 |
Campo | Valor | Descrição |
---|---|---|
value | number | Valor do desconto |
target | string | Destino do desconto |
targetId | string | Identificador do alvo (obrigatório quando target = ITEM ). |
Campo | Valor | Descrição |
---|---|---|
items | number | Soma do preço total dos itens listados |
orderAmount | number | Valor final do pedido (itens + outras taxas - descontos). |
Campo | Valor | Descrição |
---|---|---|
deliveredBy | string | Entidade responsável pela entrega |
deliveryAddress | string | Endereço de entrega do pedido |
estimatedDeliveryDateTime | string | Data e hora estimadas de entrega |
deliveryDateTime | string | Data e hora em que a entrega realmente ocorreu (opcional) |
Tabela de Enumerações
Enum | Descrição |
---|---|
UN | Unidade de medida simples |
KG | Quilograma |
L | Litro |
OZ | Onça |
LB | Libra |
GAL | Galão |
Enum | Descrição |
---|---|
TABLE | Identifica o pedido pelo número da mesa |
CARD | Identifica o pedido pelo número do cartão |
ORDER_ID | Identifica o pedido por um ID exclusivo |
Enum | Descrição |
---|---|
DELIVERY_FEE | Taxa de entrega |
SERVICE_FEE | Taxa de serviço |
TIP | Gorjeta |
Enum | Descrição |
---|---|
CART | Aplicável ao total do carrinho |
DELIVERY_FEE | Aplicável à taxa de entrega |
ITEM | Aplicável a um item específico |
Enum | Descrição |
---|---|
MARKETPLACE | Entidade que recebeu o pedido é o marketplace |
MERCHANT | Entidade que recebeu o pedido é o comerciante |
LOGISTIC_SERVICES | Entidade que recebeu o pedido é a logística |
,
Enum | Descrição |
---|---|
MARKETPLACE | Entidade responsável pela entrega é o marketplace |
MERCHANT | Entidade responsável pela entrega é o comerciante |
...
receivedBy (OrderReceivedBy, obrigatório):
Entidade que recebeu o pedido, que pode ser "MARKETPLACE", "MERCHANT" ou "LOGISTIC_SERVICES".
Enum: [MARKETPLACE, MERCHANT, LOGISTIC_SERVICES]
...
receiverDocument (string, opcional):
Documento do receptor, obrigatório para marketplace.
...
price (OtherFeesPrice, obrigatório):
Preço da taxa.
value (number, obrigatório):
Valor da taxa.
currency (string, obrigatório):
Código da moeda ISO 4217.
...
observation (string, opcional):
Comentários adicionais.
...
discounts (Array de Discounts, opcional):
Descontos que podem ser aplicados, onde cada Discounts
inclui:
value (number, obrigatório):
Valor do desconto.
target (OrderDiscountsTarget, obrigatório):
Destino do desconto, que pode ser "CART", "DELIVERY_FEE" ou "ITEM".
Enum: [CART, DELIVERY_FEE, ITEM]
targetId (string, opcional):
Identificador do alvo, obrigatório apenas para target = ITEM.
sponsorshipValues (Array de SponsorshipValues, obrigatório):
Valores patrocinados por qualquer uma das partes, onde cada SponsorshipValues
inclui:
name (OrderSponsorshipName, obrigatório):
Nome do patrocinador, que pode ser "MARKETPLACE" ou "MERCHANT".
Enum: [MARKETPLACE, MERCHANT]
value (number, obrigatório):
Valor do desconto dado pelo patrocinador.
...
total (Total, obrigatório):
Resumo das somas de valores descritos no pedido.
items (number, obrigatório):
Soma do preço total dos itens listados.
otherFees (number, obrigatório):
Soma do valor total das outras taxas. Se não houver, use 0.
discount (number, obrigatório):
Soma de qualquer desconto. Se não houver, use 0.
orderAmount (number, obrigatório):
Valor final do pedido (itens + outras taxas + taxas adicionais + taxa de entrega - descontos).
additionalFees (number, obrigatório):
Soma do valor total das taxas adicionais. Se não houver, use 0.
deliveryFee (number, obrigatório):
Soma do valor total da taxa de entrega. Se não houver, use 0.
...
delivery (OrderTypeDelivery, obrigatório):
Informações para pedidos de entrega. Necessário se o tipo escolhido for "DELIVERY".
deliveredBy (OrderDeliveryBy, obrigatório):
Entidade responsável pela entrega, que pode ser "MARKETPLACE" ou "MERCHANT".
Enum: [MARKETPLACE, MERCHANT]
deliveryAddress (OrderTypeDeliveryAddress, obrigatório):
Endereço de entrega do pedido.
country (string, obrigatório):
Código do país em formato ISO 3166-1 alpha-2.
state (string, opcional):
Estado ou subdivisão do país.
city (string, obrigatório):
Nome da cidade.
district (string, opcional):
Bairro ou distrito.
street (string, obrigatório):
Nome da rua.
number (string, obrigatório):
Número da rua.
complement (string, opcional):
Complemento do endereço.
reference (string, opcional):
Referência do endereço.
formattedAddress (string, obrigatório):
Texto completo do endereço formatado.
postalCode (string, obrigatório):
Código postal.
coordinates (OrderTypeDeliveryAddressCoordinates, obrigatório):
Coordenadas do endereço.
latitude (number, obrigatório):
Latitude em graus.
longitude (number, obrigatório):
Longitude em graus.
estimatedDeliveryDateTime (string, obrigatório):
Data e hora estimadas de entrega.
deliveryDateTime (string, opcional):
Data e hora em que a entrega realmente ocorreu.
...
takeout (OrderTypeTakeout, obrigatório):
Informações para pedidos de retirada. Necessário se o tipo escolhido for "TAKEOUT".
mode (OrderTakeoutMode, obrigatório):
Modo de retirada, podendo ser "DEFAULT" ou "PICKUP_AREA".
Enum: [DEFAULT, PICKUP_AREA]
takeoutDateTime (string, opcional):
Data e hora para quando o pedido estiver pronto.
...
table (OrderTypeTable, obrigatório):
Informações para pedidos de mesa. Necessário se o tipo escolhido for "TABLE".
waiterCode (number, obrigatório):
Identificador do garçom.
tableNumber (number, obrigatório):
Identificador da mesa.
chairNumber (number, opcional):
Identificador da cadeira.
...
card (OrderTypeCard, obrigatório):
Informações para pedidos de cartão. Necessário se o tipo escolhido for "CARD".
waiterCode (number, obrigatório):
Identificador do garçom.
cardNumber (number, obrigatório):
Identificador do cartão.
deliveryTableNumber (number, opcional):
Identificador da mesa de entrega.
error (Error, obrigatório):
Detalhes do erro caso a operação não tenha sido bem-sucedida.
...
code (string, obrigatório):
Código do erro.
...
...
Âncora | ||||
---|---|---|---|---|
|
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.
014.Formando 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 | ||||
---|---|---|---|---|
| ||||
{ "integrationHubServiceId": "a9cad639-5775-4f8a-917b-2ae0f2d284d8", "orderKeyType": "string", "orderKey": ["string"] } |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "errors": [ { "key": "orderKeyType", "message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]" } ] } |
...
024. JSON enviando faltando um ou mais campos2 - 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 | ||||
---|---|---|---|---|
| ||||
{ "integrationHubServiceId": "a5c4e135-aacd-49c1-b051-160a78a83b56" } |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "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.
03. GUID incorreto
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "integrationHubServiceId": "9a1cf326-c962-456f-8c49-c1bb2f340fc6A", "orderKeyType": "TABLE", "orderKey": [] } |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "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.
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "integrationHubServiceId": "808c143d-d6d4-4b95-8c37-efa3a934f222", "orderKeyType": "TABLE", "orderKey": [""] } |
...