This is a Singer tap that produces JSON-formatted data following the Singer spec.
This tap:
- Pulls raw data from FrontApp's API
- Extracts the following resources from FrontApp
- Analytics
- Daily analytics of metrics
- Accounts
- Channels
- Inboxes
- Tags
- Teammates
- Teams
- Daily analytics of metrics
- Analytics
- Outputs the schema for each resource
Building follows the conventional Singer setup:
python3 ./setup.py clean python3 ./setup.py build python3 ./setup.py install
This tap requires a config.json
which specifies details regarding API authentication and a cutoff date for syncing historical data. See example.config.json for an example.
Create the catalog:
› tap-frontapp --config config.json --discover > catalog.json
In catalog.json
, add this entry in the streams[].metadata
array of the streams you want to extract:
{
"metadata": {
"selected": true
},
"breadcrumb": []
}
Then to run the extract:
› tap-frontapp --config config.json --properties catalog.json --state state.json
Note that a typical state file looks like this:
{"bookmarks": {"team_table": {"date_to_resume": "2018-08-01 00:00:00"}}}
With each run of the integration, the following data set is extracted and replicated to the data warehouse:
- Accounts Table: Daily aggregated Accounts statistics since the last_update (last completed run of the integration) through the most recent day respectively.
- Channels Table: Daily aggregated Channels since the last_update (last completed run of the integration) through the most recent day respectively.
- Inboxes Table: Daily aggregated Inboxes statistics since the last_update (last completed run of the integration) through the most recent day respectively.
- Tags Table: Daily aggregated Tags statistics since the last_update (last completed run of the integration) through the most recent day respectively.
- Teammates Table: Daily aggregated Teammates statistics since the last_update (last completed run of the integration) through the most recent day respectively.
- Team Table: Daily aggregated Team statistics since the last_update (last completed run of the integration) through the most recent day respectively.
- Timestamps: All timestamp columns and resume_date state parameter are Unix timestamps.
Copyright © 2018 Stitch