Introduction

From Planfix
Revision as of 06:23, 4 July 2022 by Artem (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Application registration

For the application to be able to start working, you need to generate an authentication key and signature key. Account managers can do this in the section Account management / Access to API.


Important

The API can only be used with paid and premium accounts.


Access to interfaces

Access to the interface is established through a single entry point located at:

https://api.planfix.com/xml/


Please note that the interface is accessed over HTTPS. All API calls using an unsecured connection will be automatically ignored, so we recommend establishing a test secure connection with an access point to Planfix interfaces before sending data.

All API calls are executed through POST requests.


Limitations on requests

By default, all accounts are limited based on their plan (20/50/100,000 requests per day) and are limited to one request per second. Additionally, all methods that return lists of values are limited to 100 results per request. The approximate number of remaining requests per day is returned in the X-RateLimit-Remaining header (this value is updated approximately every 10 minutes).


Request format

The request packet has the following structure

Name Type Value Notes
account string account where the function will be executed required field; found in all requests
sid string(32) session key received from executing the auth function auth if a user is authenticated using username/password


Authentication

There are two possible authentication methods: by authorization token or by username and password. The preferred method of authentication uses a token; authentication with username and password is used for reverse compatibility, so as not to disrupt existing client applications.


Response format

The response format has the following structure:

<?xml version="1.0" encoding="UTF-8"?>
<response status="{ok|error}">
  <code>xxxx</code> <!-- present if error status is error -->
  <!-- response body -->
</response>

All responses to requests for lists contain two attributes in the root element. totalCount is the total number of elements that meet the condition, and count is the number of elements returned in the result. Example:

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <actions count="5" totalCount="23">
  </actions>
</response>

Response with error:

<?xml version="1.0" encoding="UTF-8"?>
<response status="error">
  <code></code>
</response>


Go To