1
0
mirror of synced 2026-01-06 06:04:16 -05:00
Files
airbyte/airbyte-integrations/connectors/source-reply-io/source_reply_io/manifest.yaml
Brian Lai 903d34e5f1 [Low-Code CDK] Enforce manifest against the airbyte-cdk version and the Beta version 0.29.0 (#23796)
* enforce manifest version correctness against the CDK package being used

* parse versions into parts for better comparisons and error checking

* fix pr feedback and derp forgot to actually add the commit with the low-code manifests updated to the beta version

* pr feedback and fix new tests since last rebase
2023-03-16 00:50:30 -04:00

89 lines
2.2 KiB
YAML

version: "0.29.0"
definitions:
selector:
extractor:
field_path: []
requester:
url_base: "https://api.reply.io/v1/"
http_method: "GET"
request_headers:
x-api-key: "{{ config['api_key'] }}"
error_handler:
type: "CompositeErrorHandler"
error_handlers:
- response_filters:
- predicate: "{{ 'Too much requests' in response }}"
action: RETRY
backoff_strategies:
- type: "ConstantBackoffStrategy"
backoff_time_in_seconds: 15
retriever:
record_selector:
$ref: "#/definitions/selector"
paginator:
type: NoPagination
requester:
$ref: "#/definitions/requester"
base_stream:
retriever:
$ref: "#/definitions/retriever"
paginated_stream:
retriever:
$ref: "#/definitions/retriever"
record_selector:
extractor:
field_path: ["{{ parameters.name }}"]
paginator:
type: "DefaultPaginator"
page_size_option:
inject_into: "request_parameter"
field_name: "limit"
pagination_strategy:
type: "PageIncrement"
page_size: 1000
page_token_option:
type: RequestOption
inject_into: "request_parameter"
field_name: "page"
campaigns_stream:
$ref: "#/definitions/base_stream"
$parameters:
name: "campaigns"
primary_key: "id"
path: "/campaigns"
email_accounts_stream:
$ref: "#/definitions/base_stream"
$parameters:
name: "email_accounts"
primary_key: "id"
path: "/emailAccounts"
people_stream:
$ref: "#/definitions/paginated_stream"
$parameters:
name: "people"
primary_key: "id"
path: "/people"
templates_stream:
retriever:
$ref: "#/definitions/base_stream/retriever"
record_selector:
extractor:
field_path: ["userTemplates"]
$parameters:
name: "templates"
primary_key: "id"
path: "/templates"
streams:
- "#/definitions/campaigns_stream"
- "#/definitions/email_accounts_stream"
- "#/definitions/people_stream"
- "#/definitions/templates_stream"
check:
stream_names:
- "campaigns"