Integrations / SAP Ariba Network
SAP Ariba Network
Read purchase orders and supplier invoices that flowed through the SAP Ariba Network: invoice header extraction and the buyer purchase order list, plus a guarded read for other paths of those APIs. Good for 'which invoices did supplier X send', 'is this PO acknowledged' style questions on Network documents; it does not cover requisitions or approvals inside Ariba Procurement (use the reporting toolkit). You supply your own Ariba API application credentials (client id and secret, application key) and your Ariba Network ID. Each Ariba API application has its own credentials, so create one per API. Setu has not verified this against a live Ariba realm.
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "sap_ariba_network" });
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
List Ariba Network invoicesreadsap_ariba_network.list_network_invoicesSAP Ariba Network Invoice Header Data Extraction: lists the supplier invoice headers (document number, supplier name and ANID, buyer ANID, status, routing status, dates, total and tax amounts) exchanged on the Ariba Network for your ANID. Returns {content:[...]}. The optional query takes extra parameters from the API reference (their names are not verified here). 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 | |
|---|---|---|---|
query | object | Optional | Optional plain query parameters from the Invoice Header Data Extraction API reference, e.g. a date range or page |
await setu.execute({
userId: "user_1",
action: "sap_ariba_network.list_network_invoices",
input: {},
});List Ariba Network purchase orders (buyer)readsap_ariba_network.list_network_purchase_ordersSAP Ariba Network Purchase Orders Buyer API: lists purchase orders sent through the Ariba Network for your buyer ANID. The path was reached on the live gateway, but the filter parameter names are not verified: third-party documentation lists DocumentNumber, SupplierANID, RoutingStatus, OrderStatus and a date range of at most 31 days, so pass them in query only if the Ariba API reference confirms them. 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 | |
|---|---|---|---|
query | object | Optional | Optional plain query parameters from the Purchase Orders Buyer API reference (names unverified here) |
await setu.execute({
userId: "user_1",
action: "sap_ariba_network.list_network_purchase_orders",
input: {},
});Read any Ariba Network API path (guarded)readsap_ariba_network.read_network_apiGeneric guarded GET to another path of the Ariba Network purchase order and invoice extraction APIs (for example a single order or the supplier-side orders). The path must start with /api/purchase-orders/, /api/purchase-orders-supplier/ or /api/invoice-extraction/. Only /invoices and /orders are verified; any other path comes from the Ariba API reference and is not verified here. 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/, e.g. /api/purchase-orders-supplier/v1/prod/orders |
query | object | Optional | Plain query parameters (text or numbers), if the API defines any |
await setu.execute({
userId: "user_1",
action: "sap_ariba_network.read_network_api",
input: {
"path": "<path>"
},
});