Interface Catalog

Overview

The Interface Catalog is a "catalog of catalogs" that provides the framework to expose and describe the available interfaces for all services supported by CPQ. A "catalog of catalogs" refers to the fact that the Interface Catalog contains both SOAP and REST service catalogs in a single entity.

Features of the Interface Catalog include:

The Interface Catalog provides technical documentation on how you can invoke various REST services in integrations with CPQ, and in building Oracle CPQ user interfaces. Each Interface Catalog entry provides the definition of the REST services available, the properties of the REST service, the input and output parameters of the REST service, and the various actions that can be performed via that REST service.

The Interface Catalog supports both the JSON Schema standard and the SWAGGER standard. The JSON Schema standard is the legacy standard and is supported for historical purposes. The SWAGGER standard is the more modern standard, and is the go-forward direction of CPQ.

Users wanting to integrate a third party application with CPQ, where an out-of-the-box integration does not exist, can use the information contained in the Interface Catalog REST service descriptions to create the REST calls necessary to perform the integration with the third party system.

Within the Interface Catalog for a given REST service, you will find definitions, properties, and links. Definitions give you a description of the type of resource you are working with via that REST service. You may be working with a singularResource, which gives you access to a single item within CPQ. You could be working with a collectionPagedResource, which gives you access to multiple items within CPQ. Properties describe the attributes that are used by the resource you are accessing. Examples of properties might be transactionId, salesGroup, userName, etc. Links generally defines the various actions that are available to be executed against the resource. Examples could be actions such as update, cleanSave, deleteTransaction, order_start, etc.

There is one special action called "self" this action is used to perform an HTTP Get of the particular resource. So if you were performing REST operations on a Commerce transaction and you invoked the "self" action, you would be sending a request to the Oracle CPQ site to retrieve the transaction information for the transaction whose transactionId you supplied.

Administration

ClosedTo access the Interface Catalog

  1. Click Admin to go to the Admin Home Page.
  2. Click Interface Catalogs under Integration Platform.

    The Interface Catalogs page opens.

  3. Select an interface, or All, from the Interface Type drop-down and click Search.

    A list of interfaces appears. Each result represents a service.

    Interface Catalogs page

  4. Click an interface Name to open its content.

    Service listings and catalog descriptions are in JSON. SOAP WSDLs are described in XML. REST services are in JSON.

    Use an XML and JSON viewer to examine the content of the service descriptions.

    SOAP services are described for both version 1 and version 2 of Web Services. For more information, see the topics An Overview of SOAP APIs and Web Services 1.0 and An Overview of SOAP APIs and Web Services 2.0


ClosedTo see a list of Processes

  1. Click Admin to go to the Admin Home Page.
  2. Click Process Definition in the Commerce and Documents section.

    The Processes page opens.

    The REST service names are in the following format:

    commerceDocuments + process variable name (first letter capitalized) + main doc variable name (first letter capitalized)

    Even though the process names listed on the Processes page may not match the REST service names exactly, you can find the process’ name within the REST service name.

    In addition to the above REST services, there is an additional entry for the performanceLogs REST service on the Interface Catalogs page.


Structure of the Interface Catalog

The Interface Catalog contains individual Catalogs for each type of interface.

ClosedTop Level Structure of the Interface Catalog

The structure of the top level of the Interface Catalog is described in the following table.

Catalog Node Description
/items/name This is the unique identifier of the interface type specific catalog.
/items/links

The "catalog" link points to the individual interface type specific catalog resource. The "groups=client.cloud" query parameter restricts the attributes that are shown to just what is needed by cloud clients.

The "self" link points to the interface type specific singular catalog resource.

/items/interfaceType Current valid values are SOAP and REST.
/links A "self" link points to this interface catalog resource.

ClosedContent of /rest/v1/interfaceCatalogs/

The content of /rest/v1/interfaceCatalogs/, described in the following table, can be matched to the nodes listed in the previous table.


ClosedSample of the content of the Interface Catalog description

{
   "items": [{
         "name": "soapCatalog",
         "links": [[{
                  "rel": "catalog",
                  "href": "http://xxx.oracle.com/rest/v1/interfaceCatalogs/soapCatalog?group=client.cloud"
               }, {
                  "rel": "canonical",
                  "href": "http://xxx.oracle.com/rest/v1//interfaceCatalogs/soapCatalog"
               }, {
                  "rel": "self",
                  "href": "http://xxx.oracle.com/rest/v1/interfaceCatalogs/soapCatalog"
               }
            ]],
         "interfaceType": "SOAP"
      }, {
         "name": "restCatalog",
         "links": [[{
                  "rel": "catalog",
                  "href": "http://xxx.oracle.com/rest/v1/metadata-catalog"
               }, {
                  "rel": "canonical",
                  "href": "http://xxx.oracle.com/rest/v1/interfaceCatalogs/restCatalog"
               }, {
                  "rel": "self",
                  "href": "http://xxx.oracle.com/rest/v1/interfaceCatalogs/restCatalog"
               }
            ]],
         "interfaceType": "REST"
      }
   ],
   "links": [{
         "rel": "canonical",
         "href": "http://xxx.oracle.com/rest/v1/interfaceCatalogs/"
      }, {
         "rel": "self",
         "href": "http://xxx.oracle.com/rest/v1/interfaceCatalogs/"
      }
   ]
}

Interface Type Specific Catalog

The interface type specific catalogs are children of the Interface Catalog.

There are two interface type specific catalogs:

ClosedStructure of the Interface Type Specific Catalog


ClosedSample of the SOAP-specific Catalog

{
  "name": "soapCatalog",
  "links": [ [ {
    "rel": "catalog",
    "href": "http://xxx.oracle.com/rest/v1/interfaceCatalogs/soapCatalog?group=client.cloud"
  }, {
    "rel": "canonical",
    "href": "http://xxx.oracle.com/rest/v1/interfaceCatalogs/soapCatalog"
  }, {
    "rel": "self",
    "href": "http://xxx.oracle.com/rest/v1/interfaceCatalogs/soapCatalog"
  } ] ],
  "interfaceType": "SOAP"

ClosedSample of the REST-specific Catalog

{
  "name": "restCatalog",
  "links": [ [ {
    "rel": "catalog",
    "href": "http://xxx.oracle.com/rest/v17/metadata-catalog"
  }, {
    "rel": "canonical",
    "href": "http://xxx.oracle.com/rest/v17/interfaceCatalogs/restCatalog"
  }, {
    "rel": "self",
    "href": "http://xxx.oracle.com/rest/v17/interfaceCatalogs/restCatalog"
  } ] ],
  "interfaceType": "REST"
}

ClosedSOAP Catalog

The SOAP Catalog is the SOAP version of the interface type specific catalog resource. The link is seen in the sample above:

http://xxx.us.oracle.com/rest/v17/interfaceCatalogs/soapCatalog?group=client.cloud

SOAP Catalog Node Description

/items

As part of the description for each service listed, the id, name, description, and lifecycle are displayed.

items/links

The "catalog" link points to this SOAP catalog resource with the "groups=client.cloud" query parameter.

The "canonical" and “self” links point to the SOAP catalog resource with all details of the SOAP service description.

The “WSDL” link, if shown, is a link to the Service WSDL.

/links

The "canonical" and “self” links point to the SOAP catalog resource with all details of the SOAP resource metadata URIs.


ClosedREST Catalog

The REST Catalog is the REST version of the interface type specific catalog resource. The link is seen in the sample above:

http://xxx.us.oracle.com/rest/v17/metadata-catalog

REST Catalog Node Description

/items/name

The unique name of a given REST resource.

items/links

The “alternate” link points to the REST resource metadata URIs for the given REST resource name, along with the schema.  The schema specifies Oracle-specific REST standards.

The "canonical" link points to the REST catalog resource metadata URIs for the given REST resource name.

The “describes” link is a link to the item itself, providing more information about the individual service.

/links

The "canonical" and “self” links point to the REST catalog resource with all details of the REST resource metadata URIs.


NOTES

When performing Web Service calls from Oracle CPQ to Oracle CPQ (also known as self-webservice calls) from a commerce action, updates will only be reflected in JET Transaction UI when collaborative quoting is enabled on that commerce process. Otherwise, users must refresh the page to update the JET UI with accurate and current transaction data.

Related Topics

Related Topics Link IconSee Also