Microsoft Dynamics 365 Business Central, OData
Support for MS Dynamics NAV using OData. Both reading data and writing (insert, update and delete) are supported.
We support Azure-based installation and also Microsoft-hosted (Microsoft online) deployments and local installations.
Related Article - How to Read API Pages via the Business Central ODATA connection.
The following versions of MS Dynamics NAV are supported:
- Microsoft Dynamics 365 Business Central
- MS Dynamics NAV 2018
- MS Dynamics NAV 2017
- Microsoft Dynamics 365 Business Edition
- MS Dynamics NAV 2016 (read-only)
Additional installation (only for local installations or if you control the Azure instance)
Please Note: The OData Connection is by default created with an attached RapidiConnector. If you don't need the RapidiConnector - if you want Rapidi to connect directly to your OData system - you need to delete the RapidiConnector from the Connection (click the trashcan icon (Delete RapidiConnector) all the way to the right on the RapidiConnector header).
Configuration
Below is a description of the fields on the Connection:
-
Code: The unique code for this connection (cannot be changed)
-
Description: Enter a text describing the Connection.
-
Authentication Type: Choose howto authenticate with your MS Dynamics 365 system. Normally you would choose "OAuth2 (Azure AD)" here and specify the connection parameters and credentials as described below.
-
Server Connect: Specify the full path to your Dynamics 365 system - like "https://roimg027.cloudapp.net:7048/NAV/ODataV4/Company('CRONUS%20International%20Ltd.')/Customer"
for D365 BC it would be like: https://api.businesscentral.dynamics.com/v1.0/daf1fa9d-33cf-4c18-99xx-9b04xxxx0af2/api/beta/companies (please use your own tenant id)
-
Company: Specify the NAV company that this connection should use - like "CRONUS International Ltd." (Please note that this field is case sensitive). You need to create a Connection for each Company in NAV that you want to read or write data from/to.
For D365 BC you need to use the id of the company - not the name. You can get the id by leaving this field blank and use the TEST button. This will give you a list of all Company id's in your D365 BC.
-
UserID: Here you specify the userid (credentials) to access your Dynamics 365. When using the OAuth2 authentication, this is the ApplicationID of the App created in the Azure AD.
-
Password: Here you specify the Password corresponding to the above UserID. For OAuth2, this is the Key found on the App created in the Azure AD.
-
Domain: The Domain for Authentication. For OAuth2, this is the Tenant ID of your Azure AD.
-
Resource: This field is only used for OAuth2 authentication. Specify here the resource (the Application ID of the App in your Azure AD that you want to have access to - e.g. your Dynamics 365 system).
-
Metadata URL: Here you can specify the URL to the metadata for your Dynamics 365 - like "https://ROIMG008.cloudapp.net:7048/Rapidi/ODataV4/$metadata"
or for D365 BC: https://api.businesscentral.dynamics.com/v1.0/daf1fa9d-33cf-4c18-99xx-9b04xxxx0af2/api/beta/$metadata
-
Use SSL: Check this field if the connection should use SSL (this setting dictates if SSL is used independently of specifying http or https above).
Configuration in Azure Portal
- Login to portal.azure.com
- Go To Microsoft Entra ID
- Go To App Registrations
- Click + New registration
- Name = [your App Name] (Example: RapidiBCApp)
- [Section] Supported account types > Select : ... Single tenant
-
Redirect URI (optional) - Select Web and paste the following url:
https://businesscentral.dynamics.com/OAuthLanding.htm
- Click Register
- Within same screen
- On the API permissions page for your app, click the Add a permission button.
- Make sure the Microsoft APIs tab is selected. In the Commonly used Microsoft APIs section, click on the Dynamics 365 Business Central and select Delegated permissions.
- Ensure that the right permissions are checked:
user_impersonation and Financials.ReadWrite.All
- Under Application permissions tab make sure you check both options:
Dynamics 365 Business Central / Automation.ReadWrite.All and
Dynamics 365 Business Central / API.ReadWrite.All
- Click the Add permissions button.
- You will be returned to the previous screen, and there you have to click Grant Admin Consent for .... click there.
- Within same screen, From the Certificates & secrets page, in the Client secrets section, choose New client secret:
- Type a key description (of instance app secret),
- Select a key duration of either In 1 year, In 2 years, or Never Expires.
- When you press the Add button, the key value will be displayed, copy it, and save the value in a safe location.
- Keep the Application Id and the Application secret in a safe location – we will need these later.
Configuration in Dynamics 365 Business Central
Note: In order to complete below steps you need to be a Business Central admin user
- Login to your Business Central Environment
- On the Search box – search for Microsoft Entra Applications (see below snap)
IMAGE
- Click New
- For Client ID – paste the Application Id from Azure (the one that you created earlier)
- Give it a proper description (ex. RapidiBC App)
- Under User Groups – choose the code D365 AUTOMATION (this has most of the permissions sets) and D365 ADMINISTRATOR.
- Click Grant Consent
After you have successfully granted consent for the app then search for Web services and find page 21 (Customer Card). If for some reason the page is not published then you might need to publish it first by clicking the New button, choose Page and for Object ID enter 21. Object Name will be auto populated but you have to give a Service Name (ex. CustomerCard). Please make sure the checkbox Published has to be marked as checked. Copy the Odata V4 URL link and keep it in a safe place – it will be used when setting up the connection within the MyRapidi platform.
Configuration in Rapidi
- Login to MyRapidi and navigate to the 'Connections' page and choose MS Dynamics 365 BC (NAV) OData
- The fields of the MS Dynamics 365 BC (NAV) OData Connection are as follows:
Copy, Test, Activate Changes, and Read Design