blob: fc518e4cd9ac864e17eab41c01f974bbf9be8d4d [file] [log] [blame]
:py:mod:`airflow.providers.facebook.ads.hooks.ads`
==================================================
.. py:module:: airflow.providers.facebook.ads.hooks.ads
.. autoapi-nested-parse::
This module contains Facebook Ads Reporting hooks
Module Contents
---------------
Classes
~~~~~~~
.. autoapisummary::
airflow.providers.facebook.ads.hooks.ads.JobStatus
airflow.providers.facebook.ads.hooks.ads.FacebookAdsReportingHook
.. py:class:: JobStatus
Bases: :py:obj:`enum.Enum`
Available options for facebook async task status
.. py:attribute:: COMPLETED
:annotation: = Job Completed
.. py:attribute:: STARTED
:annotation: = Job Started
.. py:attribute:: RUNNING
:annotation: = Job Running
.. py:attribute:: FAILED
:annotation: = Job Failed
.. py:attribute:: SKIPPED
:annotation: = Job Skipped
.. py:class:: FacebookAdsReportingHook(facebook_conn_id = default_conn_name, api_version = None)
Bases: :py:obj:`airflow.hooks.base.BaseHook`
Hook for the Facebook Ads API
.. seealso::
For more information on the Facebook Ads API, take a look at the API docs:
https://developers.facebook.com/docs/marketing-apis/
:param facebook_conn_id: Airflow Facebook Ads connection ID
:param api_version: The version of Facebook API. Default to None. If it is None,
it will use the Facebook business SDK default version.
.. py:attribute:: conn_name_attr
:annotation: = facebook_conn_id
.. py:attribute:: default_conn_name
:annotation: = facebook_default
.. py:attribute:: conn_type
:annotation: = facebook_social
.. py:attribute:: hook_name
:annotation: = Facebook Ads
.. py:method:: multiple_accounts(self)
Checks whether provided account_id in the Facebook Ads Connection is provided as a list
.. py:method:: facebook_ads_config(self)
Gets Facebook ads connection from meta db and sets
facebook_ads_config attribute with returned config file
.. py:method:: bulk_facebook_report(self, params, fields, sleep_time = 5)
Pulls data from the Facebook Ads API regarding Account ID with matching return type.
The return type and value depends on the ``account_id`` configuration. If the
configuration is a str representing a single Account ID, the return value is the
list of reports for that ID. If the configuration is a list of str representing
multiple Account IDs, the return value is a dict of Account IDs and their
respective list of reports.
:param fields: List of fields that is obtained from Facebook. Found in AdsInsights.Field class.
https://developers.facebook.com/docs/marketing-api/insights/parameters/v6.0
:param params: Parameters that determine the query for Facebook
https://developers.facebook.com/docs/marketing-api/insights/parameters/v6.0
:param sleep_time: Time to sleep when async call is happening
:return: Facebook Ads API response,
converted to Facebook Ads Row objects regarding given Account ID type
:rtype: List[AdsInsights] or Dict[str, List[AdsInsights]]