Leads synchronization service
Partners that need to report leads can write a webservice using these specifications.
Get start
You are free to publish your entry point URLs, just need to inform us and
listening on http POST
method.
Entry point
We need to know the URL
[POST] https://partner.com/service-name/contact
Request Header
Anytime we push a lead we will send these http headers:
Content-type: application/json
Accept: application/json
Request body
Any push will have this JSON request body
:
{
"agencyId": 5678,
"agencyEmail": "nobody@nowhere.net",
"agencyExternalId": "1234",
"listingId": 87654321,
"listingExternalId":"ES-RIF-001",
"leadId": 98765432,
"leadUUID": "744c54b7-41cd-5c8c-9b39-1069c6abfc5b",
"date": "2021-03-18 16:11:04",
"email": "who@tardis.net",
"msg": "I am interested in this property and would like to have more information.",
"name": "Doctor Who",
"referrer": "https://www.immobiliare.it/annunci/87654321/",
"remote_ip": "0.0.0.0",
"src": "immobiliare.it",
"phone": "3441234567",
"type" : "LEAD" | "PRICE_PROPOSAL" | "VISIT_REQUEST",
"priceProposal": 10199,
"visit_type": "on-site" | "remote",
"atAnyTime": false,
"asSoonAsPossible": false,
"visitDays": ["2025-02-11", "2025-02-15"],
"visitTimetables": ["9-12", "15-18"]
}
The field leadUUID is the unique identifier of the lead and should be stored in order to avoid duplication in case of manual resync. The leadIdfield is deprecated. It will be removed in the next releases.
Some fields will be available based on the value of the "type" field. Please note that in some cases a NULL value for these fields can be provided.
The following fields will only be available in case of type VISIT_REQUEST:
-visit_typ
-atAnyTime
-asSoonAsPossible
-visitDays
-visitTimetables
The following fields will only be available in case of type PRICE_PROPOSAL:
-priceProposal
Response
Your services need to answer with a http status code:
any response
with a 2xx class status code is a success.
On the response
body we need a JSON block, in armony with the http status code.
Status 200
{
"code": 2000,
"message": "success"
}
Take care, if http status code is 200 please avoid:
{
"code": 4040,
"message": "listing non found"
}
Because we will reach this answer as a success
.
Status 404
{
"code": 4040,
"message": "listing non found"
}
or
{
"code": 4400,
"message": "real estate agency non found"
}
The code
element into the JSON is different from the http
status code but it is in armony with it.
Status 500
{
"code": 5000,
"message": "server error"
}
Response codes
Code | Response |
---|---|
2000 | Success |
4030 | Listing is not enabled |
4040 | Listing not found |
4300 | Real Estate Agency is not enabled |
4400 | Real Estate Agency not found |
45xx | Other logical errors |
5000 | Generic system error |
51xx | Other system error |
2025 Indomio.com