
Residential Solar Lead Ping/Posting Instructions
Instructions
The ping/post is a 2-step lead submission process. In the first "ping" step, you submit the lead to Sunrun and we return a price, status, and lead id. If the lead is to be sold to Sunrun, initiate the second "post" step by sending in only the ping id. This will confirm receipt of the lead by Sunrun and your account will be credited.
To get started:
Setup the ping HTTP request to the ping URL with the ping lead parameters.
Setup the post HTTP request to the post URL with the ping id for leads you wish to sell
Send in a test ping/post using "TEST" as the first name. Note: you must use a unique email for each ping/post.
Check with Sunrun to make sure the lead came thru correctly.
Beginning selling leads via the Ping/Post in an automated fashion.
Ping URL
https://leads.sunruntransit.com/leads/ping
Ping Fields
Field Name | Data Format | Size | Description |
---|---|---|---|
Static Fields | |||
campid | [provided by Sunrun] | - | Assigned Campaign ID |
Dynamic Fields | |||
first_name | [text] | 25 | First Name |
last_name | [text] | 25 | Last Name |
street | [text] | 40 | Street Address |
city | [text] | 39 | City |
state | [text] | 2 | State (abbreviation, e.g. CA, WA, AZ) |
zip | ##### | 8 | Zip Code (5-digits for US) |
[valid email] | 60 | Email Address | |
phone_home | ########## | 10 | Phone (10 digits, no spaces) |
property_ownership | OWN | 12 | Homeowner? |
electric_bill | $0-50 | 20 | Average Monthly Electric Bill for residential |
electricUtilityProviderText | [text] | Unlimited | Name of Electric Utility Company |
roof_shade | No Shade | 30 | Approximate shading of roof |
solar_electric | true | - | Interested in Solar Electric |
solar_hot_water | true | - | Interested in Solar Hot Water |
solar_pool_heating | true | - | Interested in Solar Pool Heating |
ip_address | [text] | 45 | IP Address |
Optional Fields
Field Name | Data Format | Size | Description |
---|---|---|---|
roof_type | Comp Shingle | 100 | Roof Type |
comments | [text] | Unlimited | Comments from users on solar request |
Ping Instructions
The ping can be submitted via HTTP GET or POST but POST is preferred. If using GET the query string should be correctly URL encoded and if using POST the body of the request should be encoded according to application/x-www-form-urlencoded.
Ping Example
Ping Request:
https://leads.sunruntransit.com/leads/ping?campid=CAMPID&first_name=TEST&last_name=TEST&email=test2@sunruntransit.com&phone_home=8886306690&street=1601+N.+Sepulveda+Blvd&city=MANHATTAN+BEACH&state=CA&zip=90026&electric_bill=%24101-150&roof_shade=No+Shade&solar_electric=true&property_ownership=OWN
Ping Response:
{ "id": 3939580, "status": "PING_VALID", "price": 60.40 }
The above response indicates a valid ping. The offer is $60.40 for the lead. The ping ID is 3939580 which will be required to accept the offer.
Example of a ping missing a valid campid:
{ "id": 3939580, "status": "PING_REJECT_INVALID_CAMPAIGN", "price": null }
Example of a rejected ping (lead was undesireable):
{ "id":3939580, "status": "PING_REJECT_CRITERIA_NOT_MET", "price": null }
Ping Post Fields
Field Name | Data Format | Size | Description |
---|---|---|---|
ping_id | [number provided by previous ping] | 10 | Previousy valid ping id |
Ping Post Instructions
After submitting a valid lead and receiving back an offer and ping id, these can be used to accept the offer.
Ping Post Example
Ping Post Request:
https://leads.sunruntransit.com/leads/pingpost?ping_id=3939580
Ping Post Response:
{ "id": 3939728, "status": "PING_POST_VALID" }
The above response indicates a valid ping post. The lead will now be distributed into Sunrun's system for sale.
Example of a ping post that has expired (the ping id expires after 12 hours):
{ "id": 3939580, "status": "PING_POST_REJECT_EXPIRED_PING" }
Example of a ping post with an invalid or non-existent ping id:
{ "id": 3939580, "status": "PING_POST_REJECT_INVALID_PING_TOKEN" }