Data Takeout
Last updated
Was this helpful?
Last updated
Was this helpful?
This guide describes how to use the Realpad Takeout API to back up the data stored in the system. Both structured data (such as lists of customers, deals, etc) and files uploaded to the CRM (unit plans, contract scans, ...) can be automatically retrieved this way. You are encouraged to implement an automatic backup system that will download the data from our server at any frequency you prefer, and use the data as a source for a reporting solution, or any other purpose.
To use these APIs you need to have the ability to execute HTTP requests either from the command line or from some scripting language. Please contact us if you need our help with achieving this.
First of all please contact to obtain the credentials to use the Takeout API endpoints. You will perform POST requests over HTTPS and then store the resulting data. Most of the Takeout endpoints have just 2 parameters, both required: login
and password
.
Example call in cURL:
list-resources
This endpoint provides a full list of all the files that were ever uploaded to the CRM for the given real estate developer, whether it’s unit plans, contract scans, invoices, or any other similar data that started out as a file on someone’s computer before being imported into Realpad. We call all such files resources, and the list-resources
endpoint shows them like this:
The root element is <resources>
, sub-elements look like this:
uid
is the unique identifier of this resource, by which it can be retrieved using get-projects
.
content-type
is the MIME type of the file, resolved when uploaded to the system (it's the best guess).
file-name
is the original file name when it was uploaded to the system.
size
is the file size in bytes.
crc
is the CRC32 checksum of the file.
The basic use case for this endpoint is to back up all the files from the CRM to some storage on local infrastructure. For that, you might want to build a tool that will regularly fetch this endpoint, compare its results to the files you already have stored, and fetch the ones that are missing. You may rely on UID as the unique identifier to distinguish between the files. You can fetch resources using HTTP GET by retrieving a URL in the following form: https://cms.realpad.eu/resource/<UID>
Example call in cURL:
All of these endpoints return a single Excel file with a .xls
extension, containing all the relevant data stored in our system. These endpoints behave just like get-resource
, in that the HTTP headers contain a reasonable file name (e.g. when running from a web browser).
Newer Excel format: if an extra parameter xlsx
is sent with a non-empty value, Takeout API will instead provide the data in the Excel newer .xlsx
format.
Column identifiers: by default, the Excel file will have the header row built in the exactly same way as if the given user clicked a button to download the file in the user interface. This means that each column will have header titled in the language of the invoking user, and the title will be a user-friendly string. In case you need to further work with the data in a programmatic way, we strongly recommend sending an extra parameter to the AP call: its name is headermode
and there are several possible values controlling how the header will appear in the output:
labels
will export headers as one row with the localized column titles. This is the default behavior in case the parameter is omitted.
ids
will export headers as one row with the columns identified by special strings that are guaranteed to be stable. We urge you to use this value for the best long-term compatibility.
labels_ids
will export headers as two rows: localized names first, special strings second.
ids_labels
will export headers as two rows: special strings first, localized names second.
list-excel-customers
The last column contains the unique customer ID from the Realpad database.
list-excel-products
The last columns contain the unique unit ID, numeric ID of the unit type, numeric ID of the unit availability, unique project ID and deal ID from the Realpad database. See the appendix for the unit type and availability enums.
list-excel-business-cases
The last column contains the unique Deal ID from the Realpad database.
list-excel-projects
The last column contains the unique project ID from the Realpad database.
list-excel-deal-documents
The last three columns contain the unique document ID, customer ID, and sales agent ID from the Realpad database. The first column is the relevant deal ID.
list-excel-payments-prescribed
The last column contains the unique payment ID from the Realpad database. The second column is the relevant deal ID.
list-excel-payments-incoming
The first column contains the unique incoming payment ID from the Realpad database. The second column is the relevant Deal ID.
list-excel-additional-products
The last columns contain the additional product ID, its type ID, and the ID of the associated prescribed payment from the Realpad database. The first column is the relevant deal ID.
list-excel-inspections
Among the columns, there are those representing the deal ID and inspection ID from the Realpad database.
list-excel-defects
Accepts an additional optional parameter mode
. By default, all the Deal Warranty Claim Defects are returned. Certain developers will also see the Communal Areas Defects here by default. If mode
is specified, other Defects can be returned. Available modes are: DEAL_DEFECTS
, DEAL_DEFECTS_COMMUNAL_AREA
, DEAL_DEFECTS_COMBINED
, INSPECTION_DEFECTS
, INSPECTION_DEFECTS_COMMUNAL_AREA
, INSPECTION_DEFECTS_COMBINED
.
The last column contains the unique defect ID from the Realpad database. The second column is the relevant deal ID.
list-excel-tasks
The last columns contain the task ID, customer ID, and sales agent ID from the Realpad database.
list-excel-events
The last columns contain the event ID, customer ID, unit, and project ID from the Realpad database.
list-excel-sales-status
The last column contains the unit ID from the Realpad database.
list-excel-project-units-history
Accepts an additional required parameter projectid
, which has to be a valid project ID from the Realpad database.
The first column contains the timestamp of when the given unit started containing the data on the given row. The second column contains the name of the user who caused that data to be recorded.
Warning: deprecation notice - originally we had an endpoint called
list-excel-unit-history
. This was working in an inefficient way, fetching only one unit at a time, which for typical use cases meant the necessity to call the endpoint over and over for many units. While we currently don't have a specific deadline of removing the legacy endpoint, we urge you to consider it deprecated and replace it with the new one.
list-excel-invoices
Accepts several additional optional parameters:
filter_status
- if left empty, invoices in all statuses are sent.
1 - new invoices.
3 - invoices in Review #2.
4 - invoices in approval.
5 - fully approved invoices.
6 - fully rejected invoices.
filter_groupcompany
- if left empty, invoices from all the group companies are sent. If Realpad database IDs of group companies are provided (as a comma-separated list), then only invoices from these companies are sent.
filter_issued_from
- specify a date in the 2019-12-31
format to only send invoices issued after that date.
filter_issued_to
- specify a date in the 2019-12-31
format to only send invoices issues before that date.
The initial set of columns describes the Invoice itself, and the last set of columns contains the data of its Lines.
Unit status enumeration
0 - free.
1 - pre-reserved.
2 - reserved.
3 - sold.
4 - not for sale.
5 - delayed.
Unit type enumeration
1 - flat.
2 - parking.
3 - cellar.
4 - outdoor parking.
5 - garage.
6 - commercial space.
7 - family house.
8 - land.
9 - atelier.
10 - office.
11 - art workshop.
12 - non-residential unit.
13 - motorbike parking.
14 - creative workshop.
15 - townhouse.
16 - utility room.
17 - condominium.
18 - storage.
19 - apartment.
20 - accommodation unit.
21 - bike stand.
22 - communal area.
23 - non-residential unit - other.
24 - berth.
25 - construction right.
26 - villa.
27 - technical space.
28 - outdoor parking position for motorbike.
29 - property management unit.
30 - attic.
31 - backyard.
32 - terrace.
33 - cubicle.
34 - tenement house.
35 - paved area.
36 - garage position.
99 - other.