The document outlines a 5-step process for API integration: 1) Research the API payload, type, and documentation; 2) Plan the data flows including authentication, timing, discrepancies, and CRUD operations; 3) Create a data map matching source and target objects; 4) Develop the integration following the planning; 5) Test the integration through development and use-case testing with input from end users. The goal is to plan thoroughly before development to streamline the process and ensure the integration meets requirements.
5. WHAT DATA PAYLOAD
ARE WE DEALING
WITH?
These API’s can usually either
send data in XML or JSON or both
payloads, but that is not always
the case.
WHAT TYPE OF API
ARE WE DEALING
WITH?
There are three different types
of web API’s: SOAP (Simple
Object Access Protocol), REST
(Representational State
Transfer), and RPC (Remote
Procedural Call).
1. 2.
6. 3. DO WE HAVE THE
APPROPRIATE
DOCUMENTATION?
For Popular Applications, the documentation should be
robust and come complete with a WSDL (Web Services
Definition Language) for SOAP applications or a WADL
(Web Application Description Language) for REST
applications.
Documentation will let developers know how to format
their requests and what data is available. Without proper
documentation, an API integration is quite difficult.
8. 2. DATA FLOW
PLANNING
After appropriate research and you
determined an integration is possible.
Next step is Data flow planning. A critical
part of the API integration process.
Data flows are the objects or data you
wish to transfer from one application to
the other.
10. 1. AUTHETICATION
Some API’s and most private web API’s are
protected by some form of security. You simply
cannot create
a URL and send it to across the web and expect
the data to come back unless you have met the
required security measures.
11. WILL THESE DATA FLOWS NEED TO OPEN
CONTINUALLY OR INTERMITTENTLY?
Popular security protocols
include OAuth and SAML. Each of these protocols
has their methods of satisfying access that should
be accounted for.
You should also consider how long you need to
keep the authentication instance running.
12. 2. TIMING | VOLUME | SPEED
When, how often, and how much
data needs to be transferred?
13. An integration will only make sense if the data can
get to the other system in a timely manner.
The volume of data that needs to be transferred
needs to be balanced with a rate of data transfer
and the time that the data is needed to be in
place.
14. 3. DATA DISCREPANCIES
When transferring data across applications,
you’ll need to make sure that this data
is in a format that is acceptable to the other
end-point.
This usually involves things like date/time
formatting, and field size limitation.
15. There may also be cases where the data you wish to
send is not an object the other end-point natively
handles. Today, many SaaS applications have
“custom objects” that will allow you add new types of
data to an application.
16. However, if you will do enough integrations, you will
find scenarios where it is necessary to convert data in
its native application to a completely different object
in its end application. This will require
some creativity on the part of the developer.
17. 4. CRUDS
The intent of this data should be taken into
account as well. CRUD stands for Create, Read,
Update, Delete.
When sending information to a new system, this
system will need to know what you want to do
with the information. It can either create a new
record, read or select a record, Update a current
record, or delete a record.
18. Newer integration platforms and developers have
created a new data intention, the “Upsert.” Upsert
allows an integration to create a new record if no
relevant record is found or update the record with
new information if a similar record is found.
20. Once you have the flows
planned out, it’s best to
create a master data map that
puts all of this planning into a
visual reference. This will
make your life easier when it
comes time for development.
This guide is also the best way
to make sure all the
developers, consultants, and
users are on the same page
before the development begins
and things become harder to
change.
21. The data map will have the starting (Source)
application on one side with all the objects you
wish to transfer and all of the relevant information
about those objects next to it.
On the other (Target) side, you will list all the
objects the starting objects will become once they
are in the target system.
23. If you have done the first three steps, the development
should flow easily. Think of it like writing an essay that
you have spent the proper time planning out. The code
should pretty much write itself.
25. Testing is a critical step in the
API development process.
Testing makes sure that your
integration will work exactly
as intended under the
specified conditions of the end
user.
It is ideal to have test
environments for the
applications you are
connecting to best test the
integration without disrupting
production environments.
Testing
26. Once you have your environments set up there are
two main ways to test your integration. It is also
important to note that the end user should have a lot
of input in the testing process.
2 WAYS TO TEST
27. DEVELOPMENT
TESTING
1.
Development testing involves unit
testing and systems testing to ensure
two things are happening.
The first being that authentication has
properly been accounted for, and the
second being that the data is making
its way to the endpoint properly.
28. 2. USE-CASE
TESTING
This form of testing is something that
the users should be provided to the
developers before development, and
even planning has begun. You can also
think of them as stress tests for
integration applications.
Use-cases are scenarios that the
integration will be expected to perform
under.
29. USE-CASE TESTING
A good example would be making sure
the integration can handle a spike in
data related to a seasonal sales cycle.
Integrations are usually designed to
satisfy a need for a business or entity.
Use-cases are a great way to make
sure that the end product does exactly
what the business intended it to do and
do not break down at the worst
possible times.
30. For more information on API integration
and the API integration process, please
check out our article Everything SaaS Users
Need to Know About API Integration!
eMerge Technologies