Product Data Exchange 2 Delivery Method

The Product Data Exchange 2 delivery method is only available in OIEPs. STEP sends data to the Product Data Exchange (PDX) platform via the default PDX Outbound Integration Endpoint and the API.

Important: For environments using Product Data Exchange (PDX), configuration is required on your PDX system to implement AWS for asset delivery and/or AWS encryption. Contact Stibo Systems for information.

For additional information on PDX, refer to the Product Data Exchange topic within the Data Integration documentation, or contact Stibo Systems.

In an OIEP, the delivery method is displayed on the Configuration tab of the editor in the Delivery Method section.

Prerequisites

The server-side setting of the sharedconfig.properties PDX.Url determines the PDX environments eligible in the OIEP configuration of the delivery method. Two PDX environments are relevant to this setting:

  • PDX Production (https://api.pdx.stibosystems.com)

  • PDX Pre-production (https://api.pdx-preprod.stibosystems.com)

General setup will include one account on the Production environment, which processes and syndicates live data, while multiple non-production accounts / clients may exist on the Pre-production environment. In the image below, STEP environments are in the column on the left, and those on the right represent PDX environments with PDX accounts.

Note: Changes to the PDX properties outlined below are implemented when the server is restarted.

The sharedconfig.properties on the STEP Production environment specify the PDX Production environment (containing the customer’s production account / client) as the valid target of the PDX OIEP configured, as seen in the example below:

PDX.Url=1=https://api.pdx.stibosystems.com,2=https://api.pdx-preprod.stibosystems.com

To ensure product information maintained in all the contexts selected for syndication in the PDX OIEP setup can be transferred, the following property should be set to ‘false’:

PDXDelivery2.LocaleChecking=false
  1. Determine the API user name and password. This will be required on the Edit Delivery Configuration dialog.
  2. On an on-premises system, if required, provide a selection for the Proxy Config parameter. The configurations that appear in this dropdown are populated from properties added into the sharedconfig.properties file using the dynamic property 'Http.ProxyConfiguration.[name]' which has its own property for Host, Port, User, and Password.
  3. Perform additional configuration required in the OIEP as laid out in the Setting Up the PDX OIEP topic in the Data Integration documentation.

Encryption Setting Prerequisites

Amazon Web Services (AWS) Key Management Service (KMS) encryption is optionally available for both data and assets in a PDX integration.

The encryption functionality is defined by the following properties. The first four properties are required for all encryption while the last property is only required for a proxy scenario in an on-premises system. A server restart is not required to implement changes to the EncryptedMessage properties.

In each of the properties, replace [Dynamic] with text that identifies the usage, in the examples below, 'PDXEncryption' is the replacement text. Multiple encryption methods can be configured by using a set of properties with the same 'dynamic' text, such as PDXEncryption1 and PDXEncryption2.

The replacement text is displayed in the 'Encryption Config' parameter on the GIEP configuration dialog and the 'Encryption Configuration' parameter on the 'Product Data Exchange 2' delivery method on an OIEP.

  1. EncryptedMessage.[Dynamic].AWSKMS.AccessKeyID

    For example: EncryptedMessage.PDXEncryption.AWSKMS.AccessKeyID=AKIAXF2WQ7KV6UXGGVZG

  2. EncryptedMessage.[Dynamic].AWSKMS.AccessKeySecret

    For example: EncryptedMessage.PDXEncryption.AWSKMS.AccessKeySecret=I5RN/lmxU5GG+iEJ9qibfDqJYf//S3SsF/cLCF1G

  3. EncryptedMessage.[Dynamic].AWSKMS.KeyArn

    For example: EncryptedMessage.PDXEncryption.AWSKMS.KeyArn=arn:aws:kms:eu-west-1:493565835888:alias/PDX-Key

  4. EncryptedMessage.[Dynamic].PluginID

    For example: EncryptedMessage.PDXEncryption.PluginID=AWSKMS

    Important: AWSKMS is the only valid value for the PluginID property. Setting this required property associates it with the other properties that share the same dynamic value.

  5. EncryptedMessage.[Dynamic].AWSKMS.Proxy

    This property is only required for an on-premises system if the delivery connection must first pass through a proxy server with its own login requirement. If a proxy is being used, the setting in this property must match the setting of the HTTP configuration options, as defined in the HTTP Proxy Configurations.

    For example: EncryptedMessage.PDXEncryption.AWSKMS.Proxy=Sample1

Configuration

For information on a parameter, hover over the parameter field to display help text.

  1. On the Configuration tab of the OIEP, in the Delivery Method section, click the Edit Delivery link to display the 'Edit Delivery Configuration' dialog.

  2. For the Select Delivery Method parameter, choose Product Data Exchange 2.

    The following parameters are valid for all authentication methods.

  3. Server URL - Select the appropriate target PDX environment.

  4. Proxy Config - For on-premises systems, if the delivery connection must first pass through a proxy server with its own login requirement and an HTTP Proxy has been configured, choose it from dropdown list. For more information on how to configure a proxy, refer to the topic HTTP Proxy Configurations in the Data Exchange documentation.

  5. Default Context - Specify which of the contexts included in the OIEP configuration is the default. The data in this context is used to populate the default language layer in PDX. The STEP Name in this default context will be the name of the master data product in PDX since the STEP Name in PDX does not have language layers.

    Important: Channel assignment rules in PDX are evaluated based on the values available in the default language layer.

  6. Upload Assets - determine the appropriate setting based on how you transfer assets to PDX.

    • Set to 'Yes' to send assets by the delivery method. 'Yes' is not allowed when using encryption (defined below).

    • Set to 'No' to exclude asset binary content, while still sending asset metadata. 'No' is required to use encryption (defined below).

  7. Upload only changed assets - This parameter is only effective when the Upload Assets parameter is set to 'Yes'.

    • Set to 'Yes' to only include referenced asset objects where either the attribute values or the asset content has changed.

    • Set to 'No' to upload all existing assets.

  8. The Basic Authentication section is required for API access via user name and password:

    • API User Name - Enter the API user name of a PDX user associated with a relevant account on the targeted environment.

    • API Password - Enter the API password of a PDX user associated with a relevant account on the targeted environment.

  9. The Token-based Authentication section is required for token access via OAuth 2.0 authorization protocol:

    • Auth Header Value Function - Select a business function that produces the required authentication headers. For general information about business functions, refer to the Business Functions topic in the Business Rules documentation. For examples using basic authentication or proxy, refer to the Token-based Authentication Function Example section below.

  10. The Encryption section is required for encrypting data (not assets) output to PDX.

    Important: The 'Upload Assets' parameter (above) must be set to 'No' when encryption is used on this delivery method. If encryption is required for assets, use the Asset Publisher as defined in the Digital Assets documentation.

    • Encryption Configuration - Select an encryption option from those defined in the Encryption Setting Prerequisites section above.

  11. Click the OK button to save the delivery method.