<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Get Binary Data from REST API response in Workato Pros Discussion Board</title>
    <link>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9546#M3897</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://systematic.workato.com/t5/user/viewprofilepage/user-id/8685"&gt;@shivakumara&lt;/a&gt;&amp;nbsp;,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;That results in an error:&amp;nbsp;&amp;nbsp;undefined method `body' for #&amp;lt;String:0x0000563ae74cf888&amp;gt; ...&amp;nbsp; I'm guessing because it is expecting body to be in the response?&lt;/P&gt;</description>
    <pubDate>Mon, 07 Apr 2025 08:32:42 GMT</pubDate>
    <dc:creator>Waldy</dc:creator>
    <dc:date>2025-04-07T08:32:42Z</dc:date>
    <item>
      <title>Get Binary Data from REST API response</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9533#M3892</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;I'm getting an error from the get method in my connector when I try to get the response of a REST API method that returns binary data.&lt;/P&gt;&lt;P&gt;The error is&amp;nbsp;&lt;SPAN&gt;783: unexpected token at '����' at line:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I'm guessing it is trying to parse the response as JSON.&lt;/P&gt;&lt;P&gt;The code is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;execute:&lt;/SPAN&gt; &lt;SPAN&gt;lambda&lt;/SPAN&gt; &lt;SPAN&gt;do&lt;/SPAN&gt;&lt;SPAN&gt; |&lt;/SPAN&gt;&lt;SPAN&gt;connection&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;input&lt;/SPAN&gt;&lt;SPAN&gt;|&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;# Fetch attachment binary data&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;get&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;connection[&lt;/SPAN&gt;&lt;SPAN&gt;'tenant_url'&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;/api/rest/attachment?ID=&lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;input[&lt;/SPAN&gt;&lt;SPAN&gt;'RecId'&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response_format_raw. &lt;/SPAN&gt;&lt;SPAN&gt;# Treat response as raw binary data&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;after_error_response&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;/.*/&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;do&lt;/SPAN&gt;&lt;SPAN&gt; |&lt;/SPAN&gt;&lt;SPAN&gt;_code&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;_header&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;message&lt;/SPAN&gt;&lt;SPAN&gt;|&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;error&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;message&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;end&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 04 Apr 2025 14:52:04 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9533#M3892</guid>
      <dc:creator>Waldy</dc:creator>
      <dc:date>2025-04-04T14:52:04Z</dc:date>
    </item>
    <item>
      <title>Re: Get Binary Data from REST API response</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9537#M3895</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://systematic.workato.com/t5/user/viewprofilepage/user-id/9905"&gt;@Waldy&lt;/a&gt;&amp;nbsp;,&lt;BR /&gt;Here I am adding a ruby with small changes with an explanation.&lt;/P&gt;&lt;LI-CODE lang="ruby"&gt;execute: lambda do |connection, input|
  # Fetch attachment binary data
  get("#{connection['tenant_url']}/api/rest/attachment?ID=#{input['RecId']}")
    .response_format_raw # Treat the response as raw binary data
    .after_error_response(/.*/) do |_code, body, _header, message|
      error("#{message}: #{body}")
    end
    .tap do |response|
      {
        binary_content: response.body,
        headers: response.headers
      }
    end
end&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;1.&amp;nbsp;.response_format_raw tells Workato not to parse the response as JSON.&lt;BR /&gt;2. &amp;nbsp;.tap is used to construct a return payload with binary_content and headers so that you can access both.&lt;BR /&gt;&lt;BR /&gt;I hope this will help you, please kindly try it from your end and let me know if you need further help.&lt;/P&gt;&lt;P class=""&gt;Thanks and Regards,&lt;BR /&gt;Shivakumara K A&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 06 Apr 2025 13:04:11 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9537#M3895</guid>
      <dc:creator>shivakumara</dc:creator>
      <dc:date>2025-04-06T13:04:11Z</dc:date>
    </item>
    <item>
      <title>Re: Get Binary Data from REST API response</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9546#M3897</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://systematic.workato.com/t5/user/viewprofilepage/user-id/8685"&gt;@shivakumara&lt;/a&gt;&amp;nbsp;,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;That results in an error:&amp;nbsp;&amp;nbsp;undefined method `body' for #&amp;lt;String:0x0000563ae74cf888&amp;gt; ...&amp;nbsp; I'm guessing because it is expecting body to be in the response?&lt;/P&gt;</description>
      <pubDate>Mon, 07 Apr 2025 08:32:42 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9546#M3897</guid>
      <dc:creator>Waldy</dc:creator>
      <dc:date>2025-04-07T08:32:42Z</dc:date>
    </item>
    <item>
      <title>Re: Get Binary Data from REST API response</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9561#M3898</link>
      <description>&lt;P&gt;I got it working like this:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;execute: lambda do |connection, input|
        # Fetch attachment binary data
        response = get("#{connection['tenant_url']}/api/rest/attachment?ID=#{input['RecId']}")
          .response_format_raw # Treat the response as raw binary data
          .after_error_response(/.*/) do |_code, body, _header, message|
            error("#{message}: #{body}")
          end
          # Encode binary data to Base64
          {
            RecId: input['RecId'],
            FileData: Base64.strict_encode64(response.to_s)
          }
      end&lt;/LI-CODE&gt;</description>
      <pubDate>Mon, 07 Apr 2025 12:47:36 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9561#M3898</guid>
      <dc:creator>Waldy</dc:creator>
      <dc:date>2025-04-07T12:47:36Z</dc:date>
    </item>
    <item>
      <title>Re: Get Binary Data from REST API response</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9562#M3899</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://systematic.workato.com/t5/user/viewprofilepage/user-id/9905"&gt;@Waldy&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Great to hear that! Since I wasn't able to test it on my end, I shared the code from my repository that is working.&lt;/P&gt;&lt;P&gt;Thanks again for keeping me informed!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks and Regards,&lt;BR /&gt;Shivakumara K A&lt;/P&gt;</description>
      <pubDate>Mon, 07 Apr 2025 15:00:41 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/get-binary-data-from-rest-api-response/m-p/9562#M3899</guid>
      <dc:creator>shivakumara</dc:creator>
      <dc:date>2025-04-07T15:00:41Z</dc:date>
    </item>
  </channel>
</rss>

