Tracking Built for Performance
Our backend runs on SalesRender CRM with a dedicated proxy layer handling lead normalisation, status mapping, real-time postback forwarding, and full audit logging.
How the Integration Stack Works
A secure proxy sits between you and SalesRender — normalising traffic, hiding API credentials, mapping statuses, and logging every event end-to-end.
End-to-End Data Flow
Lead submission via campaign alias. Proxy normalises payload, executes GraphQL mutation in SalesRender, returns order ID.
SalesRender fires webhook on status change. Proxy maps status ID to human label and forwards postback to your tracker URL.
Advertiser sends human-readable status. Proxy maps it to a SalesRender status ID and updates order via GraphQL mutation.
API Integration
OKNutraLife uses SalesRender's GraphQL-based API for all CRM operations. Two modules are available depending on your role.
CRM API — Direct Integration
Full access to company entities — orders, statuses, products, users. Used by our proxy to create and update orders. Token is created inside the SalesRender company dashboard.
https://de.backend.salesrender.com/companies/{Company_ID}/CRM
CPA API — Webmaster / Media Buyer
Scoped API for publishers submitting orders to specific offers. No company-level access — only offer submission and lead status queries. Webmaster generates token from their own account.
https://de.backend.salesrender.com/companies/{Company_ID}/CPA
Two Auth Methods
SalesRender supports token-based auth via request header or URL parameter. Our proxy always uses the header method to keep tokens out of access logs.
Authorization: your_token_here
.../CRM?token=your_token_here
⚠️ Required header: Always include Content-Type: application/json on every request or SalesRender will reject the call.
Submitting Leads via CPA API
Media buyers submit leads either through our proxy endpoint (recommended) or directly via SalesRender's CPA API using their webmaster token.
Accepts any additional sub-ID parameters, logs the full raw payload, and returns the SalesRender order ID. The campaign alias acts as the contract — it determines which SR project, offer, and token to use.
Postback Integration
SalesRender fires webhooks on every order status change. Our proxy intercepts them, maps numeric status IDs to human-readable labels, and fires your postback URL in real time.
Webhook → Postback Flow
SalesRender call center updates order status — e.g., status_id 3 = accepted by the operator.
POST to proxy webhook endpoint with order ID, status ID, and full order data payload.
Full incoming payload is written to the audit log before any further action is taken.
Proxy maps status_id: 3 → "accepted" using the campaign's params_json status_map config.
Proxy sends GET request to your configured postback URL with mapped status, click_id, and payout.
Fired when the SalesRender call center confirms the order. Fire your conversion postback on this event only.
Fired when lead enters the queue or awaits callback. Valid lead — not yet reached by the call center.
Fired on rejection. The CRM comment text (reason) is included so you can optimise your traffic source.
Order Status Updates
Advertisers push order status updates back into SalesRender using human-readable labels via the proxy. The proxy maps the label to the correct SalesRender status ID and runs the GraphQL mutation.
Real Call Center Comments Returned
Because OKNutraLife controls the SalesRender CRM, we relay the actual call center comment text per lead — not just a numeric code. This is what powers granular traffic optimisation.
Client confirmed order. Wants standard package. Great quality lead.
Wrong number — not reachable after 3 attempts across 2 days.
Already a customer. Duplicate from same IP within 48h.
Very interested, upgraded to premium bundle. High-intent lead.
Called — voicemail. Scheduled callback for tomorrow morning.
Full Log Visibility
Every request, SalesRender response, and status change is logged end-to-end. Nothing is silently dropped.
Log Status Reference
Each log entry stores: raw incoming payload, the normalised GraphQL query sent to SalesRender, the full SalesRender response, and a timestamp. Log exports available for any campaign period on request.
What Gets Logged Per Request
Works with Your Stack
Any tracker that accepts a standard GET-based S2S postback URL is fully compatible. Custom webhook delivery via POST is available on request.
Any tracker accepting https://tracker.com/postback?clickid={click_id}&status={status} format works out of the box with no additional configuration.
Getting Set Up
Ready to Integrate?
Campaign alias, postback configuration, and SalesRender API access are provided upon partnership approval.