/tap-salesforce

Singer.io tap for the Salesforce API, customized by Scalefree International GmbH

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

tap-salesforce customized by Scalefree International GmbH

{:target="_blank" rel="noopener"}

PyPI version CircleCI Build Status

Scalefree specific Updates

This tap is modified to additionally extract the salesforce metadata provided by the .describe() function of the API. This metadata is loaded into streams called "__meta__{original_stream_name}", e.g. "__meta__Account". If you have any questions, feel free to contact us!

Quickstart

Singer tap that extracts data from a Salesforce database and produces JSON-formatted data following the Singer spec.

$ mkvirtualenv -p python3 tap-salesforce
$ pip install tap-salesforce
$ tap-salesforce --config config.json --discover
$ tap-salesforce --config config.json --properties properties.json --state state.json

Install the tap

> pip install tap-salesforce

Create a Config file

{
  "client_id": "secret_client_id",
  "client_secret": "secret_client_secret",
  "refresh_token": "abc123",
  "start_date": "2017-11-02T00:00:00Z",
  "api_type": "BULK",
  "select_fields_by_default": true
}

The client_id and client_secret keys are your OAuth Salesforce App secrets. The refresh_token is a secret created during the OAuth flow. For more info on the Salesforce OAuth flow, visit the Salesforce documentation. Additionnaly, if the Salesforce Sandbox is to be used to run the tap, the parameter "is_sandbox": true must be passed to the config.

The start_date is used by the tap as a bound on SOQL queries when searching for records. This should be an RFC3339 formatted date-time, like "2018-01-08T00:00:00Z". For more details, see the Singer best practices for dates.

The api_type is used to switch the behavior of the tap between using Salesforce's "REST" and "BULK" APIs. When new fields are discovered in Salesforce objects, the select_fields_by_default key describes whether or not the tap will select those fields by default.

Run Discovery

To run discovery mode, execute the tap with the config file.

> tap-salesforce --config config.json --discover > properties.json

Sync Data

To sync data, select fields in the properties.json output and run the tap.

> tap-salesforce --config config.json --properties properties.json [--state state.json]

Copyright © 2017 Stitch