Skip to main content

How to Transfer Files through API using Base64 Stream to Business Central

Introduction:

Transferring data from Business Central Tables through API is one of the latest version of transferring data from or to Business Central using the API Page Objects or  Web Services.
Well, it gets a little difficult to transfer file blobs using the Media.ReadLinks and Media.EditLinks JSON field.


Pre-requisite:
  • Understanding of Business Central API
  • Understanding how Blobs are accessible to Business Central
  • AL Language Extension
  • VS Code
  • Understanding of JSON Data Types
References:

Solution:

1. Using Business Central API to Pass Data from  BLOB to Base64 String:

Whenever you have a file in a BLOB field and want to transfer as a Base 64 string to API - POST Request.

Convert a File(BLOB) To Base64 String



2. Reading the API into Business Central and converting the Base64 String to BLOB:
Whenever there is a call to API and it returns a response to Business Central in the following form

{
        "id":"5678",
        "base64":"T2xpc3Rlcg=="
}

If you realize, you get a JSON Array Object. You need to separate the JSON Array into individual JSON Objects and process each of the File Contents using the FOR LOOP.
In this case, I will simply write the code to just read the values from the array and convert it to a BLOB.
Convert Base64 String to Stream 
Get Token Value from JSON Object
Get Token Value from JSON Object



I shall create a separate blog on explaining the JSON Array Objects and how you can integrate multiple APIs to Business Central using the JSON Array Objects.

Conclusion:
This has been a blog after a long time.
I hope this helps and if you have any suggestions, feedback or have any special requests feel free to write in the comments or email me at olisterr@outlook.com


Comments

Popular posts from this blog

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:
Microsoft Dynamics Business Central (SaaS)VS Code(https://code.visualstudio.com/download)AL Language Extension(https://tinyurl.com/yyvzxwkb)API V1 from Business Central On-Premise DVD
Books & References:
API V1 from Business Central On-Premise DVDAPI(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 BI…

Creating APIs in Business Central - 1

Introduction:
While writing a blog on Automated Testing in Business Central, I was going through sample apps provided by Microsoft and realized that the complexity is nowhere close to what examples Microsoft has provided on docs.microsoft.com. In this blog, I will try to explain how APIs work and how to be creative with the implementation. Also, an API which were in beta are finally out with version V1.0 in the April 2019 release let's see some important key things from development aspects.
This blog is going to be theoretical one kindly bear with me.


Pre-requisites:
Microsoft Dynamics Business Central (SaaS)VS Code(https://code.visualstudio.com/download)AL Language Extension(https://tinyurl.com/yyvzxwkb)API V1 from Business Central On-Premise DVD
Books & References:
API V1 from Business Central On-Premise DVDAPI(V1.0) for Business Central (Click Here)API(Beta) for Business Central (Click Here)
Solution:

Key Requirements:
API source table must have an Id(GUID) field per record for m…

Enum Object in Business Central - How to create and how to extend!

Introduction:
Since the dawn of Business Central Era (2nd April 2018 - Today), there are many new data types introduced by Microsoft.
One such data type is Enum(Enumeration). Essentially, what enumeration is having a single select value with multiple options at a given time!
Well, I know what your thinking what about the 'Option' data type.
Anyways, enough of talking let's just dive in!

Disclaimer:The knowledge in this blog is true and complete to the best of authors and publishers knowledge. The author and publisher disclaim any liability in connection with the use of this information.
Pre-requisites:
Microsoft Dynamics Business Central (SaaS or On-Premise)
VS code with AL Language extension

Code:
1. Enum as an Object:
Just like Tables and Pages, Enum behaves like an Object.
Note that Extensible means that the Enum Object can be extended in another module. By default, this property is set to TRUE.



Enums and Enum Extensions behave differently. They follow a different number se…