Partner integrations (lead push & status feed)
How affiliates push leads and pull statuses; what every field means; the LEAD → CLIENT → FTD stages.
Push
Partners POST leads to /api/leads/intake (or the TrackBox path /api/signup/procform) with their key. The lead is created, scored, stamped with the partner, registered on the trading platform, assigned if continuous assignment covers the source, and checked (number lookup, email, duplicate).
Campaign / source
To show agents which campaign a lead came from, the partner must include it in the push: so (funnel) and campaign, optionally sub, ad, term, medium, lg (language), ai (affiliate). TrackBox names are accepted as-is. It appears on the lead and in the Relay/Parley Source column. If those fields aren't in the request, the lead simply has no campaign — a panel showing a campaign is not the same as the push carrying it.
We record the exact field names each push actually contained (on the lead and in the audit log, 'sent: …'), so it is always clear what a partner really sent versus what they intended.
Pull
Partners POST /api/partner/leads/status (or /api/pull/customers) with from/to ("YYYY-MM-DD HH:MM:SS"), page and optionally type (2 leads, 3 leads + deposits, 4 deposits only). They get only the leads they sent.
| Field | Meaning |
|---|---|
| status | pipeline stage: NEW / CONTACTED / QUALIFIED / CONVERTED / LOST |
| stage | LEAD (working it) → CLIENT (converted, no money) → FTD (confirmed first deposit) |
| outcome | last real call result: VOICEMAIL, NO_ANSWER, BUSY, NOT_INTERESTED, INTERESTED, CALLBACK, WRONG_NUMBER, DO_NOT_CALL, CARRIER_REJECT |
| callCount, contactedAt, lastAttemptAt, lastCall | attempts and timing (our own line refusals never count) |
| numberStatus, flags | mobile / landline / voip / invalid / unknown; quality flags |
| converted, clientStatus, kycStatus | registration and KYC state |
| ftd, depositCount, depositTotal | null until a deposit is confirmed by finance; then amount, currency, time |
Converted is not FTD. A registration never sets ftd; only a confirmed deposit does.
Partner signals
Reports → Sources shows per partner: shared IPs, sequential numbers, bursts, and the duplicate / invalid / VoIP / voicemail-only / name-mismatch rates of the last 7 days, with examples.