Skip to content
Proud to collaborate with Microsoft for Startups

ifood.events.ingest ​

Normalize and deduplicate an inbound iFood order-event batch delivered through a hook redirect

Normalize one inbound batch of iFood order events from the hook.

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-ifood
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Authenticated organization that owns the hook redirect
sourcestringNo—Hook-configured source label, e.g. 'ifood'
event_typestringNo—Hook-configured or header-derived event type
actionstringNo——
delivery_refstringNo—Provider or hook delivery reference used for tracing
payloadjsonNo—Parsed request body: an event list, a single event, or an envelope
headersjsonNo—Inbound request headers forwarded by the hook. Consumed for shape only and never echoed on output, since they may carry authorization material.
metadatajsonNo——
redirect_uuidstringNo——
event_uuidstringNo——
workflow_run_idstringNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Authenticated organization that owns the hook redirect
sourcestringNo—Hook-configured source label, e.g. 'ifood'
event_typestringNo—Hook-configured or header-derived event type
actionstringNo——
delivery_refstringNo—Provider or hook delivery reference used for tracing
payloadjsonNo—Parsed request body: an event list, a single event, or an envelope
metadatajsonNo——
redirect_uuidstringNo——
event_uuidstringNo——
workflow_run_idstringNo——
eventslistYes—Normalized, deduplicated iFood order events
record_countintegerYes——
duplicate_countintegerYes—Events dropped because their event_ref repeated in this batch
unknown_countintegerYes—Events whose code is not a known order-status transition
order_refslistYes—Distinct order references touched by this batch
confirmable_order_refslistYes—Orders still awaiting confirmation within the SLA. Matches the batch-aware rule used by ifood.events.poll.
settling_order_refslistYes—Orders whose transition means Sales / Financial Events records should now be expected
acceptedbooleanYes—False when the envelope carried no recognizable iFood event
rejection_reasonstringNo—Why the envelope was not accepted; absent when accepted
envelope_metadatajsonNo——
ingested_atstringYes——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_stepjsonNo——
failed_layerintegerNo——
failed_at_statestringNo——
errorstringNo——
error_typestringNo——
failed_atstringNo——
provider_request_refstringNo——
retryablebooleanNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
initiatedYesNo—execute—
executingNoNo—complete—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
initiatedexecuteexecuting—
executingcompletecompleted—
* (any state)failfailed—

Outcomes ​

OutcomeTypeDescriptionState Data Keys
ingestedSUCCESSInbound event batch was normalizedevents, record_count, settling_order_refs
failedFAILUREEvent ingest failedfailure_reason, failure_type, retryable

Business Errors ​

CodeMessage Template
IFOOD_ORGANIZATION_CONTEXT_INVALIDAuthenticated organization context is missing or does not match the workflow input
IFOOD_CONNECTION_NOT_FOUNDiFood connection {connection_uuid} was not found in the authenticated organization
IFOOD_CONNECTION_WRONG_PROVIDERConnection {connection_uuid} is not an iFood connection
IFOOD_CONNECTION_SERVICE_UNAVAILABLEThe shared cloud connection service is unavailable
IFOOD_PROVIDER_CAPABILITY_MISSINGThe installed iFood provider does not expose the required API operation
IFOOD_AUTHENTICATION_FAILEDiFood rejected the connection credentials or bearer token
IFOOD_PROVIDER_REQUEST_FAILEDThe iFood API request failed
IFOOD_RESPONSE_SHAPE_INVALIDThe iFood Merchant API returned an invalid merchant record
IFOOD_PAGINATION_INVALIDMerchant page must be at least 1 and limit must be between 1 and 100
IFOOD_SALES_WINDOW_INVALIDSales dates must use YYYY-MM-DD, be ordered, and span no more than 8 inclusive days
IFOOD_SALES_PAGINATION_INVALIDSales page must be a zero-based integer
IFOOD_SALES_RESPONSE_SHAPE_INVALIDThe iFood Financial Sales API returned an invalid response
IFOOD_FINANCIAL_EVENTS_WINDOW_INVALIDFinancial Events dates must use YYYY-MM-DD, be ordered, and span no more than 33 inclusive days
IFOOD_SETTLEMENTS_WINDOW_INVALIDSettlements dates must use YYYY-MM-DD, be ordered, and span no more than 90 inclusive days
IFOOD_FINANCIAL_PAGINATION_INVALIDFinancial page must be one-based and page_size must be between 100 and 300
IFOOD_FINANCIAL_EVENTS_RESPONSE_SHAPE_INVALIDThe iFood Financial Events API returned an invalid response
IFOOD_SETTLEMENTS_RESPONSE_SHAPE_INVALIDThe iFood Settlements API returned an invalid response
IFOOD_DATA_ENVIRONMENT_INVALIDdata_environment must be exactly 'production' or 'homologation'
IFOOD_DATA_ENVIRONMENT_UNSUPPORTEDThe installed iFood provider does not support data_environment; upgrade ltinteg-cloud-connections to request homologation records

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "ifood.events.ingest",
  "initial_data": {
    "organization_uuid": "value"
  }
}