<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>zoom Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/tag/zoom/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/tag/zoom/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Tue, 18 Mar 2025 14:02:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.4</generator>

<image>
	<url>https://zappysys.com/blog/wp-content/uploads/2023/01/cropped-zappysys-symbol-large-32x32.png</url>
	<title>zoom Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/tag/zoom/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to call Zoom REST API using SSIS (OAuth / JWT)</title>
		<link>https://zappysys.com/blog/call-zoom-rest-api-using-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 07 Sep 2018 20:17:34 +0000</pubDate>
				<category><![CDATA[REST API Integration]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[jwt]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[oauth2]]></category>
		<category><![CDATA[rest api]]></category>
		<category><![CDATA[zoom]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=4758</guid>

					<description><![CDATA[<p>Introduction In this post you will learn how to call Zoom REST API using SSIS. We will use SSIS REST API Task and JSON Source (see below). We will go through step by step demonstration to show you how to register OAuth App in Zoom portal, call API to read data and load into SQL [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/call-zoom-rest-api-using-ssis/">How to call Zoom REST API using SSIS (OAuth / JWT)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#FFF8B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>UPDATE:</strong> ZappySys has released a brand new <a href="https://zappysys.com/api/integration-hub/zoom-connector/">API Connector for Zoom</a> which makes it much simpler to <strong>Read/Write Zoom Data in SSIS</strong> compared to the steps listed in this article. You can still use steps from this article but if you are new to API or want to avoid learning curve with API then use newer approach.</p>
<p>Please visit <a href="https://zappysys.com/api/integration-hub/">this page to see all</a> Pre-Configured ready to use API connectors which you can use in <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-source/">SSIS API Source</a> / <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-destination/">SSIS API Destination</a> OR <a href="https://zappysys.com/products/odbc-powerpack/odbc-api-driver/">API ODBC Driver</a> (for non-SSIS Apps such as Excel, Power BI, Informatica).</p>
</div></div>
<a href="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-integration.png"><img decoding="async" class=" wp-image-4788 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-integration.png" alt="" width="105" height="105" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-integration.png 250w, https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-integration-150x150.png 150w" sizes="(max-width: 105px) 100vw, 105px" /></a>In this post you will learn how to call Zoom REST API using SSIS. We will use SSIS REST API Task and JSON Source (see below). We will go through step by step demonstration to show you how to register OAuth App in Zoom portal, call API to read data and load into SQL Server.</p>
<p>&nbsp;</p>
<p><strong>Tasks / Components used in this article.</strong><br />
<div class="su-table su-table-alternate">
<table>
<tbody>
<tr>
<td><img decoding="async" class="" src="https://zappysys.com/images/ssis-powerpack/ssis-rest-api-web-service-task.png" alt="Custom SSIS Tasks - SSIS Rest Api Web Service Task" width="47" height="47" /></td>
<td><a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">REST API Web Service Task</a></td>
</tr>
<tr class="su-even">
<td><img loading="lazy" decoding="async" class="" src="https://zappysys.com/images/ssis-powerpack/SSIS-Json-Source-Adapter.png" alt="Custom SSIS Components - Json Source" width="47" height="47" /></td>
<td><a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/" target="_blank" rel="noopener">JSON Source (REST API Source)</a></td>
</tr>
</tbody>
</table>
</div>
<h2><span id="Prerequisites">Prerequisites</span></h2>
<p>Before we look into Step-By-Step section to extract and load data from <strong>Zoom to SQL Server</strong> let’s make sure you met the following requirements.</p>
<ol>
<li>SSIS designer installed. Sometimes it is referred as BIDS or SSDT (<a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt" target="_blank" rel="noopener">download it from Microsoft site</a>).</li>
<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
<li><a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener"><em>ZappySys SSIS PowerPack</em> installed</a>. Click on the link to download a FREE trial.</li>
<li>You have the basic familiarity with REST API concepts and Zoom API.</li>
</ol>
<h2>Zoom API Authentication</h2>
<p>Now let&#8217;s look at step by step how to read data from Zoom API or POST data to Zoom using SSIS.</p>
<p>Zoom Provides 3 ways to authenticate API calls. In this article we will cover only JWT and OAuth 2.0 connection approach.</p>
<ol>
<li>Use JWT Token</li>
<li>Use OAuth 2.0 Token (3-legged OAuth)</li>
<li>Use API Key / Secret directly in API call (Mostly used by older API <a href="https://zoom.github.io/api-v1/#list-users" target="_blank" rel="noopener">like this one</a>)</li>
</ol>
<h2>Method-1 : Call Zoom API in SSIS using JWT Token (RFC 7519)</h2>
<p>In this section we will learn how to use JWT Token method to call Zoom API (i.e. JWT <a href="https://tools.ietf.org/html/rfc7519" target="_blank" rel="noopener">as per RFC 7519</a> and <a href="https://jwt.io/" target="_blank" rel="noopener">here</a> ).</p>
<p>JWT method is simple compared to OAuth 2.0 (next section) so many people prefer it compared to OAuth.</p>
<p>Now let&#8217;s look at how to use JWT token approach to authenticate your Zoom API calls.</p>
<h3>Obtain Zoom API Key / Secret for JWT Auth</h3>
<ol>
<li>First Visit your <a href="https://developer.zoom.us/me/" target="_blank" rel="noopener">Zoom Developer account here</a></li>
<li>Click on API Tab and copy your API Key and Secret (We will use it later)
<div id="attachment_4956" style="width: 859px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-key-secret-jwt-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4956" class="size-full wp-image-4956" src="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-key-secret-jwt-token.png" alt="Obtain Zoom API Key and Secret (Used to generate JWT Token)" width="849" height="531" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-key-secret-jwt-token.png 849w, https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-key-secret-jwt-token-300x188.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-key-secret-jwt-token-768x480.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-key-secret-jwt-token-436x272.png 436w" sizes="(max-width: 849px) 100vw, 849px" /></a><p id="caption-attachment-4956" class="wp-caption-text">Obtain Zoom API Key and Secret (Used to generate JWT Token)</p></div></li>
<li>Whitelist the Redirect URL
<div id="attachment_9274" style="width: 761px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/09/Zoom-Callback-URL.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9274" class="size-full wp-image-9274" src="https://zappysys.com/blog/wp-content/uploads/2018/09/Zoom-Callback-URL.png" alt="Whitelist Callback URL" width="751" height="270" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/Zoom-Callback-URL.png 751w, https://zappysys.com/blog/wp-content/uploads/2018/09/Zoom-Callback-URL-300x108.png 300w" sizes="(max-width: 751px) 100vw, 751px" /></a><p id="caption-attachment-9274" class="wp-caption-text">Whitelist the Redirect URL</p></div></li>
</ol>
<p>Once we have API key / Secret we can move on to SSIS part.</p>
<h3>Configure SSIS HTTP Connection with JWT</h3>
<p>Now lets get started with SSIS part. We will first create HTTP Connection for Zoom API access using JWT method.</p>
<ol>
<li>Open SSIS Package and drag <a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">ZS REST API Task</a> from SSIS Control Flow Toolbox</li>
<li>Change URL Access Mode to <strong>Url From Connection</strong></li>
<li>Enter URL as <strong>https://api.zoom.us/v2/users/me/settings</strong></li>
<li>Select <strong>New ZS-HTTP</strong> connection type from the connection dropdown</li>
<li>Configure HTTP Connection as below. Select <strong>Credentials Type</strong> as <strong>JWT Token</strong>. Enter API Key and Secret.
<div id="attachment_4957" style="width: 730px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-jwt-token-option-http-connection-manager.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4957" class="size-full wp-image-4957" src="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-jwt-token-option-http-connection-manager.png" alt="Configure HTTP Connection Manager (for API using JWT Token Authentication)" width="720" height="587" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-jwt-token-option-http-connection-manager.png 720w, https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-jwt-token-option-http-connection-manager-300x245.png 300w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-4957" class="wp-caption-text">Configure HTTP Connection Manager (for API using JWT Token Authentication)</p></div></li>
<li>Once HTTP connection is configured you can click OK to save connection.</li>
<li>On the REST API Task click Test to confirm see its working.
<div id="attachment_4793" style="width: 798px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4793" class="size-full wp-image-4793" src="https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection.png" alt="Calling Zoom REST API using SSIS REST API Task" width="788" height="523" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection.png 788w, https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection-300x199.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection-768x510.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection-272x182.png 272w" sizes="(max-width: 788px) 100vw, 788px" /></a><p id="caption-attachment-4793" class="wp-caption-text">Calling Zoom REST API using SSIS REST API Task</p></div></li>
</ol>
<div class="content_block" id="custom_post_widget-2516"><h2><span id="Debug_Web_API_call_using_Fiddler">Debug Web API call using Fiddler</span></h2>
To test how things looking behind the scene we strongly suggest to use <a href="https://zappysys.com/blog/how-to-use-fiddler-to-analyze-http-web-requests/" target="_blank" rel="noopener">tool like  fiddler</a>.

You can double click the URL entry (Right side) to see Request and Response Panels. Top panel is Request (URL, Headers, Body) and Bottom Panel is Response.
<div id="attachment_2344" class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-2344" style="border: 0px; max-width: 100%; height: auto; box-shadow: rgba(0, 0, 0, 0.176) 0px 1px 2px;" src="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?resize=720%2C316&amp;ssl=1" sizes="(max-width: 720px) 100vw, 720px" srcset="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?w=1287&amp;ssl=1 1287w, https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?resize=300%2C131&amp;ssl=1 300w, https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?resize=768%2C337&amp;ssl=1 768w, https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?resize=1024%2C449&amp;ssl=1 1024w" alt="Debugging Web API call using Fiddler in SSIS" width="702" height="308" data-attachment-id="2344" data-permalink="https://zappysys.com/blog/pass-authorization-header-redirected-location/ssis-rest-api-call-debug-via-fiddler/#main" data-orig-file="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?fit=1287%2C564&amp;ssl=1" data-orig-size="1287,564" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ssis-rest-api-call-debug-via-fiddler" data-image-description="&lt;p&gt;Debugging Web API call using Fiddler in SSIS&lt;/p&gt; " data-medium-file="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?fit=300%2C131&amp;ssl=1" data-large-file="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?fit=720%2C316&amp;ssl=1" /></a>
<p class="wp-caption-text">Debugging Web API call using Fiddler in SSIS</p>

</div>
<h2><span id="Loadingdata_fromREST_API_to_SQL_Server">Loading <span id="Loading_Graph_API_Office_365_data_to_SQL_Server">data from </span>REST API to SQL Server</span></h2>
Once you setup HTTP / OAUTH connection we can use <strong>JSON Source</strong> or <strong>XML Source</strong> to extract data from API and  load into SQL Server. If you are API is XML based API then use XML Source in below examples else use JSON Source.

For example purpose we will load data into SQL Server but you can load into any Target (e.g. Flat file, Oracle, Excel) using Microsoft or ZappySys Destination connectors

To load REST API data into SQL Server perform the following steps (<strong>Screenshots are generic</strong> and used for demonstration for purpose, <strong>your values can be different</strong> than below)
<ol>
 	<li>Go to SSIS Data Flow tab</li>
 	<li>Drag <a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/" target="_blank" rel="noopener">ZS JSON Source</a> from the SSIS Toolbox (Use <a href="https://zappysys.com/products/ssis-powerpack/ssis-xml-source/" target="_blank" rel="noopener">ZS XML Source</a> if your API is XML based API)</li>
 	<li>Double click to edit Source</li>
 	<li>Set API URL you like to call, Check Use Credentials if you need to use HTTP or OAuth connection</li>
 	<li>Set Method / Body if its other than GET. For method other than GET make sure you select correct <strong>Content-Type</strong> from Dropdown (e.g. <strong>application/json</strong>). This indicate input data format in Body.</li>
 	<li>Set <strong>HTTP Headers</strong> if needed (in Most cases you won't need to set this)</li>
 	<li>Select Filter (many times this is not needed). If your API response has array node then select it here. For example if your response looks like this <strong>{ rows: [ {...}, {...}, {...} ] }</strong> then filter would be <strong>$.rows[*]</strong>. Select Array node you like to extract in the Filter selection UI.

<a href="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-get-data-google-bigquery-select-json-filter.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1573" src="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-get-data-google-bigquery-select-json-filter.png" alt="" width="675" height="363" srcset="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-get-data-google-bigquery-select-json-filter.png 675w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-get-data-google-bigquery-select-json-filter-300x161.png 300w" sizes="(max-width: 675px) 100vw, 675px" /></a></li>
 	<li><a href="https://zappysys.com/blog/ssis-rest-api-looping-until-no-more-pages-found/" target="_blank" rel="noopener">Configure Pagination</a> if needed on the pagination tab. Check your API documentation see it supports pagination.</li>
 	<li>Click OK to Save component settings and generate <a href="https://zappysys.com/blog/handling-ssis-component-metadata-issues/" target="_blank" rel="noopener">desired metadata / columns for the output</a>.</li>
 	<li>Now drag <strong>OLEDB destination</strong> from the SSIS toolbox and drop on the Data Flow surface (technically you can use any valid Destination but for demo we will use OLEDB Destination)</li>
 	<li>Connect Source to Destination Component</li>
 	<li>On OLEDB destination select / create new SQL Connection and then Click "<strong>New Table</strong>"</li>
 	<li>Click on <strong>Mappings tab</strong> to map columns by names and click OK to save</li>
 	<li>Execute the Package</li>
</ol>
<div id="attachment_1617" class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png"><img loading="lazy" decoding="async" class="size-full wp-image-1617" style="border: 0px; max-width: 100%; height: auto; box-shadow: rgba(0, 0, 0, 0.176) 0px 1px 2px;" src="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?resize=720%2C546" sizes="(max-width: 720px) 100vw, 720px" srcset="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?w=782 782w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?resize=300%2C227 300w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?resize=768%2C582 768w" alt="Configure SSIS OLEDB Destination - Loading Xero Data into SQL Server Table" width="702" height="532" data-attachment-id="1617" data-permalink="https://zappysys.com/blog/reading-loading-data-in-xero-sql-server-ssis/ssis-xero-to-sql-server-data-load/#main" data-orig-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?fit=782%2C593&amp;ssl=1" data-orig-size="782,593" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ssis-xero-to-sql-server-data-load" data-image-description="&lt;p&gt;Configure SSIS OLEDB Destination – Loading Xero Data into SQL Server Table&lt;/p&gt; " data-medium-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?fit=300%2C227&amp;ssl=1" data-large-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?fit=720%2C546&amp;ssl=1" /></a>
<p class="wp-caption-text">Configure SSIS OLEDB Destination – Loading REST API Data into SQL Server Table</p>

</div>
<div id="attachment_1618" class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png"><img loading="lazy" decoding="async" class="size-full wp-image-1618" style="border: 0px; max-width: 100%; height: auto; box-shadow: rgba(0, 0, 0, 0.176) 0px 1px 2px;" src="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?resize=720%2C533" sizes="(max-width: 720px) 100vw, 720px" srcset="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?w=734 734w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?resize=300%2C222 300w" alt="Xero to SQL Server Column Mappings for OLEDB Destination" width="702" height="519" data-attachment-id="1618" data-permalink="https://zappysys.com/blog/reading-loading-data-in-xero-sql-server-ssis/ssis-xero-sql-server-load-mappings/#main" data-orig-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?fit=734%2C543&amp;ssl=1" data-orig-size="734,543" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ssis-xero-sql-server-load-mappings" data-image-description="&lt;p&gt;Xero to SQL Server Column Mappings for OLEDB Destination&lt;/p&gt; " data-medium-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?fit=300%2C222&amp;ssl=1" data-large-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?fit=720%2C533&amp;ssl=1" /></a>
<p class="wp-caption-text">REST API to SQL Server Column Mappings for OLEDB Destination</p>

</div>
<div id="attachment_1619" class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png"><img loading="lazy" decoding="async" class="size-full wp-image-1619" style="border: 0px; max-width: 100%; height: auto; box-shadow: rgba(0, 0, 0, 0.176) 0px 1px 2px;" src="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?resize=283%2C391" sizes="(max-width: 283px) 100vw, 283px" srcset="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?w=283 283w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?resize=217%2C300 217w" alt="Loading Xero data to SQL Server in SSIS" width="275" height="380" data-attachment-id="1619" data-permalink="https://zappysys.com/blog/reading-loading-data-in-xero-sql-server-ssis/ssis-loading-data-from-xero-to-sql-server/#main" data-orig-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?fit=283%2C391&amp;ssl=1" data-orig-size="283,391" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ssis-loading-data-from-xero-to-sql-server" data-image-description="&lt;p&gt;Loading Xero data to SQL Server in SSIS&lt;/p&gt; " data-medium-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?fit=217%2C300&amp;ssl=1" data-large-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?fit=283%2C391&amp;ssl=1" /></a>
<p class="wp-caption-text">Loading REST API to SQL Server in SSIS</p>

</div>
<h2><span id="POST_Data_to_ServiceNow_API_Insert_Update_or_Delete">POST / Write Data to API (Insert, Update or Delete)</span></h2>
There will be a time you like to automate POST actions (e.g. create new incident via API call). <a href="https://zappysys.com/blog/http-post-in-ssis-send-data-to-web-api-url-json-xml/" target="_blank" rel="noopener">Check this article</a> to learn more on how to POST , DELETE, PUT data using API calls
<h2><span id="Common_Errors">Common Errors</span></h2>
There are many error can occur during runtime. Here are most common errors you may face at runtime.
<div id="custom_post_widget-1887" class="content_block">
<h3><span id="Truncation_related_error">Truncation related error</span></h3>
The most common error you may face when you run a SSIS package is truncation error. During the design time only 300 rows are scanned from a source (a file or a REST API call response) to detect datatypes but at runtime it is likely you will retrieve far more records. So it is possible that you will get longer strings than initially expected. For detailed instructions how to fix common metadata related errors read an article "<a href="https://zappysys.com/blog/handling-ssis-component-metadata-issues/" target="_blank" rel="noopener">How to handle SSIS errors (truncation, metadata issues)</a>".
<h3><span id="Authentication_related_error">Authentication related error</span></h3>
Another frequent error you may get is authentication error, which happens when you deploy/copy a package to another machine and run it there. Check <a href="https://zappysys.com/blog/loading-data-from-rest-api-to-sql-server-in-ssis/#Deployment_to_Production">Deployment to Production</a> below to see why it happens and how to solve this problem.

</div>
<h2><span id="Deployment_to_Production">Deployment to Production</span></h2>
<div id="custom_post_widget-1932" class="content_block">In SSIS package <a href="https://docs.microsoft.com/en-us/sql/integration-services/security/access-control-for-sensitive-data-in-packages" target="_blank" rel="noopener">sensitive data such as tokens and passwords are by default encrypted by SSIS</a> with your Windows account which you use to create a package. So SSIS will fail to decrypt tokens/passwords, when you run it from another machine using another Windows account. To circumvent this when you are creating a SSIS package which uses authentication components (e.g. an <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-oauth-connection-manager.htm" target="_blank" rel="noopener">OAuth Connection Manager</a> or an <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-http-connection-manager.htm" target="_blank" rel="noopener">HTTP Connection Manager</a> with credentials, etc.), consider using parameters/variables to pass tokens/passwords. In this way you won’t face authentication related errors when package is deployed to a production server. Check our article on <a href="https://zappysys.com/blog/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server/" target="_blank" rel="noopener">how to configure packages with sensitive data on your production or development server</a>.</div></div>
<h3>Reading Zoom API data using JSON Source (with Pagination)</h3>
<p>Now let&#8217;s look at how to use ZappySys JSON Source to read API data and parse into rows/column</p>
<ol>
<li>Drag and drop data flow task from SSIS Toolbox</li>
<li>Double click task to go to data flow designer</li>
<li>Drag SSIS ZS JSON Source from toolbox</li>
<li>Edit JSON Source like below</li>
<li>Enter URL like below (Use different URL if needed.)<br />
https://api.zoom.us/v2/users/me/meetings?type=upcoming&amp;page_size=100&amp;page_number=1</li>
<li>Select connection</li>
<li>Goto pagination tab and enter information as below screenshot.</li>
<li>Click on Select Filter</li>
<li>Click Preview to test</li>
</ol>
<div id="attachment_5234" style="width: 849px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-zoom-api-pagination-setup.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5234" class="size-full wp-image-5234" src="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-zoom-api-pagination-setup.png" alt="Read Zoom API data using JSON Source (Configure Pagination)" width="839" height="687" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-zoom-api-pagination-setup.png 839w, https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-zoom-api-pagination-setup-300x246.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-zoom-api-pagination-setup-768x629.png 768w" sizes="(max-width: 839px) 100vw, 839px" /></a><p id="caption-attachment-5234" class="wp-caption-text">Read Zoom API data using JSON Source (Configure Pagination)</p></div>
<h2>Method-2 : Call Zoom API in SSIS using OAuth 2.0</h2>
<p>Now let&#8217;s look at OAuth 2.0 approach to authenticate with Zoom API.</p>
<h3>Register OAuth App</h3>
<p>Very first step to authenticate your Zoom API call using OAuth method is to register App. Go through <a href="https://devdocs.zoom.us/docs/oauth-with-zoom" target="_blank" rel="noopener">steps  listed here to register your App</a>. Below are high level steps.</p>
<div class="su-note"  style="border-color:#e5dd9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#FFF7B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">Do not to submit your App for Marketplace Approval (Last step) if you are creating OAuth App to access their own company data and do not want to access other company&#8217;s data using your app. In other words leave your app under Development mode only (Ignore production credentials if you do not wish to publish app to marketplace).</div></div>
<ol>
<li>Visit <a href="http://marketplace.zoom.us/" target="_blank" rel="noopener">http://marketplace.zoom.us/</a></li>
<li>Click Build menu item at the top</li>
<li>Select App Type (i.e. <strong>Account Level</strong> or <strong>User Level</strong>) and Click Begin</li>
<li>Once App credentials displayed enter Redirect URL (use https://zappysys.com/oauth2 if you are not sure what to enter here). This URL never receives data from API but its only used to get authentication code during OAuth Process so don&#8217;t worry.</li>
<li>Click on Scopes tab and select one or more permissions you like to assign to your App.</li>
</ol>
<h3>Configure SSIS OAuth Connection</h3>
<p>Now lets get started with SSIS part. We will first create OAuth Connection for Zoom API access.</p>
<ol>
<li>Open SSIS Package and drag <a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">ZS REST API Task</a> from SSIS Control Flow Toolbox</li>
<li>Change URL Access Mode to <strong>Url From Connection</strong></li>
<li>Enter URL as <strong>https://api.zoom.us/v2/users/me/settings</strong></li>
<li>Select <strong>New ZS-OAUTH</strong> connection type from the connection dropdown</li>
<li>Configure OAuth connection as below. Enter Token file path, enter Redirect URL, ClientID, Client Secret and then click Generate Token (You may have to login and then click Accept button to grant permission).
<div id="attachment_4791" style="width: 683px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection-set-token-file.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4791" class="size-full wp-image-4791" src="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection-set-token-file.png" alt="Configure OAuth Connection for Zoom API (Enter Token File Path - This is needed to handle changing refresh token scenario)" width="673" height="425" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection-set-token-file.png 673w, https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection-set-token-file-300x189.png 300w" sizes="(max-width: 673px) 100vw, 673px" /></a><p id="caption-attachment-4791" class="wp-caption-text">Configure OAuth Connection for Zoom API (Enter Token File Path &#8211; This is needed to handle changing refresh token scenario)</p></div>
<div id="attachment_4790" style="width: 499px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection-set-redirect-url.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4790" class="size-full wp-image-4790" src="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection-set-redirect-url.png" alt="Configure OAuth Connection for Zoom API (Enter Redirect URL / Callback URL)" width="489" height="293" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection-set-redirect-url.png 489w, https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection-set-redirect-url-300x180.png 300w" sizes="(max-width: 489px) 100vw, 489px" /></a><p id="caption-attachment-4790" class="wp-caption-text">Configure OAuth Connection for Zoom API (Enter Redirect URL / Callback URL)</p></div>
<div id="attachment_4792" style="width: 690px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4792" class="size-full wp-image-4792" src="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection.png" alt="Generate Token for Zoom API using OAuth 2.0" width="680" height="637" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection.png 680w, https://zappysys.com/blog/wp-content/uploads/2018/09/zoom-api-oauth-connection-300x281.png 300w" sizes="(max-width: 680px) 100vw, 680px" /></a><p id="caption-attachment-4792" class="wp-caption-text">Generate Token for Zoom API using OAuth 2.0</p></div></li>
<li>Once you get token is generated you can click OK to save connection.</li>
<li>On the REST API Task click Test to confirm its working.
<div id="attachment_4793" style="width: 798px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4793" class="size-full wp-image-4793" src="https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection.png" alt="Calling Zoom REST API using SSIS REST API Task" width="788" height="523" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection.png 788w, https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection-300x199.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection-768x510.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/09/call-zoom-rest-api-in-ssis-use-oauth-connection-272x182.png 272w" sizes="(max-width: 788px) 100vw, 788px" /></a><p id="caption-attachment-4793" class="wp-caption-text">Calling Zoom REST API using SSIS REST API Task</p></div></li>
</ol>
<div class="content_block" id="custom_post_widget-2516"><h2><span id="Debug_Web_API_call_using_Fiddler">Debug Web API call using Fiddler</span></h2>
To test how things looking behind the scene we strongly suggest to use <a href="https://zappysys.com/blog/how-to-use-fiddler-to-analyze-http-web-requests/" target="_blank" rel="noopener">tool like  fiddler</a>.

You can double click the URL entry (Right side) to see Request and Response Panels. Top panel is Request (URL, Headers, Body) and Bottom Panel is Response.
<div id="attachment_2344" class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-2344" style="border: 0px; max-width: 100%; height: auto; box-shadow: rgba(0, 0, 0, 0.176) 0px 1px 2px;" src="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?resize=720%2C316&amp;ssl=1" sizes="(max-width: 720px) 100vw, 720px" srcset="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?w=1287&amp;ssl=1 1287w, https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?resize=300%2C131&amp;ssl=1 300w, https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?resize=768%2C337&amp;ssl=1 768w, https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?resize=1024%2C449&amp;ssl=1 1024w" alt="Debugging Web API call using Fiddler in SSIS" width="702" height="308" data-attachment-id="2344" data-permalink="https://zappysys.com/blog/pass-authorization-header-redirected-location/ssis-rest-api-call-debug-via-fiddler/#main" data-orig-file="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?fit=1287%2C564&amp;ssl=1" data-orig-size="1287,564" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ssis-rest-api-call-debug-via-fiddler" data-image-description="&lt;p&gt;Debugging Web API call using Fiddler in SSIS&lt;/p&gt; " data-medium-file="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?fit=300%2C131&amp;ssl=1" data-large-file="https://zappysys.com/blog/wp-content/uploads/2016/05/ssis-rest-api-call-debug-via-fiddler.png?fit=720%2C316&amp;ssl=1" /></a>
<p class="wp-caption-text">Debugging Web API call using Fiddler in SSIS</p>

</div>
<h2><span id="Loadingdata_fromREST_API_to_SQL_Server">Loading <span id="Loading_Graph_API_Office_365_data_to_SQL_Server">data from </span>REST API to SQL Server</span></h2>
Once you setup HTTP / OAUTH connection we can use <strong>JSON Source</strong> or <strong>XML Source</strong> to extract data from API and  load into SQL Server. If you are API is XML based API then use XML Source in below examples else use JSON Source.

For example purpose we will load data into SQL Server but you can load into any Target (e.g. Flat file, Oracle, Excel) using Microsoft or ZappySys Destination connectors

To load REST API data into SQL Server perform the following steps (<strong>Screenshots are generic</strong> and used for demonstration for purpose, <strong>your values can be different</strong> than below)
<ol>
 	<li>Go to SSIS Data Flow tab</li>
 	<li>Drag <a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/" target="_blank" rel="noopener">ZS JSON Source</a> from the SSIS Toolbox (Use <a href="https://zappysys.com/products/ssis-powerpack/ssis-xml-source/" target="_blank" rel="noopener">ZS XML Source</a> if your API is XML based API)</li>
 	<li>Double click to edit Source</li>
 	<li>Set API URL you like to call, Check Use Credentials if you need to use HTTP or OAuth connection</li>
 	<li>Set Method / Body if its other than GET. For method other than GET make sure you select correct <strong>Content-Type</strong> from Dropdown (e.g. <strong>application/json</strong>). This indicate input data format in Body.</li>
 	<li>Set <strong>HTTP Headers</strong> if needed (in Most cases you won't need to set this)</li>
 	<li>Select Filter (many times this is not needed). If your API response has array node then select it here. For example if your response looks like this <strong>{ rows: [ {...}, {...}, {...} ] }</strong> then filter would be <strong>$.rows[*]</strong>. Select Array node you like to extract in the Filter selection UI.

<a href="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-get-data-google-bigquery-select-json-filter.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1573" src="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-get-data-google-bigquery-select-json-filter.png" alt="" width="675" height="363" srcset="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-get-data-google-bigquery-select-json-filter.png 675w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-get-data-google-bigquery-select-json-filter-300x161.png 300w" sizes="(max-width: 675px) 100vw, 675px" /></a></li>
 	<li><a href="https://zappysys.com/blog/ssis-rest-api-looping-until-no-more-pages-found/" target="_blank" rel="noopener">Configure Pagination</a> if needed on the pagination tab. Check your API documentation see it supports pagination.</li>
 	<li>Click OK to Save component settings and generate <a href="https://zappysys.com/blog/handling-ssis-component-metadata-issues/" target="_blank" rel="noopener">desired metadata / columns for the output</a>.</li>
 	<li>Now drag <strong>OLEDB destination</strong> from the SSIS toolbox and drop on the Data Flow surface (technically you can use any valid Destination but for demo we will use OLEDB Destination)</li>
 	<li>Connect Source to Destination Component</li>
 	<li>On OLEDB destination select / create new SQL Connection and then Click "<strong>New Table</strong>"</li>
 	<li>Click on <strong>Mappings tab</strong> to map columns by names and click OK to save</li>
 	<li>Execute the Package</li>
</ol>
<div id="attachment_1617" class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png"><img loading="lazy" decoding="async" class="size-full wp-image-1617" style="border: 0px; max-width: 100%; height: auto; box-shadow: rgba(0, 0, 0, 0.176) 0px 1px 2px;" src="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?resize=720%2C546" sizes="(max-width: 720px) 100vw, 720px" srcset="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?w=782 782w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?resize=300%2C227 300w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?resize=768%2C582 768w" alt="Configure SSIS OLEDB Destination - Loading Xero Data into SQL Server Table" width="702" height="532" data-attachment-id="1617" data-permalink="https://zappysys.com/blog/reading-loading-data-in-xero-sql-server-ssis/ssis-xero-to-sql-server-data-load/#main" data-orig-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?fit=782%2C593&amp;ssl=1" data-orig-size="782,593" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ssis-xero-to-sql-server-data-load" data-image-description="&lt;p&gt;Configure SSIS OLEDB Destination – Loading Xero Data into SQL Server Table&lt;/p&gt; " data-medium-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?fit=300%2C227&amp;ssl=1" data-large-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-to-sql-server-data-load.png?fit=720%2C546&amp;ssl=1" /></a>
<p class="wp-caption-text">Configure SSIS OLEDB Destination – Loading REST API Data into SQL Server Table</p>

</div>
<div id="attachment_1618" class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png"><img loading="lazy" decoding="async" class="size-full wp-image-1618" style="border: 0px; max-width: 100%; height: auto; box-shadow: rgba(0, 0, 0, 0.176) 0px 1px 2px;" src="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?resize=720%2C533" sizes="(max-width: 720px) 100vw, 720px" srcset="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?w=734 734w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?resize=300%2C222 300w" alt="Xero to SQL Server Column Mappings for OLEDB Destination" width="702" height="519" data-attachment-id="1618" data-permalink="https://zappysys.com/blog/reading-loading-data-in-xero-sql-server-ssis/ssis-xero-sql-server-load-mappings/#main" data-orig-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?fit=734%2C543&amp;ssl=1" data-orig-size="734,543" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ssis-xero-sql-server-load-mappings" data-image-description="&lt;p&gt;Xero to SQL Server Column Mappings for OLEDB Destination&lt;/p&gt; " data-medium-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?fit=300%2C222&amp;ssl=1" data-large-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-xero-sql-server-load-mappings.png?fit=720%2C533&amp;ssl=1" /></a>
<p class="wp-caption-text">REST API to SQL Server Column Mappings for OLEDB Destination</p>

</div>
<div id="attachment_1619" class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png"><img loading="lazy" decoding="async" class="size-full wp-image-1619" style="border: 0px; max-width: 100%; height: auto; box-shadow: rgba(0, 0, 0, 0.176) 0px 1px 2px;" src="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?resize=283%2C391" sizes="(max-width: 283px) 100vw, 283px" srcset="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?w=283 283w, https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?resize=217%2C300 217w" alt="Loading Xero data to SQL Server in SSIS" width="275" height="380" data-attachment-id="1619" data-permalink="https://zappysys.com/blog/reading-loading-data-in-xero-sql-server-ssis/ssis-loading-data-from-xero-to-sql-server/#main" data-orig-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?fit=283%2C391&amp;ssl=1" data-orig-size="283,391" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ssis-loading-data-from-xero-to-sql-server" data-image-description="&lt;p&gt;Loading Xero data to SQL Server in SSIS&lt;/p&gt; " data-medium-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?fit=217%2C300&amp;ssl=1" data-large-file="https://zappysys.com/blog/wp-content/uploads/2017/07/ssis-loading-data-from-xero-to-sql-server.png?fit=283%2C391&amp;ssl=1" /></a>
<p class="wp-caption-text">Loading REST API to SQL Server in SSIS</p>

</div>
<h2><span id="POST_Data_to_ServiceNow_API_Insert_Update_or_Delete">POST / Write Data to API (Insert, Update or Delete)</span></h2>
There will be a time you like to automate POST actions (e.g. create new incident via API call). <a href="https://zappysys.com/blog/http-post-in-ssis-send-data-to-web-api-url-json-xml/" target="_blank" rel="noopener">Check this article</a> to learn more on how to POST , DELETE, PUT data using API calls
<h2><span id="Common_Errors">Common Errors</span></h2>
There are many error can occur during runtime. Here are most common errors you may face at runtime.
<div id="custom_post_widget-1887" class="content_block">
<h3><span id="Truncation_related_error">Truncation related error</span></h3>
The most common error you may face when you run a SSIS package is truncation error. During the design time only 300 rows are scanned from a source (a file or a REST API call response) to detect datatypes but at runtime it is likely you will retrieve far more records. So it is possible that you will get longer strings than initially expected. For detailed instructions how to fix common metadata related errors read an article "<a href="https://zappysys.com/blog/handling-ssis-component-metadata-issues/" target="_blank" rel="noopener">How to handle SSIS errors (truncation, metadata issues)</a>".
<h3><span id="Authentication_related_error">Authentication related error</span></h3>
Another frequent error you may get is authentication error, which happens when you deploy/copy a package to another machine and run it there. Check <a href="https://zappysys.com/blog/loading-data-from-rest-api-to-sql-server-in-ssis/#Deployment_to_Production">Deployment to Production</a> below to see why it happens and how to solve this problem.

</div>
<h2><span id="Deployment_to_Production">Deployment to Production</span></h2>
<div id="custom_post_widget-1932" class="content_block">In SSIS package <a href="https://docs.microsoft.com/en-us/sql/integration-services/security/access-control-for-sensitive-data-in-packages" target="_blank" rel="noopener">sensitive data such as tokens and passwords are by default encrypted by SSIS</a> with your Windows account which you use to create a package. So SSIS will fail to decrypt tokens/passwords, when you run it from another machine using another Windows account. To circumvent this when you are creating a SSIS package which uses authentication components (e.g. an <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-oauth-connection-manager.htm" target="_blank" rel="noopener">OAuth Connection Manager</a> or an <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-http-connection-manager.htm" target="_blank" rel="noopener">HTTP Connection Manager</a> with credentials, etc.), consider using parameters/variables to pass tokens/passwords. In this way you won’t face authentication related errors when package is deployed to a production server. Check our article on <a href="https://zappysys.com/blog/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server/" target="_blank" rel="noopener">how to configure packages with sensitive data on your production or development server</a>.</div></div>
<h2>Conclusion</h2>
<p>In this post you have seen how easy it is to call Zoom API in SSIS. Just register OAuth App and start calling your API. <a href="https://zappysys.com/products/ssis-powerpack/">Download SSIS PowerPack</a> and explore many other API integration uses.</p>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/call-zoom-rest-api-using-ssis/">How to call Zoom REST API using SSIS (OAuth / JWT)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
