blurb 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 95515276b7058a1f6ab23991cc605a9294afa58c
4
- data.tar.gz: f21e7906747788b74888e83e407bf5fe10da5608
3
+ metadata.gz: 040ae071f23800ce24f8c7fe8602d690b6c97983
4
+ data.tar.gz: f2b702bd101e5a4f9343ceba783e801cefe07599
5
5
  SHA512:
6
- metadata.gz: e703d76700f42cbbc5999fa42e28652f4daab46a0740342045b5e2080a6f2e504eb0e9841cc13c9a1efeb5fb7373d4b1d482d8efaa7afb4d6187f12b841a87cc
7
- data.tar.gz: 103d9d1ccc450e53cefa5de366eadf9e06b5ee97b4b13249548f1ba5f0e969c8df633b6d90fc79b5d66361c363e707223258dadc0e075dc3fe2cd87b20288531
6
+ metadata.gz: b1e46b85afb82c8351b7cd30880e4bd923dd56e18cad37772a352fb85712493591f3192b07fd1428de7d86b945745fe000680edbe57b647f2587b497416980dd
7
+ data.tar.gz: b6d4fa9ec4ef124eca1e6ed9038f028e5c0cf9dd223a93188dcba1f90852c2649ae5193d5742e30714327b12e24fb2440d42826bbecc43666c0e87486cf28128
data/README.md CHANGED
@@ -202,6 +202,7 @@ Blurb::Report::CAMPAIGNS
202
202
  Blurb::Report::AD_GROUPS
203
203
  Blurb::Report::PRODUCT_ADS
204
204
  Blurb::Report::ASINS
205
+ Blurb::Report::TARGETS
205
206
  ```
206
207
 
207
208
  Campaign types are
@@ -229,6 +230,7 @@ Request a snapshot
229
230
  ```ruby
230
231
  payload_response = Blurb::Snapshot.create({
231
232
  "recordType" => Blurb::Snapshot::KEYWORDS,
233
+ "campaignType" => Blurb::Snapshot::SPONSORED_PRODUCTS,
232
234
  "stateFilter" => "enabled,paused,archived"
233
235
  })
234
236
  ```
@@ -242,6 +244,14 @@ Blurb::Snapshot::AD_GROUPS
242
244
  Blurb::Snapshot::PRODUCT_ADS
243
245
  Blurb::Snapshot::NEGATIVE_KEYWORDS
244
246
  Blurb::Snapshot::CAMPAIGN_NEGATIVE_KEYWORDS
247
+ Blurb::Snapshot::TARGETS
248
+ ```
249
+
250
+ Campaign types are
251
+
252
+ ```ruby
253
+ Blurb::Report::SPONSORED_PRODUCTS
254
+ Blurb::Report::SPONSORED_BRANDS
245
255
  ```
246
256
 
247
257
  Check snapshot status
@@ -61,6 +61,25 @@ module Blurb
61
61
  return make_request(request_config)
62
62
  end
63
63
 
64
+ def self.delete_request(api_path)
65
+ access_token = Blurb::Token.retrieve()
66
+
67
+ headers_hash = {
68
+ "Authorization" => "Bearer #{access_token['access_token']}",
69
+ "Content-Type" => "application/json",
70
+ "Amazon-Advertising-API-Scope" => Blurb.profile_id,
71
+ "Amazon-Advertising-API-ClientId" => Blurb.client_id
72
+ }
73
+
74
+ request_config = {
75
+ method: :delete,
76
+ url: "#{Blurb.active_api_url}#{api_path}",
77
+ headers: headers_hash,
78
+ }
79
+
80
+ return make_request(request_config)
81
+ end
82
+
64
83
  private
65
84
 
66
85
  def self.make_request(request_config)
@@ -31,10 +31,9 @@ module Blurb
31
31
  post_request("/v2/#{campaign_type}/campaigns", [params])
32
32
  end
33
33
 
34
- # Deprecated in v2
35
- # def self.create_bulk(campaign_array, opts = {})
36
- # post_request("/v1/campaigns", campaign_array)
37
- # end
34
+ def self.delete(campaign_id)
35
+ delete_request("/v2/campaigns/#{campaign_id}")
36
+ end
38
37
 
39
38
  private
40
39
 
@@ -5,6 +5,7 @@ module Blurb
5
5
  KEYWORDS = "keywords"
6
6
  PRODUCT_ADS = "productAds"
7
7
  ASINS = "asins"
8
+ TARGETS = "targets"
8
9
  SPONSORED_PRODUCTS = "sp"
9
10
  SPONSORED_BRANDS = "hsa"
10
11
 
@@ -29,7 +30,7 @@ module Blurb
29
30
  else
30
31
  request_url = "/v2/#{params["campaignType"]}/#{params["recordType"]}/report"
31
32
  end
32
-
33
+
33
34
  post_request(request_url, api_params)
34
35
  end
35
36
 
@@ -237,6 +238,69 @@ module Blurb
237
238
  "attributedSales14dSameSKU",
238
239
  "attributedSales30dSameSKU"
239
240
  ].join(",") if record_type == PRODUCT_ADS
241
+ return [
242
+ "campaignName",
243
+ "campaignId",
244
+ "targetId",
245
+ "targetingExpression",
246
+ "targetingText",
247
+ "targetingType",
248
+ "impressions",
249
+ "clicks",
250
+ "cost",
251
+ "attributedConversions1d",
252
+ "attributedConversions7d",
253
+ "attributedConversions14d",
254
+ "attributedConversions30d",
255
+ "attributedConversions1dSameSKU",
256
+ "attributedConversions7dSameSKU",
257
+ "attributedConversions14dSameSKU",
258
+ "attributedConversions30dSameSKU",
259
+ "attributedUnitsOrdered1d",
260
+ "attributedUnitsOrdered7d",
261
+ "attributedUnitsOrdered14d",
262
+ "attributedUnitsOrdered30d",
263
+ "attributedSales1d",
264
+ "attributedSales7d",
265
+ "attributedSales14d",
266
+ "attributedSales30d",
267
+ "attributedSales1dSameSKU",
268
+ "attributedSales7dSameSKU",
269
+ "attributedSales14dSameSKU",
270
+ "attributedSales30dSameSKU"
271
+ ].join(",") if record_type == TARGETS
272
+ return [
273
+ "campaignName",
274
+ "campaignId",
275
+ "adGroupName",
276
+ "adGroupId",
277
+ "impressions",
278
+ "clicks",
279
+ "cost",
280
+ "currency",
281
+ "asin",
282
+ "sku",
283
+ "attributedConversions1d",
284
+ "attributedConversions7d",
285
+ "attributedConversions14d",
286
+ "attributedConversions30d",
287
+ "attributedConversions1dSameSKU",
288
+ "attributedConversions7dSameSKU",
289
+ "attributedConversions14dSameSKU",
290
+ "attributedConversions30dSameSKU",
291
+ "attributedUnitsOrdered1d",
292
+ "attributedUnitsOrdered7d",
293
+ "attributedUnitsOrdered14d",
294
+ "attributedUnitsOrdered30d",
295
+ "attributedSales1d",
296
+ "attributedSales7d",
297
+ "attributedSales14d",
298
+ "attributedSales30d",
299
+ "attributedSales1dSameSKU",
300
+ "attributedSales7dSameSKU",
301
+ "attributedSales14dSameSKU",
302
+ "attributedSales30dSameSKU"
303
+ ].join(",") if record_type == PORTFOLIOS
240
304
  end
241
305
  end
242
306
  end
@@ -6,14 +6,22 @@ module Blurb
6
6
  NEGATIVE_KEYWORDS = "negativeKeywords"
7
7
  CAMPAIGN_NEGATIVE_KEYWORDS = "campaignNegativeKeywords"
8
8
  PRODUCT_ADS = "productAds"
9
+ TARGETS = "targets"
10
+ SPONSORED_PRODUCTS = "sp"
11
+ SPONSORED_BRANDS = "hsa"
9
12
 
10
13
  def self.create(params = {}, opts = {})
11
14
  # required argument checks
12
15
  raise ArgumentError.new("params hash must contain a recordType") unless params["recordType"]
13
16
 
14
- post_request("/v2/#{params["recordType"]}/snapshot", {
15
- "campaignType" => "sponsoredProducts",
16
- "stateFilter" => params["stateFilter"]
17
+ # Default State Filter if no params passed in
18
+ state_filter = params["stateFilter"] || "enabled,paused"
19
+
20
+ # Default campaign type so version 2.3 is backward compatible with version 2.2
21
+ campaign_type = params["campaignType"] || SPONSORED_PRODUCTS
22
+
23
+ post_request("/v2/#{campaign_type}/#{params["recordType"]}/snapshot", {
24
+ "stateFilter" => state_filter
17
25
  })
18
26
  end
19
27
 
@@ -1,3 +1,3 @@
1
1
  module Blurb
2
- VERSION = "0.2.2".freeze
2
+ VERSION = "0.2.3".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blurb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - dlbunker
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-14 00:00:00.000000000 Z
11
+ date: 2019-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler