This tap is in development.
This is a Singer tap that produces JSON-formatted data following the Singer spec.
This tap:
-
Downloads data from Peek
-
Extracts from the following sources to produce streams. 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.
- ActivityInfo
- CoreAddons
- Timeslots
- Transactions
-
Includes a schema for each resource reflecting most recent tested data retrieved using the api. See the schema folder for details.
Authentication is handled with a valid Peek Pro account. In the tap configuration the following fields are required for authentication to work correctly:
- token
- partner_id
-
Install
Clone this repository, and then install using setup.py. We recommend using a virtualenv:
$ virtualenv -p python3 venv $ source venv/bin/activate $ pip install -e .
-
Create your tap's
config.json
file. The tap config file for this tap should include these entries:start_date
- the default value to use if no bookmark exists for an endpoint (rfc3339 date string)
And the other values mentioned in the authentication section above.
{ "token": "Bearer <api_token>", "partner_id": "<partner_id>", "start_date": "2020-08-21T00:00:00Z" }
-
Run the Tap in Discovery Mode This creates a catalog.json for selecting objects/fields to integrate:
tap-peek --config config.json --discover > catalog.json
See the Singer docs on discovery mode here.
-
Run the Tap in Sync Mode (with catalog) and write out to state file
For Sync mode:
$ tap-peek --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:
$ tap-peek --config tap_config.json --catalog catalog.json | target-json >> state.json $ tail -1 state.json > state.json.tmp && mv state.json.tmp state.json