Получить файл в формате base64

Оглавление


В приложении 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,
          "url": "https://work-food.ru/admin/images/maxi/goods03/1631546779605465afb0bc79.46986788.png"
        }
      } 
    }
  },
  "id": 8489
}





Пример 2

Получаем файл в формате base64 с помощью вебхука SnApi return_in_base64.
Этот и другие вебхуки SnApi описаны по ссылке: https://snapi.it-solution.ru/ 


Добавляем файл в поле сделки подобным образом:


Получаем следующий результат: 


Теги: rest activity