Getting started with Portal API

Build your own portal using Mapaprop Portal API to search thru the customers real estate inventory.

1. Obtain your access token

Register you application and Getting Started.

2. Basic flow

A portal is built in five steps. The first three are the search; the last two, the listing page.

1 · Fetch the country catalogs, once

settings/types/{country}, settings/operations/{country} and settings/currencies/{country} are the catalog of the country: they rarely change. Fetch them at start-up and cache them — do not request them on every search.

2 · Resolve the zone the visitor types

zones/suggestions turns free text into a zone code. It is what feeds the search autocomplete, and the code it returns is the one used to filter afterwards.

properties/{country} with the filters built in the two steps above. It returns total for pagination and the list of properties.

4 · Render the listing page

properties/{propertyHash} returns the full property. Register the visit with PUT properties/{propertyHash}/hits: that is what lets the agency see that their listing is being viewed on your portal.

If it is a development (development: true), the page also carries its group of fields and the list of its unit ids in developmentProperties. To display them, request them with development/properties.

development/properties does not resolve "the units of X": it filters by the ids you send. If you pass the development id instead of the ones in developmentProperties, it returns the development itself — and nothing in the response tells you that happened. The units section ends up showing the project as its own single unit.

5 · Receive the enquiry

POST messages sends the visitor's enquiry to the agency. It requires the real userAgent, referer and ip from the browser: they are the anti-spam verification, and sending made-up values gets the enquiry held.

Optional, depending on the portal you build

3. Browse services

GET /api/action/portal-v2/settings/operations/{country}

GET /api/action/portal-v2/settings/types/{country}

GET /api/action/portal-v2/settings/currencies/{country}

GET /api/action/portal-v2/zones/suggestions

GET /api/action/portal-v2/properties/{country}/

POST /api/action/portal-v2/sitemap/search-url/{country}

GET /api/action/portal-v2/properties/{propertyHash}

GET /api/action/portal-v2/development/properties

PUT /api/action/portal-v2/properties/{propertyHash}/hits

POST /api/action/portal-v2/messages

GET /api/action/portal-v2/customers

GET /api/action/portal-v2/branches

GET /api/action/portal-v2/branches/{seoUrl}/properties

GET /api/action/portal-v2/featureds

GET /api/action/portal-v2/properties/{propertyHash}/share-branch/{branchSeoUrl}