Integrating with Coveo
You can integrate Elastic Path Commerce Cloud with Coveo quickly and easily in Commerce Manager.
Whenever you publish a catalog, the full catalog will be synced to Coveo. This is triggered using events delivered by a webhook.
- When a catalog is published, a
catalog-release.updated
event is triggered. - Once a
catalog-release.updated
event is received by the webhook, the integration begins to execute. - The integration performs the following:
- Builds a taxonomy for the catalog.
- Retrieves the mapping for Elastic Path Commerce Cloud fields to Coveo fields.
- Adds any missing fields to Coveo.
- Delete Coveo contents.
- Sync all products to Coveo.
important
The Integratons Hub is currently in Beta. To gain early access and provide us with feedback on the Integrations Hub, contact your Customer Success Representative.
Collecting Your Setup Information
Before you begin configuring your Coveo integration in Commerce Manager, you need to collect the necessary setup information from Coveo and Commerce Manager.
important
Collect the following information and make sure you have it available, for example, in a text file, before configuring your Coveo integration in Commerce Manager. If you leave the Coveo Integration page in Commerce Manager, the integration is not saved and you must remove the integration and create a new one.
Collecting Coveo Setup Information
You can find this information in the Coveo Administration Console.
Option | Description |
---|---|
Coveo Organization ID | The key given to your organization. You can find this by clicking Organization > Settings and selecting the Organization tab. |
Source ID | The URL of your Coveo source. You can find this by clicking Content > Sources, selecting your source and clicking Edit. |
Coveo Source API key | The key you stored when you created your source. |
Coveo Fields API key | The key you created that has access to create fields. |
Coveo Site URL | The base URL to be prefixed to the product URL. For example if your products URL is https://your.domain.com/products/:slug then your base URl is https://your.domain.com/products/ . |
Collecting Commerce Manager Setup Information
The following Elastic Path Commerce Cloud API keys. You can find this information on the Home page of Commerce Manager when logged in as a user with Seller Admin privileges.
Elastic Path Commerce Cloud API Key | Description |
---|---|
Elastic Path Commerce Cloud Base URL | Your Elastic Path Commerce Cloud base URL. |
Elastic Path Commerce Cloud Client ID | Your Elastic Path Commerce Cloud Client ID. |
Elastic Path Commerce Cloud Client Secret | Your Elastic Path Commerce Cloud Client Secret. |
Elastic Path Commerce Cloud Integration Webhook Secret Key | This can be anything you choose. |
Configuring The Integration
Now that you've collected the setup information let's begin by configuring the integration.
- Reach the Integrations Hub in Commerce Manager via method provided from your Customer Service Representative.
- Under EPCC Site Search Integrations click on the Coveo Full Catalog Sync Integration.
- Click Configure.
- In the text fields, input the setup information you collected previously.
- Click Activate.
The integration starts an execution which:
- Configures a webhook to listen to the
catalog-release.updated
event, named EPCC Coveo Integration. - Creates a flow for containing field mappings between Elastic Path Commerce Cloud and Algolia, called Coveo Mapping.
important
It is important that you don't delete the Coveo Mapping flow or the EPCC Coveo Integration webhook, or the integration ceases to work.
Now that you've configured the integration, let's learn how you use it.
Understanding Field Mappings Between Elastic Path Commerce Cloud and Coveo
To sync the catalog to Coveo you must map the data to pass from Elastic Path Commerce Cloud to Coveo.
The integration uses a flow to contain the fields that you want to pass from Elastic Path Commerce Cloud to Coveo. These can be any fields you like. There are some special fields and a default set which are created when you first configure the integration. See the table below.
Coveo fields must have:
- A field type of either LONG, LONG_64, DOUBLE, DATE or STRING.
- Coveo schema details such as a JSON object containing any additional data needed.
- Coveo Facet is either TRUE or FALSE, depending on if the Coveo field is used as facet or not.
- Coveo Multifacet is either TRUE or FALSE, depending on if the Coveo field is used as a facet with multiple values or not.
- Multifacet tokenizer if the Coveo field is a multivalued facet where character delimits the values.
The following table describes some example fields in Commerce Manager and their corresponding fields in Coveo.
Elastic Path Commerce Cloud Field | Maps to Coveo Field |
---|---|
attributes.productId | ep_product |
attributes.commodity_type | ep_commodity_type |
attributes.description | ep_description |
attributes.mpn | ep_mpn |
attributes.name | ep_description |
attributes.sku | ep_sku |
attributes.slug | ep_slug |
attributes.status | ep_status |
upc | ep_upc |
main_image | ep_main_image_url in Coveo. You can change the name in Coveo but if you also change the field name in Commerce Manager, the URL lookup function is not triggered. |
taxonomy | ep_categories. This field is used to trigger the creation of a hierarchy in Coveo. |
Creating New Field Mappings
- In Commerce Manager, go to the Coveo Mapping page under the Flows. (If you just configured your integration, refresh your Commerce Manager tab to pick up the newly added flow from the integration.)
- Click New Entry.
- Create the field mappings you desire by supplying the EPCC Field, the Coveo Field, the Coveo Field Type, and the additional Coveo details in the entry.
- In Coveo, create the fields described above. Refer to the documentation provided with Coveo for more information.