Skip to main content

Understanding and How to use APIs Business Central - 2

Introduction:
In my last blog post (Business Central API -1 ) on Creating API in Business Central, we discussed all the commonly used properties of the page, query, and controls like field and data-item.
In today's blog, we will be diving deeply into the validation of the data passed through the API endpoint, how it enters into the source tables and is manipulated to be inserted/modified into single or multiple tables.
Also, I will be demonstrating how APIs are to be used.

Pre-requisites:

Books & References:
  • API V1 from Business Central On-Premise DVD
  • API(V1.0) for Business Central (Click Here)
  • API(Beta) for Business Central (Click Here)

Theory:
Understanding API in Business Central
1. BINDSUBSCRIPTIONS: Use to trigger IntegrationEvent for the Codeunit stated in parameters whenever the function calling BINDSUBSCRIPTION is invoked.

2. Actions through OData API: Actions in API is basically a function called through to API to call some actions passing the current record as parameter

3. Parsing JSON strings to actual records: Parsing  JSON string is used generally where EDM is used. For Eg: While passing payment method on Customer, we pass one or more JSON arrays thus this value is passed as a parameter on the field. To convert JSON array to actual field values on the table, we parse the JSON string.

4. General functions on Validate Trigger: Whenever a data is passed on the field on any page, you can use OnValidate trigger on the field to invoke a code to perform a set of procedures. This can ideally used in creation of No. in a Number Series. Whenever we pass a record, we don't know the next No. in Number Series. Thus NAV/ BC should automatically insert the record with appropriate No.

5. Using Codeunits for achieving the functionality:
There are few Codeunits present in C/AL  which can be used to Install/Uninstall extensions through API. In Business Central Extensions you are not allowed to use such functions but are accessible through C/AL Development Environment.

Demonstration:
How to use APIs in Business Central

1. Viewing List of APIs:

List of Companies:

2. Filtering Records in API:
Text Filtering 


DateTime Filtering

3. Selecting Records in API:






Conclusion:
I think everyone agrees that to write an APIs, you've to be creative while adding or modifying the data. Thus, to sum up, we've seen the key components in  implementation of APIs in Business Central.Also, I have demonstrated how to use APIs. In my next blog, I'll be giving an example which consists of scenarios for API creation and explain the details of all the code used in this blog.

Comments

  1. Hello, you mention that you've been parsing JSON strings to actual records. Where can I found an example for that?

    Thanks in advance

    ReplyDelete
  2. Hi Marcos,

    It is in my upcoming blog on APIs.
    If you want to know how to Parse JSON String, then refer https://www.olisterr.tech/2020/01/how-to-integrate-source-control-using.html
    where I get the response from request and save the hash value.

    ReplyDelete

Post a Comment

Let me know your comments below. I'll try my best to answer your comment

Popular posts from this blog

Universal Code Error and Resolution

Introduction: On Friday, May 12th, 2023, the Business Central On-Premise Production Environments started throwing universal code errors as follows. This occurred to every customer on a lower version of BC 19,20 and 21 irrespective of their localization, customization, and license. Pre-requisites:  Understanding of Technical Upgrade in Business Central On-Prem References: BC20 On prem. Universal Code requirement error after installing customer's license. - Dynamics 365 Business Central Forum Community Forum (40) Yammer : Dynamics 365 Business Central Development : View Conversation Root Cause: The certificate that signs Microsoft Base Application was expired. Errors started occurring if you Uninstalled, Installed Extensions, Restart Server Instances or for some even out of random started popping out. We first thought could be a license issue as we had fixed that before but this did not solve the issue. Resolution: Microsoft identified the issue and posted the following update The mi

Something went wrong. An Error occurred - Error Resolution

Introduction: With the installation of NAV 2018 or BC On-premise, I have observed that when creating New Server Instance and New WebServer Instance, you will get the error 'Something went wrong. An Error occurred '. I referred to the community questions below but didn't find my resolution. Hence, I decided to write this blog. Pre-requisites: Microsoft Dynamics Business Central - On-Premise / NAV 2018 Understanding of Business Central Authentication  Books & References: https://community.dynamics.com/nav/f/microsoft-dynamics-nav-forum/261301/nav-2018-web-client-an-error-has-occurred https://community.dynamics.com/business/f/dynamics-365-business-central-forum/421987/error-something-went-wrong-an-error-has-occurred-azure-ad-tenant Demonstration: 1. Creation of NAVServerInstance: In order to create NAVServerInstance, you can either add the Server Instance through Business Central Administration or Powershell command. Add Instance - Business Central Administration Add Insta

How to update your Business Central to Latest CU

Introduction:  There are times when Microsoft releases the latest major version upgrade for Business Central Upgrade and you face many issues with it. As soon as the bugs are reported to Microsoft, they start to fix them and ask you to upgrade to a certain Cumulative Update. In this blog, I will be sharing my experience with Business Central v21 CU0 upgrade to Business Central v21 CU2. Pre-requisites:  Business Central DVD for Latest CU Basic Understanding of Business Central CU Updates Books & References:  List of Update Packages How to Update CU version Demonstration:  1. Check the current state of BC: As part of knowing the current state of your Business Central environment, I'm assuming that your Business Central Environment will have some data in the standard Base App also there will be customization with extended tables and newly created tables. Customization - TableExtension on Customer Table  Customization - Custom Table created Make a note of the data that is present i