В приложении Rest Activity при обращении к Rest Api методу Б24 можно не только просто указать параметры для вызова метода, а еще включить в параметры, так сказать, "вычисляемое значение". В таком случае на стороне приложения перед отправкой параметров Битриксу сначала выполнится обработка этого значения и результат выбранной для вычисления функции будет подставлен на то место, где в изначальных параметрах был указан вызов функции.
Для этого требуется:
- на место, где должен быть итоговый параметр, пишем объект (не зависимо от того что итоговый параметр может быть не объектом) с ровно одним ключом и значением
- этот ключ должен иметь формат "include-function://{function-name}" где "{function-name}" это название одной из имеющихся в приложении функций для этого функционала
- значение должно быть объектом с параметрами, которые будут переданы в функцию. (зависят от функции)
Результат выполнения функции будет подставлен на место всего этого объекта. (заменяет весь объект) При этом формат данных результата может отличатся у разных функций или в зависимости от некоторых параметров вызова функции.
Пример 1
"base64-content"
НЕ РАБОТАЕТ В ТЕСТИРОВАНИИ ЗАПРОСОВ ПРИЛОЖЕНИЯ
что делает:
забирает файл по указанной ссылке и возвращает его содержимое в формате base64
формат результата:
зависит от параметра "with_file_name"
параметры:
- "url" - СТРОКА. ссылка на файл
- "with_file_name" - БУЛЕВО. если истина, то помимо содержимого передает еще оригинальное название файла. Если истина то формат результата всей функции будет такой массив:
[{file_name}, {content}]
где "{file_name}" - строка имя файла, а "{content}" - строка содержимое файла в base64
Если ложь, то формат результата всей функции будет просто строка-содержимое файла в base64.
Обратите внимание, что для некоторых методов REST необходимо использовать объект с ключом filedata.
Документация по пользовательским полям
Документация по обработке файла
Параметры запроса для изменения сделки из БП:
{
"fields": {
"TITLE": "from_rest",
"UF_CRM_1688366332187": {
"fileData": {
"include-function://base64-content": {
"with_file_name": true,
}
}
}
},
"id": 8489
}
Пример 2
Получаем файл в формате base64 с помощью вебхука SnApi return_in_base64.
Этот и другие вебхуки SnApi описаны по ссылке: https://snapi.it-solution.ru/
Добавляем файл в поле сделки подобным образом:
Получаем следующий результат: