E-procurement setup

Connect a mock catalogue

How to register one of these supplier catalogues in your e-procurement system (SAP MM/SRM, Ariba, Coupa, etc.). Point the external catalogue / punchout config at this mock server — same URL shapes and credentials as a real supplier OCI or cXML shop.

Base URL for this host: https://mock-server.oscar-int.prc.re

1. Pick a supplier catalogue

Each row is a separate external catalogue in the buyer system. Use the punchout URL for that slug.

SupplierSlugOCI punchout URL
CleanWorkscleanworkshttps://mock-server.oscar-int.prc.re/punchout/cleanworks
OfficeProofficeprohttps://mock-server.oscar-int.prc.re/punchout/officepro
PrintMaxprintmaxhttps://mock-server.oscar-int.prc.re/punchout/printmax
SafeGuardsafeguardhttps://mock-server.oscar-int.prc.re/punchout/safeguard
TechLinetechlinehttps://mock-server.oscar-int.prc.re/punchout/techline
WorkSpaceworkspacehttps://mock-server.oscar-int.prc.re/punchout/workspace
Würthwurthhttps://mock-server.oscar-int.prc.re/punchout/wurth

2. OCI punchout (SAP-style)

Create an external catalogue / OCI call-up in the e-procurement admin. Typical field mapping:

Buyer config fieldValue
Catalogue / punchout URLhttps://mock-server.oscar-int.prc.re/punchout/cleanworks
HTTP methodPOST (form-urlencoded)
USERNAMEprocureai
PASSWORDdemo
HOOK_URLBuyer return URL (your system fills this — cart posts OCI NEW_ITEM-* fields back here)
OCI_VERSION (optional)5.0

Optional OCI functions

  • Background search: https://mock-server.oscar-int.prc.re/punchout/cleanworks/background-search with SEARCHSTRING
  • Validate: https://mock-server.oscar-int.prc.re/punchout/cleanworks/validate with PRODUCTID = {exampleSlug}:… and QUANTITY

After checkout in the mock shop, the browser POSTs the OCI cart to HOOK_URL. Product IDs are global: cleanworks:HAM-001.

3. cXML punchout

For buyers that use cXML PunchOutSetupRequest instead of OCI call-up:

Buyer config fieldValue
PunchOut setup URLhttps://mock-server.oscar-int.prc.re/cxml/cleanworks/punchout
Content-Typetext/xml
SharedSecretcxml-secret
BrowserFormPost URLBuyer return URL inside the PunchOutSetupRequest (cart returns as cxml-urlencoded)

4. Unite marketplace search

Federated search across all mock suppliers (one marketplace connection, not one per supplier):

Buyer config fieldValue
Search endpointPOST https://mock-server.oscar-int.prc.re/v1/search
Item detailGET https://mock-server.oscar-int.prc.re/v1/items/{itemId}
Basic authprocureai / demo

5. OCI DOWNLOADJSON (catalog sync)

For buyers that pull a JSON catalogue feed instead of interactive punchout:

  1. Get a token: POST https://mock-server.oscar-int.prc.re/oauth/token with grant_type=client_credentials, client_id=oci-download-client, client_secret=oci-download-secret
  2. Per supplier: GET https://mock-server.oscar-int.prc.re/api/oci/cleanworks/download?FUNCTION=DOWNLOADJSON&PAGESIZE=20&REQUESTEDPAGE=1
  3. All suppliers: GET https://mock-server.oscar-int.prc.re/api/oci/download?FUNCTION=DOWNLOADJSON&…

Send Authorization: Bearer <token>.

Checklist

  • Network path from buyer system / browser to this host (VPN / allowlist as needed)
  • Credentials match the table above (demo defaults — not for production)
  • Launch punchout from the buyer UI; browse → add to cart → return; confirm line items land on the requisition / cart
  • Debug failed call-ups in /debug/requests

Browse catalogues on the home page without configuring a buyer system.