Server APIs
El API de vTiger permite al desarrollador tener el control del flujo de datos para cada módulo.
Se recomienda usar cuando un módulo necesite el acceso de otros module data / state. La API de vTiger se utiliza para aplicar restricciones de acceso a un Perfil requerido, también ejecuta los controladores de eventos configurados (Workflow, etc ...) para operaciones como Guardar / Eliminar.
Nota: Utilizar consultas de bases de datos directos no se aconseja ya que los desarrolladores puedan inducir a cuestiones de seguridad de datos, sin saberlo, y aumentar el riesgo.
Webservice ID
include_once 'include/Webservices/Utils.php';
$crmid = '1'; // ID of Leads record.
$wsid = vtws_getWebserviceEntityId('Leads', $crmid);
List Types
include_once 'include/Webservices/ModuleTypes.php';
$current_user = CRMEntity::getInstance('Users');
$current_user->retrieveCurrentUserInfoFromFile(1);
try {
$typeInformation = vtws_listtypes(array(), $current_user);
foreach ($typeInformation['types'] as $name) {
echo sprintf("%s\n", $name);
}
foreach ($typeInformation['information'] as $name => $information) {
echo sprintf("Name: %s, Label: %s, SingluarLabel: %s, IsEntity: %s \n",
$name, $information['label'], $information['singular'], ($information['isEntity']? "yes": "no"));
}
} catch (WebServiceException $ex) {
echo $ex->getMessage();
}
Describe
include_once 'include/Webservices/DescribeObject.php';
try {
$describe = vtws_describe('Leads', $current_user);
foreach ($describe['fields'] as $field) {
echo sprintf("%s (%s), Mandatory? %s \n", $field['name'],
$field['type']['name'], ($field['mandatory']? "yes": "no"));
}
} catch (WebServiceException $ex) {
echo $ex->getMessage();
}
Create
include_once 'include/Webservices/Create.php';
try {
$data = array (
'lastname' => 'LNAME',
'firstname'=> 'FNAME',
'company' => 'CNAME',
'assigned_user_id' => '19x1', // 19=Users Module ID, 1=First user Entity ID
);
$lead = vtws_create('Leads', $data, $current_user);
print_r($lead);
} catch (WebServiceException $ex) {
echo $ex->getMessage();
}
Retrieve
include_once 'include/Webservices/Retrieve.php';
try {
$wsid = vtws_getWebserviceEntityId('Leads', 'CRMID') // Module_Webservice_ID x CRM_ID
$lead = vtws_retrieve($wsid, $current_user);
print_r($lead);
} catch (WebServiceException $ex) {
echo $ex->getMessage();
}
Revise
include_once 'include/Webservices/Revise.php';
try {
$wsid = vtws_getWebserviceEntityId('Leads', 'CRMID') // Module_Webservice_ID x CRM_ID
$data = array('firstname' => 'FIRSTNAME', 'id' => $wsid);
$lead = vtws_revise($data, $current_user);
print_r($lead);
} catch (WebServiceException $ex) {
echo $ex->getMessage();
}
Query
include_once 'include/Webservices/Query.php';
try {
$q = "SELECT * FROM Leads WHERE lastname LIKE '%LNAME%'";
$q = $q . ';'; // NOTE: Make sure to terminate query with ;
$records = vtws_query($q, $current_user);
print_r($records);
} catch (WebServiceException $ex) {
echo $ex->getMessage();
}
Delete
include_once 'include/Webservices/Delete.php';
try {
$wsid = vtws_getWebserviceEntityId('Leads', 'CRMID') // Module_Webservice_ID x CRM_ID
vtws_delete($wsid, $current_user);
} catch (WebServiceException $ex) {
echo $ex->getMessage();
}