Skip to main content

Events Feature Flags

Your Events integration starts by receiving events for every order at every location configured to send them. On top of that, Stream maintains a small number of feature flags — optional configuration that can be set on your integration to narrow what you receive, or to unlock data that is withheld by default.

This page is the complete list of what exists for Events integrations.

CapabilityDefaultWhat it changes
Fulfillment type filterAll typesRestricts which orders generate events for you
Order source filterAll sourcesRestricts which ordering platforms generate events for you
Self-delivery consentOffAdds the delivery address to confirmed merchant-managed delivery orders

How feature flags work

A few rules apply to every flag on this page:

  • The two filters are unset by default, meaning no filtering — you receive everything. Adding a filter narrows what you get. Self-delivery consent is off by default and adds data when enabled.
  • Flags are set by Stream, not self-service. There is no API for changing them. Ask your Stream contact for the capability by name and we will configure it against your integration.
  • Enabling requires your integration to be live. A capability can only be switched on once your integration status is live. Narrowing a filter or turning a capability back off is always possible, at any status.
  • Flags apply to your whole integration, not per merchant or per location.
note

There is currently no endpoint that returns which flags are set on your integration. If you are unsure what you have, ask your Stream contact and we will confirm.

DSP and POS integrations have their own capabilities — see DSP Feature Flags and POS Feature Flags.

Fulfillment type filter

Default: unset — you receive events for orders of every fulfillment type.

Restricts your event stream to specific fulfillment types: pickup, curbside, dine_in, delivery, merchant_managed_delivery, stream_managed_delivery, drive_thru and kiosk. Orders outside the list generate no events for you.

Order source filter

Default: unset — you receive events from every ordering platform.

Restricts your event stream to orders originating from specific platforms. Use it when your product only cares about a subset of a merchant's channels.

Default: off.

When enabled, confirmed orders with a merchant-managed delivery fulfillment type include the delivery address. Without it, no delivery address is sent in any event.

This flag is enabled alongside the commercial terms that cover self-delivery, so it is agreed with Stream rather than simply requested.

Two things it does not gate: delivery status, which is sent whenever present and is the entire content of the delivery status event; and customer name and phone, which are sent on confirmed orders regardless.

Filtering is silent

Both filters drop events with no signal to you — there is no error, no retry, and no notification that an order was excluded. If you expect events that never arrive, confirm your configured fulfillment types and order sources with Stream before treating it as a delivery failure.

note

Filters are only one of two layers. Each merchant separately chooses, per location, which event types they send to your platform. A location that has not been configured for your integration, or that has not selected a given event type, produces no events regardless of your integration's configuration.

Inbound capabilities

The events you send to Stream — assigning a driver, updating delivery status and updating driver location — are available to every events partner and are not gated by any flag. Two limits apply to all partners:

  • Driver assignment is first-write-wins. Assigning a driver to an order that already has one is rejected.
  • Driver location updates are rate limited to one update per order every 30 seconds.

See Order State Events.