Skip to content

Partners

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.

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.

Terminal window
https://api.floorfy.com/api/agency/add?tk={​ tk_partner ​}
FieldTypeDescriptionRequirement
dataObjectRoot element.Required
emailStringClient’s email.Required
nameStringCorporate name of the client/agency.Optional
phoneStringClient’s contact telephone number.Optional
websiteStringAddress of the client/agency’s corporate website.Optional
langStringPreferred 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_selectionArrayProducts enabled for the agency. Available values: tour, image_staging. Default value is: ["tour"].Optional
wtr_enabledBooleanIndicates whether or not the watermark will be displayed on the agency’s tours. Default value is true.Optional
limit_call_minutesIntegerIndicates the maximum number of minutes available per month to make calls. If this is not indicated, there will be no limit.Optional
limit_active_toursIntegerIndicates the maximum number of active tours that the user can have. If this is not indicated, there will be no limit.Optional
account_statusBooleanIndicates 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
logoStringURL with the agency logo image. This logo will be displayed on the agency tours.Optional
send_emailBooleanIndicates if an email should be sent to the user to finish the activation. Default value is false.Optional
Terminal window
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
}
}

Get information about an agency, using the same parameters we use to create the agency.

Terminal window
https://api.floorfy.com/api/agency/get?tk={​ tk_partner }
FieldTypeDescriptionRequirement
dataObjectRoot element.Required
emailStringClient’s email.Required
Terminal window
https://api.floorfy.com/api/agency/get?tk=p_as889h2e829jo
{
"data": {
"email": "agencyrealstate@floorfy.com"
}
}

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.

Terminal window
https://api.floorfy.com/api/agency/update?tk={​ tk_partner }
FieldTypeDescriptionRequirement
dataObjectRoot element.Required
emailStringClient’s email.Required
nameStringCorporate name of the client/agency.Optional
phoneStringClient’s contact telephone number.Optional
websiteStringAddress of the client/agency’s corporate website.Optional
langStringPreferred 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_selectionArrayProducts enabled for the agency. Available values: tour, image_staging. Default value is: ["tour"].Optional
wtr_enabledBooleanIndicates whether or not the watermark will be displayed on the agency’s tours. Default value is true.Optional
limit_call_minutesIntegerIndicates the maximum number of minutes available per month to make calls. If this is not indicated, there will be no limit.Optional
limit_active_toursIntegerIndicates the maximum number of active tours that the user can have. If this is not indicated, there will be no limit.Optional
account_statusBooleanIndicates 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
logoStringURL with the agency logo image. This logo will be displayed on the agency tours.Optional
Terminal window
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"
}
}

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.

Terminal window
https://api.floorfy.com/api/agency/product-limit?tk={ tk_partner }
FieldTypeDescriptionRequirement
dataObjectRoot element.Required
emailStringClient’s email.Required
product_typeStringType of product/service to set the limit for. Available values: tour or image_staging.Required
limitIntegerThe limit value to set. Must be a non-negative integer. For tour: max active tours/properties. For image_staging: credits.Required
Terminal window
https://api.floorfy.com/api/agency/product-limit?tk=p_as889h2e829jo
{
"data": {
"email": "agencyrealstate@floorfy.com",
"product_type": "tour",
"limit": 50
}
}
Terminal window
https://api.floorfy.com/api/agency/product-limit?tk=p_as889h2e829jo
{
"data": {
"email": "agencyrealstate@floorfy.com",
"product_type": "image_staging",
"limit": 100
}
}

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 data object are required for this endpoint.

You can get a list with all of your agencies created with your tk_partner.

Terminal window
https://api.floorfy.com/api/agency/list?tk={tk_partner}

Don’t need any parameters in this request.

FieldTypeDescription
statusIntegerResult of the request:
0: Success
1: Error
messageStringIn case of error, informative message about the result of the request.
agenciesListList of agencies:
  • id (Integer): ID of the agency.
  • email (String): Email of the agency.
  • token (String): Agency token.
  • status (String): Status of the agency: enabled/disabled.
Terminal window
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"
}
]
}

You can get an agency token which can be used later to make requests to our API.

Terminal window
https://api.floorfy.com/api/agency/token?tk={​ tk_partner }
FieldTypeDescriptionRequirement
dataObjectRoot element.Required
emailStringUser email.Required
Terminal window
https://api.floorfy.com/api/agency/token?tk=a_5723h3278
{
"data": {
"email": "agencyrealstate@floorfy.com"
}
}

You can update an agency token which can be used later to make requests to our API.

Terminal window
https://api.floorfy.com/api/agency/refresh/token?tk={​ tk_partner }
FieldTypeDescriptionRequirement
dataObjectRoot element.Required
emailStringUser email.Required
Terminal window
https://api.floorfy.com/api/agency/refresh/token?tk=a_5723h3278
{
"data": {
"email": "agencyrealstate@floorfy.com"
}
}

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.

Terminal window
https://api.floorfy.com/api/property/add?tk={​ tk_partner ​}
FieldTypeDescriptionRequirement
dataObjectRoot element.Required
emailStringClient’s email.Required
id_originStringID origin of the property.Required
property_typeIntegerIdentifier of the type of property. Floorfy supports the following property types:
  • 1: House
  • 2: Flat
  • 3: Apartment
  • 4: Duplex
  • 5: Local
  • 6: Nave
  • 7: Office
  • 8: Garage
  • 9: Studio/Loft
  • 10: Penthouse
  • 11: Urban
  • 12: Urbanizable
  • 13: Not urbanizable
  • 14: Parking
  • 15: Storage room
  • 16: Living place
Others: If you need other types of properties please contact Floorfy (info@floorfy.com)
Optional
contract_typeIntegerAd/contract type identifier. Floorfy supports the following ad/contract types:
  • 1: Sale
  • 2: Renting
  • 3: Sold
  • 4: Rented
Others: If you need other types of ads/contracts please contact Floorfy (info@floorfy.com)
Optional
property_statusIntegerIdentifier of the state of the property. A property can have these two types of status:
  • 1: Active
  • 0: Archived
Optional
amountFloatPrice of the property or monthly rent.Optional
titleStringTitle of the property or of the advertisement.Optional
descriptionStringTextual description of the property or of the advertisement. Character limit: 4096.Optional
roomsIntegerNumber of rooms.Optional
bathroomsIntegerNumber of bathrooms.Optional
living_areaFloatTotal square meters of living space.Optional
total_areaFloatTotal square meters of the property.Optional
locationObjectRoot element for location details.
FieldTypeDescriptionRequirement
cityStringName of the town where the property is located.Required
addressStringAddress of the property.Optional
numberIntegerNumber of the street where the property is located.Optional
doorIntegerDoor number.Optional
floorIntegerFloor number.Optional
Required
extrasObjectRoot element of the extra data.
  • photographer (String) [Optional]: Email of the photographer (Floorfy’s username) that you wish to associate with the property. If there is an associated photographer, the property will only be accessible to this photographer; otherwise, it will be accessible to all the photographers of the agency that owns the property.
Optional
time_typeStringbefore for initial visits, after for final visits.Optional
agentIntegerID of the agent to whom the property will be assigned.Optional
year_buildingIntegerProperty construction year.Optional
Terminal window
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
}
}

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.

Terminal window
https://api.floorfy.com/api/property/update?tk={​ tk_partner ​}

This uses the same parameters that are used to create the property, and the additional ones that we show below.

FieldTypeDescriptionRequirement
dataObjectRoot element.Required
deletedBooleantrue to delete the property.Optional
Terminal window
https://api.floorfy.com/api/property/update?tk=p_as889h2e829jo
{
"data": {
"email": "agency@gmail.com",
"id_origin": "544",
"property_status": 0,
"title": "New title"
}
}

List the tours of the user of the provided email

Terminal window
https://api.floorfy.com/api/properties?tk={tk_partner}

This uses the same parameters that are used to create the property, and the additional ones that we show below.

FieldTypeDescriptionRequirement
emailStringClient’s email.Required
pageIntegerPage (Must be a number greater than0). Default: 1.Optional
Terminal window
https://api.floorfy.com/api/properties?tk=p_as889h2e829jo
{
"data": {
"email": "agency@gmail.com",
"page": "1"
}
}