Acquia Commerce Manager uses a specialized set of Drupal modules to connect Drupal to your commerce solution, through the use of the Commerce Connector Service. PHP 7.1 or later is required.
Note
By default, if your website has only one language selected, Acquia Commerce Manager will not install Language or Content translation Drupal core modules.
Enabling the modules
After you have obtained the Acquia Commerce Manager Drupal modules, you must enable them for use with your website. To do this, complete the following steps:
Using Composer, add the following modules to your website:
Acquia Commerce Manager modules
Sign in to your Drupal website as an administrator with the permission to enable modules.
In the admin menu, click Extend (
http://[your site]/admin/extend
).Select the checkboxes for the following modules:
Address
Key Value field
Simple OAuth
Acquia Commerce Base SKU
Acquia Commerce Cart
Acquia Commerce Checkout
Acquia Commerce Core
Acquia Commerce Customer
Acquia Commerce Payment
Acquia Commerce Product
Acquia Commerce Promotion
Click Install to enable the modules.
Next, you will must configure the modules for your use.
Configure OAuth
To configure the modules you have enabled to allow you to connect to your commerce solution, complete the following steps:
Open a command prompt window, and then execute the following commands to generate a pair of RSA keys to encrypt your tokens:
openssl genrsa -out private.key 2048 openssl rsa -in private.key -pubout > public.key
For security reasons, store the keys outside of your docroot directory.
In your website, as an administrator, go to Configuration > People > Simple OAuth (
http://[your site]/admin/config/people/simple_oauth
).Set the following values:
Access token expiration time:
300
(default)Refresh token expiration time:
1209600
(default)Public Key: The path to your public key file, from the previous step (Required)
Private key: The path to your private key file, from the previous step (Required)
Click Save configuration.
Click the Clients tab, and then click Add Client (
http://[your site]/admin/config/people/simple_oauth/oauth2_client/add
).Enter the following values to create a new OAuth client:
Label: The client label (Required)
Logo: The client logo
Description: A description of the OAuth client being used
User- The selected user will be used for creating content.
Language: Specify a language, if desired.
New Secret: Used to create a hash of the secret key.
Is Confidential?: Select this checkbox to ensure the client secret is validated.
In the Scopes section, select the checkbox for ACM.
Click Save.
Copy the values from the following fields to use when you set up the Commerce Connector Service connection:
UUID
Secret
User
Configure the Commerce Connector Service
Using the details from the OAuth client, with other details from your account, you can configure the Commerce Connector Service.
Go to Commerce > Configuration > Conductor Settings, and enter the required information in the following fields:
Conductor URL: You should receive this value either during onboarding or from your Acquia Account Manager (Required)
API version: Currently set to V2 (Required)
HMAC Key ID: You should receive this value either during onboarding or from your Acquia Account Manager
HMAC Key Secret: You should receive this value either during onboarding or from your Acquia Account Manager
Product Node Type: The default Drupal node type that will be used to display products (Required)
Category Vocabulary: The Drupal taxonomy vocabulary where product categories synchronize.
Enable this to use the SKU as the product title: Select this checkbox to activate
Text Format: The default text format used when content is imported.
Filter root level category: Select this checkbox to remove the root level categories from your lists
Conductor Connection Timeout: Set to 30 second by default (Required)
Conductor Verify SSL: Select this checkbox to ensure SSL connections using the Commerce Connector Service
Conductor Product Synchronization Page Size: The number of products that will synchronize at a time between the website and the commerce solution—Acquia strongly recommends leaving this at the default value of
50
Debug Level Logging Of API Connections: Used for troubleshooting purposes—Acquia recommends that you do not select this unless necessary
Enable test mode to return mock data: Used for troubleshooting purposes or testing—Acquia recommends that you do not select this unless necessary
Click Save Configuration
Go to Commerce > Configuration > Store Settings, and enter the required information in the following fields:
Store id: A unique ID used to identify the mapping of an ecommerce store to this Drupal website or language. Commerce Connector Service will map data from the Magento store with same setting. Refer to Configuring Acquia Commerce, and note that the ID entered here should be entered as the
frontend.uuid
of the quick-setup JSON POST object. Acquia recommends you set the Store id to be the same as the corresponding Magento store ID. (Required)Currency: Select the currency of the prices in the ecommerce store mapping to this Drupal website.
Price range format: The format string to use for generating price ranges in the admin SKU table. Use the
@min
and@max
as placeholder values in the string, such asFrom @min to @max
. This value is not displayed on the front end.For front-end product price formatting, see the Twig template files for example, such as
docroot/modules/contrib/acm/modules/acm_sku/templates/acm-sku-price--configurable.html.twig
.
Click Save Configuration.
If you want to protect these pages with Basic Authentication, download the Shield module, and then apply this patch.
Your Drupal website should now be ready to connect to the Commerce Connector Service.