Metadata-Version: 2.1
Name: tap-sailthru
Version: 0.1.2
Summary: Singer.io tap for the SailThru API
Home-page: http://singer.io
Author: Stitch
License: UNKNOWN
Description: # tap-sailthru
        
        This is a [Singer](https://singer.io) tap that produces JSON-formatted data
        following the [Singer
        spec](https://github.com/singer-io/getting-started/blob/master/SPEC.md).
        
        This tap:
        
        - Pulls data from the [Sailthru API](https://getstarted.sailthru.com/developers/api-basics/introduction/)
        - Extracts from the following sources to produce [streams](tap_sailthru/streams.py). Below is a list of all the streams available. See the streams file for a list of classes where each one has a constant indiciating if the stream's replication_method is `INCREMENTAL` or `FULL_TABLE` and what the replication_key is, usually `modify_time` field if it's incremental.
          - [Ad Targeter Plan](https://getstarted.sailthru.com/developers/api/ad-plan/)
          - [Blast](https://getstarted.sailthru.com/developers/api/blast/)
          - [Blast Repeat](https://getstarted.sailthru.com/developers/api/blast_repeat/)
          - [Blast Query](https://getstarted.sailthru.com/developers/api/job/#blast-query)
          - [Blast Save List](https://getstarted.sailthru.com/developers/api/job/#blast-save-list)
          - [Export Purchase Log](https://getstarted.sailthru.com/developers/api/job/#export-purchase-log)
          - [List](https://getstarted.sailthru.com/developers/api/list/)
          - [User](https://getstarted.sailthru.com/developers/api/user/)
        
        - Includes a schema for each resource reflecting most recent tested data retrieved using the api. See the [schemas](tap_sailthru/schemas) folder for details.
        
        - Some streams incrementally pull data based on the previously saved state. See the [bookmarking strategy](README.md#bookmarking-strategy) section for more details.
        
        ## Bookmarking Strategy
        
        Some endpoints in the Sailthru API support a `modify_time` (or similar) field that allows for `INCREMENTAL` replication. However, in most cases there is no such field available so most of the endpoints require `FULL_TABLE` replication. Furthermore, the API does not support pagination or filtering or ordering of any kind, so that should be taken into consideration for streams with a `FULL_TABLE` replication.
        
        ## Authentication
        
        API key/secret can be retrieved by logging into your SailThru account then going to Settings > Setup > API & Postbacks > click lock icon to reveal credentials.
        
        ## Quick Start
        
        1. Install
        
        Clone this repository, and then install using setup.py. We recommend using a virtualenv:
        
        ```bash
        $ virtualenv -p python3 venv
        $ source venv/bin/activate
        $ pip install -e .
        ```
        
        2. Create your tap's config.json file. The tap config file for this tap should include these entries:
        
            - `start_date` - (rfc3339 date string) the default value to use if no bookmark exists for an endpoint
            - `user_agent` (string, required): Process and email for API logging purposes. Example: tap-sailthru <api_user_email@your_company.com>
            - `api_key` (string, required): The API key
            - `api_secret` (string, required): The API secret
        
        And the other values mentioned in the authentication section above.
        
        ```json
        {
        	"start_date": "2021-04-01T00:00:00Z",
        	"user_agent": "Stitch Tap (+support@stitchdata.com)",
        	"api_key": "<api_key>",
        	"api_secret": "<api_secret>"
        }
        ```
        
        Run the Tap in Discovery Mode This creates a catalog.json for selecting objects/fields to integrate:
        
        ```bash
        tap-sailthru --config config.json --discover > catalog.json
        ```
        
        See the Singer docs on discovery mode [here](https://github.com/singer-io/getting-started/blob/master/docs/DISCOVERY_MODE.md#discovery-mode).
        
        4. Run the Tap in Sync Mode (with catalog) and write out to state file
        
        For Sync mode:
        
        ```bash
        $ tap-sailthru --config tap_config.json --catalog catalog.json >> state.json
        $ tail -1 state.json > state.json.tmp && mv state.json.tmp state.json
        ```
        
        To load to json files to verify outputs:
        
        ```bash
        $ tap-sailthru --config tap_config.json --catalog catalog.json | target-json >> state.json
        $ tail -1 state.json > state.json.tmp && mv state.json.tmp state.json
        ```
        
        To pseudo-load to Stitch Import API with dry run:
        
        ```bash
        $ tap-sailthru --config tap_config.json --catalog catalog.json | target-stitch --config target_config.json --dry-run >> state.json
        $ tail -1 state.json > state.json.tmp && mv state.json.tmp state.json
        ```
        
        ---
        
        Copyright &copy; 2018 Stitch
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3 :: Only
Description-Content-Type: text/markdown
