Atlas
Atlas calls Referalli on every sign-up, change, ban and deletion over the signed protocol. Install in one click from Atlas, or create the connection here.
Atlas calls Referalli on every sign-up, change, ban and deletion over the signed protocol. Install in one click from Atlas, or create the connection here.
Connect
One click (recommended). In the Atlas dashboard choose Integrations → Referrals → Connect Referalli. Atlas sends you to Referalli, you pick the program and allow it, and Atlas receives the connection's signing secret server to server. Nothing to copy.
Under the hood this is GET /v1/oauth/authorize?client_id=atlas&scope=connections:write&redirect_uri=…&state=…&code_challenge=…&code_challenge_method=S256&instance_id=…, your approval in the dashboard, and Atlas trading the single-use code (10 minutes, PKCE-bound) at POST /v1/oauth/token. Installing again for the same instance keeps the connection and issues a new secret; the old one verifies for 24 hours.
By hand. POST /v1/auth/connections with {"provider": "atlas", "instanceId": "ins_…", "programId": "prg_…"} and paste the returned id and secret into Atlas.
Partners chosen by users
When a user asks to become a partner from Atlas, Atlas calls POST /v1/auth/connections/{id}/partners with { customerRef, email, name?, code? }. They are enrolled at once (whatever autoEnrollUsers says) with a coupon and, when the connection has a destination URL, a link:
{ "partner": { "id": "ptr_01JB…", "code": "DANA", "link": "https://referalli.com/go/t_…/dana" } }A code someone else already holds is a 409, so the user can pick another. Calling again for the same user returns their existing partner record.
Everything else (signature, replay ids, signups, signals, erasure) is the signed protocol.
Referral context
On your sign-up page, with the tracking script loaded, window.aff.getReferral() returns the visitor's referral. Put it where this provider carries it (below), under the default keys referalli_anon_id, referalli_click_id and referalli_coupon. The older referally_* spellings are still read. Referalli never links users by email: without these keys a sign-up is not attributed.
For Atlas the referral is read from: referral.code, referral.anonId, referral.clickId (with consent).
Check it
Each webhook delivery is answered with what Referalli did per user (attributed, partnerId, matchedVia, or the reason it wasn't); signed-protocol calls take "test": true on /signups to see the answer without storing anything. Every connector is held to the same conformance suite.