{
"orderId": "AGG-SIMPLE-001",
"source": "App",
"platform": "Android",
"channel": { "uid": "CH-IFOOD-001", "code": "Aggregator", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "Jane", "lastName": "Doe", "phone": "+1555000111" },
"store": { "id": 10, "name": "Gran Santa Fe", "code": "T001", "vendorId": 8 },
"order": {
"products": [
{
"productId": "991117",
"product": "Classic Burger",
"type": "PRODUCT",
"quantity": 1,
"price": {
"unitPrice": {
"currencyCode": "USD",
"subtotalWithoutTaxes": "7.7826",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "7.7826",
"taxesPercentage": "15.0000",
"taxValue": "1.1739",
"total": "8.9900"
},
"totalPrice": {
"currencyCode": "USD",
"subtotalWithoutTaxes": "7.7826",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "7.7826",
"taxesPercentage": "15.0000",
"taxValue": "1.1739",
"total": "8.9900"
}
}
}
]
},
"shippingMethod": {
"delivery": {
"city": "Guayaquil",
"mainStreet": "Av. Principal 123",
"zipCode": "090101",
"additionalInfo": {
"deliveryConfirmationCode": "4821"
}
}
},
"payments": {
"totals": [
{
"currencyCode": "USD",
"subtotalWithoutTaxes": "7.7826",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "7.7826",
"taxesPercentage": "15.0000",
"taxValue": "1.1739",
"total": "8.9900"
}
],
"shippingCost": [
{
"currencyCode": "USD",
"subtotalWithoutTaxes": "1.5000",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "1.5000",
"taxesPercentage": "15.0000",
"taxValue": "0.2250",
"total": "1.7250"
}
],
"discounts": [],
"paymentMethods": [
{
"processor": "Kushki",
"currencyCode": "USD",
"transactionStatus": "APPROVED",
"totalBill": "10.7150"
}
]
}
}
{
"data": {
"uid": "92eb4720-dbee-4786-ad76-b0b01aa47f36",
"order_code": "99-2c6970fd-a164-48bd-9f45-d5098a679a8f",
"account_uid": "100",
"vendor_uid": "100.6.1350",
"store_uid": "100.6.1350.1",
"catalog_uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2",
"channel": {
"uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2",
"code": "KEETA",
"metadata": {
"partner": "99"
}
},
"service": {
"uid": "91c2c168-5a4b-4944-977e-75a1ea7a77e7",
"code": "DELIVERY",
"metadata": {}
},
"device": {
"uid": "99-aggregator-device",
"name": "99 Aggregator",
"metadata": {
"ip": "0.0.0.0"
}
},
"operator": {
"uid": "99-operator",
"name": "99",
"session": {
"uid": "sess-99-aggregator"
}
},
"store": {
"uid": "100.6.1350.1",
"code": "K000",
"name": "Laboratorio Brasil",
"latitude": "-23.5632",
"longitude": "-46.6543",
"vendor_uid": "100.6.1350",
"vendor_name": "Sandbox Brasil"
},
"anonymous_customer_uid": "99-client-e24b0c40-43ff-4d0e-b384-b1f3e1173193",
"customer_uid": null,
"customer": {
"uid": "99-client-e24b0c40-43ff-4d0e-b384-b1f3e1173193",
"name": "João",
"email": "joao.silva@email.com",
"phone": "11987654321",
"last_name": "Silva",
"gov_id_type": "CPF",
"gov_id_number": "123.456.789-09"
},
"billing_uid": null,
"billing": null,
"fulfillment": {
"method": "DELIVERY",
"details": {
"uid": "99-client-e24b0c40-43ff-4d0e-b384-b1f3e1173193",
"city": "São Paulo",
"country": "Brasil",
"latitude": "-23.5632",
"zip_code": "01310-100",
"longitude": "-46.6543",
"reference": "Apto 42",
"main_street": "Av. Paulista 1000",
"delivery_date": "2026-05-11T14:38:16.360Z"
},
"catalog_uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2"
},
"status": "COMPLETED",
"payment_status": "SUCCEEDED",
"payment_methods": [
{
"uid": "6781726c-4dbb-4cb9-a8e6-a76a7283b102",
"total": "347800",
"method": "99",
"details": {
"mid": null,
"tid": null,
"card": {
"bin": "",
"mask": "",
"brand": "",
"holder": "",
"card_country": "",
"last_four_digits": "",
"external_card_brand_id": "CASH"
},
"voucher": null,
"acquirer": {
"code": "",
"name": ""
},
"metadata": {},
"processor": "99",
"total_bill": "347800",
"currency_code": "BRL",
"exact_payment": false,
"transaction_id": "99-txn-5d7faa7d-f1aa-4af2-9f57-614cf5346eb4",
"reference_number": null,
"transaction_date": {
"date": "2026-05-11T14:38:17.482Z",
"time_zone_name": "UTC",
"time_zone_type": "0"
},
"transaction_type": "cash",
"authorization_code": "",
"transaction_status": "APPROVED",
"customer_cash_amount": "0"
},
"metadata": {},
"currency_code": "BRL"
}
],
"metadata": {
"pos": {
"discount": false,
"order_id": "99-2c6970fd-a164-48bd-9f45-d5098a679a8f",
"account_id": "100",
"created_at": "2026-05-11T14:38:16.360Z",
"order_comment": ""
},
"additional_info": {}
},
"created_at": "2026-05-11 14:38:18.767989",
"updated_at": "2026-05-11 14:38:18.767989",
"deleted_at": null,
"order_lines": [
{
"uid": "2fe6b60a-50e0-40f3-8040-91a26f1888b5",
"hash": "001224591808cb3551c9d0c248b739ef07dd8dd3f958d3eb1251ca5f022bad48",
"price": {
"unit_price": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"metadata": {},
"discounts": [],
"net_price": "17.39",
"gross_price": "17.39",
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "17.39"
}
],
"total_price": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"metadata": {},
"discounts": [],
"net_price": "34.78",
"gross_price": "34.78",
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "34.78"
}
]
},
"item_id": "001224591808cb3551c9d0c248b739ef07dd8dd3f958d3eb1251ca5f022bad48",
"quantity": "2",
"item_type": "PRODUCT",
"store_uid": "100.6.1350.1",
"updated_at": "2026-05-11T14:38:17.481Z",
"vendor_uid": "100.6.1350",
"fulfillment": {
"method": "DELIVERY",
"catalog_uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2"
},
"line_totals": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"total": "34.78",
"subtotal": "34.78",
"discounts": [],
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "34.78"
}
],
"modifier_groups": [],
"item_description": "X-Burguer",
"selected_currency": "BRL"
}
],
"totals": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"total": "34.78",
"subtotal": "34.78",
"discounts": [],
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "34.78"
}
]
},
"isArray": false,
"status": 200,
"method": "POST",
"pathname": "/stage/api/v4/aggregator/orders",
"duration": 4900,
"traceId": "1-6a01e9d9-7c9577787de4d07a2c14686b;Parent"
}
API
Injetar pedido
Injete um pedido no Fire. O Fire gerencia o ciclo de vida do pedido e envia atualizações de status de volta via webhooks.
POST
/
api
/
v4
/
integrations
/
sales
/
aggregator
/
orders
{
"orderId": "AGG-SIMPLE-001",
"source": "App",
"platform": "Android",
"channel": { "uid": "CH-IFOOD-001", "code": "Aggregator", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "Jane", "lastName": "Doe", "phone": "+1555000111" },
"store": { "id": 10, "name": "Gran Santa Fe", "code": "T001", "vendorId": 8 },
"order": {
"products": [
{
"productId": "991117",
"product": "Classic Burger",
"type": "PRODUCT",
"quantity": 1,
"price": {
"unitPrice": {
"currencyCode": "USD",
"subtotalWithoutTaxes": "7.7826",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "7.7826",
"taxesPercentage": "15.0000",
"taxValue": "1.1739",
"total": "8.9900"
},
"totalPrice": {
"currencyCode": "USD",
"subtotalWithoutTaxes": "7.7826",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "7.7826",
"taxesPercentage": "15.0000",
"taxValue": "1.1739",
"total": "8.9900"
}
}
}
]
},
"shippingMethod": {
"delivery": {
"city": "Guayaquil",
"mainStreet": "Av. Principal 123",
"zipCode": "090101",
"additionalInfo": {
"deliveryConfirmationCode": "4821"
}
}
},
"payments": {
"totals": [
{
"currencyCode": "USD",
"subtotalWithoutTaxes": "7.7826",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "7.7826",
"taxesPercentage": "15.0000",
"taxValue": "1.1739",
"total": "8.9900"
}
],
"shippingCost": [
{
"currencyCode": "USD",
"subtotalWithoutTaxes": "1.5000",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "1.5000",
"taxesPercentage": "15.0000",
"taxValue": "0.2250",
"total": "1.7250"
}
],
"discounts": [],
"paymentMethods": [
{
"processor": "Kushki",
"currencyCode": "USD",
"transactionStatus": "APPROVED",
"totalBill": "10.7150"
}
]
}
}
{
"data": {
"uid": "92eb4720-dbee-4786-ad76-b0b01aa47f36",
"order_code": "99-2c6970fd-a164-48bd-9f45-d5098a679a8f",
"account_uid": "100",
"vendor_uid": "100.6.1350",
"store_uid": "100.6.1350.1",
"catalog_uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2",
"channel": {
"uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2",
"code": "KEETA",
"metadata": {
"partner": "99"
}
},
"service": {
"uid": "91c2c168-5a4b-4944-977e-75a1ea7a77e7",
"code": "DELIVERY",
"metadata": {}
},
"device": {
"uid": "99-aggregator-device",
"name": "99 Aggregator",
"metadata": {
"ip": "0.0.0.0"
}
},
"operator": {
"uid": "99-operator",
"name": "99",
"session": {
"uid": "sess-99-aggregator"
}
},
"store": {
"uid": "100.6.1350.1",
"code": "K000",
"name": "Laboratorio Brasil",
"latitude": "-23.5632",
"longitude": "-46.6543",
"vendor_uid": "100.6.1350",
"vendor_name": "Sandbox Brasil"
},
"anonymous_customer_uid": "99-client-e24b0c40-43ff-4d0e-b384-b1f3e1173193",
"customer_uid": null,
"customer": {
"uid": "99-client-e24b0c40-43ff-4d0e-b384-b1f3e1173193",
"name": "João",
"email": "joao.silva@email.com",
"phone": "11987654321",
"last_name": "Silva",
"gov_id_type": "CPF",
"gov_id_number": "123.456.789-09"
},
"billing_uid": null,
"billing": null,
"fulfillment": {
"method": "DELIVERY",
"details": {
"uid": "99-client-e24b0c40-43ff-4d0e-b384-b1f3e1173193",
"city": "São Paulo",
"country": "Brasil",
"latitude": "-23.5632",
"zip_code": "01310-100",
"longitude": "-46.6543",
"reference": "Apto 42",
"main_street": "Av. Paulista 1000",
"delivery_date": "2026-05-11T14:38:16.360Z"
},
"catalog_uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2"
},
"status": "COMPLETED",
"payment_status": "SUCCEEDED",
"payment_methods": [
{
"uid": "6781726c-4dbb-4cb9-a8e6-a76a7283b102",
"total": "347800",
"method": "99",
"details": {
"mid": null,
"tid": null,
"card": {
"bin": "",
"mask": "",
"brand": "",
"holder": "",
"card_country": "",
"last_four_digits": "",
"external_card_brand_id": "CASH"
},
"voucher": null,
"acquirer": {
"code": "",
"name": ""
},
"metadata": {},
"processor": "99",
"total_bill": "347800",
"currency_code": "BRL",
"exact_payment": false,
"transaction_id": "99-txn-5d7faa7d-f1aa-4af2-9f57-614cf5346eb4",
"reference_number": null,
"transaction_date": {
"date": "2026-05-11T14:38:17.482Z",
"time_zone_name": "UTC",
"time_zone_type": "0"
},
"transaction_type": "cash",
"authorization_code": "",
"transaction_status": "APPROVED",
"customer_cash_amount": "0"
},
"metadata": {},
"currency_code": "BRL"
}
],
"metadata": {
"pos": {
"discount": false,
"order_id": "99-2c6970fd-a164-48bd-9f45-d5098a679a8f",
"account_id": "100",
"created_at": "2026-05-11T14:38:16.360Z",
"order_comment": ""
},
"additional_info": {}
},
"created_at": "2026-05-11 14:38:18.767989",
"updated_at": "2026-05-11 14:38:18.767989",
"deleted_at": null,
"order_lines": [
{
"uid": "2fe6b60a-50e0-40f3-8040-91a26f1888b5",
"hash": "001224591808cb3551c9d0c248b739ef07dd8dd3f958d3eb1251ca5f022bad48",
"price": {
"unit_price": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"metadata": {},
"discounts": [],
"net_price": "17.39",
"gross_price": "17.39",
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "17.39"
}
],
"total_price": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"metadata": {},
"discounts": [],
"net_price": "34.78",
"gross_price": "34.78",
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "34.78"
}
]
},
"item_id": "001224591808cb3551c9d0c248b739ef07dd8dd3f958d3eb1251ca5f022bad48",
"quantity": "2",
"item_type": "PRODUCT",
"store_uid": "100.6.1350.1",
"updated_at": "2026-05-11T14:38:17.481Z",
"vendor_uid": "100.6.1350",
"fulfillment": {
"method": "DELIVERY",
"catalog_uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2"
},
"line_totals": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"total": "34.78",
"subtotal": "34.78",
"discounts": [],
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "34.78"
}
],
"modifier_groups": [],
"item_description": "X-Burguer",
"selected_currency": "BRL"
}
],
"totals": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"total": "34.78",
"subtotal": "34.78",
"discounts": [],
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "34.78"
}
]
},
"isArray": false,
"status": 200,
"method": "POST",
"pathname": "/stage/api/v4/aggregator/orders",
"duration": 4900,
"traceId": "1-6a01e9d9-7c9577787de4d07a2c14686b;Parent"
}
Token Bearer obtido em POST /login. Formato:
Bearer <accessToken>.Sua API key do Fire.
Deve ser
integration. Identifica a requisição como vinda de uma integração externa.Identificador da conta à qual a requisição pertence.
Identificador único do pedido no seu sistema.
Origem do pedido. Exemplos:
App, Kiosco.Plataforma do cliente. Exemplos:
Android, iOS, Web.Detalhes do canal de venda. Use valores
uid dos webhooks de publicação (por exemplo channel.updated) ou da configuração de canais no painel (Integrações de agregadores).Detalhes do serviço de fulfillment. Use valores
uid do array services nesses payloads de canal ou as mesmas fontes que channel.Método de envio selecionado pelo cliente. Valores:
delivery, pickup.Indica se o cliente acumula pontos de fidelidade neste pedido.
Indica se o cliente resgata pontos de fidelidade neste pedido.
Indica se descontos são aplicados neste pedido.
Comentário geral do cliente para o pedido inteiro.
Informações do cliente.
Mostrar client
Mostrar client
Identificador único do cliente vindo do provedor de autenticação.
Nome.
Sobrenome.
Número de telefone.
Endereço de e-mail.
Tipo de documento. Exemplo:
DNI, CI.Número do documento.
ID do cliente em um sistema externo.
ID do cliente no Fire.
Dados de faturamento.
Mostrar billingInformation
Mostrar billingInformation
Razão social ou nome da pessoa para a fatura.
Tipo de documento para faturamento.
Número de documento para faturamento.
Telefone de faturamento.
E-mail de faturamento.
Endereço de faturamento.
ID de faturamento em sistema externo.
ID de faturamento no Fire.
Dados adicionais do cliente (ex.: data de nascimento, gênero).
Conteúdo do pedido.
Mostrar order
Mostrar order
Produtos pedidos.
Mostrar products[n]
Mostrar products[n]
Identificador do produto.
Nome de exibição do produto.
Tipo do item. Valores aceitos:
COMBO (produto com grupos de modificadores não vazios), PRODUCT (produto simples vendável), MODIFIER (opção de modificador puro — usar em selectedModifiers[]), PACKAGING (item de embalagem). Sem valor padrão — omiti-lo torna o payload inválido.Quantidade pedida.
Opcional. Comentário do cliente para esta linha de produto.
Recompensa ou cupom aplicado a este produto.
Detalhamento do preço desta linha. Modificadores usam a mesma forma em
modifierGroups[n].selectedModifiers[n].price.Mostrar price
Mostrar price
Valores por uma unidade (antes de multiplicar por
quantity).Mostrar unitPrice
Mostrar unitPrice
Código de moeda ISO 4217 (ex.:
BRL, USD).Opcional. Preço antes de preços promocionais.
Subtotal sem impostos. Em JSON pode vir como número ou string.
Percentual de desconto aplicado.
Valor do desconto.
Subtotal após descontos, antes dos impostos.
Percentual de imposto agregado da faixa.
Valor de imposto da faixa.
Total final da faixa.
Preço de lista sugerido.
Detalhamento por imposto (ex.:
IVA, ou ICMS, PIS, COFINS no Brasil). Entradas podem omitir metadata quando não aplicável.Mesmas chaves que
unitPrice. Representa a linha inteira (em geral valores unitários escalados pela quantity). Inclua a mesma forma de taxes[] quando a API retornar detalhe fiscal por linha.Grupos de modificadores selecionados.
Mostrar modifierGroups[n]
Mostrar modifierGroups[n]
ID do grupo de modificadores.
Descrição do grupo de modificadores.
Opções de modificador escolhidas.
Mostrar selectedModifiers[n]
Mostrar selectedModifiers[n]
ID da resposta/opção.
Produto usado como esta opção de modificador.
Nome da opção de modificador.
Tipo do item. Valores aceitos:
COMBO (produto com grupos de modificadores não vazios), PRODUCT (produto vendável usado como opção de modificador), MODIFIER (opção de modificador puro), PACKAGING (item de embalagem). Sem valor padrão — omiti-lo torna o payload inválido.Quantidade adicionada.
Quantidade removida (para remover ingredientes).
Recompensa aplicada a este modificador.
Preço do modificador. Mesma estrutura que o preço do produto.
Grupos de modificadores aninhados (até 3 níveis).
Metadados extras do produto.
Detalhes do envio conforme
selectedShippingMethod.Mostrar shippingMethod
Mostrar shippingMethod
Detalhes de delivery. Presente quando
selectedShippingMethod é delivery.Mostrar delivery
Mostrar delivery
Data/hora estimada de entrega.
Latitude do endereço de entrega.
Longitude do endereço de entrega.
País.
Cidade.
Rua principal.
Número da rua.
Rua secundária ou transversal.
Referência ou ponto de referência para a entrega.
ID do tipo de imóvel.
Instruções de entrega.
Número de contato no endereço de entrega.
CEP ou código postal.
Apelido do endereço (ex.: “casa”, “escritório”).
ID do endereço em sistema externo.
ID do endereço no Fire.
Timestamp ISO 8601 de quando o entregador chegou à loja.
Detalhes de pickup. Presente quando
selectedShippingMethod é pickup.Mostrar pickup
Mostrar pickup
Data/hora agendada do pickup.
Data/hora de início do preparo.
Unidade do tempo de preparo. Exemplo:
minute.Valor do tempo de preparo.
ID do tipo de imóvel.
Rótulo da opção de retirada.
Detalhamento dos pagamentos.
Mostrar payments
Mostrar payments
Totais do pedido com detalhamento de impostos e descontos. Cada entrada é um objeto price com
currencyCode, subtotalWithoutTaxes, discountPercentage, discountsValue, subtotalIncludeDiscounts, taxesPercentage, taxValue, total e opcionalmente rewardId.Linhas de frete. Cada entrada usa a mesma faixa de preço que
totals[]—envie o valor já calculado (base, imposto e total). O Fire armazena como enviado. Consulte Frete e descontos.Mostrar shippingCost[n]
Mostrar shippingCost[n]
Código de moeda ISO 4217.
Valor antes dos impostos.
Percentual de desconto aplicado a esta linha.
Valor do desconto.
Subtotal após descontos, antes dos impostos.
Percentual de imposto aplicado.
Valor do imposto.
Total da linha com impostos.
Cobranças adicionais como gorjetas ou custos de embalagem.
Mostrar extraCharges[n]
Mostrar extraCharges[n]
Tipo do item. Valores aceitos:
COMBO (produto com grupos de modificadores não vazios), PRODUCT (produto simples vendável), MODIFIER (opção de modificador puro), PACKAGING (item de embalagem). Normalmente PACKAGING para itens neste array. Sem valor padrão — omiti-lo torna o payload inválido.Quantidade.
ID do produto associado, se houver.
Descrição da cobrança (ex.:
tip, packing cost).Código da moeda.
Valor antes dos impostos.
Valor do imposto.
Total com impostos incluídos.
Linhas de desconto de promoções ou cupons que o estabelecimento absorve (o custo fica por conta do restaurante). Cada entrada usa os mesmos campos de faixa de preço que
totals[] e shippingCost[]. Deixe este array vazio para descontos do agregador — esses são modelados como uma entrada em paymentMethods[]. Consulte Descontos do agregador.Mostrar discounts[n]
Mostrar discounts[n]
Código de moeda ISO 4217.
Base tributável antes do desconto.
Percentual de desconto nesta linha.
Valor abatido pelo desconto.
Subtotal após o desconto, antes dos impostos.
Percentual de imposto aplicado após o desconto.
Valor do imposto.
Total da linha com impostos.
Métodos de pagamento utilizados.
Mostrar paymentMethods[n]
Mostrar paymentMethods[n]
Nome do processador de pagamento (ex.:
Kushki, Efectivo).Código da moeda.
Código do método de pagamento. Use
AGGREGATOR_DISCOUNT quando o agregador cobre um desconto promocional e reembolsa o estabelecimento — sempre combinado com transactionType: "BENEFIT". Consulte Descontos do agregador.Tipo de transação. Valores comuns:
ONLINE, CREDIT, CASH. Use BENEFIT quando paymentMethodCode for AGGREGATOR_DISCOUNT.Identificador da transação.
Status da transação (ex.:
APPROVED).Indica se o valor exato foi entregue.
Valor cobrado com este método.
Número de autorização NFCE (código SiTef 952 / IdAuth). Opcional.
Via do cliente: texto do comprovante impresso para o portador (código SiTef 121 / ReceiptCustomer). Opcional.
Via do estabelecimento: texto do comprovante impresso para o lojista (código SiTef 122 / ReceiptMerchant). Opcional.
Dados do cartão. Envie
null para métodos sem cartão (ex.: AGGREGATOR_DISCOUNT).Mostrar card
Mostrar card
Bandeira do cartão (ex.:
VISA, MASTERCARD, AMEX).Primeiros 6 dígitos do número do cartão (BIN).
Número do cartão mascarado.
Últimos 4 dígitos do número do cartão.
Nome do titular.
País de emissão do cartão.
Identificador de bandeira específico do processador.
Tipo de leitura do cartão (código SiTef 2090 / Media). Valores aceitos:
CHIP, MAGNETIC, NFC, MANUAL. Opcional.Data da transação com info de fuso horário.
Metadados específicos do processador.
Informações de fidelidade e cupons.
Mostrar marketing
Mostrar marketing
Metadados extras a nível de pedido (ex.: endereço IP do quiosque).
Valores e faixas de preço
O Fire não escala nem recalcula preços. Envie valores na unidade final da moeda (por exemplo
"8.99" para USD 8,99, não centavos). Seu POS ou agregador deve enviar montantes já calculados.payments.totals[], payments.shippingCost[] e payments.discounts[] usam as mesmas chaves de faixa de preço: currencyCode, subtotalWithoutTaxes, discountPercentage, discountsValue, subtotalIncludeDiscounts, taxesPercentage, taxValue, total.
| Campo da faixa | Significado usual |
|---|---|
subtotalWithoutTaxes | Base tributável antes do desconto da linha |
discountsValue | Valor do desconto nesta linha |
subtotalIncludeDiscounts | Base após desconto, antes dos impostos |
taxValue | Imposto sobre a base com desconto |
total | Total da linha como enviado |
Frete e descontos
Descontos por linha de produto
Aplique descontos emorder.products[n].price.unitPrice e totalPrice (mesmos números quando quantity é 1). Exemplo: 10% de desconto em base 15.00 com IVA 12% → discountsValue 1.50, subtotalIncludeDiscounts 13.50, taxValue 1.62, total da linha 15.12.
payments.shippingCost[]
Taxas de entrega como uma ou mais linhas na faixa de preço. Nos exemplos, o imposto do frete segue a mesma lógica dos produtos.
payments.discounts[]
Descontos em nível de pedido (promos, cupons) como linhas na faixa de preço. Use quando o desconto não estiver totalmente refletido no discountsValue de cada produto e o custo é absorvido pelo estabelecimento. Descontos de produto e payments.discounts[] podem ser combinados; concilie com paymentMethods[].totalBill.
payments.totals[]
Resumo da parte de produtos do pedido. Ao conciliar: produtos (totals) + frete − descontos do pedido ≈ valor pago.
O Fire não rejeita a requisição se
paymentMethods[].totalBill divergir levemente da soma das faixas — mesmo assim envie valores consistentes do seu sistema de origem.Descontos do agregador
Quando a plataforma do agregador (iFood, Rappi, UberEats, etc.) aplica um desconto promocional ao cliente, o agregador reembolsa o estabelecimento — o local sempre recebe o valor integral. Por isso o desconto não reduz a receita do estabelecimento e não deve aparecer empayments.discounts[].
Modele como uma entrada adicional em payments.paymentMethods[]:
| Quem paga | O quê | Como modelar |
|---|---|---|
| Cliente | Produtos + frete + cobranças extras − desconto do agregador | paymentMethods[n] com o código de pagamento real (CREDIT, CASH, etc.) |
| Agregador | Valor do desconto (reembolso ao estabelecimento) | paymentMethods[n] com paymentMethodCode: "AGGREGATOR_DISCOUNT" |
| Estabelecimento recebe | Produtos + frete + cobranças extras completos | — |
Campos obrigatórios na entrada AGGREGATOR_DISCOUNT
| Campo | Valor |
|---|---|
paymentMethodCode | "AGGREGATOR_DISCOUNT" — mesmo código para todos os agregadores |
processor | Nome do agregador: "IFOOD", "RAPPI", "UBEREATS", … |
transactionType | "BENEFIT" |
transactionStatus | "APPROVED" |
card | null |
totalBill | Valor do desconto |
Regra de saldo
A soma de todos ospaymentMethods[].totalBill — incluindo a entrada AGGREGATOR_DISCOUNT — deve ser igual ao total bruto do pedido:
SUM(paymentMethods[].totalBill)
= SUM(order.products[].price.totalPrice.total)
+ SUM(payments.extraCharges[].total)
+ SUM(payments.shippingCost[].total)
payments.discounts[] fica vazio.
{
"orderId": "AGG-SIMPLE-001",
"source": "App",
"platform": "Android",
"channel": { "uid": "CH-IFOOD-001", "code": "Aggregator", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "Jane", "lastName": "Doe", "phone": "+1555000111" },
"store": { "id": 10, "name": "Gran Santa Fe", "code": "T001", "vendorId": 8 },
"order": {
"products": [
{
"productId": "991117",
"product": "Classic Burger",
"type": "PRODUCT",
"quantity": 1,
"price": {
"unitPrice": {
"currencyCode": "USD",
"subtotalWithoutTaxes": "7.7826",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "7.7826",
"taxesPercentage": "15.0000",
"taxValue": "1.1739",
"total": "8.9900"
},
"totalPrice": {
"currencyCode": "USD",
"subtotalWithoutTaxes": "7.7826",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "7.7826",
"taxesPercentage": "15.0000",
"taxValue": "1.1739",
"total": "8.9900"
}
}
}
]
},
"shippingMethod": {
"delivery": {
"city": "Guayaquil",
"mainStreet": "Av. Principal 123",
"zipCode": "090101",
"additionalInfo": {
"deliveryConfirmationCode": "4821"
}
}
},
"payments": {
"totals": [
{
"currencyCode": "USD",
"subtotalWithoutTaxes": "7.7826",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "7.7826",
"taxesPercentage": "15.0000",
"taxValue": "1.1739",
"total": "8.9900"
}
],
"shippingCost": [
{
"currencyCode": "USD",
"subtotalWithoutTaxes": "1.5000",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "1.5000",
"taxesPercentage": "15.0000",
"taxValue": "0.2250",
"total": "1.7250"
}
],
"discounts": [],
"paymentMethods": [
{
"processor": "Kushki",
"currencyCode": "USD",
"transactionStatus": "APPROVED",
"totalBill": "10.7150"
}
]
}
}
Conciliação dos exemplos
| Exemplo | Produtos (totals[].total) | Frete (shippingCost[].total) | Desconto do pedido (discounts[].discountsValue) | Pago (totalBill) |
|---|---|---|---|---|
| Entrega simples | 8.99 | 1.73 | — | 10.72 |
| Desconto na linha + frete | 15.12 | 3.92 | — | 19.04 |
| Vários produtos + promo | 30.80 | 3.50 | 2.00 | 32.30 |
| Desconto do agregador | 29.80 | 8.90 | — | 39.69 (CREDIT 38.69 + AGGREGATOR_DISCOUNT 1.00) |
- Entrega simples: 8.99 + 1.73 = 10.72.
- Desconto na linha: 10% sobre 15.00 → IVA sobre 13.50 → produto 15.12; frete 3.50 + IVA 12% = 3.92; 15.12 + 3.92 = 19.04.
- Vários produtos + promo: hambúrgueres 25.80 + bebida 5.00 = 30.80; + frete 3.50 = 34.30; − promo 2.00 = 32.30 pago.
- Desconto do agregador: produtos 29.80 + embalagem 0.99 + frete 8.90 = 39.69 bruto; cliente paga 38.69 (CREDIT) + agregador reembolsa 1.00 (AGGREGATOR_DISCOUNT) = 39.69 ✓.
payments.discountsfica vazio.
{
"data": {
"uid": "92eb4720-dbee-4786-ad76-b0b01aa47f36",
"order_code": "99-2c6970fd-a164-48bd-9f45-d5098a679a8f",
"account_uid": "100",
"vendor_uid": "100.6.1350",
"store_uid": "100.6.1350.1",
"catalog_uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2",
"channel": {
"uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2",
"code": "KEETA",
"metadata": {
"partner": "99"
}
},
"service": {
"uid": "91c2c168-5a4b-4944-977e-75a1ea7a77e7",
"code": "DELIVERY",
"metadata": {}
},
"device": {
"uid": "99-aggregator-device",
"name": "99 Aggregator",
"metadata": {
"ip": "0.0.0.0"
}
},
"operator": {
"uid": "99-operator",
"name": "99",
"session": {
"uid": "sess-99-aggregator"
}
},
"store": {
"uid": "100.6.1350.1",
"code": "K000",
"name": "Laboratorio Brasil",
"latitude": "-23.5632",
"longitude": "-46.6543",
"vendor_uid": "100.6.1350",
"vendor_name": "Sandbox Brasil"
},
"anonymous_customer_uid": "99-client-e24b0c40-43ff-4d0e-b384-b1f3e1173193",
"customer_uid": null,
"customer": {
"uid": "99-client-e24b0c40-43ff-4d0e-b384-b1f3e1173193",
"name": "João",
"email": "joao.silva@email.com",
"phone": "11987654321",
"last_name": "Silva",
"gov_id_type": "CPF",
"gov_id_number": "123.456.789-09"
},
"billing_uid": null,
"billing": null,
"fulfillment": {
"method": "DELIVERY",
"details": {
"uid": "99-client-e24b0c40-43ff-4d0e-b384-b1f3e1173193",
"city": "São Paulo",
"country": "Brasil",
"latitude": "-23.5632",
"zip_code": "01310-100",
"longitude": "-46.6543",
"reference": "Apto 42",
"main_street": "Av. Paulista 1000",
"delivery_date": "2026-05-11T14:38:16.360Z"
},
"catalog_uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2"
},
"status": "COMPLETED",
"payment_status": "SUCCEEDED",
"payment_methods": [
{
"uid": "6781726c-4dbb-4cb9-a8e6-a76a7283b102",
"total": "347800",
"method": "99",
"details": {
"mid": null,
"tid": null,
"card": {
"bin": "",
"mask": "",
"brand": "",
"holder": "",
"card_country": "",
"last_four_digits": "",
"external_card_brand_id": "CASH"
},
"voucher": null,
"acquirer": {
"code": "",
"name": ""
},
"metadata": {},
"processor": "99",
"total_bill": "347800",
"currency_code": "BRL",
"exact_payment": false,
"transaction_id": "99-txn-5d7faa7d-f1aa-4af2-9f57-614cf5346eb4",
"reference_number": null,
"transaction_date": {
"date": "2026-05-11T14:38:17.482Z",
"time_zone_name": "UTC",
"time_zone_type": "0"
},
"transaction_type": "cash",
"authorization_code": "",
"transaction_status": "APPROVED",
"customer_cash_amount": "0"
},
"metadata": {},
"currency_code": "BRL"
}
],
"metadata": {
"pos": {
"discount": false,
"order_id": "99-2c6970fd-a164-48bd-9f45-d5098a679a8f",
"account_id": "100",
"created_at": "2026-05-11T14:38:16.360Z",
"order_comment": ""
},
"additional_info": {}
},
"created_at": "2026-05-11 14:38:18.767989",
"updated_at": "2026-05-11 14:38:18.767989",
"deleted_at": null,
"order_lines": [
{
"uid": "2fe6b60a-50e0-40f3-8040-91a26f1888b5",
"hash": "001224591808cb3551c9d0c248b739ef07dd8dd3f958d3eb1251ca5f022bad48",
"price": {
"unit_price": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"metadata": {},
"discounts": [],
"net_price": "17.39",
"gross_price": "17.39",
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "17.39"
}
],
"total_price": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"metadata": {},
"discounts": [],
"net_price": "34.78",
"gross_price": "34.78",
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "34.78"
}
]
},
"item_id": "001224591808cb3551c9d0c248b739ef07dd8dd3f958d3eb1251ca5f022bad48",
"quantity": "2",
"item_type": "PRODUCT",
"store_uid": "100.6.1350.1",
"updated_at": "2026-05-11T14:38:17.481Z",
"vendor_uid": "100.6.1350",
"fulfillment": {
"method": "DELIVERY",
"catalog_uid": "200a6bf1-55dd-4c9b-af2b-07a62cb0d6f2"
},
"line_totals": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"total": "34.78",
"subtotal": "34.78",
"discounts": [],
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "34.78"
}
],
"modifier_groups": [],
"item_description": "X-Burguer",
"selected_currency": "BRL"
}
],
"totals": [
{
"taxes": [
{
"name": "IVA",
"percentage": "0"
}
],
"total": "34.78",
"subtotal": "34.78",
"discounts": [],
"taxes_value": "0",
"currency_code": "BRL",
"discount_value": "0",
"subtotal_before_taxes": "34.78"
}
]
},
"isArray": false,
"status": 200,
"method": "POST",
"pathname": "/stage/api/v4/aggregator/orders",
"duration": 4900,
"traceId": "1-6a01e9d9-7c9577787de4d07a2c14686b;Parent"
}
⌘I

