Ping Post – Full Shared

API 2.0 Specifications for Debt Consolidation

Introduction

This document describes how to post full shared debt consolidation leads to PX using ping post. We accept POST requests in XML and JSON. Follow this article to read how ping post works in PX.

Posting URL

Before leads can be posted into PX’s live environment, tests need to be performed to ensure success. For testing purposes, PX will set the publisher campaign to a test mode during the integration. All the tests and responses on these tests can be found in the Test leads report.

Ping URL: https://leadapi.px.com/api/lead/ping

Post URL: https://leadapi.px.com/api/lead/post

Forcing a success: When 90100 zip code is used in the staging environment, the API will respond with success if the API is configured correctly.

Once a lead has been successfully posted and proper posting is confirmed by PX, leads can be posted to the live environment. To post into the live environment, PX will set the publisher campaign to the production mode after approving the successful test.

 

Header Fields Table

KeyRequiredValue
Content-TypeYesApplication/json for JSON requests
Application/xml for XML requests
AcceptNoApplication/json for JSON response
Application/xml for XML response

Examples

Fields Table

ParameterRequired PingRequired PostAccepted ValuesDescription (data type)
ApiTokenYesYesProvided by PXGUID format
VerticalYesYesdebtconsolidationString
JornayaLeadIdNoNoJornaya LeadId (GUID format)See link on how to implement on form
TrustedFormNoNoTrustedForm Cert. URLSee link on how to implement on form
OriginalURLYesYesURL where the lead is fromString
SessionLengthYesYesAmount of time spent by the user to fill out the form in secondsInteger
SourceYesYesDiscuss with Acc. ManagerString
SubIdYesYesFormat provided at startString
Sub2IdNoNo String
Sub3IdNoNo String
Sub4IdNoNo String
Sub5IdNoNo String
UserAgentNoNoString
TcpaTextNoNoConsent languageString
SellResponseURLNoNoPostback URLSee explanation on this parameter
TransactionIdNoYesRetrieve from Ping ResponseGUID format
FirstNameNoYesString
LastNameNoYesString
AddressNoYesString
CityNoYesString
StateYesYesSee accepted values listString
ZIPCodeYesYes5 digit zip codeString
EmailAddressNoYesValid email addressString
PhoneNumberNoYesValid 10 digit phone number without formatting 8887777777
String
DayPhoneNumberNoNoValid 10 digit phone number without formatting 8887777777
String
IPAddressYesYesExample: 38.88.150.2String
FirstNameNoYesString
LastNameNoYesString
GenderNoNoMale / Female / UnspecifiedString
BirthDateNoNoyyyy-mm-ddString
CreditRatingYesYes
Excellent / Good / Some Problems / Major Problems
String
CreditScoreNoNo
A decimal
String
MilitaryOrVeteranNoNo
Yes / No
String
BestTimeToCallNoNo
Morning / Afternoon / Evening / Any time
String
CompanyNameNoNo
String
OccupationNoNo
String
JobTitleNoNo
String
YearsEmployedAtCurrentCompanyNoNo
A decimal
String
MonthsAtEmployerNoNoSee accepted values listString
OfficeStreetAddressNoNoString
OfficeCityNoNoString
OfficeStateNoNoSee accepted values listString
OfficeZipCodeNoNo
5 digit zip code
String
OwnRented
YesYesOwn / rentedString
YearsAtResidence
NoNo
A decimal
String
MonthsAtResidenceNoNo See accepted values listString
DriversLicenseNoNo
Yes / No
String
DriversLicenseStateYesYesSee accepted values listString
BankAccountTypeNoNo
Checking / Savings
String
BankNameNoNoFree text fieldString
MonthsAtBankNoNoFree text fieldString
DebitCardNoNo
Yes / No
String
BankStartDateNoNoyyyy-mm-ddString
Field1NoNoFree text fieldString
Field2NoNoFree text fieldString
Field3NoNoFree text fieldString
Field4NoNoFree text fieldString
Field5NoNoFree text fieldString
Field6NoNoFree text fieldString
Field7NoNoFree text fieldString
Field8NoNoFree text fieldString
Field9NoNoFree text fieldString
Field10NoNoFree text fieldString
DebtAmountYesYesSee accepted values listString
GrossMonthlyIncome

 Yes YesA decimalString
IncomeType
YesYesEmployed /  Benefits /  SelfEmployed /  UnemployedString
FrequencyOfIncomeNoNo
Every Week / Every Two Weeks / Every Month / Other / Twice Monthly
String
PayCheckNetAmount
NoNoDecimalString
AdditionalIncome
NoNo Yes / NoString
AdditionalIncomeAmount
NoNoDecimalString
PayDateOneNoNoyyyy-mm-ddString
PayDateTwo
NoNoyyyy-mm-ddString
MonthlyHousingCosts
NoNoDecimalString
MonthlyUnsecuredDebts
NoNoDecimalString
HomeEquityAmount
NoNoDecimalString
LiquidAssetsAmount
NoNoDecimalString
RetirementAssetsAmount
NoNoDecimalString
DirectDeposit
NoNo Yes / NoString
ExtraInfo
NoNoFree text fieldString
LoanDueDate
NoNoyyyy-mm-ddString
RawLoanAmount
YesYesDecimalString
EmploymentStartDate
NoNoyyyy-mm-ddString
LastPayDate
NoNoyyyy-mm-ddString
LoanPurpose
YesYesSee accepted values listString
AnnualIncome
NoNoDecimalString
Timeout
NoNoCredit card timeout. DecimalString
DebtType
NoNoTax /
Settlement /
Consolidation /
StudentLoan
String
OpenSlotsYesNoString
See explanation on full shared
IncludeNoYesString
See explanation on full shared
NameYes, if Hash is not usedYes, if Hash is not usedLeg nameString
See explanation on full shared
HashYes, if Name is not usedYes, if Name is not usedSHA-1 Hashed leg nameString
See explanation on full shared

PX responds with accurate feedback on how to update your request for it to be accepted by the API.


Success – Ping



{
    "TransactionId": "394d89a8-fae9-4a08-92cd-b5bf97f8455e",
    "Success": true,
    "Payout": null,
    "Message": null,
    "Errors": null,
    "Sold": null,
    "RedirectUrl": null,
    "BuyerRawResponse": null,
    "Environment": "Testing",
    "Legs": [
        {
            "Name": null,
            "Hash": "462c49f8-9288-4d7a-aab6-48a6406a0d82",
            "Payout": 12.34,
            "Status": "Success"
        },
        {
            "Name": null,
            "Hash": "cb3be58b-ef2f-4b5d-8418-e68f3c5872ee",
            "Payout": 23.45,
            "Status": "Success"
        },
        {
            "Name": null,
            "Hash": "303e7ec3-589f-497e-9107-2c04efaac98e",
            "Payout": 34.56,
            "Status": "Success"
        }
    ]
}


<?xml version="1.0" encoding="UTF-8"?>
<Result xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <TransactionId>643fd719-bd29-4825-b859-e172bc31acf1</TransactionId>
   <Success>true</Success>
   <Payout xsi:nil="true" />
   <Sold xsi:nil="true" />
   <Environment>Testing</Environment>
   <Legs>
      <Leg>
         <Hash>f37eff48-6f79-4174-b770-9c6ed7166d1f</Hash>
         <Payout>12.34</Payout>
         <Status>Success</Status>
      </Leg>
      <Leg>
         <Hash>adc73637-6c51-446d-8b03-c1ef1d7aa94e</Hash>
         <Payout>23.45</Payout>
         <Status>Success</Status>
      </Leg>
      <Leg>
         <Hash>df053300-a1cc-4e4b-8423-4abcca644e72</Hash>
         <Payout>34.56</Payout>
         <Status>Success</Status>
      </Leg>
   </Legs>
</Result>

Success – Post


{
    "TransactionId": "394d89a8-fae9-4a08-92cd-b5bf97f8455e",
    "Success": true,
    "Payout": null,
    "Message": null,
    "Errors": null,
    "Sold": null,
    "RedirectUrl": null,
    "BuyerRawResponse": null,
    "Environment": "Testing",
    "Legs": [
        {
            "Name": null,
            "Hash": "ebd3d4aa-d3dc-448a-9947-034b1dbd3c65",
            "Payout": 12.34,
            "Status": "Success"
        },
        {
            "Name": null,
            "Hash": "3d4c2e34-17d9-4c65-9094-9aa6682f6a82",
            "Payout": 23.45,
            "Status": "Success"
        },
        {
            "Name": null,
            "Hash": "7940786d-5f2d-48f4-a896-9bd53bb9c6f8",
            "Payout": 34.56,
            "Status": "Success"
        }
    ]
}


<?xml version="1.0" encoding="UTF-8"?>
<Result xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <TransactionId>790B52B0-FE5D-48E3-B81C-91992017A659</TransactionId>
   <Success>true</Success>
   <Payout xsi:nil="true" />
   <Sold xsi:nil="true" />
   <Environment>Testing</Environment>
   <Legs>
      <Leg>
         <Hash>e3f54b53-39f0-4fd7-ad9c-3786ba5cafc1</Hash>
         <Payout>12.34</Payout>
         <Status>Success</Status>
      </Leg>
      <Leg>
         <Hash>764d649e-0c7f-4274-8558-3aba963c28e2</Hash>
         <Payout>23.45</Payout>
         <Status>Success</Status>
      </Leg>
      <Leg>
         <Hash>be713280-abb4-4975-8c78-ae2921a4cc9c</Hash>
         <Payout>34.56</Payout>
         <Status>Success</Status>
      </Leg>
   </Legs>
</Result>



Failure


{
    "TransactionId": "49CE4DB7-775B-405B-BBBD-B23FB003073A",
    "Success": false,
    "Payout": null,
    "Message": "BadRequest",
    "Errors": [
        
    ]
    "Sold": null,
    "RedirectUrl": null,
    "BuyerRawResponse": null,
    "Environment": null,
    "Legs": null
}


<?xml version="1.0" encoding="UTF-8"?>
<Result xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <TransactionId>49CE4DB7-775B-405B-BBBD-B23FB003073A</TransactionId>
   <Success>false</Success>
   <Payout xsi:nil="true" />
   <Message>BadRequest</Message>
   <Errors>
      
   </Errors>
   <Sold xsi:nil="true" />
</Result>

The responses from our API shows if a Ping/Post has been successful or not, and if the lead wasn’t successful, why the Ping/Post has been rejected.

  • The “Message” parameter gives a general error code.
  • The “Errors” parameter gives the specific cause of the error, such as an invalid or missing value for a specific field.

If the Ping/Post was unsuccessful, the Payout and Sold field will show a “Null” value.

States

ALAKAZARCACOCTDEFLGA
HIIDILINIAKSKYLAMEMD
MAMIMNMSMOMTNENVNHNJ
NMNYNCNDOHOKORPARISC
SDTNTXUTVTVAWAWVWIWY

MonthsAtEmployer

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

MonthsAtResidence

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

DebtAmount

  • $100 – 500
  • $501 – 1,000
  • $1,001 – 2,500
  • $2,501 – 5,000
  • $5,001 – 10,000
  • $10,001 – 12,500
  • $12,501 – 15,000
  • $15,001 – 17,500
  • $17,501 – 20,000
  • $20,001 – 25,000
  • $25,001 – 30,000
  • $30,001 – 35,000
  • $35,001 – 40,000
  • $40,001 – 45,000
  • $45,001 – 50,000
  • $50,001 – 60,000

LoanPurpose

  • Home Improvements
  • Consolidation
  • Car Purchase
  • Caravan Purchase
  • Holiday
  • Boat Purchase
  • Household Goods
  • Motorcycle Purchase
  • Wedding Expense
  • School Fees
  • Solicitors Fees
  • Cosmetic Surgery
  • Medical Fees
  • Business Loan
  • Mortgage Deposit
  • Livestock Purchase
  • Repay 1st Mortgage and Consolidation
  • Repay 1st Mortgage and Home Improve
  • Further Advance
  • Bridging Loan
  • Business Purchase
  • Debt Settlement
  • Debt Counseling
  • Tax Debt
  • Student Loan Consolidation

Implementing Jornaya LeadId

To start generating the Jornaya LeadId token on your leads from your page, a script needs to be added to your website. Follow the guidance on how to implement this script.

Implementing TrustedForm

To start generating the TrustedForm CertURL on your leads from your page, a script needs to be added to your website. Follow the guidance on how to implement this script.

Lost bids

This request is initiated after the ping response is received and instructs our API what price the lead has been sold when our bid was lower. This helps us and our lead buyers to optimize the bids.
Lost bids Post URL: https://secureopenapi.px.com/px

Code examples


Post
<?xml version="1.0" encoding="utf-8"?>
<LeadData Target="Lead.RejectWinner" Partner="{Username}" Password="{password}" AffiliateId="{PublisherID}">
    <Payout>{payout}</Payout>
    <TransactionId>{TransactionId}</TransactionId>
</LeadData>


Post
{
    "type": "jsonwsp/request", 
    "version": "1.0", 
    "methodname": "Lead.RejectWinner", 
    "LeadData":
    {
        "Target" : "Lead.RejectWinner",
        "Partner" : "{Username}",
        "Password" : "{Password}",
        "AffiliateId" : "{PublisherID}",
        "Payout" : "{Payout}",
        "TransactionId" : "{TransactionId}"
    }
}

In addition, HTTP format can be used:

Post
https://secureopenapi.px.com/px?Command=HTTPPost&Target=Lead.RejectWinner&Partner={Username}&Password={Password}&AffiliateId={PublisherID}&Payout={Payout}&TransactiondId={TransactionId}

 

Fields table

ParameterExplanationDescription (data type)
Target=”Lead.RejectWinner”This indicates that my system needs to treat this request as a price update and not a normal leadString
PartnerThe username used to login the account, specifically the account for this campaign (Not MasterAccount)String
PasswordThe password used to login the account, specifically the account for this campaign (Not MasterAccount) 
AffiliateIdThe publisherID provided at the start of the integrationString
PayoutThe price you sold the lead for to another buyer / the price we lost the lead toString
TransactionIdThe same as you would on the post. We return a TransactionId on the ping and you return this here to match ping with the lost bid. Should you have problems retrieving our TransactionId from the response it is also possible to parse your own unique id on the ping in the TransactionId parameter.String