SQL запросы (версия 3.xx)/amoCRM: различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
Строка 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-запросам.