0% found this document useful (0 votes)
52 views88 pages

Supplier Data API With Pagination

The document provides a comprehensive guide for developers on using the Supplier Data API with Pagination in SAP Ariba, detailing how to retrieve and update supplier information efficiently. It covers various endpoints, parameters, and workflows necessary for managing supplier data, including qualifications and questionnaires. Additionally, it outlines prerequisites for API access, security measures, and pagination techniques to optimize data retrieval.

Uploaded by

SahilPrabhakar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views88 pages

Supplier Data API With Pagination

The document provides a comprehensive guide for developers on using the Supplier Data API with Pagination in SAP Ariba, detailing how to retrieve and update supplier information efficiently. It covers various endpoints, parameters, and workflows necessary for managing supplier data, including qualifications and questionnaires. Additionally, it outlines prerequisites for API access, security measures, and pagination techniques to optimize data retrieval.

Uploaded by

SahilPrabhakar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 88

PUBLIC

Document Version: 2405 – 2024-08

Supplier Data API with Pagination


SAP Ariba Supplier Lifecycle and Performance
SAP Ariba Supplier Information and Performance Management (new
© 2024 SAP SE or an SAP affiliate company. All rights reserved.

architecture)
SAP Ariba Supplier Risk

THE BEST RUN


Content

Supplier Data API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

About the Supplier Data API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


Supplier Data API with Pagination Header Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Supplier Data API with Pagination Query and Filter Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Supplier Data API with Pagination Endpoints and Their Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint. . . . . . . . . . . . . . . . . 14
Use of the Supplier Data API with Pagination vendorContactsRequests Endpoint. . . . . . . . . . . . . 27
Use of the Supplier Data API with Pagination inactiveVendorDataRequests Endpoint. . . . . . . . . 32
Use of the Supplier Data API with Pagination workspaces Endpoint. . . . . . . . . . . . . . . . . . . . . . . . 33
Use of the Supplier Data API with Pagination questionnaires Endpoint. . . . . . . . . . . . . . . . . . . . .36
Use of the Supplier Data API with Pagination qna Endpoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Use of the Supplier Data API with Pagination answers Endpoint. . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Use of the Supplier Data API with Pagination scores Endpoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Use of the Supplier Data API with Pagination certificates Endpoint. . . . . . . . . . . . . . . . . . . . . . .44
Use of the Supplier Data API with Pagination vendors Endpoint. . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Use of the Supplier Data API with Pagination headerFields Endpoint. . . . . . . . . . . . . . . . . . . . . . 50
Use of the Supplier Data API with Pagination processes Endpoint. . . . . . . . . . . . . . . . . . . . . . . . . . 51
Use of the Supplier Data API with Pagination processTypes Endpoint. . . . . . . . . . . . . . . . . . . . . . .53
Use of the Supplier Data API with Pagination templates Endpoint. . . . . . . . . . . . . . . . . . . . . . . . . 54
Use of the Supplier Data API with Pagination modularQuestionnairesRequests Endpoint. . . . . . 56
Use of the Supplier Data API with Pagination processCreateRequests Endpoint. . . . . . . . . . . . . . 58
Use of the Supplier Data API with Pagination processCancellationRequest Endpoint. . . . . . . . . 61
Use of the Supplier Data API with Pagination versions Endpoint. . . . . . . . . . . . . . . . . . . . . . . . . . 63
Use of the Supplier Data API with Pagination jobs Endpoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Workflows for the Supplier Data API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Updating Expiration Dates or Due Dates of Modular Questionnaires Using the Supplier Data API
with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Update of a Questionnaire Using the Supplier Data API with Pagination. . . . . . . . . . . . . . . . . . . . . . 68
Retrieval of Certificate Attachments from Supplier Management Questionnaires Using the Supplier
Data API with Pagination and the External Approval API for Sourcing and Supplier Management
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Development of a Client Application for External Approval of Modular Questionnaires in Process
Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Making or Updating Decisions for Process Projects Using the Supplier Data API with Pagination
and the External Approval API for Sourcing and Supplier Management. . . . . . . . . . . . . . . . . . . . . . . 72
Retrieving Process Header Field Information and Process Decision History Using the Supplier Data
API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Supplier Data API with Pagination


2 PUBLIC Content
Retrieving Process Intake Form Details or Questionnaire Details in a Specific Version Using the
Supplier Data API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Updating Process Intake Form Answers Using the Supplier Data API with Pagination. . . . . . . . . . . . . 76
Retrieving Intake Form Using the Supplier Data API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . 78
Retrieving the List of Active Modular Questionnaires for a Process Type Using the Supplier Data
API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Creating a Process for a Supplier Using the Supplier Data API with Pagination. . . . . . . . . . . . . . . . . . 79
Retrieving Attachments from Process Intake Forms or Modular Questionnaires Using the Supplier
Data API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Error Messages Returned by the Supplier Data API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . 82

Version History for the Supplier Data API with Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

API-Specific Disclaimers and Legal Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Supplier Data API with Pagination


Content PUBLIC 3
Supplier Data API with Pagination

This guide is for application developers seeking information about how to build client applications to retrieve and
update information about their organization's suppliers.

Buyers use supplier management processes to add new suppliers, gather and maintain supplier profile
information, and decide which suppliers are qualified or preferred in specific domains. They can also use modular
questionnaires to maintain supplier information, including certificates.

This guide applies to:

• SAP Ariba Supplier Lifecycle and Performance


• SAP Ariba Supplier Information and Performance Management (new architecture)
• SAP Ariba Supplier Risk
• SAP Ariba APIs
• SAP Ariba developer portal

Related Guides

External Approval API for Sourcing and Supplier Management

Supplier Management Setup and Administration Guide

Managing Suppliers and Supplier Lifecycles

Supplier Data API with Pagination


4 PUBLIC Supplier Data API with Pagination
About the Supplier Data API with Pagination

The Supplier Data API with Pagination allows you to get data about your suppliers, including their registration,
qualification, and preferred status and details about their questionnaires and certificates, using pagination to limit
the amount of data you get with each post. It also allows you to set questionnaire answers and qualification or
preferred status.

It's only available for suppliers maintained in the following solutions:

• SAP Ariba Supplier Lifecycle and Performance


• SAP Ariba Supplier Information and Performance Management (new architecture)
• SAP Ariba Supplier Risk

You can only retrieve and update data related to the functionality to which you're entitled as part of your solution
package. For example, registration projects are only available in SAP Ariba Supplier Lifecycle and Performance and
SAP Ariba Supplier Information and Performance Management (new architecture). Qualification, preferred supplier
management, and process projects are only available in SAP Ariba Supplier Lifecycle and Performance.

The Supplier Data API with Pagination includes:

• Pagination of returned results for all API endpoints, with specific limits on the number of results per page
returned based on query parameters.
• Filter parameters that allow you to post incremental requests for data.
• Endpoints for getting supplier data, including IDs and registration, qualification, or preferred category status,
and for setting qualification and preferred category status.
• Multiple endpoints for fetching questionnaire data in different ways: for each supplier, you can get data for all
questionnaires, all questionnaires for a specific project (workspace), or a specific questionnaire.
• Multiple endpoints for fetching data about specific question answers within questionnaires: for each supplier,
you can get answer data for all questions, questions from a specific project (workspace), or questions from a
specific questionnaire.
• An endpoint for fetching header-level data for all of a supplier's certificates.
• An endpoint for setting questionnaire data in registration, qualification, and modular supplier management
questionnaires.
• Multiple endpoints for managing process projects from an internal system.

You can also create an application that uses the vendor data, certificate, and question and answer endpoints from
this API, in combination with the External Approval API for Sourcing and Supplier Management endpoints for:

• Retrieving questionnaire details and attachments, to not only retrieve certificate information but download
certificate attachments collected in supplier management questionnaires.
• Enabling external approval and status decisions for process projects and their modular questionnaires.

 Note

This guide only contains information about the active version of this API. To find the active version of this API,
refer to the version history.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 5
Prerequisites

Before you can use the Supplier Data API with Pagination, you must:

• Complete the onboarding process on the SAP Ariba developer portal.


• Ensure that your application conforms to expected OAuth authentication. Only applications approved by the
SAP Ariba APIs administration can execute OAuth authentication.

Retrieving supplier certificate attachments and approving modular questionnaires used in process projects
requires use of endpoints from the External Approval API for Sourcing and Supplier Management. You must
complete prerequisites for use of that API separately, and use of that API requires a separate application key.

Security and Authentication

Prior to developing an application using the Supplier Data API with Pagination, you must register on the developer
portal and obtain an application key, an OAuth client ID, and an OAuth client secret.

• You must have Customer Support enable API access to your site.
• Each API invocation retrieves data for a single site.
• OAuth tokens are short-lived and expire 24 minutes (1440 seconds) after they're issued. Tokens must be
refreshed.

Fields in Supplier Data API with Pagination Results

Endpoint results for the Supplier Data API can include some fields that are general across supplier management
functionality and projects, and that aren't listed in the API swagger documentation on the SAP Ariba developer
portal. Make sure that your API client applications only use and handle the fields that are listed in the API swagger
documentation.

Supplier Data API with Pagination Header Parameters [page 6]

Supplier Data API with Pagination Query and Filter Parameters [page 7]

Supplier Data API with Pagination Endpoints and Their Usage [page 9]

Workflows for the Supplier Data API with Pagination [page 66]

Supplier Data API with Pagination Header


Parameters
Supplier Data API with Pagination endpoints send a request or patch with authentication in the header and content
in the body.

Requests sent using the GET method include pagination tokens in the header; some of the endpoints also pass
parameters in the URL.

Supplier Data API with Pagination


6 PUBLIC About the Supplier Data API with Pagination
The following table describes the parameters in the JSON header for every Supplier Data API with Pagination
request or post:

Parameter Description

Content-Type application/json

apiKey Your application key. This key is automatically generated when


you create a new application on the SAP Ariba developer
portal, and is visible when you select your application in the
Manage Applications area.

Authorization:Bearer Your authorization token

Supplier Data API with Pagination Query and Filter


Parameters
You can use query and filter parameters to paginate API results and to return incremental data.

Parameter Description

realm Specifies the name of the customer site that the client applica-
tion wants to access, which can be any of the realmName
values in the realms list returned by the Oauth token.

 Note
This parameter replaces the client ID enablement con-

figuration in SM Administration Service Admin .


Even if you previously enabled a client application in SM
Administration, clients that use V4 of the Supplier Data
API with Pagination or higher must include the realm
query parameter in API URLs. The client ID enablement
configuration in SM Administration is not used for clients
that use v4 of the API or higher.

skip Specifies the pagination token returned in the body of the pre-
vious response, which is a numeric value.

Specifying $skip=0 is equivalent to not passing any skip


parameter and returns page 1 records from the first record to
the specified page limit.

Specifying the pagination token in the body of the previous


response skips all records up to and including that page and re-
trieves successive page records up to the specified page limit.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 7
Parameter Description

count Specifies whether or not page metadata and total count of


records are returned in the response.

top Specifies the number of records returned for the page in the
response from the pagination token onward. The value you
specify must be greater than 0 and less than or equal to the
system-defined pagination limit per page for the endpoint.

filter Specifies the update timestamps for records returned in the


response and returns all records in the range in the specified
page limit. This query parameter supports the following filter
parameters:

• updatedDateFrom: the earliest update date for re-


cords to be returned. Records most recently updated be-
fore this date are excluded from the response.
This parameter uses the ge (greater than or equal to)
operator and a date.
• updatedDateTo: the latest update date for records to
be returned. Records most recently updated after this
date are excluded from the response.
This parameter uses the le (less than or equal to) opera-
tor and a date.

Dates must be in the format YYYY-MM-DDThh:mm:ssZ in


Greenwich Mean Time (GMT).

 Note
• Since indexing of updates to supplier records can
take some time, real-time retrieval of supplier data
updates isn’t possible. Allow a time delay between
update times and queries that filter for those update
timestamps.
• Questionnaire submission is an asynchronous proc-
ess that can take some time depending on the size of
the questionnaire. API queries return results for sub-
missions completed within the specified timestamps.
• For the vendorDataRequests endpoint, updates
to a vendor database field, change of project status,
and the sending of a questionnaire all register as up-
dates to vendor records.

{{runtime_url}}/supplierdatapagination/v4/prod/vendors/S1052004/workspaces/
questionnaires/qna/?realm=customersite-T&$skip=10=updatedDateFrom ge
'2019-09-29T12:20:51Z' and updatedDateTo le '2019-09-29T12:20:51Z'

Supplier Data API with Pagination


8 PUBLIC About the Supplier Data API with Pagination
 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

Supplier Data API with Pagination Endpoints and


Their Usage
Use the following table to get brief information about all Supplier Data API with Pagination endpoints.

Method Endpoint Description Area For details, refer to

POST {{runtime_URL}}/ Returns the data speci- Supplier questionnaire • Request Filter and
supplierdatapagi fied in request body fil- management
Output Values for
nation/v4/prod/ ters for all suppliers,
the vendorDataRe-
vendorDataReques with or without IDs for
their associated ques- quests Endpoint
ts
tionnaires. [page 15]
• Output Fields
[page 18]
• Use of the Sup-
plier Data API with
Pagination vendor-
DataRequests End-
point [page 14]
• Update of a Ques-
tionnaire Using the
Supplier Data API
with Pagination
[page 68]
• Retrieval of Certifi-
cate Attachments
from Supplier Man-
agement Question-
naires Using the
Supplier Data API
with Pagination
and the External
Approval API for
Sourcing and Sup-
plier Management
[page 70]

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 9
Method Endpoint Description Area For details, refer to

GET {{runtime_URL}}/ Gets all supplier Supplier management Use of the Supplier
supplierdatapagi management projects project Data API with Pagina-
nation/v4/prod/ (workspaces) for the tion workspaces End-
vendors/{SM specified supplier. point [page 33]

Vendor ID}/
workspaces

GET {{runtime_URL}}/ Gets the specified Supplier management


supplierdatapagi supplier management project
nation/v4/prod/ project (workspace) for
vendors/{SM the specified supplier.

Vendor ID}/
workspaces/
{workspace ID}

GET {{runtime_URL}}/ Gets all modular ques- Supplier modular ques- Use of the Supplier
supplierdatapagi tionnaire data for the tionnaire management Data API with Pagi-
nation/v4/prod/ specified supplier. nation questionnaires
vendors/ Endpoint [page 36]

{vendorId}/
workspaces/
questionnaires

GET {{runtime_URL}}/ Gets all modular ques- Supplier modular ques-


supplierdatapagi tionnaire data in the tionnaire management
nation/v4/prod/ specified project (work-
vendors/ space) for the specified
supplier.
{vendorId}/
workspaces/
{workspace id}/
questionnaires

GET {{runtime_URL}}/ Gets data for the speci- Supplier modular ques- • Use of the Supplier
supplierdatapagi fied modular question- tionnaire management
Data API with Pag-
nation/v4/prod/ naire for the specified
ination question-
vendors/ supplier.
naires Endpoint
PATCH {vendorId}/ Updates expiration Supplier modular ques- [page 36]
workspaces/ dates or due dates of tionnaire management
questionnaires/ modular questionnaires
• Updating Expira-

for a supplier. tion Dates or Due


{questionnaireId
Dates of Modular
}
Questionnaires Us-
ing the Supplier
Data API with Pagi-
nation [page 67]

Supplier Data API with Pagination


10 PUBLIC About the Supplier Data API with Pagination
Method Endpoint Description Area For details, refer to

GET {{runtime_URL}}s Gets all question and Supplier questionnaire • Use of the Supplier
upplierdatapagin answer data in all ques- management
Data API with Pag-
ation/v4/prod/ tionnaires for the speci-
ination qna End-
vendors/{SM fied supplier.
point [page 39]
vendor ID}/
workspaces/
• Update of a Ques-
tionnaire Using the
questionnaires/q
Supplier Data API
na
with Pagination
GET {{runtime_URL}}s Gets all question and Supplier questionnaire [page 68]
upplierdatapagin answer data in all management
ation/v4/prod/ questionnaires in the
vendors//{SM specified project (work-
space) for the specified
vendor ID}/
supplier.
workspaces/
{workspace id}/
questionnaires/q
na

GET {{runtime_URL}}s Gets question and an- Supplier questionnaire


upplierdatapagin swer data in the speci- management
ation/v4/prod/ fied questionnaire for
vendors/{SM the specified supplier.

VendorID}/
workspaces/
questionnaires/
{questionnaire
id}/qna

GET {{runtime_URL}}s Gets question and an- Supplier questionnaire


upplierdatapagin swer data in the speci- management
ation/v4/prod/ fied questionnaire in the
vendors/{SM specified project (work-
space) for the specified
VendorID}/
supplier.
workspaces{works
pace id}/
questionnaires/
{questionnaire
id}/qna

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 11
Method Endpoint Description Area For details, refer to

POST {{runtime_URL}}s Posts answers to ques- Supplier questionnaire • Use of the Sup-
upplierdatapagin tions in the specified management
plier Data API with
ation/v4/prod/ questionnaire in the
Pagination answers
vendors/{SM specified project for the
specified supplier. Endpoint [page
VendorID}/
41]
workspaces/
{workspace id}/
• Update of a Ques-
tionnaire Using the
questionnaires/
Supplier Data API
{questionnaire
id}/answers with Pagination
[page 68]
• Updating Process
Intake Form An-
swers Using the
Supplier Data API
with Pagination
[page 76]

GET {{runtime_URL}}s Gets certificate ques- Supplier certificate • Use of the Supplier
upplierdatapagin tion data for the speci- management
Data API with Pag-
ation/v4/prod/ fied vendor.
ination certificates
vendors/{SM Endpoint [page
vendor ID}/
44]
certificates
• Retrieval of Certifi-
cate Attachments
from Supplier Man-
agement Question-
naires Using the
Supplier Data API
with Pagination
and the External
Approval API for
Sourcing and Sup-
plier Management
[page 70]

PATCH {{runtime_url}}/ Updates qualification or Supplier qualification Use of the Supplier


supplierdatapagi preferred category sta- management Data API with Pagina-
nation/v4/prod/ tus for the specified tion vendors Endpoint
vendors combination of com- [page 46]
modities, regions, and
departments for the
specified suppliers.

Supplier Data API with Pagination


12 PUBLIC About the Supplier Data API with Pagination
Method Endpoint Description Area For details, refer to

PATCH {{runtime_url}}/ Updates the regions or Supplier process man- • Use of the Sup-
supplierdatapagi status decisions of a agement
plier Data API with
nation/v4/prod/ process. Pagination header-
{vendorID}/ Fields Endpoint
workspaces/
[page 50]
{workspaceId}/
headerFields
• Making or Updat-
ing Decisions for
Process Projects
Using the Supplier
Data API with Pag-
ination and the Ex-
ternal Approval API
for Sourcing and
Supplier Manage-
ment [page 72]

GET {{runtime_URL}}/ Retrieves header field Supplier process man- • Use of the Supplier
supplierdatapagi information about all agement
Data API with Pag-
nation/v4/prod/ processes of a supplier.
ination processes
vendors/ Endpoint [page
{vendorId}/
51]
processes
• Retrieving Process
GET {{runtime_URL}}/ Retrieves header field Supplier process man- Header Field Infor-
supplierdatapagi information and deci- agement mation and Proc-
nation/v4/prod/ sion history of a specific
ess Decision His-
vendors/ process.
tory Using the Sup-
{vendorId}/ plier Data API with
processes/{wid} Pagination [page
74]
• Updating Process
Intake Form An-
swers Using the
Supplier Data API
with Pagination
[page 76]
• Retrieving Process
Intake Form Details
or Questionnaire
Details in a Spe-
cific Version Using
the Supplier Data
API with Pagination
[page 75]

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 13
Method Endpoint Description Area For details, refer to

GET {{runtime_URL}}/ Retrieves process in- Supplier process man- • Use of the Supplier
supplierdatapagi take form details or
agement Data API with Pag-
nation/v4/prod/ questionnaire details in
ination versions
vendors/ the latest version. Supplier questionnaire
Endpoint [page
{vendorId}/ management
63]
workspaces/
questionnaires/
• Retrieving Process
Intake Form Details
{questionnaireId
or Questionnaire
}/qna/versions
Details in a Spe-
GET {{runtime_URL}}/ Retrieves process in- Supplier process man- cific Version Using
supplierdatapagi take form details or
agement the Supplier Data
nation/v4/prod/ questionnaire details in
API with Pagination
vendors/ a specific version. Supplier questionnaire
[page 75]
{vendorId}/ management
workspaces/
• Updating Process
Intake Form An-
questionnaires/
swers Using the
{questionnaireId
}/qna/versions/ Supplier Data API
{versionId} with Pagination
[page 76]

Use of the Supplier Data API with Pagination vendorDataRequests


Endpoint

The Supplier Data API with Pagination vendorDataRequests endpoint uses the POST method to send a JSON
request to your site. The request specifies query and filter parameters in the URL, authentication in the header, and
filters and output format in the body.

Method Endpoint Pagination limit per page Description

POST {{runtime_URL}}/ 1000 Returns the data specified in


supplierdatapaginati request body filters for all
on/v4/prod/ suppliers, with or without IDs

vendorDataRequests for their associated question-


naires.

 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.

Supplier Data API with Pagination


14 PUBLIC About the Supplier Data API with Pagination
Related Information

Update of a Questionnaire Using the Supplier Data API with Pagination [page 68]
Retrieval of Certificate Attachments from Supplier Management Questionnaires Using the Supplier Data API with
Pagination and the External Approval API for Sourcing and Supplier Management [page 70]

Request Filter and Output Values for the vendorDataRequests Endpoint

The JSON request that the vendorDataRequests endpoint of the Supplier Data API with Pagination sends to your
site uses name/value pairs or arrays to specify the data you want to return in output.

The following table describes the valid values for name/value pairs and arrays in request body.

Name/Value Pair or Array Valid Values

businessUnitList One or more of the business unit or department IDs loaded


in your site as master data and used in supplier management
projects, separated by commas.

categoryList One or more of the category IDs loaded in your site as master
data and used in supplier management projects, separated by
commas.

outputFormat Either CSV or JSON.

withQuestionnaire TRUE to include the titles, IDs, and types of any questionnaires
associated with the suppliers returned in results; otherwise,
FALSE.

 Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output does not return questionnaire infor-
mation.

withDisqualifications TRUE to include the exact process type in the disqualification


information response when you disqualify a process.; other-
wise, FALSE.

smVendorIds One or more valid SM vendor IDs for suppliers in your site,
separated by commas.

A number between 1 and 500. This output filter is only ap-


pageLimit
plicate in requests with "withQuestionnaire": true.
This filter specifies the n umber of results to include per page
of output and sets a maximum of 500 results per page to
prevent requests that include questionnaire data from timing
out. If you do not set a value, or if the value you set is greater
than 500, the default value is 500.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 15
Name/Value Pair or Array Valid Values

withGenericCustomFields TRUE to include all custom field data associated with the sup-
pliers returned in results; otherwise, FALSE.

This filter returns data in fields in the following classes,


grouped by class:

• vendor.supplier.GenericCustomField
• vendor.businessPartnerGenericCustomFiel
d
• vendor.CompanyCode.customFieldApis
• vendor.bankInfos.customFieldApis

 Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output does not return custom field infor-
mation.

preferredLevelList One or more numbers between 1 and 5, separated by commas.


1 is the highest preferred level and 5 is the lowest.

qualificationStatusList One or more of the following values, separated by commas:

Cancelled, QualificationRejected,
Disqualified,
QualificationExpired,PendingDisqualificati
onApproval, QualificationStarted,
InQualification,
PendingQualificationApproval,
PendingQualificationResubmit,
QualificationRestricted,
QualifiedWithException, Qualified

For process qualifications, use standard qualification lifecycle


status that corresponds to the custom qualification process
status for which you want output.

regionList One or more of the region codes loaded in your site as master
data and used in supplier management projects, separated by
commas.

registrationStatusList One or more of the following values, separated by commas:

RegistrationDenied,
InExternalApprovalForCreation, NotInvited,
Invited, InRegistration, PendingApproval,
PendingResubmit, Registered

Supplier Data API with Pagination


16 PUBLIC About the Supplier Data API with Pagination
 Note

The supported values for registration and qualification statuses are the system unique names for those
statuses. The supported values for preferred levels are the numbers 1-5. Use of your company's custom labels
for these statuses and levels in API requests is not supported.

The following sample request body retrieves questionnaire titles, IDs, and types for two specific suppliers in JSON
format:

{
"outputFormat":"JSON",
"withQuestionnaire":true,
"smVendorIds":["S1004848","S1004834"]
}

The following sample request body retrieves questionnaire names, IDs, and types and custom field data for all
suppliers in JSON format, limiting results to 250 per page:

{
"outputFormat":"JSON",
"withQuestionnaire":true,
"pageLimit":250,
"withGenericCustomFields":true
}

The following sample request body retrieves the exact process type in the disqualification information response
when you disqualify a process:

{
"outputFormat":"JSON",
"withQuestionnaire":false,
"pageLimit":250,
"withGenericCustomFields":true,
"withDisqualifications":true
}

Additional Parameters in Request Body of the vendorDataRequests Endpoint

The JSON request that the vendorDataRequests endpoint of the Supplier Data API with Pagination sends to your
site uses name/value pairs or arrays to specify the data you want to return in output.

The following table describes valid values for name/value pairs and arrays in the request body. The parameters list
below shows only those that are introduced as part of the current enhancements to the vendorDataRequests
endpoint:

Name/Value Pair or Array Valid Values

One or more valid ERP vendor IDs for suppliers in your site,
erpVendorIds
separated by commas. For more information, see Supplier IDs
in SAP Ariba Supplier Lifecycle and Performance.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 17
Name/Value Pair or Array Valid Values

withBankDetail TRUE to include all bank related data associated with the sup-
pliers returned in results; otherwise, FALSE.

 Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output doesn't return bank details.

withTaxDetail TRUE to include all tax related data associated with the suppli-
ers returned in results; otherwise, FALSE.

 Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output doesn't return tax details.

withCompanyCodeDetail TRUE to include all company code details associated with the
suppliers returned in results; otherwise, FALSE.

 Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output doesn't return company code details.

The following sample request body retrieves bank details, tax details, and company code details for a specific
supplier in JSON format, limiting results to 500 per page:

{
"smVendorIds": ["S10109602"],
"erpVendorIds": ["1351015"],
"withBankDetail":true,
"withTaxDetail":true,
"withCompanyCodeDetail":true,
"pageLimit":500,
"outputFormat":"JSON"
}

Related Information

Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]

Output Fields

The response for a vendorDataRequests requests includes anchor fields, which are included in every response,
and optional output fields that can be configured in your site, in the specified JSON or CSV format.

JSON responses can include the following fields:

Supplier Data API with Pagination


18 PUBLIC About the Supplier Data API with Pagination
Field Anchor Field? Notes

Supplier Name Yes

ERP Vendor ID Yes

SM Vendor ID Yes

An Id Yes

ACM ID Yes

Registration Status Yes

Qualification Status Yes Qualification status can be from either a


supplier disqualification or a process dis-
qualification.

Integrated to ERP Yes

Duplicate SM Vendor Id No

Last Integration State No

Last Confirmation State No

Source System No

Master Vendor Id No

Form of Address Code No

name2 No

name3 No

name4 No

Duns Id No

Industry Code No

Record Created Date No

Creator No

Blocked Status No

Last Review Date No

Last Update Date No

Last Status Change Date No

Primary Supplier Manager No

Relationship Established No

Alternate Supplier Manager No

Approved No

Transactional Supplier No

Transactional Supplier No
Request Status

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 19
Field Anchor Field? Notes

Main Vendor Type No

Address - Line1 Yes

Address - City Yes

Address - Country Code Yes

Address - Region Code Yes

Address - Postal Code Yes

Primary contact first name No

Primary contact middle name No

Primary contact last name No

Primary contact email No

qualifications No qualifications covers both qualifi-


cations (either supplier qualifications or
process qualifications) and preferred cat-
egory statuses and includes:

• Qualification Status
• Preferred Status
• Category
• Region
• Business Unit
• Process Type

For process qualifications, the Process


Type field includes the type of the qual-
ification process as defined by process
type data in your site.

questionnaires No The fields related to questionnaires are


included in JSON output if your request
specifies "withQuestionnaire" :
"TRUE". They are:

• questionnaireId
• questionnaireTitle
• workspaceType
• workspaceId
• matrixInfo

genericCustomFields No Custom fields are included in JSON


output if your request specifies
"withGenericCustomFields" :
"TRUE".

Supplier Data API with Pagination


20 PUBLIC About the Supplier Data API with Pagination
CSV responses can include the following fields:

• Supplier Name
• ERP Vendor ID
• SM Vendor ID
• An Id
• Acm Id
• Registration Status
• Integrated to ERP
• Address - Line 1
• Address - Line 2
• Address - Line 3
• Address - City
• Address - Country Code
• Address - Region Code
• Address - PO Box
• Address - Postal Code
• Qualification Status
• Preferred Status
• Category
• Region
• Business Unit

For both types of output, values for registration and qualification statuses are the unique names for those statuses.
The supported values for preferred levels are the numbers 1-5. Output that uses your company's customized labels
for these statuses and levels is not currently supported. The output uses the same values as the request filters.

Related Information

Configuring Export Fields for the Supplier Data API with Pagination [page 24]
Request Filter and Output Values for the vendorDataRequests Endpoint [page 15]
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Retrieval of Certificate Attachments from Supplier Management Questionnaires Using the Supplier Data API with
Pagination and the External Approval API for Sourcing and Supplier Management [page 70]

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 21
Additional Output Fields in Response Body of the vendorDataRequests Endpoint

The response for the vendorDataRequests endpoint generates optional output fields in the specified JSON.

The existing endpoint returns several fields in the response JSON. Note that the list below shows only those
response fields that are returned as part of the current enhancements to the vendorDataRequests endpoint:

Field Notes

Bank Related Information

accountName A name for the supplier's bank account.

accountNumber The supplier's bank account number.

bankAccountExternalID If the current bank details are known under a different ID in an


external system, you can store this ID here.

bankAccountStandardID IBAN (International Bank Account Number)

bankInternalID The bank key (under which the bank data is stored in the ap-
propriate country) is specified in this field.

bankAccountType The type of the supplier bank account; for example, checking.

bankBranch The name of the supplier's bank branch.

controlKey The field contains a check key for the combination bank num-
ber and bank account number.

country The country/region in which the supplier's bank operates.

address Address output

line1

line2

line3

poBox

city

countryCode

region

postalCode

Tax Related Information

countryCode A set of unique identifiers for the taxes to which the supplier is
subject, as defined by each country/region's tax authority.
partyTaxID

taxIdentificationNumberTypeCode

longPartyTaxID

vatRegistrationNumber The VAT number assigned to the supplier.

Company Code Related Information

companyCode Company code output

Supplier Data API with Pagination


22 PUBLIC About the Supplier Data API with Pagination
Field Notes

paymentMethodsCode

planningGroupCode

cashDiscountTermsCode

generalLedgerAccountReferenceID

subjectToWithholdingTaxIndicator

withholdingTaxCode

withholdingTaxTypeCode

supplierGenericCustomField Custom fields are included in JSON output if your request


specifies "withGenericCustomFields": true
businessPartnerGenericCustomField

companyCodeGenericCustomField

bankInfoGenericCustomField

The following example shows a sample response:

[
{
"Supplier Name": "katTB1692776616263",
"SM Vendor ID": "S10113105",
"ERP Vendor ID": "1801236",
"ACM ID": "ACM_59304",
"Registration Status": "NotInvited",
"Qualification Status": "NotQualified",
"Integrated to ERP": "NotIntegrated",
"Last Integration State": "NotIntegrated",
"Source System": "SM",
"Record Created Date": "1692776751863",
"Last Review Date": "0",
"Last Update Date": "1692776768868",
"Last Status Change Date": "1692776757549",
"Approved": "true",
"Transactional Supplier": "false",
"Main Vendor Type": "true",
"Primary contact first name": "Ptor",
"Primary contact last name": "katTB1692776616263",
"Primary contact email": "[email protected]",
"bankInfos": [
{
"accountName": "Ahname",
"accountNumber": "435455",
"bankAccountExternalID": "57744",
"bankAccountStandardID": "324355",
"bankInternalID": "454534",
"bankBranch": "Bbranch",
"country": "US",
"address": [
{
"line1": "9690 Deereco road",
"city": "Timonium",
"countryCode": "US",
"postalCode": "21093"
}
]
}
],

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 23
"taxInfos": [
{
"countryCode": "US",
"partyTaxID": "1692776616280",
"taxIdentificationNumberTypeCode": "1"
},
{
"countryCode": "US",
"partyTaxID": "1692776617364",
"taxIdentificationNumberTypeCode": "2"
},
{
"countryCode": "US",
"taxIdentificationNumberTypeCode": "5",
"longPartyTaxID": "1692776618375"
},
{
"countryCode": "US",
"taxIdentificationNumberTypeCode": "6",
"longPartyTaxID": "1692776619385"
}
],
"companyCodes": [
{
"companyCode": "100",
"paymentMethodsCode": "DSFSF",
"planningGroupCode": "GC3455",
"cashDiscountTermsCode": "CD43",
"generalLedgerAccountReferenceID": "RID435345",
"withHoldingTaxes": [
{
"subjectToWithholdingTaxIndicator": "WTAX32434",
"withholdingTaxCode": "WTCode2424",
"withholdingTaxTypeCode": "WTXSD"
}
]
}
]
}
]

Related Information

Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]

Configuring Export Fields for the Supplier Data API with Pagination

This topic describes how to specify fields to be included in the Supplier Data API with Pagination data export.

Prerequisites

To configure export fields, the field configuration feature must be enabled in your site.

Supplier Data API with Pagination


24 PUBLIC About the Supplier Data API with Pagination
Context

You can specify which fields to include in data extracted by applications built on the Supplier Data API with
Pagination.

The following anchor fields are always returned:

• Supplier Name
• SM Vendor ID
• ERP Vendor ID
• ANID
• ACMID
• Registration Status
• Qualification Status
• Integrated to ERP
• Address

 Note

If this feature is enabled and no fields are configured, only the anchor fields are returned.

You can configure the following fields to be included in the data export:

• Last Integration State


• Last Confirmation State
• Source System
• Master Vendor Id
• Form of Address code
• Duns Id
• Industry Code
• Record Created Date
• Blocked Status
• Last Review Date
• Last Update Date
• Last Status Change Date
• Primary Supplier Manager
• Relationship Established Type
• Supplier Manager
• Approved
• Transactional Supplier
• Transactional Supplier Request Status
• Main Vendor Type
• Primary Contact
• Qualification

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 25
 Note

Preferred falls within the broader umbrella of Qualification: When you include Qualification, Preferred
data is included as well.

 Note

Configuring export fields does not restrict the query filter fields available for use in your request. For example,
even if you do not include the Address field in your export, you can still use this field to filter what records are
included in the export.

To specify which fields are included in the Supplier Data API with Pagination data export, follow these steps:

Procedure

1. Sign in as a user with the SM Admin or SM Ops Administrator role and navigate to SM Administration.
2. Click Config Fields.
3. In the Type of Data section, choose Supplier.
4. In the API section, select Supplier Data API.
5. In the dropdown that lists available fields, check the checkboxes of the fields you wish to include in the data
export. To ensure that a field is not included in the data export, confirm that its checkbox is unchecked.
6. Click Save.

Related Information

Output Fields [page 18]


Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]

Supplier Data API with Pagination


26 PUBLIC About the Supplier Data API with Pagination
Use of the Supplier Data API with Pagination
vendorContactsRequests Endpoint

The Supplier Data API with Pagination vendorContactsRequests endpoint uses the POST method to send a
JSON request to your site.

Method Endpoint Pagination limit per page Description

POST {{runtime_URL}}/ N/A Returns the contact details


supplierdatapaginati specified in request body fil-
on/v4/prod/ ters for suppliers whose IDs

vendorContactsReques are specified.

ts

For example, the following URL returns the contact details of the suppliers mentioned in the request body:

POST{{runtime_URL}}/supplierdatapagination/v4/prod/vendors/vendorContactsRequests?
realm=mySiteName

 Note

• The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime
URL from the Environment details table on the SAP Ariba developer portal discovery page for this API.
• The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime
URL from the Environment details table on the SAP Ariba developer portal operated by CDC discovery
page for this API.

The following example shows a sample request:

{
"smVendorIds": [
"S107614566"
],
"erpVendorIds": [
"2261030"
],
"acmIds": [
"ACM_590962"
]
}

Enter any one value out of smVendorId, erpVendorId, or acmId for each supplier in the request body and the
endpoint returns the contact information of those suppliers. The output is returned for a supplier only once even if
you enter all the three IDs for the same supplier. The maximum permitted vendor limit in the request body is 100.
If you exceed this limit, the system displays an error message that reads "You have entered <number> vendors.
Reduce the number so as not to exceed the maximum allowed limit of 100."

 Remember

• If you enter supplier IDs that don't exist or are inactive, the IDs are ignored and no output is generated
for those suppliers. The system doesn't display any error message. Therefore, ensure that you enter only
accurate supplier IDs of active suppliers in the request body.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 27
• If you enter IDs of suppliers that don't have any supplier contacts configured, the IDs are ignored and no
output is generated for those suppliers. The system doesn't display any error message. Therefore, ensure
that you enter only those suppliers IDs that have at least one supplier contact configured.

The following example shows a sample response for the request above. Note that the response doesn't include
contact details for smVendorId S107614566. That's because the vendor doesn't exist in the realm and is therefore
ignored.

{
"vendorDetails": [
{
"supplierName": "XYZSolutions",
"erpVendorId": "2261030",
"smVendorId": "S10761800",
"anId": null,
"acmId": "ACM_590937",
"vendorContactInfos": [
{
"firstName": "Ptor",
"lastName": "Ivanov",
"middleName": Igor,
"email": "[email protected]",
"telephone": 080 1234567890,
"title": "Ivanov",
"aodObjectId": null,
"categories": "All",
"mobilePhone": "91 9845921298",
"regions": "",
"sourceSystem": null,
"s4UniqueName": "[email protected]",
"type": "Sales",
"locale": "ar",
"timeZoneId": "ACT",
"departments": "0",
"mobileCountryName": "India",
"telephoneCountryName": "India",
"role": null,
"timeUpdate": 1690877934315,
"timeCreated": 1690263229214,
"active": true,
"primary": true
}
]
},
{
"supplierName": "PQRSolutions",
"erpVendorId": "2273037",
"smVendorId": "S10762100",
"anId": null,
"acmId": "ACM_590962",
"vendorContactInfos": [
{
"firstName": "Thomas",
"lastName": "Issac",
"middleName": Philip,
"email": "[email protected]",
"telephone": "080 1234562399",
"title": "Philip",
"aodObjectId": null,
"categories": "All",
"mobilePhone": "91 9848765298",
"regions": "",
"sourceSystem": null,
"s4UniqueName": "[email protected]",
"type": "Sales",

Supplier Data API with Pagination


28 PUBLIC About the Supplier Data API with Pagination
"locale": "ar",
"timeZoneId": "ACT",
"departments": "0",
"mobileCountryName": "India",
"telephoneCountryName": "India",
"role": null,
"timeUpdate": 1690350432251,
"timeCreated": 1690350432213,
"active": true,
"primary": true
}
]
}
]
}

Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.

Related Information

Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Error Messages Returned by the Supplier Data API with Pagination [page 82]

Request Filter and Output Values for the vendorContactsRequests Endpoint

The JSON request that the vendorContactsRequests endpoint of the Supplier Data API with Pagination sends
to your site uses name/value pairs or arrays to specify the data you want to return in output.

The following table describes the valid values for name/value pairs and arrays in request body. Any one of these
values is mandatory in the request body.

Name/Value Pair or Array Description Valid Values

smVendorIds A unique ID that SAP Ariba assigns auto- One or more valid SM vendor IDs for sup-
matically to suppliers in SAP Ariba Sup-
pliers in your site, separated by commas.
plier Lifecycle and Performance or SAP
Ariba Supplier Information and Perform-
ance Management (new architecture).

erpVendorIds A mandatory ID for the supplier, which One or more valid ERP vendor IDs for
must be unique in combination with the
suppliers in your site, separated by com-
supplier's source system. For more infor-
mas.
mation, see Supplier IDs in SAP Ariba
Supplier Lifecycle and Performance

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 29
Name/Value Pair or Array Description Valid Values

acmIds A unique ID assigned by SAP Ariba that One or more valid ACM IDs for suppliers
identifies suppliers internally within SAP
in your site, separated by commas.
Ariba applications. Suppliers created in
SAP Ariba Strategic Sourcing Suite and
SAP Ariba Supplier Management solu-
tions typically have ACM IDs that start
with ACM_

Output Fields

JSON responses include the following fields:

Field Notes

supplierName The name of the supplier. In general, erpVendorId asso-


ciates a contact with a supplier.

erpVendorId The ID of the supplier in the integrated ERP system.

smVendorId The ID that SAP Ariba assigns to the supplier.

anId An ID that SAP Business Network automatically assigns to


suppliers when they create accounts.

acmId A unique ID assigned by SAP Ariba that identifies suppliers


internally within SAP Ariba applications.

firstName The first name of the supplier contact.

lastName The last name of the supplier contact.

middleName The middle name of the supplier contact.

email The supplier contact's email address.

telephone The supplier contact's land line telephone number.

title The supplier contact's title.

aodObjectId Indicates whether a supplier is private or public.

categories The commodities for which the supplier contact is responsible.

 Note
This code matches the commodity master data loaded in
your SAP Ariba Strategic Sourcing Suite.

Supplier Data API with Pagination


30 PUBLIC About the Supplier Data API with Pagination
Field Notes

mobilePhone The supplier contact's mobile telephone number.

regions The regions for which the supplier contact is responsible.

 Note
This value matches the region master data loaded in your
SAP Ariba Strategic Sourcing Suite.

s4UniqueName The unique name of the supplier contact in SAP Ariba Strate-
gic Sourcing Suite

type The type of the supplier contact that matches one of the types
defined for your site.

locale The ISO code for the supplier contact's language.

timeZoneId The ID of the timezone where the supplier contact is located.

departments The departments associated with the contact, if any.

mobileCountryName The country/region of the supplier contact's mobile telephone


number. SAP Ariba Supplier Management solutions automati-
cally insert a plus sign (+) before of the country/region code in
user interface display and JSON responses.

telephoneCountryName The country/region of the supplier contact's land line tele-


phone number.

role role

timeUpdated The date and time when the contact was last updated.

timeCreated The date and time when the contact was created.

Is Primary A Boolean value that specifies whether or not the supplier


contact is the primary contact for the supplier. Valid values are
TRUE and FALSE.

isActive A Boolean value that specifies whether the contact is active


(TRUE) or deactivated (FALSE). If this field is empty, the con-
tact is active.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 31
Use of the Supplier Data API with Pagination
inactiveVendorDataRequests Endpoint

The Supplier Data API with Pagination inactiveVendorDataRequests endpoint uses the POST method to send a
JSON post to your site to extract the data of all the inactive suppliers in your site. The post specifies authentication
in the header.

Method Endpoint Pagination Description

POST {{runtime_URL}}suppl 500 This endpoint allows you to re-


ierdatapagination/v4 trieve the data of inactive sup-
/prod/ pliers in your site.
inactiveVendorDataRe
quests

See Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters.

 Note

In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.

For example, the following URL returns the data of all the inactive vendors in the realm mysitename:

 Sample Code

POST {{runtime_URL}}/supplierdatapagination/v4/prod/inactiveVendorDataRequests/?
realm=mysitename

To retrieve the data of specific vendors, mention the SM Vendor IDs or ERP Vendor IDs of the suppliers. The code
below shows a sample request body:

 Sample Code

{
"smVendorIds": [
"S123456",
"S789012"
],
"erpVendorIds": [
6587928761,
1854692346
]
}

 Remember

The endpoint retrieves the data of inactive suppliers only. The data of non-inactive and purged suppliers isn't
taken into consideration.

The code below shows a sample response:

Supplier Data API with Pagination


32 PUBLIC About the Supplier Data API with Pagination
 Sample Code

{
"supplierName": XYZ Corporation",
"smVendorId": "S10109602",
"erpVendorId": "1351015654",
"anID": "AN61234567890",
"acmID": "ACM_2234",
"registrationStatus": "Registered",
"erpIntStatus": "Integrated",
"timeUpdated": "1624296064450",
"timeCreated": "1624296064412"
}

Related Information

Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Use of the Supplier Data API with Pagination vendors Endpoint [page 46]

Use of the Supplier Data API with Pagination workspaces


Endpoint

The Supplier Data API with Pagination workspaces endpoints use the GET method to send a JSON request to your
site. The request retrieves data about supplier management projects and associated questionnaires.

The GET URL includes query and filter parameters, and the request header specifies authentication.

Method Endpoint Pagination Limit Per Page Description

GET {{runtime_URL}}/ 5 Gets all supplier management


supplierdatapaginati projects (workspaces) for the
on/v4/prod/ specified supplier
vendors/{SM Vendor
ID}/workspaces

GET {{runtime_URL}}/ 5 Gets the specified supplier


supplierdatapaginati management project (work-
on/v4/prod/ space) for the specified sup-
vendors/{SM Vendor plier

ID}/workspaces/
{workspace ID}

For example, the following URL returns all of the supplier management workspaces for the specified supplier:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/SM100015/workspaces/?
realm=mysitename

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 33
 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

The workspaces endpoint can retrieve information for supplier request, registration, qualification, disqualification,
preferred supplier management, and modular supplier management questionnaire projects. For process projects,
use the process-related endpoints instead.

Output includes commodity, region, and department (matrix) information for all applicable workspaces. The
following example shows a sample result for the workspaces endpoint:

"Qualification": [
{
"active": true,
"statusId": "WS817753",
"requester": "asmith",
"approver": "bchen",
"title": "Qualification for Supplier 123",
"status": "Qualified",
"canDisqualify": false,
"isExpired": false,
"isRequalificationEligible": false,
"matrixInfo": {
"Status": "Qualified",
"Region": {
"USA",
"Canada"],
"Category": ["5218"],
"Business Unit": ["All"]
"Process Type": ["Full Qualification"]
},
"questionnaires": [],
"links": [
{
"rel": "self",
"href": "http://localhost:8080/SM/rest/smv1/vendors/S2/
workspaces/WS817753"
}
]
},
{
"active": true,
"statusId": "WS842485",
"requester": "asmith",
"approver": "bchen",
"title": "Qualification for Supplier123",
"status": "Qualification Started",
"canDisqualify": false,
"isExpired": false,
"isRequalificationEligible": false,
"matrixInfo": {
"Status": "Qualification Started",
"Region": ["Europe"],
"Category": ["5218"],
"Business Unit": ["All"]
"Process Type": ["Full Qualification"]
},
"questionnaires": [],
"links": [
{
"rel": "self",
"href": "http://localhost:8080/SM/rest/smv1/vendors/S2/
workspaces/WS842485"
}

Supplier Data API with Pagination


34 PUBLIC About the Supplier Data API with Pagination
]
},
],
"Registration": [
{
"active": true,
"invitationCount": 0,
"status": "Invited",
"updateStatus": "None",
"questionnaires": [],
"links": [
{
"rel": "self",
"href": "http://localhost:8080/SM/rest/smv1/vendors/S2/
workspaces/WORKSPACEID_NOT_FOUND_ERROR"
}
]
},
{
"active": true,
"statusId": "WS841943",
"requester": "tjones",
"title": "Supplier Registration for Supplier123",
"invitationCount": 0,
"status": "Invited",
"updateStatus": "None",
"matrixInfo": {
"Region": [
"USA",
"INDIA"
],
"Category": [
"12",
"53"
],
"Business Unit": ["All"]
"Process Type": []
},
"questionnaires": [],
"links": [
{
"rel": "self",
"href": "http://localhost:8080/SM/rest/smv1/vendors/S2/
workspaces/WS841943"
}
]
}
],
...

 Note

Output for the workspaces endpoints can include dates for the invitedDate and
questionnaireSubmissionDate, and other dates of specific project activity. These project-related dates
are calendar dates that are relative to the server time zone. They differ from database timestamps such as
timeUpdated and statusTimeUpdated, which include both date and time components and are based on
Greenwich Mean Time (GMT).

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 35
Use of the Supplier Data API with Pagination questionnaires
Endpoint
The Supplier Data API with Pagination questionnaires endpoints use the GET and PATCH methods to send JSON
requests to your site. The GET request retrieves data about submitted modular questionnaires, and the PATCH
request updates expiration dates and due dates of modular questionnaires for a supplier.

The GET URL includes query and filter parameters, and the request header specifies authentication.

Method Endpoint Pagination limit per page Description

GET {{runtime_URL}}/ 5 Gets all modular questionnaire


supplierdatapaginati data for the specified supplier.
on/v4/prod/vendors/
{vendorId}/
workspaces/
questionnaires

GET {{runtime_URL}}/ 5 Gets all modular questionnaire


supplierdatapaginati data in the specified project
on/v4/prod/vendors/ (workspace) for the specified

{vendorId}/ supplier.

workspaces/
{workspace id}/
questionnaires

GET {{runtime_URL}}/ N/A Gets data for the specified


supplierdatapaginati modular questionnaire for the
on/v4/prod/vendors/ specified supplier.

{vendorId}/
PATCH N/A Updates expiration dates or
workspaces/
due dates of modular ques-
questionnaires/
tionnaires for a supplier.
{questionnaireId}

 Note

• The GET method only returns data for modular questionnaires that have been submitted at least once
by a recipient. For questionnaires that have been created but not yet submitted, they return a 421
Questionnaire not found error.
• questionnaires endpoints only retrieve data related to modular supplier management questionnaires.
You can use workspaces [page 33] endpoints to retrieve the IDs of questionnaires in projects other than
modular questionnaires projects.

For example, the following URL retrieves all of the modular supplier management questionnaire data in a specific
workspace for a specific supplier. Make sure that you append the request parameter includeScore=true if you
want the response to include total score related data.

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/SM100015/workspaces/
WS9050423/questionnaires/?realm=mysitename&includeScore=true

Supplier Data API with Pagination


36 PUBLIC About the Supplier Data API with Pagination
For example, the following URL updates the expiration date or due date of the modular questionnaire (document
ID: Doc12345678) for a specific supplier (SM vendor ID: SM100015):

PATCH {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/SM100015/workspaces/
questionnaires/Doc12345678/?realm=mysitename

 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

See Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters.

 Note

The following example shows one sample result out of five for a GET to the questionnaires endpoint that
specifies only the SM vendor ID. Each result includes a HATEOAS (Hypermedia as the Engine of Application State)
link to the questionnaire.

{
"_embedded": {
"questionnaireResourceList": [
{
"questionnaireApi": {
"active": true,
"erpVendorId": null,
"sourceSystem": null,
"smVendorId": "S1830600",
"statusId": "WS7940391",
"nextStatusId": null,
"processId": null,
"filter": null,
"vendorName": null,
"requester": null,
"approver": null,
"startDate": null,
"endDate": null,
"reprocessDate": null,
"statusUpdatedDate": null,
"title": "MSC Certificate for Drugs and pharmacy in USA for XYZ
Company",
"reason": null,
"newStatusId": null,
"filterPaths": null,
"workspaceExtInfo": null,
"autoApproval": false,
"rootId": "68:QUE:58036",
"timeUpdated": 1516316869445,
"docId": "Doc7940394",
"docTitle": null,
"type": null,
"status": "NotResponded",
"updateStatus": null,
"hasBeenCompleted": false,
"shouldReuse": false,
"shouldShowOnProfile": true,
"shouldKeepOpen": true,
"isExpiry": false,
"hasCertificates": null,
"isInternal": false,
"isRequired": false,
"questionnaireUpdatedDate": null
},

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 37
"_links": {
"Questionnaire": {
"href": "https://svcmachss.ariba.com:80/SM/rest/smv1/
vendors/S1830600/workspaces/questionnaires/Doc7940394"
}
}
}
]
},
"_links": {
"self": {
"href": "https://svcmachss.ariba.com:80/SM/rest/smv1/vendors/S1830600/
workspaces/questionnaires"
}
},
...
...
...
...
"pageMetaData": {
"size": 5,
"totalElements": 20,
"totalPages": 4,
"number": 0
},
"pageToken": "10"
}

The following table describes parameters in the PATCH request body:

Name/Value Pair or Array Description

expiryDate Specifies the date after which the modular questionnaire ex-
pires.

You can update the expiration date only after the modular
questionnaire is approved and before the modular question-
naire expires.

The value format is MM/DD/YYYY.

dueDate Specifies the date by which the modular questionnaire must be


answered.

You can update the due date only before the modular question-
naire is approved.

The value format is MM/DD/YYYY.

comment This field is optional.

The following example shows a request body that updates expiration dates or due dates of modular questionnaires:

{
"expiryDate": "MM/DD/YYYY",
"dueDate": "MM/DD/YYYY",
"comment": "string"
}

The following example shows a sample result for a questionnaires/{questionnaireId} endpoint:

{
"status": "OK",
"message": "Due Date succussfully updated",

Supplier Data API with Pagination


38 PUBLIC About the Supplier Data API with Pagination
"debugMessage": "",
"statusCode": 200
}

Related Information

Updating Expiration Dates or Due Dates of Modular Questionnaires Using the Supplier Data API with Pagination
[page 67]

Use of the Supplier Data API with Pagination qna Endpoint

The Supplier Data API with Pagination qna endpoint uses the GET method to send a JSON request to your site. The
request retrieves question and answer data from supplier management questionnaires.

The GET URL includes query and filter parameters, and the request header specifies authentication.

Method Endpoint Pagination Limit Per Page Description

GET {{runtime_URL}}suppl 100 Gets all question and answer


ierdatapagination/v4 data in all questionnaires for
/prod/vendors/{SM the specified supplier.

vendor ID}/
workspaces/
questionnaires/qna

GET {{runtime_URL}}suppl 100 Gets all question and answer


ierdatapagination/v4 data in all questionnaires in
/prod/vendors//{SM the specified project (work-

vendor ID}/ space) for the specified sup-


plier.
workspaces/
{workspace id}/
questionnaires/qna

GET {{runtime_URL}}suppl 100 Gets question and answer


ierdatapagination/v4 data in the specified question-
/prod/vendors/{SM naire for the specified sup-

VendorID}/ plier.

workspaces/
questionnaires/
{questionnaire
id}/qna

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 39
Method Endpoint Pagination Limit Per Page Description

GET {{runtime_URL}}suppl 100 Gets question and answer


ierdatapagination/v4 data in the specified question-
/prod/vendors/{SM naire in the specified project

VendorID}/ (workspace) for the specified


supplier.
workspaces{workspace
id}/questionnaires/
{questionnaire
id}/qna

For example, the following URL retrieves all of the questions and answers in a specific workspace for a specific
supplier:

GET {{runtime_URL}}supplierdatapagination/v4/prod/vendors/SM100015/workspaces/
WS9050423/questionnaires/qna/?realm=mysitename

These endpoints retrieve question and answer data for all question answer types in active projects except for
Attachment or Certificate, which are not included in results. They also don't retrieve data for text questions with
sensitive data masking. You can use the separate certificates endpoint to retrieve Certificate question and
answer data. They don't retrieve any data for questions and answers in inactive projects, deleted questionnaires, or
questionnaires that are canceled as part of a process cancellation .

 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

See Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters.

The following example shows a sample result for a qna endpoint. The externalSystemCorrelationId is the KI
ID, a unique identifier for a piece of content in a questionnaire, which also shows in Excel exports of questionnaires
from the user interface. externalSystemCorrelationIds are only unique within an individual questionnaire;
it is possible for a supplier to have two questionnaires with identical externalSystemCorrelationIds. If the
question is a repeatable section, the externalSystemCorrelationId is for the repeatable section itself (not
the parent) and the alternative is the instance of the section, where 0 is the first instance and each additional
instance is numbered in increments of 1.

{
"_embedded": {
"questionAnswerResourceList": [
{
"questionAnswerApi": {
"active": true,
"itemId": "9978602",
"alternative": null,
"externalSystemCorrelationId": "KI_1579537",
"processId": null,
"questionnaireId": "Doc7999335",
"searchTerm": null,
"answer": "test",
"enumerationCodeDelimiters": null,
"dataType": "String",
"multiValued": false,
"smVendorId": "S1830600",

Supplier Data API with Pagination


40 PUBLIC About the Supplier Data API with Pagination
"workspaceType": null,
"workspaceId": "WS7999332",
"type": null,
"totalQuestions": "1",
"questionnaireLabel": "Subcontractor specific content",
"questionLabel": "Please provide all the subcontractor details
in the attached file",
"answerType": "ShortText",
"rootId": "68:QUESTANS:82020",
"timeUpdated": 1516903604910
}
}
]
}

Related Information

Supplier Data API with Pagination Header Parameters [page 6]


Update of a Questionnaire Using the Supplier Data API with Pagination [page 68]

Use of the Supplier Data API with Pagination answers Endpoint

The Supplier Data API with Pagination answers endpoint uses the POST method to send a JSON post to your
site to update specific answers in supplier management questionnaires. The post specifies authentication in the
header.

Method Endpoint Pagination Description

POST {{runtime_URL}}suppl N/A Posts answers to questions in


ierdatapagination/v4 the specified questionnaire in
/prod/vendors/{SM the specified project for the
VendorID}/ specified supplier.

workspaces/
{workspace id}/
questionnaires/
{questionnaire id}/
answers

See Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters.

 Note

In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.

You can use it to update any answers to any questionnaire in a registration, qualification, or modular supplier
management questionnaire project as follows:

• For external (supplier-facing) questionnaires, the post can update an answer in any questionnaire that the
supplier isn't currently acting on. This restriction always applies to external registration and qualification

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 41
questionnaires, and is the default behavior for external modular questionnaires. If the supplier is currently
acting on the questionnaire, updates to it return a statusCode of 403 (Forbidden). A supplier is considered
to be acting on a questionnaire under the following conditions:

Modular Supplier Manage-


Condition Registration Status Qualification Status ment Questionnaire Status

The supplier has been invited Invited Qualification Started Not Responded
to fill out the questionnaire
and sent an email notification
with a link to it.

The supplier has opened the In Registration In Qualification Pending Submission


questionnaire but hasn't yet
submitted it.

The supplier has reopened Pending Resubmit Pending Qualification Pending Resubmission
the questionnaire after an Resubmit
approver has requested addi-
tional information.

The self-service configuration parameter Enable API updates for external modular questionnaires with
any status controls this restriction for external modular questionnaires. An administrator in your site can
manage this parameter in Intelligent Configuration Manager. If this parameter is set to Yes, the post can
update answers to external modular questionnaires in any status, including prepopulating newly created
questionnaires with answers from other systems.

• For internal questionnaires, the post can update an answer in any questionnaire regardless of whether or not an
internal user is currently editing it.

The updates posted using the answers endpoint show in your site as updates by the aribasystem system user.
For any individual external registration or modular supplier management questionnaire, the answers included in
a single POST operation are added to the questionnaire as a single updated version of the questionnaire. Users
comparing versions of the questionnaire in your site see the updates made using this API as separate, numbered
versions in the user interface alongside updates made by the supplier or internal questionnaire editor.

By default, updates made using this API don't trigger any approval tasks associated with the questionnaire.
For modular questionnaires and registration questionnaires only, if the update request body includes a
triggerApprove attribute of true, the update starts any approval tasks associated with the current phase
of the questionnaire and proceeds through the approval flow configured in those tasks in the same way as a
manual questionnaire update. If the triggerApprove attribute is false, or if the questionnaire isn't a modular
questionnaire or a registration questionnaire, no approval tasks are triggered.

 Note

• The answers you post must be in the expected format. For example, the answer to a date question must
use the date-time format that the questionnaire expects (MM-DD-YYYY), the answer to a multiple choice
question must be one of the valid choices, the answer to a region question must be one of the valid region
codes in your site, and so on.
• The API doesn't validate questions for editability or visibility conditions, and doesn't prevent updates to
questions that are read-only or hidden based on current questionnaire conditions.

Supplier Data API with Pagination


42 PUBLIC About the Supplier Data API with Pagination
Related Information

Update of a Questionnaire Using the Supplier Data API with Pagination [page 68]
Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]

Use of the Supplier Data API with Pagination scores Endpoint

The Supplier Data API with Pagination scores endpoint uses the GET method to retrieve modular questionnaire
scores and score metadata.

This endpoint is applicable only to graded modular questionnaires. In modular questionnaires that include internal
forms, it's only applicable to the key questionnaire (the template survey document with a questionnaire format of
Questionnaire) in the project. If this endpoint is used to query a nongraded modular questionnaire, or an internal
form in a modular questionnaire project, the client application returns an error.

Method Endpoint Pagination Description

GET {{runtime_URL}}suppl N/A Retrieves the overall score


ierdatapagination/v4 and section-level scores of a
/prod/vendors/{SM single modular questionnaire
VendorID}/ in the specified project for
the specified supplier. Modu-
workspaces/
lar questionnaire information
{workspace id}/
such as weight, importance,
questionnaires/
target, band, and range are
{questionnaire id}/ also returned.
scores

 Note

The runtime URL varies based on your data center.

Replace {{runtime_url}} with the desired runtime URL from the Environment Details table on the SAP
Ariba developer portal discovery page for this API.

This sample code shows fields that are added to the response of the Supplier Data API with Pagination scores
endpoint:

 Sample Code

http://host/supplierdatapagination/v4/prod/vendors/S01234/workspaces/
questionnaires/Doc56789/scores?realm=s4All
{
"scores": {
"totalScore": 47.01,
"scoringBand": {
"scoringBandName": "FailedAC",
"scoringBandLabel": "FailedAC",
"scoringBandCategoryName": "AC",
"scoringBandColor": "Red",
"rangeFrom": 0.0,
"rangeTo": 60.0
},
"scoreItems": [

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 43
{
"itemId": "3001",
"itemLabel": null,
"parentItemId": null,
"childItems": null,
"itemCorrelationId": "KI_81407",
"parentItemCorrelationId": null,
"score": 47.01,
"target": 0.0,
"weight": 26.0,
"scoringBand": {
"scoringBandName": "FailedAC",
"scoringBandLabel": "FailedAC",
"scoringBandCategoryName": "AC",
"scoringBandColor": "Red",
"rangeFrom": 0.0,
"rangeTo": 60.0
}
},

Related Information

Retrieving the List of Active Modular Questionnaires for a Process Type Using the Supplier Data API with Pagination
[page 78]

Use of the Supplier Data API with Pagination certificates


Endpoint

The Supplier Data API with Pagination certificates endpoints use the GET method to send a JSON request to
your site. The request returns header-level data for certificate questions.

The GET URL includes query and filter parameters, and the request header specifies authentication. The request
returns header-level data for the specified certificate question, including the workspace ID for the project that
includes the question. You can then use this ID to retrieve the certificate attachment [page 70] as well.

Method Endpoint Pagination Limit Per Page Description

GET {{runtime_URL}}suppl 100 Gets certificate question data


ierdatapagination/v4 for the specified vendor.
/prod/vendors/{SM
vendor ID}/
certificates

For example, the following URL retrieves all of the certificate questions for a specific supplier:

GET {{runtime_URL}}supplierdatapagination/v4/prod/vendors/SM100015/certificates/?
realm=mysitename

Supplier Data API with Pagination


44 PUBLIC About the Supplier Data API with Pagination
 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

The following example shows one sample result for a GET to the certificates endpoint. Each result includes a
HATEOAS (Hypermedia as the Engine of Application State) link to the certificate question.

{
"_embedded": {
"certificateResourceList": [
{
"vendorCertificateApi": {
"active": true,
"timeUpdated": 1525074049632,
"id": null,
"externalSystemCorrelationId": null,
"certificationType": null,
"certificationTypeOther": null,
"type": "ISO9001",
"effectiveDate": 1519891200000,
"expirationReminderDate": null,
"expirationDate": 1525071600000,
"issueDate": null,
"certificationNumber": "0897987876",
"authorityInfo": "ISO 9001",
"certificationName": null,
"certificationLocation": "Palo Alto",
"yearValid": "2017",
"orgId": null,
"objId": "AANcAe2GVM2LP",
"contentId": null,
"fileName": null,
"fileSize": 0,
"fileDescription": null,
"fileAbsolutePath": null,
"attachmentName": null,
"description": null,
"attachment": null,
"certified": null,
"workspaceId": "WS8350590",
"smVendorId": "S1830600",
"status": "Expired",
"qualificationStatus": "InQualification",
"expirationNotificationWindow": 45,
"expirationFlag": true,
"rootId": "68:VCer:178903"
},
"_links": {
"QuestionAnswers": {
"href": "https://svcmachss.ariba.com:80/SM/rest/smv1/
vendors/S1830600/workspaces/WS8350590/documents/qna"
}
}
},
"_links": {
"self": {
"href": "https://svcmachss.ariba.com:80/SM/rest/smv1/vendors/S1830600/
certificates"
}
},

...
}

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 45
Related Information

Retrieval of Certificate Attachments from Supplier Management Questionnaires Using the Supplier Data API with
Pagination and the External Approval API for Sourcing and Supplier Management [page 70]

Use of the Supplier Data API with Pagination vendors Endpoint


The Supplier Data API with Pagination vendors endpoint uses the PATCH method to send qualification and
preferred category status update requests to your site in JSON format. You can use it to qualify, disqualify, and set
preferred category statuses for suppliers.

The JSON request specifies authentication in the header and status update information in the body.

Method Endpoint Description

PATCH {{runtime_url}}/ Updates qualification or preferred cate-


supplierdatapagination/v4/ gory status for the specified combina-
prod/vendors tion of commodities, regions, and depart-
ments for the specified suppliers.

 Note

In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.

The JSON requests that the vendors endpoint sends to your site include statusList arrays with statusType of
either Preferred or Qualification. statusList arrays include the following name/value pairs or arrays:

Name/Value Pair or Array Valid Values Required?

active TRUE or FALSE. Specifying FALSE de- Yes


activates the status record.

businessUnit One or more of the business unit or de- Yes, if departments are enabled in your
site.
partment IDs loaded in your site as mas-
ter data and used in supplier manage-
ment projects, separated by commas.

 Note
This code must match the depart-
ment master data loaded in your
SAP Ariba strategic sourcing solu-
tions site.

Supplier Data API with Pagination


46 PUBLIC About the Supplier Data API with Pagination
Name/Value Pair or Array Valid Values Required?

category One or more of the category IDs loaded in Yes


your site as master data and used in sup-
plier management projects, separated by
commas.

 Note
This code must match the commod-
ity master data loaded in your SAP
Ariba strategic sourcing solutions
site.

endDate The end date for the status in ISO format. No

erpVendorId The ERP vendor ID of the supplier. Yes

region One or more of the region codes loaded Yes

in your site as master data and used


in supplier management projects, sepa-
rated by commas.

 Note
This code must match the commod-
ity master data loaded in your SAP
Ariba strategic sourcing solutions
site.

requalificatoinEligibleDate The requalification eligibility date for a No


qualification status in ISO format.

sourceSystem The source system associated with the Yes


erpVendorId

startDate The start date for the status in ISO for- No


mat.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 47
Name/Value Pair or Array Valid Values Required?

status The status, which can be one of the fol- Yes


lowing values:

• Qualification statuses:
• NotQualified
• QualificationStarted
• InQualification
• PendingQualificationA
pproval
• PendingResubmit
• QualificationRestrict
ed
• QualificationRejected
• Disqualified
• Qualified
• Expired
• Cancelled
If you use display mappings to cus-
tomize what statuses are called in
your site, you must still use these
values to update qualification sta-
tuses.
• Preferred category statuses: num-
bers 1 through 5, where 1 repre-
sents the highest level of prefer-
ment.

statusQualifier A string that provides additional informa- No


tion about the status.

The following example shows a status request body that sets a qualification status for a supplier for all
commodities, regions, and departments:

{
"statusList":[
{
"active":true,
"erpVendorId":"1234567",
"sourceSystem":"SAP",
"status":"Qualified"
}
],
"statusType":"Qualification"
}

 Note

In sites that include SAP Ariba Supplier Lifecycle and Performance, you can set qualification statuses for
a supplier either automatically using qualification data import or the Supplier Data API with Pagination,
or manually using qualification and disqualification projects. SAP Ariba Supplier Lifecycle and Performance
is designed to maintain qualifications over the long term using projects, which have questionnaires and

Supplier Data API with Pagination


48 PUBLIC About the Supplier Data API with Pagination
workflows. Qualifications set using data import or the Supplier Data API with Pagination don't have associated
qualification or disqualification projects. Keep in mind the following behavior:

• If a qualification status was set using an approved qualification or disqualification project, you can't use
data import or the API to update it. If a supplier was qualified using a qualification project, you must
disqualify them using a disqualification project. If a supplier was disqualified using a disqualification
project, you must requalify them using a qualification project. If a supplier was qualified using a
qualification project with an expiration date and that qualification has expired, you must requalify them
using a qualification project.
• If a qualification status was set using data import or the API, you can use a qualification or disqualification
project to update it. In this case, a qualification manager can start a disqualification or requalification in the
supplier's profile. SAP Ariba Supplier Lifecycle and Performance then creates the appropriate qualification
or disqualification project based on the specified qualification commodities, regions, and departments.
Once that project is created, you can only manage that qualification's status using projects.
• The qualification end (expiration) and requalification eligibility dates in qualification data imports or API
requests are for information only and don't trigger updates to qualification status. For example, if you use
data import or the API to define qualified status with an end date of 1/31/2020, the qualification status
doesn't change to expired on 2/1/2020. Since there was no underlying qualification project to set the
status, you can't start a project-based requalification for a qualification that you defined using data import
or the API and that has since passed the expiration date. The qualification retains the original qualified
status unless you update it using another data import or API operation.
• Since commodities, regions, and departments are hierarchical, with higher and lower levels, when a
supplier is qualified or disqualified for a commodity, region, or department combination, they're also
automatically qualified or disqualified for the lower levels of those hierarchy branches. If a supplier is
disqualified at a higher level of the hierarchy, you can't qualify them at a lower level. For example, if the
supplier is disqualified for apparel in the United States of America, you can't qualify them for shirts in
Colorado. However, if a supplier is qualified at a higher level and the qualification isn't project-based, you
can use data import or the API to partially disqualify them at a lower level. For example, if the supplier is
qualified for apparel in the United States of America, you can disqualify them for shoes in Texas.

 Note

In sites that include SAP Ariba Supplier Lifecycle and Performance, you can set preferred category statuses for
a supplier either automatically using preferred supplier data import or the Supplier Data API with Pagination,
or manually using preferred supplier management projects. Preferred category statuses set using data import
or the API don't have associated preferred supplier management projects. Unlike with qualification statuses,
there's also no restriction on using data import or the API to update preferred status for a supplier that has an
existing status based on a preferred supplier management project.

Related Information

Supplier Data API with Pagination Endpoints and Their Usage [page 9]

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 49
Use of the Supplier Data API with Pagination headerFields
Endpoint
The Supplier Data API with Pagination headerFields endpoint uses the PATCH method to send a JSON request to
your site. The request sets region IDs and status decisions for process projects.

The PATCH URL includes query and filter parameters, and the request header specifies authentication.

Method Endpoint Description

PATCH {{runtime_url}}/ Updates the regions or status decisions


supplierdatapagination/v4/ of a process.
prod/{vendorID}/workspaces/
{workspaceId}/headerFields

This endpoint is only applicable if your site uses the process project feature (SM-16798).

 Note

In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.

 Note

Processes that have projects include modular questionnaires based on the combination of the process's
commodities, regions, and departments. Updating a project-based process's regions using this API does not
change the questionnaires included in the process project and can result in a process project that is missing
important questionnaires or that includes questionnaires that are not applicable.

A JSON request that the headerFields endpoint sends to your site can either update region IDs or update status
decisions, but the same request can't do both. Requests can include the following name/value pairs or arrays:

Name/Value Pair or Array Valid Values Required?

regionIds One or more of the region codes loaded Yes, to update the region. Otherwise, no.
in your site as master data and used
in supplier management projects, sepa- If a value is specified for
rated by commas. regionIds, decisionStatus,
decisionComment, and
decisionMadeBy are ignored.

decisionStatus Values for this field are: To set a status decision for the process,
all 3 are required. Otherwise, no.
• Approved
• ConditionallyApproved
• Denied

For details, refer to Project states (Proj-


ectStatus) and custom supplier process
management statuses.

decisionComment A comment to explain the decision, with


a maximum length of 255 characters.

Supplier Data API with Pagination


50 PUBLIC About the Supplier Data API with Pagination
Name/Value Pair or Array Valid Values Required?

decisionMadeBy The user name of the decision maker.


The user you specify must be a member
of the Decision Maker group in the
process project template.

The following example shows a request body that updates a region for a process:

{
"regionIds": ["NAMER","LATAM"],
}

The following example shows a request body that sets a status decision for a process:

{
"regionIds": [],
"decisionStatus": "Approved",
"decisionMadeBy": "ebrown",
"decisionComment": "All questionnaires are approved with high scores."
}

You can use the headerFields endpoint of the Supplier Data API with Pagination in combination with the External
Approval API for Sourcing and Supplier Management to both approve a process's modular questionnaires and set
its final status externally.

Related Information

Making or Updating Decisions for Process Projects Using the Supplier Data API with Pagination and the External
Approval API for Sourcing and Supplier Management [page 72]

Use of the Supplier Data API with Pagination processes


Endpoint

The Supplier Data API with Pagination processes endpoints use the GET method to send a JSON request to your
site. The request retrieves header field information of all processes or header field information and decision history
of a specific process for a supplier.

Method Endpoint Description

GET {{runtime_URL}}/ Retrieves header field information about


supplierdatapagination/v4/ all processes of a supplier.
prod/vendors/{vendorId}/
processes The pagination limit per page is 100.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 51
Method Endpoint Description

GET {{runtime_URL}}/ Retrieves header field information and


supplierdatapagination/v4/ decision history of a specific process.
prod/vendors/{vendorId}/
processes/{wid}

For example, the following URL retrieves basic information about all processes of the supplier with SM vendor ID
S10028001:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes/?
realm=mysitename

 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

The following example shows a sample result for a processes endpoint:

{
"vendorInfo": {
"smVendorId": "S10028001",
"erpVendorId": "VDR41050",
"anId": "null",
"acmId": "ACM_64"
},
"processes": [
{
"wid": "WS18603",
"title": "SM-ProcessFlow Intake Test",
"statusUniqueName": “Qualified”
"status": "AIn Progress",
"sourceSystem": "null",
"processId": "PI16039",
"startDate": "1642767514525",
"endDate": "null",
"projectOwner": "cnoll",
"decisionMadeOn": 1683050601128,
"matrixCriteria": {
"categoryList": [
"71",
"51"
],
"regionList": [
"USA",
"INDIA"
],
"departmentList": [
"408",
"1000"
],
"materialList": [
0
]
}
}
],
"count": 1
}

Supplier Data API with Pagination


52 PUBLIC About the Supplier Data API with Pagination
Related Information

Retrieving Process Header Field Information and Process Decision History Using the Supplier Data API with
Pagination [page 74]
Retrieving Process Intake Form Details or Questionnaire Details in a Specific Version Using the Supplier Data API
with Pagination [page 75]
Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]

Use of the Supplier Data API with Pagination processTypes


Endpoint
The Supplier Data API with Pagination processTypes endpoint uses the GET method to send a JSON request to
your site. The request retrieves the list of all processes.

Method Endpoint Description

GET {{runtime_URL}}/ Retrieves all the process types in your


supplierdatapagination/v4/ site. These are the process types defined
prod/processes/processTypes in your site. For more information, see
Process Type Data Import.

For example, the following URL retrieves all the process types in myRealm:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processTypes?
realm=myRealm

 Note

The runtime URL varies based on your data center.

Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.

Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.

The following example shows a sample response for a processTypes endpoint:

{
"status": "OK",
"statusCode": 200,
"errorMessages": [],
"warnings": [],
"debugInfo": {
"requestProcessingTime": null,
"storeProcessingTime": null
},
"moreDataAvailable": false,
"nextToken": null,
"errorsByVendor": {},
"warningMessages": null,

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 53
"processTypes": [
{
"uniqueName": "AC",
"name": "Data Security",
"aribaLifeCycle": "Qualification"
},
}

Related Information

Retrieving Process Header Field Information and Process Decision History Using the Supplier Data API with
Pagination [page 74]
Retrieving Process Intake Form Details or Questionnaire Details in a Specific Version Using the Supplier Data API
with Pagination [page 75]
Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]

Use of the Supplier Data API with Pagination templates


Endpoint
The Supplier Data API with Pagination templates endpoint uses the GET method to send a JSON request to your
site. The request retrieves the intake form for the process type.

Method Endpoint Description

GET {{runtime_URL}}/ Retrieves the intake form for the process


supplierdatapagination/v4/ type.
prod/processes/
{processType}/templates

For example, the following URL retrieves the intake form for the Process Type in myRealm:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
templates?realm=myRealm

 Note

The runtime URL varies based on your data center.

Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.

Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.

The following example shows a sample response for the templates endpoint:

{
"status": "OK",
"statusCode": 200,

Supplier Data API with Pagination


54 PUBLIC About the Supplier Data API with Pagination
"errorMessages": [],
"warnings": [],
"debugInfo": {
"requestProcessingTime": null,
"storeProcessingTime": null
},
"moreDataAvailable": false,
"nextToken": null,
"errorsByVendor": {},
"warningMessages": null,
"questionAnswers": [
{
"active": true,
"timeUpdated": null,
"timeCreated": null,
"purgeState": null,
"lastTimePurgeStateUpdated": null,
"parentUniqueName": null,
"uniqueName": null,
"itemId": "3942212",
"alternative": null,
"externalSystemCorrelationId": "KI_112257",
"processId": "PI875161",
"documentId": "Doc16095926",
"templateDocumentId": null,
"searchTerm": null,
"answer": null,
"enumerationCodeDelimiters": null,
"dataType": "String",
"multiValued": true,
"smVendorId": null,
"workspaceType": null,
"workspaceId": "WS16095921",
"type": null,
"totalQuestions": "11",
"questionnaireLabel": "Audit Process Form",
"questionLabel": "Enter Category",
"answerType": "CommodityType",
"rootId": null
},
{
"active": true,
"timeUpdated": null,
"timeCreated": null,
"purgeState": null,
"lastTimePurgeStateUpdated": null,
"parentUniqueName": null,
"uniqueName": null,
"itemId": "3942213",
"alternative": null,
"externalSystemCorrelationId": "KI_112258",
"processId": "PI875161",
"documentId": "Doc16095926",
"templateDocumentId": null,
"searchTerm": null,
"answer": null,
"enumerationCodeDelimiters": null,
"dataType": "String",
"multiValued": true,
"smVendorId": null,
"workspaceType": null,
"workspaceId": "WS16095921",
"type": null,
"totalQuestions": "11",
"questionnaireLabel": "Audit Process Form",
"questionLabel": "Enter Region",
"answerType": "RegionType",
"rootId": null

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 55
},
{
"active": true,
"timeUpdated": null,
"timeCreated": null,
"purgeState": null,
"lastTimePurgeStateUpdated": null,
"parentUniqueName": null,
"uniqueName": null,
"itemId": "3942214",
"alternative": null,
"externalSystemCorrelationId": "KI_10960765",
"processId": "PI875161",
"documentId": "Doc16095926",
"templateDocumentId": null,
"searchTerm": null,
"answer": null,
"enumerationCodeDelimiters": null,
"dataType": "String",
"multiValued": true,
"smVendorId": null,
"workspaceType": null,
"workspaceId": "WS16095921",
"type": null,
"totalQuestions": "11",
"questionnaireLabel": "Audit Process Form",
"questionLabel": "Enter Department",
"answerType": "DepartmentType",
"rootId": null
}
],
"templateId": "WS16095921",
"templateProcessId": "PI875154"
}

Related Information

Retrieving Intake Form Using the Supplier Data API with Pagination [page 78]

Use of the Supplier Data API with Pagination


modularQuestionnairesRequests Endpoint

The Supplier Data API with Pagination modularQuestionnairesRequests endpoint uses the POST method
to send a JSON request to your site. The request body contains the matrix fields categoryId, regionId,

Supplier Data API with Pagination


56 PUBLIC About the Supplier Data API with Pagination
departmentId, and templateId. All the active modular questionnaire templates, including mandatory
templates, for this combination are returned.

Method Endpoint Description

POST {{runtime_URL}}/ Returns the list of all modular question-


supplierdatapagination/v4/ naire templates for the process type
prod/processes/
{processType}/
modularQuestionnairesReques
ts

For example, the following URL retrieves all the active modular questionnaire templates, including mandatory
templates, for the combination of Category, Region, Department) and Process Type shown further below in the
request body:

POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
modularQuestionnairesRequests?realm=myRealm

 Note

The runtime URL varies based on your data center.

Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.

Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.

A sample request body:

{
"categoryIds": [
"30"
],
"regionIds": [
"EMEA"
],
"departmentIds": [
"300"
],
"materialIds": [],
],
"templateId": "WS16095921"
}

The following example shows a sample response for a modularQuestionnairesRequests endpoint:

{
"status": "OK",
"statusCode": 200,
"errorMessages": [],
"warnings": [],
"debugInfo": {
"requestProcessingTime": null,
"storeProcessingTime": null
},
"moreDataAvailable": false,
"nextToken": null,

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 57
"errorsByVendor": {},
"warningMessages": null,
"questionnaires": [
{
"title": "Review By Purchasing Manager",
"internalId": "WS16225252",
"questionnaireType": "Audit Process",
"requestUpdate": false,
"docId": "Doc16225259",
"template": true,
"isInternal": false,
"isRequired": false,
"isTemplate": true
},

Related Information

Retrieving the List of Active Modular Questionnaires for a Process Type Using the Supplier Data API with Pagination
[page 78]

Use of the Supplier Data API with Pagination processCreateRequests


Endpoint

The Supplier Data API with Pagination processCreateRequests endpoint uses the POST method to send a JSON
request to your site. The request creates a process for a supplier with a given process type.

Method Endpoint Description

POST {{runtime_URL}}/ Creates the process for a supplier with a


supplierdatapagination/v4/ given process type.
prod/processes/
processCreateRequests

 Note
If you wish to request an update, set
the requestUpdate attribute to
'true' in the request body. If you re-
quest an update for a modular ques-
tionnaire, you can choose to remind
the current recipient or invite a dif-
ferent recipient.

For example, the following URL creates a process for a supplier in myRealm:

POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processCreateRequests?
realm=myRealm

Supplier Data API with Pagination


58 PUBLIC About the Supplier Data API with Pagination
 Note

The runtime URL varies based on your data center.

Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.

Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.

If a process with the same matrix combination (Category, Region, and Department) does not exist, a new process
is created.

• If a process for the same matrix combination already exists, then:


• the system returns an error if a decision has not been taken on that process
• the existing process is renewed if a decision has already been taken on that process

The process initiator is also the process owner, and this value is passed in the request body as shown below in the
sample request body.

The JSON request that the processCreateRequests endpoint of the Supplier Data API with Pagination sends to
your site uses the following values to specify the data you want to return in output:

• aribaLifeCycle: Qualification or Miscellaneous


• templateId
• templateProcessId
• workspaceId: Workspace ID of the project
• entityType
• expiryDetail
• smVendorId
• recipient: the user name and email address of the questionnaire recipient. If you don't specify recipient,
the default recipient (primary supplier contact for external questionnaires, process initiator for internal
questionnaires) is used.
• matrix: Commodity, Region, Department
• currentProcessId
• questionnaireType
• externalSystemCorrelationId: unique identifier for a piece of content within an individual questionnaire.
• processCreationMessage: message to include in notifications sent to the supplier contact and process
project team members.

A sample request body:

{
"aribaLifeCycle": "Qualification",
"templateId": "WS16095921",
"templateProcessId": "PI875154",
"workspaceId": "",
"entityType": 0,
"processType": "Data Security",
"expiryDetail": {
"expiryOffset": null,
"expiryFrequency": "Days",
"expiryReminderOffset": null,

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 59
"expiryReminderFrequency": "days"
},
"templateIds": null,
"smProcessVendors": [
{
"smVendorId": "S10111701",
"currentProcessId": "SMP-8bab520f-af8f-4577-ad7b-5625933bbad7",
"isRenew": true,
"recipient": {
}
}
],
"matrix": {
"categoryIds": [
"30"
],
"regionIds": [
"SOAM"
],
"departmentIds": [
"100"
],
"materialIds": []
},
"questionnaires": [
{
"title": "Internal Audit for US",
"internalId": "WS15013638",
"questionnaireType": "Audit Process",
"requestUpdate": false,
"isInternal": true,
"isRequired": false,
"sendToUser": true,
"recipient": {
"s4UniqueName": "bobsmith",
"email": "[email protected]",
"passwordAdapter": "PasswordAdapter1"
}
},
{
"title": "Internal Audit for Texas",
"internalId": "WS3486356",
"questionnaireType": "Audit Process",
"requestUpdate": false,
"isInternal": true,
"isRequired": false,
"sendToUser": true,
"recipient": {
"s4UniqueName": "alicejones",
"email": "[email protected]",
"passwordAdapter": "PasswordAdapter1"
}
}
],
"answers": [
{
"itemId": "5009971",
"externalSystemCorrelationId": "KI_232650",
"multiValueAnswer": [
"30"
]
},
{
"itemId": "5009972",
"externalSystemCorrelationId": "KI_232651",
"multiValueAnswer": [
"SOAM"
]

Supplier Data API with Pagination


60 PUBLIC About the Supplier Data API with Pagination
},
{
"itemId": "5009973",
"externalSystemCorrelationId": "KI_232652",
"multiValueAnswer": [
"100"
]
}
],
"processCreationMessage": "string",
"initiatorName": "jarvis",
"initiatorEmail": "string",
"initiatorPassword": "PasswordAdapter1"
}

The following example shows a sample response for a processCreateRequests endpoint:

{
"status": "OK",
"statusCode": 200,
"errorMessages": [],
"warnings": [],
"debugInfo": {
"requestProcessingTime": null,
"storeProcessingTime": null
},
"moreDataAvailable": false,
"nextToken": null,
"errorsByVendor": {},
"warningMessages": null,
"duplicateSuppliers": []
}

Related Information

Creating a Process for a Supplier Using the Supplier Data API with Pagination [page 79]
Use of the Supplier Data API with Pagination jobs Endpoint [page 65]

Use of the Supplier Data API with Pagination


processCancellationRequest Endpoint

The Supplier Data API with Pagination uses the PATCH method to send a JSON request to your site. The request
cancels a specific process that is in In Progress status for a specific supplier from an external system.

Method Endpoint Description

PATCH {{runtime_URL}}/ Cancels a specific process that is in in-


supplierdatapagination/v4/ progress status for a specific supplier.
prod/vendors/{vendorId}/
processes/{wid}?
realm=myRealm}

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 61
For example, the following URL cancels a specific process, {wId} for a specific supplier, {vendorId} in myRealm:

PATCH{{runtime_URL}}/supplierdatapagination/v4/prod/vendors/{vendorId}/processes/
{wid}?realm=myRealm

 Note

The runtime URL varies based on your data center.

Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.

Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.

The following example shows a sample request:

{
"processCancellationRequest": {
"internalComment": "cancel this process",
"externalComment": "cancel this process",
"initiatorUniqueName": "testuser",
"initiatorPasswordAdapter": "PasswordAdapter",
"deleted": true
}
}

The following example shows a sample response:

{
"status": "OK",
"statusCode": 202,
"errorMessages": [
{
"errorType": "",
"message": "",
"cause": "",
"resolution": "",
"errorCode": 0
}
]
}

 Note

The processCancellationRequest endpoint only initiates the cancellation of the process. If you wish
to retrieve header field information, decision history, and other information about the process, use the
existing Supplier Data API with Pagination processes endpoint. This endpoint uses the GET method
to send a JSON request to your site:{{runtime_URL}}/supplierdatapagination/v4/prod/vendors/
{vendorId}/processes/{wid}.

Related Information

Canceling a Qualification or Other Process in the Supplier's Profile

Supplier Data API with Pagination


62 PUBLIC About the Supplier Data API with Pagination
Use of the Supplier Data API with Pagination versions
Endpoint

The Supplier Data API with Pagination versions endpoint uses the GET method to send a JSON request to your
site. The request retrieves process intake form details or questionnaire details in the latest or a specific version.

Method Endpoint Description

GET {{runtime_URL}}/ Retrieves process intake form details or


supplierdatapagination/v4/ questionnaire details in the latest ver-
prod/vendors/{vendorId}/ sion.
workspaces/questionnaires/
{questionnaireId}/qna/
versions

GET {{runtime_URL}}/ Retrieves process intake form details or


supplierdatapagination/v4/ questionnaire details in a specific ver-
prod/vendors/{vendorId}/ sion.
workspaces/questionnaires/
{questionnaireId}/qna/
versions/{versionId}

For example, the following URL retrieves questionnaire (with document ID Doc12345678) details in the latest
version:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions

 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

The following example shows a sample result for a versions endpoint:

{
"versions": [
{
"versionId": 3,
"questionAnswer": [
{
"active": true,
"timeUpdated": 1645159731993,
"purgeState": null,
"lastTimePurgeStateUpdated": null,
"itemId": "7325",
"alternative": null,
"externalSystemCorrelationId": "KI_83610",
"processId": "PI22682",
"documentId": null,
"templateDocumentId": "Doc24008",
"searchTerm": null,
"answer": "All",
"enumerationCodeDelimiters": null,
"dataType": "String",
"multiValued": true,
"smVendorId": "S10040001",
"workspaceType": null,

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 63
"workspaceId": "WS24056",
"type": null,
"totalQuestions": "7",
"questionnaireLabel": "Intake form",
"questionLabel": "Category",
"answerType": "CommodityType",
"rootId": null,
"attachmentData": {
"fileName": "SMProcessFlowType (2).csv",
"mimeType": "text/csv",
"fileContents": null,
"comment": null,
"downloadUrl": "http://localhost:8150/Sourcing/
Main/ad/downloadSMAttachment/ariba.sourcing.dashboard.SMMainActionsController?
realm=s4All&docId=Doc21273&parentBid=AAAKAQXEYgBd&attachmentBid=AAAKANjEYgBr",
"fileSize": 176
},
"commentData": {
"attachmentData": {
"id": "string",
"fileName": "string",
"mimeType": "string",
"fileContents": "string",
"comment": "string",
"downloadUrl": "",
"fileSize": 0
},
"certificateData": {
"attachmentData": {
"id": "string",
"fileName": "string",
"mimeType": "string",
"fileContents": "string",
"comment": "string",
"downloadUrl": "",
"fileSize": 0
},
]
}
],
"vendorInfo": {
"smVendorId": "S10040001",
"erpVendorId": "VDR160209",
"acmId": "ACM_63"
},
"questionnaireVersion": {
"id": 0,
"timeUpdated": "string",
"timeCreated": "string",
"timeSubmmited": "string",
"submittedFor": "string",
"submittedBy": "string",
"submittedForFullName": "string",
}

Related Information

Retrieving Process Intake Form Details or Questionnaire Details in a Specific Version Using the Supplier Data API
with Pagination [page 75]
Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]

Supplier Data API with Pagination


64 PUBLIC About the Supplier Data API with Pagination
Use of the Supplier Data API with Pagination jobs Endpoint
The Supplier Data API with Pagination jobs endpoint uses the GET method to send a JSON request to your site.
The request fetches the process creation status for one or more suppliers.

Method Endpoint Description

GET {{runtime_URL}}/ Fetches process creation status for one or more sup-
supplierdatapagination/v4/prod/ plier using the job ID.
jobs/{jobId}
 Note
jobId is a value of type 'string' returned
in the response when you execute the follow-
ing endpoint to create a process for one or
more suppliers at a time:{{runtime_URL}}/
supplierdatapagination/v4/prod/
processes/processCreateRequests

For example, the following URL fetches process details for one or more suppliers in myRealm:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/jobs/{jobId}?realm=myRealm

 Note

The runtime URL varies based on your data center.

Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.

Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.

The following example shows a sample response for the jobs endpoint:

{
"jobInfo": {
"jobId": "abcd1234",
"status": "success",
"processes": [
{
"vendorInfo": {
"smVendorId": "S1234",
"erpVendorId": "VDR1234",
"anId": "acn1234",
"acmId": "string"
},
"processId": "WS1234",
"status": "In Progress",
"isRenew": true,
"processType": "Audit Process"
}
],
"matrixCriteria": {
"categoryList": [
"71",

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 65
"51"
],
"regionList": [
"USA",
"INDIA"
],
"departmentList": [
"408",
"1000"
],
"materialList": [
0
]
},
"createdBy": "testuser",
"timeUpdated": "1664772985",
"timeCreated": "1664772985"
}
}

Related Information

Use of the Supplier Data API with Pagination processCreateRequests Endpoint [page 58]

Workflows for the Supplier Data API with Pagination

Updating Expiration Dates or Due Dates of Modular Questionnaires Using the Supplier Data API with Pagination
[page 67]

Update of a Questionnaire Using the Supplier Data API with Pagination [page 68]

Retrieval of Certificate Attachments from Supplier Management Questionnaires Using the Supplier Data API
with Pagination and the External Approval API for Sourcing and Supplier Management [page 70]

Development of a Client Application for External Approval of Modular Questionnaires in Process Projects [page
71]

Making or Updating Decisions for Process Projects Using the Supplier Data API with Pagination and the
External Approval API for Sourcing and Supplier Management [page 72]

Retrieving Process Header Field Information and Process Decision History Using the Supplier Data API with
Pagination [page 74]

Retrieving Process Intake Form Details or Questionnaire Details in a Specific Version Using the Supplier Data
API with Pagination [page 75]

Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]

Retrieving Intake Form Using the Supplier Data API with Pagination [page 78]

Retrieving the List of Active Modular Questionnaires for a Process Type Using the Supplier Data API with
Pagination [page 78]

Creating a Process for a Supplier Using the Supplier Data API with Pagination [page 79]

Supplier Data API with Pagination


66 PUBLIC About the Supplier Data API with Pagination
Retrieving Attachments from Process Intake Forms or Modular Questionnaires Using the Supplier Data API
with Pagination [page 80]

Updating Expiration Dates or Due Dates of Modular


Questionnaires Using the Supplier Data API with Pagination
This topic explains how to use the Supplier Data API with Pagination to update expiration dates or due dates of
modular questionnaires for a supplier.

Prerequisites

• To update the expiration date of a modular questionnaire, the modular questionnaire must be in the Approved
status.
• To update the due date of a modular questionnaire, the modular questionnaire must be in the in progress
status.

Context

Updating the expiration date doesn't change the existing expiration schedule. The system recalculates the new
expiration date based on the expiration schedule on the next approval of the modular questionnaire.

You can prolong or shorten the due date of a modular questionnaire.

 Note

In the sample URLs in this topic, replace {{runtime_URL}} with the desired runtime URL from the
Environment details table on the SAP Ariba developer portal discovery page for this API.

Procedure

1. Use the questionnaire endpoint to request document IDs of modular questionnaires. For example, to return
details of all modular questionnaires for the supplier with SM vendor ID S10028001:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaire

2. Use the questionnaires/{questionnaireId} endpoint to post an update to the expiration date or due
date of a modular questionnaire. For example, to update the expiration date or due date of the modular
questionnaire with document ID Doc12345678:

PATCH {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/
workspaces/questionnaires/Doc12345678

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 67
Results

If the expiration date is updated, the expiration date is displayed in the supplier 360º profile, and the modular
questionnaire expires on a new date which is calculated based on the existing expiration schedule on the next
approval of the modular questionnaire.

If the due date is updated, the due date is displayed in the supplier interface, and the supplier must answer the
modular questionnaire by the end of the new date. Otherwise, the modular questionnaire is closed.

Related Information

Use of the Supplier Data API with Pagination questionnaires Endpoint [page 36]

Update of a Questionnaire Using the Supplier Data API with


Pagination
This topic explains how to post updates to answers in supplier registration, qualification, and modular supplier
management questionnaires, including attachments and repeatable sections, using the answers endpoint.

 Note

In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.

The externalSystemCorrelationId is a unique identifier for a piece of content within an individual


questionnaire. It is possible for two different questions in two different questionnaires for the same supplier to have
the same externalSystemCorrelationId. Therefore, you pass the survey questionnaireId in the post URL
to specify the questionnaire, then specify the externalSystemCorrelationId of the question in the answers
block in the post body.

1. Use the vendors endpoint to request the SM Vendor IDs for your suppliers. For example, to return data for
all suppliers:

GET {{runtime_URL}}supplierdatapagination/v4/prod/vendorDataRequests/?
realm={{realmName}}

2. Use the qna endpoint to request questionnaire details for a supplier, including the project workspaceId,
questionnaire questionnaireId, and question externalSystemCorrelationId for each question. For
example, to get all questions and answers in all questionnaires in all projects for a supplier::

GET {{runtime_URL}}supplierdatapagination/v4/prod/vendors/S11284494/workspaces/
questionnaires/qna

3. Use the answers endpoint to post an update to one or more questions, passing the questionnaire
questionnaireId in the post URL as follows:

POST {{runtime_URL}}supplierdatapagination/v4/prod/vendors/S1128494/workspaces/
questionnaires/Doc12345678/answers/?realm={{realmName}}

Supplier Data API with Pagination


68 PUBLIC About the Supplier Data API with Pagination
The request body dictates what updates to make and whether the updates triggers approval tasks:
• To update the answer to a question and to trigger the associated approval tasks, pass its
externalSystemCorrelationId, new answer, and include triggerApprove: true in the answers
block. For example:

{"answers": [
{
"externalSystemCorrelationId": "KI_1694841",
"Answer": "New answer"
"triggerApprove": true
}
]},
]}

• To add or update an attachment, pass its 64-bit encoded content in the fileContents field in the
answers block:

{"answers": [ {
"externalSystemCorrelationId": "KI_1694841",
"attachmentAnswer":
{
"fileName":"Attachment.csv",
"mimeType":"application.csv",
"fileSize":221725,
"fileContents":"64 bit encoded value"
}
} ] }

• To add or update an instance of a repeatable section, pass the number of the section instance in the
alternative field:

{"answers": [
{
"externalSystemCorrelationId":"KI_1694841",
"alternative":"4",
"answer":"New answer"
},
]}

Use the alternative number of an existing section to update its answer. To add a new instance of the
repeatable section, increment the highest alternative in the section by 1. For example, if an existing
repeatable section has 3 instances, the alternative of the third instance is 2. Therefore, to add a new
instance, specify an alternative of 3 in the answers block.
• For modular questionnaires and registration questionnaires only, to trigger any approval tasks in the
current phase of the questionnaire so that approvers must approve the update, pass a triggerApprove
value of true after the answers block:

{
"answers": [
{
"externalSystemCorrelationId": "KI_9951113",
"answer": "New answer"
}
],
"triggerApprove" : true
}

If triggerApprove is false or isn't present in the request, or if the questionnaire is of a type other
than modular questionnaire or registration questionnaire, the request automatically updates the specified
answers without starting any approval tasks.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 69
Related Information

Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Use of the Supplier Data API with Pagination qna Endpoint [page 39]
Use of the Supplier Data API with Pagination answers Endpoint [page 41]

Retrieval of Certificate Attachments from Supplier


Management Questionnaires Using the Supplier Data API
with Pagination and the External Approval API for Sourcing
and Supplier Management

This topic explains how to retrieve certificate attachments from supplier management questionnaires.

Prerequisites:

Before starting this task, you must:

• Obtain separate application keys for both the Supplier data API with Pagination and External Approval API for
Sourcing and Supplier Management.
• Complete prerequisites for use of these two APIs.

 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

1. Use the vendorDataRequests endpoint to retrieve the SM vendor IDs for suppliers. For example:

GET {{runtime_URL}supplierdatapagination/v4/prod/vendorDataRequests/?
realm=mysitename

might retrieve a list of SM Vendor ID values that includes SM100015.


2. Use the Supplier Data API with Pagination /vendors/{vendor id}/certificates endpoint to retrieve
header-level certificate data for all of the specified supplier's certificates, including their associated workspace
(project) IDs. For example:

GET {{runtime_URL}supplierdatapagination/v4/prod/vendors/SM100015/certificates/?
realm=mysitename

might retrieve workspaceId WS9050423.


3. Use the Supplier Data API with Pagination /vendors/{{vendor id}/workspaces/{workspace id}/qna
endpoint to retrieve the supplier management questionnaire associated with the certificate-related workspace
for the supplier. For example:

GET {{runtime_URL}}supplierdatapagination/v4/prod/vendors/SM100015/workspaces/
WS9050423/questionnaires/qna/?realm=mysitename

might retrieve survey id Doc7940301.

Supplier Data API with Pagination


70 PUBLIC About the Supplier Data API with Pagination
4. Use the External Approval API for Sourcing and Supplier Management /{entity_type}/{entity_id}
endpoint to retrieve the details for the supplier management questionnaire associated with the certificate,
including any attachment IDs. For example:

GET {{runtime_URL}}/entity.svc/RFXDcoument/Doc7940301?realm=mysitename

might retrieve attachment id Doc7940301,AANcAe2G2!4WA,AANcAH42!4Wg.


5. Use the External Approval API for Sourcing and Supplier Management {entity_type}/{entity_id}/
attachments/{attachment_id} endpoint to download the certificate attachment. For example:

GET {{runtime_URL}}/entity.svc/RFXDcoument/Doc7940301/attachments/
Doc7940301,AANcAe2G2!4WA,AANcAH42!4Wg&realm=mysitename

Related Information

Use of the Supplier Data API with Pagination qna Endpoint [page 39]
Use of the Supplier Data API with Pagination certificates Endpoint [page 44]
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]

Development of a Client Application for External Approval


of Modular Questionnaires in Process Projects

This topic explains how to develop a client application that uses the Supplier Data API with Pagination and
the External Approval API for Sourcing and Supplier Management to enable external approval of modular
questionnaires in process projects.

 Note

In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.

The following workflow describes API-based external approval of modular questionnaires in process projects.

1. A template creator in your organization enables API-based external approval in the process project template.
This enablement includes creating a placeholder approval task on the process project intake form and
specifying the external tasks for modular questionnaires that will use API-based external approval as
predecessors.
2. In the process project framework, completion of approvals for predecessors triggers API-based approval for
those modular questionnaires for which it is enabled.
3. The client application uses the GET vendors/{vendorId}/processes/{wid} endpoint to get the process
project workspace ID.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 71
4. The client application uses the GET /Workspaces/ endpoint and the process project workspace ID to retrieve
the IDs (externalWorkspaceIDs) of the linked modular questionnaires. For example:

GET {{runtime_URL}}/sourcingapproval/v1/prod/Workspace/WS1312882411?
realm=mysitename

5. The client application uses these IDs to retrieve questionnaire details, attachments, completed approvals, and
other information for the linked modular questionnaires. The output of the GET /Workspaces/ endpoint for
the linked modular questionnaires includes the document ID of the intake form in the associated process
project. For example:

"entityType": "RFXDocument",
"projectItemType": "Document",
"isProcessIntakeForm": true,
"format": "Questionnaire",
"title": "Strategic Qualification Intake Form",
"version": "v1",
"aribaType": "ariba.sourcing.rfx.RFXDocument",
"workspaceTitle": "Strategic Qualification Process",
"id": "Doc13138903",

6. Approvers complete approvals in the external system.


7. The client application returns approval results and comments to SAP Ariba.
8. Once approvals for all required modular questionnaires in a process project are complete, either a decision
maker can manually make a final status decision for the process or automatic status assignment rules can
assign a final status.

Making or Updating Decisions for Process Projects Using


the Supplier Data API with Pagination and the External
Approval API for Sourcing and Supplier Management
This topic explains how to make decisions or update existing decisions for process projects in the external system
by using the Supplier Data API with Pagination and External Approval API.

Prerequisites

Before starting this task, you must:

• Obtain separate application keys for both the Supplier data API with Pagination and External Approval API for
Sourcing and Supplier Management.
• Complete prerequisites for use of these two APIs.

Supplier Data API with Pagination


72 PUBLIC About the Supplier Data API with Pagination
Context

 Note

In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.

Procedure

Using the External Approval API to get the SM vendor ID and workspace ID
1. Get the task ID of the process project approval task by using the GET /pendingApprovables endpoint.
2. Request task details by using the GET /Task/{entity_id} endpoint.

entity_id: specifies the task ID obtained using the GET /pendingApprovables endpoint.
3. Get the workspace ID of the process project from the task details.

The obtained workspaceId value might be WS17840.


4. Get the SM vendor ID by using the GET /{entity_type}/{entity_id} endpoint.

For example:

GET {{runtime_URL}}/Sourcing/v2/entity.svc/Workspace/WS17840?realm=mysitename

might retrieve smVendorID S1006001.


• entity_type: specifies the type of entity you use.
• entity_id: specifies the workspace ID obtained from the task details.

 Note

In the response of GET /{entity_type}/{entity_id}, you can also get the decision-maker group,
which needs to be filled in the decisionMadeBy field.

Using the Supplier Data API with Pagination headerFields endpoint to make or update a decision
5. Make a decision or update an existing decision status by using the /{vendorId}/workspaces/
{workspaceId}/headerFields endpoint.

For example:

GET {{runtime_URL}}/SM/rest/supplierdatapagination/v4/prod/vendors/S1006001/
workspaces/WS17840/headerFields?realm=mysitename

• vendorId: specifies the SM vendor ID obtained by using the GET /{entity_type}/{entity_id}


endpoint.
• workspaceId: specifies the workspace ID obtained from the task details.

The following example shows the JSON request for making a decision or updating an existing decision status:

{
"regionIds": [],
"materialIds": [],

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 73
"decisionStatus": "Approved",
"decisionMadeBy": "eric",
"decisionComment": "Approved by Eric via API"
}

Users need to specify the decisionStatus, decisionMadeBy, and decisionComment fields and leave
regionIds and materialIds empty. For details about the field description, refer to the table in Use of the
Supplier Data API with Pagination headerFields Endpoint [page 50].
6. Decision-makers complete decision-making in the external system.
7. The decision-making results and comments are sent to your site.

Related Information

Use of the Supplier Data API with Pagination headerFields Endpoint [page 50]

Retrieving Process Header Field Information and Process


Decision History Using the Supplier Data API with
Pagination

This topic explains how to use the processes endpoints to retrieve process header field information and process
decision history.

Prerequisites

You already have the SM vendor ID of the supplier whose process header field information is to be retrieved.

Procedure

1. Use the processes endpoint to request all workspace IDs for a supplier. For example, to return header field
information about all processes for the supplier with SM vendor ID S10028001:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes

2. Use the processes/{wid} endpoint to request header field information and decision history for a process.
For example, to return header field information for the process with workspace ID WS19708:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processs/
WS19708

Supplier Data API with Pagination


74 PUBLIC About the Supplier Data API with Pagination
Results

The process header field information and decision history are displayed in the response.

Related Information

Use of the Supplier Data API with Pagination processes Endpoint [page 51]

Retrieving Process Intake Form Details or Questionnaire


Details in a Specific Version Using the Supplier Data API
with Pagination
This topic explains how to use the versions endpoints to retrieve process intake form details or questionnaire
details in a specific version.

Prerequisites

You already have the SM vendor ID of the supplier whose information is to be retrieved.

Procedure

1. Use the processes endpoint to request all process IDs for a supplier. For example, to return basic information
about all processes for the supplier with SM vendor ID S10028001:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes

2. Use the processes/{wid} endpoint to request the documentation ID of the process intake form or
questionnaire. For example, to return details for the process with workspace ID WS19708:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes/
WS19708

3. Use the versions endpoint to request intake form details or questionnaire details in the latest version. For
example, to return details of the intake form with document ID Doc12345678 for the supplier with SM vendor
ID S10028001:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions

The process intake form details in the latest version are returned in the response. According to the latest
version ID, you can know the number of versions that the intake form has.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 75
4. Optional: Use the versions/{versionId} endpoint to request intake form details or questionnaire details in
a specific version, for example, version 3.

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions/3

Results

Intake form details or questionnaire details in the specific version are displayed in the response.

Related Information

Use of the Supplier Data API with Pagination processes Endpoint [page 51]
Use of the Supplier Data API with Pagination versions Endpoint [page 63]

Updating Process Intake Form Answers Using the Supplier


Data API with Pagination
This topic explains how to use the Supplier Data API with Pagination endpoints to update answers in intake forms
of supplier management processes.

Prerequisites

The supplier management process to be updated must be in the pending decision or the decided status (approved,
denied, or conditionally approved).

You already have the SM vendor ID of the supplier whose process intake form answers are to be updated.

Context

The category, region, and department values cannot be updated. If you change any of the values, an error is
returned.

The expiration date can be newly added, prolonged, or shortened.

 Note

In the sample URLs in this topic, replace {{runtime_URL}} with the desired runtime URL from the
Environment details table on the SAP Ariba developer portal discovery page for this API.

Supplier Data API with Pagination


76 PUBLIC About the Supplier Data API with Pagination
Procedure

1. Use the processes endpoint to request all workspace IDs for a supplier. For example, to return basic
information about all processes for the supplier with SM vendor ID S10028001:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes

2. Use the processes/{wid} endpoint to request the documentation ID of the process intake form for a specific
process. For example, to return details for the process with workspace ID WS19708:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processs/
WS19708

3. Use the versions endpoint without specifying any version ID in the request body to request intake form
details in the latest version. For example, to return details of the intake form with document ID Doc12345678
for the supplier with SM vendor ID S10028001:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions

The process intake form details in the latest version are returned in the response. According to the latest
version ID, you can know the number of versions that the intake form has.
4. Optional: Use the versions/{versionId} endpoint to request intake form details in a specific version, for
example, version 3.

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions/3

5. Use the answers endpoint to post an update to answers in the intake form. For example, to update answers in
intake form with document ID Doc12345678:

POST {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/answers

After a successful update, a new version of the process intake form is created.

Results

Buyers can view the intake form details of the latest version in the supplier 360º profile.

Related Information

Use of the Supplier Data API with Pagination processes Endpoint [page 51]
Use of the Supplier Data API with Pagination versions Endpoint [page 63]
Use of the Supplier Data API with Pagination answers Endpoint [page 41]

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 77
Retrieving Intake Form Using the Supplier Data API with
Pagination

This topic explains how to use the Supplier Data API with Pagination to retrieve the intake form for a process type.

Procedure

1. The client application retrieves the list of processes using the processes/processTypes endpoint. For
example, to return a list of processes in your site:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processTypes

2. The client application retrieves the intake form for the process type using the processes/{processType}/
templates endpoint. For example, to retrieve the intake form:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
templates

Results

The intake form for the process type is displayed in the response.

Retrieving the List of Active Modular Questionnaires for a


Process Type Using the Supplier Data API with Pagination

This topic explains how to use the Supplier Data API with Pagination to retrieve the list of modular
questionnaire templates for a process type. The request body contains the matrix fields categoryId, regionId,
departmentId, and templateId. All the active modular questionnaire templates, including mandatory
templates, for this combination are returned.

Procedure

1. The client application retrieves the list of processes using the processes/processTypes endpoint. For
example, to return a list of processes in your site:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processTypes

Supplier Data API with Pagination


78 PUBLIC About the Supplier Data API with Pagination
2. The client application retrieves the modular questionnaire templates for the specified matrix combination
and process type using the processes/{processType}/modularQuestionnairesRequests endpoint.
For example:

POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
modularQuestionnairesRequests

Results

The modular questionnaire templates for the specified matrix combination and process type are displayed in the
response.

Creating a Process for a Supplier Using the Supplier Data


API with Pagination

This topic explains how to use the Supplier Data API with Pagination to create a process for a supplier.

Procedure

1. The client application retrieves the supplier ID and supplier contact information using the endpoint
vendorDataRequest. In general, it returns the data specified in request body filters for all suppliers, with
or without IDs for their associated questionnaires

POST {{runtime_URL}} /supplierdatapagination/v4/prod/vendorDataRequests

2. The client application retrieves the list of processes using the processes/processTypes endpoint. For
example, to return a list of processes in your site:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processTypes

3. The client application retrieves the intake form for the process type using the processes/{processType}/
templates endpoint. For example, to retrieve the intake form:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
templates

4. The client application retrieves the modular questionnaire templates for the specified matrix combination
and process type using the processes/{processType}/modularQuestionnairesRequests endpoint.
For example:

POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
modularQuestionnairesRequests

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 79
5. The client application creates the process for the supplier specified using the /processes/{processType}/
processCreateRequests endpoint. For example:

POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
processCreateRequests

Results

The process is created for the specified supplier.

Retrieving Attachments from Process Intake Forms or


Modular Questionnaires Using the Supplier Data API with
Pagination

This topic explains how to use the Supplier Data API with Pagination to download attachments from process intake
forms or modular questionnaires.

Prerequisites

• To create an application and request access to use the SAP Ariba APIs relevant to this feature, you must have
access to the SAP Ariba developer portal. For details refer to Steps to Start Using the SAP Ariba APIs in Help
for the SAP Ariba Developer Portal.
• All queries made to this API must be authenticated using OAuth authentication. For details refer to SAP Ariba
Developer Portal Authentication in Help for the SAP Ariba Developer Portal.
• You have or obtain the SM vendor ID of the supplier whose information is to be retrieved.

 Note

The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.

Procedure

1. Use the processes endpoint to request all process IDs for a supplier. For example, to return basic information
about all processes for the supplier with SM vendor ID S10028001:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes

Supplier Data API with Pagination


80 PUBLIC About the Supplier Data API with Pagination
2. Use the processes/{wid} endpoint to request the documentation ID of the process intake form or
questionnaire. For example, to return details for the process with workspace ID WS19708:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes/
WS19708

3. Use the versions endpoint to request intake form details or questionnaire details in the latest version. For
example, to return details of the intake form with document ID Doc12345678 for the supplier with SM vendor
ID S10028001:

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions

The process intake form details in the latest version are returned in the response. According to the latest
version ID, you can know the number of versions that the intake form has.
4. Optional: Use the versions/{versionId} endpoint to request intake form details or questionnaire details in
a specific version, for example, version 3.

GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions/3

5. Use the /{entity_type}/{entity_id} endpoint to retrieve the details for the intake form or questionnaire,
including any attachment IDs. For example, you can retrieve attachment id Doc12345678, AANcAe2G2!4WA,
AANcAH42!4Wg.

GET {{runtime_URL}}/entity.svc/RFXDcoument/Doc12345678

6. Use the {entity_type}/{entity_id}/attachments/{attachment_id} endpoint to download the


attachment from the intake form or questionnaire. For example:

GET {{runtime_URL}}/entity.svc/RFXDcoument/Doc12345678/attachments/
Doc12345678,AANcAe2G2!4WA,AANcAH42!4Wg

Results

The attachment is downloaded from the specified intake from or modular questionnaire.

Supplier Data API with Pagination


About the Supplier Data API with Pagination PUBLIC 81
Error Messages Returned by the Supplier Data
API with Pagination

This topic describes error messages that might be generated for all Supplier Data API with Pagination endpoints as
well as error messages specific to the headerFields endpoint.

Error Messages Returned by the Supplier Data API with Pagination

Use this information to troubleshoot your queries to the Supplier Data API with Pagination endpoints.

Error code Message Description

400 The API key passed in the request is not The API key passed in the query headers
valid. does not match the API key in the OAuth
token.

420 Vendor not found The specified SM vendor ID doesn't


match any suppliers.

421 Questionnaire not found The specified questionnaire ID doesn't


match any questionnaires for the speci-
fied supplier or specified supplier doesn't
have any submitted questionnaires.

422 Invalid or missing workspace ID The specified workspace ID does not


match any projects for the specified sup-
plier or the query requires a workspace
ID and it is missing.

423 Invalid Parameter One of the parameters specified in the


URL is invalid.

429 Rate limit error You have exceeded the maximum permit-
ted query rate. Refer to the developer
portal discovery page for this API for the
applicable query rates.

431 Version not found The version you entered doesn't exist.
This error message can be returned when
you run the versionId endpoint.

504 Gateway Time-out The server timeout time has been ex-
ceeded, possibly due to network traffic or
reliability issues. Retry your query.

Error Messages Returned by the Supplier Data API with Pagination headerFields Endpoint

Use this information to troubleshoot issues you encountered when making or updating decisions for process
projects by using the Supplier Data API with Pagination headerFields endpoint.

Supplier Data API with Pagination


82 PUBLIC Error Messages Returned by the Supplier Data API with Pagination
Error code Message Description

400 Invalid process status: testStatus. The value testStatus you input for the
decisionStatus field is not one of the values you
defined for the master data ProjectStatus.

400 The user is not in the Decision The value tester you input for the decisionMadeBy
Maker group configured in the field in not one of the values in the Decision Maker
process template: tester. group in the process template.

400 'decisionMadeBy' attribute is You need to specify a value for decisionMadeBy.


mandatory to set process status.

400 'decisionComment' attribute is You need to specify a value for decisionComment.


mandatory to set process status.

400 Maximum limit for 'decisionComment' The comments you input for the decisionComment
attribute is 255 characters. field exceed 255 characters.

400 Making or changing a decision is The current process project is processing and you cannot
not allowed in the current process make a decision.
status: InProgress

400 Missing or invalid workspaceId The entered workspace ID is invalid. You need to enter a
valid workspace ID.

400 Invalid SM Vendor Id The entered SM vendor ID is invalid. You need to enter a
valid SM vendor ID.

404 Workspace %s Not Found. The workspace ID is not specified. You need to enter a
valid workspace ID.

Supplier Data API with Pagination


Error Messages Returned by the Supplier Data API with Pagination PUBLIC 83
Version History for the Supplier Data API with
Pagination

The Supplier Data API with Pagination has multiple versions, only one of which is active at this time. Previous
versions are deprecated and might be decommissioned at a later date.

API Version Status As of Release

4 Active 2008 (Q3 2020)

3 Deprecated 2008 (Q3 2020)

2 Deprecated 2002 (Q1 2020)

1 Deprecated 2002 (Q1 2020)

 Note
This version is called the Supplier
Data API and has different endpoints
and a separate discovery page on the
SAP Ariba developer portal.

The Questionnaires API, which is only available in some data centers, and which was replaced by the Supplier Data
API with Pagination, is also deprecated as of the 2002 (Q1 2020) release.

Related Information

API versioning and deprecation on the develoer portal

Supplier Data API with Pagination


84 PUBLIC Version History for the Supplier Data API with Pagination
API-Specific Disclaimers and Legal Information

The SAP Ariba developer portal included in the SAP Ariba APIs product and the APIs made available on this site are
provided solely at the discretion of SAP without warranty of any kind, and SAP may change, suspend, or cancel any
or all features or functions of the SAP Ariba APIs product or revise the website at any time. Any production use of
or commercialization of applications containing any APIs provided on this website is prohibited without a written
agreement between your company and SAP governing such activities.

Access to this API is available to you as a subscriber to this solution as part of the SAP Cloud Service Level
Agreement. However, it is not considered part of the solution. Use of this API is purely optional and is subject to
restrictions stated in the documentation, including the Terms of Use and the documentation found at the SAP
Ariba developer portal (see https://developer.ariba.com/api ). If you wish to connect a third-party service using
this API, first confirm that the company is participating in the SAP partner program and is authorized to provide a
connection to this solution using this API. You will be required to submit written consent to SAP to authorize the
exchange of data with the third-party service.

Supplier Data API with Pagination


API-Specific Disclaimers and Legal Information PUBLIC 85
Important Disclaimers and Legal Information

Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:

• Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your agreements
with SAP) to this:

• The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.

• SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.

• Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering an SAP-hosted Web site. By using such links,
you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information.

Videos Hosted on External Platforms


Some videos may point to third-party video hosting platforms. SAP cannot guarantee the future availability of videos stored on these platforms. Furthermore, any
advertisements or other content hosted on these platforms (for example, suggested videos or by navigating to other videos hosted on the same site), are not within the
control or responsibility of SAP.

Beta and Other Experimental Features


Experimental features are not part of the officially delivered scope that SAP guarantees for future releases. This means that experimental features may be changed by
SAP at any time for any reason without notice. Experimental features are not for productive use. You may not demonstrate, test, examine, evaluate or otherwise use the
experimental features in a live operating environment or with data that has not been sufficiently backed up.
The purpose of experimental features is to get feedback early on, allowing customers and partners to influence the future product accordingly. By providing your feedback
(e.g. in the SAP Community), you accept that intellectual property rights of the contributions or derivative works shall remain the exclusive property of SAP.

Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax and
phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of example
code unless damages have been caused by SAP's gross negligence or willful misconduct.

Bias-Free Language
SAP supports a culture of diversity and inclusion. Whenever possible, we use unbiased language in our documentation to refer to people of all cultures, ethnicities, genders,
and abilities.

Supplier Data API with Pagination


86 PUBLIC Important Disclaimers and Legal Information
Supplier Data API with Pagination
Important Disclaimers and Legal Information PUBLIC 87
www.ariba.com

Copyright © 2024 Ariba, Inc. All rights reserved.

This documentation, as well as the Ariba solutions, software and/or


services described in it, contain proprietary information. They are
provided under a license or other agreement containing restrictions on
use and disclosure and are also protected by copyright, patent and/or
other intellectual property laws. Except as permitted by such agreement,
no part of the document may be reproduced or transmitted in any form
by any means, electronic, mechanical or otherwise, without the prior
written permission of Ariba, Inc.

Ariba, Inc. assumes no responsibility or liability for any errors or


inaccuracies that may appear in the documentation. The information
contained in the documentation is subject to change without notice.

Ariba and Ariba products and services mentioned herein as well as


their respective logos are trademarks or registered trademarks of
Ariba, Inc. in the United States and other countries. Please see http://
www.ariba.com/legal/trademarks for additional trademark information
and notices.

Ariba Sourcing solutions (On Demand and software) are protected


by one or more of the following patents, including without limitation:
U.S. Patent Nos. 6,199,050; 6,216,114; 6,223,167; 6,230,146; 6,230,147;
6,285,989; 6,408,283; 6,499,018; 6,564,192; 6,871,191; 6,952,682;
7,010,511; 7,072,061; 7,130,815; 7,146,331; 7,152,043;7,225,152; 7,277,878;
7,249,085; 7,283,979; 7,283,980; 7,296,001; 7,346,574; 7,383,206;
7,395,238; 7,401,035; 7,407,035; 7,444,299; 7,483,852; 7,499,876;
7,536,362; 7,558,746; 7,558,752; 7,571,137; 7,599,878; 7,634,439;
7,657,461; 7,693,747; 8,364,577; and 8,392,317. Patents pending.

Other Ariba product solutions are protected by one or more of the


following patents:

U.S. Patent Nos. 6,199,050, 6,216,114, 6,223,167, 6,230,146, 6,230,147,


6,285,989, 6,408,283, 6,499,018, 6,564,192, 6,584,451, 6,606,603,
6,714,939, 6,871,191, 6,952,682, 7,010,511, 7,047,318, 7,072,061,
7,084,998; 7,117,165; 7,225,145; 7,324,936; 7,536,362; 8,364,577; and
8,392,317. Patents pending.

Certain Ariba products may include third party software or other


intellectual property licensed from a third party. For information
regarding software or other intellectual property licensed from a third
party, go to http://www.ariba.com/copyrights.cfm.

THE BEST RUN

You might also like