Added api examples
parents
Showing
Create_Records.xml
0 → 100644
GoogleSheer_OAuth.xml
0 → 100644
GoogleSheet_Bearer_Token.xml
0 → 100644
README.md
0 → 100755
# VTAP | |||
ApiDesignerExamples folder has examples for custom REST API's or invoke other application HTTP end points. | |||
**Note** : | |||
1. For external applications you need to white list them. This can be added from API Designer list view > Settings. | |||
2. Unique names should be given for each api's so they can be identifed easily. | |||
**VADL** : Defining API's are dependent on VADL (Vtiger Api Definition Language). This language is loosely based on xml format. | |||
VADL provides following options to create api's. | |||
1. api - all the api's are defined within this node. It has attribute method which decides the http type of api request. | |||
Example : | |||
<?xml version="1.0" ?> | |||
<api method="get"> | |||
//API definition | |||
</api> | |||
2. select - used to select vtiger records. | |||
Example : | |||
* Select module records with where condition | |||
<?xml version="1.0" ?> | |||
<api method="get"> | |||
<select module="Contacts"> | |||
<record> | |||
<field name="firstname"> </field> | |||
<field name="lastname"> </field> | |||
</record> | |||
<where> | |||
<field name="email" value="[email protected]"> </field> | |||
</where> | |||
</select> | |||
</api> | |||
* Select module with value binding | |||
<?xml version="1.0" ?> | |||
<api method="get"> | |||
<select module="Contacts"> | |||
<record> | |||
<field name="firstname"> </field> | |||
<field name="lastname"> </field> | |||
</record> | |||
<where> | |||
<field name="email" value="@email_address"> </field> | |||
</where> | |||
</select> | |||
</api> | |||
3. create - create vtiger record by passing request parameters and respond back with response defined by fields. | |||
Example : | |||
* Create Contacts with value binding | |||
<?xml version="1.0" ?> | |||
<create module=”Contacts”> | |||
<record> | |||
<field name="firstname" value="@firstname"></field> | |||
<field name="lastname" value="@lastname"></field> | |||
<field name="email" value="@email"></field> | |||
</record> | |||
<return> | |||
<field name="id"></field> | |||
<field name="firstname"></field> | |||
<field name="lastname"></field> | |||
<field name="email"></field> | |||
<field name="assigned_user_id"></field> | |||
</return> | |||
</create> | |||
* Create Potential with reference field | |||
<?xml version="1.0" ?> | |||
<api method="post"> | |||
<create module=”Potentials”> | |||
<record> | |||
<field name="potentialname" value="@name"></field> | |||
<field name="amount" value="@amount"></field> | |||
<field name="contact_id" module="Contacts"> | |||
<select> | |||
<where> | |||
<field name="email" value="@email"></field> | |||
</where> | |||
</select> | |||
<create> | |||
<record> | |||
<field name="lastname" value="@lastname"></field> | |||
<field name="firstname" value="@firstname"></field> | |||
<field name="email" value="@email"></field> | |||
<field name="contacttype" value="Lead"></field> | |||
</record> | |||
</create> | |||
</field> | |||
</record> | |||
</create> | |||
</api> | |||
4. update - it will update existing vtiger record. | |||
Example : | |||
* Update contacts using email address field. | |||
<?xml version="1.0" ?> | |||
<api method="put"> | |||
<update module="Contacts"> | |||
<record> | |||
<field name="email" value="@email"></field> | |||
</record> | |||
<return> | |||
<field name="id"></field> | |||
</return> | |||
<where> | |||
<field name="email" condition="eq" value="@old_email"></field> | |||
</where> | |||
</update> | |||
</api> | |||
5. upsert - update if record found else create new record. | |||
Example : | |||
* Search a contact by id, if found update else create new contact. | |||
<?xml version="1.0" ?> | |||
<api method="post" module=”Contacts”> | |||
<upsert> | |||
<where> | |||
<field name="id" condition="eq" value="@CRMID"></field> | |||
</where> | |||
<update> | |||
<record> | |||
<field name="email" value="@email" presence="optional" ></field> | |||
</record> | |||
</update> | |||
<create> | |||
<record> | |||
<field name="firstname" value="@firstname" presence="optional" ></field> | |||
<field name="lastname" value="@lastname" presence="optional" ></field> | |||
<field name="email" value="@email" presence="optional" ></field> | |||
</record> | |||
</create> | |||
<return> | |||
<field name="id"></field> | |||
</return> | |||
</upsert> | |||
</api> | |||
6. delete - this will delete vtiger record | |||
Example : | |||
* Delete records | |||
<?xml version="1.0" ?> | |||
<api method="delete"> | |||
<delete module="@module"> | |||
<where> | |||
<field name="id" condition="eq" value="@CRMID"></field> | |||
</where> | |||
</delete> | |||
</api> | |||
Select_Records.xml
0 → 100644
<?xml version="1.0" ?> | |||
<api method="get"> | |||
<select module="Contacts"> | |||
<record> | |||
<field name="firstname"> </field> | |||
<field name="lastname"> </field> | |||
</record> | |||
<where> | |||
<field name="email" value="[email protected]"> </field> | |||
</where> | |||
</select> | |||
</api> | |||
Slack_Fetch_Channels.xml
0 → 100644
Slack_Fetch_Users.xml
0 → 100644
Slack_Post_Message.xml
0 → 100644
Update_Record.xml
0 → 100644
Please register or sign in to comment