{
"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"
}
},
"additional_info": { "externalCode": "burger-classic-ext-001" }
}
]
},
"shippingMethod": {
"delivery": {
"city": "Guayaquil",
"mainStreet": "Av. Principal 123",
"zipCode": "090101",
"additional_info": {
"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"
}
]
}
}
{
"orderId": "AGG-DISC-LINE-001",
"source": "Kiosco",
"platform": "Android",
"channel": { "uid": "CH-KIOSK-001", "code": "Kiosk", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "Maria", "phone": "+5511999999999" },
"store": { "id": 20, "name": "Centro", "code": "T020", "vendorId": 16 },
"order": {
"products": [
{
"productId": "SKU-COMBO-001",
"product": "Combo Especial",
"type": "COMBO",
"quantity": 1,
"comment": "Sin cebolla",
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "15.00",
"discountPercentage": "10.0000",
"discountsValue": "1.50",
"subtotalIncludeDiscounts": "13.50",
"taxesPercentage": "12.0000",
"taxValue": "1.62",
"total": "15.12"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "15.00",
"discountPercentage": "10.0000",
"discountsValue": "1.50",
"subtotalIncludeDiscounts": "13.50",
"taxesPercentage": "12.0000",
"taxValue": "1.62",
"total": "15.12"
}
},
"modifierGroups": [
{
"id": "MG-SAUCE-001",
"description": "Salsa",
"selectedModifiers": [
{
"answerId": "ANS-BBQ-001",
"productId": "MOD-BBQ-001",
"product": "Salsa BBQ",
"type": "MODIFIER",
"quantity": 1,
"additional_info": { "externalCode": "sauce-bbq-ext-001" }
}
]
}
],
"additional_info": { "externalCode": "combo-especial-ext-001" }
}
]
},
"shippingMethod": {
"delivery": {
"city": "São Paulo",
"mainStreet": "Rua Exemplo 100",
"zipCode": "01310-100"
}
},
"payments": {
"totals": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "15.00",
"discountPercentage": "10.0000",
"discountsValue": "1.50",
"subtotalIncludeDiscounts": "13.50",
"taxesPercentage": "12.0000",
"taxValue": "1.62",
"total": "15.12"
}
],
"shippingCost": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "3.50",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "3.50",
"taxesPercentage": "12.0000",
"taxValue": "0.42",
"total": "3.92"
}
],
"discounts": [],
"paymentMethods": [
{
"processor": "CREDIT_CARD",
"currencyCode": "BRL",
"transactionStatus": "APPROVED",
"totalBill": "19.04"
}
]
}
}
{
"orderId": "AGG-PROMO-001",
"source": "Aggregator",
"channel": { "uid": "CH-AGG-001", "code": "Aggregator", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "João", "lastName": "Silva", "phone": "+5511987654321" },
"store": { "id": 30, "name": "Lab Brasil", "code": "K000", "vendorId": 8 },
"order": {
"products": [
{
"productId": "BURG-001",
"product": "Hamburguesa Clásica",
"type": "PRODUCT",
"quantity": 2,
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "11.52",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "11.52",
"taxesPercentage": "12.0000",
"taxValue": "1.38",
"total": "12.90"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "23.04",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "23.04",
"taxesPercentage": "12.0000",
"taxValue": "2.76",
"total": "25.80"
}
},
"additional_info": { "externalCode": "hamburguesa-clasica-ext-001" }
},
{
"productId": "BEV-001",
"product": "Refresco 500ml",
"type": "PRODUCT",
"quantity": 1,
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "4.46",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "4.46",
"taxesPercentage": "12.0000",
"taxValue": "0.54",
"total": "5.00"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "4.46",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "4.46",
"taxesPercentage": "12.0000",
"taxValue": "0.54",
"total": "5.00"
}
},
"additional_info": { "externalCode": "refresco-500ml-ext-001" }
}
]
},
"shippingMethod": {
"delivery": { "city": "São Paulo", "mainStreet": "Av. Paulista 1000" }
},
"payments": {
"totals": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "27.50",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "27.50",
"taxesPercentage": "12.0000",
"taxValue": "3.30",
"total": "30.80"
}
],
"shippingCost": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "3.50",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "3.50",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "3.50"
}
],
"discounts": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "34.30",
"discountPercentage": "0.0000",
"discountsValue": "2.00",
"subtotalIncludeDiscounts": "32.30",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "2.00"
}
],
"paymentMethods": [
{
"processor": "99",
"currencyCode": "BRL",
"transactionStatus": "APPROVED",
"totalBill": "32.30"
}
]
}
}
{
"orderId": "AGG-DISC-IFOOD-001",
"source": "Aggregator",
"channel": { "uid": "CH-IFOOD-001", "code": "Aggregator", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "João", "lastName": "Silva", "phone": "+5511987654321" },
"store": { "id": 30, "name": "Lab Brasil", "code": "K000", "vendorId": 8 },
"order": {
"products": [
{
"productId": "PROD-TESTE-001",
"product": "PEDIDO DE TESTE Suc",
"type": "PRODUCT",
"quantity": 2,
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "14.90",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "14.90",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "14.90"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "29.80",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "29.80",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "29.80"
}
},
"additional_info": { "externalCode": "pedido-teste-ext-001" }
}
]
},
"shippingMethod": {
"delivery": { "city": "São Paulo", "mainStreet": "Av. Paulista 1000", "zipCode": "01310-100" }
},
"payments": {
"totals": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "29.80",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "29.80",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "29.80"
}
],
"shippingCost": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "8.90",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "8.90",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "8.90"
}
],
"extraCharges": [
{
"type": "PACKAGING",
"quantity": 1,
"description": "Taxa de serviço",
"currencyCode": "BRL",
"subtotalWithoutTaxes": "0.99",
"taxValue": "0.0000",
"total": "0.99"
}
],
"discounts": [],
"paymentMethods": [
{
"processor": "IFOOD",
"currencyCode": "BRL",
"paymentMethodCode": "CREDIT",
"transactionType": "ONLINE",
"transactionStatus": "APPROVED",
"exactPayment": true,
"totalBill": "38.69",
"id_auth": "123456",
"receipt_customer": "COMPROBANTE CLIENTE\nAMEX ****1234\nAPROBADO",
"receipt_merchant": "COMPROBANTE COMERCIO\nAMEX ****1234\nAPROBADO",
"card": {
"brand": "AMEX",
"bin": "378282",
"mask": "3782 82****1234",
"lastFourDigits": "1234",
"holder": "JOAO SILVA",
"cardCountry": "BR",
"externalCardBrandId": "",
"media": "CHIP"
},
"acquirer": {
"code": "01",
"name": "CIELO",
"cnpj": "01.027.058/0001-91"
}
},
{
"processor": "IFOOD",
"currencyCode": "BRL",
"paymentMethodCode": "AGGREGATOR_DISCOUNT",
"transactionType": "BENEFIT",
"transactionId": "0ec06303-28f8-4d1f-aa3d-8b88aadb9814",
"transactionStatus": "APPROVED",
"exactPayment": true,
"totalBill": "1.00",
"card": null,
"acquirer": { "code": "", "name": "" }
}
]
}
}
{
"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"
}
{
"error": {
"code": "validation_error",
"message": "channelId is required"
}
}
{
"error": {
"code": "duplicate_order",
"message": "An order with orderId '0000012194-081101' already exists"
}
}
API
Inyectar orden
Inyecta una orden en Fire. Fire gestiona el ciclo de vida de la orden y envía actualizaciones de estado de vuelta vía 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"
}
},
"additional_info": { "externalCode": "burger-classic-ext-001" }
}
]
},
"shippingMethod": {
"delivery": {
"city": "Guayaquil",
"mainStreet": "Av. Principal 123",
"zipCode": "090101",
"additional_info": {
"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"
}
]
}
}
{
"orderId": "AGG-DISC-LINE-001",
"source": "Kiosco",
"platform": "Android",
"channel": { "uid": "CH-KIOSK-001", "code": "Kiosk", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "Maria", "phone": "+5511999999999" },
"store": { "id": 20, "name": "Centro", "code": "T020", "vendorId": 16 },
"order": {
"products": [
{
"productId": "SKU-COMBO-001",
"product": "Combo Especial",
"type": "COMBO",
"quantity": 1,
"comment": "Sin cebolla",
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "15.00",
"discountPercentage": "10.0000",
"discountsValue": "1.50",
"subtotalIncludeDiscounts": "13.50",
"taxesPercentage": "12.0000",
"taxValue": "1.62",
"total": "15.12"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "15.00",
"discountPercentage": "10.0000",
"discountsValue": "1.50",
"subtotalIncludeDiscounts": "13.50",
"taxesPercentage": "12.0000",
"taxValue": "1.62",
"total": "15.12"
}
},
"modifierGroups": [
{
"id": "MG-SAUCE-001",
"description": "Salsa",
"selectedModifiers": [
{
"answerId": "ANS-BBQ-001",
"productId": "MOD-BBQ-001",
"product": "Salsa BBQ",
"type": "MODIFIER",
"quantity": 1,
"additional_info": { "externalCode": "sauce-bbq-ext-001" }
}
]
}
],
"additional_info": { "externalCode": "combo-especial-ext-001" }
}
]
},
"shippingMethod": {
"delivery": {
"city": "São Paulo",
"mainStreet": "Rua Exemplo 100",
"zipCode": "01310-100"
}
},
"payments": {
"totals": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "15.00",
"discountPercentage": "10.0000",
"discountsValue": "1.50",
"subtotalIncludeDiscounts": "13.50",
"taxesPercentage": "12.0000",
"taxValue": "1.62",
"total": "15.12"
}
],
"shippingCost": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "3.50",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "3.50",
"taxesPercentage": "12.0000",
"taxValue": "0.42",
"total": "3.92"
}
],
"discounts": [],
"paymentMethods": [
{
"processor": "CREDIT_CARD",
"currencyCode": "BRL",
"transactionStatus": "APPROVED",
"totalBill": "19.04"
}
]
}
}
{
"orderId": "AGG-PROMO-001",
"source": "Aggregator",
"channel": { "uid": "CH-AGG-001", "code": "Aggregator", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "João", "lastName": "Silva", "phone": "+5511987654321" },
"store": { "id": 30, "name": "Lab Brasil", "code": "K000", "vendorId": 8 },
"order": {
"products": [
{
"productId": "BURG-001",
"product": "Hamburguesa Clásica",
"type": "PRODUCT",
"quantity": 2,
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "11.52",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "11.52",
"taxesPercentage": "12.0000",
"taxValue": "1.38",
"total": "12.90"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "23.04",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "23.04",
"taxesPercentage": "12.0000",
"taxValue": "2.76",
"total": "25.80"
}
},
"additional_info": { "externalCode": "hamburguesa-clasica-ext-001" }
},
{
"productId": "BEV-001",
"product": "Refresco 500ml",
"type": "PRODUCT",
"quantity": 1,
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "4.46",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "4.46",
"taxesPercentage": "12.0000",
"taxValue": "0.54",
"total": "5.00"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "4.46",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "4.46",
"taxesPercentage": "12.0000",
"taxValue": "0.54",
"total": "5.00"
}
},
"additional_info": { "externalCode": "refresco-500ml-ext-001" }
}
]
},
"shippingMethod": {
"delivery": { "city": "São Paulo", "mainStreet": "Av. Paulista 1000" }
},
"payments": {
"totals": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "27.50",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "27.50",
"taxesPercentage": "12.0000",
"taxValue": "3.30",
"total": "30.80"
}
],
"shippingCost": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "3.50",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "3.50",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "3.50"
}
],
"discounts": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "34.30",
"discountPercentage": "0.0000",
"discountsValue": "2.00",
"subtotalIncludeDiscounts": "32.30",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "2.00"
}
],
"paymentMethods": [
{
"processor": "99",
"currencyCode": "BRL",
"transactionStatus": "APPROVED",
"totalBill": "32.30"
}
]
}
}
{
"orderId": "AGG-DISC-IFOOD-001",
"source": "Aggregator",
"channel": { "uid": "CH-IFOOD-001", "code": "Aggregator", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "João", "lastName": "Silva", "phone": "+5511987654321" },
"store": { "id": 30, "name": "Lab Brasil", "code": "K000", "vendorId": 8 },
"order": {
"products": [
{
"productId": "PROD-TESTE-001",
"product": "PEDIDO DE TESTE Suc",
"type": "PRODUCT",
"quantity": 2,
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "14.90",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "14.90",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "14.90"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "29.80",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "29.80",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "29.80"
}
},
"additional_info": { "externalCode": "pedido-teste-ext-001" }
}
]
},
"shippingMethod": {
"delivery": { "city": "São Paulo", "mainStreet": "Av. Paulista 1000", "zipCode": "01310-100" }
},
"payments": {
"totals": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "29.80",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "29.80",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "29.80"
}
],
"shippingCost": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "8.90",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "8.90",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "8.90"
}
],
"extraCharges": [
{
"type": "PACKAGING",
"quantity": 1,
"description": "Taxa de serviço",
"currencyCode": "BRL",
"subtotalWithoutTaxes": "0.99",
"taxValue": "0.0000",
"total": "0.99"
}
],
"discounts": [],
"paymentMethods": [
{
"processor": "IFOOD",
"currencyCode": "BRL",
"paymentMethodCode": "CREDIT",
"transactionType": "ONLINE",
"transactionStatus": "APPROVED",
"exactPayment": true,
"totalBill": "38.69",
"id_auth": "123456",
"receipt_customer": "COMPROBANTE CLIENTE\nAMEX ****1234\nAPROBADO",
"receipt_merchant": "COMPROBANTE COMERCIO\nAMEX ****1234\nAPROBADO",
"card": {
"brand": "AMEX",
"bin": "378282",
"mask": "3782 82****1234",
"lastFourDigits": "1234",
"holder": "JOAO SILVA",
"cardCountry": "BR",
"externalCardBrandId": "",
"media": "CHIP"
},
"acquirer": {
"code": "01",
"name": "CIELO",
"cnpj": "01.027.058/0001-91"
}
},
{
"processor": "IFOOD",
"currencyCode": "BRL",
"paymentMethodCode": "AGGREGATOR_DISCOUNT",
"transactionType": "BENEFIT",
"transactionId": "0ec06303-28f8-4d1f-aa3d-8b88aadb9814",
"transactionStatus": "APPROVED",
"exactPayment": true,
"totalBill": "1.00",
"card": null,
"acquirer": { "code": "", "name": "" }
}
]
}
}
{
"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"
}
{
"error": {
"code": "validation_error",
"message": "channelId is required"
}
}
{
"error": {
"code": "duplicate_order",
"message": "An order with orderId '0000012194-081101' already exists"
}
}
string
requerido
Token Bearer obtenido desde POST /login. Formato:
Bearer <accessToken>.string
requerido
Tu API key de Fire.
string
requerido
Debe ser
integration. Identifica la petición como proveniente de una integración externa.string
requerido
Identificador de la cuenta a la que pertenece la petición.
string
requerido
Identificador único de la orden en tu sistema.
string
requerido
Origen de la orden. Ejemplos:
App, Kiosco.string
Plataforma del cliente. Ejemplos:
Android, iOS, Web.object
requerido
Detalles del canal de venta. Usa valores
uid de los webhooks de publicación (por ejemplo channel.updated) o de la configuración de canales en el panel (Integraciones de agregadores).object
requerido
Detalles del servicio de fulfillment. Usa valores
uid del array services en esos payloads de canal o las mismas fuentes que channel.object
Detalles del dispositivo.
null para canales sin dispositivo físico.Mostrar device
Mostrar device
string
UID del dispositivo.
string
Nombre para mostrar del dispositivo (p. ej.
KIOSK).string
Plataforma del dispositivo (p. ej.
android, ios).object
Metadata adicional del dispositivo.
string
Punto de emisión fiscal del dispositivo. Solo se usa al
solicitar el documento fiscal; acá se acepta e ignora.
object
Resultado de Solicitar documento fiscal, copiado tal
cual. Opcional: si no fiscalizaste antes de inyectar, omitilo — Fire resuelve la
fiscalización por su cuenta.Fire toma de acá los datos del comprobante para la orden e ignora el resto. El estado del
documento ante el ente lo maneja Fire:
documentStatus se ignora si viene.object
string
requerido
Método de envío seleccionado por el cliente. Valores:
delivery, pickup.boolean
Indica si el cliente acumula puntos de fidelidad en esta orden.
boolean
Indica si el cliente canjea puntos de fidelidad en esta orden.
boolean
Indica si se aplican descuentos en esta orden.
string
Comentario general del cliente para toda la orden.
object
requerido
Información del cliente.
Mostrar client
Mostrar client
string
Identificador único del cliente desde el proveedor de autenticación.
string
requerido
Nombre.
string
Apellido.
string
Número de teléfono.
string
Correo electrónico.
string
Tipo de documento. Ejemplo:
DNI, CI.string
Número de documento.
string
ID del cliente en un sistema externo.
string
ID del cliente en Fire.
object
Datos de facturación.
Mostrar billingInformation
Mostrar billingInformation
string
Razón social o nombre de la persona para la factura.
string
Tipo de documento para facturación.
string
Número de documento para facturación.
string
Teléfono de facturación.
string
Email de facturación.
string
Dirección de facturación.
string
ID de facturación en un sistema externo.
string
ID de facturación en Fire.
object
Datos adicionales del cliente (p. ej. fecha de nacimiento, género).
object
requerido
object
requerido
Contenido de la orden.
Mostrar order
Mostrar order
object[]
requerido
Productos pedidos.
Mostrar products[n]
Mostrar products[n]
string
requerido
Identificador del producto.
string
Nombre para mostrar del producto.
string
requerido
Tipo de ítem. Valores aceptados:
COMBO (producto con grupos de modificadores no vacíos), PRODUCT (producto simple vendible), MODIFIER (opción de modificador puro — usar en selectedModifiers[]), PACKAGING (ítem de empaque). Sin valor por defecto — omitirlo hace el payload inválido.integer
requerido
Cantidad pedida.
string
Opcional. Comentario del cliente para esta línea de producto.
string
Recompensa o cupón aplicado a este producto.
object
Desglose de precio de esta línea. Los modificadores usan la misma forma en
modifierGroups[n].selectedModifiers[n].price.Mostrar price
Mostrar price
object
Importes por una unidad (antes de multiplicar por
quantity).Mostrar unitPrice
Mostrar unitPrice
string
requerido
Código de moneda ISO 4217 (p. ej.
BRL, USD).string
Opcional. Precio antes de precios promocionales.
string
Subtotal sin impuestos. En JSON puede venir como número o como cadena.
string
Porcentaje de descuento aplicado.
string
Importe del descuento.
string
Subtotal tras descuentos, antes de impuestos.
string
Porcentaje global de impuesto del tramo.
string
Importe de impuesto del tramo.
string
Total final del tramo.
string
Precio de lista sugerido.
object[]
Desglose por impuesto (p. ej.
IVA, o ICMS, PIS, COFINS en Brasil). Las entradas pueden omitir metadata si no aplica.object
Mismas claves que
unitPrice. Representa la línea completa (habitualmente valores unitarios escalados por quantity). Incluye la misma forma de taxes[] cuando la API devuelve detalle fiscal por línea.object[]
Grupos de modificadores seleccionados.
Mostrar modifierGroups[n]
Mostrar modifierGroups[n]
string
ID del grupo de modificadores.
string
Descripción del grupo de modificadores.
object[]
Opciones de modificador elegidas.
Mostrar selectedModifiers[n]
Mostrar selectedModifiers[n]
string
ID de la respuesta/opción.
string
Producto usado como esta opción de modificador.
string
Nombre de la opción de modificador.
string
requerido
Tipo de ítem. Valores aceptados:
COMBO (producto con grupos de modificadores no vacíos), PRODUCT (producto vendible usado como opción de modificador), MODIFIER (opción de modificador puro), PACKAGING (ítem de empaque). Sin valor por defecto — omitirlo hace el payload inválido.integer
Cantidad agregada.
integer
Cantidad removida (para quitar ingredientes).
string
Recompensa aplicada a este modificador.
object
Precio del modificador. Misma estructura que el precio del producto.
object[]
Grupos de modificadores anidados (hasta 3 niveles).
object
Datos del campo
additionalInfo del menú. Incluye el valor tal como se recibe en el payload del webhook de menú.object
Datos del campo
additionalInfo del menú. Incluye el valor tal como se recibe en el payload del webhook de menú.object
requerido
Detalles del envío según
selectedShippingMethod.Mostrar shippingMethod
Mostrar shippingMethod
object
Detalles de delivery. Presente cuando
selectedShippingMethod es delivery.Mostrar delivery
Mostrar delivery
string
Fecha/hora estimada de entrega.
string
Latitud de la dirección de entrega.
string
Longitud de la dirección de entrega.
string
País.
string
Ciudad.
string
Calle principal.
string
Número de la calle.
string
Calle secundaria o transversal.
string
Referencia o punto de referencia para la entrega.
integer
ID del tipo de inmueble.
string
Instrucciones de entrega.
string
Número de contacto en la dirección de entrega.
string
Código postal.
string
Alias de la dirección (p. ej. “casa”, “oficina”).
string
ID de la dirección en un sistema externo.
string
ID de la dirección en Fire.
string
Timestamp ISO 8601 de la llegada del conductor a la tienda.
object
Detalles de pickup. Presente cuando
selectedShippingMethod es pickup.Mostrar pickup
Mostrar pickup
string
Fecha/hora programada del pickup.
string
Fecha/hora de inicio de preparación.
string
Unidad del tiempo de preparación. Ejemplo:
minute.integer
Valor del tiempo de preparación.
integer
ID del tipo de inmueble.
string
Etiqueta de la opción de retiro.
object
requerido
Desglose de pagos.
Mostrar payments
Mostrar payments
object[]
Totales de la orden con desglose de impuestos y descuentos. Cada entrada es un objeto price con
currencyCode, subtotalWithoutTaxes, discountPercentage, discountsValue, subtotalIncludeDiscounts, taxesPercentage, taxValue, total y opcionalmente rewardId.object[]
Líneas de costo de envío. Cada entrada usa la misma forma de tramo de precio que
totals[]—envía el costo ya calculado (base, impuesto y total). Fire almacena los valores tal cual. Consulta Envío y descuentos.Mostrar shippingCost[n]
Mostrar shippingCost[n]
string
Código de moneda ISO 4217.
string
Monto antes de impuestos.
string
Porcentaje de descuento aplicado a esta línea.
string
Importe del descuento.
string
Subtotal tras descuentos, antes de impuestos.
string
Porcentaje de impuesto aplicado.
string
Importe del impuesto.
string
Total de la línea con impuestos.
object[]
Cargos adicionales como propinas o costos de empaque.
Mostrar extraCharges[n]
Mostrar extraCharges[n]
string
requerido
Tipo de ítem. Valores aceptados:
COMBO (producto con grupos de modificadores no vacíos), PRODUCT (producto simple vendible), MODIFIER (opción de modificador puro), PACKAGING (ítem de empaque). Habitualmente PACKAGING para ítems en este array. Sin valor por defecto — omitirlo hace el payload inválido.integer
Cantidad.
string
ID de producto asociado, si aplica.
string
Descripción del cargo (p. ej.
tip, packing cost).string
Código de moneda.
string
Monto antes de impuestos.
string
Monto del impuesto.
string
Total con impuestos incluidos.
object[]
Filas de descuento a nivel de orden para promos o cupones que absorbe el local (el costo corre por cuenta del restaurante). Cada entrada usa los mismos campos de tramo que
totals[] y shippingCost[]. discountsValue es el importe descontado. Deja este array vacío para descuentos del agregador — esos se modelan como una entrada en paymentMethods[]. Consulta Descuentos del agregador.Mostrar discounts[n]
Mostrar discounts[n]
string
Código de moneda ISO 4217.
string
Base imponible antes del descuento.
string
Porcentaje de descuento en esta línea.
string
Importe descontado.
string
Subtotal tras el descuento, antes de impuestos.
string
Porcentaje de impuesto aplicado tras el descuento.
string
Importe del impuesto.
string
Total de la línea con impuestos.
object[]
object[]
Métodos de pago utilizados.
Mostrar paymentMethods[n]
Mostrar paymentMethods[n]
string
Nombre del procesador de pagos (p. ej.
Kushki, Efectivo).string
Código de moneda.
string
Código del método de pago. Usa
AGGREGATOR_DISCOUNT cuando el agregador cubre un descuento promocional y reembolsa al local — siempre va acompañado de transactionType: "BENEFIT". Consulta Descuentos del agregador.string
Tipo de transacción. Valores habituales:
ONLINE, CREDIT, CASH. Usa BENEFIT cuando paymentMethodCode es AGGREGATOR_DISCOUNT.string
Identificador de la transacción.
string
Estado de la transacción (p. ej.
APPROVED).boolean
Indica si se entregó el monto exacto.
string
Monto cobrado con este método.
string | null
Número de autorización NFCE (código SiTef 952 / IdAuth). Opcional.
string | null
Vía del cliente: texto del comprobante impreso para el portador (código SiTef 121 / ReceiptCustomer). Opcional.
string | null
Vía del comercio: texto del comprobante impreso para el establecimiento (código SiTef 122 / ReceiptMerchant). Opcional.
object | null
object | null
Datos de la tarjeta. Envía
null para métodos sin tarjeta (p. ej. AGGREGATOR_DISCOUNT).Mostrar card
Mostrar card
string
Marca de la tarjeta (p. ej.
VISA, MASTERCARD, AMEX).string
Primeros 6 dígitos del número de tarjeta (BIN).
string
Número de tarjeta enmascarado.
string
Últimos 4 dígitos del número de tarjeta.
string
Nombre del titular.
string
País de emisión de la tarjeta.
string
Identificador de marca de tarjeta específico del procesador.
string
Tipo de lectura de la tarjeta (código SiTef 2090 / Media). Valores aceptados:
CHIP, MAGNETIC, NFC, MANUAL. Opcional.object
Fecha de la transacción con info de zona horaria.
object
Metadata específica del procesador.
object
Información de fidelidad y cupones.
Mostrar marketing
Mostrar marketing
object
object
Metadata extra a nivel de orden (p. ej. dirección IP del kiosko).
Montos y tramos de precio
Fire no escala ni recalcula precios. Envía los montos en la unidad final de la moneda (por ejemplo
"8.99" para USD 8.99, no centavos). Tu POS o agregador debe enviar valores ya calculados.payments.totals[], payments.shippingCost[] y payments.discounts[] usan las mismas claves de tramo de precio: currencyCode, subtotalWithoutTaxes, discountPercentage, discountsValue, subtotalIncludeDiscounts, taxesPercentage, taxValue, total.
| Campo del tramo | Significado habitual |
|---|---|
subtotalWithoutTaxes | Base imponible antes del descuento de la línea |
discountsValue | Importe del descuento en esta línea |
subtotalIncludeDiscounts | Base tras el descuento, antes de impuestos |
taxValue | Impuesto sobre la base con descuento |
total | Total de la línea tal como se almacena |
Envío y descuentos
Descuentos por producto
Aplica descuentos enorder.products[n].price.unitPrice y totalPrice (mismos valores cuando quantity es 1). Ejemplo: 10% de descuento sobre base 15.00 con IVA 12% → discountsValue 1.50, subtotalIncludeDiscounts 13.50, taxValue 1.62, total de línea 15.12.
payments.shippingCost[]
Costos de envío como una o más filas con tramo de precio. En los ejemplos, el impuesto del envío se calcula sobre la base de envío igual que en los productos.
payments.discounts[]
Descuentos a nivel de orden (promos, cupones) como filas de tramo de precio. Úsalo cuando el descuento no esté ya reflejado en el discountsValue de cada producto y el costo lo asume el local. Puedes combinar descuentos de producto y payments.discounts[]; concilia con paymentMethods[].totalBill.
payments.totals[]
Resumen de la parte de productos de la orden. Al conciliar: productos (totals) + envío − descuentos de orden ≈ monto pagado.
Fire no rechaza la petición si
paymentMethods[].totalBill difiere levemente de la suma de tramos; aun así envía valores coherentes desde tu sistema origen.Descuentos de combo
Cuando un producto combo tiene precio contenedor 0 (es decir,type: "COMBO" con subtotalWithoutTaxes: 0), el descuento del combo no debe colocarse en la línea del contenedor. Asignar discountsValue a una base cero produce totales negativos, que Fire rechaza.
En su lugar, distribuye el monto total del descuento entre los selectedModifiers que componen el combo.
Reglas
| Regla | Detalle |
|---|---|
Contenedor COMBO (price === 0) | Todos los campos de precio deben ser 0 — sin discountsValue, sin valores negativos |
| Ubicación del descuento | Repartir discountsValue entre los modificadores proporcionalmente a su precio base |
| Restricción no negativa | Tras aplicar el descuento, cada modificador debe tener subtotalIncludeDiscounts >= 0 y total >= 0 |
| Cuadre de totales | SUM(modifier.totalPrice.discountsValue) debe igualar el descuento total del combo, y las sumas deben coincidir con payments.totals[] |
Algoritmo de reparto
D = descuento total del combo
B = SUM(modifier.price.totalPrice.subtotalWithoutTaxes)
discount_i = ROUND(D × (base_i / B), 2)
net_i = base_i − discount_i // debe ser >= 0
SUM(discount_i) === D exacto. Si el reparto proporcional dejaría algún modificador con net_i < 0, capar el descuento de ese ítem a su base (discount_i = base_i, neto = 0) y redistribuir el remanente entre los demás.
Ejemplo — descuento BRL 17,94 sobre un combo (base BRL 89,68)
A continuación se muestra el patrón incorrecto (descuento en el contenedor) y el patrón correcto (descuento repartido entre modificadores).
Incorrecto — descuento en COMBO con base cero (totales negativos)
{
"type": "COMBO",
"price": {
"unitPrice": {
"subtotalWithoutTaxes": "0",
"discountsValue": "17.94",
"subtotalIncludeDiscounts": "-17.94",
"total": "-17.94"
}
}
}
Correcto — contenedor COMBO en cero, descuento en modificadores
{
"type": "COMBO",
"price": {
"unitPrice": { "subtotalWithoutTaxes": "0", "discountsValue": "0", "subtotalIncludeDiscounts": "0", "total": "0" },
"totalPrice": { "subtotalWithoutTaxes": "0", "discountsValue": "0", "subtotalIncludeDiscounts": "0", "total": "0" }
},
"modifierGroups": [
{
"selectedModifiers": [
{
"product": "12 Coxinhas da Asa",
"type": "MODIFIER",
"price": {
"unitPrice": { "subtotalWithoutTaxes": "22.30", "discountsValue": "4.46", "subtotalIncludeDiscounts": "17.84", "total": "17.84" },
"totalPrice": { "subtotalWithoutTaxes": "22.30", "discountsValue": "4.46", "subtotalIncludeDiscounts": "17.84", "total": "17.84" }
}
},
{
"product": "Batata Média",
"type": "MODIFIER",
"price": {
"unitPrice": { "subtotalWithoutTaxes": "4.59", "discountsValue": "0.92", "subtotalIncludeDiscounts": "3.67", "total": "3.67" },
"totalPrice": { "subtotalWithoutTaxes": "4.59", "discountsValue": "0.92", "subtotalIncludeDiscounts": "3.67", "total": "3.67" }
}
}
]
}
]
}
| Modificador | Base | discountsValue | Neto |
|---|---|---|---|
| 12 Coxinhas da Asa | 22,30 | 4,46 | 17,84 |
| Batata Média | 4,59 | 0,92 | 3,67 |
| Onion Rings | 7,50 | 1,50 | 6,00 |
| Batata Grande | 6,50 | 1,30 | 5,20 |
| Molho Secreto 120g | 4,09 | 0,82 | 3,27 |
| Água sem Gás (×2) | 29,80 | 5,96 | 23,84 |
| Água com gás | 14,90 | 2,98 | 11,92 |
| Contenedor COMBO | 0 | 0 | 0 |
| Total | 89,68 | 17,94 | 71,74 |
payments.totals[0].subtotalWithoutTaxes = 89,68, subtotalIncludeDiscounts = 71,74 ✓
Descuentos del agregador
Cuando la plataforma del agregador (iFood, Rappi, UberEats, etc.) aplica un descuento promocional al cliente, el agregador reembolsa al local ese monto — el local siempre recibe el precio completo. Por eso el descuento no resta de los ingresos del local y no debe aparecer enpayments.discounts[].
Modélalo como una entrada adicional en payments.paymentMethods[]:
| Quién paga | Qué | Cómo modelarlo |
|---|---|---|
| Cliente | Productos + envío + cargos extra − descuento del agregador | paymentMethods[n] con el código de pago real (CREDIT, CASH, etc.) |
| Agregador | Monto del descuento (reembolso al local) | paymentMethods[n] con paymentMethodCode: "AGGREGATOR_DISCOUNT" |
| Local recibe | Productos + envío + cargos extra completos | — |
Campos requeridos en la entrada AGGREGATOR_DISCOUNT
| Campo | Valor |
|---|---|
paymentMethodCode | "AGGREGATOR_DISCOUNT" — el mismo código para todos los agregadores |
processor | Nombre del agregador: "IFOOD", "RAPPI", "UBEREATS", … |
transactionType | "BENEFIT" |
transactionStatus | "APPROVED" |
card | null |
totalBill | Monto del descuento |
Regla de balance
La suma de todos lospaymentMethods[].totalBill — incluida la entrada AGGREGATOR_DISCOUNT — debe ser igual al total bruto de la orden:
SUM(paymentMethods[].totalBill)
= SUM(order.products[].price.totalPrice.total)
+ SUM(payments.extraCharges[].total)
+ SUM(payments.shippingCost[].total)
payments.discounts[] queda vacío.
{
"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"
}
},
"additional_info": { "externalCode": "burger-classic-ext-001" }
}
]
},
"shippingMethod": {
"delivery": {
"city": "Guayaquil",
"mainStreet": "Av. Principal 123",
"zipCode": "090101",
"additional_info": {
"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"
}
]
}
}
{
"orderId": "AGG-DISC-LINE-001",
"source": "Kiosco",
"platform": "Android",
"channel": { "uid": "CH-KIOSK-001", "code": "Kiosk", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "Maria", "phone": "+5511999999999" },
"store": { "id": 20, "name": "Centro", "code": "T020", "vendorId": 16 },
"order": {
"products": [
{
"productId": "SKU-COMBO-001",
"product": "Combo Especial",
"type": "COMBO",
"quantity": 1,
"comment": "Sin cebolla",
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "15.00",
"discountPercentage": "10.0000",
"discountsValue": "1.50",
"subtotalIncludeDiscounts": "13.50",
"taxesPercentage": "12.0000",
"taxValue": "1.62",
"total": "15.12"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "15.00",
"discountPercentage": "10.0000",
"discountsValue": "1.50",
"subtotalIncludeDiscounts": "13.50",
"taxesPercentage": "12.0000",
"taxValue": "1.62",
"total": "15.12"
}
},
"modifierGroups": [
{
"id": "MG-SAUCE-001",
"description": "Salsa",
"selectedModifiers": [
{
"answerId": "ANS-BBQ-001",
"productId": "MOD-BBQ-001",
"product": "Salsa BBQ",
"type": "MODIFIER",
"quantity": 1,
"additional_info": { "externalCode": "sauce-bbq-ext-001" }
}
]
}
],
"additional_info": { "externalCode": "combo-especial-ext-001" }
}
]
},
"shippingMethod": {
"delivery": {
"city": "São Paulo",
"mainStreet": "Rua Exemplo 100",
"zipCode": "01310-100"
}
},
"payments": {
"totals": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "15.00",
"discountPercentage": "10.0000",
"discountsValue": "1.50",
"subtotalIncludeDiscounts": "13.50",
"taxesPercentage": "12.0000",
"taxValue": "1.62",
"total": "15.12"
}
],
"shippingCost": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "3.50",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "3.50",
"taxesPercentage": "12.0000",
"taxValue": "0.42",
"total": "3.92"
}
],
"discounts": [],
"paymentMethods": [
{
"processor": "CREDIT_CARD",
"currencyCode": "BRL",
"transactionStatus": "APPROVED",
"totalBill": "19.04"
}
]
}
}
{
"orderId": "AGG-PROMO-001",
"source": "Aggregator",
"channel": { "uid": "CH-AGG-001", "code": "Aggregator", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "João", "lastName": "Silva", "phone": "+5511987654321" },
"store": { "id": 30, "name": "Lab Brasil", "code": "K000", "vendorId": 8 },
"order": {
"products": [
{
"productId": "BURG-001",
"product": "Hamburguesa Clásica",
"type": "PRODUCT",
"quantity": 2,
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "11.52",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "11.52",
"taxesPercentage": "12.0000",
"taxValue": "1.38",
"total": "12.90"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "23.04",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "23.04",
"taxesPercentage": "12.0000",
"taxValue": "2.76",
"total": "25.80"
}
},
"additional_info": { "externalCode": "hamburguesa-clasica-ext-001" }
},
{
"productId": "BEV-001",
"product": "Refresco 500ml",
"type": "PRODUCT",
"quantity": 1,
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "4.46",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "4.46",
"taxesPercentage": "12.0000",
"taxValue": "0.54",
"total": "5.00"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "4.46",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "4.46",
"taxesPercentage": "12.0000",
"taxValue": "0.54",
"total": "5.00"
}
},
"additional_info": { "externalCode": "refresco-500ml-ext-001" }
}
]
},
"shippingMethod": {
"delivery": { "city": "São Paulo", "mainStreet": "Av. Paulista 1000" }
},
"payments": {
"totals": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "27.50",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "27.50",
"taxesPercentage": "12.0000",
"taxValue": "3.30",
"total": "30.80"
}
],
"shippingCost": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "3.50",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "3.50",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "3.50"
}
],
"discounts": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "34.30",
"discountPercentage": "0.0000",
"discountsValue": "2.00",
"subtotalIncludeDiscounts": "32.30",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "2.00"
}
],
"paymentMethods": [
{
"processor": "99",
"currencyCode": "BRL",
"transactionStatus": "APPROVED",
"totalBill": "32.30"
}
]
}
}
{
"orderId": "AGG-DISC-IFOOD-001",
"source": "Aggregator",
"channel": { "uid": "CH-IFOOD-001", "code": "Aggregator", "metadata": {} },
"service": { "uid": "3", "code": "DELIVERY", "metadata": {} },
"selectedShippingMethod": "delivery",
"client": { "name": "João", "lastName": "Silva", "phone": "+5511987654321" },
"store": { "id": 30, "name": "Lab Brasil", "code": "K000", "vendorId": 8 },
"order": {
"products": [
{
"productId": "PROD-TESTE-001",
"product": "PEDIDO DE TESTE Suc",
"type": "PRODUCT",
"quantity": 2,
"price": {
"unitPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "14.90",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "14.90",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "14.90"
},
"totalPrice": {
"currencyCode": "BRL",
"subtotalWithoutTaxes": "29.80",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "29.80",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "29.80"
}
},
"additional_info": { "externalCode": "pedido-teste-ext-001" }
}
]
},
"shippingMethod": {
"delivery": { "city": "São Paulo", "mainStreet": "Av. Paulista 1000", "zipCode": "01310-100" }
},
"payments": {
"totals": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "29.80",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "29.80",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "29.80"
}
],
"shippingCost": [
{
"currencyCode": "BRL",
"subtotalWithoutTaxes": "8.90",
"discountPercentage": "0.0000",
"discountsValue": "0.0000",
"subtotalIncludeDiscounts": "8.90",
"taxesPercentage": "0.0000",
"taxValue": "0.0000",
"total": "8.90"
}
],
"extraCharges": [
{
"type": "PACKAGING",
"quantity": 1,
"description": "Taxa de serviço",
"currencyCode": "BRL",
"subtotalWithoutTaxes": "0.99",
"taxValue": "0.0000",
"total": "0.99"
}
],
"discounts": [],
"paymentMethods": [
{
"processor": "IFOOD",
"currencyCode": "BRL",
"paymentMethodCode": "CREDIT",
"transactionType": "ONLINE",
"transactionStatus": "APPROVED",
"exactPayment": true,
"totalBill": "38.69",
"id_auth": "123456",
"receipt_customer": "COMPROBANTE CLIENTE\nAMEX ****1234\nAPROBADO",
"receipt_merchant": "COMPROBANTE COMERCIO\nAMEX ****1234\nAPROBADO",
"card": {
"brand": "AMEX",
"bin": "378282",
"mask": "3782 82****1234",
"lastFourDigits": "1234",
"holder": "JOAO SILVA",
"cardCountry": "BR",
"externalCardBrandId": "",
"media": "CHIP"
},
"acquirer": {
"code": "01",
"name": "CIELO",
"cnpj": "01.027.058/0001-91"
}
},
{
"processor": "IFOOD",
"currencyCode": "BRL",
"paymentMethodCode": "AGGREGATOR_DISCOUNT",
"transactionType": "BENEFIT",
"transactionId": "0ec06303-28f8-4d1f-aa3d-8b88aadb9814",
"transactionStatus": "APPROVED",
"exactPayment": true,
"totalBill": "1.00",
"card": null,
"acquirer": { "code": "", "name": "" }
}
]
}
}
Conciliación de los ejemplos
| Ejemplo | Productos (totals[].total) | Envío (shippingCost[].total) | Descuento de orden (discounts[].discountsValue) | Pagado (totalBill) |
|---|---|---|---|---|
| Entrega simple | 8.99 | 1.73 | — | 10.72 |
| Descuento en línea + envío | 15.12 | 3.92 | — | 19.04 |
| Varios productos + promo | 30.80 | 3.50 | 2.00 | 32.30 |
| Descuento del agregador | 29.80 | 8.90 | — | 39.69 (CREDIT 38.69 + AGGREGATOR_DISCOUNT 1.00) |
- Entrega simple: 8.99 + 1.73 = 10.72.
- Descuento en línea: 10% sobre 15.00 → IVA sobre 13.50 → producto 15.12; envío 3.50 + IVA 12% = 3.92; 15.12 + 3.92 = 19.04.
- Varios productos + promo: hamburguesas 25.80 + bebida 5.00 = 30.80; + envío 3.50 = 34.30; − promo 2.00 = 32.30 pagado.
- Descuento del agregador: productos 29.80 + embalaje 0.99 + envío 8.90 = 39.69 bruto; el cliente paga 38.69 (CREDIT) + el agregador reembolsa 1.00 (AGGREGATOR_DISCOUNT) = 39.69 ✓.
payments.discountsqueda vacío.
{
"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"
}
{
"error": {
"code": "validation_error",
"message": "channelId is required"
}
}
{
"error": {
"code": "duplicate_order",
"message": "An order with orderId '0000012194-081101' already exists"
}
}
⌘I

