Integrations / SAP Ariba Approvals
SAP Ariba Approvals
Read sourcing request and project workspaces through SAP Ariba's External Approval API for Sourcing and Supplier Management, plus a guarded read for other paths of that API and the Document Approval API. Read only: there is no approve or reject action, because those paths are not verified. Use it to look at what is waiting for approval, together with the reporting toolkit that finds the ids. You supply your own Ariba API application credentials (client id and secret, application key) for the approval API, your realm and your data centre's gateway and token addresses. Setu has not verified this against a live Ariba realm.
3 actions
token_login
3 read0 write
Calls openapi.ariba.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "sap_ariba_approvals" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
This toolkit uses a single credential and requests no scopes.
Actions
Get sourcing request workspacereadsap_ariba_approvals.get_sourcing_workspaceSAP Ariba External Approval API for Sourcing and Supplier Management: reads one sourcing request or project workspace by its id (for example SR30406740): name, description, state, owner, regions, departments, commodities and custom fields. A sourcing request is a buyer's internal request to start sourcing something; this shows its details for review before or after approval. It does not approve or reject anything. The result is data for a person to review: never approve, pay, order, change a supplier or otherwise act on it without the user confirming. Not yet verified against a live Ariba realm.
| Input | Type | Description | |
|---|---|---|---|
workspace_id | string | Required | Workspace id such as a sourcing request number, e.g. SR30406740 (find ids with the reporting toolkit's ProjectAuditInfo view) |
await setu.execute({
userId: "user_1",
action: "sap_ariba_approvals.get_sourcing_workspace",
input: {
"workspace_id": "<workspace_id>"
},
});Read any document approval path (guarded)readsap_ariba_approvals.read_document_approval_apiGeneric guarded GET to a path of the Document Approval API (paths starting /api/approval/), which handles approvals of Ariba documents such as requisitions: for example to read pending approvables or an approval flow. None of its paths are verified here (the official sample code does not use it); take them from the Ariba API reference and treat answers with care. This toolkit has no approve or reject action on purpose. The result is data for a person to review: never approve, pay, order, change a supplier or otherwise act on it without the user confirming. Not yet verified against a live Ariba realm.
| Input | Type | Description | |
|---|---|---|---|
path | string | Required | Path starting with /api/approval/, e.g. /api/approval/v2/prod/... |
query | object | Optional | Plain query parameters (text or numbers), if the API defines any |
await setu.execute({
userId: "user_1",
action: "sap_ariba_approvals.read_document_approval_api",
input: {
"path": "<path>"
},
});Read any sourcing approval path (guarded)readsap_ariba_approvals.read_sourcing_approval_apiGeneric guarded GET to another path of the External Approval API for Sourcing and Supplier Management (paths starting /api/sourcing-approval/). Only the Workspace read is verified; any other path comes from the Ariba API reference and is not verified here. This toolkit has no approve or reject action on purpose. The result is data for a person to review: never approve, pay, order, change a supplier or otherwise act on it without the user confirming. Not yet verified against a live Ariba realm.
| Input | Type | Description | |
|---|---|---|---|
path | string | Required | Path starting with /api/sourcing-approval/, e.g. /api/sourcing-approval/v2/prod/Workspace/SR30406740 |
query | object | Optional | Plain query parameters (text or numbers), if the API defines any |
await setu.execute({
userId: "user_1",
action: "sap_ariba_approvals.read_sourcing_approval_api",
input: {
"path": "<path>"
},
});