1
0
mirror of synced 2025-12-22 11:31:02 -05:00
Files
airbyte/airbyte-integrations/connectors/source-flexmail/manifest.yaml
2024-11-08 16:45:59 +02:00

458 lines
11 KiB
YAML

version: 6.4.0
type: DeclarativeSource
description: >-
The Airbyte connector for [Flexmail](https://flexmail.be/) enables seamless
data integration from Flexmail, a comprehensive email marketing platform, into
various data warehouses and analytics tools. With this connector, users can
efficiently synchronize Flexmail data—such as campaign details, subscriber
information, and engagement metrics—allowing for unified insights and advanced
reporting across platforms. Perfect for businesses aiming to centralize their
marketing data for enhanced visibility and decision-making.
check:
type: CheckStream
stream_names:
- contacts
definitions:
streams:
contacts:
type: DeclarativeStream
name: contacts
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
$ref: "#/definitions/base_requester"
path: /contacts
http_method: GET
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path:
- _embedded
- item
paginator:
type: DefaultPaginator
page_token_option:
type: RequestOption
inject_into: request_parameter
field_name: offset
page_size_option:
type: RequestOption
field_name: limit
inject_into: request_parameter
pagination_strategy:
type: OffsetIncrement
page_size: 500
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/contacts"
custom_fields:
type: DeclarativeStream
name: custom_fields
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
$ref: "#/definitions/base_requester"
path: /custom-fields
http_method: GET
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path:
- _embedded
- item
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/custom_fields"
interests:
type: DeclarativeStream
name: interests
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
$ref: "#/definitions/base_requester"
path: /interests
http_method: GET
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path:
- _embedded
- item
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/interests"
segments:
type: DeclarativeStream
name: segments
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
$ref: "#/definitions/base_requester"
path: /segments
http_method: GET
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path:
- _embedded
- item
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/segments"
sources:
type: DeclarativeStream
name: sources
primary_key:
- id
retriever:
type: SimpleRetriever
requester:
$ref: "#/definitions/base_requester"
path: /sources
http_method: GET
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path:
- _embedded
- item
paginator:
type: DefaultPaginator
page_token_option:
type: RequestOption
inject_into: request_parameter
field_name: offset
page_size_option:
type: RequestOption
field_name: limit
inject_into: request_parameter
pagination_strategy:
type: OffsetIncrement
page_size: 500
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/sources"
webhook_events:
type: DeclarativeStream
name: webhook_events
retriever:
type: SimpleRetriever
requester:
$ref: "#/definitions/base_requester"
path: /webhook-events
http_method: GET
record_selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path: []
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/webhook_events"
base_requester:
type: HttpRequester
url_base: https://api.flexmail.eu
authenticator:
type: BasicHttpAuthenticator
password: "{{ config[\"personal_access_token\"] }}"
username: "{{ config[\"account_id\"] }}"
streams:
- $ref: "#/definitions/streams/contacts"
- $ref: "#/definitions/streams/custom_fields"
- $ref: "#/definitions/streams/interests"
- $ref: "#/definitions/streams/segments"
- $ref: "#/definitions/streams/sources"
- $ref: "#/definitions/streams/webhook_events"
spec:
type: Spec
connection_specification:
type: object
$schema: http://json-schema.org/draft-07/schema#
required:
- account_id
- personal_access_token
properties:
account_id:
type: string
description: >-
Your Flexmail account ID. You can find it in your Flexmail account
settings.
name: account_id
order: 0
title: Account ID
personal_access_token:
type: string
description: >-
A personal access token for API authentication. Manage your tokens in
Flexmail under Settings > API > Personal access tokens.
name: personal_access_token
order: 1
title: Personal Access Token
airbyte_secret: true
additionalProperties: true
metadata:
autoImportSchema:
contacts: true
custom_fields: true
interests: true
segments: true
sources: true
webhook_events: true
testedStreams:
contacts:
streamHash: 9697aafc0c43eacbdf5543a0866bb1711eb7a99c
hasResponse: true
responsesAreSuccessful: true
hasRecords: true
primaryKeysArePresent: true
primaryKeysAreUnique: true
custom_fields:
streamHash: 8e9130174f724b68eac023f7754ad4d7750820f3
hasResponse: true
responsesAreSuccessful: true
hasRecords: true
primaryKeysArePresent: true
primaryKeysAreUnique: true
interests:
streamHash: c58d821de8774fffbfa15514e93452676449b542
hasResponse: true
responsesAreSuccessful: true
hasRecords: true
primaryKeysArePresent: true
primaryKeysAreUnique: true
segments:
streamHash: 22bb7e1a7abfacb36b8fa22c0c21175f098842a7
hasResponse: true
responsesAreSuccessful: true
hasRecords: true
primaryKeysArePresent: true
primaryKeysAreUnique: true
sources:
streamHash: 505704b58a5f5e7a6e532635df6dbb61e9f2b416
hasResponse: true
responsesAreSuccessful: true
hasRecords: true
primaryKeysArePresent: true
primaryKeysAreUnique: true
webhook_events:
streamHash: 5ff0384abc63be781b90d10dd38dc652f7037c4a
hasResponse: true
responsesAreSuccessful: true
hasRecords: true
primaryKeysArePresent: true
primaryKeysAreUnique: true
assist:
docsUrl: https://api.flexmail.eu/documentation
schemas:
contacts:
type: object
$schema: http://json-schema.org/schema#
additionalProperties: true
properties:
_links:
type:
- object
- "null"
properties:
self:
type:
- object
- "null"
properties:
href:
type:
- string
- "null"
sources:
type:
- object
- "null"
properties:
href:
type:
- string
- "null"
custom_fields:
type:
- object
- "null"
properties: {}
email:
type:
- string
- "null"
first_name:
type:
- string
- "null"
id:
type: number
language:
type:
- string
- "null"
name:
type:
- string
- "null"
required:
- id
custom_fields:
type: object
$schema: http://json-schema.org/schema#
additionalProperties: true
properties:
type:
type:
- string
- "null"
id:
type: string
name:
type:
- string
- "null"
placeholder:
type:
- string
- "null"
required:
- id
interests:
type: object
$schema: http://json-schema.org/schema#
additionalProperties: true
properties:
description:
type:
- string
- "null"
_links:
type:
- object
- "null"
properties:
self:
type:
- object
- "null"
properties:
href:
type:
- string
- "null"
id:
type: string
label:
type:
- string
- "null"
name:
type:
- string
- "null"
visibility:
type:
- string
- "null"
required:
- id
segments:
type: object
$schema: http://json-schema.org/schema#
additionalProperties: true
properties:
id:
type: string
name:
type:
- string
- "null"
number_of_contacts:
type:
- number
- "null"
required:
- id
sources:
type: object
$schema: http://json-schema.org/schema#
additionalProperties: true
properties:
_links:
type:
- object
- "null"
properties:
self:
type:
- object
- "null"
properties:
href:
type:
- string
- "null"
id:
type: number
name:
type:
- string
- "null"
required:
- id
webhook_events:
type: object
$schema: http://json-schema.org/schema#
additionalProperties: true
properties:
_links:
type:
- object
- "null"
properties:
self:
type:
- object
- "null"
properties:
href:
type:
- string
- "null"
events:
type:
- array
- "null"
items:
type:
- string
- "null"