Singer tap for Jotform, built with the Meltano SDK for Singer Taps.
Project description
Capabilities
catalog
state
discover
about
stream-maps
schema-flattening
Settings
Setting | Required | Default | Description |
---|---|---|---|
api_key | True | None | Authentication key. See https://api.jotform.com/docs/#authentication |
api_url | False | https://api.jotform.com | API Base URL |
user_agent | False | tap-jotform/0.0.1 | User-Agent header |
start_date | False | None | Start date for data collection |
requests_cache | False | None | Cache configuration for HTTP requests |
stream_maps | False | None | Config object for stream maps capability. For more information check out Stream Maps. |
stream_map_config | False | None | User-defined config values to be used within map expressions. |
flattening_enabled | False | None | 'True' to enable schema flattening and automatically expand nested properties. |
flattening_max_depth | False | None | The max depth to flatten schemas. |
A full list of supported settings and capabilities is available by running: tap-jotform --about
Streams
Stream name | API endpoint | API docs | Notes |
---|---|---|---|
forms | /user/forms | https://api.jotform.com/docs/#user-forms | Replication for this stream is opt-in. See instructions below. |
questions | /form/{form_id}/questions | https://api.jotform.com/docs/#form-id-questions | |
submissions | /user/submissions | https://api.jotform.com/docs/#user-submissions | Replication for this stream is opt-in. See instructions below. |
reports | /user/reports | https://api.jotform.com/docs/#user-reports | |
user_history | /user/history | https://api.jotform.com/docs/#user-history |
Configuring incremental replication
By default, the forms
and submissions
stream are synced with FULL_TABLE
replication. Incremental replication can be enabled by setting the replication metadata in the stream's entry in the catalog file:
replication_method
: set toINCREMENTAL
replication_key
set tocreated_at
orupdated_at
. The former will omit updated submissions, while the latter will omit new submissions.
For example, to enable incremental replication for the submissions
stream:
{
"streams": [
{
"tap_stream_id": "submissions",
"stream": "submissions",
"replication_method": "INCREMENTAL",
"replication_key": "updated_at",
}
]
}
Source Authentication and Authorization
To generate an API key, follow the instructions in https://api.jotform.com/docs/#gettingstarted.
Usage
You can easily run tap-jotform
by itself or in a pipeline using Meltano.
Executing the Tap Directly
tap-jotform --version
tap-jotform --help
tap-jotform --config CONFIG --discover > ./catalog.json
Developer Resources
Initialize your Development Environment
pipx install poetry
poetry install
Create and Run Tests
Create tests within the tap_jotform/tests
subfolder and
then run:
poetry run pytest
You can also test the tap-jotform
CLI interface directly using poetry run
:
poetry run tap-jotform --help
Testing with Meltano
Note: This tap will work in any Singer environment and does not require Meltano. Examples here are for convenience and to streamline end-to-end orchestration scenarios.
Your project comes with a custom meltano.yml
project file already created. Open the meltano.yml
and follow any "TODO" items listed in
the file.
Next, install Meltano (if you haven't already) and any needed plugins:
# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-jotform
meltano install
Now you can test and orchestrate using Meltano:
# Test invocation:
meltano invoke tap-jotform --version
# OR run a test `elt` pipeline:
meltano elt tap-jotform target-jsonl
SDK Dev Guide
See the dev guide for more instructions on how to use the SDK to develop your own taps and targets.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for tap_jotform-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e694cb353c2ba7444b3b795f143986beffa9d27f721331d42374c6443e4a4e9a |
|
MD5 | 7d490028ab7fb9a17b600839c29a6280 |
|
BLAKE2b-256 | 0f9caddfc046bba2ab95a45f3ef75a8842ccbf6d4a26cffde12bb726e62ea8ba |