Personalized Community is here!
Quickly customize your community to find the content you seek.
Check out the latest Business Central updates!Learn about the key capabilities and features of Dynamics 365 Business Central and experience some of the new features.
Overview | Guided Tour | Free Trial
2022 Release Wave 1 PlanDynamics 365 release plan for the 2022 release wave 1 describes all new features releasing from April 2022 through September 2022.
2022 release wave 1 plan
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Community | FastTrack Program | Finance and Operations TechTalks | Customer Engagement TechTalks | Upcoming TechTalks | All TechTalks
I need to create a custom API page with OData in Dynamic 365 Business Central v15 cloud - for posting a sales order as shipped via API. Can someone help me how should I achieve this? I could not find any docs for the cloud version of business central oData.
check you this old post from the community.dynamics. They have explained how you can create custom APIs for business central. I hope this helps you.
If you find this article helpful, please mark it as a solution.
I think that an agile way to stretch your bones with this is to extract the standard API code.
You might use Docker to create a container and pull out the source code of API V1 extension or you could download on premise DVD and extract the source file from Applications folder for API V1. There you will find the source code for all standard APIs.
A good blog post from the almighty AJ could help you to know more about that
To called Posting function in the API page, you can create a Bound Action in the page and that action will call the posting function in BC. Please refer to below link for more detail information
@aotto this might be what I need but how would I form the OData base url for cloud version? Also I am not familiar with AL. I just need the posting functionality via API.
@aotto I have figured out the base url but I am not able call the bound function of Sales Order.
You should be able to call the function like below
No - it does not work with POST request. This is the url - api.businesscentral.dynamics.com/.../salesOrders(e74b86e2-475c-ea11-a814-000d3ab1b8ee
)/Microsoft.NAV.shipAndInvoiceI get this response -
I had to change company name to company id but it worked.
But what if I only want to ship the order not invoice it?
You have to create a custom API with a bound action that perform what you would like to do. Not a snappy thing.
Please refer to your CSP Partner or reseller for this.
You are also encouraged in vote this request through IDEAS site for future product enhancements that actually request what you wuold like to do
Step 1. Open VS Code with AL extension installed
Usually, I use https://aka.ms/bcsandbox VM to develop in AL. But at DirectionsNA Microsoft announced support of AL for MacOS!
So, next scenario I will cover from my brand new MacOS Mojave desktop!
For Windows users … continue reading =)
Step 2. Open/clone/create AL project and download symbols
I will create a new AL project, and this will be a hybrid App. It will have Add-on capabilities (internal data structure and UI) and Connect capabilities (exposed API to my tables).
How to create new AL project and download symbols on MacOS
Step 3. Create a new table, list page and publish an app
My app will show the list of aeroplanes. Very simple example. I will not show here, how to create new AL table and page – there are tons of material available on the web.
Here is the AL code
After this step, a user will have an opportunity to create/change/delete records in a new table from Business Central UI.
Ok, now we have Add-on app. What’s about Connected App part?
Step 4. Create custom API for your App
Assume, that you want to provide to the world opportunity to communicate with your App. In my case, I have the list of all aeroplane’s models. So, why not to share that with the world?
Add an Id field to the table
First, add an ID field to your table with type GUID.
Assign a value, when you insert the record
From now, any new entry in my table will have a unique ID.
Business Applications communities