Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Table of Contents

About Burti

...

API

What is a REST API?

Simply put, an API  is set of rules developed to expose data and functionality across the internet in a consistent format. Representation State Transfer (REST) is a term used to refer to API generally being accessed via HTTP protocol.

...

Burti REST API resources provides information or content, which can be accessed at a predefined set of URL and returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Burti , for example provides REST APIs for {this solution, this and this … ????}API is a simple implementation of a REST API. It is used for communication with Web stores, Logistics applications, Service applications, custom Web applications as well as Mobile apps.

Advantages of using a REST API?

...

A RESTful API breaks down a transaction to create a series of small modules. Each module addresses a particular underlying part of the transaction. This modularity provides developers with a lot of flexibility.

Suited for

...

Web

REST technology is generally preferred to the more robust Simple Object Access Protocol (SOAP) technology because REST leverages less bandwidth, making it more suitable for internet usage. 

...

Section


Column
width30%

Burti API is not included in Standard ERP base package. You will need to acquire a license from us and as soon as the formalities are settled, you will be provided with the API module package (see panel to the right for explanation of the contents of the package which includes an enabler key file).

You will need to place these files on your Standard ERP server.

Info
(info) You

You likely do not need to read this section in detail, since typically we will install these files for you. If this is indeed the case, please, feel free to skip ahead to the next section.



Column
width70%


FileDescription

Burti Enabler - Enables Burti package functionality

hobcust/EN.hob 

If you are already using any Burti functionality packages, you will likely already have this installed.
halcust/datadefEN.hal 

Support file. You must amend your halcust/datadef.hal file to include the line

Code Block
Exec_file("halcust/datadefEN.hal");


halcust/enab/...  filesThese files need to be added to your HAL Rules setting and distributed to client computers. These will add UI elements that will allow you to renew Burti Enabler keys from your SERP client if necessary. 

Burti API package

hobcust/JSON.hob 
halcust/datadefJSON.hal 

Support file. You must amend your halcust/datadef.hal file to include the line

Code Block
Exec_file("halcust/datadefJSON.hal");


halcust/json/...  filesThese files need to be added to your HAL Rules setting and distributed to client computers. These will add UI elements that will allow you to configure the Burti API functionality.

halcust/serverJSON/custom-interfaces/...

halcust/serverJSON/generated-interfaces/...

These will most likely be empty folders at first but will be populated by support files generated by the package. These will provide the main functionality of the API.

Enabler key file

BurtiEnabler.bkey This file contains the product key that enables the use of the package. This will need to be updated periodically with a new key. However, this is done automatically in most cases and you will likely not need to bother with this. The contents of this file can also be manipulated via the Burti Enabler package mentioned at the top of this table.



...

Section


Column
width30%

Burti API allows you to implement additional layers and logic to control who and how can access the API as a whole or separately for its' endpoints. As us for more details on how to do it, as this is an advanced topic and will require HAL programming.

This is done using the field "Custom boolean auth.function" on each relevant interface definition record, found in the "Burti - JSON API" module.

The function can be as simple as a username/password check that is passed along additionally with the request or as complex as calculating and validating against a passed hash of the request by a pre-determined algorithm.


Column
width70%


Interface generation

Read API

...


Section


What is a REST API?

Simply put, an API  is set of rules developed to expose data and functionality across the internet in a consistent format. Representation State Transfer (REST) is a term used to refer to API generally being accessed via HTTP protocol.

Resources often have one or more methods that can be performed on them over HTTP, most popular of them being, GET, POST, PUT and DELETE.

Burti REST API resources provides information or content, which can be accessed at a predefined set of URL and returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Burti, for example provides REST APIs for {this solution, this and this … ????}

Advantages of using REST API?

Flexibility

A RESTful API breaks down a transaction to create a series of small modules. Each module addresses a particular underlying part of the transaction. This modularity provides developers with a lot of flexibility.

Suited for WEB

REST technology is generally preferred to the more robust Simple Object Access Protocol (SOAP) technology because REST leverages less bandwidth, making it more suitable for internet usage. 

test 2.kolonna
Column
width50%
Column
width50%
30%

To generate the various end-points Burti API relies on the database structure that Standard ERP exposes via the Export/import Format report in its' Technics module.

When the report is run without specifying a register code, it will dump the database definitions of all the registers in the database. These are for example Invoices, Sales Orders, Deliveries and such.

You will need to look up the register(-s) that you wish to expose via the API in this report and then separately export these to a text file.

In this example we show how to generate an API end-point for the Orders register.

Step 1: Enter the keyword "Orders" in the search field of the report

Step2: Cycling through the search results pin-point the correct register and take note of its' code (ORVc).


Column
width70%

Image Added





Read API


Write API


Section


Column
width30%



Column
width70%