Partners
Get your partner token
Section titled “Get your partner token”A partner token lets you manage multiple accounts and their content separately. That is perfect if you are a marketplace, a CRM, a Franchise Group, etc. You will be able to create accounts and synchronize their respective listings and users. Contact Floorfy Support requesting a Partner Agreement and a Partner Token. We will support you for the initial steps of the integration and we will provide you your Partner Token. WIth this, you will be able to start synchronizing accounts and listings. Keep your token private and do not, under any circumstances, make it public as it could compromise the data of your listings.
Create agency
Section titled “Create agency”When a customer requests a service from Floorfy you must register him/her with Floorfy using our API. You will have to provide us with the customer’s email and some optional data that will improve the navigation within the virtual tour. The customer’s email must be unique because it will be the customer’s account identifier. If the action is successfully completed the API will return the code, tk_agency, which will identify and authorize the client at the time of synchronizing the property data.
Below are the URL and the parameters to register an agency. The parameters must be sent in a JSON object to the URL indicated in the format shown in the example.
POST Method
Section titled “POST Method” https://api.floorfy.com/api/agency/add?tk={ tk_partner }Parameters
Section titled “Parameters”| Field | Type | Description | Requirement |
|---|---|---|---|
| data | Object | Root element. | Required |
| String | Client’s email. | Required | |
| name | String | Corporate name of the client/agency. | Optional |
| phone | String | Client’s contact telephone number. | Optional |
| website | String | Address of the client/agency’s corporate website. | Optional |
| lang | String | Preferred language of the agency. Available: es, en, fr, it. Default value is: es. If you need additional languages please contact us to evaluate the option. | Optional |
| product_selection | Array | Products enabled for the agency. Available values: tour, image_staging. Default value is: ["tour"]. | Optional |
| wtr_enabled | Boolean | Indicates whether or not the watermark will be displayed on the agency’s tours. Default value is true. | Optional |
| limit_call_minutes | Integer | Indicates the maximum number of minutes available per month to make calls. If this is not indicated, there will be no limit. | Optional |
| limit_active_tours | Integer | Indicates the maximum number of active tours that the user can have. If this is not indicated, there will be no limit. | Optional |
| account_status | Boolean | Indicates the status of the agency. If it is false you will not be able to visualize your virtual tours. Default value is true. If an agency’s status changes from active to inactive, all of its active tours will be archived. | Optional |
| logo | String | URL with the agency logo image. This logo will be displayed on the agency tours. | Optional |
| send_email | Boolean | Indicates if an email should be sent to the user to finish the activation. Default value is false. | Optional |
| Field | Type | Description |
|---|---|---|
| status | Integer | Result of the request: 0: Success 1: Error |
| message | String | Informative message about the result of the request. |
| tk_agency | String | Identification code for the registered client. |
| expiration_date | DateTime | Token expiration date. |
Example
Section titled “Example” https://api.floorfy.com/api/agency/add?tk=p_as889h2e829jo { "data": { "email": "agencyrealstate@floorfy.com", "name": "Real Estate Barcelona", "phone": "938237283", "website": "floorfy.com", "lang": "en", "product_selection": ["tour", "image_staging"], "wtr_enabled": true, "limit_call_minutes": 300, "limit_active_tours": 50, "account_status": true, "logo": "https://cdn.example.com/logos/real-estate-barcelona.png", "send_email": false } } { "status": 0, "message": "Agency added successfully", "tk_agency": "a_58ebbbc04eb4b", "expiration_date": null }Read agency
Section titled “Read agency”Get information about an agency, using the same parameters we use to create the agency.
POST Method
Section titled “POST Method” https://api.floorfy.com/api/agency/get?tk={ tk_partner }Parameters
Section titled “Parameters”| Field | Type | Description | Requirement |
|---|---|---|---|
| data | Object | Root element. | Required |
| String | Client’s email. | Required |
| Field | Type | Description |
|---|---|---|
| status | Integer | Result of the request: 0: Success 1: Error |
| String | Client’s email. | |
| tk_agency | String | Client’s email token. |
| name | String | Corporate name of the client/agency. |
| phone | String | Client’s contact telephone number. |
| website | String | Address of the client/agency’s corporate website. |
| lang | String | Preferred language of the agency. |
| wtr_enabled | Boolean | Indicates whether or not the watermark will be displayed on the agency’s tours. The default value is true. |
| limit_call_minutes | Integer | Indicates the maximum number of minutes available per month to make calls. If this is not indicated, there will be no limit. |
| limit_active_tours | Integer | Indicates the maximum number of active tours that the user can have. |
| account_status | Boolean | Indicates the status of the agency. If it is false you will not be able to visualize your virtual tours. The default value is true. If an agency’s status changes from active to inactive, all of its active tours will be archived. |
| account_enabled | Boolean | Check if the agency has enabled account access. |
| logo | String | URL with the agency logo image. This logo will be displayed on the agency tours. |
Example
Section titled “Example” https://api.floorfy.com/api/agency/get?tk=p_as889h2e829jo { "data": { "email": "agencyrealstate@floorfy.com" } } { "status": 0, "tk_agency": "a_58ebbbc04eb4b", "email": "agencyrealstate@floorfy.com", "name": "Real State Agency", "phone": "654654654" "website": "https://floorfy.com", "lang": "es", "wtr_enabled": true, "limit_call_minutes": null, "limit_active_tours": 10, "account_status": true,"account_enabled": true, "logo": null }Update agency
Section titled “Update agency”You can update an agency’s data once it is registered. Below is the URL that can be used to update an agency’s data. The parameters are the same as those of agency registration with the email parameter, in this case, being the only compulsory parameter.
POST Method
Section titled “POST Method” https://api.floorfy.com/api/agency/update?tk={ tk_partner }Parameters
Section titled “Parameters”| Field | Type | Description | Requirement |
|---|---|---|---|
| data | Object | Root element. | Required |
| String | Client’s email. | Required | |
| name | String | Corporate name of the client/agency. | Optional |
| phone | String | Client’s contact telephone number. | Optional |
| website | String | Address of the client/agency’s corporate website. | Optional |
| lang | String | Preferred language of the agency. Available: es, en, fr, it. Default value is: es. If you need additional languages please contact us to evaluate the option. | Optional |
| product_selection | Array | Products enabled for the agency. Available values: tour, image_staging. Default value is: ["tour"]. | Optional |
| wtr_enabled | Boolean | Indicates whether or not the watermark will be displayed on the agency’s tours. Default value is true. | Optional |
| limit_call_minutes | Integer | Indicates the maximum number of minutes available per month to make calls. If this is not indicated, there will be no limit. | Optional |
| limit_active_tours | Integer | Indicates the maximum number of active tours that the user can have. If this is not indicated, there will be no limit. | Optional |
| account_status | Boolean | Indicates the status of the agency. If it is false you will not be able to visualize your virtual tours. Default value is true. If an agency’s status changes from active to inactive, all of its active tours will be archived. | Optional |
| logo | String | URL with the agency logo image. This logo will be displayed on the agency tours. | Optional |
| Field | Type | Description |
|---|---|---|
| status | Integer | Result of the request: 0: Success 1: Error |
| message | String | In case of error, informative message about the result. |
| tk_agency | String | Agency token. |
Example
Section titled “Example” https://api.floorfy.com/api/agency/update?tk=a_5723h3278 { "data": { "email": "agencyrealstate@floorfy.com", "name": "Real Estate Barcelona Updated", "phone": "938237283", "website": "newweb.com", "lang": "en", "product_selection": ["tour", "image_staging"], "wtr_enabled": false, "limit_call_minutes": 120, "limit_active_tours": 25, "account_status": true, "logo": "https://cdn.example.com/logos/real-estate-barcelona-updated.png" } }{ "status": 0, "message": "Agency updated successfully", "tk_agency": "a_58ebbbc04eb4b"}Set product limit
Section titled “Set product limit”You can set product/service limits for an agency. This endpoint allows you to configure limits for different products such as tour service (property limit) or image staging service (credits). The limit will be applied to the specified agency identified by email.
Below are the URL and the parameters to set a product limit for an agency. The parameters must be sent in a JSON object to the URL indicated in the format shown in the example.
POST Method
Section titled “POST Method”https://api.floorfy.com/api/agency/product-limit?tk={ tk_partner }Parameters
Section titled “Parameters”| Field | Type | Description | Requirement |
|---|---|---|---|
| data | Object | Root element. | Required |
| String | Client’s email. | Required | |
| product_type | String | Type of product/service to set the limit for. Available values: tour or image_staging. | Required |
| limit | Integer | The limit value to set. Must be a non-negative integer. For tour: max active tours/properties. For image_staging: credits. | Required |
| Field | Type | Description |
|---|---|---|
| status | Integer | Result of the request: 0: Success 1: Error |
| message | String | Informative message about the result of the request. |
| product_type | String | The product type that was set (tour or image_staging). |
| limit | Integer | The limit value that was set. |
Example
Section titled “Example”https://api.floorfy.com/api/agency/product-limit?tk=p_as889h2e829jo{ "data": { "email": "agencyrealstate@floorfy.com", "product_type": "tour", "limit": 50 }}{ "status": 0, "message": "Product limit set successfully", "product_type": "tour", "limit": 50}Example: Set image staging credits
Section titled “Example: Set image staging credits”https://api.floorfy.com/api/agency/product-limit?tk=p_as889h2e829jo{ "data": { "email": "agencyrealstate@floorfy.com", "product_type": "image_staging", "limit": 100 }}{ "status": 0, "message": "Product limit set successfully", "product_type": "image_staging", "limit": 100}Error responses
Section titled “Error responses”Error: Agency not found
{ "status": 1, "message": "Agency not found"}Error: Invalid product type
{ "status": 1, "message": "Element 'product_type' must be one of: tour, image_staging"}Error: Limit less than active tours (for tour product type)
{ "status": 1, "message": "Error setting product limit: The value of limit has to be greater than or equal to your active tours: 75"}Error: Invalid limit value
{ "status": 1, "message": "Element 'limit' must be a non-negative integer"}- For
product_type: "tour": The limit represents the maximum number of active tours/properties the agency can have. The limit cannot be set to a value less than the current number of active tours. - For
product_type: "image_staging": The limit represents the number of home staging credits available to the agency. This will reset the monthly credits to the specified value. - The email must correspond to an agency that belongs to your partner channel.
- All parameters in the
dataobject are required for this endpoint.
Get agencies
Section titled “Get agencies”You can get a list with all of your agencies created with your tk_partner.
POST Method
Section titled “POST Method” https://api.floorfy.com/api/agency/list?tk={tk_partner}Parameters
Section titled “Parameters”Don’t need any parameters in this request.
| Field | Type | Description |
|---|---|---|
| status | Integer | Result of the request: 0: Success 1: Error |
| message | String | In case of error, informative message about the result of the request. |
| agencies | List | List of agencies:
|
Example
Section titled “Example” https://api.floorfy.com/api/agency/list?tk=p_as889h2e829jo { "status": 0, "message": "Success", "agencies": [ { "id": 1000, "email": "agencyrealstate@floorfy.com", "token" :"a_5723h3278", "status": "enabled" }, { "id": 1044, "email": "agencyrealstate2@floorfy.com", "token": "a_8273js989", "status": "disabled" } ] }Read agency token
Section titled “Read agency token”You can get an agency token which can be used later to make requests to our API.
POST Method
Section titled “POST Method” https://api.floorfy.com/api/agency/token?tk={ tk_partner }Parameters
Section titled “Parameters”| Field | Type | Description | Requirement |
|---|---|---|---|
| data | Object | Root element. | Required |
| String | User email. | Required |
| Field | Type | Description |
|---|---|---|
| status | Integer | Result of the request: 0: Success 1: Error |
| message | String | In case of error, informative message about the result of the request. |
| tk_agency | String | Agency token. |
| expiration_date | DateTime | Token expiration date and time. |
| expiration_enabled | Boolean | Indicates if the token expires or not. |
| valid | Boolean | Indicates if the token is valid or not. |
Example
Section titled “Example” https://api.floorfy.com/api/agency/token?tk=a_5723h3278 { "data": { "email": "agencyrealstate@floorfy.com" } } { "status": 0, "message": "Success", "tk_agency": "a_58ebbbc04eb4b", "expiration_date": null, "expiration_enabled": false, "valid": true }Update agency token
Section titled “Update agency token”You can update an agency token which can be used later to make requests to our API.
POST Method
Section titled “POST Method” https://api.floorfy.com/api/agency/refresh/token?tk={ tk_partner }Parameters
Section titled “Parameters”| Field | Type | Description | Requirement |
|---|---|---|---|
| data | Object | Root element. | Required |
| String | User email. | Required |
| Field | Type | Description |
|---|---|---|
| status | Integer | Result of the request: 0: Success 1: Error |
| message | String | In case of error, informative message about the result. |
| tk_agency | String | Agency token. |
| expiration_date | DateTime | Token expiration date and time. |
| expiration_enabled | Boolean | Indicates if the token expires or not. |
Example
Section titled “Example” https://api.floorfy.com/api/agency/refresh/token?tk=a_5723h3278 { "data": { "email": "agencyrealstate@floorfy.com" } }{ "status": 0, "message": "Success", "tk_agency": "a_58ebbbc04eb4b", "expiration_date": "2023-01-25 13:45:00", "expiration_enabled": true}Create property
Section titled “Create property”Once the client has registered, he can start to synchronize those properties that require a virtual tour. To add a registered client’s property as a partner, you must provide user email, property identifier and some basic data. You can also include other optional data to improve the browsing experience within a virtual tour.
If the request is completed successfully the API will return the Floorfy id_floorfy identifier of the property which you will need to save and link to the property you have just added.
Below are the URL and the parameters to register a property. The parameters must be sent in a JSON object to the URL indicated in the format shown in the example.
POST Method
Section titled “POST Method” https://api.floorfy.com/api/property/add?tk={ tk_partner }Parameters
Section titled “Parameters”| Field | Type | Description | Requirement | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| data | Object | Root element. | Required | ||||||||||||||||||||||||
| String | Client’s email. | Required | |||||||||||||||||||||||||
| id_origin | String | ID origin of the property. | Required | ||||||||||||||||||||||||
| property_type | Integer | Identifier of the type of property. Floorfy supports the following property types:
| Optional | ||||||||||||||||||||||||
| contract_type | Integer | Ad/contract type identifier. Floorfy supports the following ad/contract types:
| Optional | ||||||||||||||||||||||||
| property_status | Integer | Identifier of the state of the property. A property can have these two types of status:
| Optional | ||||||||||||||||||||||||
| amount | Float | Price of the property or monthly rent. | Optional | ||||||||||||||||||||||||
| title | String | Title of the property or of the advertisement. | Optional | ||||||||||||||||||||||||
| description | String | Textual description of the property or of the advertisement. Character limit: 4096. | Optional | ||||||||||||||||||||||||
| rooms | Integer | Number of rooms. | Optional | ||||||||||||||||||||||||
| bathrooms | Integer | Number of bathrooms. | Optional | ||||||||||||||||||||||||
| living_area | Float | Total square meters of living space. | Optional | ||||||||||||||||||||||||
| total_area | Float | Total square meters of the property. | Optional | ||||||||||||||||||||||||
| location | Object | Root element for location details.
| Required | ||||||||||||||||||||||||
| extras | Object | Root element of the extra data.
| Optional | ||||||||||||||||||||||||
| time_type | String | before for initial visits, after for final visits. | Optional | ||||||||||||||||||||||||
| agent | Integer | ID of the agent to whom the property will be assigned. | Optional | ||||||||||||||||||||||||
| year_building | Integer | Property construction year. | Optional |
| Field | Type | Description |
|---|---|---|
| status | Integer | Result of the request: 0: Success1: Error |
| message | String | Informative message about the result of the request. |
| id_floorfy | Integer | Floorfy identifier of the property. |
Example
Section titled “Example” https://api.floorfy.com/api/property/add?tk=p_as889h2e829jo { "data": { "email": "agency@email.com", "id_origin": "991121", "property_type": 2, "contract_type": 1, "property_status": 1, "amount": 3132, "title": "Piso en venta en buen estado con vistas al mar", "description": "Este piso está situado enfrente del paseo marítimo...", "rooms": 4, "bathrooms": 2, "living_area": 323, "total_area": 1132, "location": { "city": "Hospitalet del Llobregat", "address": "Rambla generalitat", "number": 32, "door": 1, "floor": 4 }, "extras": { "photographer": "photographer@floorfy.com" }, "time_type": "after", "agent": 553 } } { "status": 0, "message": "Agency updated successfully", "id_floorfy": "991121" }Update property
Section titled “Update property”You can update the data of a property after registration, for example if the price changes or if you want to archive the property. Below is the URL for updating the data of a property. The parameters are the same as those used to register the property, in this case the id_origin parameter is the only required parameter. In addition, if the same property has several versions, the version parameter can be added indicating which version to update, if it’s not added, the latest version will be updated.
POST Method
Section titled “POST Method” https://api.floorfy.com/api/property/update?tk={ tk_partner }Parameters
Section titled “Parameters”This uses the same parameters that are used to create the property, and the additional ones that we show below.
| Field | Type | Description | Requirement |
|---|---|---|---|
| data | Object | Root element. | Required |
| deleted | Boolean | true to delete the property. | Optional |
Example
Section titled “Example” https://api.floorfy.com/api/property/update?tk=p_as889h2e829jo { "data": { "email": "agency@gmail.com", "id_origin": "544", "property_status": 0, "title": "New title" } } { "status": 0, "message": "Property updated successfully", "id_floorfy": 115 }Get properties
Section titled “Get properties”List the tours of the user of the provided email
POST Method
Section titled “POST Method” https://api.floorfy.com/api/properties?tk={tk_partner}Parameters
Section titled “Parameters”This uses the same parameters that are used to create the property, and the additional ones that we show below.
| Field | Type | Description | Requirement |
|---|---|---|---|
| String | Client’s email. | Required | |
| page | Integer | Page (Must be a number greater than0). Default: 1. | Optional |
| Field | Type | Description |
|---|---|---|
| status | Integer | Result of the request: 0: Success1: Error |
| message | String | In case of error, informative message about the result of the request. |
| total | Integer | Number of properties. |
| current_page_total | Integer | Number of properties on the current page. |
| page | Integer | Current page. |
| properties | Array | List of properties:
|
Example
Section titled “Example” https://api.floorfy.com/api/properties?tk=p_as889h2e829jo { "data": { "email": "agency@gmail.com", "page": "1" } } { "status": 0, "total": 4245, "current_page_total": 1245, "page": 2, "properties": [ { "id": "1714", "id_ext": "VI000030655635", "active": "true", "publish_status": "3", } ] }