PunchOut process and design overview

Introduction

This article is the first in a series of five articles that outlines the Optimizely B2B Commerce (ISC) cXML/PunchOut integration design:

  1. PunchOut Process and Design Overview - Current Article
  2. Configuration and Data Requirements
  3. PunchOut Setup Request and Response
  4. PunchOut Order Message (that is Cart Information)
  5. Order Request (that is Purchase Order)

They provide the technical information necessary to support B2B PunchOut/cXML implementations. The design of these interfaces assumes that an integration partner will serve as a translator between B2B and the end Customer's procurement system.

The base B2B platform supports four major PunchOut/cXML interfaces, connecting an B2B site with any number of Customers' environments. Depending on each Customer's requirements & systems, only certain interfaces may be used for a given implementation. The following PunchOut/cXML interfaces are built into the base B2B platform:

  • PunchOut Setup Request and Response
  • PunchOut Order Message (that is Cart Information)
  • Order Request (that is Purchase Order)

ISC's PunchOut/cXML features are built around standard cXML data structures and processes (www.cxml.org), although not all standard cXML structures and process are supported by Optimizely. This document helps identify the specific cXML data elements that B2B uses within these interfaces.

PunchOut/cXML process and design overview

The implementation of PunchOut within B2B was the foundation for the cXML integration. From a PunchOut perspective, the general user flow is outlined in the diagram below.

Essentially a buyer is directed to the B2B site from their procurement system, where they can look at the seller's online catalog and add items to their cart. Once the user has completed adding items to their cart, they do not go through the typical checkout process; they do not select the shipping address nor do they see the review and pay page. Instead, the site process ends at the cart page and the items in the cart - including ERP Part #, description, unit of measure and price - get sent back to the procurement system for review and approval. Once an order is formalized in the procurement system, the data is sent to B2B for processing and triggering an order submission job to the seller's ERP.

The following diagram outlines the detailed B2B PunchOut process flows and interfaces, including the responsibilities of the various systems.

The integration between the Integration Partner and B2B is executed through RESTful API calls. The Integration Partner will POST cXML documents to B2B endpoints, and B2B will POST cXML back to the Integration Partner when appropriate.

Some implementations, be it PunchOut or other cXML integrations, may only involve some of these interfaces. For example, a PunchOut Customer may only choose to use the PunchOut Setup Request/Response and PunchOut Order Message (that is cart). The final order submission may go through a different channel, like EDI. Another example is the Optimizely partnership with Conexiom, where only the Order Request Message interface is used to translate email orders (PDF/CSV/XLS/and so on) for processing through ISC.