Skip to content

Getting started as a publisher or seller

Who this is for: publishers and sellers sending call opportunities to a buyer who runs Moja. What you’ll need: the RTB endpoint, method, and parameter list from your buyer, plus a test caller ID and an agreed test window. Time: about 30 minutes to a successful test call.

Stage 1 — Get what you need from the buyer

Section titled “Stage 1 — Get what you need from the buyer”

Time: as long as it takes them to reply. Do not start before this is complete.

Ask for all five. Every integration that stalls, stalls because one of them was assumed:

Ask for Why it matters
The exact endpoint URL It is tied to one publisher and one campaign. Reusing it elsewhere misattributes or fails
The HTTP method GET is the usual default; POST only if they say so and give you the format
The required parameter names Names are not interchangeable — CALLER_ID and CID are both valid, but pick the one they configured
Any buyer-specific metadata A field nobody configured on their side is silently ignored
Payout and duration rules This is what decides whether a connected call earns you anything

Also agree a test window and a test caller ID before you send anything.

Stage 1 is done when: you can paste the endpoint into a browser and get JSON back.

Stage 2 — Send a request and read the answer

Section titled “Stage 2 — Send a request and read the answer”

Time: about 20 minutes. Goal: a bid response you can dial.

  1. Send the RTB request with the caller data your buyer requires. Send only the metadata you agreed to send — unexpected fields are the most common cause of a no-bid. → Send RTB requests to a Moja buyer

  2. Read the response. A winning bid returns a phone number, a payout, a duration, and an allocation window. Expected result: success: true, one eligible route, and a number you can dial.

  3. Store the request_id alongside the full response. It is the first thing anyone will ask you for.

  4. Send the call to the number that was returned — that number, for that caller, inside that window. Not a cached number, and not after it expires. → Preventing stale RTB bids with bid expiration controls

Stage 2 is done when: one test call, placed inside the agreed window, reaches the returned number.

Time: 10 minutes. Goal: agreement with your buyer about what happened.

  1. Run a handful of calls inside the agreed test window with your test caller ID.

  2. Ask your buyer to confirm they landed under the expected publisher and campaign.

  3. Confirm the calls show the duration and payout you expect.

  4. If you have your own Moja access, the call log is the source of truth. → How to read call logs · Call log column dictionary

Stage 3 is done when: you and your buyer agree, call for call, on what was delivered and what was paid.

Before you add a second buyer, get the first one’s numbers reconciling cleanly. Two half-working integrations are much harder to debug than one.

If you run Moja yourself and want to sell your calls out to other networks over RTB, that is Outbound RTB — see the Outbound RTB guide.

Symptom Likely cause Fix
Every request comes back no-bid Filters, caps, hours, or a missing required parameter on the buyer’s side How to troubleshoot RTB no-bid responses
Responses are slow Too many targets, or slow downstream bidders in the buyer’s campaign How to troubleshoot high RTB processing time
RTB logs but no call logs The returned number was never dialled, or was dialled after the bid expired Why am I seeing RTB logs but no call logs?
Calls connect but you are not paid The buyer’s conversion rule was not met — usually a duration threshold Why am I getting calls but no revenue?
Requests fail with an HTTP error Wrong endpoint, method, query separators, or unencoded values Re-check the URL against what your buyer sent, character for character
It worked yesterday and not today Something changed on the buyer’s side — a cap, a schedule, or a filter Send them the request_id and the timestamp

Contact your Moja-integrated buyer first, with: the request timestamp, the caller ID used, the complete request and response bodies, and the request_id. They can review the campaign from there, or escalate to Moja Support with everything already in hand.

Last reviewed: August 2026.