Skip to content

Commit

Permalink
Auto-generated python SDK code update
Browse files Browse the repository at this point in the history
Summary: ignore-conflict-markers

Reviewed By: jingping2015

Differential Revision: D15532074

fbshipit-source-id: b2a4fb5d
  • Loading branch information
jingping2015 authored and facebook-github-bot committed May 29, 2019
1 parent 256aff2 commit b29bc58
Show file tree
Hide file tree
Showing 22 changed files with 604 additions and 857 deletions.
2 changes: 1 addition & 1 deletion facebook_business/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
from facebook_business.session import FacebookSession
from facebook_business.api import FacebookAdsApi

__version__ = '3.3.3'
__version__ = '3.3.4'
__all__ = [
'session',
'objects',
Expand Down
207 changes: 92 additions & 115 deletions facebook_business/adobjects/adaccount.py
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,90 @@ def create_ad_place_page_set(self, fields=None, params=None, batch=None, success
self.assure_call()
return request.execute()

def create_ad_set(self, fields=None, params=None, batch=None, success=None, failure=None, pending=False):
from facebook_business.utils import api_utils
if batch is None and (success is not None or failure is not None):
api_utils.warning('`success` and `failure` callback only work for batch call.')
from facebook_business.adobjects.adset import AdSet
param_types = {
'ad_keywords': 'Object',
'adlabels': 'list<Object>',
'adset_schedule': 'list<Object>',
'attribution_spec': 'list<map>',
'bid_adjustments': 'Object',
'bid_amount': 'int',
'bid_constraints': 'map<string, Object>',
'bid_strategy': 'bid_strategy_enum',
'billing_event': 'billing_event_enum',
'campaign_id': 'string',
'campaign_spec': 'Object',
'creative_sequence': 'list<string>',
'daily_budget': 'unsigned int',
'daily_imps': 'unsigned int',
'daily_min_spend_target': 'unsigned int',
'daily_spend_cap': 'unsigned int',
'date_format': 'string',
'destination_type': 'destination_type_enum',
'end_time': 'datetime',
'execution_options': 'list<execution_options_enum>',
'frequency_control_specs': 'list<Object>',
'full_funnel_exploration_mode': 'full_funnel_exploration_mode_enum',
'is_dynamic_creative': 'bool',
'lifetime_budget': 'unsigned int',
'lifetime_imps': 'unsigned int',
'lifetime_min_spend_target': 'unsigned int',
'lifetime_spend_cap': 'unsigned int',
'line_number': 'unsigned int',
'name': 'string',
'optimization_goal': 'optimization_goal_enum',
'optimization_sub_event': 'optimization_sub_event_enum',
'pacing_type': 'list<string>',
'promoted_object': 'Object',
'rb_prediction_id': 'string',
'rf_prediction_id': 'string',
'source_adset_id': 'string',
'start_time': 'datetime',
'status': 'status_enum',
'targeting': 'Targeting',
'time_based_ad_rotation_id_blocks': 'list<list<unsigned int>>',
'time_based_ad_rotation_intervals': 'list<unsigned int>',
'time_start': 'datetime',
'time_stop': 'datetime',
'topline_id': 'string',
'upstream_events': 'map',
}
enums = {
'bid_strategy_enum': AdSet.BidStrategy.__dict__.values(),
'billing_event_enum': AdSet.BillingEvent.__dict__.values(),
'destination_type_enum': AdSet.DestinationType.__dict__.values(),
'execution_options_enum': AdSet.ExecutionOptions.__dict__.values(),
'full_funnel_exploration_mode_enum': AdSet.FullFunnelExplorationMode.__dict__.values(),
'optimization_goal_enum': AdSet.OptimizationGoal.__dict__.values(),
'optimization_sub_event_enum': AdSet.OptimizationSubEvent.__dict__.values(),
'status_enum': AdSet.Status.__dict__.values(),
}
request = FacebookRequest(
node_id=self['id'],
method='POST',
endpoint='/ad_sets',
api=self._api,
param_checker=TypeChecker(param_types, enums),
target_class=AdSet,
api_type='EDGE',
response_parser=ObjectParser(target_class=AdSet, api=self._api),
)
request.add_params(params)
request.add_fields(fields)

if batch is not None:
request.add_to_batch(batch, success=success, failure=failure)
return request
elif pending:
return request
else:
self.assure_call()
return request.execute()

def get_ad_studies(self, fields=None, params=None, batch=None, success=None, failure=None, pending=False):
from facebook_business.utils import api_utils
if batch is None and (success is not None or failure is not None):
Expand Down Expand Up @@ -866,37 +950,6 @@ def delete_ad_report_runs(self, fields=None, params=None, batch=None, success=No
self.assure_call()
return request.execute()

def get_ad_report_runs(self, fields=None, params=None, batch=None, success=None, failure=None, pending=False):
from facebook_business.utils import api_utils
if batch is None and (success is not None or failure is not None):
api_utils.warning('`success` and `failure` callback only work for batch call.')
from facebook_business.adobjects.adreportrun import AdReportRun
param_types = {
}
enums = {
}
request = FacebookRequest(
node_id=self['id'],
method='GET',
endpoint='/adreportruns',
api=self._api,
param_checker=TypeChecker(param_types, enums),
target_class=AdReportRun,
api_type='EDGE',
response_parser=ObjectParser(target_class=AdReportRun, api=self._api),
)
request.add_params(params)
request.add_fields(fields)

if batch is not None:
request.add_to_batch(batch, success=success, failure=failure)
return request
elif pending:
return request
else:
self.assure_call()
return request.execute()

def get_ad_report_schedules(self, fields=None, params=None, batch=None, success=None, failure=None, pending=False):
from facebook_business.utils import api_utils
if batch is None and (success is not None or failure is not None):
Expand Down Expand Up @@ -1277,6 +1330,7 @@ def get_ads(self, fields=None, params=None, batch=None, success=None, failure=No
'include_drafts': 'bool',
'time_range': 'Object',
'updated_since': 'int',
'use_employee_draft': 'bool',
}
enums = {
'date_preset_enum': Ad.DatePreset.__dict__.values(),
Expand Down Expand Up @@ -1440,6 +1494,7 @@ def get_ad_sets(self, fields=None, params=None, batch=None, success=None, failur
'include_drafts': 'bool',
'is_completed': 'bool',
'time_range': 'Object',
'use_employee_draft': 'bool',
}
enums = {
'date_preset_enum': AdSet.DatePreset.__dict__.values(),
Expand Down Expand Up @@ -1467,90 +1522,6 @@ def get_ad_sets(self, fields=None, params=None, batch=None, success=None, failur
self.assure_call()
return request.execute()

def create_ad_set(self, fields=None, params=None, batch=None, success=None, failure=None, pending=False):
from facebook_business.utils import api_utils
if batch is None and (success is not None or failure is not None):
api_utils.warning('`success` and `failure` callback only work for batch call.')
from facebook_business.adobjects.adset import AdSet
param_types = {
'ad_keywords': 'Object',
'adlabels': 'list<Object>',
'adset_schedule': 'list<Object>',
'attribution_spec': 'list<map>',
'bid_adjustments': 'Object',
'bid_amount': 'int',
'bid_constraints': 'map<string, Object>',
'bid_strategy': 'bid_strategy_enum',
'billing_event': 'billing_event_enum',
'campaign_id': 'string',
'campaign_spec': 'Object',
'creative_sequence': 'list<string>',
'daily_budget': 'unsigned int',
'daily_imps': 'unsigned int',
'daily_min_spend_target': 'unsigned int',
'daily_spend_cap': 'unsigned int',
'date_format': 'string',
'destination_type': 'destination_type_enum',
'end_time': 'datetime',
'execution_options': 'list<execution_options_enum>',
'frequency_control_specs': 'list<Object>',
'full_funnel_exploration_mode': 'full_funnel_exploration_mode_enum',
'is_dynamic_creative': 'bool',
'lifetime_budget': 'unsigned int',
'lifetime_imps': 'unsigned int',
'lifetime_min_spend_target': 'unsigned int',
'lifetime_spend_cap': 'unsigned int',
'line_number': 'unsigned int',
'name': 'string',
'optimization_goal': 'optimization_goal_enum',
'optimization_sub_event': 'optimization_sub_event_enum',
'pacing_type': 'list<string>',
'promoted_object': 'Object',
'rb_prediction_id': 'string',
'rf_prediction_id': 'string',
'source_adset_id': 'string',
'start_time': 'datetime',
'status': 'status_enum',
'targeting': 'Targeting',
'time_based_ad_rotation_id_blocks': 'list<list<unsigned int>>',
'time_based_ad_rotation_intervals': 'list<unsigned int>',
'time_start': 'datetime',
'time_stop': 'datetime',
'topline_id': 'string',
'upstream_events': 'map',
}
enums = {
'bid_strategy_enum': AdSet.BidStrategy.__dict__.values(),
'billing_event_enum': AdSet.BillingEvent.__dict__.values(),
'destination_type_enum': AdSet.DestinationType.__dict__.values(),
'execution_options_enum': AdSet.ExecutionOptions.__dict__.values(),
'full_funnel_exploration_mode_enum': AdSet.FullFunnelExplorationMode.__dict__.values(),
'optimization_goal_enum': AdSet.OptimizationGoal.__dict__.values(),
'optimization_sub_event_enum': AdSet.OptimizationSubEvent.__dict__.values(),
'status_enum': AdSet.Status.__dict__.values(),
}
request = FacebookRequest(
node_id=self['id'],
method='POST',
endpoint='/adsets',
api=self._api,
param_checker=TypeChecker(param_types, enums),
target_class=AdSet,
api_type='EDGE',
response_parser=ObjectParser(target_class=AdSet, api=self._api),
)
request.add_params(params)
request.add_fields(fields)

if batch is not None:
request.add_to_batch(batch, success=success, failure=failure)
return request
elif pending:
return request
else:
self.assure_call()
return request.execute()

def get_ad_sets_by_labels(self, fields=None, params=None, batch=None, success=None, failure=None, pending=False):
from facebook_business.utils import api_utils
if batch is None and (success is not None or failure is not None):
Expand Down Expand Up @@ -3886,10 +3857,12 @@ def get_targeting_browse(self, fields=None, params=None, batch=None, success=Non
'include_nodes': 'bool',
'is_exclusion': 'bool',
'limit_type': 'limit_type_enum',
'regulated_categories': 'list<regulated_categories_enum>',
'whitelisted_types': 'list<whitelisted_types_enum>',
}
enums = {
'limit_type_enum': AdAccountTargetingUnified.LimitType.__dict__.values(),
'regulated_categories_enum': AdAccountTargetingUnified.RegulatedCategories.__dict__.values(),
'whitelisted_types_enum': AdAccountTargetingUnified.WhitelistedTypes.__dict__.values(),
}
request = FacebookRequest(
Expand Down Expand Up @@ -3925,12 +3898,14 @@ def get_targeting_search(self, fields=None, params=None, batch=None, success=Non
'is_exclusion': 'bool',
'limit_type': 'limit_type_enum',
'q': 'string',
'regulated_categories': 'list<regulated_categories_enum>',
'session_id': 'unsigned int',
'targeting_list': 'list<Object>',
'whitelisted_types': 'list<whitelisted_types_enum>',
}
enums = {
'limit_type_enum': AdAccountTargetingUnified.LimitType.__dict__.values(),
'regulated_categories_enum': AdAccountTargetingUnified.RegulatedCategories.__dict__.values(),
'whitelisted_types_enum': AdAccountTargetingUnified.WhitelistedTypes.__dict__.values(),
}
request = FacebookRequest(
Expand Down Expand Up @@ -4001,6 +3976,7 @@ def get_targeting_suggestions(self, fields=None, params=None, batch=None, succes
'mode': 'mode_enum',
'objective': 'objective_enum',
'objects': 'Object',
'regulated_categories': 'list<regulated_categories_enum>',
'session_id': 'unsigned int',
'targeting_list': 'list<Object>',
'whitelisted_types': 'list<whitelisted_types_enum>',
Expand All @@ -4009,6 +3985,7 @@ def get_targeting_suggestions(self, fields=None, params=None, batch=None, succes
'limit_type_enum': AdAccountTargetingUnified.LimitType.__dict__.values(),
'mode_enum': AdAccountTargetingUnified.Mode.__dict__.values(),
'objective_enum': AdAccountTargetingUnified.Objective.__dict__.values(),
'regulated_categories_enum': AdAccountTargetingUnified.RegulatedCategories.__dict__.values(),
'whitelisted_types_enum': AdAccountTargetingUnified.WhitelistedTypes.__dict__.values(),
}
request = FacebookRequest(
Expand Down
7 changes: 7 additions & 0 deletions facebook_business/adobjects/adaccounttargetingunified.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,12 @@ class LimitType:
work_employers = 'work_employers'
work_positions = 'work_positions'

class RegulatedCategories:
employment = 'EMPLOYMENT'
financing = 'FINANCING'
housing = 'HOUSING'
none = 'NONE'

class WhitelistedTypes:
adgroup_id = 'adgroup_id'
age_max = 'age_max'
Expand Down Expand Up @@ -256,6 +262,7 @@ class Objective:
def _get_field_enum_info(cls):
field_enum_info = {}
field_enum_info['LimitType'] = AdAccountTargetingUnified.LimitType.__dict__.values()
field_enum_info['RegulatedCategories'] = AdAccountTargetingUnified.RegulatedCategories.__dict__.values()
field_enum_info['WhitelistedTypes'] = AdAccountTargetingUnified.WhitelistedTypes.__dict__.values()
field_enum_info['Mode'] = AdAccountTargetingUnified.Mode.__dict__.values()
field_enum_info['Objective'] = AdAccountTargetingUnified.Objective.__dict__.values()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ class Metrics:
fb_ad_network_filled_request = 'FB_AD_NETWORK_FILLED_REQUEST'
fb_ad_network_fill_rate = 'FB_AD_NETWORK_FILL_RATE'
fb_ad_network_imp = 'FB_AD_NETWORK_IMP'
fb_ad_network_impression_rate = 'FB_AD_NETWORK_IMPRESSION_RATE'
fb_ad_network_request = 'FB_AD_NETWORK_REQUEST'
fb_ad_network_revenue = 'FB_AD_NETWORK_REVENUE'
fb_ad_network_show_rate = 'FB_AD_NETWORK_SHOW_RATE'
Expand Down
46 changes: 23 additions & 23 deletions facebook_business/adobjects/adset.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,27 +171,6 @@ class Status:
deleted = 'DELETED'
paused = 'PAUSED'

class DatePreset:
last_14d = 'last_14d'
last_28d = 'last_28d'
last_30d = 'last_30d'
last_3d = 'last_3d'
last_7d = 'last_7d'
last_90d = 'last_90d'
last_month = 'last_month'
last_quarter = 'last_quarter'
last_week_mon_sun = 'last_week_mon_sun'
last_week_sun_sat = 'last_week_sun_sat'
last_year = 'last_year'
lifetime = 'lifetime'
this_month = 'this_month'
this_quarter = 'this_quarter'
this_week_mon_today = 'this_week_mon_today'
this_week_sun_today = 'this_week_sun_today'
this_year = 'this_year'
today = 'today'
yesterday = 'yesterday'

class DestinationType:
app = 'APP'
applinks_automatic = 'APPLINKS_AUTOMATIC'
Expand Down Expand Up @@ -220,6 +199,27 @@ class OptimizationSubEvent:
trip_consideration = 'TRIP_CONSIDERATION'
video_sound_on = 'VIDEO_SOUND_ON'

class DatePreset:
last_14d = 'LAST_14D'
last_28d = 'LAST_28D'
last_30d = 'LAST_30D'
last_3d = 'LAST_3D'
last_7d = 'LAST_7D'
last_90d = 'LAST_90D'
last_month = 'LAST_MONTH'
last_quarter = 'LAST_QUARTER'
last_week_mon_sun = 'LAST_WEEK_MON_SUN'
last_week_sun_sat = 'LAST_WEEK_SUN_SAT'
last_year = 'LAST_YEAR'
lifetime = 'LIFETIME'
this_month = 'THIS_MONTH'
this_quarter = 'THIS_QUARTER'
this_week_mon_today = 'THIS_WEEK_MON_TODAY'
this_week_sun_today = 'THIS_WEEK_SUN_TODAY'
this_year = 'THIS_YEAR'
today = 'TODAY'
yesterday = 'YESTERDAY'

class Operator:
all = 'ALL'
any = 'ANY'
Expand All @@ -232,7 +232,7 @@ class StatusOption:
# @deprecated get_endpoint function is deprecated
@classmethod
def get_endpoint(cls):
return 'adsets'
return 'ad_sets'

# @deprecated api_create is being deprecated
def api_create(self, parent_id, fields=None, params=None, batch=None, success=None, failure=None, pending=False):
Expand Down Expand Up @@ -939,11 +939,11 @@ def _get_field_enum_info(cls):
field_enum_info['EffectiveStatus'] = AdSet.EffectiveStatus.__dict__.values()
field_enum_info['OptimizationGoal'] = AdSet.OptimizationGoal.__dict__.values()
field_enum_info['Status'] = AdSet.Status.__dict__.values()
field_enum_info['DatePreset'] = AdSet.DatePreset.__dict__.values()
field_enum_info['DestinationType'] = AdSet.DestinationType.__dict__.values()
field_enum_info['ExecutionOptions'] = AdSet.ExecutionOptions.__dict__.values()
field_enum_info['FullFunnelExplorationMode'] = AdSet.FullFunnelExplorationMode.__dict__.values()
field_enum_info['OptimizationSubEvent'] = AdSet.OptimizationSubEvent.__dict__.values()
field_enum_info['DatePreset'] = AdSet.DatePreset.__dict__.values()
field_enum_info['Operator'] = AdSet.Operator.__dict__.values()
field_enum_info['StatusOption'] = AdSet.StatusOption.__dict__.values()
return field_enum_info
Expand Down
Loading

0 comments on commit b29bc58

Please sign in to comment.