Performance, fair usage policy and new REST endpoint
Dear e-conomic API developer,
Welcome to the latest edition of the e-conomic developer newsletter. In this issue you can read about our performance initiatives and how it affects our work on new features. Also, you can learn about our new fair usage policy, check out the new invoice totals endpoint, and more.
As described in a number of blog posts (see here and here), and as some of you may have also noticed, we have had some performance issues in the e-conomic application. These issues have also affected the API. The main factor triggering the issues is the increased number of concurrent users on the system. The next spike in number of users is expected in the time leading up to December 1st which is the Danish deadline for VAT reporting.
From now and until ultimo November, all available resources and personnel will be at work to ensure we maintain high performance and stability during this period. This means that we won't see too many new API features coming out in this period, but we will see some performance gains and increased stability.
A first step is gaining better insight into the running API. We are working on improving logging and monitoring to get a better overview of which parts of the API and which customers are affected. We will then be able to start implementing improvements for handling server responses in different scenarios.
What does this mean for supporting sales functionality in the REST API?
We've put a hold on our efforts to extend the Sales coverage in the REST API. Once our focus on performance and stability dims down, we'll focus again on wrapping up the highest priority REST Sales features. For the time being, this includes a new booking endpoint, but not other areas such as orders, quotes and reminders.
App Identifier now required (Important!)
Many of our SOAP API integration partners do not provide a valid custom user agent, which makes it very hard for us to contact these integration partners in case we encounter problems. In order to offer better support for your integrations, the following will apply:
From November 16th 2015 we require that all SOAP API requests include a valid X-EconomicAppIdentifier header. From this date we will start rejecting all requests made by your app, if you do not include this header.
A fair part of our integrations have already implemented this header. We really appreciate that. But an even larger share of integrations still need to implement the header. We encourage all partners to ensure this is in place by November 16th.
Learn more about App Identifiers
Formalized fair usage policy
There are many ways to use our API at e-conomic. We have gone to great lengths to create a flexible API that caters to many different workflows. But with so many different ways to use an API, the risk of choosing a wrong path is greater. Choosing the wrong strategy for your integration can have a considerable performance impact on your integration.
A general guideline is that, if your use of the API is really chatty, then you have chosen a wrong path. This not only impacts your performance, but also the general performance of e-conomic. That's why we monitor our integrations and when we see certain agreements or integrations with an increased amount of traffic we contact them and help them bring down the amount of traffic so we get less strain on our servers and faster third party integrations.
While this has been our practice for many years, we have now chosen to formalize our fair usage policy.
Read more on how to spot chatty integrations and how to get help fixing them
New invoice totals REST endpoint
Creating dashboards with information about your invoicing isn't always easy. Up until now this has meant that you had to get all the underlying information and do all the calculations yourself. To address this we have created a new endpoint that allows you to easily access totals for invoices and also deep dive into the numbers.
At our new invoice totals endpoint you can find an overview of draft and booked invoices. Furthermore the booked invoices are divided into paid, unpaid, overdue and not overdue. This alone will give you a quick overview of your business. For a dashboard we have provided a number of hard-coded date filters so you can use the same link to always get these numbers for the last 15 days or the previous month for example; no need to create querystring date filters.
Learn more about the new endpoint
Easy exploring is paramount when you want to get started with an API. That's why we have made it possible to explore our REST API with a demo querystring parameter. That's really nice if you have a plugin like JSON Formatter for Chrome that displays JSON in a way that is easy to read.
But if you just want to try out the API now, then you shouldn't have to install anything. That's why we have made a demo console that allows you to explore the REST API using just a browser.
Check it out here and start playing
Got a sync job?
Many integrations need to sync data. While this is perfectly acceptable, there are a few best practices you should be aware of. Don't sync on the hour Always use GetDataArray SOAP commands Use GetAllUpdated SOAP commands Use web hooks whenever possible.
Read more about best practices for sync jobs
The e-conomic API team