The pattern
1
Mint the links on every dashboard load
Call
POST /creators/links with your own opaque creatorId. You get one stable linkUrl per campaign your app is entitled to, each with catalog-grade display fields and a payout block. Idempotent: the same creator always gets the same links, so never store them; render whatever comes back, and new campaigns simply appear as new entries.2
The creator shares the link
They drop
linkUrl into a bio, a video description, a post, a newsletter. It never expires, and it is never “used up”: each open creates a fresh transaction and 302-redirects to the offer with attribution, so multiple claims and multiple completions from one link are expected and correct.3
Render the creator's performance
Call
GET /creators/{creatorId}/stats for real-time clicks, completions, and earnings per campaign, plus totals and a chart-ready daily series. Optional startDate/endDate scope everything; an unknown creatorId returns a 200 with zeros, so a brand-new creator needs no special-casing.Gotchas
- Surface
targetCountriesto your creators. It tells them where an offer converts, so they can pick campaigns matching their audience. Clicks from outside a campaign’s target countries still open and create a transaction, but they won’t complete. - You control which campaigns appear, and in what order.
linkscontains only the campaigns enabled for your app, in the campaign order you configure in the dashboard; manual priority overrides are honored. - Correlate by
campaignId. The stats endpoint is keyed by the samecampaignIdas the mint endpoint, so joining links to performance is a direct id match. - Clicks count opens, not unique users. Each open creates a transaction; don’t read
clicksas reach.
Build a rich surface from one call. Each mint entry carries everything for a full offer card (the advertiser
organization, perk, badgeLabel, oldPrice/newPrice, payout, creatives, and categories for filter tabs). Two patterns publishers commonly build on top:- Vanity links: mount a pretty route on your own domain (for example
you.com/go/summer) that 302-redirects to the entry’slinkUrl. The creator shares your branded URL; attribution is unchanged. - Branded claim page: host your own offer page (your card plus a “Claim” button) that sends the tap to
linkUrl, which then 302s to the advertiser. Your brand, Encore’s attribution.
Related
- Creator Links reference: full contracts for both endpoints, with runnable examples and response shapes.
- API Reference overview: the selection-mode decision table.
- Receive Completion Events: react server-side when a completion is verified.