The Order Submission Microservice is used to transfer order information from Intershop Commerce Management (ICM) to Microsoft Dynamics 365.
This document provides important product information, including version information and dependencies. It also outlines the basic setup and configuration steps.
Intershop Commerce Management | Microsoft Order Submission Microservice |
---|---|
7.10.+ | 1.0.0 |
The source code can be downloaded from https://repository.intershop.de//mvn-ordersubmission-releases/.
The order submission connector is implemented as Microservice.
To familiarize yourself with the concepts, please refer to Overview - Microservices and Overview - Service Registration and Discovery.
Setup instructions can be found at Cookbook - Microservice Deployment (valid to 7.10) and Cookbook - Eureka Deployment and ICM Configuration (valid to 7.10).
Following configuration data has to be provided to Order Submission Microservice. Currently the properties have to be specified in a file that is within the Java classpath of the Microservice.
More details can also be found in Recipe - Configure the Microservice .
Configuration for getting an access token from Azure Active Directory (AAD) necessary for OData access to Microsoft Dynamics 365 for Finance and Operations:
# Azure Active Directory credentials
intershop.ordersubmission.azure.resource=
intershop.ordersubmission.azure.tenant=
intershop.ordersubmission.azure.clientID=
intershop.ordersubmission.azure.clientSecret=
intershop.ordersubmission.azure.token.requestURL=
intershop.ordersubmission.azure.token.minimumTTL=
Configuration for the number of threads used to process requests from ICM:
# Concurrency configuration
#intershop.ordersubmission.threadPool.size=
Configuration for mapping of ICM payment methods to related ones specified in Microsoft Dynamics 365 for Finance and Operation's Contoso demo:
# Payment method mapping configuration
# pattern: intershop.ordersubmission.mapping.payment.method.<icm-name>=<dyn365-name>
intershop.ordersubmission.mapping.payment.method.ISH_INVOICE=ELECTRONIC intershop.ordersubmission.mapping.payment.method.ISH_CASH_ON_DELIVERY=CASH_DELIV intershop.ordersubmission.mapping.payment.method.ISH_CASH_IN_ADVANCE=CASH_ADV
The referenced payment methods have to be created and configured before in Dynamics 365.
Configuration for routing an order from a specific ICM Organization/Channel to a certain Legal Entity in Microsoft Dynamics 365 for Finance and Operations:
# Order routing configuration
intershop.ordersubmission.order.routing.
[n]
.icm.urn.pattern=
intershop.ordersubmission.order.routing.
[n]
.backend.system.ID=
intershop.ordersubmission.order.routing.
[n]
.backend.system.tenant=
intershop.ordersubmission.order.routing.
[n]
.backend.system.URL=
intershop.ordersubmission.order.routing.1.icm.urn.pattern=urn:order:ICM:inSPIRED:inTRONICS intershop.ordersubmission.order.routing.1.backend.system.ID=XYZ.dynamics.com intershop.ordersubmission.order.routing.1.backend.system.tenant=demf intershop.ordersubmission.order.routing.1.backend.system.URL=XYZ.dynamics.com
In order to connect the Order Submission Microservice with the ICM, a managed order submission service has to be configured.
Note
The microservice allows configuration of one Dynamics 365 tenant. If this maps to one ICM sales channel, create the managed service at channel level.
If multiple sales channels (within one ICM organization) are connected to the same Dynamics 365 tenant, you can also create the managed service at organization level and enable sharing.
To create a service configuration (set technical configuration):
Microservice URI e.g., Eureka service URI 'service://orderSubmission'.
ICM exposes a complete but generic order in JSON format. This means that the order contains all available data as well as data that is stored at the order and its line items in the context of a customization.
The communication between ICM and the Microservice is asynchronous in order to avoid timeouts due to the fact that the Microservice has to create an order in Microsoft Dynamics 365 for Finance and Operations using several requests.
The Microservice splits the generic order provided by ICM into several OData requests for the following OData entries of Microsoft Dynamics 365 for Finance and Operations:
SalesOrderHeader
SalesOrderLine
The communication between the Microservice and Microsoft Dynamics 365 for Finance and Operations is synchronous.
The following table lists supported data mappings/workflows between ICM and Microsoft Dynamics 365 for Finance and Operations as well as limitations. These limitations mainly origin from the fact that Microsoft Dynamics 365 for Finance and Operations does not support numerous standard features provided by ICM:
Feature | Detail | Supported | Additional Notes |
---|---|---|---|
Product | |||
Simple product | X | ||
Variation product | X | ||
Retail Set | X | ||
Bundle | (X) | For bundle products that exist in Microsoft Dynamics 365 for Finance and Operations. No bundle products information is passed to Microsoft Dynamics 365 for Finance and Operations. | |
Prices | |||
Product Net Price | X | ||
Product Gross Price | - | Microsoft Dynamics 365 for Finance and Operations supports only net prices. | |
Promotions | |||
Line Item based Discounts | (X) | Indirect via discounted single base and line item price. No promotional discount related information is passed to Microsoft Dynamics 365 for Finance and Operations. | |
Order based discounts | - | ||
Free Gifts | X | ||
Hidden Gifts | X | No information that this is a hidden gift is passed to Microsoft Dynamics 365 for Finance and Operations. | |
Taxation | |||
VAT based countries | X | ||
none-VAT based countries (e.g., U.S., Canada) | - | ||
Warranties | |||
Product related warranties | - | ||
Gifting | |||
Gift Wrap | - | ||
Gift Message | - | ||
Payment | Methods of payment have to be created in Microsoft Dynamics 365 for Finance and Operations and mapped to related ICM's payment methods by Microservice configuration. | ||
Invoice | X | By passing the (configurable) ID of the payment method. | |
Cash in Advance | X | By passing the (configurable) ID of the payment method. | |
Cash on Delivery | X | By passing the (configurable) ID of the payment method. | |
Redirecting Payment (e.g., Paypal, Klarna, Credit Card via. Token Provider) | (-) | Supported in ICM, but no transfer of payment related transaction and history data to Microsoft Dynamics 365 for Finance and Operations. | |
Gift Card | - | ||
Gift Certificate | - | ||
Payment Costs | - | ||
Address | |||
Ship-to address | X | On line item level (SalesOrderLine ). | |
Invoice-to address | X / - | For unregistered users only. Address is stored in SalesOrderHeader::DeliveryAddress::* attributes in this case. | |
Shipping | |||
Shipping Buckets | X / - | Support for different ship-to addresses on line item level. No support for line items with different shipping methods in one order (Limitation of Microsoft Dynamics 365 for Finance and Operations). | |
Shipping Method | X | Shipping carriers have to be created in Microsoft Dynamics 365 for Finance and Operations and mapped to ICM's shipping methods by Microservice configuration. | |
Shipping Costs | - | ||
Surcharges | - | No surcharges are passed to Microsoft Dynamics 365 for Finance and Operations. | |
Desired Delivery Date | X | ||
Totals | |||
Order Totals | (-) | Totals are not passed to Microsoft Dynamics 365 for Finance and Operations. Total amounts are calculated by a scheduled job in Microsoft Dynamics 365 for Finance and Operations. According to Microsoft, there has been a new version since spring 2018 that supports totals passed via OData. | |
Customer | |||
Unregistered Customer | X | New customer is created from One-Time-Customer template in Microsoft Dynamics 365 for Finance and Operations. | |
Registered Customer | (X) | For existing customers in Microsoft Dynamics 365 for Finance and Operations only. These customers and contacts have to be created manually in Microsoft Dynamics 365 for Finance and Operations or by the Customer Connector before. | |
Checkout | |||
Orders created as a result of registered checkout | X | ||
Orders created as a result of unregistered checkout | X | ||
Order | |||
Order Creation Date | (X) | Order creation date is stored in SalesOrderHeader::RequestedReceiptDate attribute in this case. | |
Order Status | - | ||
Recurring Orders | X | Maintained and triggered by ICM. | |
B2B | |||
Contracts | - | ||
Cost Center | - | ||
Message to Merchant | - |
Initial version
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.