commercetools

Introduction

Bloomreach provides a commercetools connector with the GraphQL Commerce API. It's enabled by request only and has a number of specific configuration options in addition to the general options.

How to request configuration changes?

Please use our support channel to request configuration changes, including properties name and value(s).

Configuration Options

The following configuration options are available for the commercetools connector. If you wish to make a change, please submit a support request with the names of the properties and your preferred values.

Property Name (* required field)DescriptionExample Value(s)Default Value
COMMERCETOOLS_API_BASE_URL *The URL of the commercetools HTTP API host.https://api.sphere.io
COMMERCETOOLS_AUTH_BASE_URL *The URL of the commercetools OAuth2 server.https://auth.sphere.io
COMMERCETOOLS_PROJECT_KEY *Your commercetools project key.'myproject'
COMMERCETOOLS_CLIENT_ID *The OAuth2 client ID used in requests to the commercetools platform.'myApollo'
COMMERCETOOLS_CLIENT_SECRET *The OAuth2 client secret used in requests to the commercetools platform.'changeIt'
COMMERCETOOLS_SCOPE *The OAuth2 scope(s) used in requests to the commercetools.

This value is a combination of multiple scopes for various features of the commercetools. The commercetools endpoints may provide various scopes to grants API access within a project. See commercetools HTTP API and related API documentation for detail.
'view_categories:myproject create_anonymous_token:myproject manage_my_shopping_lists:myproject view_published_products:myproject manage_my_profile:myproject manage_my_orders:myproject manage_my_payments:myproject'
COMMERCETOOLS_CUSTOM_ATTR_FIELDSIf a list of field names is specified as a comma separated string, then extra custom fields are extracted from the product item in the JSON response and included in the the GraphQL response like the following example:

{
  "data": {
    "findItemsByKeyword": {
  //...
      "items": [
  {
  //...
          "customAttrs": [
            { "name": "hasStagedChanges", "values": [ "false" ] },
            { "name": "lastModifiedAt", "values": [ "2018-01-29T20:20:50.328Z" ] },
            { "name": "slug", "values": [ "{\"en\":\"thanksgiving-activity-book-1476365028138\"}" ] }
          ]
  },
  //...
  ]
  }
  }
}
'hasStagedChanges,lastModifiedAt,slug'
EMAIL_API_URLThe URL of the trusted email service.

In the case of customer's password reset, commercetools does not automatically send the password reset email. However, the GraphQL Commerce is able to retrieve to customer reset token and send it  - together with the customer details - to the trusted email service. 

The email service implementation (e.g. REST service) must be able to process the request triggered by the GraphQL Commerce. The request body has the following structure:

{
  "customer": {
  "email": "...",
"firstName": "...",
  "middleName": "...",
  "lastName": "...",
  "title": "...",
  "salutation": "...",
  "locale": "..."
  },
  "token": "XXX"
}
<EMAIL_SERVICE_ENDPOINT>
COMMERCETOOLS_AVAILABLE_LOCALESA comma-separated string to specify which languages are available in the commercetools instance. After reading the client's locale preferences (e.g, Accept-Language HTTP Request header or locale parameter during the sign-in request), the best locale is chosen for the client from the available languages supported by the commercetools instance.'en,de'