version: "0.29.0" definitions: selector: extractor: field_path: ["data", "items"] requester: url_base: "https://api.partnerstack.com/api/v2/" http_method: "GET" authenticator: type: BasicHttpAuthenticator username: "{{ config['public_key'] }}" password: "{{ config['private_key'] }}" request_parameters: min_created: "{{ timestamp(config['start_date']) * 1000 }}" partition_router: request_cursor_field: "min_updated" cursor_field: "updated_at" class_name: source_partnerstack.components.PartnerstackSlicer retriever: record_selector: $ref: "#/definitions/selector" paginator: type: DefaultPaginator pagination_strategy: type: "CursorPagination" cursor_value: "{{ last_records[-1]['key'] }}" stop_condition: "{{ response.data.has_more is false }}" page_size: 250 page_size_option: field_name: "limit" inject_into: "request_parameter" page_token_option: type: RequestOption field_name: "starting_after" inject_into: "request_parameter" requester: $ref: "#/definitions/requester" partition_router: $ref: "#/definitions/partition_router" # base stream base_stream: retriever: $ref: "#/definitions/retriever" # stream definitions customers_stream: $ref: "#/definitions/base_stream" $parameters: name: "customers" primary_key: "key" path: "/customers" deals_stream: $ref: "#/definitions/base_stream" $parameters: name: "deals" primary_key: "key" path: "/deals" groups_stream: $ref: "#/definitions/base_stream" $parameters: name: "groups" primary_key: "key" path: "/groups" leads_stream: $ref: "#/definitions/base_stream" $parameters: name: "leads" primary_key: "key" path: "/leads" partnerships_stream: $ref: "#/definitions/base_stream" $parameters: name: "partnerships" primary_key: "key" path: "/partnerships" rewards_stream: $ref: "#/definitions/base_stream" $parameters: name: "rewards" primary_key: "key" path: "/rewards" transactions_stream: $ref: "#/definitions/base_stream" $parameters: name: "transactions" primary_key: "key" path: "/transactions" streams: - "#/definitions/customers_stream" - "#/definitions/deals_stream" - "#/definitions/groups_stream" - "#/definitions/leads_stream" - "#/definitions/partnerships_stream" - "#/definitions/rewards_stream" - "#/definitions/transactions_stream" check: stream_names: - "groups"