1
0
mirror of synced 2025-12-23 21:03:15 -05:00
Files
airbyte/airbyte-integrations/connectors/source-reply-io/manifest.yaml
2024-08-20 03:14:34 +03:00

894 lines
22 KiB
YAML

version: 4.3.0
type: DeclarativeSource
check:
type: CheckStream
stream_names:
- campaigns
definitions:
streams:
campaigns:
type: DeclarativeStream
name: campaigns
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
type: HttpRequester
url_base: https://api.reply.io/v1
authenticator:
type: ApiKeyAuthenticator
api_token: "{{ config['api_key'] }}"
inject_into:
type: RequestOption
inject_into: header
field_name: x-api-key
path: /campaigns
http_method: GET
error_handler:
type: CompositeErrorHandler
error_handlers:
- type: DefaultErrorHandler
backoff_strategies:
- type: ConstantBackoffStrategy
backoff_time_in_seconds: 15
response_filters:
- type: HttpResponseFilter
action: RETRY
predicate: "{{ 'Too much requests' in response }}"
http_codes: []
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path: []
schema_loader:
type: InlineSchemaLoader
schema:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
bouncesCount:
type:
- "null"
- integer
created:
type:
- "null"
- string
format: date-time
deliveriesCount:
type:
- "null"
- integer
id:
type:
- "null"
- integer
name:
type:
- "null"
- string
opensCount:
type:
- "null"
- integer
optOutsCount:
type:
- "null"
- integer
outOfOfficeCount:
type:
- "null"
- integer
ownerEmail:
type:
- "null"
- string
peopleActive:
type:
- "null"
- integer
peopleCount:
type:
- "null"
- integer
peopleFinished:
type:
- "null"
- integer
peoplePaused:
type:
- "null"
- integer
repliesCount:
type:
- "null"
- integer
email_accounts:
type: DeclarativeStream
name: email_accounts
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
type: HttpRequester
url_base: https://api.reply.io/v1
authenticator:
type: ApiKeyAuthenticator
api_token: "{{ config['api_key'] }}"
inject_into:
type: RequestOption
inject_into: header
field_name: x-api-key
path: /emailAccounts
http_method: GET
error_handler:
type: CompositeErrorHandler
error_handlers:
- type: DefaultErrorHandler
backoff_strategies:
- type: ConstantBackoffStrategy
backoff_time_in_seconds: 15
response_filters:
- type: HttpResponseFilter
action: RETRY
predicate: "{{ 'Too much requests' in response }}"
http_codes: []
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path: []
schema_loader:
type: InlineSchemaLoader
schema:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
emailAddress:
type:
- "null"
- string
id:
type:
- "null"
- integer
senderName:
type:
- "null"
- string
signature:
type:
- "null"
- string
people:
type: DeclarativeStream
name: people
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
type: HttpRequester
url_base: https://api.reply.io/v1
authenticator:
type: ApiKeyAuthenticator
api_token: "{{ config['api_key'] }}"
inject_into:
type: RequestOption
inject_into: header
field_name: x-api-key
path: /people
http_method: GET
error_handler:
type: CompositeErrorHandler
error_handlers:
- type: DefaultErrorHandler
backoff_strategies:
- type: ConstantBackoffStrategy
backoff_time_in_seconds: 15
response_filters:
- type: HttpResponseFilter
action: RETRY
predicate: "{{ 'Too much requests' in response }}"
http_codes: []
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path:
- people
paginator:
type: DefaultPaginator
page_token_option:
type: RequestOption
inject_into: request_parameter
field_name: page
page_size_option:
type: RequestOption
inject_into: request_parameter
field_name: limit
pagination_strategy:
type: PageIncrement
page_size: 1000
schema_loader:
type: InlineSchemaLoader
schema:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
addingDate:
type:
- "null"
- string
format: date-time
city:
type:
- "null"
- string
company:
type:
- "null"
- string
country:
type:
- "null"
- string
customFields:
type:
- "null"
- array
email:
type:
- "null"
- string
firstName:
type:
- "null"
- string
id:
type:
- "null"
- integer
lastName:
type:
- "null"
- string
linkedInProfile:
type:
- "null"
- string
phone:
type:
- "null"
- string
phoneStatus:
type:
- "null"
- string
state:
type:
- "null"
- string
timeZoneId:
type:
- "null"
- string
title:
type:
- "null"
- string
templates:
type: DeclarativeStream
name: templates
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
type: HttpRequester
url_base: https://api.reply.io/v1
authenticator:
type: ApiKeyAuthenticator
api_token: "{{ config['api_key'] }}"
inject_into:
type: RequestOption
inject_into: header
field_name: x-api-key
path: /templates
http_method: GET
error_handler:
type: CompositeErrorHandler
error_handlers:
- type: DefaultErrorHandler
backoff_strategies:
- type: ConstantBackoffStrategy
backoff_time_in_seconds: 15
response_filters:
- type: HttpResponseFilter
action: RETRY
predicate: "{{ 'Too much requests' in response }}"
http_codes: []
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path:
- userTemplates
schema_loader:
type: InlineSchemaLoader
schema:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
body:
type:
- "null"
- string
categoryId:
type:
- "null"
- string
id:
type:
- "null"
- integer
name:
type:
- "null"
- string
subject:
type:
- "null"
- string
base_requester:
type: HttpRequester
url_base: https://api.reply.io/v1
authenticator:
type: ApiKeyAuthenticator
api_token: "{{ config['api_key'] }}"
inject_into:
type: RequestOption
inject_into: header
field_name: x-api-key
streams:
- type: DeclarativeStream
name: campaigns
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
type: HttpRequester
url_base: https://api.reply.io/v1
authenticator:
type: ApiKeyAuthenticator
api_token: "{{ config['api_key'] }}"
inject_into:
type: RequestOption
inject_into: header
field_name: x-api-key
path: /campaigns
http_method: GET
error_handler:
type: CompositeErrorHandler
error_handlers:
- type: DefaultErrorHandler
backoff_strategies:
- type: ConstantBackoffStrategy
backoff_time_in_seconds: 15
response_filters:
- type: HttpResponseFilter
action: RETRY
predicate: "{{ 'Too much requests' in response }}"
http_codes: []
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path: []
schema_loader:
type: InlineSchemaLoader
schema:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
bouncesCount:
type:
- "null"
- integer
created:
type:
- "null"
- string
format: date-time
deliveriesCount:
type:
- "null"
- integer
id:
type:
- "null"
- integer
name:
type:
- "null"
- string
opensCount:
type:
- "null"
- integer
optOutsCount:
type:
- "null"
- integer
outOfOfficeCount:
type:
- "null"
- integer
ownerEmail:
type:
- "null"
- string
peopleActive:
type:
- "null"
- integer
peopleCount:
type:
- "null"
- integer
peopleFinished:
type:
- "null"
- integer
peoplePaused:
type:
- "null"
- integer
repliesCount:
type:
- "null"
- integer
- type: DeclarativeStream
name: email_accounts
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
type: HttpRequester
url_base: https://api.reply.io/v1
authenticator:
type: ApiKeyAuthenticator
api_token: "{{ config['api_key'] }}"
inject_into:
type: RequestOption
inject_into: header
field_name: x-api-key
path: /emailAccounts
http_method: GET
error_handler:
type: CompositeErrorHandler
error_handlers:
- type: DefaultErrorHandler
backoff_strategies:
- type: ConstantBackoffStrategy
backoff_time_in_seconds: 15
response_filters:
- type: HttpResponseFilter
action: RETRY
predicate: "{{ 'Too much requests' in response }}"
http_codes: []
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path: []
schema_loader:
type: InlineSchemaLoader
schema:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
emailAddress:
type:
- "null"
- string
id:
type:
- "null"
- integer
senderName:
type:
- "null"
- string
signature:
type:
- "null"
- string
- type: DeclarativeStream
name: people
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
type: HttpRequester
url_base: https://api.reply.io/v1
authenticator:
type: ApiKeyAuthenticator
api_token: "{{ config['api_key'] }}"
inject_into:
type: RequestOption
inject_into: header
field_name: x-api-key
path: /people
http_method: GET
error_handler:
type: CompositeErrorHandler
error_handlers:
- type: DefaultErrorHandler
backoff_strategies:
- type: ConstantBackoffStrategy
backoff_time_in_seconds: 15
response_filters:
- type: HttpResponseFilter
action: RETRY
predicate: "{{ 'Too much requests' in response }}"
http_codes: []
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path:
- people
paginator:
type: DefaultPaginator
page_token_option:
type: RequestOption
inject_into: request_parameter
field_name: page
page_size_option:
type: RequestOption
inject_into: request_parameter
field_name: limit
pagination_strategy:
type: PageIncrement
page_size: 1000
schema_loader:
type: InlineSchemaLoader
schema:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
addingDate:
type:
- "null"
- string
format: date-time
city:
type:
- "null"
- string
company:
type:
- "null"
- string
country:
type:
- "null"
- string
customFields:
type:
- "null"
- array
email:
type:
- "null"
- string
firstName:
type:
- "null"
- string
id:
type:
- "null"
- integer
lastName:
type:
- "null"
- string
linkedInProfile:
type:
- "null"
- string
phone:
type:
- "null"
- string
phoneStatus:
type:
- "null"
- string
state:
type:
- "null"
- string
timeZoneId:
type:
- "null"
- string
title:
type:
- "null"
- string
- type: DeclarativeStream
name: templates
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
type: HttpRequester
url_base: https://api.reply.io/v1
authenticator:
type: ApiKeyAuthenticator
api_token: "{{ config['api_key'] }}"
inject_into:
type: RequestOption
inject_into: header
field_name: x-api-key
path: /templates
http_method: GET
error_handler:
type: CompositeErrorHandler
error_handlers:
- type: DefaultErrorHandler
backoff_strategies:
- type: ConstantBackoffStrategy
backoff_time_in_seconds: 15
response_filters:
- type: HttpResponseFilter
action: RETRY
predicate: "{{ 'Too much requests' in response }}"
http_codes: []
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path:
- userTemplates
schema_loader:
type: InlineSchemaLoader
schema:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
body:
type:
- "null"
- string
categoryId:
type:
- "null"
- string
id:
type:
- "null"
- integer
name:
type:
- "null"
- string
subject:
type:
- "null"
- string
spec:
type: Spec
connection_specification:
type: object
$schema: http://json-schema.org/draft-07/schema#
required:
- api_key
properties:
api_key:
type: string
title: API Token
airbyte_secret: true
description: The API Token for Reply
order: 0
additionalProperties: true
metadata:
autoImportSchema:
campaigns: false
email_accounts: false
people: false
templates: false
schemas:
campaigns:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
bouncesCount:
type:
- "null"
- integer
created:
type:
- "null"
- string
format: date-time
deliveriesCount:
type:
- "null"
- integer
id:
type:
- "null"
- integer
name:
type:
- "null"
- string
opensCount:
type:
- "null"
- integer
optOutsCount:
type:
- "null"
- integer
outOfOfficeCount:
type:
- "null"
- integer
ownerEmail:
type:
- "null"
- string
peopleActive:
type:
- "null"
- integer
peopleCount:
type:
- "null"
- integer
peopleFinished:
type:
- "null"
- integer
peoplePaused:
type:
- "null"
- integer
repliesCount:
type:
- "null"
- integer
email_accounts:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
emailAddress:
type:
- "null"
- string
id:
type:
- "null"
- integer
senderName:
type:
- "null"
- string
signature:
type:
- "null"
- string
people:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
addingDate:
type:
- "null"
- string
format: date-time
city:
type:
- "null"
- string
company:
type:
- "null"
- string
country:
type:
- "null"
- string
customFields:
type:
- "null"
- array
email:
type:
- "null"
- string
firstName:
type:
- "null"
- string
id:
type:
- "null"
- integer
lastName:
type:
- "null"
- string
linkedInProfile:
type:
- "null"
- string
phone:
type:
- "null"
- string
phoneStatus:
type:
- "null"
- string
state:
type:
- "null"
- string
timeZoneId:
type:
- "null"
- string
title:
type:
- "null"
- string
templates:
type: object
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: true
properties:
body:
type:
- "null"
- string
categoryId:
type:
- "null"
- string
id:
type:
- "null"
- integer
name:
type:
- "null"
- string
subject:
type:
- "null"
- string