@@ -68,6 +68,13 @@ def permissions(self, **kwargs):
68
68
self ._validate_loaded ()
69
69
return TailoredAudiencePermission .all (self .account , self .id , ** kwargs )
70
70
71
+ def targeted (self , ** kwargs ):
72
+ """
73
+ Returns a collection of campaigns and line items targeting the curent tailored audience.
74
+ """
75
+ self ._validate_loaded ()
76
+ return TailoredAudienceTargeted .all (self .account , self .id , ** kwargs )
77
+
71
78
def __create_audience__ (self , name ):
72
79
params = {'name' : name }
73
80
resource = self .RESOURCE_COLLECTION .format (account_id = self .account .id )
@@ -83,14 +90,15 @@ def __create_audience__(self, name):
83
90
resource_property (TailoredAudience , 'deleted' , readonly = True , transform = TRANSFORM .BOOL )
84
91
resource_property (TailoredAudience , 'audience_size' , readonly = True )
85
92
resource_property (TailoredAudience , 'audience_type' , readonly = True )
86
- resource_property (TailoredAudience , 'metadata' , readonly = True )
87
93
resource_property (TailoredAudience , 'partner_source' , readonly = True )
88
94
resource_property (TailoredAudience , 'reasons_not_targetable' , readonly = True )
89
95
resource_property (TailoredAudience , 'targetable' , readonly = True )
90
96
resource_property (TailoredAudience , 'targetable_types' , readonly = True )
97
+ resource_property (TailoredAudience , 'owner_account_id' , readonly = True )
98
+
91
99
# writable
92
100
resource_property (TailoredAudience , 'name' )
93
- resource_property (TailoredAudience , 'list_type ' )
101
+ resource_property (TailoredAudience , 'description ' )
94
102
95
103
96
104
class TailoredAudiencePermission (Resource ):
@@ -149,3 +157,36 @@ def delete(self):
149
157
resource_property (TailoredAudiencePermission , 'tailored_audience_id' )
150
158
resource_property (TailoredAudiencePermission , 'granted_account_id' )
151
159
resource_property (TailoredAudiencePermission , 'permission_level' )
160
+
161
+
162
+ class TailoredAudienceTargeted (Resource ):
163
+
164
+ PROPERTIES = {}
165
+
166
+ RESOURCE = '/' + API_VERSION + '/accounts/{account_id}/tailored_audiences/\
167
+ {tailored_audience_id}/targeted'
168
+
169
+ @classmethod
170
+ def all (klass , account , tailored_audience_id , ** kwargs ):
171
+ """Returns a Cursor instance for the given targeted tailored audience resource."""
172
+
173
+ resource = klass .RESOURCE .format (
174
+ account_id = account .id ,
175
+ tailored_audience_id = tailored_audience_id )
176
+ request = Request (account .client , 'get' , resource , params = kwargs )
177
+
178
+ return Cursor (klass , request , init_with = [account ])
179
+
180
+
181
+ # tailored audience targeted properties
182
+ # read-only
183
+ resource_property (TailoredAudienceTargeted , 'campaign_id' , readonly = True )
184
+ resource_property (TailoredAudienceTargeted , 'campaign_name' , readonly = True )
185
+ resource_property (TailoredAudienceTargeted , 'line_items' , readonly = True )
186
+ resource_property (TailoredAudienceTargeted , 'id' , readonly = True )
187
+ resource_property (TailoredAudienceTargeted , 'name' , readonly = True )
188
+ resource_property (TailoredAudienceTargeted , 'servable' , readonly = True , transform = TRANSFORM .BOOL )
189
+
190
+ # writable
191
+ resource_property (TailoredAudienceTargeted , 'tailored_audience_id' )
192
+ resource_property (TailoredAudienceTargeted , 'with_active' , transform = TRANSFORM .BOOL )
0 commit comments