Skip to main content

API Part 5 - Add Custom API in List.

Hi Readers,

Sorry for the delay on next article in API Series for NAV 2018. I exactly forgot about that I didn't complete this series.

Thank you all who requested for this article. Hope this article continues from that.

We already have four posts about NAV 2018 API listed below -

API Part 1

API Part 2 - Configure API

API Part 3 - Consuming API

API Part 4 - Develop a Custom API.

In this article, we will see how we can add Page External Item Entity in the API Web Service Page. After adding External Item Entity in list we will be able to consume ExtItem API Page.

Let's create a New custom Codeunit "Graph Mgt - External Item" that we will use for adding functions which are required to publish New API Page.

To Publish New Page in API, we don't need to modify any base object. Microsoft has added Required Publisher in Base NAV Code to publish new API's.

We need to subscribe to three Published Events -

Event 1 - ApiSetup.
Event 2 - OnGetPredefinedIdValue.
Event 3 - OnUpdateReferencedIdField.

We will Create Three Subscribers in New Codeunit to Subscribe above Listed Events - 

Subscriber 1 - HandleApiSetup

Event Publisher Object - Codeunit Graph Mgt - General Tools
Event Function - ApiSetup

Subscriber 2 - HandleGetPredefinedIdValue

Event Publisher Object - Codeunit Integration Management
Event Function - OnGetPredefinedIdValue

Subscriber 3 - HandleUpdateReferencedIdFieldOnItem

Event Publisher Object - Codeunit Integration Management
Event Function - OnUpdateReferencedIdField

Additionally Create a Function UpdateIntegrationRecords with one parameter like - OnlyItemsWithoutId of Type Boolean.

Let's Start adding code to these functions and subscribers.

Subscriber 1 - HandleApiSetup. 
This Subscriber will call the Newly Created Function "UpdateIntegrationRecords".

Subscriber 2 - HandleGetPredefinedIdValue
This Subscriber will check that API is already Configured in the database using Integration API action in Page API Setup.
(Discussed in Article Microsoft Dynamics NAV 2018 - API Part 2 - Configure API.)

Subscriber 3 - HandleUpdateReferencedIdFieldOnItem
This Subscriber will check and update Field ID Value if changes in the source table.

Function UpdateIntegrationRecords

This function (Which is called by First Subscriber) insert or modify Integration Record. With Record in Integration Record then it will be ready to publish as API.

Hope you find the information useful and Complete API Development.

Next article we will try to see a demo of how we add this Custom API and will try to use it.

Let me know your views.

Saurav Dhyani


  1. Thanks for your post. seems to be useful for me.

  2. Waiting for part 6! Grateful so far.

    1. Hi, thank you for the comment. I am no longer using BC 14, but if you are interested, I can do a series on BC API as they have changed. Please let me know.


Post a Comment

Popular posts from this blog

Welcome - Microsoft Dynamics 365!

Hi All, In this article we will discuss the new introduced member of Dynamics Family. Yes you heard it correctly, one more new member with Name "Microsoft Dynamics 365" . #ProjectMadeira   #Dynamics365

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing - 

MSDYN365BC - Data Upgrade To Microsoft Dynamics 365 Business Central on premises.

Hi Readers, We have already talked about the number of steps for upgrading to Business Central on Premises from different NAV versions. After that article, I received multiple requests for an article which list down steps for Data Migration. In this article, we will discuss steps of data migration to MSDYN365BC (on-Prem) from NAV 2017. For this article, I am considering a Cronus Demo Database without any customization. For an actual upgrade project, we will have to complete object merge using compare and Merge process. After the Merge Process, the next step is data migration. Let's discuss those steps. Direct Upgrade to Microsoft Dynamics 365 Business Central (on-Prem) is from following versions - 1. NAV 2015. 2. NAV 2016. 3. NAV 2017. 4. NAV 2018.