SQL запросы (версия 3.xx)/amoCRM: различия между версиями
Zombrine (обсуждение | вклад) |
Jugin (обсуждение | вклад) |
||
Строка 22: | Строка 22: | ||
Подробное описание формата вызова родных методов REST API amoCRM можно посмотреть [https://developers.amocrm.ru/rest_api/#fields здесь]. | Подробное описание формата вызова родных методов REST API amoCRM можно посмотреть [https://developers.amocrm.ru/rest_api/#fields здесь]. | ||
Помимо этого можно использовать функцию, которая вернет нужный объект, например такого вида: | |||
/! | |||
function () { | |||
return {Method: 'contacts/list', | |||
Type: 'GET', | |||
Params: {type: 'all'}, | |||
Result: 'contacts'}; | |||
} | |||
!/ | |||
Или функцию, которая выполнит необходимые действия и вернет результат, например так: | |||
/! | |||
function () { | |||
return this.Query ('select * from contacts'); | |||
} | |||
!/ | |||
Более сложный вариант функции с вызовом метода REST API amoCRM и формированием результата: | |||
/! | |||
function () { | |||
var Res = this.CallMethod ('contacts/list', {type: 'all'}, 'GET'); | |||
return this.MakeResult (this.Select ('contacts/list', {type: 'all'}, Res['contacts'], 'contacts')); | |||
} | |||
!/ | |||
Помимо этого SQL-запросы к этому источнику данных могут содержать комментарии в виде /* */ и содержать несколько запросов разделенных символами // на новой строке. | Помимо этого SQL-запросы к этому источнику данных могут содержать комментарии в виде /* */ и содержать несколько запросов разделенных символами // на новой строке. |
Версия 09:11, 10 марта 2017
Для работы с данными amoCRM можно использовать стандартные SQL запросы, которые буду преобразованы в формат REST API amoCRM. Поддерживаются SQL - операторы:
- select - выборка данных. В списке полей можно указать только * - все поля.
- where - позволяет указать условие выборки. Поддерживается только условие отбора id =.
- limit - позволяет указать начальное значение выборки и количество строк. Например: limit 50 или limit 10, 50
- insert - вставка данных, позволяет указать список полей и константы значений, выражения не поддерживаются. Обязательное поле: name.
- update - изменение данных, позволяет указать список изменяемых полей и единственное условие отбора: where id =.
Помимо стандартного синтаксиса SQL, в запросах к источнику данных amoCRM можно использовать вставки родного синтаксиса REST API amoCRM. Для этого используется конструкция /! !/.
Если по каким то причинам стандартный синтаксис SQL не подходит, можно использовать вызовы методов REST API amoCRM напрямую, без преобразования. Для этого следует вместо SQL запроса указать конструкцию:
/! {Method: <название метода API>, Type: <тип запроса>, Params: <передаваемые параметры>, Result: <получаемые результаты из указанной таблицы>} !/
Например:
/! {Method: 'contacts/list', Type: 'GET', Params: {type: 'all'}, Result: 'contacts'} !/
Подробное описание формата вызова родных методов REST API amoCRM можно посмотреть здесь.
Помимо этого можно использовать функцию, которая вернет нужный объект, например такого вида:
/! function () { return {Method: 'contacts/list', Type: 'GET', Params: {type: 'all'}, Result: 'contacts'}; } !/
Или функцию, которая выполнит необходимые действия и вернет результат, например так:
/! function () { return this.Query ('select * from contacts'); } !/
Более сложный вариант функции с вызовом метода REST API amoCRM и формированием результата:
/! function () { var Res = this.CallMethod ('contacts/list', {type: 'all'}, 'GET'); return this.MakeResult (this.Select ('contacts/list', {type: 'all'}, Res['contacts'], 'contacts')); } !/
Помимо этого SQL-запросы к этому источнику данных могут содержать комментарии в виде /* */ и содержать несколько запросов разделенных символами // на новой строке.
Назад к SQL-запросам.