SalesPlatform Vtiger CRM REST API

Материал из SalesPlatform Wiki
Перейти к: навигация, поиск

Ресурсы для разработчиков


Salesplatform.png Vtiger.jpg
SalesPlatform Vtiger CRM REST API
Интеграция со сторонними приложениями


Содержание

REST API (Веб-сервисы)

Воспользуйтесь API-интерфейсами REST, открытыми через HTTP для ввода или извлечения данных из Vtiger при интеграции со сторонними приложениями. Вы можете выбрать библиотеку по своему усмотрению для работы с этими API. Библиотека vtwsclib обеспечивает поддержку работы с REST API через различные языки программирования.

В разделах ниже представлена более подробная информацию об API.


Формат запроса

HTTP - GET / POST

application/x-www-form-urlencoded


Формат ответа

Успех:

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

Неудача:

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


Вход в систему (getChallenge, login)

Это двухэтапный процесс, который включает в себя получение контрольного токена и обмен учетными данными (имя пользователя и ключ доступа). Информацию о доступе можно найти в разделе «Мои настройки» в веб-интерфейсе CRM.

Вызов:

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

Ответ на вызов:

{
   success: true,
   result: {
            token: TOKENSTRING,    // Получение токена, который будет использоваться для входа
            serverTime: TIMESTAMP, // Текущее время сервера
            expireTime: TIMESTAMP  // Время, когда токен истекает
   }
}

Авторизация:

POST /webservice.php HTTP/1.1

operation=login
username=<USERNAME>
accessKey=md5(TOKENSTRING + <ACCESSKEY>) // Примечание: accessKey= K - заглавная буква.

Ответ:

{
   success: true,
   result: {
            sessionId:      String, // Уникальный идентификатор для сессии
            userId:         String, // Идентификатор пользователя в CRM
            version:        String, // Версия API Веб-сервиса
            vtigerVersion:  String  // Версия CRM
   }
}

Выход из системы (logout)

POST /webservice.php HTTP/1.1

operation=logout
sessionName=sessionId // Получено через операцию входа в систему

Список типов сущностей (listTypes)

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


Описание сущности (describe)

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


Создание сущности (create)

POST /webservice.php HTTP/1.1

operation=create
sessionName=sessionId        // Получено через операцию входа в систему
element=URLENCODED(JSONDATA) // JSONDATA - JSON Маппинг (имя поля = значение поля)
elementType=<TYPE>           // TYPE - Имя модуля

Получение сущности (retrieve)

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


Обновление сущности (update)

POST /webservice.php HTTP/1.1

operation=update
sessionName=sessionId    // Получено через операцию входа в систему
element=URLENCODED(DATA) // DATA - Маппинг (имя поля = значение поля)

Удаление сущности (delete)

POST /webservice.php HTTP/1.1

operation=delete
sessionName=sessionId    // Получено через операцию входа в систему
id=<WEBSERVICE_ID>

Запрос по параметрам (query)

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

Формат:

 SELECT * | <column_list> | <count(*)>
 FROM <object>
 [WHERE <conditionals>]
 [ORDER BY <column_list>]
 [LIMIT [<m>, ] <n>]
<column_list> - Список имен полей, разделенные запятыми.

<object> - Тип или имя модуля.

<conditionals> - <condition_operations> или <in_clauses> или <like_clauses>, разделенные операторами 'и' или 'или', они обрабатываются слева направо. Это не группировка, которая является оператором скобки.

<condition_operations> - <, >, <=, >=, =, !=

<in_clauses> - in ()

<like_clauses> - как ‘sqlregex’

<value_list> - список значений, разделенные запятыми.

m, n - целочисленные значения для указания смещения и ограничения соответственно.


Ограничения:


Синхронизация (sync)

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

Продление сеанса работы (extendSession)

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

Обновление сущности (revise)

 POST /webservice.php
 operation=revise
 sessionName=sessionId    // Получено через операцию входа в систему
 element=URLENCODED(DATA) // DATA - Маппинг (имя поля = значение поля)
Vt note.png Примечание
Для выполнения операции "update" требуются все обязательные поля, которые должны быть переданы при обновлении одного поля, тогда как с помощью "revise" можно передавать только те поля, которые необходимо обновить.

Изменение пароля (changePassword)

 POST /webservice.php
operation=changePassword
sessionName=sessionId               // Получено через операцию входа в систему
id=<userId>                         // Идентификатор пользователя в CRM
oldPassword=<oldPassword>           // Старый пароль
newPassword=<newPassword>           // Новый пароль 
confirmPassword=<confirmPassword>   // Подтверждение пароля

Удаление пользователя (deleteUser)

 POST /webservice.php
operation=deleteUser
sessionName=sessionId               // Получено через операцию входа в систему
id=<userId>                         // Идентификатор пользователя в CRM
newOwnerId=<newOwnerId>             // Идентификатор пользователя в CRM, к которому будут прикреплены все записи удаляемого пользователя

Получение сущности с товарной частью (retrieve_inventory)

 GET /webservice.php?operation=retrieve_inventory&sessionName=sessionId&id=<WEBSERVICE_ID>

Получение информации о связанных модулях сущности (relatedtypes)

 GET /webservice.php?operation=relatedtypes&sessionName=sessionId&elementType=<moduleName>

Получение записей связанного модуля сущности (retrieve_related)

 GET /webservice.php?operation=retrieve_related&sessionName=sessionId&id=<WEBSERVICE_ID>&relatedLabel=<moduleName>&relatedType=<moduleName>

Получение записей связанного модуля сущности с использованием запроса (query_related)

 GET /webservice.php?operation=query_related&sessionName=sessionId&query=SELECT * FROM <moduleName> &id=<WEBSERVICE_ID>&relatedLabel=<moduleName>

Авторские права

Руководство на русском языке составлено и распространяется ООО «Виртуальные инфраструктуры предприятий» http://salesplatform.ru

Относящиеся к настоящему документу вопросы, замечания, пожелания и комментарии присылайте по адресу: sales@salesplatform.ru

Торговая марка vtiger и vtiger CRM, а также логотип Vtiger.jpg принадлежат vtiger.com.

Логотип Salesplatform.png принадлежит ООО «Виртуальные инфраструктуры предприятий».

Copyright © 2011-2018 ООО «Виртуальные инфраструктуры предприятий» http://salesplatform.ru


Ресурсы для разработчиков

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Документация
Разработчикам
Присоединяйтесь!
Инструменты