def create_ad_creative()

in facebook_business/adobjects/adaccount.py [0:0]


    def create_ad_creative(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.adcreative import AdCreative
        param_types = {
            'actor_id': 'unsigned int',
            'adlabels': 'list<Object>',
            'applink_treatment': 'applink_treatment_enum',
            'asset_feed_spec': 'Object',
            'authorization_category': 'authorization_category_enum',
            'body': 'string',
            'branded_content_sponsor_page_id': 'string',
            'bundle_folder_id': 'string',
            'call_to_action': 'Object',
            'categorization_criteria': 'categorization_criteria_enum',
            'category_media_source': 'category_media_source_enum',
            'destination_set_id': 'string',
            'dynamic_ad_voice': 'dynamic_ad_voice_enum',
            'enable_launch_instant_app': 'bool',
            'image_crops': 'map',
            'image_file': 'string',
            'image_hash': 'string',
            'image_url': 'string',
            'instagram_actor_id': 'string',
            'instagram_permalink_url': 'string',
            'instagram_user_id': 'string',
            'instant_checkout_setting': 'instant_checkout_setting_enum',
            'interactive_components_spec': 'map',
            'is_dco_internal': 'bool',
            'link_og_id': 'string',
            'link_url': 'string',
            'messenger_sponsored_message': 'string',
            'name': 'string',
            'object_id': 'unsigned int',
            'object_story_id': 'string',
            'object_story_spec': 'AdCreativeObjectStorySpec',
            'object_type': 'string',
            'object_url': 'string',
            'omnichannel_link_spec': 'map',
            'place_page_set_id': 'string',
            'platform_customizations': 'Object',
            'playable_asset_id': 'string',
            'portrait_customizations': 'map',
            'product_set_id': 'string',
            'recommender_settings': 'map',
            'source_instagram_media_id': 'string',
            'template_url': 'string',
            'template_url_spec': 'Object',
            'thumbnail_url': 'string',
            'title': 'string',
            'url_tags': 'string',
            'use_page_actor_override': 'bool',
        }
        enums = {
            'applink_treatment_enum': AdCreative.ApplinkTreatment.__dict__.values(),
            'authorization_category_enum': AdCreative.AuthorizationCategory.__dict__.values(),
            'categorization_criteria_enum': AdCreative.CategorizationCriteria.__dict__.values(),
            'category_media_source_enum': AdCreative.CategoryMediaSource.__dict__.values(),
            'dynamic_ad_voice_enum': AdCreative.DynamicAdVoice.__dict__.values(),
            'instant_checkout_setting_enum': AdCreative.InstantCheckoutSetting.__dict__.values(),
        }
        request = FacebookRequest(
            node_id=self['id'],
            method='POST',
            endpoint='/adcreatives',
            api=self._api,
            param_checker=TypeChecker(param_types, enums),
            target_class=AdCreative,
            api_type='EDGE',
            response_parser=ObjectParser(target_class=AdCreative, 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()