API Certification Best Practice
Ever wonder why onboarding a new customer to your API is slow and painful? Avoid re-certifying customer like the plague? You are not alone!
Cumbersome, slow, manual and inefficient onboarding processes lead to a high cost of doing business, a slower time-to-revenue, and a terrible first impression. Here are some of the main causes of onboarding pain, and what to do about them.
It feels like we are a broken record on this one, but really it is the most obvious thing in the world. If your spec is wrong, out of date, or simply doesn't exist, then onboarding will be painful for everybody involved.
We know that maintaining specs is a chore and that specs don't always have a clearly-defined "owner". Most of all, we know that everyone is busy and updating that Word document is the last thing people want to do when there are production issues to fix. But that is a classic case of Garbage In, Garbage Out.
But we've seen time and again that getting your documentation correct early in the cycle allows greater automation and faster processes later. In fact, we are strong advocates of a "spec-first" approach, where the spec is the first thing that is written for any given change and not the last! Once in place, a machine-readable specification can be used to streamline all downstream processes from building automated test cases, auto-generating code and onboarding customers. We believe it is the future of APIs in financial services.
See this blog post for more on this topic.
This one is especially for all those who skipped #1 above thinking that "we support FIX, so we don't need a spec".
I’m sorry to be the bearer of bad news, but you are flat-out wrong.
By not having a document at all, and just referring people to a FIX standard, you are providing almost no guidance at all to your prospects. You are essentially asking them to guess your API, which is the quickest route to painful, brittle integrations.
Networking is almost always one of the factors onboarders raise as a delay to onboarding. Depending on the networks the prospect is connected to, this can range from either a day or many weeks.
While we are not currently advocating internet connectivity for production flows (although the time is fast approaching when firms will find it hard to justify the cost of NOT using the internet), it is completely appropriate during a development and certification phase.
The primary benefit of internet connectivity for development is the speed at which it can be lit up, allowing development and certification to be conducted in parallel to the slower ordering of production lines. VPNs and stunnels are simple to set up and widely accepted, and so security should not be a material concern (plus this is testing traffic of course). If you find the bottleneck is actually your internal firewall/networking process, then consider partnering with a someone who can bundle individual client connectivity into a single inbound "pipe" to your environment.
We spend a lot of time advising banks, exchanges and vendors not only on their specification documents but also on the set of certification scenarios that go along with them.
We have distilled this knowledge into our five golden rules for writing good certification tests. If you are not applying these rules, then the likelihood is that you are either testing too much, testing too little, or testing the wrong thing.
If you are still using manual processes for checking API logs during certifications, then the process will far longer than it needs to. You should ask yourself why are you waiting to automate?
Some key things to look out for in a good certification tool are:
What is striking about the inefficiency of manual onboarding is that it is not linear. The biggest firms have a workload problem, but the smallest firms suffer from a consistency problem created by a lack of practise that often leads firms essentially re-invent the process for each new customer.
FixSpec helps financial services firms - banks, vendors and trading venues - onboard customers faster and easier through a combination of software and process improvements. To learn more, drop us a line.