DocsDistributionPing-Post Guide

Ping-Post Guide

How ping-post lead distribution works in Lead Distro AI. Supplier-side and buyer-side flows, real-time bidding, partial data pings, post-acceptance payloads, and pricing negotiation for competitive lead verticals.

Last updated:

What is Ping-Post?

Ping-post is a two-step lead distribution method where leads are pre-qualified before being fully delivered. Instead of blindly sending leads, the system checks availability, pricing, and filters first — then sends the full lead only when a buyer has committed to purchasing it.

Lead Distro AI supports ping-post on both sides of the transaction — supplier-side (inbound) and buyer-side (outbound). You can use one or both depending on your setup.


Flow 1: Supplier-Side Ping-Post (Inbound)

This flow lets your suppliers check if a lead will be accepted before sending the full data. Useful when suppliers want to avoid wasting bandwidth on leads that will be rejected.

How It Works

  • Step 1 — Supplier pings your system. The supplier sends partial lead data (phone, email, state, etc.) to the ping endpoint. No lead record is created.
  • Step 2 — System checks eligibility. Lead Distro AI validates the data against campaign filters, suppression lists, and buyer availability. If everything checks out, it returns accepted: true along with a signed ping_id token.
  • Step 3 — Supplier posts the full lead. The supplier sends the complete lead data to the ingest endpoint, including the flo_ping_id from step 2. The system verifies the token and processes the lead normally.

Ping Endpoint

POST https://app.leaddistro.ai/api/v1/ping

Ping Request Body

{
  "flo_campaign_id": "your-campaign-id",
  "flo_supplier_id": "your-supplier-id",
  "phone": "5551234567",
  "email": "lead@example.com",
  "state": "CA"
}

The ping endpoint only requires flo_campaign_id and flo_supplier_id as required fields. Any additional fields (phone, email, state, etc.) are checked against campaign inbound filters and suppression lists.

Ping Response (Accepted)

{
  "accepted": true,
  "ping_id": "eyJjaWQiOiJkZDJiM2...",
  "message": "Lead accepted"
}

Ping Response (Rejected)

{
  "accepted": false,
  "reason": "filtered",
  "message": "Lead does not meet campaign filters",
  "filter_errors": ["state must be one of: TX, FL, CA"]
}
Rejection ReasonMeaning
filteredLead data does not pass campaign inbound filters (e.g. wrong state).
suppressedLead phone or email appears on a buyer's suppression list.
invalid_campaignCampaign not found or has no active buyers.
inactive_campaignCampaign exists but is paused.
unauthorizedInvalid API key or supplier not linked to this campaign.

Posting With the Ping ID

After a successful ping, include the ping_id as flo_ping_id in your ingest request:

{
  "flo_campaign_id": "your-campaign-id",
  "flo_supplier_id": "your-supplier-id",
  "flo_ping_id": "eyJjaWQiOiJkZDJiM2...",
  "first_name": "Maria",
  "last_name": "Garcia",
  "phone": "5551234567",
  "email": "lead@example.com",
  "state": "CA"
}

Ping tokens expire after 30 minutes. If the supplier waits too long to post the full lead, the token will be rejected. The supplier will need to ping again.

Each supplier gets a dedicated API Specs page with their exact endpoints, field requirements, and payload examples — including the flo_ping_id field for ping-post campaigns. Share it from the supplier's settings in your campaign.


Flow 2: Buyer-Side Ping-Post (Outbound)

This flow is configured per-buyer inside a campaign. When a lead is distributed, the system pings the buyer first to check if they want the lead and at what price, then posts the full lead data if they accept.

How It Works

  • Step 1 — Lead is ingested. A supplier sends a lead via the ingest API (with or without the supplier-side ping flow above).
  • Step 2 — System pings buyers. For each eligible buyer with ping-post enabled, the system sends a ping request to the buyer's configured Ping URL with partial lead data.
  • Step 3 — Buyer responds with a bid. The buyer's system returns an accept/reject response. If accepted, they can include a bid price that overrides their default payout.
  • Step 4 — Best bid wins. If multiple buyers bid, the highest bidder gets the lead. The system posts the full lead to the winning buyer's delivery endpoint.
  • Step 5 — Revenue is recorded. The bid price becomes the lead's revenue. If the supplier uses Revenue Share cost mode, the cost is auto-calculated as a percentage of that bid.

Configuring Buyer-Side Ping-Post

  • Go to your Campaign and find the buyer in the Outbound Buyers section.
  • Click the buyer's menu (three dots) and select Edit.
  • Enable the Ping-Post toggle under the delivery settings.
  • Set the Ping URL — this is the endpoint on the buyer's system that receives ping requests.
  • Configure Response Parsing — specify which JSON field indicates acceptance (e.g., accepted equals true).
  • Optionally enable Real-Time Price — specify the JSON path for the bid price in the buyer's response (e.g., bid_price or data.price).

Buyer Ping Request (Sent by Lead Distro AI)

The ping body template is configurable per buyer. Use {{field}} placeholders to include lead data:

{
  "first_name": "{{first_name}}",
  "last_name": "{{last_name}}",
  "email": "{{email}}",
  "phone": "{{phone}}",
  "state": "{{state}}"
}

Buyer Ping Response (Expected from Buyer)

{
  "accepted": true,
  "bid_price": 120.00
}

The Real-Time Price feature lets each buyer bid a different amount per lead. Combined with Revenue Share cost mode on the supplier, your margin is automatically calculated per lead — even when bid prices vary.


Revenue Share + Ping-Post

Revenue Share is a supplier cost mode where the supplier is paid a percentage of whatever the buyer pays. This is especially powerful with ping-post because the buyer's bid price varies per lead.

Example

StepAmount
Buyer bids on ping response$120.00
Revenue (buyer pays you)$120.00
Supplier cost (75% revenue share)$90.00
Your profit$30.00
Your margin25%

To set this up, go to your campaign's Inbound Suppliers section, edit the supplier, and select Revenue Share as the cost mode. Enter the percentage you want to pay the supplier (e.g., 75%).

Revenue Share works with all campaign types — not just ping-post. For standard campaigns with a fixed buyer price, the math is the same: supplier cost = buyer price × percentage.

Frequently Asked Questions

What's the difference between supplier-side and buyer-side ping-post?
Supplier-side (inbound) ping-post lets your suppliers check if a lead will be accepted before sending the full data — they ping with partial data, get an accept/reject + signed token, then post the full lead. Buyer-side (outbound) ping-post lets your buyers bid on each lead — Lead Distro AI pings every eligible buyer with partial data, collects bids, sends the full lead to the highest bidder. You can use one, the other, or both in the same campaign.
How long does the ping_id token stay valid?
30 minutes from the ping response. After 30 minutes the token is rejected and the supplier must ping again to get a fresh one. This prevents stale leads — a buyer's availability or price can change between ping and post, so we re-validate eligibility every cycle. If your supplier holds leads longer than 30 min before posting, lower their hold time or build a re-ping step into their workflow.
What does the supplier-side ping endpoint return when rejected?
JSON with accepted: false, a reason code (one of filtered, suppressed, invalid_campaign, inactive_campaign, unauthorized), a human-readable message, and (for filtered) a filter_errors array listing which campaign filters caught the lead. Suppliers should log the reason — filtered means the lead doesn't match your campaign criteria (e.g., wrong state), suppressed means the contact is on a buyer's suppression list, others are config issues.
How do I set up margin pricing on a buyer-side ping-post campaign?
Set a global margin at the campaign level — Lead Distro AI subtracts your margin from the winning buyer's bid and quotes that lower price to your supplier. You keep the difference per lead. Override per-buyer to charge different margins from different buyers. Apply a bid penalty to buyers that return leads more often than others so their effective bid reflects their real economic value to you — your reported margin stays honest after returns.
What is Real-Time Price?
Per-buyer ping-post setting that lets a buyer return a bid_price field in their ping response. Configure the JSON path in the buyer's settings (e.g., bid_price or nested data.price). On every ping, the buyer's system returns its current willingness to pay; Lead Distro AI uses that as the revenue for any lead that buyer wins. Combine with the supplier-side Revenue Share cost mode to auto-calculate your margin on every lead — even when bid prices vary per lead.
What does Try-to-Breakeven do?
If the winning buyer rejects the full lead post (their system 5xx'd, or they changed their mind between ping and post), Try-to-Breakeven cascades to the next-highest bidder whose bid still covers the price you already quoted your supplier — preventing the deal from dying when a buyer flakes. Without Try-to-Breakeven, a single buyer rejection wastes the supplier's effort and the lead becomes UNMATCHED.
How does Max Sells Per Lead interact with ping-post?
Max Sells Per Lead is a supplier setting that controls how many top-bidder buyers a single ping result can sell to. Set 1 for exclusive distribution (highest bidder wins, nobody else). Set 2-5 to share the lead with multiple top bidders — common in home services where multiple contractors can each quote the homeowner. Lead Distro AI picks winners by bid at ping time, so suppliers send one post and the system fans out to all winners.
Should I use ping-post or direct-post for my campaign?
Direct-post is simpler and faster — use it for non-competitive verticals (most home services, B2B SaaS leads) where buyers are happy to receive every lead at a fixed price. Ping-post is for competitive verticals (legal, insurance, mortgage) where buyers want to selectively bid on each lead or check availability before committing to data costs. Ping-post adds 200-400ms of latency per lead due to the ping round-trip but unlocks bid-based pricing.

If you have any questions, send us an email at support@leaddistro.ai