Skip to main content

Celonis Product Documentation

Synchronous APIs for SAP Ariba

The affected synchronous APIs for SAP Ariba are:

  • Contract compliance API

  • Document approval API

  • Supplier data API with pagination

For each API, an overview and the API limits are detailed below.

In addition, you can find the implementation and request structure to use with these APIs:

The Contract Compliance API set allows the client to get information about contract requests and contracts created in SAP Ariba.

API limits for the contract compliance API

The following API limits apply:

  • Per second: 1 requests

  • Per minute: 10 requests.

  • Per hour: 100 requests.

Filters for the contract compliance API

To filter responses, this API provides OData filter with conditional operators or, and, eq, ne, gt, ge, lt, le to use with `$filter` keyword sent as query parameter.

The following date filters are available:

  • CreateDate

  • LastModified

  • ApprovedDate

For example:

$filter=CreateDate ge '2020-07-01T12:00:00Z' and CreateDate le '2020-07-10T12:00:00Z'
Routes implemented for the contract compliance API

The following routes are implemented:

Method

Call

Rute

GET

GET Contract Requests

GET https://openapi.ariba.com/api/contract-compliance/v1/prod/contractRequests?realm=XYZ

GET

GET Contract Requests Line Items

GET https://openapi.ariba.com/api/contract-compliance/v1/prod/contractRequests/{contractRequestId}/lineItems?realm=XYZ

GET

GET Contracts

GET https://openapi.ariba.com/api/contract-compliance/v1/prod/contracts?realm=XYZ

GET

GET Contracts Line Items

GET https://openapi.ariba.com/api/contract-compliance/v1/prod/contracts/{contractId}/lineItems?realm=XYZ

The Document Approval API set allows the client to get information about Invoice and Requisition changes and pending approvables in SAP Ariba.

API limits for the document approval API

The following API limits apply:

  • Per second: 300 requests.

  • Per minute: 800 requests.

  • Per hour: 35000 requests.

Routes implemented for the document approval API

The following routes are implemented:

Method

Call

Route

GET

GET Contract Requests

GET https://openapi.ariba.com/api/approval/v2/prod/changes

GET

GET Contract Requests Line Items

GET https://openapi.ariba.com/api/approval/v2/prod/pendingApprovables

GET

GET Contracts

GET https://openapi.ariba.com/api/approval/v2/prod/{approvableType}/{approvableId}

GET

GET Contracts Line Items

GET https://openapi.ariba.com/api/approval/v2/prod/{approvableType}/{approvableId}/attachments/{attachmentId}

The Supplier Data API with Pagination allows the client to retrieve supplier data from SAP Ariba Supplier Lifecycle and Performance or SAP Ariba Supplier Information and Performance Management (new architecture) solution, including supplier names, addresses, registration, qualification, and preferred statuses, and questionnaire details.

API limits for the supplier data API

The following API limits apply:

  • Per second: 1 request.

  • Per minute: 100 requests.

  • Per hour: 6000 requests.

  • Per day: 25000 requests.

Filters for the supplier data API

To filter responses this API provides only a single upper and lower bound filter with conditional operators ge and le to use with `$filter` keyword sent as query parameter.

Following date filters are available:

  • updatedDateFrom: The earliest update date for records to be returned. This parameter uses the ge (greater than or equal to) operator and a date.

  • updatedDateTo: The latest update date for records to be returned. This parameter uses the le (less than or equal to) operator and a date.

For example:

$filter=updatedDateFrom ge '2020-07-01T00:00:00Z' and updatedDateTo le '2020-07-10T00:00:00Z'
Routes implemented for the supplier data API

The following routes are implemented:

Method

Call

Route

POST

Gets the data specified in request body filters for all suppliers.

POST https://openapi.ariba.com/api/supplierdatapagination/v4/prod/vendorDataRequests

Body: 
{
        "outputFormat":"JSON",
        "withQuestionnaire":false,
        "withGenericCustomFields":true
}

GET

GET all supplier management certificate question data

GET https://openapi.ariba.com/api/supplierdatapagination/v4/prod/vendors/{vendorId}/certificates

GET

GET all supplier management projects (workspaces) for the specified supplier.

GET https://openapi.ariba.com/api/supplierdatapagination/v4/prod/vendors/{vendorId}/workspaces

GET

GET all modular questionnaire data for the specified supplier.

GET https://openapi.ariba.com/api/supplierdatapagination/v4/prod/vendors/{vendorId}/workspaces/questionnaires

GET

GET all question and answer data in all questionnaires for the specified supplier.

GET https://openapi.ariba.com/api/supplierdatapagination/v4/prod/vendors/{vendorId}/workspaces/questionnaires/qna
Implementation and request structure

SAP Ariba Contract Compliance API and Supplier Data API are synchronous APIs, hence, follow the common pattern of request/response like other connectors.

To authorize for the API access, a post request is sent to get the OAuth Access-Token that is used to authorize for all upcoming requests:

Post:   https://api.ariba.com/v2/oauth/token

HEADERS: 
        ClientID
    ClientSecret          

You then need common request headers for every resource request:

HEADERS: 
        Content-Type    application/json
        apiKey                  zzz
        Authorization   Bearer <Access-Token>
Metadata

The Contract Compliance API and Supplier Data API do not provide any metadata route for building the table structure. Hence, the API resource definitions are built as JSON configuration files for each API, which hold all the resource tables that need to be extracted. These definitions contain the resource endpoints, required parameters, columns for each table, nested child tables, etc.

Response processing

The API responses are realtime responses to the requests and the extracted records are uploaded to Vertica like other connectors.