Send boberdoo leads to Juiced
This guide sets Juiced up as a buyer (a Partner) in boberdoo, with a custom delivery that posts each lead to the Juiced API as JSON, plus ping post if you want a price before you send the lead.
Route: Lead platform as buyer. Create Juiced as a Partner in boberdoo, have a custom delivery built that posts JSON to the Juiced API, and attach it to the Partner's Lead Filter Set.
boberdoo's public docs say custom deliveries are built by boberdoo from a support ticket, or by you in the Custom Delivery Wizard. You need a Juiced source, its bearer token, and the field names from View API Spec to put in the ticket.
The gotcha: Juiced answers 201 for sold and unsold leads alike. Ask boberdoo to treat a lead as sold only when data.status is accepted, not on the HTTP code.
Before you start
- In boberdoo: access to the Partners tab and to submit support tickets. boberdoo describes two ways to get a custom delivery: boberdoo Custom Work, requested by ticket under tickets in the settings tab, or the Custom Delivery Wizard if you have the technical resources (CRM integration options).
- In Juiced: a source, its bearer token, and the endpoint and field names from View API Spec.
- Pick the source type. Use Vendor when a vendor runs the boberdoo system and sends you leads, and Internal when the leads are your own. A ping returns its id in
data.id, and the post then carries it asping_id. A vendor source reads its price fromdata.price(ping reference). - Optional partner header. If Juiced gave you a partner ID for partner-attributed traffic, ask for
X-Partner-Idto be sent too. Leave it out otherwise.
Step by step
-
Create a source in Juiced and copy a token
Go to Ingest > Sources > New source, set the Source type, turn on Test mode and click Create source. On the Authentication tab click New bearer token > Create token and copy it. Open Overview > More actions (⋯) > View API Spec and save the page link. See setting up a source.
-
Add Juiced as a Partner
Click the Partners tab, then Add New Partner, and fill in the steps you need; none are required. After saving, the Partner shows as Not Active until you click that button (create a new partner, setting up a lead buyer).
-
Request the custom delivery
Submit a support ticket asking for a custom delivery to Juiced, or build it in the Custom Delivery Wizard. boberdoo says it builds deliveries in formats including Get, Post, XML, SOAP and JSON, then sends test leads to confirm the ping and post work (selling ping post leads). Give them the values in the table below and your View API Spec link.
-
Attach the delivery to the Lead Filter Set
Select the Partner, open Lead Filter Sets, pick the lead type and click +. In Lead Delivery Setup, choose the Juiced delivery from the dropdown; finished custom deliveries appear there. If Juiced returns a dynamic price, set Lead Price to zero, as boberdoo advises for dynamic bidding (filter set definitions). boberdoo says a buyer also needs available funds or credit before leads are sold, set on the Invoicing/Billing tab (setting up a lead buyer).
-
Test and go live
Send a test lead with zip
00001(accepted) and one with00003(rejected). In Juiced, check Entries > Incoming logs with the Test only filter and confirm boberdoo recorded the first as sold and the second as not sold. Then turn off Test mode on the Juiced source.
What to give boberdoo
| Setting | Value |
|---|---|
| Post URL and method | POST https://usejuiced.com/api/v1/leads |
| Ping URL and method (ping post) | POST https://usejuiced.com/api/v1/ping, sending only the fields marked Required for ping (always zip) |
| Headers | Authorization: Bearer <token>, Content-Type: application/json, Accept: application/json, optional X-Partner-Id |
| Body | JSON with top-level keys named exactly as the Juiced field Titles. No nested objects, no form encoding, no token in the URL |
| Ping to post | Every valid ping returns 200. Post only when data.status is matched; read the price from data.price and send data.id as ping_id in the post body |
| Sold condition | HTTP 201 and data.status equals accepted; sale price in data.price (check the path syntax in your account) |
| Lead ID to store | data.id |
boberdoo's public docs do not say how a custom delivery sends headers. On the first test, open the log in Juiced and check the post inspector: the Request should show top-level JSON keys, and the response should not be 401. If the delivery cannot send that format, have it post to a webhook in Zapier or Make and send the JSON POST to Juiced from there.
Field mapping
boberdoo maps the fields of your lead type to the buyer's system when it builds the delivery. List each field in the ticket like this:
| Juiced key | boberdoo lead field |
|---|---|
first_name, last_name | First and last name fields of your lead type |
email, phone | Email and phone fields |
zip | Zip code. Always required, on the ping and the post |
| Custom answers, SRC, UTM values | Keys you add on the Juiced source's Fields tab first |
trusted_form_cert_url or jornaya_leadid | The field that stores the certificate URL or LeadiD, if you collect one |
Example request
POST https://usejuiced.com/api/v1/leads
Authorization: Bearer <your token>
Content-Type: application/json
Accept: application/json
{
"ping_id": "ping_01HZX4K2M8",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.com",
"phone": "5555550100",
"zip": "00001"
}
Leave out ping_id for a direct post. See the leads and ping API references.
Response parsing
Ask boberdoo to read Juiced's answers like this:
| Juiced returns | Meaning | boberdoo should record |
|---|---|---|
Ping 200: data.status matched | Juiced wants the lead at data.price | Post with ping_id = data.id |
Ping: no_match, duplicate, rejected | Juiced does not want the lead | Do not post |
201 + data.status accepted | Sold or accepted, with its data.price | Sold, at data.price |
201 + data.status rejected | Received, not sold, price 0 | Not sold |
201 + data.status duplicate | Duplicate, price 0 | Not sold, duplicate |
401 unauthenticated | Missing or invalid credentials | Error. Fix the Authorization header |
422 | Read error.code (for example validation_failed or ping_mismatch) and the field errors | Error. Fix the field and resend |
The data.status values are Juiced's default mapping. Confirm them on your source's API spec before the delivery is built.
TrustedForm and Jornaya
If your boberdoo leads carry a TrustedForm certificate URL or a Jornaya LeadiD, add a field such as trusted_form_cert_url or jornaya_leadid to the Juiced lead category or source, mark it Deliverable if your buyers ask for it, and include it in the field list for the delivery. See passing TrustedForm and Jornaya to Juiced.
Troubleshooting
- Unsold leads are billed as sold. The delivery treats any
201as a sale. Ask boberdoo to checkdata.statusequalsaccepted. - Unauthorized (401). The token was pasted with a line break or the space after
Beareris wrong. Creating a new token expires the old one 24 hours later, so send boberdoo the new one before then. - 422 on the post after a ping. Read
error.codein the response:ping_mismatchmeans the post does not match its ping. Check thatping_idcarriesdata.idand the post repeats the same ping fields. - Fields arrive empty in Juiced. A key does not match a Juiced field Title, or fields were nested. Open the log's post inspector to see the payload as received.
- The delivery is not in the dropdown. boberdoo lists custom deliveries in Lead Delivery Setup only once they are completed.
More fixes in webhook troubleshooting.
Frequently asked
Can boberdoo send leads to Juiced?
Yes. Add Juiced as a Partner in boberdoo and attach a custom delivery that posts JSON to the Juiced API with a bearer token in the Authorization header.
Who builds a boberdoo custom delivery?
boberdoo builds custom deliveries when you submit a support ticket with the buyer’s specs. Its docs also describe a Custom Delivery Wizard you can use yourself if you have the technical resources.
Does Juiced work with boberdoo ping post?
Yes. The Juiced v1 ping endpoint returns data.status, data.price and data.id. When the status is matched, the delivery posts the full lead with ping_id set to data.id.
How does boberdoo know a lead sold to Juiced?
Juiced returns HTTP 201 with data.status. Only accepted means sold, with the sale price in data.price. Rejected and duplicate statuses mean not sold, with price 0.
How do I pass a TrustedForm certificate from boberdoo to Juiced?
Add a field such as trusted_form_cert_url to the Juiced lead category or source and include it in the field list for the custom delivery.
Route boberdoo traffic to the right buyer
Juiced routes each lead to your buyers by bids, caps and criteria, and moves unsold leads to your marketplace.
Scale your lead business, without limits
Juiced puts you in full control of your leads, routing, and revenue, so you can automate, optimize, and grow without chaos.
