Microsoft Dynamics 365 Customer Engagement is currently one of the most successful Customer Relationship Management platforms in the market. The system helps organizations efficiently track, manage, and deliver project-based services, from the initial sale all the way to invoicing. The platform’s flexibility combined with its various deployment options makes it a good fit for businesses of any size.
Whether you already use Microsoft Dynamics 365 product line or just considering it for your company, the good news is that you can leverage its potential by integrating it with your webstore built on nopCommerce.
ISDK has a solid experience of bringing together Dynamics 365 and nopCommerce-based businesses. Recently, we’ve developed Dynamics 365 integration for nopCommerce 4.10. In this article, we give a quick overview of integrating the CRM with the latest nopCommerce version.
Integration cases
The integration supports data exchange between customer data, product catalog, stock availability, order tracking, tier and specific pricing, tax options.
When creating an integration, take into account all possible business cases. While in most cases, data and business rules go in one direction from a CRM/ERP to a webstore (e.g. warehouse data, discounts, etc.), some scenarios like customer and order creation and updates might require bi-directional data exchange.
Integration tools
In order to get access to Dynamics 365 for Customer Engagement there are several tools:
- Web API
- XRM Tooling Assemblies
- SDK Assemblies
However, for stores using nopCommerce starting from version 4.0, there is a considerable limitation – .Net Standard. This excludes the last two options (SDK, XRM) as they depend on .Net Framework. As a result, for nopCommerce stores based on 4.xx platform edition, the only way for the integration is by using Web API.
The integration mechanism
The integration should be done as a nopCommerce plugin. A manual on creating plugins for 4.xx nopCommerce can be found on the nopCommerce site.
Dynamics Web API requests can be performed with scheduled tasks (ITask) or with subscriptions (IConsumer).
For Azure authentication, a Nuget pack with ADAL libraries (Active Directory Authentication Library) should be used: Microsoft.IdentityModel.Clients.ActiveDirectory. In the plugin settings, the following authentication parameters should be defined: ServiceUrl, ClientId, TalentId, ClientSecret.
When creating customer entities, keep in mind that in nopCommerce, there is only one entity for clients – Customer. In Dynamics 365, there are two entities: account and contact; the difference explained can be found here.
Have questions about the integration? Contact us for a free consultation.