We generally use SOAP or REST API to integrate NAV system with any third party software, In NAV 2018 a new feature has been introduced for REST API interface, it Includes 44 entities providing access to business entities related to core financial functionality, such as company information, journal entry, customer and vendor management, sales and purchasing documents, and financial reporting.
In NAV 2018 a new page type has been introduced called – API, which are out of the Box like Customer, Vendor, Item, Sales Order, Sales Invoices, Currencies, etc. One can decide a NAV 2018 upgrade in order to experience the improved integration feature.
The API provides a simplified representation of the underlying data structure, allowing developers to create apps without the need of a deep understanding of the Dynamics NAV data model and business logic. The aim is to enable developers to code against a static, highly-structured API, and make app changes on their own schedule. Microsoft is committed to add to the API and not break it from version to version.
Process of Enabling APIs :
Dynamics NAV exposes an API that makes it possible to integrate with other services. To enable integration with these APIs, below are the steps that will enable APIs.
1. Open Dynamics NAV Administration tool.
2. Expand the OData Services tab, and select the Enable OData Services checkbox first, then select the Enable API Services checkbox.
3. Check that the values for the OData Base URL and Port are entered correctly.When exposing a web service, you must open the port for other consumers of your web service to access it. You can have your system administrator add the port through Windows Firewall on the computer running Microsoft Dynamics NAV Server. The default port for OData web services is 7048.
4. In Dynamics NAV, search for API Setup and then choose the related link.
5. On the API Setup page, choose the Integrate APIs button.
This will start a process of populating all the integration tables with records for all APIsWeb services page you can see the OData V4 URL.
Sample End point URL: http://LPNOA120:7048/DynamicsNAV110/api/beta/
E.g.: Customer API the URL will be – http://LPNOA120:7048/DynamicsNAV110/api/beta/companies()/customers
Create Your Own API :
You can build your own API by copying the existing API pages and customize the copy and publish to a different API endpoint in that case to avoid conflicts with the Microsoft API.
Below are the steps
- Create a page with API type with all the required properties with the ODataKeyFields, you can refer for any other existing entity for this.
- Complex Types: it returns as a response from using an action or function or passed as parameter to a function. For an example here on page Address field has set ODataEDMType properties as POSTALADDRESS.(In standard there are so many OData EDM Definition available, it is also possible to create your own definition key)
- Bound Action: When an action element represents a bound action,it has IsBound attribute with the value true. You can see any standard API entity for the reference having function is used with the properties of ServiceEnabled to yes.You can see, any standard API entity for the reference having function, is used with the properties of ServiceEnabled to yes.
Companies using any version of NAV integrated with a third party software can benefit from the enhanced integration feature in NAV 2018. This can be done either through a NAV 2018 upgrade or a NAV 2018 implementation.