How to Make Generic API Request (Bulk Write) — Stripe Connector for SSIS

Prerequisites

Before we begin, make sure the following prerequisites are met:

  1. SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
  2. Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
  3. SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).

Make Generic API Request (Bulk Write) in SSIS

  1. Begin with opening Visual Studio and Create a New Project.

  2. Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.

    In the new SSIS project screen you will find the following:

    • SSIS ToolBox on left side bar
    • Solution Explorer and Property Window on right bar
    • Control flow, data flow, event Handlers, Package Explorer in tab windows
    • Connection Manager Window in the bottom
    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.
  3. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.

    SSIS Data Flow Task - Drag and Drop
  4. Read the data from the source, being any desired source component. In example we will use ZappySys Dummy Data Source component.

  5. From the SSIS Toolbox drag and drop API Destination (Predefined Templates) on the Data Flow Designer surface and connect source component with it, and double click to edit it.

    SSIS API Destination (Predefined Templates) - Drag and Drop
  6. Select New Connection to create a new connection:

    API Destination - Stripe
    This connector support read/write operations for Stripe APIs
    API Destination - New Connection
  7. Use a preinstalled Stripe Connector from Popular Connector List or press Search Online radio button to download Stripe Connector. Once downloaded simply use it in the configuration:

    Stripe
    Stripe Connector Selection
  8. Now it's time to configure authentication. Firstly, configure authentication settings in Stripe service and then proceed by configuring API Connection Manager. Start by expanding an authentication type:

    Stripe authentication
    1. Login into your Stripe account
    2. Go to https://dashboard.stripe.com/apikeys.
    3. Then create a Secret key.
    4. In the parameter 'Token' fill in newly created key.
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to Stripe [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    Stripe
    Stripe [Http]
    https://api.stripe.com/v1
    Required Parameters
    Token Fill-in the parameter...
    Optional Parameters
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ZappySys Http Connection
  9. Select Generic Table (Bulk Read / Write) table from the dropdown, then select Insert, Update as operation, and hit Preview Data:

    API Destination - Stripe
    This connector support read/write operations for Stripe APIs
    Stripe
    Generic Table (Bulk Read / Write)
    Insert, Update
    Required Parameters
    Url Fill-in the parameter...
    Request Method Fill-in the parameter...
    Optional Parameters
    IsMultiPart
    Filter
    Request Format (Content-Type) Default
    Body {$rows$}
    JsonOutputFormat Multicontent
    DoNotOutputNullProperty
    Batch Size (Default=1) 1
    Meta Detection Order StaticDynamicVirtual
    Input Columns - For Mapping (e.g. MyCol1:string(10); MyCol2:int32 ...) - Use bool, int32, int64, datetime, decimal, double
    Output Columns (e.g. MyCol1:string(10); MyCol2:int32 ...) - Use bool, int32, int64, datetime, decimal, double
    Request Format
    Response Format Default
    Headers Accept: */* || Cache-Control: no-cache
    Csv - Column Delimiter ,
    Csv - Row Delimiter {NEWLINE}
    Csv - Quote Around Value True
    Csv - Always Quote regardless type
    Encoding
    CharacterSet
    Writer DateTime Format
    Csv - Has Header Row True
    Xml - ElementsToTreatAsArray
    Layout Map <?xml version="1.0" encoding="utf-8"?> <!-- Example#1: Output all columns --> <settings> <dataset id="root" main="True" readfrominput="True" /> <map src="*" /> </settings> <!-- Example#2: Records under array <?xml version="1.0" encoding="utf-8"?> <settings singledataset="True"> <dataset id="root" main="True" readfrominput="True" /> <map name="MyArray" dataset="root" maptype="DocArray"> <map src="OrderID" name="OrderID" /> <map src="OrderDate" name="OrderDate" /> </map> </settings> --> <!-- Example#3: Records under nested section <?xml version="1.0" encoding="utf-8"?> <settings> <dataset id="dsRoot" main="True" readfrominput="True" /> <map name="NestedSection"> <map src="OrderID" name="OrderID_MyLabel" /> <map src="OrderDate" name="OrderDate_MyLabel" /> </map> </settings> -->
    SSIS API Destination - Access table operation

  10. Finally, map the desired columns:

    API Destination - Stripe
    This connector support read/write operations for Stripe APIs
    API Destination - Columns Mapping
  11. That's it; we successfully configured the POST API Call. In a few clicks we configured the Stripe API call using ZappySys Stripe Connector

    Execute Package - Reading data from API Source and load into target

More actions supported by Stripe Connector

Learn how to perform other actions directly in SSIS with these how-to guides:

More integrations

All
Data Integration
Database
BI & Reporting
Productivity
Programming Languages
Automation & Scripting
ODBC applications