PunchOut cXML - Getting Started

This guide helps you set up and validate a cXML PunchOut integration between DJUST and your eProcurement system, from pre-flight checks to first end-to-end tests.

At a glance

  • DJUST exposes a cXML setup endpoint keyed by your tenantConfigurationKey.
  • Your eProcurement sends a PunchOutSetupRequest, DJUST opens a session, and returns a cart via PunchOutOrderMessage posted to your Hook URL.
  • Agree on schema version, Extrinsic names, auth format, and error fallbacks before you start.

➡️ Steps

  1. Sent these pre-requisites informations to your DJUST consultant

    📋 What the eProcurement provides

    Requirement

    Fields

    Details / Examples

    DJUST endpoint address

    The cXML URL (from DJUST) for sending PunchOutSetupRequest.

    Authentication parameters

    Identity SharedSecret email

    Where user will be sent (Header, Contact, or Extrinsic).

    Hook / BrowserFormPost URL

    Return URL that receives the PunchOutOrderMessage.

    PunchOut request structure

    Fields you will send (e.g., BuyerCookie, ShipTo, Contact) and the Extrinsic you expect to send/receive.

    Example PunchOutSetupRequest

    Real XML samples from your environment for validation of structure and fields.

    Security constraints

    IPs or domains to allowlist; TLS requirements and minimum versions.

    Supported scenarios

    Use of FUNCTION=VALIDATE or FUNCTION=DETAIL; flows like copy existing cart or open product detail.

    User profile payload

    Which fields will be transmitted (name, email, role) and where they appear.

  2. Djust will parameter the punch-out and sent you the following informations to help you finalize set up in your system

    1. tenantConfigurationKey
    2. Setup endpoint URL
  3. In parallel with step 1 you can start adapting your front-end to make it compatible with a punch-out access (please refer to following sections to help you implement the punch out on your front-end)


🎯 What DJUST provides

Requirement

Details / Examples

Tenant Configuration Key

Secure key identifying the tenant in setup calls. Used in: POST /punchout/cxml/setup/{tenantConfigurationKey}.

Setup endpoint URL

Public cXML endpoint that receives PunchOutSetupRequest.

Return URL policy

Support for form POST back to the eProcurement (Hook URL). Documentation of expected PunchOutOrderMessage structure on return.

Accepted cXML schema

Version cXML 1.2.0xx.


required elements for authentication : Identity: your integration identifier SharedSecret: your shared secret Email: the user’s email

standard fields : Contact/Email: preferred place to pass the user’s email (or supply via Extrinsic if agreed) BrowserFormPost/URL: the Hook URL where PunchOutOrderMessage will be posted Optional Extrinsic values (e.g., UserEmail, CostCenter, BusinessUnit) as agreed with DJUST

Error policy and fallbacks

HTTP codes to use in auto-submit pages (e.g. 401, 403, 500).

Cart return structure

Sample PunchOutOrderMessage with ItemIn, ItemDetail, Extrinsic, classifications.