...
- 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 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)* | 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.
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.
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]"
}
]
} |
...
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.
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
}
]
} |
...