open_media_buys_page
(optional view: media_buys, creatives or delivery; optional accountRelationshipId to show one
buyer’s buys).
Status
Each row shows the
buyerName, the advertiserLabel, budget, flight, the forwardOutcome and
when it last changed.
The timeline
open_page with page: "media_buy_timeline" (or GET /media-buys/{id}/timeline) shows one buy’s
stages with timestamps: received, screened, decided, forwarded, submitted, source moderation,
accepted, delivering (or forward failed). Each stage is done, current, pending or failed,
with a detail where there is one.
The timeline flags a buy as stuck when:
- the forward failed (with your source’s message);
- it has waited for an operator decision for more than 4 hours (“Waiting for an operator decision past the SLA.”);
- any other stage has made no progress for more than an hour (“No progress from the source yet.”).
references carries the buy’s idempotency key, request id and AdCP task id, for support.
Re-send a failed forward
When a forward fails,retry_forward (with the media buy id or its approval id) re-sends the approved
buy with the same idempotency key, so it can’t double-book. Semi asks you to confirm first. Over REST:
POST /media-buys/{mediaBuyId}/retry-forward.
REST
All paths are underhttps://api.semicola.com/api/v2/storefront.
The list accepts
status and buyerCustomerId (one buyer’s buys), and pages with limit (1–200,
default 25) and cursor. The page comes back in meta.pagination (nextCursor, hasMore), like
every cursor list; pass nextCursor back as cursor. take and skip work as aliases for
limit and an offset; take wins over limit, and cursor wins over skip. Each row carries the
buyer’s buyerCustomerId. Filtering by inventory source or flight dates isn’t available over REST.