adzerk_decision_sdk 1.0.0.pre.beta.2 → 1.0.0.pre.beta.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +8 -10
  4. data/README.md +44 -4
  5. data/adzerk_decision_sdk.gemspec +3 -4
  6. data/docs/ConsentRequest.md +10 -9
  7. data/docs/Content.md +16 -15
  8. data/docs/Decision.md +28 -25
  9. data/docs/DecisionApi.md +30 -13
  10. data/docs/DecisionRequest.md +44 -33
  11. data/docs/DecisionResponse.md +12 -11
  12. data/docs/Event.md +10 -9
  13. data/docs/MatchedPoint.md +20 -0
  14. data/docs/Placement.md +46 -37
  15. data/docs/PricingData.md +16 -15
  16. data/docs/RequestLocation.md +19 -0
  17. data/docs/User.md +8 -7
  18. data/docs/UserdbApi.md +252 -140
  19. data/lib/adzerk_decision_sdk.rb +1 -1
  20. data/lib/adzerk_decision_sdk/api/decision_api.rb +5 -4
  21. data/lib/adzerk_decision_sdk/api/userdb_api.rb +37 -95
  22. data/lib/adzerk_decision_sdk/api_client.rb +50 -46
  23. data/lib/adzerk_decision_sdk/api_error.rb +1 -1
  24. data/lib/adzerk_decision_sdk/client.rb +2 -2
  25. data/lib/adzerk_decision_sdk/configuration.rb +39 -10
  26. data/lib/adzerk_decision_sdk/decision_client.rb +12 -1
  27. data/lib/adzerk_decision_sdk/models/consent_request.rb +19 -7
  28. data/lib/adzerk_decision_sdk/models/content.rb +20 -8
  29. data/lib/adzerk_decision_sdk/models/decision.rb +31 -8
  30. data/lib/adzerk_decision_sdk/models/decision_request.rb +74 -12
  31. data/lib/adzerk_decision_sdk/models/decision_response.rb +19 -7
  32. data/lib/adzerk_decision_sdk/models/event.rb +19 -7
  33. data/lib/adzerk_decision_sdk/models/matched_point.rb +227 -0
  34. data/lib/adzerk_decision_sdk/models/placement.rb +91 -12
  35. data/lib/adzerk_decision_sdk/models/pricing_data.rb +19 -7
  36. data/lib/adzerk_decision_sdk/models/{decision_data.rb → request_location.rb} +17 -44
  37. data/lib/adzerk_decision_sdk/models/user.rb +19 -7
  38. data/lib/adzerk_decision_sdk/pixel_client.rb +8 -2
  39. data/lib/adzerk_decision_sdk/user_db_client.rb +16 -2
  40. data/lib/adzerk_decision_sdk/version.rb +2 -2
  41. data/spec/spec_helper.rb +91 -0
  42. metadata +15 -33
  43. data/docs/DecisionData.md +0 -25
  44. data/pkg/adzerk_decision_sdk-1.0.0.gem +0 -0
  45. data/pkg/adzerk_decision_sdk-1.0.0.pre.beta.1.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98a58b88ec2b9ac57d7076dfc382414899a6d2572eac8f5f111cda4d95fa046b
4
- data.tar.gz: 24ebea4daeb15eb26df71a0684db120f98eaabad6509dcba5f4a85dded99fdb8
3
+ metadata.gz: 69c2c3f742c3359a34c6a15ea195143430e194a6206f2a8b0080b74232ec9f34
4
+ data.tar.gz: 9530944f24b7c30a63a65650daf88ecf6feb2806fee2299838bb25fb3d19c2e6
5
5
  SHA512:
6
- metadata.gz: 8f66f87ecac97e11d07ecfd015057408d34ed6e489edf4640bc85be439374ef152c436a09f34168e5011027278260e7544ed03fbff6f6e15535c21b8c705e39a
7
- data.tar.gz: 80727134639eaeeb3706d49c6b0a30d532c8f053fa0861c983504a28913a8ab9aa4b65cd58006154943d007f43c7f7520d9a7402aa29b38356c9e8eed67e218e
6
+ metadata.gz: 3759cc220044e90f877b03a1e54ae693781a1a04a9cef28b76b9a1ca0237c56d8ffd952282ee641aa155b9eb6539ae90c68a74e5a88a33b080b419e5beeb0acf
7
+ data.tar.gz: c59f853bd03677cebe2f6fbcc5e6364173f216ed326d3824b01984467f92fc5679c34e6440ab7f0e2645e4ad56ef825f032ec2f4c5463ab575901cf7d6f7380e
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :development, :test do
6
- gem 'rake', '~> 12.0.0'
6
+ gem 'rake', '~> 13.0.1'
7
7
  gem 'pry-byebug'
8
8
  gem 'rubocop', '~> 0.66.0'
9
9
  end
data/Gemfile.lock CHANGED
@@ -1,8 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- adzerk_decision_sdk (1.0.0)
5
- json (~> 2.1, >= 2.1.0)
4
+ adzerk_decision_sdk (1.0.0.pre.beta.7)
6
5
  typhoeus (~> 1.0, >= 1.0.1)
7
6
 
8
7
  GEM
@@ -12,11 +11,10 @@ GEM
12
11
  byebug (11.1.1)
13
12
  coderay (1.1.2)
14
13
  diff-lcs (1.3)
15
- ethon (0.12.0)
16
- ffi (>= 1.3.0)
17
- ffi (1.12.2)
14
+ ethon (0.14.0)
15
+ ffi (>= 1.15.0)
16
+ ffi (1.15.1)
18
17
  jaro_winkler (1.5.4)
19
- json (2.3.0)
20
18
  method_source (0.9.2)
21
19
  parallel (1.19.1)
22
20
  parser (2.7.0.2)
@@ -29,7 +27,7 @@ GEM
29
27
  pry (~> 0.10)
30
28
  psych (3.1.0)
31
29
  rainbow (3.0.0)
32
- rake (12.0.0)
30
+ rake (13.0.1)
33
31
  rspec (3.9.0)
34
32
  rspec-core (~> 3.9.0)
35
33
  rspec-expectations (~> 3.9.0)
@@ -52,7 +50,7 @@ GEM
52
50
  ruby-progressbar (~> 1.7)
53
51
  unicode-display_width (>= 1.4.0, < 1.6)
54
52
  ruby-progressbar (1.10.1)
55
- typhoeus (1.3.1)
53
+ typhoeus (1.4.0)
56
54
  ethon (>= 0.9.0)
57
55
  unicode-display_width (1.5.0)
58
56
 
@@ -62,9 +60,9 @@ PLATFORMS
62
60
  DEPENDENCIES
63
61
  adzerk_decision_sdk!
64
62
  pry-byebug
65
- rake (~> 12.0.0)
63
+ rake (~> 13.0.1)
66
64
  rspec (~> 3.6, >= 3.6.0)
67
65
  rubocop (~> 0.66.0)
68
66
 
69
67
  BUNDLED WITH
70
- 2.1.2
68
+ 2.2.17
data/README.md CHANGED
@@ -6,6 +6,8 @@ Ruby Software Development Kit for Adzerk Decision & UserDB APIs
6
6
 
7
7
  Requires [Ruby 2.5](https://en.wikipedia.org/wiki/Ruby_(programming_language)#Table_of_versions) or higher.
8
8
 
9
+ [RubyGem Package](https://rubygems.org/gems/adzerk_decision_sdk)
10
+
9
11
  ```shell
10
12
  gem install adzerk_decision_sdk
11
13
  ```
@@ -13,7 +15,7 @@ gem install adzerk_decision_sdk
13
15
  Or add to your `Gemfile`:
14
16
 
15
17
  ```ruby
16
- gem 'adzerk_decision_sdk', '~> 1.0.0'
18
+ gem 'adzerk_decision_sdk', '~> 1.0.0-pre.beta.2'
17
19
  ```
18
20
 
19
21
  ## Examples
@@ -43,6 +45,20 @@ request = {
43
45
  pp client.decisions.get(request)
44
46
  ```
45
47
 
48
+ ### Recording Impression & Clicks
49
+
50
+ Use with the fetch ad example above.
51
+
52
+ ```ruby
53
+ # Impression pixel; fire when user sees the ad
54
+ client.pixels.fire(decision.impression_url)
55
+
56
+ # Click pixel; fire when user clicks on the ad
57
+ # status: HTTP status code
58
+ # location: click target URL
59
+ status, location = client.pixels.fire(decision.click_url)
60
+ ```
61
+
46
62
  ### UserDB: Reading User Record
47
63
 
48
64
  ```ruby
@@ -59,7 +75,7 @@ pp client.user_db.read("abc")
59
75
  require "adzerk_decision_sdk"
60
76
 
61
77
  # Demo network ID; find your own via the Adzerk UI!
62
- client = AdzerkDecisionSdk::Client.new(network_id: 23, api_key: "YOUR_API_KEY")
78
+ client = AdzerkDecisionSdk::Client.new(network_id: 23)
63
79
 
64
80
  props = {
65
81
  favoriteColor: "blue",
@@ -70,9 +86,33 @@ props = {
70
86
  client.user_db.set_custom_properties("abc", props)
71
87
  ```
72
88
 
73
- <!-- ### Logging Example
89
+ ### UserDB: Forgetting User Record
90
+
91
+ ```ruby
92
+ require "adzerk_decision_sdk"
74
93
 
75
- TBD: ....... -->
94
+ # Demo network ID and API key; find your own via the Adzerk UI!
95
+ client = AdzerkDecisionSdk::Client.new(network_id: 23, api_key: "YOUR_API_KEY")
96
+ client.user_db.forget("abc")
97
+ ```
98
+
99
+ ### Logging
100
+
101
+ Our logging implementation is meant to be flexible enough to fit into any common Ruby logging framework.
102
+
103
+ You can use the [logger](https://ruby-doc.org/stdlib-2.4.0/libdoc/logger/rdoc/Logger.html) utility to output messages.
104
+
105
+ The messages have associated levels: unknown, fatal, error, warn, info, and debug.
106
+
107
+ The easiest way to integrate is to write a function that handles translating the data from the Adzerk SDK Logger into whatever logging framework you're using in the rest of your application:
108
+
109
+ ```ruby
110
+ require "adzerk_decision_sdk"
111
+
112
+ logger.level("Message")
113
+
114
+ client = AdzerkDecisionSdk::Client.new(logger)
115
+ ```
76
116
 
77
117
  ## Documentation
78
118
 
@@ -8,7 +8,7 @@
8
8
  The version of the OpenAPI document: 1.0
9
9
 
10
10
  Generated by: https://openapi-generator.tech
11
- OpenAPI Generator version: 4.2.3
11
+ OpenAPI Generator version: 5.0.1
12
12
 
13
13
  =end
14
14
 
@@ -24,11 +24,10 @@ Gem::Specification.new do |s|
24
24
  s.homepage = "http://adzerk.com"
25
25
  s.summary = "Adzerk Decision API"
26
26
  s.description = "Ruby library for the Adzerk Decision API"
27
- s.license = 'Apache-2.0'
28
- s.required_ruby_version = ">= 1.9"
27
+ s.license = "Apache-2.0"
28
+ s.required_ruby_version = ">= 2.4"
29
29
 
30
30
  s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
31
- s.add_runtime_dependency 'json', '~> 2.1', '>= 2.1.0'
32
31
 
33
32
  s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
34
33
 
@@ -2,18 +2,19 @@
2
2
 
3
3
  ## Properties
4
4
 
5
- Name | Type | Description | Notes
6
- ------------ | ------------- | ------------- | -------------
7
- **user_key** | **String** | | [optional]
8
- **consent** | [**Object**](.md) | | [optional]
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **user_key** | **String** | | [optional] |
8
+ | **consent** | **Object** | | [optional] |
9
9
 
10
- ## Code Sample
10
+ ## Example
11
11
 
12
12
  ```ruby
13
- require 'AdzerkDecisionSdk'
13
+ require 'adzerk_decision_sdk'
14
14
 
15
- instance = AdzerkDecisionSdk::ConsentRequest.new(user_key: null,
16
- consent: null)
15
+ instance = AdzerkDecisionSdk::ConsentRequest.new(
16
+ user_key: null,
17
+ consent: null
18
+ )
17
19
  ```
18
20
 
19
-
data/docs/Content.md CHANGED
@@ -2,24 +2,25 @@
2
2
 
3
3
  ## Properties
4
4
 
5
- Name | Type | Description | Notes
6
- ------------ | ------------- | ------------- | -------------
7
- **type** | **String** | | [optional]
8
- **template** | **String** | | [optional]
9
- **custom_template** | **String** | | [optional]
10
- **data** | [**DecisionData**](DecisionData.md) | | [optional]
11
- **body** | **String** | | [optional]
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **type** | **String** | | [optional] |
8
+ | **template** | **String** | | [optional] |
9
+ | **custom_template** | **String** | | [optional] |
10
+ | **data** | **Object** | | [optional] |
11
+ | **body** | **String** | | [optional] |
12
12
 
13
- ## Code Sample
13
+ ## Example
14
14
 
15
15
  ```ruby
16
- require 'AdzerkDecisionSdk'
16
+ require 'adzerk_decision_sdk'
17
17
 
18
- instance = AdzerkDecisionSdk::Content.new(type: null,
19
- template: null,
20
- custom_template: null,
21
- data: null,
22
- body: null)
18
+ instance = AdzerkDecisionSdk::Content.new(
19
+ type: null,
20
+ template: null,
21
+ custom_template: null,
22
+ data: null,
23
+ body: null
24
+ )
23
25
  ```
24
26
 
25
-
data/docs/Decision.md CHANGED
@@ -2,34 +2,37 @@
2
2
 
3
3
  ## Properties
4
4
 
5
- Name | Type | Description | Notes
6
- ------------ | ------------- | ------------- | -------------
7
- **ad_id** | **Integer** | | [optional]
8
- **creative_id** | **Integer** | | [optional]
9
- **flight_id** | **Integer** | | [optional]
10
- **campaign_id** | **Integer** | | [optional]
11
- **priority_id** | **Integer** | | [optional]
12
- **click_url** | **String** | | [optional]
13
- **contents** | [**Array&lt;Content&gt;**](Content.md) | | [optional]
14
- **impression_url** | **String** | | [optional]
15
- **events** | [**Array&lt;Event&gt;**](Event.md) | | [optional]
16
- **pricing** | [**PricingData**](PricingData.md) | | [optional]
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_id** | **Integer** | | [optional] |
8
+ | **creative_id** | **Integer** | | [optional] |
9
+ | **flight_id** | **Integer** | | [optional] |
10
+ | **campaign_id** | **Integer** | | [optional] |
11
+ | **priority_id** | **Integer** | | [optional] |
12
+ | **click_url** | **String** | | [optional] |
13
+ | **contents** | [**Array&lt;Content&gt;**](Content.md) | | [optional] |
14
+ | **impression_url** | **String** | | [optional] |
15
+ | **events** | [**Array&lt;Event&gt;**](Event.md) | | [optional] |
16
+ | **matched_points** | [**Array&lt;MatchedPoint&gt;**](MatchedPoint.md) | | [optional] |
17
+ | **pricing** | [**PricingData**](PricingData.md) | | [optional] |
17
18
 
18
- ## Code Sample
19
+ ## Example
19
20
 
20
21
  ```ruby
21
- require 'AdzerkDecisionSdk'
22
+ require 'adzerk_decision_sdk'
22
23
 
23
- instance = AdzerkDecisionSdk::Decision.new(ad_id: null,
24
- creative_id: null,
25
- flight_id: null,
26
- campaign_id: null,
27
- priority_id: null,
28
- click_url: null,
29
- contents: null,
30
- impression_url: null,
31
- events: null,
32
- pricing: null)
24
+ instance = AdzerkDecisionSdk::Decision.new(
25
+ ad_id: null,
26
+ creative_id: null,
27
+ flight_id: null,
28
+ campaign_id: null,
29
+ priority_id: null,
30
+ click_url: null,
31
+ contents: null,
32
+ impression_url: null,
33
+ events: null,
34
+ matched_points: null,
35
+ pricing: null
36
+ )
33
37
  ```
34
38
 
35
-
data/docs/DecisionApi.md CHANGED
@@ -2,45 +2,62 @@
2
2
 
3
3
  All URIs are relative to *https://e-23.adzerk.net*
4
4
 
5
- Method | HTTP request | Description
6
- ------------- | ------------- | -------------
7
- [**get_decisions**](DecisionApi.md#get_decisions) | **POST** /api/v2 |
8
-
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**get_decisions**](DecisionApi.md#get_decisions) | **POST** /api/v2 | |
9
8
 
10
9
 
11
10
  ## get_decisions
12
11
 
13
- > DecisionResponse get_decisions(opts)
12
+ > <DecisionResponse> get_decisions(opts)
14
13
 
15
14
 
16
15
 
17
16
  Request Decision(s)
18
17
 
19
- ### Example
18
+ ### Examples
20
19
 
21
20
  ```ruby
22
- # load the gem
21
+ require 'time'
23
22
  require 'adzerk_decision_sdk'
24
23
 
25
24
  api_instance = AdzerkDecisionSdk::DecisionApi.new
26
25
  opts = {
27
- decision_request: {"placements": [{ "divName": "header", "networkId": 23, "siteId": 667480, "adTypes": [5] }] } # DecisionRequest |
26
+ decision_request: AdzerkDecisionSdk::DecisionRequest.new({placements: [AdzerkDecisionSdk::Placement.new]}) # DecisionRequest |
28
27
  }
29
28
 
30
29
  begin
30
+
31
31
  result = api_instance.get_decisions(opts)
32
32
  p result
33
33
  rescue AdzerkDecisionSdk::ApiError => e
34
- puts "Exception when calling DecisionApi->get_decisions: #{e}"
34
+ puts "Error when calling DecisionApi->get_decisions: #{e}"
35
35
  end
36
36
  ```
37
37
 
38
- ### Parameters
38
+ #### Using the get_decisions_with_http_info variant
39
+
40
+ This returns an Array which contains the response data, status code and headers.
39
41
 
42
+ > <Array(<DecisionResponse>, Integer, Hash)> get_decisions_with_http_info(opts)
43
+
44
+ ```ruby
45
+ begin
46
+
47
+ data, status_code, headers = api_instance.get_decisions_with_http_info(opts)
48
+ p status_code # => 2xx
49
+ p headers # => { ... }
50
+ p data # => <DecisionResponse>
51
+ rescue AdzerkDecisionSdk::ApiError => e
52
+ puts "Error when calling DecisionApi->get_decisions_with_http_info: #{e}"
53
+ end
54
+ ```
55
+
56
+ ### Parameters
40
57
 
41
- Name | Type | Description | Notes
42
- ------------- | ------------- | ------------- | -------------
43
- **decision_request** | [**DecisionRequest**](DecisionRequest.md)| | [optional]
58
+ | Name | Type | Description | Notes |
59
+ | ---- | ---- | ----------- | ----- |
60
+ | **decision_request** | [**DecisionRequest**](DecisionRequest.md) | | [optional] |
44
61
 
45
62
  ### Return type
46
63
 
@@ -2,42 +2,53 @@
2
2
 
3
3
  ## Properties
4
4
 
5
- Name | Type | Description | Notes
6
- ------------ | ------------- | ------------- | -------------
7
- **placements** | [**Array&lt;Placement&gt;**](Placement.md) | One or more Placement objects |
8
- **user** | [**User**](User.md) | | [optional]
9
- **keywords** | **Array&lt;String&gt;** | Keywords for keyword Targeting. Such as &#x60;\&quot;keywords\&quot;: [\&quot;foo\&quot;, \&quot;bar\&quot;, \&quot;baz\&quot;]&#x60;. | [optional]
10
- **url** | **String** | The current page URL | [optional]
11
- **referrer** | **String** | The referrer URL | [optional]
12
- **ip** | **String** | The IP address. Required for [Geo-Targeting](https://dev.adzerk.com/docs/geo-location) | [optional]
13
- **blocked_creatives** | **Array&lt;Integer&gt;** | Numeric creative ids to disregard for ad selection | [optional]
14
- **is_mobile** | **Boolean** | If true, only ads containing a single image will be returned | [optional]
15
- **include_pricing_data** | **Boolean** | If true, return pricing data for the decision in the response | [optional]
16
- **notrack** | **Boolean** | If true, only return ads that are set to honor Do Not Track | [optional]
17
- **enable_bot_filtering** | **Boolean** | If making a client-side request, set to true. Defaults to false to ensure a server isn&#39;t seen as a bot. See [here](https://dev.adzerk.com/docs/tracking-overview#section-bot-filtering) for more info | [optional]
18
- **enable_user_dbip** | **Boolean** | If true, override the IP address of the request with the IP address supplied on the UserKey. If no IP address is found on the UserKey, this will fall back to the IP address on the request. Requires UserDB | [optional]
19
- **consent** | [**Object**](.md) | Object that sets the data consent preferences. Other consent settings are available in the GDPR settings documentation. | [optional]
20
- **device_id** | **String** | RTB requests only - sets an Identifier for Advertisers (IFA or IDFA) | [optional]
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **placements** | [**Array&lt;Placement&gt;**](Placement.md) | One or more Placement objects | |
8
+ | **user** | [**User**](User.md) | | [optional] |
9
+ | **keywords** | **Array&lt;String&gt;** | Keywords for keyword Targeting. Such as &#x60;\&quot;keywords\&quot;: [\&quot;foo\&quot;, \&quot;bar\&quot;, \&quot;baz\&quot;]&#x60;. | [optional] |
10
+ | **url** | **String** | The current page URL | [optional] |
11
+ | **referrer** | **String** | The referrer URL | [optional] |
12
+ | **ip** | **String** | The IP address. Required for [Geo-Targeting](https://dev.adzerk.com/docs/geo-location) | [optional] |
13
+ | **blocked_creatives** | **Array&lt;Integer&gt;** | Numeric creative ids to disregard for ad selection | [optional] |
14
+ | **is_mobile** | **Boolean** | If true, only ads containing a single image will be returned | [optional] |
15
+ | **include_pricing_data** | **Boolean** | If true, return pricing data for the decision in the response | [optional] |
16
+ | **notrack** | **Boolean** | If true, only return ads that are set to honor Do Not Track | [optional] |
17
+ | **enable_bot_filtering** | **Boolean** | If making a client-side request, set to true. Defaults to false to ensure a server isn&#39;t seen as a bot. See [here](https://dev.adzerk.com/docs/tracking-overview#section-bot-filtering) for more info | [optional] |
18
+ | **enable_user_dbip** | **Boolean** | If true, override the IP address of the request with the IP address supplied on the UserKey. If no IP address is found on the UserKey, this will fall back to the IP address on the request. Requires UserDB | [optional] |
19
+ | **consent** | **Object** | Object that sets the data consent preferences. Other consent settings are available in the GDPR settings documentation. | [optional] |
20
+ | **device_id** | **String** | RTB requests only - sets an Identifier for Advertisers (IFA or IDFA) | [optional] |
21
+ | **parallel** | **Boolean** | | [optional] |
22
+ | **intended_latitude** | **Float** | | [optional] |
23
+ | **intended_longitude** | **Float** | | [optional] |
24
+ | **radius** | **Float** | | [optional] |
25
+ | **include_matched_points** | **Boolean** | | [optional] |
21
26
 
22
- ## Code Sample
27
+ ## Example
23
28
 
24
29
  ```ruby
25
- require 'AdzerkDecisionSdk'
30
+ require 'adzerk_decision_sdk'
26
31
 
27
- instance = AdzerkDecisionSdk::DecisionRequest.new(placements: null,
28
- user: null,
29
- keywords: null,
30
- url: null,
31
- referrer: null,
32
- ip: null,
33
- blocked_creatives: null,
34
- is_mobile: null,
35
- include_pricing_data: null,
36
- notrack: null,
37
- enable_bot_filtering: null,
38
- enable_user_dbip: null,
39
- consent: null,
40
- device_id: null)
32
+ instance = AdzerkDecisionSdk::DecisionRequest.new(
33
+ placements: null,
34
+ user: null,
35
+ keywords: null,
36
+ url: null,
37
+ referrer: null,
38
+ ip: null,
39
+ blocked_creatives: null,
40
+ is_mobile: null,
41
+ include_pricing_data: null,
42
+ notrack: null,
43
+ enable_bot_filtering: null,
44
+ enable_user_dbip: null,
45
+ consent: null,
46
+ device_id: null,
47
+ parallel: null,
48
+ intended_latitude: null,
49
+ intended_longitude: null,
50
+ radius: null,
51
+ include_matched_points: null
52
+ )
41
53
  ```
42
54
 
43
-