vanus-labs / vanus-connect

Vanus Connect allows you to skip the complex integration with external services by offering out-of-the-box connectors.

Home Page:https://www.vanus.ai/connectors

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Good First Issues]: New Source Connector Request: Facebook Page

ehisakhile opened this issue · comments

Source Connector Facebook Page

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 the Source Connector

The Source connector receives the following events from the user's Facebook Page

  • Follow events: When a user's Facebook page is followed
  • Like events: When a user's Facebook page is liked
  • Message events: When a user's Facebook page receives a message
  • Share events: When a user's Facebook page is shared

Specific data needed

Follow event

  • User ID: This is a unique identifier that represents the user's personal account on Facebook.
  • Timestamp: Indicates the exact time and date that the user follows the Facebook page.
  • Subscribe/Unsubscribe: Indicates whether the user has followed or unfollowed the Facebook page.
  • Personal information: including name, gender, email address, country and city, personal hobbies, personal profile, personal title, mobile phone number, personal address.
  • Follow Count: The total number of followers

Like event

  • User Identification: Unique Device Identifier for Liked Users.
  • Timestamp: The time when the like occurred.
  • Post ID: Unique Device Identifier for the post that was liked.
  • Like Count: The total number of likes
  • Personal information: including name, gender, email address, country and city, personal hobbies, personal profile, personal title, mobile phone number, personal address.

Message event

  • Post ID: The Unique Device Identifier of the post to which the message belongs.
  • Timestamp: The time when the message occurred.
  • Message ID: Unique Device Identifier for the message.
  • Message content: including text, links, labels and emojis of the message.
  • User Identification: Unique Device Identifier for the user leaving a message.
  • Reply object: If the message is a reply to another message, you can get the ID and content of the reply object and other information
  • Personal information: including name, gender, email address, country and city, personal hobbies, personal profile, personal title, mobile phone number, personal address.

Share events

  • Shareer ID: Unique Device Identifier for the user who shared the post.
  • Timestamp: Share the time that occurred.
  • Post ID: The Unique Device Identifier of the shared post.
  • What to share: Text, links, hashtags, emojis, etc. added when sharing.
  • Sharing target: If the sharing is carried out through private message or group , etc., you can get the ID and name of the sharing target and other information.
  • Share Count: The total number of shares
  • Personal information: including name, gender, email address, country and city, personal hobbies, personal profile, personal title, mobile phone number, personal address.

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.

commented

I'd like to take up this issue, please assign it to me. Thank you

commented

Great job @Michaelg22