1
0
mirror of synced 2026-01-25 19:02:00 -05:00
Files
airbyte/airbyte-integrations/connectors/source-convertkit/source_convertkit/convertkit.yaml
Eugene a4ea907094 Fixed checkstyle by running the "./gradlew --no-daemon format --scan". NO changes in logic (#19214)
* Fixed checkstyle by running the "./gradlew --no-daemon format --scan". NO changes in logic
2022-11-09 19:36:37 +02:00

88 lines
2.5 KiB
YAML

version: "0.1.0"
definitions:
selector:
extractor:
field_pointer: ["{{ options['name'] }}"]
requester:
# API Docs: https://developers.convertkit.com/#overview
url_base: "https://api.convertkit.com/v3"
http_method: "GET"
# API Docs: https://developers.convertkit.com/#api-basics
request_options_provider:
request_parameters:
api_secret: "{{ config['api_secret'] }}"
increment_paginator:
type: DefaultPaginator
url_base: "*ref(definitions.requester.url_base)"
page_size_option:
inject_into: "request_parameter"
field_name: "limit"
pagination_strategy:
type: PageIncrement
page_size: 50
page_token_option:
inject_into: "request_parameter"
field_name: "page"
retriever:
record_selector:
$ref: "*ref(definitions.selector)"
paginator:
type: NoPagination
requester:
$ref: "*ref(definitions.requester)"
base_stream:
retriever:
$ref: "*ref(definitions.retriever)"
# API Docs: https://developers.convertkit.com/#forms
forms_stream:
$ref: "*ref(definitions.base_stream)"
$options:
name: "forms"
primary_key: "id"
path: "/forms"
# API Docs: https://developers.convertkit.com/#sequences
sequences_stream:
$ref: "*ref(definitions.base_stream)"
retriever:
$ref: "*ref(definitions.retriever)"
record_selector:
extractor:
field_pointer: ["courses"]
$options:
name: "sequences"
primary_key: "id"
path: "/sequences"
# API Docs: https://developers.convertkit.com/#tags
tags_stream:
$ref: "*ref(definitions.base_stream)"
$options:
name: "tags"
primary_key: "id"
path: "/tags"
retriever:
$ref: "*ref(definitions.retriever)"
paginator:
$ref: "*ref(definitions.increment_paginator)"
# API Docs: https://developers.convertkit.com/#subscribers
subscribers_stream:
$ref: "*ref(definitions.base_stream)"
$options:
name: "subscribers"
primary_key: "id"
path: "/subscribers"
# API Docs: https://developers.convertkit.com/#broadcasts
broadcasts_stream:
$ref: "*ref(definitions.base_stream)"
$options:
name: "broadcasts"
primary_key: "id"
path: "/broadcasts"
streams:
- "*ref(definitions.forms_stream)"
- "*ref(definitions.sequences_stream)"
- "*ref(definitions.tags_stream)"
- "*ref(definitions.subscribers_stream)"
- "*ref(definitions.broadcasts_stream)"
check:
stream_names: ["forms"]