Hi, welcome back to our video tutorial series about developing applications with SAP Ariba
APIs.
I am Denys van Kempen from the Digital Partner Engineering team of SAP’s global partner
organisation.
In this video, we will look into the Transaction Monitoring API for Supply Chain Collaboration
in the Ariba Network.
Time of recording is December 2019.
For updates, please check the SAP Ariba API playlist on our YouTube channel.
SAP Ariba Supply Chain Collaboration (SCC) is one of the solutions available for the
Ariba Network.
You can find the datasheet, some video material, and other resources here on ariba.com for
the solution.
Then, for the documentation go to SAP Ariba APIs on the SAP Help Portal.
Transaction Monitoring APIs for tracking supply chain collaboration
APIs in plural, but it is actually a single one
Here you can read about the capabilities A lot of different processes are tracked
and a lot of different events with all the metadata
the prerequisites nothing special - you need a developer account
limitations and considerations - read up on this, before you get started
Then we have our workflow with a nice diagram
a data collector persists events in a repository and with the query service, the API, we can
pull information out SAP Solution Manager business process monitoring
(BPMon) and Interface and connection monitoring (ICMon) leverage this, for example - and so
can you.
the client application must query the Ariba Network Transaction Monitoring Repository
via the Transaction Monitoring API with a defined set of parameters
The API returns JSON in return with the receiving application processing
the data.
Prerequisites part two this is a bit more complicated and out of
scope for video for today but you need to enable alternate cXML document
routing via a service request and you need to, what’s called here, provision
BPM OpenAPI and BPM integration (client ID to Ariba Network ID mapping, again via Ariba.
The specification, one method GET but with a large number of query filters
start and end time are mandatory, the others optional
following the REST API RSQL query standard URL is bizmonservice, the API used to be called
Business Process Monitoring
Here we have a couple of examples We will try the first one out for ourselves
in Postman in a minute.
Once you get the first one going, the others are all straight forward.
The responses HTTP status codes are generic: these are the
same for every API However, the transaction monitoring API has
its own error codes as well, corresponding to the query filters using RSQL
Here we also have some response samples The documentation for this particular API
is quite extensive
If you prefer, you can also look it up on Ariba Connect
it is exactly the same.
Switching to the API specification on the API business hub
Details shows the sandbox and production URL You can download the specification
and API reference shows a single verb GET and a single API /events
with the code snippet generator - should you find this useful
Let’s expand the API here we have the optional parameters
EventType, defaults to ANTransaction PageSize, number of events per call
Offset value the rsql filter - this one is required
the documentation we just saw provides the actual syntax for how to build your rsqlfilter
We can try it out, lets paste in the sample syntax from the documentation
execute
and we get a nice 200 OK back with response body
and response header
Okay
when we switch to the Ariba Developer portal Discover
Ariba Network Transaction Monitoring
This looks exactly the same The only difference,
and this applies to all the APIs, is that we need to provide our own API key
here the business hub uses a generated one.
okay
Let’s try this out using Postman
GET events With an RSQL filter
start time and end are required.
The runtime URL comes from our collection environment
The authorization comes from the header and here we have the API key and the token
which come from our application environment To update our token, we need to run Get OAuth
token first, we have covered this in a previous video
and then we can run get Events
Send
and this will return the body with transaction id, document id, process
name, any comment, etc. all to be processed in our application
okay - that’s it in a nutshell Transaction monitoring for Supply Chain Collaboration
on the Ariba Network.
Thank you for watching