Integration

Send Phonexa leads to Juiced

This guide adds Juiced as a buyer in Phonexa LMS. You build a custom integration in Integration Builder that posts JSON to the Juiced API, with an optional ping stage, then assign it to the buyer's campaign.

Reviewed October 2026 Reading time 6 min
The short version

Route: Lead platform as buyer. In Phonexa, build a Juiced integration in Integration Builder (or request one through Request New Integration), add Juiced as a buyer, and select the integration on the buyer's campaign.

You need access to Integration Builder or your Phonexa account manager, plus a Juiced source, its bearer token, and the field names from View API Spec.

The gotcha: Juiced answers 201 for sold and unsold leads alike. Set Sold::Sign on response.data.status equal to accepted, not on the HTTP code.

Before you start

  • In Phonexa LMS: access to Client Management (Buyer List, Integration Builder and Campaigns). Phonexa says only Global Admin, LMS Admin and Call Logic users can open Integration Builder. If you would rather not build it, the Request New Integration form (Support > Wiki) sends the specs to your account manager (Request New Integration).
  • 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 Phonexa account and sends you leads, and Internal when the leads are your own. A ping returns its id in data.id, and the post carries it as ping_id. A vendor source reads its price from data.price (ping reference).
  • Optional partner header. If Juiced gave you a partner ID for partner-attributed traffic, add X-Partner-Id. Leave it out otherwise.

Step by step

  1. 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 for the endpoint and field names. See setting up a source.

  2. Create the integration

    Go to Client Management > Setup > Integration Builder, click Add New Record, keep New as the type, enter a name, select the product and confirm. On the Integration Config tab, click Add new to add a variable for the Juiced token, then Save Integration (Integration Builder).

  3. Map the request

    On the Request Mapping tab, set Request::Url to https://usejuiced.com/api/v1/leads and Method Type to POST. Click Headers (Show) and add Authorization (Bearer plus your token variable), Content-Type: application/json and Accept: application/json. Set Data Type to JSON and add one String node per Juiced key, entering the lead variable in each Value field (Twig is supported).

  4. Add the ping stage (Ping-Post products)

    For a Ping-Post product, the ping request goes to https://usejuiced.com/api/v1/ping with the same headers and only the fields marked Required for ping (always zip). Every valid ping returns 200, so read response.data.status. Save response.data.id with Lead Stash Variables to Save or Optional Lead Variables and send it as ping_id in the post body. Phonexa's article does not show a dedicated ping ID field, so check in your account.

  5. Map the response

    On the Response Mapping tab, set Data Type to JSON and fill in the signs from the response parsing table below. Phonexa's examples use dot notation for nested keys, such as response.price.unitValue; for Juiced, use response.data.status == "accepted".

  6. Check the integration on the Testing tab

    On the Testing tab, fill in the required config fields. Click Perform Test under Request Preview to check the request format; Phonexa says no lead is sent. Paste a sample Juiced response with "status": "accepted" inside data and click Perform Test under Response Check, then repeat with "rejected". For Ping-Post, the ping response must pass before the post test runs.

  7. Assign it to the buyer's campaign

    Add Juiced at Client Management > Buyer List > Add New Buyer (Buyer List). Then go to Client Management > Setup > Campaigns, click Configure on the campaign, open the Integration tab and select the Juiced integration (campaign integration).

  8. Send a test lead and go live

    With Test mode on in Juiced, send a lead with zip 00001 (accepted) and one with 00003 (rejected) through the campaign. How you send a test lead depends on your Phonexa setup, so check in your account. In Juiced, open Entries > Incoming logs with the Test only filter, confirm both arrived and that Phonexa marked only the first as sold, then turn off Test mode.

Field mapping

Juiced keyPhonexa value
first_name, last_nameThe product's name fields, picked in the Value field
email, phoneEmail and phone variables
zipZip code. Always required, on the ping and the post
state and other list fieldsUse Array Mapping if your values differ from the Juiced List of Values
ping_idThe response.data.id value saved from the ping response
Custom answers, sub IDs, trusted_form_cert_urlKeys you add on the Juiced source's Fields tab first

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"
}

For a direct post product, leave out ping_id. See the leads and ping API references.

Response parsing

Juiced returnsMeaningPhonexa Response Mapping
Ping 200: data.status matchedJuiced wants the lead; post with data.idAccept::Sign response.data.status == "matched"; Accept::Price response.data.price
Ping: no_match, duplicate, rejectedJuiced does not want the leadNot accepted; no post
201 + data.status acceptedSold or accepted, with its data.priceSold::Sign response.data.status == "accepted"; Sold::Price response.data.price
201 + data.status rejectedReceived, not sold, price 0Reject::Sign response.data.status == "rejected"
201 + data.status duplicateDuplicate, price 0Reject::Sign also matches "duplicate"
401 unauthenticatedMissing or invalid credentialsError. Fix the Authorization header
422error.code (for example validation_failed or ping_mismatch) and the field errorsError. Error::Reason response.error.code. Fix the field and resend

The data.status values are Juiced's default mapping. Confirm them on your source's API spec.

TrustedForm and Jornaya

If your Phonexa 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 add a JSON node for it in Request Mapping. See passing TrustedForm and Jornaya to Juiced.

Troubleshooting

  • Unsold leads are marked sold. Sold::Sign checks the HTTP code or is too broad. Use response.data.status == "accepted".
  • Unauthorized (401). Check the space after Bearer and that no line break was pasted. A new Juiced token expires the old one 24 hours later; Phonexa warns that changes to Integration Config affect running integrations, so update affected campaigns.
  • 422 on the post after a ping. Read error.code: ping_mismatch means the post does not match its ping. Check that ping_id carries response.data.id from the ping and the post repeats the same ping fields.
  • List values rejected. A List of Values field got a value Juiced does not list. Add an Array Mapping; values are case-sensitive.
  • Fields missing in Juiced. A key does not match a Juiced field Title. Open the log's post inspector to see the payload as received.

More fixes in webhook troubleshooting.

Frequently asked

Can Phonexa send leads to Juiced?

Yes. Build a Juiced integration in Phonexa’s Integration Builder that posts JSON to the Juiced API with a bearer token header, add Juiced as a buyer, and select the integration on the buyer’s campaign.

Can Phonexa ping Juiced before posting?

Yes, for Ping-Post products. Phonexa pings the Juiced v1 ping endpoint and, when data.status is matched, posts the full lead with ping_id set to data.id.

What if I do not want to build the integration myself?

Use the Request New Integration form under Support, Wiki in Phonexa and choose Ping Post or Direct Post. Give the Juiced URLs, headers, a sample request and a sample response, and it goes to your account manager.

How does Phonexa know a lead sold to Juiced?

Juiced returns HTTP 201 with data.status. Set Sold::Sign to response.data.status equal to accepted and Sold::Price to response.data.price. Rejected and duplicate statuses mean not sold, with price 0.

How do I pass a TrustedForm certificate from Phonexa to Juiced?

Add a field such as trusted_form_cert_url to the Juiced lead category or source and add a JSON node for it in the integration’s Request Mapping.

From Juiced

Route Phonexa traffic to the right buyer

Juiced routes each lead to your buyers by bids, caps and criteria, and moves unsold leads to your marketplace.

Book a demo

This guide describes common commercial practice in the lead-generation industry. It is not legal advice, so take advice on your own arrangement. Where this site refers to consent or contact rules, it points to the source rather than restating the rule; those sources are listed in the glossary.

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.