Prop Data API

Schema

The Prop Data API is a restful api service powered by zato which we use to communicate with all of our client websites. Our API sits behind an API Gateway which we use for authentication and further control over the API


Every response is returned in the following format.

Response Example

{
  "status": 201,
  "request_time": "2017-05-26T08:08:45.252301",
  "request_id": "K04ZMTTBAF3NG38TSSG7GFD153D2",
  "response": {},
  "upstream_host": "sandbox.propdata.net"
}

Field Details

Field Type Description
status Int The status code of the response
request_time DateTime The time the request was made
request_id str The ID of the request
response obj or list The response based on the endpoint. It is important to remember that all response data will be populated in this field
upstream_host str The target host that you are polling

We recommend logging these fields in the case where we would assist in debugging your request.

The API only supports GET and POST requests.


Authentication and requests

Our API works on multiple layers of authentication however you will only need a single API token. Once we have provided you with an API token, you can use this with your requests to authenticate. You will need to supply this token as a header in each of your requests. Below is an example. The API we will provide you with can be used for all websites you have integrated with. For instance, if you poll website A, you can immidiately poll website B just by changing the upstream_host header, your API key will remain the same. However, you will only have access to sites that we set you up on. You will also need to provide a vendor id header. This is required alongside the api_key for a request to be valid.

Example

curl --request GET \
  --url http://localhost:11223/eos/v1/branch/summary/ \
  --header 'api_key: 74a077ab-05d5-4d76-8384-e9527c4ad7ee' \
  --header 'vendor: FDX' \
  --header 'content-type: application/json' \
  --header 'upstream_host: sandbox.propdata.net

Please note that the upstream host should not contain https:// or http://.

Please ensure that your requests have all the above headers present.

Development and Integration

Inbound Integrations

This is defined as in integration where you would feed data into the client website

  • We will provide you with an API key
  • We will then set up a staging website and dump the clients database on it for you to test integration. Once this is complete, we will notify you of the host that you can use to integrate with
  • Let us and the client know when integration is complete so we can commence with going live. Please note that we do not take any integrations live on a friday or day before public holidays.

Outbound Integrations

This is defined as in integration where you would consume data from the client website

All integration testing will commence on our staging site

  • We will provide you with an API key
  • We will then provide you with a username and password so that you can log into the management system and tinker with testing data.
  • Let us know when you are ready to go live. If your integration is for a portal service then we will add you to our website as well as our management system.

Versioning

Using major versions can be applied with adding the version to the URL: /v1/some-endpoint/. You can also use headers for minor versions. See the changelog for more information on versions.

To use headers for minor versioning you simply apply a header in each request

Accept: version=1.2

Moving over to Production

Moving over is as simple as changing your upstream host to the live website URL. Once you have completed integration, you will need to contact us to let us know. We will then proceed to give you access after all the requirements for your integration are met.

Talking to our developers

We love using Slack for communication and productivity! Get in touch with us to get it set up! You can communicate via email by emailing api-support@propdata.net