Your API key and the checksum salts must remain confidential as they represent your private parameters. Sharing them with third parties is strictly prohibited. Failure to adhere to this rule may result in deactivation of your API key for security reasons.
It is strongly recommended to use cache if you are using the API to display your rating and reviews on your site. This will ensure that the display of your page does not depend on the API responses and therefore does not affect its display time.
You must prominently display the source of the reviews, Immodvisor, by including the Immodvisor logo or trust label on the page displaying the reviews with a link in the href that is crawlable by search engines and points to Immodvisor's company page. This is crucial for search engines to make the connection between the two pages and avoid duplicate content. Your review pages must be approved by our partnership department before being made live. You should also include a textual reference indicating that the reviews are sourced from the Immodvisor site.
Our partnership manager can be reached at 06 64 97 97 45 or by email at laurene@immodvisor.com
You must always display the Immodvisor logo and indicate that the reviews are from the Immodvisor solution.
In requests, the order of fields is crucial for successful processing. Ensure that fields are sent in the exact sequence specified in the documentation; any deviation in order may result in errors. Please follow the defined field structure precisely to avoid issues.
A checksum must be included with each API call. It is calculated by concatenating the following values in SHA1 format :
private function calcChecksumIn($api_key, $checksum_salt_in, $datas = array())
{
$checksum = "";
$checksum .= $api_key;
foreach ($datas as $k => $v) {
if ($v instanceof File) {
$file = $v->getFilename();
$file .= $v->getMimeType();
$file .= $v->getSize();
$v = $file;
} elseif (is_array($v) || is_object($v)) {
$v = json_encode($v, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
} elseif ($v === true) {
$v = 1;
} elseif ($v === false) {
$v = 0;
}
$checksum .= $v;
}
$checksum .= $checksum_salt_in;
return sha1($checksum);
}
Retrieves information from companies related to the partner.
| company_id | integer Immodvisor identifier of the company you want to retrieve specifically |
| company_siret | string SIRET of the company you want to retrieve specifically |
| nbr_reviews | integer Nb of reviews you want to retrieve per company (5 max), if parameter missing or value = 0, no review sent. |
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version |
{- "status": true,
- "error": null,
- "datas": [
- {
- "nbr_companies": 0,
- "companies": [
- {
- "id": "string",
- "id_parent": "string",
- "type": "string",
- "profession": "string",
- "satisfaction_rate": 0,
- "rating": 0,
- "nbr_recommended": "string",
- "nbr_reviews": "string",
- "link": "string",
- "city": "string",
- "siret": "string",
- "email": "string",
- "phone": "string",
- "widget_api_key": "string",
- "rating_google": 0,
- "nbr_reviews_google": 0,
- "reviews": [
- {
- "id": "string",
- "id_company": "string",
- "id_company_parent": "string",
- "date": "string",
- "last_update": "string",
- "lang": "string",
- "title": "string",
- "description": "string",
- "rating": "string",
- "need_evidence": "string",
- "link": "string",
- "is_recommended": "string",
- "custom_ref": "string",
- "user": {
- "login": "string",
- "email": "string"
}, - "pro": {
- "email": "string"
}, - "exp": {
- "name": "string",
- "date": "string"
}, - "criterions": {
- "id": "string",
- "rating": "string",
- "name": "string"
}, - "answer": {
- "job": "string",
- "name": "string",
- "text": "string",
- "date": "string"
}
}
]
}
]
}
], - "checksum": "string"
}Professional Account Management
A professional account must be linked to at least one of the companies associated with the partner.
If a professional account is associated with a brand, it will be automatically considered as linked to all the subsidiary companies under the brand's management. If it is associated with a subsidiary company, it will be considered as redundant, but is still allowed.
Search for active professionals with e-mail.
| email required | string e-mail of the professional you are looking for |
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version. |
{- "status": true,
- "error": null,
- "datas": {
- "id": "string",
- "custom_id": "string",
- "email": "string",
- "enable": true,
- "firstname": "string",
- "lastname": "string",
- "job": "string",
- "address": {
- "address": "string",
- "address2": "string",
- "zipcode": "string",
- "city": "string"
}, - "contact": {
- "phone": "string",
- "mobile": "string"
}, - "language": "string",
- "acls": {
- "app": true,
- "pro": true
}, - "companies": [
- {
- "id": 0
}
]
}, - "checksum": "string"
}Returns the list of all professionnals or only those related to a company.
| company_id required | integer Immodvisor identifier of the company you want to retrieve specifically (company or brand) |
string e-mail of the professional you are looking for | |
| enable | string if true, search only for active professionals among active companies (true by default) |
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version |
{- "status": true,
- "error": null,
- "datas": {
- "nbr_pros": 0,
- "pros": [
- {
- "id": "string",
- "custom_id": "string",
- "email": "string",
- "enable": true,
- "firstname": "string",
- "lastname": "string",
- "job": "string",
- "address": {
- "address": "string",
- "address2": "string",
- "zipcode": "string",
- "city": "string"
}, - "contact": {
- "phone": "string",
- "mobile": "string"
}, - "language": "string",
- "acls": {
- "app": true,
- "pro": true
}, - "companies": [
- {
- "id": 0
}
]
}
]
}, - "checksum": "string"
}Creating a new professional account that is linked to a company. The professional will automatically receive its login details via email.
| APIVERSION required | string API's used version. |
| company_id required | integer Immodvisor identifier of the company (company or brand) to which the pro account will be associated |
| firstname required | string <= 40 characters professional's firstname |
| lastname required | string <= 40 characters professional's lastname |
| email required | string e-mail address of the professional, necessary to login |
| language | string <= 3 characters professional's language (ISO code 639-1). 'fr' or 'en' accepted. |
| checksum required | string request's validity checksum |
{- "status": true,
- "error": null,
- "datas": {
- "id_pro": 0
}, - "checksum": "string"
}Returns the list of all reviews or only those related to a company.
You can filter the reviews by their publication date, response date, or modification date. All inputs act as filters.
Pro Tip: Save the reviews in your data system by using an automated script that only returns reviews that haven't been previously obtained. For example, you can retrieve reviews on a weekly or monthly basis.
| company_id | integer unique Immodvisor identifier of the company |
| company_siret | string SIRET of the company you want to retrieve specifically |
| date_start | string start date of the search (YYYY-MM-DD : year + month + day). The date indicated is included. If the start date is not indicated, then it takes the value of the date of creation of the company on Immodvisor. |
| date_stop | string search's end date (same format accepted). If the end date is not filled in, then it takes the value of the current date. |
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version. |
{- "status": true,
- "error": null,
- "datas": [
- {
- "nbr_reviews": 0,
- "reviews": [
- {
- "id": "string",
- "id_company": "string",
- "id_company_parent": "string",
- "date": "string",
- "last_update": "string",
- "lang": "string",
- "title": "string",
- "description": "string",
- "rating": "string",
- "need_evidence": "string",
- "link": "string",
- "is_recommended": "string",
- "custom_ref": "string",
- "user": {
- "login": "string",
- "email": "string"
}, - "pro": {
- "email": "string"
}, - "exp": {
- "name": "string",
- "date": "string"
}, - "criterions": {
- "id": "string",
- "rating": "string",
- "name": "string"
}, - "answer": {
- "job": "string",
- "name": "string",
- "text": "string",
- "date": "string"
}
}
]
}
], - "checksum": "string"
}Returns rejected or archived reviews from one or all subsidiary companies. Helps you retrieve reviews that should no longer be displayed.
| company_id | integer unique Immodvisor identifier of the company |
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version. |
{- "status": true,
- "error": null,
- "datas": [
- {
- "nbr_reviews": 0,
- "reviews": [
- {
- "id": 0
}
]
}
], - "checksum": "string"
}Returns review statistics for a given company.
| company_id | integer Immodvisor identifier of the company you want to retrieve specifically |
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version. |
{- "status": true,
- "error": null,
- "datas": [
- {
- "statistics": [
- {
- "id_company": {
- "id_company": 0,
- "nbr_solicitations": 0,
- "nbr_review": 0,
- "source_review": {
- "source": 0
}
}
}
]
}
], - "checksum": "string"
}Creates email/SMS/link collection of review requests and send them to customers. If no review was submitted, a follow-up reminder would be sent 7 days later (except for links).
For agencies who have subscribed to our "Avis Garantis" offer and Google reviews, the collection would allow user to give either an Immodvisor review, or a Google review if a Google account was detected. If the agency has only subscribed to the Google reviews offer, the collection allows Google reviews only.
If the contact has a review or request that is less than 15 days old, the collection will be blocked.
| APIVERSION required | string API's used version. |
| company_id required | integer unique Immodvisor identifier of the company |
| email required | string <= 80 characters e-mail of your customer |
| mobile | string <= 20 characters mobile number of your customer. If filled in, the recipient will receive an SMS request instead of an email, unless the request type is specified. Furthermore, if this field is not filled in and an SMS reminder should be sent, it will be sent by email instead. |
| firstname required | string <= 40 characters firstname of your customer |
| lastname required | string <= 40 characters lastname of your customer |
| pro_id | integer Immodvisor identifier of the professional at the origin of the review |
| highlight_id | integer Immodvisor unique identifier of the custom questionnaire related to the business. If the custom questionnaires are activated on the company and have been defined, you can transmit the Immodvisor unique identifier of the custom questionnaire that will be associated with the review, and for the statistics of the custom questionnaire to be updated. |
| custom_ref | string <= 40 characters Your solicitation reference. You can transmit an internal reference for each solicitation, which will then be returned in the reviews returned by the API. |
| collect_type | string The desired request method. Possible value: email, sms, link. Tip : As soon as a mobile number is sent, the API will send an SMS to your customer. If you want to send an email, just don't specify the customer's mobile. Link will return a link to put a new review. |
| reminder_type | string The desired request method for the reminder. Possible value: email, sms. |
| reminder_delay | integer The desired request delay, in hours, min. 1, for the reminder. |
| folder_ref | string <= 45 characters Reference of the file/program to which the notice is to be attached. If this reference is known, the link will be established, otherwise the file will be created. |
| lang | string Enum: "fr" "en" "pt" Language associated with the collection for translation of the email and the deposit. If this is not specified, it will be determined either by the mobile code, if specified, or by the company's default selection. |
| checksum required | string Request's validity checksum |
{- "status": true,
- "error": null,
- "datas": {
- "link": "string"
}, - "checksum": "string"
}This service allows you to add evidence to a review.
| APIVERSION required | string API's used version. |
| review_id required | integer unique Immodvisor identifier of the review |
| file required | string <binary> js object of the file to upload |
| checksum required | string request's validity checksum |
{- "status": true,
- "error": null,
- "datas": { },
- "checksum": "string"
}This service allows you to respond to a review.
| APIVERSION required | string API's used version. |
| review_id required | integer unique Immodvisor identifier of the review |
| answer required | string text of the answer |
| job | string <= 80 characters profession of the professional who provides the answer |
| signature | string <= 80 characters signature of the professional who provides the answer |
| checksum required | string request's validity checksum |
{- "status": true,
- "error": null,
- "datas": { },
- "checksum": "string"
}A review solicitation is the fact a customer reveived a communication asking for reviewing your company.
Returns the list of all solicitations or only those related to a company.
| company_id | integer unique Immodvisor identifier of the company |
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version |
{- "status": true,
- "error": null,
- "datas": {
- "nbr_solicitations": 0,
- "solicitations": [
- {
- "id_company": "string",
- "email": "string",
- "date": "string",
- "state": "string",
- "type": "string"
}
]
}, - "checksum": "string"
}Custom questionnaires are defined company and can replace the default questionnaire used by customers for filing their review.
Returns the list of all custom questionnaires or only those related to a company.
| company_id | integer Immodvisor identifier of the company you want to retrieve specifically |
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version |
{- "status": true,
- "error": null,
- "datas": {
- "nbr_highlights": 0,
- "highlights": [
- {
- "id": "string",
- "number": 0,
- "id_company": "string",
- "name": "string",
- "activity": {
- "id": "string",
- "name": "string"
}
}
]
}, - "checksum": "string"
}This service allows you to test the availability of the API
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version. |
{- "status": true,
- "error": null,
- "datas": {
- "message": "string"
}, - "checksum": "string"
}Retrieves the configuration associated to the API key.
| checksum required | string request's validity checksum |
| APIVERSION required | string API's used version |
{- "status": true,
- "error": null,
- "datas": {
- "id_partner": 0,
- "api_key": "string",
- "salt_checksum_in": "string",
- "salt_checksum_out": "string",
- "version": {
- "current": "string",
- "used": "string"
}
}, - "checksum": "string"
}Retrieves Google reviews from one or all companies in the park.
Date filters are based on the date of publication. All inputs work as filters.
| company_id | integer unique Immodvisor company ID |
| company_custom_id | string Your unique company's ID. |
| date_start | string start date of the search (YYYY-MM-DD : year + month + day). The date indicated is included. If the start date is not indicated, then it takes the value of the date of creation of the company on Immodvisor. |
| date_stop | string Search's end date (same format accepted). If the end date is not filled in, then it takes the value of the current date. |
| checksum required | string Request's validity checksum |
| APIVERSION required | string API's Used version. |
{- "status": true,
- "error": null,
- "datas": [
- {
- "id": 0,
- "id_company": 0,
- "rating": 0,
- "title": "string",
- "description": "string",
- "date": "string",
- "answer": {
- "text": "string",
- "date": "string"
}, - "user": {
- "login": "string"
}
}
], - "checksum": "string"
}