Apps can now discover Rollouts (planned launches, experiments, and limited-time events), read their schedules, traffic allocations, and the resources they change, and get notified when a Rollout changes. Rollouts cover discounts, catalogs, themes, and checkout and account settings.
The announcement doesn't describe the previous state. It only says that apps can now discover and read Rollouts.
Apps can list and search Rollouts, fetch them by ID, and read each treatment's changes, the schedule, and the allocation. They can receive webhooks for lifecycle events, effective allocation changes, and resource changes.
rollouts to list and searchrollout(id:) to fetch directly* Bar lengths are illustrative. The article does not give specific values or the conditions under which the two differ.
effectiveTrafficAllocation instead.Notifications come in 3 categories: lifecycle, effective allocation, and resource changes.
Use them as a trigger to find out which Rollout changed.
Article recommendation: refetch affected Rollouts to keep synced data up to date.
| Notification category | What it tells you | Specific topic name |
|---|---|---|
| Lifecycle | Changes to Rollout state | Not specified (see API reference) |
| Effective allocation | Changes to effective allocation | Not specified (see API reference) |
| Resource changes | Changes to the resources a Rollout modifies | Not specified (see API reference) |
read_rolloutsThe scope to request for access to Rollout data.
Resource payloads inside a Rollout, such as discounts, are subject to their own existing scopes.
Existing installations may require merchant reauthorization.
The article covers queries (rollouts / rollout(id:)) and webhooks. It doesn't mention mutations for creating or updating Rollouts.
trafficAllocation alone doesn't tell the whole story. Read current impact from effectiveTrafficAllocation, and the allocation across treatments from the split values.
The article advises refetching affected Rollouts after a notification. It's safer not to build state from the notification payload alone.
read_rollouts is needed, and existing scopes also apply to the resource payloads inside. Design your scopes and error handling on the assumption that with only one, some data won't be visible.
For apps that read discounts, "Update your app to account for discount Rollouts" is available and also coverscompatibility behavior. If you have an existing discount integration, review it whether or not you adopt this feature. Plan the reauthorization flow for existing installations as well.
read_rollouts added → rollouts to identify Rollouts that affect discounts → re-fetch the relevant Rollout when a webhook arrives.trafficAllocation,effectiveTrafficAllocation, treatment split values, and scheduled start/end times, and display them side by side. Update them via the effective-allocation webhook.read_rollouts and tracked with webhooks.