potloc / tap-wrike

Singer.io tap for Wrike

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tap-wrike

This is a Singer tap that produces JSON-formatted data following the Singer spec.

This tap:

  • Pulls raw data from Wrike
  • Extracts the following resources:
  • Additionally, provided an OAuth access token (see below), extracts the following resources from the Data Export API:
    • Workflow Stage History (as a table named data_export_api_workflow_stage_history)
    • Data from this export type uses a different ID system so an additional column named data_export_api_id is also added to the other resources in order to make joins easier between the 2 data sources
  • Outputs the schema for each resource
  • Incrementally pulls data based on the input state

Config

The minimum required configuration is a Wrike permanent token (see sample_config.json)

Note - This is the DEFAULT configuration.

Using an OAuth access token

Alternatively, one can use an OAuth access token. This will be applied if a refresh_token is provided.

NOTE: This is required for the Workflow Stage History resource as it requires the dataExportFull permission This is no longer true; a permanent token can be used for every endpoint.

  1. Create an app in Wrike following the instructions in "Initial Setup" here
  2. Using the client_id from step 1, go to: https://login.wrike.com/oauth2/authorize/v4?client_id=<client_id>&response_type=code&scope=wsReadOnly,dataExportFull
  3. After login (using an Admin account) in to Wrike, retrieve the code from the query parameters in the resulting URL. This authorization code is only valid for 10 minutes
  4. Use the code as authorization_code in: curl -X POST -d "client_id=<client_id>&client_secret=<client_secret>&grant_type=authorization_code&code=<authorization_code>" https://login.wrike.com/oauth2/token
  5. Take the refresh_token returned by this request and add it to the config.json file

NOTE: We recommend using the permament token for production use, as the wrike refresh token is a rotating refresh token - after an hour, it will expire, causing an auth error in your integration.

About

Singer.io tap for Wrike


Languages

Language:Python 100.0%