This is a Singer tap that produces JSON-formatted data following the Singer spec.
This tap:
- Pulls raw data from the Listrak SOAP API
- Extracts the following resources:
- Outputs the schema for each resource
- Incrementally pulls data based on the input state
-
Install
pip install tap-listrak
-
Create the config file
You must create a JSON configuration file that looks like this:
{ "start_date": "2010-01-01", "username": "your-listrak-username", "password": "your-listrak-password" }The
start_dateis the date at which the tap will begin pulling data. The Listrak API uses a form of HTTP Basic Authentication, meaning the username and password you use to login to Listrak must be provided. -
Run the Tap in Discovery Mode
tap-listrak -c config.json -d
See the Singer docs on discovery mode here.
-
Run the Tap in Sync Mode
tap-listrak -c config.json -p catalog-file.json
You must select the lists stream in order for any others to sync. The
messages and subscribed_contacts contacts stream depend directly on the
data fetched by the lists stream.
Additionally, the messages stream must be selected for any of the message_*
streams to function, as those streams depend on the data fetched by messages.
lists and messages are selected by default.
Due to the dependency structure of the Listrak API, we cannot avoid pulling all
lists and messages during every run of the tap. An example of why: a
message that was created in 2015 could theoretically have been opened by a
contact in 2017.
This means if you have a very large number of messages, they will be synced
every run. You could avoid this by running an initial sync using an older
start_date in your config and then update start_date to something more
recent. This will result in only messages created since start_date to be
synced, but it also means any message_sends, message_opens, etc. for
messages created before this start_date will not be synced.
Copyright © 2017 Stitch