|
|
## API Designer {#api-designer}
|
|
|
## API Designer
|
|
|
|
|
|
API Designer provides a workbench for developers to develop HTTP based APIs which can be exposed to the VTAP runtime or the external application for integration easily.
|
|
|
|
|
|
APIs can be defined using VADL specification. APIs access needs user authorization and follows standard record access configuration made within CRM.
|
|
|
|
|
|
|
|
|
### VADL Specification {#vadl-specification}
|
|
|
### 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.
|
|
|
|
... | ... | @@ -30,7 +30,7 @@ VADL allows you to |
|
|
* Bind API inputs to VTAP runtime configuration store.
|
|
|
|
|
|
|
|
|
### API Endpoint {#api-endpoint}
|
|
|
### API Endpoint
|
|
|
|
|
|
API defined through API Designer can be access through the [restapi](https://help.vtiger.com/article/147111249-Rest-API-Manual) endpoint as follows:
|
|
|
|
... | ... | @@ -38,10 +38,10 @@ API defined through API Designer can be access through the [restapi](https://hel |
|
|
|
|
|
HTTP Basic Authentication (username and accesskey) should be used and HTTP Method is controlled within API definition.
|
|
|
|
|
|
### API Samples {#api-samples}
|
|
|
### API Samples
|
|
|
|
|
|
|
|
|
#### Select Records {#select-records}
|
|
|
#### Select Records
|
|
|
|
|
|
To select (firstname, lastname) record fields of Module for matching email (=[[email protected]](mailto:[email protected])) the API definition would be:
|
|
|
|
... | ... | @@ -85,7 +85,7 @@ To select (firstname, lastname) of Contacts record where email field value match |
|
|
|
|
|
|
|
|
|
|
|
#### Create Record {#create-record}
|
|
|
#### Create Record
|
|
|
|
|
|
If the intent is to create Contacts module record by accepting (firstname, lastname, email) from the request parameter and respond back with record id then API definition for the same would be as shown below.
|
|
|
|
... | ... | @@ -109,7 +109,7 @@ If the intent is to create Contacts module record by accepting (firstname, lastn |
|
|
|
|
|
|
|
|
|
|
|
#### Create Record WIth Reference Field {#create-record-with-reference-field}
|
|
|
#### Create Record WIth Reference Field
|
|
|
|
|
|
Reference field rules can have a combination of select and create rules which gives the ability to create reference records if select does not yield any match.
|
|
|
|
... | ... | @@ -143,7 +143,7 @@ Reference field rules can have a combination of select and create rules which gi |
|
|
|
|
|
|
|
|
|
|
|
#### Update Record {#update-record}
|
|
|
#### Update Record
|
|
|
|
|
|
To replace email field value with incoming parameter (new_email) on all Contacts record matching incoming parameter (old_email) and respond back with record ID of changed records.
|
|
|
|
... | ... | @@ -198,7 +198,7 @@ To replace email field value with incoming parameter (new_email) on all Contacts |
|
|
|
|
|
|
|
|
|
|
|
#### Invoke HTTP Rest API {#invoke-http-rest-api}
|
|
|
#### Invoke HTTP Rest API
|
|
|
|
|
|
Using bearer token invoke Google Sheet API
|
|
|
|
... | ... | @@ -217,7 +217,7 @@ Using bearer token invoke Google Sheet API |
|
|
|
|
|
|
|
|
|
|
|
#### REST URL Builder {#rest-url-builder}
|
|
|
#### REST URL Builder
|
|
|
|
|
|
Rest API URL can be composed with dynamic value binding by passing arguments in the url node.
|
|
|
|
... | ... | @@ -238,7 +238,7 @@ You can achieve by following url rules. |
|
|
|
|
|
|
|
|
|
|
|
#### OAuth Support {#oauth-support}
|
|
|
#### OAuth Support
|
|
|
|
|
|
VTAP server end handles the OAuth2 flow and lets you focus on getting the user authentication for access data of the desired application.
|
|
|
|
... | ... | @@ -293,7 +293,7 @@ Example: |
|
|
|
|
|
|
|
|
|
|
|
#### Special Value Binding {#special-value-binding}
|
|
|
#### Special Value Binding
|
|
|
|
|
|
|
|
|
<table>
|
... | ... | |