catalog
state
discover
about
stream-maps
schema-flattening
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
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 |
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",
}
]
}
To generate an API key, follow the instructions in https://api.jotform.com/docs/#gettingstarted.
You can easily run tap-jotform
by itself or in a pipeline using Meltano.
tap-jotform --version
tap-jotform --help
tap-jotform --config CONFIG --discover > ./catalog.json
pipx install poetry
poetry install
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
See the dev guide for more instructions on how to use the SDK to develop your own taps and targets.