Magento is an e-commerce platform that
integrates online and physical shopping experiences. IBM® App Connect Enterprise provides
a Magento Request node, which enables you to connect to Magento and issue synchronous requests to create, retrieve,
update, and delete objects such as products, carts, customers, sales orders, and sales
invoices.
About this task
IBM App Connect Enterprise communicates synchronously with Magento through the Magento Request node, which is available on Windows, AIX, and Linux® systems.
You can use the
Magento Request node to connect to
Magento and perform actions on objects, including the
following:
- Attribute sets
- Retrieve attribute sets
- Carts
- Create or retrieve carts
- Categories
- Create, retrieve, update, or delete categories
- Customer groups
- Create, retrieve, update, or delete customer groups
- Customers
- Create, retrieve, update, or delete customers
- Products
- Create, retrieve, update, or delete products
- Sales credit memos
- Create or retrieve sales credit memos
- Sales invoices
- Create or retrieve sales invoices
- Sales orders
- Create or retrieve sales orders
- Sales rule coupons
- Create, retrieve, update, or delete sales rule coupons
- Sales rules
- Create, retrieve, update, or delete sales rules
- Sales shipments
- Retrieve sales shipments
For additional information about configuring the Magento Request node, see Magento Request node.
Procedure
- In the IBM App Connect
Enterprise Toolkit, create a flow containing a Magento Request node.
- Select the Magento Request node in the flow to show
the node properties in the editor.
- On the Basic tab, click Launch Connector
Discovery.
A panel is displayed in which you specify the name of the
policy project and vault details to be used during connector discovery.
- Specify the details of the policy project and vault to be
used during connector discovery:
- In the Policy Project field, specify the policy project that is
used to store the policies that are created during connector discovery.
Alternatively,
you can create a new policy project by clicking New and then specifying the
name of the new policy project. Then click Finish.
- Specify the vault to be used during connector discovery. By default, credentials that
are used during connector discovery are stored in an external directory vault, which is
an App Connect Enterprise vault that can be used by any integration server.
Alternatively, you can store the credentials in an integration server vault, which is created in the
integration server's work directory and can be used only by that specific integration server.
To specify the vault to be used for storing the credentials, complete the steps in the
Using
the Connector Discovery wizard section of one of the following topics:
- In the Vault key field, enter the vault key that is used to
access the credentials stored in the vault. The vault key must be at least 8 characters in
length.
- Optional: By default, the specified vault location and vault key are saved
as preferences in the Toolkit so that the values are preset when you launch Connector Discovery. If
you do not want the preferences to be saved, deselect Save in vault
preferences.
- Click Launch Discovery to start the Connector Discovery wizard for
the Magento connector.
The
Connector Discovery window is displayed. If existing Magento connections (accounts) are available, a list of
those connections is displayed. If there are no existing connections, the status of the Magento connector is shown as Not
connected.
- If one or more Magento connections (accounts)
are available, complete the following steps:
- Select the connection (account) that you want to use by clicking on it.
- Click the required object type and then select the action that you want to perform on the
object. For example, click Customers and then
Retrieve.
- If there are no existing connections (accounts), complete the following steps:
- Click the required object type and then select the action that you want to perform on that
object. For example, to retrieve customer details from Magento, click Customers and then
Retrieve.
- Click Connect to create the new connection. A window is displayed in
which you enter the details of your account.
- In the Store URL field, enter the Magento Store URL, then enter the user name and password for
your Magento account in the User
name and Password fields. Then click Connect.
The credential is stored in the vault, and the other connection details are saved in the Magento policy.
For more information about connecting to Magento, see How to use IBM App Connect with Magento in the IBM App Connect
Enterprise as a Service documentation.
- Set the required connector properties in the wizard.
For example, to retrieve customer details from
Magento, select the required customer group from the list in
the
Customer Group field (for example,
Retail Customer). You
can add conditions for the retrieval of the customer information, such as specifying a particular
Customer ID, by clicking
Add condition and then
entering the required value. You can also set properties that specify the maximum number of
documents to retrieve and the action to be taken if that limit is exceeded.
When you have
finished specifying the properties in the Connector Discovery wizard, click
Save. The values of the properties that you set in the wizard are returned to
the Magento Request node in the IBM App Connect
Enterprise Toolkit.
- When you have finished discovery and saved the property values, exit the Connector
Discovery wizard by clicking the X in the upper-right corner of the window.
- Return to editing the Magento Request node in the
IBM App Connect
Enterprise Toolkit.
The connector properties that were set in the Connector Discovery wizard (in step
6) are now visible on the
Magento Request node. The
Basic tab shows
the values of the
Action and
Object properties that
you set in the wizard. For example, if you selected
in the
wizard, the following properties will be visible on the
Basic tab of the
node:
- Action -
RETRIEVEALL
- Object -
Customer
The values of the Action and Object properties
are displayed in read-only format. If you want to change these values, you can do so by clicking
Launch Connector Discovery again and setting new values in the Connector
Discovery wizard. You can modify other properties (such as the Customer
Group) by clicking the Edit button next to the property.
The Schema base name property specifies the base name of the schema
files that describe the format of the request and response messages sent and received from the Magento connector. The schema base name is set automatically
the first time you run discovery for the node, and it is based on the current flow name and node
name. If you set this property manually before running discovery for the first time, the value that
you set will be used. If you rename the schemas after discovery, you must edit this property so that
it matches the schema base name used by the renamed schemas in the project. If you change this
property after discovery, you must either rename the schema names to match or run discovery again.
Depending on the action that was selected during discovery, the Connector Discovery wizard
generates either a request schema and a response schema, or a response schema only. A request schema
is generated only if the selected action and object require a request message. The generated request
schema is used for validation of the request message. If the action was RETRIEVE or
DELETE, only the response schema is returned by the connector.
The generated
schema files are added to the project and can be used by a Mapping node for transforming input or output data. The full
filename of the schema is derived from the schema base name, suffixed with either
response.schema.json or request.schema.json. You can open
the schema by clicking Open request schema or Open response
schema.
- Check that the property settings on the Magento Request node are correct and then save the message
flow.
- On the Connection tab of the Magento Request node, the Policy property
shows the name of the policy that contains the details of the security identity to be used for the
connection. The policy has a type of
Magento.
- Optional: Set the Timeout property
on the Connection tab to specify the time (in seconds) that the node waits
for Magento to process the operation. The default is 60
seconds.
- The Filter tab of the Magento Request node contains properties that control the way in
which the message flow selects data. The initial values of these properties are taken from the
property values that were set for the Magento connector
in the Connector Discovery wizard (as described in step 6). If you subsequently
return to the Connector Discovery wizard and change the values of any properties (by adding new
conditions, for example) those updates are reflected in the properties set on the node.
The Filter Options properties control which objects are to be operated
upon when the Magento Request node executes. The
Filter Limit properties control the maximum number of items to be retrieved
and the action to be taken if the limit is exceeded.
You can modify the values by clicking Edit next to the value that you want
to modify in the Filter Options section, and by changing the property values
that have been set in the Filter Limit section.
The property values can be either text values or ESQL or XPATH expressions that are resolved from
the contents of the message passed to the Magento Request node
as it executes.
- On the Request tab, set the Data
location property to specify the location in the incoming message tree that contains the
object data to be created in Magento. This data forms
the request that is sent from the Magento Request node to the
Magento system.
- On the Result tab, set the Output
data location property to specify the location in the output message tree that will contain
the data of the record that is created in Magento.
- By default, request messages are validated against the request schema that was generated
during connector discovery. You can turn off request validation or change the validation settings by
using the Validation properties of the Magento Request node.
- Save the message flow.