twitter-ads 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +2 -0
  4. data/CONTRIBUTING.md +77 -0
  5. data/LICENSE +22 -0
  6. data/README.md +111 -0
  7. data/Rakefile +86 -0
  8. data/bin/twitter-ads +42 -0
  9. data/lib/twitter-ads.rb +54 -0
  10. data/lib/twitter-ads/account.rb +229 -0
  11. data/lib/twitter-ads/audiences/tailored_audience.rb +177 -0
  12. data/lib/twitter-ads/campaign/app_list.rb +42 -0
  13. data/lib/twitter-ads/campaign/campaign.rb +40 -0
  14. data/lib/twitter-ads/campaign/funding_instrument.rb +33 -0
  15. data/lib/twitter-ads/campaign/line_item.rb +91 -0
  16. data/lib/twitter-ads/campaign/promotable_user.rb +28 -0
  17. data/lib/twitter-ads/campaign/targeting_criteria.rb +77 -0
  18. data/lib/twitter-ads/campaign/tweet.rb +83 -0
  19. data/lib/twitter-ads/client.rb +92 -0
  20. data/lib/twitter-ads/creative/app_download_card.rb +44 -0
  21. data/lib/twitter-ads/creative/image_app_download_card.rb +44 -0
  22. data/lib/twitter-ads/creative/image_conversation_card.rb +44 -0
  23. data/lib/twitter-ads/creative/lead_gen_card.rb +46 -0
  24. data/lib/twitter-ads/creative/promoted_account.rb +38 -0
  25. data/lib/twitter-ads/creative/promoted_tweet.rb +87 -0
  26. data/lib/twitter-ads/creative/video.rb +43 -0
  27. data/lib/twitter-ads/creative/video_app_download_card.rb +47 -0
  28. data/lib/twitter-ads/creative/video_conversation_card.rb +46 -0
  29. data/lib/twitter-ads/creative/website_card.rb +48 -0
  30. data/lib/twitter-ads/cursor.rb +127 -0
  31. data/lib/twitter-ads/enum.rb +135 -0
  32. data/lib/twitter-ads/error.rb +93 -0
  33. data/lib/twitter-ads/http/request.rb +127 -0
  34. data/lib/twitter-ads/http/response.rb +74 -0
  35. data/lib/twitter-ads/http/ton_upload.rb +140 -0
  36. data/lib/twitter-ads/legacy.rb +7 -0
  37. data/lib/twitter-ads/resources/analytics.rb +90 -0
  38. data/lib/twitter-ads/resources/dsl.rb +108 -0
  39. data/lib/twitter-ads/resources/persistence.rb +43 -0
  40. data/lib/twitter-ads/resources/resource.rb +92 -0
  41. data/lib/twitter-ads/targeting/reach_estimate.rb +69 -0
  42. data/lib/twitter-ads/utils.rb +76 -0
  43. data/lib/twitter-ads/version.rb +6 -0
  44. data/spec/fixtures/accounts_all.json +65 -0
  45. data/spec/fixtures/accounts_features.json +18 -0
  46. data/spec/fixtures/accounts_load.json +19 -0
  47. data/spec/fixtures/app_lists_all.json +22 -0
  48. data/spec/fixtures/app_lists_load.json +31 -0
  49. data/spec/fixtures/campaigns_all.json +208 -0
  50. data/spec/fixtures/campaigns_load.json +27 -0
  51. data/spec/fixtures/funding_instruments_all.json +74 -0
  52. data/spec/fixtures/funding_instruments_load.json +28 -0
  53. data/spec/fixtures/line_items_all.json +292 -0
  54. data/spec/fixtures/line_items_load.json +36 -0
  55. data/spec/fixtures/placements.json +35 -0
  56. data/spec/fixtures/promotable_users_all.json +57 -0
  57. data/spec/fixtures/promotable_users_load.json +18 -0
  58. data/spec/fixtures/promoted_tweets_all.json +212 -0
  59. data/spec/fixtures/promoted_tweets_load.json +19 -0
  60. data/spec/fixtures/reach_estimate.json +19 -0
  61. data/spec/fixtures/tailored_audiences_all.json +67 -0
  62. data/spec/fixtures/tailored_audiences_load.json +29 -0
  63. data/spec/fixtures/tweet_preview.json +24 -0
  64. data/spec/fixtures/videos_all.json +50 -0
  65. data/spec/fixtures/videos_load.json +22 -0
  66. data/spec/quality_spec.rb +15 -0
  67. data/spec/shared/properties.rb +20 -0
  68. data/spec/spec_helper.rb +61 -0
  69. data/spec/support/helpers.rb +42 -0
  70. data/spec/twitter-ads/account_spec.rb +315 -0
  71. data/spec/twitter-ads/audiences/tailored_audience_spec.rb +45 -0
  72. data/spec/twitter-ads/campaign/app_list_spec.rb +108 -0
  73. data/spec/twitter-ads/campaign/line_item_spec.rb +95 -0
  74. data/spec/twitter-ads/campaign/reach_estimate_spec.rb +98 -0
  75. data/spec/twitter-ads/campaign/targeting_criteria_spec.rb +39 -0
  76. data/spec/twitter-ads/campaign/tweet_spec.rb +83 -0
  77. data/spec/twitter-ads/client_spec.rb +115 -0
  78. data/spec/twitter-ads/creative/app_download_card_spec.rb +44 -0
  79. data/spec/twitter-ads/creative/image_app_download_card_spec.rb +43 -0
  80. data/spec/twitter-ads/creative/image_conversation_card_spec.rb +40 -0
  81. data/spec/twitter-ads/creative/lead_gen_card_spec.rb +46 -0
  82. data/spec/twitter-ads/creative/promoted_account_spec.rb +30 -0
  83. data/spec/twitter-ads/creative/promoted_tweet_spec.rb +46 -0
  84. data/spec/twitter-ads/creative/video_app_download_card_spec.rb +42 -0
  85. data/spec/twitter-ads/creative/video_conversation_card_spec.rb +52 -0
  86. data/spec/twitter-ads/creative/video_legacy_spec.rb +43 -0
  87. data/spec/twitter-ads/creative/video_spec.rb +43 -0
  88. data/spec/twitter-ads/creative/website_card_spec.rb +37 -0
  89. data/spec/twitter-ads/cursor_spec.rb +67 -0
  90. data/spec/twitter-ads/placements_spec.rb +36 -0
  91. data/spec/twitter-ads/utils_spec.rb +101 -0
  92. data/twitter-ads.gemspec +37 -0
  93. metadata +247 -0
  94. metadata.gz.sig +0 -0
@@ -0,0 +1,18 @@
1
+ {
2
+ "data_type": "features",
3
+ "data": [
4
+ "CPI_CHARGING",
5
+ "EVENT_TARGETING",
6
+ "INSTALLED_APP_CATEGORY_TARGETING",
7
+ "MOBILE_CONVERSION_TRANSACTION_VALUE",
8
+ "OPTIMIZED_ACTION_BIDDING",
9
+ "OPTIMIZED_WEBSITE_CONVERSIONS",
10
+ "VIDEO_VIEWS_OBJECTIVE",
11
+ "VIDEO_APP_DOWNLOAD_CARD"
12
+ ],
13
+ "request": {
14
+ "params": {
15
+ "account_id": "2iqph"
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "data_type": "account",
3
+ "data": {
4
+ "name": "Schuppe-Casper",
5
+ "timezone": "America/Los_Angeles",
6
+ "timezone_switch_at": "2014-11-17T08:00:00Z",
7
+ "id": "2iqph",
8
+ "created_at": "2015-03-04T10:50:42Z",
9
+ "salt": "5ab2pizq7qxjjqrx3z67f4wbko61o7xs",
10
+ "updated_at": "2015-04-11T05:20:08Z",
11
+ "approval_status": "ACCEPTED",
12
+ "deleted": false
13
+ },
14
+ "request": {
15
+ "params": {
16
+ "account_id": "2iqph"
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "request" : {
3
+ "params" : {
4
+ "account_id" : "2iqph"
5
+ }
6
+ },
7
+ "data_type" : "app_list",
8
+ "data" : [
9
+ {
10
+ "name" : "Some test app list",
11
+ "id" : "abc2"
12
+ },
13
+ {
14
+ "name" : "Yet another app list",
15
+ "id" : "wdpr"
16
+ },
17
+ {
18
+ "name" : "The best app list yet",
19
+ "id" : "wdps"
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "data_type" : "app_list",
3
+ "data" : {
4
+ "apps" : [
5
+ {
6
+ "os_type" : "Android",
7
+ "app_store_identifier" : "com.supercell.clashofclans"
8
+ },
9
+ {
10
+ "app_store_identifier" : "com.functionx.viggle",
11
+ "os_type" : "Android"
12
+ },
13
+ {
14
+ "app_store_identifier" : "io.fabric.samples.cannonball",
15
+ "os_type" : "Android"
16
+ },
17
+ {
18
+ "os_type" : "Android",
19
+ "app_store_identifier" : "com.hoteltonight.android.prod"
20
+ }
21
+ ],
22
+ "name" : "Some test app list",
23
+ "id" : "abc2"
24
+ },
25
+ "request" : {
26
+ "params" : {
27
+ "account_id" : "2iqph",
28
+ "app_list_id" : "abc2"
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,208 @@
1
+ {
2
+ "request": {
3
+ "params": {
4
+ "account_id": "2iqph"
5
+ }
6
+ },
7
+ "data": [
8
+ {
9
+ "name": "Intelligent Granite Computer",
10
+ "start_time": "2015-08-12T20:26:23Z",
11
+ "reasons_not_servable": [],
12
+ "servable": true,
13
+ "daily_budget_amount_local_micro": 1000000,
14
+ "end_time": null,
15
+ "funding_instrument_id": "5aa0p",
16
+ "standard_delivery": true,
17
+ "total_budget_amount_local_micro": null,
18
+ "id": "2wap7",
19
+ "paused": false,
20
+ "account_id": "2iqph",
21
+ "currency": "USD",
22
+ "created_at": "2015-08-12T20:26:24Z",
23
+ "updated_at": "2015-08-12T20:26:24Z",
24
+ "deleted": false
25
+ },
26
+ {
27
+ "name": "Awesome Wooden Table",
28
+ "start_time": "2015-08-12T20:17:19Z",
29
+ "reasons_not_servable": [
30
+ "EXPIRED"
31
+ ],
32
+ "servable": false,
33
+ "daily_budget_amount_local_micro": 1000000,
34
+ "end_time": "2015-08-14T20:17:19Z",
35
+ "funding_instrument_id": "5aa0p",
36
+ "standard_delivery": true,
37
+ "total_budget_amount_local_micro": null,
38
+ "id": "2wamv",
39
+ "paused": true,
40
+ "account_id": "2iqph",
41
+ "currency": "USD",
42
+ "created_at": "2015-08-12T20:17:39Z",
43
+ "updated_at": "2015-08-12T20:18:21Z",
44
+ "deleted": false
45
+ },
46
+ {
47
+ "name": "Fantastic Concrete Car",
48
+ "start_time": "2015-08-12T19:56:08Z",
49
+ "reasons_not_servable": [
50
+ "EXPIRED",
51
+ "FUNDING_PROBLEM"
52
+ ],
53
+ "servable": false,
54
+ "daily_budget_amount_local_micro": 1000000,
55
+ "end_time": null,
56
+ "funding_instrument_id": "7cdql",
57
+ "standard_delivery": true,
58
+ "total_budget_amount_local_micro": null,
59
+ "id": "2wai9",
60
+ "paused": true,
61
+ "account_id": "2iqph",
62
+ "currency": "USD",
63
+ "created_at": "2015-08-12T19:56:10Z",
64
+ "updated_at": "2015-08-12T19:56:10Z",
65
+ "deleted": false
66
+ },
67
+ {
68
+ "name": "Small Concrete Hat",
69
+ "start_time": "2015-06-29T22:00:00Z",
70
+ "reasons_not_servable": [
71
+ "PAUSED_BY_ADVERTISER"
72
+ ],
73
+ "servable": false,
74
+ "daily_budget_amount_local_micro": 1000000,
75
+ "end_time": null,
76
+ "funding_instrument_id": "5aa0p",
77
+ "standard_delivery": true,
78
+ "total_budget_amount_local_micro": 1000000,
79
+ "id": "2of1n",
80
+ "paused": true,
81
+ "account_id": "2iqph",
82
+ "currency": "USD",
83
+ "created_at": "2015-06-29T22:24:17Z",
84
+ "updated_at": "2015-08-12T18:58:56Z",
85
+ "deleted": false
86
+ },
87
+ {
88
+ "name": "Rustic Rubber Pants",
89
+ "start_time": "2015-08-12T18:09:27Z",
90
+ "reasons_not_servable": [
91
+ "EXPIRED",
92
+ "FUNDING_PROBLEM"
93
+ ],
94
+ "servable": false,
95
+ "daily_budget_amount_local_micro": 1000000,
96
+ "end_time": null,
97
+ "funding_instrument_id": "7cdql",
98
+ "standard_delivery": true,
99
+ "total_budget_amount_local_micro": null,
100
+ "id": "2w9n1",
101
+ "paused": true,
102
+ "account_id": "2iqph",
103
+ "currency": "USD",
104
+ "created_at": "2015-08-12T18:09:28Z",
105
+ "updated_at": "2015-08-12T18:09:28Z",
106
+ "deleted": false
107
+ },
108
+ {
109
+ "name": "Incredible Wooden Car",
110
+ "start_time": "2015-08-10T21:58:00Z",
111
+ "reasons_not_servable": [
112
+ "PAUSED_BY_ADVERTISER"
113
+ ],
114
+ "servable": false,
115
+ "daily_budget_amount_local_micro": 1000000,
116
+ "end_time": null,
117
+ "funding_instrument_id": "5aa0p",
118
+ "standard_delivery": true,
119
+ "total_budget_amount_local_micro": 1000000,
120
+ "id": "2vuug",
121
+ "paused": true,
122
+ "account_id": "2iqph",
123
+ "currency": "USD",
124
+ "created_at": "2015-08-10T21:58:39Z",
125
+ "updated_at": "2015-08-10T21:59:43Z",
126
+ "deleted": false
127
+ },
128
+ {
129
+ "name": "Gorgeous Cotton Computer",
130
+ "start_time": "2015-08-10T21:06:00Z",
131
+ "reasons_not_servable": [],
132
+ "servable": true,
133
+ "daily_budget_amount_local_micro": 1000000,
134
+ "end_time": null,
135
+ "funding_instrument_id": "5aa0p",
136
+ "standard_delivery": true,
137
+ "total_budget_amount_local_micro": null,
138
+ "id": "2vuj3",
139
+ "paused": false,
140
+ "account_id": "2iqph",
141
+ "currency": "USD",
142
+ "created_at": "2015-08-10T21:06:04Z",
143
+ "updated_at": "2015-08-10T21:06:04Z",
144
+ "deleted": false
145
+ },
146
+ {
147
+ "name": "Sleek Rubber Car",
148
+ "start_time": "2015-08-06T06:53:00Z",
149
+ "reasons_not_servable": [],
150
+ "servable": true,
151
+ "daily_budget_amount_local_micro": 10000,
152
+ "end_time": null,
153
+ "funding_instrument_id": "5aa0p",
154
+ "standard_delivery": true,
155
+ "total_budget_amount_local_micro": 10000,
156
+ "id": "2v3c4",
157
+ "paused": false,
158
+ "account_id": "2iqph",
159
+ "currency": "USD",
160
+ "created_at": "2015-08-06T06:54:13Z",
161
+ "updated_at": "2015-08-06T06:54:13Z",
162
+ "deleted": false
163
+ },
164
+ {
165
+ "name": "Practical Plastic Computer",
166
+ "start_time": "2015-08-04T23:20:10Z",
167
+ "reasons_not_servable": [
168
+ "INCOMPLETE"
169
+ ],
170
+ "servable": false,
171
+ "daily_budget_amount_local_micro": 100000000,
172
+ "end_time": null,
173
+ "funding_instrument_id": "5aa0p",
174
+ "standard_delivery": true,
175
+ "total_budget_amount_local_micro": 100000000,
176
+ "id": "2uubq",
177
+ "paused": false,
178
+ "account_id": "2iqph",
179
+ "currency": "USD",
180
+ "created_at": "2015-08-04T23:20:11Z",
181
+ "updated_at": "2015-08-04T23:20:11Z",
182
+ "deleted": false
183
+ },
184
+ {
185
+ "name": "Ergonomic Rubber Car",
186
+ "start_time": "2015-07-29T23:04:00Z",
187
+ "reasons_not_servable": [
188
+ "PAUSED_BY_ADVERTISER"
189
+ ],
190
+ "servable": false,
191
+ "daily_budget_amount_local_micro": 1000000,
192
+ "end_time": null,
193
+ "funding_instrument_id": "5aa0p",
194
+ "standard_delivery": true,
195
+ "total_budget_amount_local_micro": null,
196
+ "id": "2ttv3",
197
+ "paused": true,
198
+ "account_id": "2iqph",
199
+ "currency": "USD",
200
+ "created_at": "2015-07-29T23:05:56Z",
201
+ "updated_at": "2015-07-31T18:01:26Z",
202
+ "deleted": false
203
+ }
204
+ ],
205
+ "data_type": "campaign",
206
+ "total_count": 10,
207
+ "next_cursor": null
208
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "data_type": "campaign",
3
+ "data": {
4
+ "name": "Intelligent Granite Computer",
5
+ "start_time": "2015-08-12T20:26:23Z",
6
+ "reasons_not_servable": [],
7
+ "servable": true,
8
+ "daily_budget_amount_local_micro": 1000000,
9
+ "end_time": null,
10
+ "funding_instrument_id": "5aa0p",
11
+ "standard_delivery": true,
12
+ "total_budget_amount_local_micro": null,
13
+ "id": "2wap7",
14
+ "paused": false,
15
+ "account_id": "2iqph",
16
+ "currency": "USD",
17
+ "created_at": "2015-08-12T20:26:24Z",
18
+ "updated_at": "2015-08-12T20:26:24Z",
19
+ "deleted": false
20
+ },
21
+ "request": {
22
+ "params": {
23
+ "campaign_id": "2wap7",
24
+ "account_id": "2iqph"
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "request": {
3
+ "params": {
4
+ "funding_instrument_ids": [
5
+ "7cdql", "5aa0p", "dhuk2"
6
+ ],
7
+ "account_id": "2iqph"
8
+ }
9
+ },
10
+ "data": [
11
+ {
12
+ "start_time": "2015-08-25T09:18:19Z",
13
+ "description": "Denesik, O'Reilly and Zulauf",
14
+ "credit_limit_local_micro": null,
15
+ "end_time": "2017-02-28T08:15:40Z",
16
+ "cancelled": false,
17
+ "id": "5aa0p",
18
+ "paused": false,
19
+ "account_id": "2iqph",
20
+ "reasons_not_able_to_fund": [],
21
+ "currency": "USD",
22
+ "funded_amount_local_micro": 5000000000,
23
+ "created_at": "2015-08-19T01:35:10Z",
24
+ "type": "INSERTION_ORDER",
25
+ "able_to_fund": false,
26
+ "updated_at": "2015-08-19T01:35:10Z",
27
+ "credit_remaining_local_micro": null,
28
+ "deleted": false
29
+ },
30
+ {
31
+ "start_time": "2011-07-11T07:00:00Z",
32
+ "description": "Simonis-Barton",
33
+ "credit_limit_local_micro": null,
34
+ "end_time": "2012-07-12T06:59:59Z",
35
+ "cancelled": false,
36
+ "id": "7cdql",
37
+ "paused": false,
38
+ "account_id": "2iqph",
39
+ "reasons_not_able_to_fund": [
40
+ "EXPIRED"
41
+ ],
42
+ "currency": "USD",
43
+ "funded_amount_local_micro": 5000000000,
44
+ "created_at": "2011-07-11T17:33:01Z",
45
+ "type": "INSERTION_ORDER",
46
+ "able_to_fund": false,
47
+ "updated_at": "2012-01-18T19:19:56Z",
48
+ "credit_remaining_local_micro": null,
49
+ "deleted": false
50
+ },
51
+ {
52
+ "start_time": "2015-08-25T09:18:19Z",
53
+ "description": "Farrell Group",
54
+ "credit_limit_local_micro": 5000000000,
55
+ "end_time": "2017-02-28T08:15:40Z",
56
+ "cancelled": false,
57
+ "id": "dhuk2",
58
+ "paused": false,
59
+ "account_id": "2iqph",
60
+ "reasons_not_able_to_fund": [],
61
+ "currency": "USD",
62
+ "funded_amount_local_micro": null,
63
+ "created_at": "2015-08-19T01:35:10Z",
64
+ "type": "CREDIT_LINE",
65
+ "able_to_fund": false,
66
+ "updated_at": "2015-08-19T01:35:10Z",
67
+ "credit_remaining_local_micro": null,
68
+ "deleted": false
69
+ }
70
+ ],
71
+ "data_type": "funding_instrument",
72
+ "total_count": 3,
73
+ "next_cursor": null
74
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "data_type": "funding_instrument",
3
+ "data": {
4
+ "start_time": "2015-08-25T09:18:19Z",
5
+ "description": "Denesik, O'Reilly and Zulauf",
6
+ "credit_limit_local_micro": null,
7
+ "end_time": "2017-02-28T08:15:40Z",
8
+ "cancelled": false,
9
+ "id": "5aa0p",
10
+ "paused": false,
11
+ "account_id": "2iqph",
12
+ "reasons_not_able_to_fund": [],
13
+ "currency": "USD",
14
+ "funded_amount_local_micro": 5000000000,
15
+ "created_at": "2015-08-19T01:35:10Z",
16
+ "type": "INSERTION_ORDER",
17
+ "able_to_fund": false,
18
+ "updated_at": "2015-08-19T01:35:10Z",
19
+ "credit_remaining_local_micro": null,
20
+ "deleted": false
21
+ },
22
+ "request": {
23
+ "params": {
24
+ "funding_instrument_id": "5aa0p",
25
+ "account_id": "2iqph"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,292 @@
1
+ {
2
+ "request": {
3
+ "params": {
4
+ "account_id": "2iqph"
5
+ }
6
+ },
7
+ "data": [
8
+ {
9
+ "placement_type": "PROMOTED_ACCOUNT",
10
+ "bid_type": "MAX",
11
+ "name": "Untitled",
12
+ "placements": [
13
+ "ALL_ON_TWITTER"
14
+ ],
15
+ "bid_amount_local_micro": 2000000,
16
+ "automatically_select_bid": false,
17
+ "advertiser_domain": null,
18
+ "primary_web_event_tag": null,
19
+ "charge_by": "ENGAGEMENT",
20
+ "product_type": "PROMOTED_ACCOUNT",
21
+ "bid_unit": "ENGAGEMENT",
22
+ "total_budget_amount_local_micro": null,
23
+ "objective": "CUSTOM",
24
+ "id": "bw2",
25
+ "paused": false,
26
+ "account_id": "2iqph",
27
+ "optimization": "DEFAULT",
28
+ "categories": [],
29
+ "currency": "USD",
30
+ "created_at": "2011-07-11T20:36:11Z",
31
+ "updated_at": "2011-09-04T19:39:51Z",
32
+ "include_sentiment": null,
33
+ "campaign_id": "2wap7",
34
+ "deleted": false
35
+ },
36
+ {
37
+ "placement_type": "PROMOTED_ACCOUNT",
38
+ "bid_type": "MAX",
39
+ "name": "Untitled",
40
+ "placements": [
41
+ "ALL_ON_TWITTER"
42
+ ],
43
+ "bid_amount_local_micro": 2000000,
44
+ "automatically_select_bid": false,
45
+ "advertiser_domain": null,
46
+ "primary_web_event_tag": null,
47
+ "charge_by": "ENGAGEMENT",
48
+ "product_type": "PROMOTED_ACCOUNT",
49
+ "bid_unit": "ENGAGEMENT",
50
+ "total_budget_amount_local_micro": null,
51
+ "objective": "CUSTOM",
52
+ "id": "c4m",
53
+ "paused": false,
54
+ "account_id": "2iqph",
55
+ "optimization": "DEFAULT",
56
+ "categories": [],
57
+ "currency": "USD",
58
+ "created_at": "2011-07-13T20:56:39Z",
59
+ "updated_at": "2011-09-04T19:39:04Z",
60
+ "include_sentiment": null,
61
+ "campaign_id": "2wamv",
62
+ "deleted": false
63
+ },
64
+ {
65
+ "placement_type": "PROMOTED_TWEETS_FOR_SEARCH",
66
+ "bid_type": "MAX",
67
+ "name": "Untitled",
68
+ "placements": [
69
+ "TWITTER_SEARCH"
70
+ ],
71
+ "bid_amount_local_micro": 100000,
72
+ "automatically_select_bid": false,
73
+ "advertiser_domain": null,
74
+ "primary_web_event_tag": null,
75
+ "charge_by": "ENGAGEMENT",
76
+ "product_type": "PROMOTED_TWEETS",
77
+ "bid_unit": "ENGAGEMENT",
78
+ "total_budget_amount_local_micro": null,
79
+ "objective": "CUSTOM",
80
+ "id": "c5c",
81
+ "paused": false,
82
+ "account_id": "2iqph",
83
+ "optimization": "DEFAULT",
84
+ "categories": [],
85
+ "currency": "USD",
86
+ "created_at": "2011-07-14T00:04:47Z",
87
+ "updated_at": "2011-09-04T19:39:39Z",
88
+ "include_sentiment": null,
89
+ "campaign_id": "2wai9",
90
+ "deleted": false
91
+ },
92
+ {
93
+ "placement_type": "PROMOTED_TWEETS_FOR_SEARCH",
94
+ "bid_type": "MAX",
95
+ "name": "Untitled",
96
+ "placements": [
97
+ "TWITTER_SEARCH"
98
+ ],
99
+ "bid_amount_local_micro": 500000,
100
+ "automatically_select_bid": false,
101
+ "advertiser_domain": null,
102
+ "primary_web_event_tag": null,
103
+ "charge_by": "ENGAGEMENT",
104
+ "product_type": "PROMOTED_TWEETS",
105
+ "bid_unit": "ENGAGEMENT",
106
+ "total_budget_amount_local_micro": null,
107
+ "objective": "CUSTOM",
108
+ "id": "fhu",
109
+ "paused": false,
110
+ "account_id": "2iqph",
111
+ "optimization": "DEFAULT",
112
+ "categories": [],
113
+ "currency": "USD",
114
+ "created_at": "2011-08-22T22:42:18Z",
115
+ "updated_at": "2011-09-04T19:40:02Z",
116
+ "include_sentiment": null,
117
+ "campaign_id": "2of1n",
118
+ "deleted": false
119
+ },
120
+ {
121
+ "placement_type": "PROMOTED_TWEETS_FOR_TIMELINES",
122
+ "bid_type": "MAX",
123
+ "name": "Untitled",
124
+ "placements": [
125
+ "TWITTER_TIMELINE"
126
+ ],
127
+ "bid_amount_local_micro": 50000000,
128
+ "automatically_select_bid": false,
129
+ "advertiser_domain": null,
130
+ "primary_web_event_tag": null,
131
+ "charge_by": "ENGAGEMENT",
132
+ "product_type": "PROMOTED_TWEETS",
133
+ "bid_unit": "ENGAGEMENT",
134
+ "total_budget_amount_local_micro": null,
135
+ "objective": "CUSTOM",
136
+ "id": "fxd",
137
+ "paused": false,
138
+ "account_id": "2iqph",
139
+ "optimization": "DEFAULT",
140
+ "categories": [],
141
+ "currency": "JPY",
142
+ "created_at": "2011-08-26T20:51:14Z",
143
+ "updated_at": "2011-08-26T21:30:25Z",
144
+ "include_sentiment": "POSITIVE_ONLY",
145
+ "campaign_id": "2w9n1",
146
+ "deleted": true
147
+ },
148
+ {
149
+ "placement_type": "PROMOTED_TWEETS_FOR_TIMELINES",
150
+ "bid_type": "MAX",
151
+ "name": "Untitled",
152
+ "placements": [
153
+ "TWITTER_TIMELINE"
154
+ ],
155
+ "bid_amount_local_micro": 50000000,
156
+ "automatically_select_bid": false,
157
+ "advertiser_domain": null,
158
+ "primary_web_event_tag": null,
159
+ "charge_by": "ENGAGEMENT",
160
+ "product_type": "PROMOTED_TWEETS",
161
+ "bid_unit": "ENGAGEMENT",
162
+ "total_budget_amount_local_micro": null,
163
+ "objective": "CUSTOM",
164
+ "id": "fxt",
165
+ "paused": false,
166
+ "account_id": "2iqph",
167
+ "optimization": "DEFAULT",
168
+ "categories": [],
169
+ "currency": "USD",
170
+ "created_at": "2011-08-26T21:38:51Z",
171
+ "updated_at": "2011-08-26T22:24:37Z",
172
+ "include_sentiment": "POSITIVE_ONLY",
173
+ "campaign_id": "2vuug",
174
+ "deleted": true
175
+ },
176
+ {
177
+ "placement_type": "PROMOTED_TWEETS_FOR_SEARCH",
178
+ "bid_type": "MAX",
179
+ "name": "Untitled",
180
+ "placements": [
181
+ "TWITTER_SEARCH"
182
+ ],
183
+ "bid_amount_local_micro": 50000000,
184
+ "automatically_select_bid": false,
185
+ "advertiser_domain": null,
186
+ "primary_web_event_tag": null,
187
+ "charge_by": "ENGAGEMENT",
188
+ "product_type": "PROMOTED_TWEETS",
189
+ "bid_unit": "ENGAGEMENT",
190
+ "total_budget_amount_local_micro": null,
191
+ "objective": "CUSTOM",
192
+ "id": "fya",
193
+ "paused": false,
194
+ "account_id": "2iqph",
195
+ "optimization": "DEFAULT",
196
+ "categories": [],
197
+ "currency": "JPY",
198
+ "created_at": "2011-08-26T22:28:55Z",
199
+ "updated_at": "2011-09-04T19:38:46Z",
200
+ "include_sentiment": null,
201
+ "campaign_id": "2vuj3",
202
+ "deleted": false
203
+ },
204
+ {
205
+ "placement_type": "PROMOTED_TWEETS_FOR_TIMELINES",
206
+ "bid_type": "MAX",
207
+ "name": "Untitled",
208
+ "placements": [
209
+ "TWITTER_TIMELINE"
210
+ ],
211
+ "bid_amount_local_micro": 500000,
212
+ "automatically_select_bid": false,
213
+ "advertiser_domain": null,
214
+ "primary_web_event_tag": null,
215
+ "charge_by": "ENGAGEMENT",
216
+ "product_type": "PROMOTED_TWEETS",
217
+ "bid_unit": "ENGAGEMENT",
218
+ "total_budget_amount_local_micro": null,
219
+ "objective": "CUSTOM",
220
+ "id": "ghj",
221
+ "paused": false,
222
+ "account_id": "2iqph",
223
+ "optimization": "DEFAULT",
224
+ "categories": [],
225
+ "currency": "USD",
226
+ "created_at": "2011-09-01T17:25:04Z",
227
+ "updated_at": "2011-09-16T02:56:55Z",
228
+ "include_sentiment": null,
229
+ "campaign_id": "2v3c4",
230
+ "deleted": true
231
+ },
232
+ {
233
+ "placement_type": "PROMOTED_TWEETS_FOR_SEARCH",
234
+ "bid_type": "MAX",
235
+ "name": "Untitled",
236
+ "placements": [
237
+ "TWITTER_SEARCH"
238
+ ],
239
+ "bid_amount_local_micro": 50000000,
240
+ "automatically_select_bid": false,
241
+ "advertiser_domain": null,
242
+ "primary_web_event_tag": null,
243
+ "charge_by": "ENGAGEMENT",
244
+ "product_type": "PROMOTED_TWEETS",
245
+ "bid_unit": "ENGAGEMENT",
246
+ "total_budget_amount_local_micro": null,
247
+ "objective": "CUSTOM",
248
+ "id": "gra",
249
+ "paused": false,
250
+ "account_id": "2iqph",
251
+ "optimization": "DEFAULT",
252
+ "categories": [],
253
+ "currency": "JPY",
254
+ "created_at": "2011-09-06T17:42:52Z",
255
+ "updated_at": "2011-09-30T18:54:18Z",
256
+ "include_sentiment": null,
257
+ "campaign_id": "2ttv3",
258
+ "deleted": false
259
+ },
260
+ {
261
+ "placement_type": "PROMOTED_TWEETS_FOR_TIMELINES",
262
+ "bid_type": "MAX",
263
+ "name": "Untitled",
264
+ "placements": [
265
+ "TWITTER_TIMELINE"
266
+ ],
267
+ "bid_amount_local_micro": 2009999,
268
+ "automatically_select_bid": false,
269
+ "advertiser_domain": null,
270
+ "primary_web_event_tag": null,
271
+ "charge_by": "ENGAGEMENT",
272
+ "product_type": "PROMOTED_TWEETS",
273
+ "bid_unit": "ENGAGEMENT",
274
+ "total_budget_amount_local_micro": null,
275
+ "objective": "CUSTOM",
276
+ "id": "gsw",
277
+ "paused": false,
278
+ "account_id": "2iqph",
279
+ "optimization": "DEFAULT",
280
+ "categories": [],
281
+ "currency": "USD",
282
+ "created_at": "2011-09-06T22:44:13Z",
283
+ "updated_at": "2011-09-20T01:32:27Z",
284
+ "include_sentiment": null,
285
+ "campaign_id": "2ttv3",
286
+ "deleted": true
287
+ }
288
+ ],
289
+ "data_type": "line_item",
290
+ "total_count": 10,
291
+ "next_cursor": null
292
+ }