Direct Mail Leads
The Direct Mail enpoints allow you as a Publisher to post Direct Mail leads directly to Bright Horizons Media. Leads sent to the API use the POST method and require both credentials and your Publisher to be enabled for posting Direct Mail leads. Leads are posted in JSON format.
| Method | Endpoint | Endpoint Type |
|---|---|---|
| Post | https://api.brighthorizonsmedia.com/post/direct-mail/ | JSON |
POST PARAMETERS
To successfully post Direct Mail leads, two arrays need to be passed to the JSON endpoint: the xauth[] array and the transaction[] array.
The xauth[] array contains your Publisher ID and the API key assigned by your Account Manager.
The transaction[] contains all the details about the lead (first name, last name, email, consumer IP, etc.).
xauth[] Parameters
| Field | Type | Required? | Description |
|---|---|---|---|
| affiliateid | INT | Yes | Your Publisher Id (aka Affiliate Id) provided by your Account Manager |
| key | STRING (36) | Yes | The API Key provided by your Account Manager. |
transaction[] Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| STRING | Yes | Email address as provided by the consumer | |
| ip | STRING | Yes | The IP address of the consumer when the form was submitted on your website (not your server IP address). Can be either IPV4 or IPv6. |
| firstname | STRING | Yes | First name as provided by the consumer |
| lastname | STRING | Yes | Last name as provided by the consumer |
| dob | STRING | Yes | Date of Birth as provided by the consumer. Must be in the format YYYY-MM-DD. |
| phone | STRING | Yes | Phone number as provided by the consumer. Can be passed in any format (see following examples) but must be a valid phone number with 10 digits. Examples: 3105551212, (310) 555-1212, 310-555-1212, 310.555.1212. |
| address | STRING | Yes | Street address as provided by the consumer |
| address2 | STRING | Optional | Street address as provided by the consumer |
| city | STRING | Yes | City as provided by the consumer. If not provided, we will map the city based on the zip code provided. |
| state | CHAR (2) | Yes | The state abbreviation as provided by the consumer. If not provided, we will map the state based on the zip code provided. |
| zip | STRING | Yes | The zip code as provided by the consumer. For US zip codes, make sure to include any leading zeros to ensure the zip code has a length of 5 characters. |
| havecheckingaccount | BOOLEAN | Optional | Boolean value (true/false or 1/0). Whether the consumer indicated they have a checking account. |
| source | STRING | Yes | The fully qualified URL of the webpage where the lead was generated (excluding any query string parameters) |
| sub1 | STRING | Optional | Additional field for tracking purposes |
| sub2 | STRING | Optional | Additional field for tracking purposes |
| sub3 | STRING | Optional | Additional field for tracking purposes |
| sub4 | STRING | Optional | Additional field for tracking purposes |
| sub5 | STRING | Optional | Additional field for tracking purposes |
REQUESTS & RESPONSES
SAMPLE REQUEST
POST /post/direct-mail/ HTTP/1.1
Host: https://api.brighthorizonsmedia.com
Content-Type: application/json; charset=utf-8
Content-Length: 596
{
"xauth": {
"affiliateid": 123456,
"key": "96852585-58lk-5g5r-63jk8-25lp2574poiu"
},
"transaction": {
"email": "jjmcclure@example.com",
"ip": "184.248.249.118",
"firstname": "JJ",
"lastname": "McClure",
"dob": "1936-02-11",
"phone": "7025551212",
"address": "123 Cannonball Lane",
"city": "Boulder City",
"state": "NV",
"zip": 89002,
"havecheckingaccount": true,
"source": "yourdomain.com",
"sub1": "your sub id",
"sub2": "",
"sub3": "",
"sub4": "",
"sub5": ""
}
}
SAMPLE RESPONSE
When a Direct Mail lead is posted to us, a JSON response will be returned containing useful information about whether the lead was accepted and any additional information we can provide. Below is an example of a successful response.
{
"validated": 1,
"accepted": 1,
"sold": 1,
"disposition": ,
"messages": [],
"errors": [],
"transactionid": 123456789,
"leadid": 123456789
}
FAILED RESPONSE
If the request failed, the response will include an errors object which may contain 1 or more error messages. This example will return an error message because the date passed in was not a valid date (1979-02-30).
{
"validated": 0,
"accepted": 0,
"sold": 0,
"disposition": ,
"messages":
[
"Direct Mail Lead could not be validated"
],
"errors":
[
[
"DOB (required): DOB (required): date not valid"
]
]
}