inriver

Details an integration available for inriver, built and maintained by Umbraco HQ.

This integration provides a custom product picker for selected products in the inriver Product Information Management (PIM) system. It also includes a value converter providing a strongly typed model for rendering and a sample rendering component.

Minimum version requirements

Umbraco CMS

Authentication

Accessing the resources from inriver through the REST API requires an API key, which will be included with each request using the X-InRiver-APIKey header.

To retrieve your API key and instance of your environment, follow these steps:

  1. Access your inriver account.

  2. Go to the Users section of the Control Center.

  3. Generate an API key.

Configuration

The following configuration is required for working with the inriver API:

appsettings.json
{
  "Umbraco": {
    "CMS": {
      "Integrations": {
        "PIM": {
          "Inriver": {
            "Settings": {
              "ApiBaseUrl": "https://[API_instance].productmarketingcloud.com/",
              "ApiKey": "[API_key]"
            }
          }
        }
      }
    }
  }
}

Backoffice usage

To use the product picker, a new datatype should be created based on the inriver Entity Picker property editor.

If the configuration is not valid, an error message will be displayed.

Otherwise, you will be able to toggle between the inriver entity types of your environment and pick which columns you want to be displayed.

Select the entity type which you need to fetch data from, and retrieve the list of fields and linked entities for it.

Front-end rendering

A strongly typed model will be generated by the property value converter. An HTML helper is available to render the product on the front end.

Make sure your template has a reference to the following using statement:

@using Umbraco.Cms.Integrations.PIM.Inriver.Helpers;

Assuming a property based on the created Data Type with the alias inriverProductPicker has been created, render the product using:

@Html.RenderInriverEntity(Model.InriverProductPicker)

You can override the sample rendering component with one of your own by specifying a new path for the view.

Last updated