Lead Prosper Ping Post Setup

This support document will walk you through a Ping Post buyer set up in a Lead Prosper campaign. To watch a tutorial on this topic click here

To set up a campaign successfully, you’ll need your buyer’s API specs. Here we have an example of Lead Prosper ping post specs (https://example.leadprosper.tech/leadprosper-ping-post#ping)

Here you’ll see the Field Name, the Type and Format, whether or not it’s required in both the ping and the post, and a description of the field. The ping will only send out partial and case specific information about the lead, such as zip code or city and never contain the lead’s personal information. Once the buyer has accepted a ping, they will be sent the post containing the full lead information

The description gives us the information that must be sent for these fields. For static values such as lp_campaign_id, lp_supplier_id, and lp_key, the description will contain values that must be hardcoded into the payload

The description for dynamic fields such as first_name and last_name will use payload fields to extract the information from the lead and insert it into the payload

Keep in mind that your fields do not need to match exactly, as they can be field mapped. As we see here incident_date from our buyer’s API specs is mapped to accident_date and currently_represented is mapped to have_attorney in the campaign set up. 

If you go to the PING section on your API specs, you’ll see that the Method for the HTTP is POST, along with the URL, the Header Type and an example of the payload. The payload can be sent as either a form or JSON. You’ll begin your buyer setup by copying and pasting the Ping URL from your API specs and selecting the correct Request Method and Payload Type

It’s important to note that if you change the payload type from JSON to Form or vice versa once you’ve made changes in the payload builder, the payload will revert back to its default and you will lose any progress. Ensure that you set the payload type before making any changes to the payload

The payload will contain the fields that are laid out in the buyer’s API specs. Those in bold are the fields that are required. The first 3 static values laid out API specs, lp_campaign_id, lp_supplier_id, and lp_key. These 3 values are unique to every Lead Prosper campaign and will need to be hardcoded into every payload. You can copy and paste these from the API specs into your payload builder

Since these are Lead Prosper API specs, be sure to add the field lp_action test, so when you test your buyer the Lead Prosper system knows this is a test lead. You will remove this later after receiving a successful test response and before taking the campaign live

You’ll then map the rest of the fields from the API specs to the payload, for example the zip code field will map to the green zip code campaign field shortcode. Pay attention to which fields are required in the ping, as you only want to send partial lead information here

Next is headers. Content-Type is the only header per the API specs. Content-Type is the key and application/json is the value. This is automatically filled out here based on the payload type selected above the payload builder

Finally for the ping set up, we have our response mapping. In Lead Prosper the response type will always be in JSON format. The specs dictate that it should be key equal with and then status and ACCEPTED from a successful ping

Since this is a ping, toggle real time price on. This will extract the bid price from the buyer’s response. Here you enter /bids/0/payout, which instructs the LP system to extract the bid from the response

The “send post if” section is not necessary and only needs to be used if you want to apply a rule to accepted bids. For example, I can set a rule to only send the post if the bid is greater than or equal to $20, therefore not sending the post to THIS buyer if the bid was less than that amount. If this section is left blank, the post will automatically post the lead to any pings that come back as a success

Next is the post set up. Just like the ping set up you’ll copy and paste the URL from the API specs and select the correct Request Method and Payload Type. The ping and post URLs are always different so ensure you are copying and pasting the URL from the POST section of your API specs

You’ll then complete the post payload with the required fields from your API specs. Your payload will look something like this once you are done

You’ll notice there is a field named lp_ping_id that is required on the post. To get this value, we need to extract it from the ping’s response by using {{lp_ping_response:KEY}}. In the API specs under Accepted responses,  you’ll see the key  ping_id and it’s value

Above the payload builder you’ll see {{ lp_ping_response:KEY}}. Copy and paste that into the payload builder and replace KEY with the key from the API specs, which is ping_id. This will tell the payload to look at the ping response and pull the value to send along with the post.

A payload transformer was used here for the phone field. This allows you to change the format of data ingested to match the format required by your buyer

If you’d like to learn more about transformers click the link above the payload builder here

Just like in the ping set up the only required header is Content-Type, and this is automatically selected here once you choose the payload type above the payload builder

Finally for the post is response mapping. This tells the Lead Prosper system whether the lead was Accepted or logged as a Duplicate. From the API specs you see that for an Accepted response the key on the left hand side is status and the value is ACCEPTED. Below we also see the key and status for Duplicated responses which are status and DUPLICATED

If a lead doesn't come back with an ACCEPTED or DUPLICATED response type, Lead Prosper will log that lead as a FAILED lead

To test your buyer, click save at the top then select Test Buyer

Generate some dummy data and send the request

Once you get an Accepted lead, you can “copy all” in the top right corner and send the data to your buyer. Once they’ve confirmed everything looks good, set your buyer to live

Be sure to remove lp_action test from your payload builder before you go live

If you have any questions please use the support button or send us an email at support@leadprosper.io 

Still need help? Contact Us Contact Us