...
- 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| 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 |
|---|
|
| receiverDocument | | Campo | Valor | Descrição |
|---|
| name * | string | Nome relacionado às taxas |
| type * | enum | Tipo da taxa (veja na tabela type) |
| receivedBy * | enum | Pedido recebido por |
| 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 - items - options otherFees (dentro de
unitPricetype):
...
...
| table_OrderFeesType |
|---|
| table_OrderFeesType |
|---|
|
| Enum | Valor | Descrição |
|---|
| DELIVERY_FEE | DELIVERY_ |
- Estrutura Consumption - items - options (dentro de
originalPrice):
...
- Estrutura Consumption - items - options (dentro de
totalPrice):
...
- Estrutura Enumeração Consumption - otherFees (dentro de
type):
| 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):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 Enumeração Consumption - otherFees (dentro de
price):
| Campo | Valor | Descrição |
|---|
| value * | number | Valor do preço |
| currency * | string | Código da moeda ISO 4217 |
- EstruturaEnumeraçã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| 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
}
]
} |
...