vanus-labs/vanus-connect

🎯New Source Connector Request: Facebook Marketing Source Connector

ehisakhile opened this issue · 0 comments

Source Connector Facebook Marketing

What is a Vanus Connector

Vanus Connect allows you to skip the complex integration with external services by offering out-of-the-box connectors. Each connector acts as a proxy between outside services and your system, enabling users to have faster integrations with no codes. All data produced or processed by our connectors conform to the CloudEvents specification, which helps enterprises leverage event-driven architecture to do business in the age of events.

What is a Source Connector

A Source connector obtains data from an underlying data producer and delivers it to the target after the original data has been transformed into a CloudEvents. For example:

  • MySQL Source: extracts data from the Binlog, transforms it into CloudEvents, and sends it to the target.

  • GitHub Source: uses a Webhook server to receive the event from GitHub, transform them to CloudEvents, and send them to the target.

  • AWS S3 Source: Uses the AWS SDK to get the data, transforms it into CloudEvents, and sends them to the target.

There are two types of connectors push or pull connectors.

  • A push connector is passive and only does its logic when it receives an event
  • A pull connector must pull the data in an interval. We use a push method when it’s possible

Features of this Source Connector

Receive events from Facebook Marketing API for Ad Campaigns, Ads

Specific data needed

Ads Campaign

  • Campaign ID: A unique identifier for the Ad Campaign.
  • Campaign Name: The name of the Ad Campaign.
  • Campaign Objective: The objective of the Ad Campaign, such as brand awareness, lead generation, or website traffic.
  • Campaign Status: The current status of the Ad Campaign, such as active, paused, or deleted.
  • Campaign Delivery Insights: Insights into the delivery and performance of the Ad Campaign, including metrics like reach, impressions, frequency, and cost per result.
  • Campaign Spend: The amount of money spent on the Ad Campaign.
  • Campaign Budget: The budget allocated to the Ad Campaign.
  • Campaign Schedule: The start and end dates of the Ad Campaign.
  • Ad Account ID: The ID of the Ad Account associated with the Ad Campaign.
  • Campaign Objective Details: Additional details about the Ad Campaign objective, such as the specific action the campaign is optimized for, such as app installs or page likes.
  • Campaign Insights: Detailed insights into the performance of the Ad Campaign, including metrics like click-through rate, conversion rate, and cost per conversion.

Ads

  • Ad ID: A unique identifier for the Ad.
  • Ad Name: The name of the Ad.
  • Ad Creative: The content and design of the Ad, including images, videos, and text.
  • Ad Format: The format of the Ad, such as single image, carousel, or video.
  • Ad Placement: The placement of the Ad, such as News Feed, Instagram Stories, or Audience Network.
  • Ad Delivery Insights: Insights into the delivery and performance of the Ad, including metrics like reach, impressions, frequency, and cost per result.
  • Ad Spend: The amount of money spent on the Ad.
  • Ad Schedule: The start and end dates of the Ad.
  • Ad Status: The current status of the Ad, such as active, paused, or deleted.
  • Ad Creative Insights: Detailed insights into the performance of the Ad creative, including metrics like click-through rate, engagement rate, and conversion rate.
  • Ad Targeting: The targeting criteria used for the Ad, including demographic, geographic, and interest-based targeting.
  • Ad Performance Metrics: Performance metrics for the Ad, including metrics like impressions, clicks, conversions, and cost per result.

How to create a new connector

  • Fork the vanus-connect repo.
  • Create a source_twitter_proposal.md based on the source_proposal_example.md under the vanus-connect/proposals directory. The proposal will introduce how a developer tends to implement the connector in detail. The proposal PR must be approved and merged before going to the next step.
  • Copy one of the source templates (Golang template, Java template) to vanus-connect/connectors/ and rename it as source-twitter.
  • Implement your connector and submit a PR.
  • Wait for the connector to be reviewed and approved.

How to claim to implement this connector

If you want to solve this issue, please leave a comment on this issue like:

I'd like to implement the connector, please assign it to me.

Vanus community will assign the issue to you on time.