...
3.1. Request - Corpo da requisição para retornar o consumo específico:
Essa requisição é enviada para obter detalhes sobre o consumo de um pedido específico, retornando as informações relevantes do consumo solicitado.
...
Nota |
---|
title | Nota: HTTP Status Code = 226 IM Used |
---|
|
A solicitação foi processada com sucesso e o resultado foi retornado conforme esperado. |
...
023.2. Request - Corpo da requisição para obter o status de múltiplos pedidos:
Essa requisição é utilizada para consultar o status atualizado de vários pedidos simultaneamente, retornando as informações detalhadas de cada pedido solicitado.
...
Nota |
---|
title | Nota: HTTP Status Code = 226 IM Used |
---|
|
Consumo enviado com sucesso.. |
...
Informaçõestip |
---|
title | Informações dos campos: |
---|
|
Os dados retornados incluem: integrationHubServiceId: Chave de identificação da integração, usada para identificar de forma única a integração no hub. orderKeyType: Tipo de chave utilizado para identificar o pedido. Pode ser: - TABLE: Número da mesa.
- CARD: Número do cartão.
- ORDER_ID: Identificador único do pedido.
Enum: [TABLE, CARD, ORDER_ID] orderKey: Chave do pedido, conforme o tipo selecionado em orderKeyType. success: Indica se a operação foi bem-sucedida: - true: A operação foi realizada com sucesso, e o consumo relacionado ao pedido será retornado no campo consumptions.
- false: A operação falhou, e o campo error trará detalhes sobre o erro.
consumptions: Lista de itens consumidos relacionados ao pedido. Quando success for true, o consumo incluirá as seguintes informações: type: Tipo de chave do consumo, conforme o valor em orderKeyType. createdAt: Data e hora da criação do pedido em formato UTC (ISO timestamp). customerName: Nome do cliente que realizou o pedido. items: Lista de itens consumidos, com os seguintes detalhes: id: Identificador único do item. index: Posição do item no pedido. name: Nome do produto consumido. externalCode: Código externo do produto. unit: Unidade de medida do item, podendo ser: - UN: Unidade.
- KG: Quilograma.
- L: Litro.
- OZ: Onça.
- LB: Libra.
- GAL: Galão.
Enum: [UN, KG, L, OZ, LB, GAL] ean: Código de barras padrão (EAN) do item. quantity: Quantidade consumida. Valores fracionados são permitidos, como 0,5 KG para 500 gramas. specialInstructions: Instruções especiais relacionadas ao item. unitPrice: Preço por unidade, com as seguintes informações: - value: Valor do preço unitário (aceita até 4 casas decimais).
- currency: Código da moeda (ISO 4217).
originalPrice: Preço original do item antes de descontos ou ajustes, para fins informativos. optionsPrice: Preço total das opções associadas ao item. totalPrice: Preço total do item, calculado como a quantidade multiplicada pelo valor unitário e o preço das opções. options: Lista de opções associadas ao item, incluindo detalhes como: - id: Identificador único da opção.
- name: Nome da opção.
- quantity: Quantidade da opção.
- unitPrice: Preço por unidade da opção.
productionPoint: Ponto de produção associado ao item.
otherFees: Lista de outras taxas aplicáveis ao consumo, como taxa de serviço, taxa de entrega ou gorjeta. - name: Nome da taxa.
- type: Tipo da taxa, podendo ser:
- DELIVERY_FEE: Taxa de entrega.
- SERVICE_FEE: Taxa de serviço.
- TIP: Gorjeta.
- receivedBy: Entidade que recebeu a taxa, podendo ser:
- MARKETPLACE: Marketplace.
- MERCHANT: Comerciante.
- LOGISTIC_SERVICES: Serviços de logística.
- price: Valor da taxa.
discounts: Lista de descontos aplicáveis, com detalhes como: - value: Valor total do desconto.
- target: Destino do desconto, podendo ser aplicado ao carrinho, à taxa de entrega ou ao item.
- sponsorshipValues: Valores patrocinados por terceiros, como o marketplace ou o comerciante.
total: Resumo dos valores do consumo, incluindo: - items: Soma do valor total dos itens consumidos.
- otherFees: Soma das outras taxas aplicáveis.
- discount: Soma dos descontos aplicáveis.
- orderAmount: Valor final do pedido, calculado como a soma de itens, taxas e descontos.
delivery: Informações de entrega (obrigatório para pedidos de entrega), incluindo: - deliveredBy: Entidade responsável pela entrega (Marketplace ou Comerciante).
- deliveryAddress: Endereço de entrega completo.
- estimatedDeliveryDateTime: Data e hora estimadas para a entrega.
- deliveryDateTime: Data e hora em que a entrega foi realizada.
takeout: Informações para pedidos de retirada, se aplicável. table: Informações para pedidos feitos em mesas. card: Informações para pedidos feitos com cartão.
error: Campo obrigatório quando success for false, contendo informações sobre o erro ocorrido: - code: Código do erro.
- message: Mensagem descritiva do erro.
|
Dica |
---|
|
O corpo da requisição enviada é o mesmo que o corpo da resposta obtida através do endpoint GetConsumption . |
...
Informações sobre os retornos da API cancelledItems.
- orderKeyType: Deve respeita a tabela abaixo:
...
- orderKey: É o identificador do pedido:
...
|
O corpo da requisição enviada é o mesmo que o corpo da resposta obtida através do endpoint GetConsumption . |
Dicionário da Request
O endpoint Consumption retorna informações sobre o consumo, utilizando o como corpo da requisição a resposta do status code 226 do endpoint API Order Mesa - Get Consumption.
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.
- Estrutura OrderConsumption:
Campo | Valor | Descrição |
---|
integrationHubServiceId * | string | Identificador único da integração |
orderKeyType * | enum | Tipo de chave do pedido (veja na tabela orderKeyType) |
orderKey * | array | Chave do pedido correspondente |
success * | boolean | Indica se a operação foi bem-sucedida |
consumptions | array | Detalhes dos consumos relacionados ao pedido. (veja na tabela consumptios) |
error | array | O erro é necessário quando o sucesso é falso. (veja na tabela de error) |
- Estrutura Consumption (dentro de
consumptions
):
Campo | Valor | Descrição |
---|
type * | enum | Tipo do consumo (veja na tabela type) |
createdAt * | string | Data e hora da criação do pedidos |
customerName * | string | Nome do cliente |
items * | array | Itens do pedido (veja na tabela de items) |
ortherFess | array | Outras taxas que podem ser aplicadas (veja na tabela otherFees) |
discounts | array | Quaisquer descontos que possam ser aplicados (veja na tabela discounts) |
total * | array | Conjunto de campos com a soma dos valores descritos anteriormente no pedido (veja na tabela total) |
delivery | array | Informações para pedidos DELIVERY. OBRIGATÓRIO se o tipo escolhido for DELIVERY. (veja tabela delivery) |
takeout | array | Informações para pedidos TAKEOUT. OBRIGATÓRIO se o tipo escolhido for TAKEOUT (veja na tabela takeout) |
table | array | Informações para pedidos de TABLE. OBRIGATÓRIO se o tipo escolhido for TABLE (veja na tabela table) |
card | array | Informações para pedidos CARD. OBRIGATÓRIO se o tipo escolhido for CARTÃO (veja na tabela de card) |
error | array | Erro é necessário quando o sucesso é falso (veja tabela de error) |
- Estrutura Consumption (dentro de
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 (veja na tabela unit) |
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 * | array | Preço por unidade, considerando 4 casas decimais (veja tabela de unitPrice) |
originalPrice | array | Preço original do produto (opcional) (veja tabela de originalPrice) |
optionsPrice | array | Preço total das opções (opcional) (veja tabela de optionsPrice) |
totalPrice * | number | Preço total do item (veja tabela de totalPrice) |
options | array | Extras opcionais escolhidos pelo consumidor. (veja na tabela de options) |
productionPoint * | string | Ponto de produção do produto |
- Estrutura Consumption - items (dentro de
options
): Âncora |
---|
| table_options |
---|
| table_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 |
externalCode * | string | Código do produto externo |
unit * | enum | Unidade de medida da opção (veja na tabela unit) |
ean | string | EAN é o padrão de código de barras usado nos itens. |
quantity * | number | Quantidade de itens opcionais |
unitPrice * | array | Preço por unidade, considerando 4 casas decimais (veja tabela de unitPrice). |
originalPrice | array | Preço original do produto (opcional) (veja tabela de originalPrice). |
totalPrice * | array | Preço total da opção (veja tabela de totalPrice) |
specialInstructions | string | Instruções especiais sobre a opção (opcional) |
productionPoint * | string | Ponto de produção da opção (opcional) |
- Estrutura Consumption (dentro de
otherFees
): Âncora |
---|
| table_otherFees |
---|
| table_otherFees |
---|
|
Campo | Valor | Descrição |
---|
name * | string | Nome relacionado às taxas |
type * | enum | Tipo da taxa (veja na tabela type) |
receivedBy * | enum | Pedido recebido por (veja na tabela receivedBy) |
receiverDocument | string | Documento do receptor de outras taxas |
price * | array | Preço da taxa(veja tabela de price). |
observation | string | Observação de outras taxas. Quaisquer comentários extras |
- Estrutura Consumption (dentro de
discounts
): Âncora |
---|
| table_discounts |
---|
| table_discounts |
---|
|
Campo | Valor | Descrição |
---|
value * | number | Valor do desconto |
target * | enum | Destino do desconto (vejna na tabela de cart) |
targetId | string | Identificador do alvo (obrigatório quando target = ITEM). |
sponsorshipValues * | array | Valores patrocinados por qualquer uma das partes. A soma dos valores listados neste atributo deverá corresponder ao valor informado no atributo valor acima (veja na tabela sponsorshipValues) |
- Estrutura Consumption (dentro de
total
):
Campo | Valor | Descrição |
---|
items * | number | Soma do preço total dos itens listados no atributo itens |
otherFees | number | Soma do valor total das demais taxas listadas no atributo otherFees. Se não houver, use 0 |
discount | number | Soma de quaisquer descontos que possam estar listados no atributo descontos. Se não houver, use 0 |
orderAmount * | number | O valor final da encomenda (itens + outrasTaxas +Taxas adicionais +Taxa de entrega - descontos) |
additionalFees | number | Soma do valor total das taxas adicionais listadas no atributo adicionalFees. Se não houver, use 0 |
deliveryFee | number | Soma do valor total da taxa de entrega listada no atributo deliveryFee. Se não houver, use 0 |
- Estrutura Consumption (dentro de
delevery
): Âncora |
---|
| table_delivery |
---|
| table_delivery |
---|
|
Campo | Valor | Descrição |
---|
deliveredBy * | enum | Solicitar entrega por (veja na tabela de deliveredBy) |
deliveryAddress * | array | O endereço onde o pedido será entregue (veja na tabela deliveryAddress) |
estimatedDeliveryDateTime * | string | Data e hora estimada de entrega. A mesma data mostrada ao cliente, na interface do Aplicativo de Pedidos |
deliveryDateTime | string | Data de entrega. A data e hora em que a entrega realmente ocorreu. |
...
Tabela de auxiliares e enumerações
- Estrutura Enumeração orderKeyType
Âncora |
---|
| table_orderKeyType |
---|
| table_orderKeyType |
---|
|
Enum | Valor | Descrição |
---|
TABLE | TABLE | Identifica o pedido pelo número da mesa |
CARD | CARD | Identifica o pedido pelo número do cartão |
ORDER_ID | ORDER_ID | Identifica o pedido por um ID exclusivo |
- Estrutura Consumption (dentro de
type
):
Campo | Valor | Descrição |
---|
value | number | Valor do preço |
currency | string | Código da moeda ISO 4217 |
- Estrutura Enumeração Consumption - items (dentro de
unit
):
Enum | Valor | Descrição |
---|
UN | UN | Unidade de medida simples |
KG | KG | Quilograma |
L | L | Litro |
OZ | OZ | Onça |
LB | LB | Libra |
GAL | GAL | Galão |
- Estrutura Consumption - items (dentro de
unitPrice
): Âncora |
---|
| table_unitPrice |
---|
| table_unitPrice |
---|
|
Campo | Valor | Descrição |
---|
value * | number | Valor do preço |
currency * | string | Código da moeda ISO 4217 |
- Estrutura Consumption - items (dentro de
originalPrice
): Âncora |
---|
| table_originalPrice |
---|
| table_originalPrice |
---|
|
Campo | Valor | Descrição |
---|
value * | number | Valor do preço |
currency * | string | Código da moeda ISO 4217 |
- Estrutura Consumption - items (dentro de
optionsPrice
): Âncora |
---|
| table_optionsPrice |
---|
| table_optionsPrice |
---|
|
Campo | Valor | Descrição |
---|
value * | number | Valor do preço |
currency * | string | Código da moeda ISO 4217 |
- Estrutura Consumption - items (dentro de
totalPrice
): Âncora |
---|
| table_totalPrice |
---|
| table_totalPrice |
---|
|
Campo | Valor | Descrição |
---|
value * | number | Valor do preço |
currency * | string | Código da moeda ISO 4217 |
- Estrutura Enumeração Consumption - otherFees (dentro de
type
): Âncora |
---|
| table_OrderFeesType |
---|
| table_OrderFeesType |
---|
|
Enum | Valor | Descrição |
---|
DELIVERY_FEE | DELIVERY_FEE | Taxa de entrega |
SERVICE_FEE | SERVICE_FEE | Taxa de serviço |
TIP | TIP | Gorjeta |
- Estrutura Enumeração Consumption - otherFees (dentro de
receivedBy
): Âncora |
---|
| table_receivedBy |
---|
| table_receivedBy |
---|
|
Enum | Valor | Descrição |
---|
MARKETPLACE | MARKETPLACE | Entidade que recebeu o pedido é o marketplace |
MERCHANT | MERCHANT | Entidade que recebeu o pedido é o comerciante |
LOGISTIC_SERVICES | LOGISTIC_SERVICES | Entidade que recebeu o pedido é a logística |
- Estrutura Enumeração Consumption - delivery (dentro de
deliveredBy
): Âncora |
---|
| table_deliveredBy |
---|
| table_deliveredBy |
---|
|
Enum | Valor | Descrição |
---|
MARKETPLACE | MARKETPLACE | Entidade responsável pela entrega é o marketplace |
MERCHANT | MERCHANT | Entidade responsável pela entrega é o comerciante |
- Estrutura Consumption - otherFees (dentro de
price
):
Campo | Valor | Descrição |
---|
value * | number | Valor do preço |
currency * | string | Código da moeda ISO 4217 |
- Estrutura Enumeração Consumption - discounts(dentro de
sponsorshipValues
): Âncora |
---|
| table_sponsorshipValues |
---|
| table_sponsorshipValues |
---|
|
Enum | Valor | Descrição |
---|
MARKETPLACE | MARKETPLACE | Entidade responsável pela entrega é o marketplace |
MERCHANT | MERCHANT | Entidade responsável pela entrega é o comerciante |
- Estrutura Consumption - delivery (dentro de
deliveryAddress
): Âncora |
---|
| table_deliveryAddress |
---|
| table_deliveryAddress |
---|
|
Campo | Valor | Descição |
---|
country * | string | Tipo de pedido País do endereço de entrega. *Código de país ISO 3166-1 alfa-2 de duas letras. |
state * | string | Subdivisão de estado ou país. É recomendado (mas não obrigatório) que você use a representação ISO 3166-2 |
city * | string | Nome da cidade |
district * | string | Bairro ou Distrito |
street * | string | Nome da rua |
number * | string | Número da rua |
complement | string | Complemento de endereço |
reference * | string | Referência de endereço |
formattedAddress * | string | Texto de endereço totalmente formatado |
postalCode * | string | Código postal |
coordinates * | array | Tipo de pedido Endereço de entrega Coordenadas latitude (veja na tabela coordinates) |
- Estrutura Consumption - delivery - deliveryAddress (dentro de
coordinates
): Âncora |
---|
| table_coordinates |
---|
| table_coordinates |
---|
|
Campo | Valor | Descrição |
---|
latitude * | number | Latitude em graus. Os valores estão restritos ao intervalo [[-90, 90]] |
longitude * | number | Longitude em graus. Os valores estão restritos ao intervalo [[-180, 180]] |
- Estrutura Consumption (dentro de
takeout
): Âncora |
---|
| table_takeout |
---|
| table_takeout |
---|
|
Campo | Valor | Descrição |
---|
mode * | enum | Modo de pedido para viagem (veja na tabela mode) |
takeoutDateTime * | string | Data e hora em que o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedidos utilizando o tempo médio de preparo dos pratos. O padrão é o mesmo horário de criação do pedido |
- Estrutura Enumeração Consumption - takeout (dentro de
mode
): Âncora |
---|
| table_takeout_mode |
---|
| table_takeout_mode |
---|
|
Campo | Valor | Descrição |
---|
DEFAULT* | DEFAULT | Indica que o pedido será retirado pelo cliente sem um local específico de coleta, ou seja, de maneira padrão no estabelecimento |
PICKUP_AREA* | PICKUP_AREA | Indica que o pedido será retirado em uma área de coleta designada dentro do estabelecimento |
- Estrutura Consumption (dentro de
table
):
Campo | Valor | Descrição |
---|
waiterCode * | number | O identificador do garçom |
tableNumber * | number | O identificador da tabela |
chairNumber * | number | O identificador do presidente |
- Estrutura Consumption (dentro de
card
):
Campo | Valor | Descrição |
---|
waiterCode * | number | O identificador do garçom |
tableNumber * | number | O identificador da tabela |
deliveryTableNumber * | number | O identificador da mesa |
Campo | Valor | Descrição |
---|
code * | string | Código de erro |
message * | string | Mensagem de erro |
Dica |
---|
|
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.
014.1 - Formando 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 |
---|
title | JSON Inválido |
---|
linenumbers | true |
---|
|
{
"success": true,
"error": null,
"integrationHubServiceId": "644a4d3c-6d2c-4154-a089-c1ab3fd89151",
"orderKeyType": "String",
"orderKey": [
"06"
],
"consumption": [
{
"orderId": "542e6b3e-8e63-4498-bdc8-1e334a22012e",
"type": "TABLE",
"createdAt": "2024-02-08 10:12:05",
"customerName": "TOTVS",
"items": [
{
"id": "251",
"index": "331811",
"name": "TESTE MYTAPP",
"externalCode": "251",
"unit": "UNIT",
"ean": "",
"quantity": 1,
"specialInstructions": "",
"unitPrice": {
"value": 99.9,
"currency": "R$"
},
"optionsPrice": {
"value": 0,
"currency": "R$"
},
"totalPrice": {
"value": 99.9,
"currency": "R$"
},
"options": null,
"productionPoint": [
{
"name": "NENHUM"
}
]
}
],
"otherFees": [
{
"name": "Taxa de Serviço",
"type": "SERVICE_FEE",
"receivedBy": "MERCHANT",
"receiverDocument": "",
"price": {
"value": 9.99,
"currency": "R$"
},
"observation": ""
}
],
"discounts": null,
"total": {
"items": 99.9,
"otherFees": 9.99,
"discount": 0,
"orderAmount": 109.89
},
"delivery": null,
"takeout": null,
"indoor": null,
"table": {
"waiterCode": 9999,
"tableNumber": 6,
"chairNumber": 0
},
"card": null
}
]
} |
Bloco de código |
---|
title | Resposta do JSON da requisição |
---|
linenumbers | true |
---|
|
{
"errors": [
{
"key": "orderKeyType",
"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
}
]
} |
...
024.2 - JSON enviando 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 |
---|
title | JSON Inválido |
---|
linenumbers | true |
---|
|
{
"integrationHubServiceId": "644a4d3c-6d2c-4154-a089-c1ab3fd89151",
"orderKeyType": "String",
"orderKey": [
"06"
],
"consumption": [
{
"orderId": "542e6b3e-8e63-4498-bdc8-1e334a22012e",
"type": "TABLE",
"createdAt": "2024-02-08 10:12:05",
"customerName": "TOTVS",
"items": [
{
"id": "251",
"index": "331811",
"name": "TESTE MYTAPP",
"externalCode": "251",
"unit": "UNIT",
"ean": "",
"quantity": 1,
"specialInstructions": "",
"unitPrice": {
"value": 99.9,
"currency": "R$"
},
"optionsPrice": {
"value": 0,
"currency": "R$"
},
"totalPrice": {
"value": 99.9,
"currency": "R$"
},
"options": null,
"productionPoint": [
{
"name": "NENHUM"
}
]
}
],
"otherFees": [
{
"name": "Taxa de Serviço",
"type": "SERVICE_FEE",
"receivedBy": "MERCHANT",
"receiverDocument": "",
"price": {
"value": 9.99,
"currency": "R$"
},
"observation": ""
}
],
"discounts": null,
"total": {
"items": 99.9,
"otherFees": 9.99,
"discount": 0,
"orderAmount": 109.89
},
"delivery": null,
"takeout": null,
"indoor": null,
"table": {
"waiterCode": 9999,
"tableNumber": 6,
"chairNumber": 0
},
"card": null
}
]
} |
...