Skip to content

singer-io/tap-zuora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1816e67 · Feb 25, 2025
Jan 21, 2025
Sep 3, 2024
Feb 25, 2025
Feb 25, 2025
Nov 21, 2022
Nov 21, 2022
Feb 25, 2025
Nov 21, 2022
May 4, 2017
Nov 21, 2022
Nov 21, 2022
Nov 21, 2022
Feb 25, 2025

Repository files navigation

tap-zuora

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

Installation

See the getting-started guide:

https://github.com/singer-io/getting-started

Usage

This section dives into basic usage of tap-zuora by walking through extracting data from the api.

Create the configuration file

Create a config file containing the zuora credentials, e.g.:

{
  "api_type": "REST",
  "username": "abcd",
  "password": "1234",
  "sandbox": "true",
  "european": "false",
  "start_date": "2022-10-10T00:00:00Z"
}

Discovery mode

The tap can be invoked in discovery mode to find the available zuora objects.

$ tap-zuora --config config.json --discover

A discovered catalog is output, with a JSON-schema description of each table. A source table directly corresponds to a Singer stream.

Field selection

In sync mode, tap-zuora consumes the catalog and looks for streams that have been marked as selected in their associated metadata entries.

Redirect output from the tap's discovery mode to a file so that it can be modified:

$ tap-zuora --config config.json --discover > catalog.json

Then edit catalog.json to make selections. The stream's metadata entry (associated with "breadcrumb": []) gets a top-level selected flag, as does its columns' metadata entries.

[
  {
    "breadcrumb": [],
    "metadata": {
      "valid-replication-keys": [
        "UpdatedOn"
      ],
      "table-key-properties": [
        "Id"
      ],
      "forced-replication-method": "INCREMENTAL",
+      "selected": "true"
    }
  },
]

Optionally, also create a state.json file. current_stream is an optional attribute used for identifying the last object to be synced in case the job is interrupted mid-stream. The next run would begin where the last job left off.

{
  "current_stream": "Account",
  "bookmarks": {
    "AchNocEventLog": {"UpdatedOn": "2022-10-15T00:00:00Z"},
    "PaymentMethodTransactionLog": {"TransactionDate": "2022-10-15T00:00:00Z"}
  }
}

Sync mode

With a catalog.json that describes field and table selections, the tap can be invoked in sync mode:

$ tap-zuora --config config.json --catalog catalog.json --state state.json

Messages are written to standard output following the Singer specification. The resultant stream of JSON data can be consumed by a Singer target.


Copyright © 2017 Stitch