REST APIs (Webservices)

Aproveche las API REST expuestas a través de HTTP (s) para insertar o extraer datos de Vtiger e integrarse con aplicaciones de terceros. Usted es libre de elegir la biblioteca de su elección para trabajar con estas API. vtwsclib proporciona soporte para trabajar con las API de REST a través de varios lenguajes de programación.

La siguiente sección cubre más detalles sobre las API:

Request Format

HTTP - GET / POST

application/x-www-form-urlencoded

Response Format

Success

{
        success: true,
        result: {
                // ...
        }
}

Failure

{
        success: false,
        error: {
                message: String,
                code:    String
        }
}

Login Operation

Es un proceso de dos pasos que consiste en obtener el testigo de desafío y el intercambio de credenciales (nombre de usuario y clave de acceso). Puede encontrar información de accessKey en "Mis preferencias" en la interfaz de usuario de CRM Web.

Challenge

GET /webservice.php?operation=getchallenge&username=<USERNAME> HTTP/1.1

Challenge Response

{
        success: true,
        result: {
                token: TOKENSTRING,    // Challenge token to be used for login.
                serverTime: TIMESTAMP, // Current Server time
                expireTime: TIMESTAMP  // Time when token expires
        }
}

Login

POST /webservice.php HTTP/1.1

operation=login
username=<USERNAME>
accessKey=md5(TOKENSTRING + <ACCESSKEY>) // Note: accessKey= K here is capitalized.

Response

{
        success: true,
        result: {
                sessionId:      String, // Unique Identifier for the session
                userId:         String, // User ID in CRM
                version:        String, // Webservice API version
                vtigerVersion:  String  // Version of CRM
        }
}

Logout Operation

POST /webservice.php HTTP/1.1

operation=logout
sessionName=sessionId // Obtained through Login Operation

List Types Operation

GET /webservice.php?operation=listtypes&sessionName=sessionId HTTP/1.1

Describe Operation

GET /webservice.php?operation=describe&sessionName=sessionId&elementType=<TYPE> HTTP/1.1

Create Operation

POST /webservice.php HTTP/1.1

operation=create
sessionName=sessionId        // Obtained through Login Operation
element=URLENCODED(JSONDATA) // JSONDATA - JSON Map of (fieldname=fieldvalue)
elementType=<TYPE>           // TYPE - Module Name

Retrieve Operation

GET /webservice.php?operation=retrieve&sessionName=sessionId&id=<WEBSERVICE_ID> HTTP/1.1

Update Operation

POST /webservice.php HTTP/1.1

operation=update
sessionName=sessionId    // Obtained through Login Operation
element=URLENCODED(DATA) // DATA - Map of (fieldname=fieldvalue)=URLENCODED(DATA) // DATA - Map of (fieldname=fieldvalue)

Delete Operation

POST /webservice.php HTTP/1.1

operation=delete
sessionName=sessionId    // Obtained through Login Operation
id=<WEBSERVICE_ID>

Query Operation

GET /webservice.php?operation=query&sessionName=sessionId&query=<QUERY> HTTP/1.1

<QUERY>

 FORMAT:
SELECT * | <column_list> | <count(*)>
FROM <object>
[WHERE <conditionals>]
[ORDER BY <column_list>]
[LIMIT [<m>, ] <n>]
<column_list> Comma separated list of field names.
<object> Type or Module Name.
<conditionals> <condition_operations> or <in_clauses> or <like_clauses> separated by ‘and’ or ‘or’ operators these are processed from left to right. The are no grouping that is bracket operators.
<condition_operations> <, >, <=, >=, =, !=
<in_clauses> in ()
<like_clauses> like ‘sqlregex’
<value_list> a comma separated list of values.
m, n integer values to specify the offset and limit respectively.

LIMITATIONS

  • Las Query se limitan actualmente a un solo objeto.
  • Joins no son soportados.
  • Query siempre limita su salida a 100 registros, la aplicación cliente puede utilizar el operador límite para obtener diferentes registros.

Sync Operation

GET /webservice.php?operation=sync&sessionName=sessionId&modifiedTime=<TIMESTAMP>&elementType=<TYPE> HTTP/1.1

Extend Session Operation

GET /webservice.php?operation=extendsession HTTP/1.1

results matching ""

    No results matching ""