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

CodeResponse
2000Success
4030Listing is not enabled
4040Listing not found
4300Real Estate Agency is not enabled
4400Real Estate Agency not found
45xxOther logical errors
5000Generic system error
51xxOther system error

2025 Indomio.com