From 63886e9d9ae119895ef16ca2a7a8e802ed088dc9 Mon Sep 17 00:00:00 2001 From: Juan Shishido Date: Fri, 24 Sep 2021 12:42:05 -0700 Subject: [PATCH 1/2] Add card_type and remove custom_audience_expansion --- twitter_ads/campaign.py | 1 - twitter_ads/creative.py | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/twitter_ads/campaign.py b/twitter_ads/campaign.py index fbf2717..cbe53c5 100644 --- a/twitter_ads/campaign.py +++ b/twitter_ads/campaign.py @@ -141,7 +141,6 @@ def tv_shows(klass, account, **kwargs): resource_property(TargetingCriteria, 'operator_type') resource_property(TargetingCriteria, 'targeting_type') resource_property(TargetingCriteria, 'targeting_value') -resource_property(TargetingCriteria, 'custom_audience_expansion') # sdk-only resource_property(TargetingCriteria, 'to_delete', transform=TRANSFORM.BOOL) diff --git a/twitter_ads/creative.py b/twitter_ads/creative.py index ac2a36a..6fcb230 100644 --- a/twitter_ads/creative.py +++ b/twitter_ads/creative.py @@ -626,6 +626,7 @@ def reload(klass): # card properties # read-only resource_property(Card, 'card_uri', readonly=True) +resource_property(Card, 'card_type', readonly=True) resource_property(Card, 'created_at', readonly=True, transform=TRANSFORM.TIME) resource_property(Card, 'deleted', readonly=True, transform=TRANSFORM.BOOL) resource_property(Card, 'updated_at', readonly=True, transform=TRANSFORM.TIME) From 73c0dba4ebe9714fb32d174282db3a6834a8f0e6 Mon Sep 17 00:00:00 2001 From: Juan Shishido Date: Fri, 24 Sep 2021 13:10:33 -0700 Subject: [PATCH 2/2] Tracking Tags endpoints --- twitter_ads/account.py | 8 +++++++- twitter_ads/campaign.py | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/twitter_ads/account.py b/twitter_ads/account.py index 88cc2a4..f5e59e1 100644 --- a/twitter_ads/account.py +++ b/twitter_ads/account.py @@ -13,7 +13,7 @@ Card, VideoWebsiteCard, PromotedTweet) from twitter_ads.audience import CustomAudience from twitter_ads.campaign import (AppList, Campaign, FundingInstrument, LineItem, - PromotableUser, ScheduledPromotedTweet) + PromotableUser, TrackingTags, ScheduledPromotedTweet) class Account(Resource): @@ -148,6 +148,12 @@ def scheduled_promoted_tweets(self, id=None, **kwargs): """ return self._load_resource(ScheduledPromotedTweet, id, **kwargs) + def tracking_tags(self, id=None, **kwargs): + """ + Returns a collection of Tracking Tags available to the current account. + """ + return self._load_resource(TrackingTags, id, **kwargs) + def video_website_cards(self, id=None, **kwargs): """ Returns a collection of video website cards available to the current account. diff --git a/twitter_ads/campaign.py b/twitter_ads/campaign.py index cbe53c5..0096162 100644 --- a/twitter_ads/campaign.py +++ b/twitter_ads/campaign.py @@ -359,6 +359,26 @@ class ScheduledPromotedTweet(Resource, Persistence): resource_property(ScheduledPromotedTweet, 'scheduled_tweet_id') +class TrackingTags(Resource, Persistence): + + PROPERTIES = {} + + RESOURCE_COLLECTION = '/' + API_VERSION + '/accounts/{account_id}/tracking_tags' + RESOURCE = '/' + API_VERSION + '/accounts/{account_id}/tracking_tags/{id}' + + +# tracking tags properties +# read-only +resource_property(TrackingTags, 'created_at', readonly=True, transform=TRANSFORM.TIME) +resource_property(TrackingTags, 'id', readonly=True) +resource_property(TrackingTags, 'deleted', readonly=True, transform=TRANSFORM.BOOL) +resource_property(TrackingTags, 'updated_at', readonly=True, transform=TRANSFORM.TIME) +# writable +resource_property(TrackingTags, 'line_item_id') +resource_property(TrackingTags, 'tracking_tag_type') +resource_property(TrackingTags, 'tracking_tag_url') + + class Tweet(object): TWEET_CREATE = '/' + API_VERSION + '/accounts/{account_id}/tweet'