{"id":5267,"date":"2018-11-01T16:43:04","date_gmt":"2018-11-01T16:43:04","guid":{"rendered":"https:\/\/zappysys.com\/blog\/?p=5267"},"modified":"2019-09-17T16:03:08","modified_gmt":"2019-09-17T16:03:08","slug":"ssis-magento-data-read-write-using-rest-api-call","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/","title":{"rendered":"SSIS Magento data Read \/ Write using REST API Call"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-6392 alignleft\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png\" alt=\"\" width=\"124\" height=\"112\" \/><\/a>In this post we will lean SSIS Magento data read \/ write operations. Magento is a very popular eCommerce platform and they offer <strong>JSON based REST API<\/strong>\u00a0and <strong>XML based SOAP API<\/strong>. You can use either API based on your need to automate common integration needs.<\/p>\n<p>We recommend using REST API (JSON API) if possible because they are simpler and faster. We will focus only on JSON API in this article but we do have blog post on <a href=\"https:\/\/zappysys.com\/blog\/calling-soap-web-service-in-ssis-xml-source\/\" target=\"_blank\" rel=\"noopener\">how to call SOAP API<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"content_block\" id=\"custom_post_widget-2523\"><h2><span id=\"Prerequisites\">Prerequisites<\/span><\/h2>\r\nBefore we perform the steps listed in this article, you will need to make sure the following prerequisites are met:\r\n<ol style=\"margin-left: 1.5em;\">\r\n \t<li><abbr title=\"SQL Server Integration Services\">SSIS<\/abbr> designer installed.\u00a0Sometimes it is referred to as <abbr title=\"Business Intelligence Development Studio\">BIDS<\/abbr> or <abbr title=\"SQL Server Data Tools\">SSDT<\/abbr> (<a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/ssdt\/download-sql-server-data-tools-ssdt\" target=\"_blank\" rel=\"noopener\">download it from the Microsoft site<\/a>).<\/li>\r\n \t<li>Basic knowledge of SSIS package\u00a0development using\u00a0<em>Microsoft SQL Server Integration Services<\/em>.<\/li>\r\n \t<li>Make sure\u00a0<span style=\"text-decoration: underline;\"><a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">ZappySys SSIS PowerPack<\/a><\/span>\u00a0is installed (<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/download\/\" target=\"_blank\" rel=\"noopener\">download it<\/a>, if you haven't already).<\/li>\r\n \t<li>(<em>Optional step<\/em>)<em>.<\/em>\u00a0<a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360035974593\" target=\"_blank\" rel=\"noopener\">Read this article<\/a>, if you are planning to deploy packages to a server and schedule their execution later.<\/li>\r\n<\/ol><\/div>\n<h2>About Calling Magento REST API<\/h2>\n<p>If you are new to Magento API we highly recommend to get familiar with <a href=\"https:\/\/devdocs.magento.com\/guides\/v2.3\/rest\/tutorials\/index.html\" target=\"_blank\" rel=\"noopener\">Magento REST API here<\/a>. Magento REST API\u00a0 offers two ways to authenticate.<\/p>\n<ol>\n<li><a href=\"https:\/\/devdocs.magento.com\/guides\/v2.1\/get-started\/authentication\/gs-authentication-token.html\" target=\"_blank\" rel=\"noopener\">Token based Authentication<\/a><\/li>\n<li><a href=\"https:\/\/devdocs.magento.com\/guides\/v2.1\/get-started\/authentication\/gs-authentication-oauth.html\" target=\"_blank\" rel=\"noopener\">OAuth Based Authentication (OAuth 1.0a)<\/a><\/li>\n<\/ol>\n<p>In this article we will look at only Token based approach. In token based approach we have to get new token using admin \/ customer account information.<\/p>\n<p>We will cover later how to access admin or customer level API later in this article (See HTTP connection configuration).<\/p>\n<h2>Configure Connection \/ Call Magento REST API in SSIS<\/h2>\n<p>Now lets look at very simple example how to use Token based method to call Magento REST API in SSIS. We will first configure HTTP connection and then call REST API.<\/p>\n<p>Let&#8217;s get started.<\/p>\n<ol>\n<li>First, open SSIS Package after installing <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">SSIS PowerPack<\/a><\/li>\n<li>Drag <a href=\"https:\/\/zappysys.com\/blog\/category\/ssis\/tasks\/ssis-rest-api-web-service-task\/\" target=\"_blank\" rel=\"noopener\">ZS REST API Task<\/a> from SSIS Toolbox on Control Flow Designer. Let&#8217;s rename task to <strong>Get Magento Categories<\/strong><\/li>\n<li>Enter REST API URL you like to call. For example we can use below URL. Replace **<strong>your-magento-host**<\/strong> with your own name.\n<pre class=\"\">http:\/\/**your-magento-host**\/index.php\/rest\/V1\/categories<\/pre>\n<\/li>\n<li>Select <strong>Url from Connection<\/strong> mode<\/li>\n<li>From Connection Dropdown select <strong>new ZS-HTTP<\/strong> connection\n<div id=\"attachment_5269\" style=\"width: 477px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-new-connection-rest-api-task.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5269\" class=\"size-full wp-image-5269\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-new-connection-rest-api-task.png\" alt=\"Create new connection for SSIS REST API Task\" width=\"467\" height=\"267\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-new-connection-rest-api-task.png 467w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-new-connection-rest-api-task-300x172.png 300w\" sizes=\"(max-width: 467px) 100vw, 467px\" \/><\/a><p id=\"caption-attachment-5269\" class=\"wp-caption-text\">Create new connection for SSIS REST API Task<\/p><\/div><\/li>\n<li>Configure General Tab of HTTP Connection like below<br \/>\nURL can be anything for now because we will use override option in next step (On REST API Task).<\/li>\n<li>Select Credentials Type as <a href=\"https:\/\/zappysys.com\/blog\/call-soap-rest-api-using-dynamic-token-ssis\/\">Dynamic Token<\/a>.<\/li>\n<li>Enter Userid \/ password\n<div id=\"attachment_5268\" style=\"width: 730px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-rest-api-call-token-method.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5268\" class=\"size-full wp-image-5268\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-rest-api-call-token-method.png\" alt=\"Configure Magento REST API Connect for Token based Authentication\" width=\"720\" height=\"483\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-rest-api-call-token-method.png 720w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-rest-api-call-token-method-300x201.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-rest-api-call-token-method-272x182.png 272w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/a><p id=\"caption-attachment-5268\" class=\"wp-caption-text\">Configure Magento REST API Connect for Token based Authentication<\/p><\/div><\/li>\n<li>Now goto Dynamic Token Tab (Or click <strong>Configure<\/strong> Link) and configure like below.<\/li>\n<li>Enter Token URL for API Login URL field.<br \/>\n<strong>NOTE<\/strong>: If you are a customer and want to access your own account (e.g. view your orders) then replace <strong>\/admin<\/strong> with <strong>\/customer<\/strong>\u00a0 in URL)<br \/>\nReplace <strong>**my-host**<\/strong> with your host name.<\/p>\n<pre class=\"\">http:\/\/***my-host***\/index.php\/rest\/V1\/integration\/admin\/token<\/pre>\n<\/li>\n<li>Change Method to POST.<\/li>\n<li>Enter Body as below (Placeholders are automatically replaced when \/token endpoint is called.\n<pre class=\"\">{\"username\":\"[$userid$]\", \"password\":\"[$password$]\"}<\/pre>\n<\/li>\n<li>Select Content Type as Application\/Json\n<div id=\"attachment_5270\" style=\"width: 849px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-dynamic-token-extract.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5270\" class=\"size-full wp-image-5270\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-dynamic-token-extract.png\" alt=\"Configure Magento Token Request\" width=\"839\" height=\"603\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-dynamic-token-extract.png 839w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-dynamic-token-extract-300x216.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/configure-magento-dynamic-token-extract-768x552.png 768w\" sizes=\"(max-width: 839px) 100vw, 839px\" \/><\/a><p id=\"caption-attachment-5270\" class=\"wp-caption-text\">Configure Magento Token Request<\/p><\/div><\/li>\n<li>Now click Dynamic Token &#8211; Response Tab and configure like below.<br \/>\nSelect <strong>Regex<\/strong> and enter Expression as below. This will remove double quotes around token in response.<\/p>\n<pre class=\"\">\"(.*)\"{{0,1}}<\/pre>\n<div id=\"attachment_5272\" style=\"width: 541px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/regex-remove-double-quotes-around-value.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5272\" class=\"size-full wp-image-5272\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/regex-remove-double-quotes-around-value.png\" alt=\"Extract Token from response - Remove double quotes around value using Regular Expression\" width=\"531\" height=\"385\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/regex-remove-double-quotes-around-value.png 531w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/regex-remove-double-quotes-around-value-300x218.png 300w\" sizes=\"(max-width: 531px) 100vw, 531px\" \/><\/a><p id=\"caption-attachment-5272\" class=\"wp-caption-text\">Extract Token from response &#8211; Remove double quotes around value using Regular Expression<\/p><\/div><\/li>\n<li>Click OK to save connection<\/li>\n<li>Now on REST API Task check <strong>Use Direct URL<\/strong> Option<\/li>\n<li>Click Test Request to confirm its working\n<div id=\"attachment_5273\" style=\"width: 752px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-call-magento-rest-api.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5273\" class=\"size-full wp-image-5273\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-call-magento-rest-api.png\" alt=\"Call Magento REST API using SSIS REST API Task\" width=\"742\" height=\"701\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-call-magento-rest-api.png 742w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-call-magento-rest-api-300x283.png 300w\" sizes=\"(max-width: 742px) 100vw, 742px\" \/><\/a><p id=\"caption-attachment-5273\" class=\"wp-caption-text\">Call Magento REST API using SSIS REST API Task<\/p><\/div><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2>Read data from Magento and Load into SQL Server<\/h2>\n<p>Now lets look at how to read Magento data and load into SQL Server. Assume that you like to read all products.<\/p>\n<h3>Configure JSON Source (Read Magento REST API)<\/h3>\n<ol>\n<li>Drag Data flow and double click to edit:\n<div id=\"attachment_8028\" style=\"width: 470px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8028\" class=\"size-full wp-image-8028\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/02\/drag-and-drop-data-flow-task.png\" alt=\"\" width=\"460\" height=\"155\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/02\/drag-and-drop-data-flow-task.png 460w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/02\/drag-and-drop-data-flow-task-300x101.png 300w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/><p id=\"caption-attachment-8028\" class=\"wp-caption-text\">Dragging and dropping Data Flow Task into Control Flow<\/p><\/div><\/li>\n<li>Drag <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\" target=\"_blank\" rel=\"noopener\">ZS JSON Source<\/a> on data flow and double click to edit<\/li>\n<li>Configure JSON Source like below if you like to get product list for example\n<ol>\n<li>Enter URL as below (change http to https if your host support secure channel).\n<pre class=\"lang:default highlight:0 decode:true\">http:\/\/***yourhost***\/index.php\/rest\/V1\/products?searchCriteria[pageSize]=1000\r\n--- to extract only specific fields do below way --\r\nhttp:\/\/***yourhost***\/index.php\/rest\/V1\/products?searchCriteria[pageSize]=1000&amp;fields=items[sku,name]<\/pre>\n<\/li>\n<li>Check Use Credentials. Use same HTTP connection we created in previous section<\/li>\n<li>In the Filter enter <strong>$.items[*]<\/strong> or click Select Filter to Browse and select items node.<\/li>\n<li>Click Preview to confirm<\/li>\n<\/ol>\n<\/li>\n<li>Here is how your setup will look like after configuration.\n<div id=\"attachment_6525\" style=\"width: 871px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-magento-read-data-rest-api.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6525\" class=\"size-full wp-image-6525\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-magento-read-data-rest-api.png\" alt=\"SSIS JSON Source Configuration - Read data from Magento REST API\" width=\"861\" height=\"517\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-magento-read-data-rest-api.png 861w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-magento-read-data-rest-api-300x180.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-magento-read-data-rest-api-768x461.png 768w\" sizes=\"(max-width: 861px) 100vw, 861px\" \/><\/a><p id=\"caption-attachment-6525\" class=\"wp-caption-text\">SSIS JSON Source Configuration &#8211; Read data from Magento REST API<\/p><\/div><\/li>\n<li>If you expecting more than 1000 rows then you have to set up pagination. Now go to <strong>pagination tab<\/strong> and configure as below (Below options are only available <a href=\"https:\/\/zappysys.com\/blog\/ssis-powerpack-v2-9-1\/\" target=\"_blank\" rel=\"noopener\">in v2.9.1 or higher<\/a>). If you have older version then check next section for workaround.\n<ol>\n<li>Pagination Mode =<strong>URL Parameter Mode<\/strong><\/li>\n<li>Page Num Indicator =\u00a0<strong>searchCriteria[currentPage]<\/strong><\/li>\n<li>Max Rows Expression =\u00a0<strong>$.total_count<\/strong><\/li>\n<li>Page Data Expression =\u00a0<strong>$.items[*]<\/strong><\/li>\n<\/ol>\n<\/li>\n<li>Here is how your Magento REST API Pagination Setup will look like.\n<div id=\"attachment_6526\" style=\"width: 578px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/rest-api-pagination-by-max-row-count.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6526\" class=\"size-full wp-image-6526\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/rest-api-pagination-by-max-row-count.png\" alt=\"REST API Pagination using Max Row count Mode\" width=\"568\" height=\"376\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/rest-api-pagination-by-max-row-count.png 568w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/rest-api-pagination-by-max-row-count-300x199.png 300w\" sizes=\"(max-width: 568px) 100vw, 568px\" \/><\/a><p id=\"caption-attachment-6526\" class=\"wp-caption-text\">REST API Pagination using Max Row count Mode<\/p><\/div><\/li>\n<li>Click OK to save JSON Source. In next section we will see how to load data into Target like SQL Server.<\/li>\n<\/ol>\n<h3>Configure OLEDB Destination (Load into SQL Server)<\/h3>\n<ol>\n<li>Drag OLEDB Destination.<\/li>\n<li>Select \/ Create Connection<\/li>\n<li>Select or create NEW target Table (Click NEW button)<\/li>\n<li>Click Mapping Tab to map source columns to target table<\/li>\n<li>Click OK to save<\/li>\n<li>Execute Package<\/li>\n<\/ol>\n<div class=\"content_block\" id=\"custom_post_widget-5617\"><p>ZappySys SSIS PowerPack makes it easy to load data from various sources such as REST, SOAP, JSON, XML, CSV or from other source into SQL Server, or PostgreSQL, or Amazon Redshift, or other  targets. The <strong>Upsert Destination<\/strong> component allows you to automatically insert new records and update existing ones based on key columns. Below are the detailed steps to configure it.<\/p>\r\n<h3>Step 1: Add Upsert Destination to Data Flow<\/h3>\r\n<ol>\r\n<li>Drag and drop the <strong>Upsert Destination<\/strong> component from the SSIS Toolbox.<\/li>\r\n<li>Connect your source component (e.g., JSON \/ REST \/ Other Source) to the Upsert Destination.<\/li>\r\n<\/ol>\r\n<div class=\"wp-caption aligncenter\">\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/ssis-data-flow-drag-drop-upsert-destination.png\">\r\n<img loading=\"lazy\" decoding=\"async\" class=\"size-full\" alt=\"\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/08\/ssis-data-flow-drag-drop-upsert-destination.png\" \/><\/a>\r\n<p class=\"wp-caption-text\">SSIS - Data Flow - Drang and Drop Upsert Destination Component<\/p>\r\n<\/div>\r\n<h3>Step 2: Configure Target Connection<\/h3>\r\n<ol>\r\n<li>Double-click the <strong>Upsert Destination<\/strong> component to open the configuration window.<\/li>\r\n<li>Under <strong>Connection<\/strong>, select an existing target connection or click <strong>NEW<\/strong> to create a new connection.\r\n<ul>\r\n<li>Example: SQL Server, or PostgreSQL, or Amazon Redshift.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ol>\r\n<h3>Step 3: Select or Create Target Table<\/h3>\r\n<ol>\r\n<li>In the <strong>Target Table<\/strong> dropdown, select the table where you want to load data.<\/li>\r\n<li>Optionally, click <strong>NEW<\/strong> to create a new table based on the source columns.<\/li>\r\n<\/ol>\r\n<div class=\"wp-caption aligncenter\">\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2020\/09\/upsert-destination-configuration.png\">\r\n<img loading=\"lazy\" decoding=\"async\" class=\"size-full\" alt=\"\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2020\/09\/upsert-destination-configuration.png\" \/><\/a>\r\n<p class=\"wp-caption-text\">Configure SSIS Upsert Destination Connection - Loading data (REST \/ SOAP \/ JSON \/ XML \/CSV) into SQL Server or other target using SSIS<\/p>\r\n<\/div>\r\n<h3>Step 4: Map Columns<\/h3>\r\n<ol>\r\n<li>Go to the <strong>Mappings<\/strong> tab.<\/li>\r\n<li>Click <strong>Auto Map<\/strong> to map source columns to target columns by name.<\/li>\r\n<li>Ensure you <strong>check the Primary key column(s)<\/strong> that will determine whether a record is inserted or updated.<\/li>\r\n<li>You can manually adjust the mappings if necessary.<\/li>\r\n<\/ol>\r\n <div class=\"wp-caption aligncenter\">\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2020\/09\/upsert-destination-key.png\">\r\n<img loading=\"lazy\" decoding=\"async\" class=\"size-full\" alt=\"\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2020\/09\/upsert-destination-key.png\" \/><\/a>\r\n<p class=\"wp-caption-text\">SSIS Upsert Destination - Columns Mappings<\/p>\r\n<\/div>\r\n<h3>Step 5: Save Settings<\/h3>\r\n<ul>\r\n<li>Click <strong>OK<\/strong> to save the Upsert Destination configuration.<\/li>\r\n<\/ul>\r\n<h3>Step 6: Optional: Add Logging or Analysis<\/h3>\r\n<ul>\r\n<li>You may add extra destination components to log the number of inserted vs. updated records for monitoring or auditing purposes.<\/li>\r\n<\/ul>\r\n<h3>Step 7: Execute the Package<\/h3>\r\n<ul>\r\n<li>Run your SSIS package and verify that the data is correctly inserted and updated in the target table.<\/li>\r\n<\/ul>\r\n<div class=\"wp-caption aligncenter\">\r\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-upsert-destination-execute.png\">\r\n<img loading=\"lazy\" decoding=\"async\" class=\"size-full\" alt=\"\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/12\/ssis-upsert-destination-execute.png\" \/><\/a>\r\n<p class=\"wp-caption-text\">SSIS Upsert Destination Execution<\/p>\r\n<\/div><\/div>\n<h2>Configure Magento Pagination (For Old Version)<\/h2>\n<p>In previous section we configured pagination using newer version (v2.9.1 or higher). But what if you have older version and you dont see that feature. Use below steps for workaround.<\/p>\n<p>Now let&#8217;s look at another common scenario when you real lots of data. Let&#8217;s say you have 5000 products but API call we saw earlier returns max 1000 rows. In that case we have to keep reading next page until all rows are returned. ZappySys provides many settings to configure various REST APIs out there, unfortunately there is no standard around pagination methods. Since Magento API has <a href=\"https:\/\/github.com\/magento\/magento2\/issues\/8099\" target=\"_blank\" rel=\"noopener\">some bug in API pagination<\/a> we have to do following hack. Magento keep sending same data of last page if you try to access page which doesn&#8217;t exists. Here is how to overcome that bug.<\/p>\n<h3>Configure REST API task to get total row count<\/h3>\n<p>First step to configure magento pagination is get total rows returned in our request which you like to paginate (in our case <strong>\/products<\/strong>).<\/p>\n<ol>\n<li>Go to Control Flow designer<\/li>\n<li>Drag <a href=\"https:\/\/zappysys.com\/blog\/category\/ssis\/tasks\/ssis-rest-api-web-service-task\/\" target=\"_blank\" rel=\"noopener\">ZS REST API Task<\/a> from SSIS Toolbox<\/li>\n<li>Let&#8217;s rename task to <strong>Get Magento Product Count<\/strong><\/li>\n<li>Double click it and configure like below (Change HTTP to HTTPS if needed)\n<pre class=\"lang:default highlight:0 decode:true\">http:\/\/***yourhost***\/index.php\/rest\/V1\/products?searchCriteria[pageSize]=10<\/pre>\n<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-get-magento-result-count-for-pagination.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6387\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-get-magento-result-count-for-pagination.png\" alt=\"\" width=\"734\" height=\"497\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-get-magento-result-count-for-pagination.png 734w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-get-magento-result-count-for-pagination-300x203.png 300w\" sizes=\"(max-width: 734px) 100vw, 734px\" \/><\/a><\/li>\n<li>Go to Response Tab and configure like below. Enter expression as $.total_count<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-rest-api-task-save-variable.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6388\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-rest-api-task-save-variable.png\" alt=\"\" width=\"672\" height=\"297\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-rest-api-task-save-variable.png 672w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-rest-api-task-save-variable-300x133.png 300w\" sizes=\"(max-width: 672px) 100vw, 672px\" \/><\/a><\/li>\n<li>Click OK to save<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3>Define Expression for JSON Source &#8211;\u00a0MaxRows Property<\/h3>\n<p>Now next step is to define expression on MaxRows property of JSON Rows so we stop once all rows consumed from Paginated response. If you don&#8217;t do this it will keep paginating forever \ud83d\ude41<\/p>\n<ol>\n<li>On Control Flow designer <strong>select Data Flow<\/strong> which contains JSON Source for Magento<\/li>\n<li>Right click and go to Properties of that data flow<\/li>\n<li>Find Expression and click Button to add new expression<\/li>\n<li>On Expression dialogbox select [Your JSON Source].[MaxRows] and for expression enter variable name which holds total count (e.g. <strong>@[User::MaxRows]<\/strong> )<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-dataflow-expression-json-source-maxrows.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6391\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-dataflow-expression-json-source-maxrows.png\" alt=\"\" width=\"666\" height=\"328\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-dataflow-expression-json-source-maxrows.png 666w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-dataflow-expression-json-source-maxrows-300x148.png 300w\" sizes=\"(max-width: 666px) 100vw, 666px\" \/><\/a><\/li>\n<li>Click OK to Save<\/li>\n<\/ol>\n<h3>Configure JSON Source for Magento Pagination<\/h3>\n<p>Now last thing we have to do is go to JSON Source and configure few things for pagination.<\/p>\n<ol>\n<li>Go to data flow and double click JSON Source<\/li>\n<li>Click on <strong>Pagination tab<\/strong> and select Pagination by <strong>URL Parameter Mode<\/strong><\/li>\n<li>Enter Page name as below\n<pre class=\"lang:default highlight:0 decode:true \">searchCriteria[currentPage]<\/pre>\n<\/li>\n<li>Click OK to save UI<\/li>\n<li>Now <strong>run entire page to test<\/strong>\u00a0(NOTE: Do not execute just data flow because if you do that way, it will not extract total row count)<br \/>\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-read-magento-data-rest-api-pagination.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6394\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-read-magento-data-rest-api-pagination.png\" alt=\"\" width=\"784\" height=\"548\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-read-magento-data-rest-api-pagination.png 784w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-read-magento-data-rest-api-pagination-300x210.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-read-magento-data-rest-api-pagination-768x537.png 768w\" sizes=\"(max-width: 784px) 100vw, 784px\" \/><\/a><\/li>\n<\/ol>\n<h2>Write data to Magento using SSIS Web API destination<\/h2>\n<p>Now let&#8217;s look at example to load data into Magento. In below example we will create\u00a0few sample products.<\/p>\n<ol>\n<li>Create new data flow and go to data flow designer<\/li>\n<li>Drag and drop\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-csv-file-source-flat-file-web-api\/\" target=\"_blank\" rel=\"noopener\">ZS CSV Source<\/a>\u00a0from SSIS toolbox. You can use any Data source but for simple demo we will use it.<\/li>\n<li>Double click CSV source and select Direct Value mode from dropdown. Enter following sample data (Lets create 12 sample products.)\n<pre class=\"lang:default highlight:0 decode:true\">SKU,ProductName\r\nPROD-1,Product 1\r\nPROD-2,Product 2\r\nPROD-3,Product 3\r\nPROD-4,Product 4\r\nPROD-5,Product 5\r\nPROD-6,Product 6\r\nPROD-7,Product 7\r\nPROD-8,Product 8\r\nPROD-9,Product 9\r\nPROD-10,Product 10\r\nPROD-11,Product 11\r\nPROD-12,Product 12\r\n<\/pre>\n<\/li>\n<li>Now click OK to save UI<\/li>\n<li>Now drag <strong>ZS Template Transform<\/strong> from toolbox.<\/li>\n<li>Connect CSV Source to Template Transform<\/li>\n<li>Enter following sample text to build request for new product. Refer to <a href=\"https:\/\/devdocs.magento.com\/guides\/v2.3\/rest\/tutorials\/configurable-product\/create-simple-products.html\">Magento API help file \/ tutorial<\/a> to learn more.\n<pre class=\"lang:js decode:true \">{\r\n  \"product\": {\r\n    \"sku\": \"&lt;%SKU%&gt;\",\r\n    \"name\": \"&lt;%ProductName%&gt;\",\r\n    \"attribute_set_id\": 4,\r\n    \"price\": 25,\r\n    \"status\": 1,\r\n    \"visibility\": 1\r\n   }\r\n}<\/pre>\n<\/li>\n<li>Notice that when you click <strong>Insert Variable<\/strong> &gt; <strong>Columns<\/strong> &gt; select desired upstream column placeholder. You can also encode special characters in your data (e.g. new lines) using function like &lt;%MyColumn,JSONENCODE%&gt;<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-magento-create-new-product-api-request-template-transform.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6389\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-magento-create-new-product-api-request-template-transform.png\" alt=\"\" width=\"729\" height=\"493\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-magento-create-new-product-api-request-template-transform.png 729w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-magento-create-new-product-api-request-template-transform-300x203.png 300w\" sizes=\"(max-width: 729px) 100vw, 729px\" \/><\/a><\/li>\n<li>Click OK and save UI<\/li>\n<li>Now drag ZS Web API Destination from SSIS Toolbox. Configure like below.Enter URL same as before (used to read product), change Method to <strong>POST<\/strong>, change content type to Application\/JSON.<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-new-product-records-magento-call-rest-api.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6390\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-new-product-records-magento-call-rest-api.png\" alt=\"\" width=\"778\" height=\"660\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-new-product-records-magento-call-rest-api.png 778w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-new-product-records-magento-call-rest-api-300x254.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/ssis-create-new-product-records-magento-call-rest-api-768x652.png 768w\" sizes=\"(max-width: 778px) 100vw, 778px\" \/><\/a><\/li>\n<li>Now run entire flow (You can watch your API <a href=\"https:\/\/zappysys.com\/blog\/how-to-use-fiddler-to-analyze-http-web-requests\/\" target=\"_blank\" rel=\"noopener\">requests in Fiddler<\/a>\u00a0for debugging)<\/li>\n<\/ol>\n<h2>Debug Magento Web Requests using Fiddler<\/h2>\n<p>Click on below article to learn how to debug web requests<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"dKZ26bWM7i\"><p><a href=\"https:\/\/zappysys.com\/blog\/how-to-use-fiddler-to-analyze-http-web-requests\/\">How to use Fiddler to analyze HTTP Web Requests<\/a><\/p><\/blockquote>\n<p><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" src=\"https:\/\/zappysys.com\/blog\/how-to-use-fiddler-to-analyze-http-web-requests\/embed\/#?secret=dKZ26bWM7i\" data-secret=\"dKZ26bWM7i\" width=\"600\" height=\"338\" title=\"&#8220;How to use Fiddler to analyze HTTP Web Requests&#8221; &#8212; ZappySys Blog\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<h2>Magento Integration in Other Apps (e.g. Power BI \/ Informatica \/ SQL Server)<\/h2>\n<p>You can use techniques listed on this page with <a href=\"https:\/\/zappysys.com\/products\/odbc-powerpack\/\" target=\"_blank\" rel=\"noopener\">ODBC Drivers<\/a> too for integration in other tools like Power BI, SQL Server code, Informatica etc.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this post we saw how easy it is to perform Magento Integration in SSIS without doing any programming. In few steps you can read or write data in Magento using <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\">SSIS PowerPack<\/a> REST API components. Download FREE Trial and explore many other scenarios.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this post we will lean SSIS Magento data read \/ write operations. Magento is a very popular eCommerce platform and they offer JSON based REST API\u00a0and XML based SOAP API. You can use either API based on your need to automate common integration needs. We recommend using REST API (JSON API) if possible [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6392,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[355,176,225,204,447,17,10,267,200],"tags":[6,448,160,3,12],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>SSIS Magento data Read \/ Write using REST API Call | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"Learn how to read or write data in Magento using SSIS. We will call Magento REST API and load into SQL Server, paginate rest api, create new products &amp; more\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"SSIS Magento data Read \/ Write using REST API Call | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"Learn how to read or write data in Magento using SSIS. We will call Magento REST API and load into SQL Server, paginate rest api, create new products &amp; more\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ZappySys\/\" \/>\r\n<meta property=\"article:published_time\" content=\"2018-11-01T16:43:04+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2019-09-17T16:03:08+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"297\" \/>\r\n\t<meta property=\"og:image:height\" content=\"269\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/zappysys\/\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/\",\"url\":\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/\",\"name\":\"SSIS Magento data Read \/ Write using REST API Call | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png\",\"datePublished\":\"2018-11-01T16:43:04+00:00\",\"dateModified\":\"2019-09-17T16:03:08+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\"},\"description\":\"Learn how to read or write data in Magento using SSIS. We will call Magento REST API and load into SQL Server, paginate rest api, create new products & more\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png\",\"width\":297,\"height\":269},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SSIS Magento data Read \/ Write using REST API Call\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"sameAs\":[\"http:\/\/www.zappysys.com\/\",\"https:\/\/www.facebook.com\/ZappySys\/\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/\"],\"url\":\"https:\/\/zappysys.com\/blog\/author\/admin\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SSIS Magento data Read \/ Write using REST API Call | ZappySys Blog","description":"Learn how to read or write data in Magento using SSIS. We will call Magento REST API and load into SQL Server, paginate rest api, create new products & more","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/","og_locale":"en_US","og_type":"article","og_title":"SSIS Magento data Read \/ Write using REST API Call | ZappySys Blog","og_description":"Learn how to read or write data in Magento using SSIS. We will call Magento REST API and load into SQL Server, paginate rest api, create new products & more","og_url":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/","og_site_name":"ZappySys Blog","article_author":"https:\/\/www.facebook.com\/ZappySys\/","article_published_time":"2018-11-01T16:43:04+00:00","article_modified_time":"2019-09-17T16:03:08+00:00","og_image":[{"width":297,"height":269,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/zappysys\/","twitter_misc":{"Written by":"ZappySys","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/","url":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/","name":"SSIS Magento data Read \/ Write using REST API Call | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png","datePublished":"2018-11-01T16:43:04+00:00","dateModified":"2019-09-17T16:03:08+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82"},"description":"Learn how to read or write data in Magento using SSIS. We will call Magento REST API and load into SQL Server, paginate rest api, create new products & more","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/11\/magento-logo.png","width":297,"height":269},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/ssis-magento-data-read-write-using-rest-api-call\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SSIS Magento data Read \/ Write using REST API Call"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","caption":"ZappySys"},"sameAs":["http:\/\/www.zappysys.com\/","https:\/\/www.facebook.com\/ZappySys\/","https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/"],"url":"https:\/\/zappysys.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/5267"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=5267"}],"version-history":[{"count":10,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/5267\/revisions"}],"predecessor-version":[{"id":8032,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/5267\/revisions\/8032"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/6392"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=5267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=5267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=5267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}