SAP Ariba is a cloud supply chain and procurement platform used by mid-to-large companies to manage the entire source-to-pay process. It’s a powerful solution that offers financial visibility, supplier data, and payment automation for holistic access and increased automation.
But there are a few things you’ll need to consider before you build a proactive or customer-requested integration to its API. Let’s dive in.
API Protocol: Is SAP Ariba SOAP or REST?
Ariba’s API is a hybrid and supports two standards - REST and cXML. In practice, that means that most GET calls can use the REST service, whereas most POST/ PATCH/ DELETE operations are better served by the cXML service. Given that Ariba connects both buyers and sellers in its network, whether you're automating internal workflows or building a digital product that needs to integrate with Ariba, use cases where you only need to pull data from Ariba are few and far between.
Ariba uses a custom auth method. It requires that for every object you want to work with (GET or POST/PATCH), you have to create an object-specific ‘app’ in Ariba, which creates a unique API key. Authenticating requires a client ID, client secret, and all of the API keys for the various data objects you want to work with in order to get the access token. The API key and network ID are available from the sandbox and the access token is generated by a /POST call to a specific URL. Custom auth methods generally require unique IF/ THEN/ ELSE logic in your code.
Documentation For the Ariba API
Ariba offers a massive amount of comprehensive documentation. For those who aren’t super familiar with XML schemas, Ariba lays out examples for only 2-3 of its 8-10 objects in its documentation.
Because cXML is an XML language, it’s defined by Document Type Definitions (DTDs), which are available for all cXML versions at cXML.org. The DTD format can be tricky to extract/get a hang of, so keep that in mind.
The native Ariba API does not support polling capabilities. With this, you’ll need to add-on or amend the API to add these features so you’re alerted by any state changes, workflow executions, trigger actions, etc.
Integrate More Easily
Our team just released our Ariba Element (what we call our industry-leading, robust APIs), which offers all the capabilities you need out-of-the-box (say goodbye to developer time spent adding a polling facade..)