v 1.0Platform > platform.execute
Универсальный метод.

Данный метод позволяет запускать последовательность других методов, сохраняя и фильтруя промежуточные результаты.
Параметры
code
string
Код алгоритма в формате JavaScript. Алгоритм должен завершаться командой return %выражение%. Операторы должны быть разделены точкой с запятой.
обязательный

Внутри code может содержаться не более 20 обращений к методам API.

Обращения к API внутри алгоритма необходимо производить к функции: API.call(method, options); БЕЗ передачи параметра access_token.

Пример значения параметра code:
// Присваивает переменной list ответ функции service.list
var list = API.call('service.list');
 
// Присваивает переменной items массив со всеми услугами сервиса
var items = list.response.data.items;
var data = [];
 
// Заполняем переменную data информацией о каждой услуге перебором items + функцией service.get
for(var key in items){
data[key] = API.call('service.get', {id:items[key].id});
}
 
// Создаём объект, который нам необходимо вернуть в результате выполнения функции
var response = {
'services': data, // Массив услуг с подробной информацией
'user' : API.call('account.info').response.data, // Информация аккаунта текущего ключа
'orders' : API.call('order.list', {filter:1}).response.data, // Список заказов с фильтром "в работе"
'math' : 15*(88+15)-99/11 // Математическое выражение
}
 
// Возвращаем созданный выше объект с данными
return response;

Поддерживаются:
  • арифметические операции
  • логические операции
  • создание массивов и списков ([X,Y])
  • parseInt и parseDouble
  • конкатенация (+)
  • конструкция if
  • фильтр массива по параметру (@.)
  • вызовы методов API, параметр length
  • циклы, используя оператор while
  • методы Javascript: slice, push, pop, shift, unshift, splice, substr, split
  • оператор delete
  • присваивания элементам маcсива, например: row.user.action = "test";
  • поиск в массиве или строке — indexOf, например: "123".indexOf(2) = 1, [1, 2, 3].indexOf(3) = 2. Возвращает -1, если элемент не найден.

Создание функций НЕ поддерживается. Метод вернёт ошибку
Результат
Возвращает данные, запрошенные алгоритмом.

При работе с методом структура ответа в XML ближе к JSON и может отличаться от стандартного представления других методов.

ерсия API, указанная при вызове platform.execute, не применяется автоматически к методам, вызываемым внутри code.
Ошибки
В ходе выполнения могут произойти общие ошибки. Их описание находится на отдельной странице.
12
Ошибка выполнения кода.
Проверьте код на корректность.
Рекомендации, которые могут Вам помочь найти любой, даже самый сложный объект:
  • если Вы ищете дачный участок, то введите его наименование в окне "улица" не используя кавычек (например, Рыбачий-12);
  • номер участка СНТ вставляйте в окно "квартира" или "корпус";
  • сделайте поиск более обширным: сам населённый пункт не стоит указывать;
  • внесите информацию об улице, номере дома, корпуса и квартиры (если есть);
  • не используйте букву "Ё". Вместо неё попробуйте написать букву "Е";
  • в сложных названиях, особенно когда улица названа в честь кого-то, используйте ключевые слова, например: улица Фридриха Энгельса - напечатайте просто Фридриха.

Вернуться к поиску >