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 - целочисленные значения для указания смещения и ограничения соответственно.
Ограничения:
- Запросы в настоящее время ограничены одним объектом.
- Соединения не поддерживаются.
- Запрос всегда ограничивает свой вывод до 100 записей, клиентское приложение может использовать оператор ограничения для получения разных записей.
Синхронизация (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 - Маппинг (имя поля = значение поля)
Примечание
- Для выполнения операции "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>
GET /webservice.php?operation=relatedtypes&sessionName=sessionId&elementType=<moduleName>
GET /webservice.php?operation=retrieve_related&sessionName=sessionId&id=<WEBSERVICE_ID>&relatedLabel=<moduleName>&relatedType=<moduleName>
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.com.
Логотип принадлежит ООО «Виртуальные инфраструктуры предприятий».
Copyright © 2011-2018 ООО «Виртуальные инфраструктуры предприятий» http://salesplatform.ru