Skip to content

Latest commit

 

History

History
76 lines (53 loc) · 2.8 KB

File metadata and controls

76 lines (53 loc) · 2.8 KB

tap-frontapp

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 <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD

cleaned up http.py and added handling for when no data returned. =======

cleaned up http.py and added handling for when no data returned. =======

1f95e607f623bdeea55b53cc16f1f3f007dda690 - Hourly/Daily analytics of metrics - team_table

  • Conversations
    • List of all conversations by day
      • conversations (enriches the data with recipient contact email)
  • Outputs the schema for each resource

Setup

Building follows the conventional Singer setup:

python3 ./setup.py clean python3 ./setup.py build python3 ./setup.py install

Configuration

This tap requires a config.json which specifies details regarding API authentication by using a token, a cutoff date for syncing historical data (date format of YYYY-MM-DDTHH:MI:SSZ), and a time period range [daily,hourly] to control what incremental extract date ranges are. See example.config.json for an example.

Create the catalog:

› tap-frontapp --config config.json --discover > catalog.json

Then to run the extract:

› tap-frontapp --config config.json --catalog 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"}}}
{"bookmarks": {"conversations": {"date_to_resume": "2018-08-01 00:00:00"}}}

Replication

With each run of the integration, the following data set is extracted and replicated to the data warehouse:

  • Team Table: Daily or hourly aggregated team member statistics since the last_update (last completed run of the integration) through the most recent day or hour respectively. On the first run, ALL increments since the Start Date will be replicated.

Troubleshooting / Other Important Info

  • Team_table Data: The first record is for the teammate = "ALL" and so is an aggregated record across all team members. Also, the API supports pulling specific teams by using a slightly different endpoint, but we have set it up to pull members from all teams.

  • Timestamps: All timestamp columns and resume_date state parameter are Unix timestamps.

Copyright © 2018 Stitch