VADL

VADL Specification

Vtiger Application Definition Language (VADL) is based on XML syntax to enable administrators or developers to be able to define API without needing deep programming skills.

VADL allows you to

  • Define custom APIs for example CURD (Create, Retrieve, Update, Delete) on entity modules.
  • Invoke HTTP based (REST / SOAP) endpoint through (GET/POST/PUT/DELETE) methods or with Authentication (Basic / Bearer token based)
  • Build Incoming webhooks endpoints.

VADL example:

    
<?xml version="1.0" ? >
    <api method="post">
        <!-- definition goes here -->
    </api>    
    

VADL API definitions

Name Description Example
api entire api definition is encapsulated inside api node, method attribute set the type(get,post,put,delete) of http request. <api method='post'></api>
select this will let you select the vtiger record data, you can select which fields to be fetched, filter records and sort them <api method='get'><select module='Contacts'></select></api>
create this will let you create vtiger record <api method='post'><create module='Contacts'></create></api>
update this will let you update vtiger record <api method='put'><update module='Contacts'></update></api>
upsert this will let you update record if exists else create it <api method='put'><upsert module='Contacts'></upsert></api>
delete this will help you delete vtiger record <api method='delete'><delete module='Contacts'></delete></api>
rest this will help you connect with other application <api method='get'><rest method="get"><url>https://slack.com/api/conversations.list</url></rest></api>
soap connect with legacy soap api's <api method='get'><soap method="get"><auth><basic username="" password=""></basic></auth><url></url></soap></api>
webhook build incoming webhook api's <api><webhook><select module='Contacts'></select></webhook></api>

For examples on how to create custom apis, visit here or to learn how to connect to other applications click here