pingram 1.0.24 → 1.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/pingram/api/email_api.rb +5 -5
  4. data/lib/pingram/api/environments_api.rb +0 -66
  5. data/lib/pingram/api/registrations_api.rb +330 -0
  6. data/lib/pingram/api_client.rb +1 -1
  7. data/lib/pingram/client_wrapper.rb +10 -0
  8. data/lib/pingram/models/account_get_response.rb +26 -4
  9. data/lib/pingram/models/billing_post_response_body.rb +23 -1
  10. data/lib/pingram/models/logs_get_response_logs_inner.rb +10 -10
  11. data/lib/pingram/models/ten_dlc_brand_admin_update_request.rb +378 -0
  12. data/lib/pingram/models/ten_dlc_brand_create_request.rb +41 -10
  13. data/lib/pingram/models/ten_dlc_brand_registration.rb +2 -2
  14. data/lib/pingram/models/ten_dlc_brand_registration_details.rb +3 -2
  15. data/lib/pingram/models/ten_dlc_brand_update_request.rb +24 -38
  16. data/lib/pingram/models/ten_dlc_campaign_admin_update_request.rb +363 -0
  17. data/lib/pingram/models/ten_dlc_campaign_registration.rb +448 -0
  18. data/lib/pingram/models/ten_dlc_campaign_registration_details.rb +14 -14
  19. data/lib/pingram/models/ten_dlc_campaign_update_request.rb +5 -49
  20. data/lib/pingram/version.rb +1 -1
  21. data/lib/pingram.rb +4 -2
  22. data/vendor/bundle/ruby/3.2.0/cache/psych-5.5.0.gem +0 -0
  23. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  24. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +5 -5
  25. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.9.2/gem_make.out +5 -5
  26. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.9.2/mkmf.log +3 -3
  27. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  28. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{psych-5.4.0 → psych-5.5.0}/gem_make.out +10 -10
  29. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.5.0/psych.so +0 -0
  30. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
  31. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  32. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/README.md +53 -0
  33. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/extconf.rb +22 -0
  34. data/vendor/bundle/ruby/3.2.0/gems/psych-5.5.0/ext/psych/psych.c +68 -0
  35. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych.h +4 -0
  36. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_emitter.c +4 -0
  37. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_parser.c +79 -18
  38. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/class_loader.rb +1 -0
  39. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/parser.rb +40 -1
  40. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/scalar_scanner.rb +15 -3
  41. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/versions.rb +1 -1
  42. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/to_ruby.rb +20 -9
  43. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/yaml_tree.rb +0 -3
  44. data/vendor/bundle/ruby/3.2.0/gems/psych-5.5.0/lib/psych.so +0 -0
  45. data/vendor/bundle/ruby/3.2.0/specifications/{psych-5.4.0.gemspec → psych-5.5.0.gemspec} +2 -2
  46. metadata +66 -64
  47. data/lib/pingram/models/delete_email_suppressions_response.rb +0 -192
  48. data/lib/pingram/models/environment_create_request.rb +0 -164
  49. data/vendor/bundle/ruby/3.2.0/cache/psych-5.4.0.gem +0 -0
  50. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.4.0/psych.so +0 -0
  51. data/vendor/bundle/ruby/3.2.0/gems/psych-5.4.0/ext/psych/psych.c +0 -36
  52. data/vendor/bundle/ruby/3.2.0/gems/psych-5.4.0/lib/psych.so +0 -0
  53. /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{psych-5.4.0 → psych-5.5.0}/gem.build_complete +0 -0
  54. /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{psych-5.4.0 → psych-5.5.0}/mkmf.log +0 -0
  55. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/CONTRIBUTING.md +0 -0
  56. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/LICENSE +0 -0
  57. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/Makefile +0 -0
  58. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/depend +0 -0
  59. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_emitter.h +0 -0
  60. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_parser.h +0 -0
  61. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_to_ruby.c +0 -0
  62. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_to_ruby.h +0 -0
  63. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_yaml_tree.c +0 -0
  64. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/ext/psych/psych_yaml_tree.h +0 -0
  65. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/coder.rb +0 -0
  66. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/core_ext.rb +0 -0
  67. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/exception.rb +0 -0
  68. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/handler.rb +0 -0
  69. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/handlers/document_stream.rb +0 -0
  70. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/handlers/recorder.rb +0 -0
  71. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/json/ruby_events.rb +0 -0
  72. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/json/stream.rb +0 -0
  73. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/json/tree_builder.rb +0 -0
  74. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/json/yaml_events.rb +0 -0
  75. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/alias.rb +0 -0
  76. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/document.rb +0 -0
  77. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/mapping.rb +0 -0
  78. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/node.rb +0 -0
  79. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/scalar.rb +0 -0
  80. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/sequence.rb +0 -0
  81. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes/stream.rb +0 -0
  82. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/nodes.rb +0 -0
  83. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/omap.rb +0 -0
  84. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/set.rb +0 -0
  85. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/stream.rb +0 -0
  86. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/streaming.rb +0 -0
  87. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/syntax_error.rb +0 -0
  88. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/tree_builder.rb +0 -0
  89. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/depth_first.rb +0 -0
  90. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/emitter.rb +0 -0
  91. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/json_tree.rb +0 -0
  92. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors/visitor.rb +0 -0
  93. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/visitors.rb +0 -0
  94. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych/y.rb +0 -0
  95. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.4.0 → psych-5.5.0}/lib/psych.rb +0 -0
@@ -52,16 +52,17 @@ module Pingram
52
52
 
53
53
  attr_accessor :compliance_contact_phone
54
54
 
55
- # Pingram-side brand registration workflow status. - not_started: no customer submission yet - pending_review: customer submitted; Pingram has not submitted to carriers - in_progress: submitted for carrier review - approved | rejected | info_needed: review outcome
55
+ # Pingram-side 10DLC registration workflow status (brand or campaign). - not_started: no customer submission yet - pending_review: customer submitted; Pingram has not submitted to carriers - in_progress: submitted for carrier review - approved | rejected | info_needed: review outcome
56
56
  attr_accessor :brand_status
57
57
 
58
- # Pingram-side brand registration workflow status. - not_started: no customer submission yet - pending_review: customer submitted; Pingram has not submitted to carriers - in_progress: submitted for carrier review - approved | rejected | info_needed: review outcome
58
+ # Pingram-side 10DLC registration workflow status (brand or campaign). - not_started: no customer submission yet - pending_review: customer submitted; Pingram has not submitted to carriers - in_progress: submitted for carrier review - approved | rejected | info_needed: review outcome
59
59
  attr_accessor :campaign_status
60
60
 
61
61
  attr_accessor :created_at
62
62
 
63
63
  attr_accessor :updated_at
64
64
 
65
+ # Industry vertical required before Pingram submits the brand to carriers (for example TECHNOLOGY, HEALTHCARE, RETAIL, or FINANCIAL).
65
66
  attr_accessor :vertical
66
67
 
67
68
  # Legacy only when businessType is Other.
@@ -16,8 +16,10 @@ require 'time'
16
16
  module Pingram
17
17
  # Request body for PATCH /registrations/us/10dlc/brand
18
18
  class TenDlcBrandUpdateRequest < ApiModelBase
19
+ # Who the 10DLC brand is registered for. - own_brand: personal or company project - client_brand: agency or contractor
19
20
  attr_accessor :scenario_id
20
21
 
22
+ # Legal entity type for a 10DLC brand. - PRIVATE_PROFIT: private for-profit (LLC, corp, etc.) - SOLE_PROPRIETOR: sole proprietorship - PUBLIC_PROFIT: publicly traded for-profit - NON_PROFIT: non-profit - GOVERNMENT: government
21
23
  attr_accessor :business_type
22
24
 
23
25
  attr_accessor :legal_name
@@ -29,14 +31,7 @@ module Pingram
29
31
 
30
32
  attr_accessor :last_name
31
33
 
32
- attr_accessor :vertical
33
-
34
- # Admin-only; legacy Other records. Ignored on customer PATCH.
35
- attr_accessor :entity_type
36
-
37
- # Pingram-side brand registration workflow status. - not_started: no customer submission yet - pending_review: customer submitted; Pingram has not submitted to carriers - in_progress: submitted for carrier review - approved | rejected | info_needed: review outcome
38
- attr_accessor :brand_status
39
-
34
+ # For US companies (country US): 9-digit EIN (Employer Identification Number). For Canada (country CA): 9-digit BN (Business Number). For other countries: national business tax identifier.
40
35
  attr_accessor :tax_id
41
36
 
42
37
  attr_accessor :website
@@ -86,9 +81,6 @@ module Pingram
86
81
  :'display_name' => :'displayName',
87
82
  :'first_name' => :'firstName',
88
83
  :'last_name' => :'lastName',
89
- :'vertical' => :'vertical',
90
- :'entity_type' => :'entityType',
91
- :'brand_status' => :'brandStatus',
92
84
  :'tax_id' => :'taxId',
93
85
  :'website' => :'website',
94
86
  :'country' => :'country',
@@ -120,9 +112,6 @@ module Pingram
120
112
  :'display_name' => :'String',
121
113
  :'first_name' => :'String',
122
114
  :'last_name' => :'String',
123
- :'vertical' => :'String',
124
- :'entity_type' => :'String',
125
- :'brand_status' => :'String',
126
115
  :'tax_id' => :'String',
127
116
  :'website' => :'String',
128
117
  :'country' => :'String',
@@ -181,18 +170,6 @@ module Pingram
181
170
  self.last_name = attributes[:'last_name']
182
171
  end
183
172
 
184
- if attributes.key?(:'vertical')
185
- self.vertical = attributes[:'vertical']
186
- end
187
-
188
- if attributes.key?(:'entity_type')
189
- self.entity_type = attributes[:'entity_type']
190
- end
191
-
192
- if attributes.key?(:'brand_status')
193
- self.brand_status = attributes[:'brand_status']
194
- end
195
-
196
173
  if attributes.key?(:'tax_id')
197
174
  self.tax_id = attributes[:'tax_id']
198
175
  end
@@ -242,19 +219,31 @@ module Pingram
242
219
  # @return true if the model is valid
243
220
  def valid?
244
221
  warn '[DEPRECATED] the `valid?` method is obsolete'
245
- brand_status_validator = EnumAttributeValidator.new('String', ["not_started", "in_progress", "pending_review", "approved", "rejected", "info_needed"])
246
- return false unless brand_status_validator.valid?(@brand_status)
222
+ scenario_id_validator = EnumAttributeValidator.new('String', ["own_brand", "client_brand"])
223
+ return false unless scenario_id_validator.valid?(@scenario_id)
224
+ business_type_validator = EnumAttributeValidator.new('String', ["PRIVATE_PROFIT", "SOLE_PROPRIETOR", "PUBLIC_PROFIT", "NON_PROFIT", "GOVERNMENT"])
225
+ return false unless business_type_validator.valid?(@business_type)
247
226
  true
248
227
  end
249
228
 
250
229
  # Custom attribute writer method checking allowed values (enum).
251
- # @param [Object] brand_status Object to be assigned
252
- def brand_status=(brand_status)
253
- validator = EnumAttributeValidator.new('String', ["not_started", "in_progress", "pending_review", "approved", "rejected", "info_needed"])
254
- unless validator.valid?(brand_status)
255
- fail ArgumentError, "invalid value for \"brand_status\", must be one of #{validator.allowable_values}."
230
+ # @param [Object] scenario_id Object to be assigned
231
+ def scenario_id=(scenario_id)
232
+ validator = EnumAttributeValidator.new('String', ["own_brand", "client_brand"])
233
+ unless validator.valid?(scenario_id)
234
+ fail ArgumentError, "invalid value for \"scenario_id\", must be one of #{validator.allowable_values}."
235
+ end
236
+ @scenario_id = scenario_id
237
+ end
238
+
239
+ # Custom attribute writer method checking allowed values (enum).
240
+ # @param [Object] business_type Object to be assigned
241
+ def business_type=(business_type)
242
+ validator = EnumAttributeValidator.new('String', ["PRIVATE_PROFIT", "SOLE_PROPRIETOR", "PUBLIC_PROFIT", "NON_PROFIT", "GOVERNMENT"])
243
+ unless validator.valid?(business_type)
244
+ fail ArgumentError, "invalid value for \"business_type\", must be one of #{validator.allowable_values}."
256
245
  end
257
- @brand_status = brand_status
246
+ @business_type = business_type
258
247
  end
259
248
 
260
249
  # Checks equality by comparing each attribute.
@@ -268,9 +257,6 @@ module Pingram
268
257
  display_name == o.display_name &&
269
258
  first_name == o.first_name &&
270
259
  last_name == o.last_name &&
271
- vertical == o.vertical &&
272
- entity_type == o.entity_type &&
273
- brand_status == o.brand_status &&
274
260
  tax_id == o.tax_id &&
275
261
  website == o.website &&
276
262
  country == o.country &&
@@ -291,7 +277,7 @@ module Pingram
291
277
  # Calculates hash code according to all attributes.
292
278
  # @return [Integer] Hash code
293
279
  def hash
294
- [scenario_id, business_type, legal_name, display_name, first_name, last_name, vertical, entity_type, brand_status, tax_id, website, country, street, city, state, postal_code, compliance_contact_email, compliance_contact_phone].hash
280
+ [scenario_id, business_type, legal_name, display_name, first_name, last_name, tax_id, website, country, street, city, state, postal_code, compliance_contact_email, compliance_contact_phone].hash
295
281
  end
296
282
 
297
283
  # Builds the object from hash
@@ -0,0 +1,363 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ # Request body for PATCH /registrations/us/10dlc/campaign/admin
18
+ class TenDlcCampaignAdminUpdateRequest < ApiModelBase
19
+ attr_accessor :campaign_description
20
+
21
+ attr_accessor :campaign_sample1
22
+
23
+ attr_accessor :campaign_sample2
24
+
25
+ attr_accessor :campaign_sample3
26
+
27
+ attr_accessor :campaign_sample4
28
+
29
+ attr_accessor :campaign_message_flow
30
+
31
+ attr_accessor :campaign_optin_keywords
32
+
33
+ attr_accessor :campaign_optin_message
34
+
35
+ attr_accessor :campaign_optout_keywords
36
+
37
+ attr_accessor :campaign_optout_message
38
+
39
+ attr_accessor :campaign_help_keywords
40
+
41
+ attr_accessor :campaign_help_message
42
+
43
+ attr_accessor :campaign_embedded_link
44
+
45
+ attr_accessor :campaign_embedded_link_url
46
+
47
+ attr_accessor :campaign_embedded_phone
48
+
49
+ attr_accessor :campaign_age_gated
50
+
51
+ attr_accessor :campaign_direct_lending
52
+
53
+ attr_accessor :campaign_privacy_policy_link
54
+
55
+ attr_accessor :campaign_terms_and_conditions_link
56
+
57
+ attr_accessor :campaign_usecase
58
+
59
+ # Pingram-side 10DLC registration workflow status (brand or campaign). - not_started: no customer submission yet - pending_review: customer submitted; Pingram has not submitted to carriers - in_progress: submitted for carrier review - approved | rejected | info_needed: review outcome
60
+ attr_accessor :campaign_status
61
+
62
+ class EnumAttributeValidator
63
+ attr_reader :datatype
64
+ attr_reader :allowable_values
65
+
66
+ def initialize(datatype, allowable_values)
67
+ @allowable_values = allowable_values.map do |value|
68
+ case datatype.to_s
69
+ when /Integer/i
70
+ value.to_i
71
+ when /Float/i
72
+ value.to_f
73
+ else
74
+ value
75
+ end
76
+ end
77
+ end
78
+
79
+ def valid?(value)
80
+ !value || allowable_values.include?(value)
81
+ end
82
+ end
83
+
84
+ # Attribute mapping from ruby-style variable name to JSON key.
85
+ def self.attribute_map
86
+ {
87
+ :'campaign_description' => :'campaignDescription',
88
+ :'campaign_sample1' => :'campaignSample1',
89
+ :'campaign_sample2' => :'campaignSample2',
90
+ :'campaign_sample3' => :'campaignSample3',
91
+ :'campaign_sample4' => :'campaignSample4',
92
+ :'campaign_message_flow' => :'campaignMessageFlow',
93
+ :'campaign_optin_keywords' => :'campaignOptinKeywords',
94
+ :'campaign_optin_message' => :'campaignOptinMessage',
95
+ :'campaign_optout_keywords' => :'campaignOptoutKeywords',
96
+ :'campaign_optout_message' => :'campaignOptoutMessage',
97
+ :'campaign_help_keywords' => :'campaignHelpKeywords',
98
+ :'campaign_help_message' => :'campaignHelpMessage',
99
+ :'campaign_embedded_link' => :'campaignEmbeddedLink',
100
+ :'campaign_embedded_link_url' => :'campaignEmbeddedLinkUrl',
101
+ :'campaign_embedded_phone' => :'campaignEmbeddedPhone',
102
+ :'campaign_age_gated' => :'campaignAgeGated',
103
+ :'campaign_direct_lending' => :'campaignDirectLending',
104
+ :'campaign_privacy_policy_link' => :'campaignPrivacyPolicyLink',
105
+ :'campaign_terms_and_conditions_link' => :'campaignTermsAndConditionsLink',
106
+ :'campaign_usecase' => :'campaignUsecase',
107
+ :'campaign_status' => :'campaignStatus'
108
+ }
109
+ end
110
+
111
+ # Returns attribute mapping this model knows about
112
+ def self.acceptable_attribute_map
113
+ attribute_map
114
+ end
115
+
116
+ # Returns all the JSON keys this model knows about
117
+ def self.acceptable_attributes
118
+ acceptable_attribute_map.values
119
+ end
120
+
121
+ # Attribute type mapping.
122
+ def self.openapi_types
123
+ {
124
+ :'campaign_description' => :'String',
125
+ :'campaign_sample1' => :'String',
126
+ :'campaign_sample2' => :'String',
127
+ :'campaign_sample3' => :'String',
128
+ :'campaign_sample4' => :'String',
129
+ :'campaign_message_flow' => :'String',
130
+ :'campaign_optin_keywords' => :'String',
131
+ :'campaign_optin_message' => :'String',
132
+ :'campaign_optout_keywords' => :'String',
133
+ :'campaign_optout_message' => :'String',
134
+ :'campaign_help_keywords' => :'String',
135
+ :'campaign_help_message' => :'String',
136
+ :'campaign_embedded_link' => :'Boolean',
137
+ :'campaign_embedded_link_url' => :'String',
138
+ :'campaign_embedded_phone' => :'Boolean',
139
+ :'campaign_age_gated' => :'Boolean',
140
+ :'campaign_direct_lending' => :'Boolean',
141
+ :'campaign_privacy_policy_link' => :'String',
142
+ :'campaign_terms_and_conditions_link' => :'String',
143
+ :'campaign_usecase' => :'String',
144
+ :'campaign_status' => :'String'
145
+ }
146
+ end
147
+
148
+ # List of attributes with nullable: true
149
+ def self.openapi_nullable
150
+ Set.new([
151
+ ])
152
+ end
153
+
154
+ # Initializes the object
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ def initialize(attributes = {})
157
+ if (!attributes.is_a?(Hash))
158
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::TenDlcCampaignAdminUpdateRequest` initialize method"
159
+ end
160
+
161
+ # check to see if the attribute exists and convert string to symbol for hash key
162
+ acceptable_attribute_map = self.class.acceptable_attribute_map
163
+ attributes = attributes.each_with_object({}) { |(k, v), h|
164
+ if (!acceptable_attribute_map.key?(k.to_sym))
165
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::TenDlcCampaignAdminUpdateRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
166
+ end
167
+ h[k.to_sym] = v
168
+ }
169
+
170
+ if attributes.key?(:'campaign_description')
171
+ self.campaign_description = attributes[:'campaign_description']
172
+ end
173
+
174
+ if attributes.key?(:'campaign_sample1')
175
+ self.campaign_sample1 = attributes[:'campaign_sample1']
176
+ end
177
+
178
+ if attributes.key?(:'campaign_sample2')
179
+ self.campaign_sample2 = attributes[:'campaign_sample2']
180
+ end
181
+
182
+ if attributes.key?(:'campaign_sample3')
183
+ self.campaign_sample3 = attributes[:'campaign_sample3']
184
+ end
185
+
186
+ if attributes.key?(:'campaign_sample4')
187
+ self.campaign_sample4 = attributes[:'campaign_sample4']
188
+ end
189
+
190
+ if attributes.key?(:'campaign_message_flow')
191
+ self.campaign_message_flow = attributes[:'campaign_message_flow']
192
+ end
193
+
194
+ if attributes.key?(:'campaign_optin_keywords')
195
+ self.campaign_optin_keywords = attributes[:'campaign_optin_keywords']
196
+ end
197
+
198
+ if attributes.key?(:'campaign_optin_message')
199
+ self.campaign_optin_message = attributes[:'campaign_optin_message']
200
+ end
201
+
202
+ if attributes.key?(:'campaign_optout_keywords')
203
+ self.campaign_optout_keywords = attributes[:'campaign_optout_keywords']
204
+ end
205
+
206
+ if attributes.key?(:'campaign_optout_message')
207
+ self.campaign_optout_message = attributes[:'campaign_optout_message']
208
+ end
209
+
210
+ if attributes.key?(:'campaign_help_keywords')
211
+ self.campaign_help_keywords = attributes[:'campaign_help_keywords']
212
+ end
213
+
214
+ if attributes.key?(:'campaign_help_message')
215
+ self.campaign_help_message = attributes[:'campaign_help_message']
216
+ end
217
+
218
+ if attributes.key?(:'campaign_embedded_link')
219
+ self.campaign_embedded_link = attributes[:'campaign_embedded_link']
220
+ end
221
+
222
+ if attributes.key?(:'campaign_embedded_link_url')
223
+ self.campaign_embedded_link_url = attributes[:'campaign_embedded_link_url']
224
+ end
225
+
226
+ if attributes.key?(:'campaign_embedded_phone')
227
+ self.campaign_embedded_phone = attributes[:'campaign_embedded_phone']
228
+ end
229
+
230
+ if attributes.key?(:'campaign_age_gated')
231
+ self.campaign_age_gated = attributes[:'campaign_age_gated']
232
+ end
233
+
234
+ if attributes.key?(:'campaign_direct_lending')
235
+ self.campaign_direct_lending = attributes[:'campaign_direct_lending']
236
+ end
237
+
238
+ if attributes.key?(:'campaign_privacy_policy_link')
239
+ self.campaign_privacy_policy_link = attributes[:'campaign_privacy_policy_link']
240
+ end
241
+
242
+ if attributes.key?(:'campaign_terms_and_conditions_link')
243
+ self.campaign_terms_and_conditions_link = attributes[:'campaign_terms_and_conditions_link']
244
+ end
245
+
246
+ if attributes.key?(:'campaign_usecase')
247
+ self.campaign_usecase = attributes[:'campaign_usecase']
248
+ end
249
+
250
+ if attributes.key?(:'campaign_status')
251
+ self.campaign_status = attributes[:'campaign_status']
252
+ end
253
+ end
254
+
255
+ # Show invalid properties with the reasons. Usually used together with valid?
256
+ # @return Array for valid properties with the reasons
257
+ def list_invalid_properties
258
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
259
+ invalid_properties = Array.new
260
+ invalid_properties
261
+ end
262
+
263
+ # Check to see if the all the properties in the model are valid
264
+ # @return true if the model is valid
265
+ def valid?
266
+ warn '[DEPRECATED] the `valid?` method is obsolete'
267
+ campaign_status_validator = EnumAttributeValidator.new('String', ["not_started", "in_progress", "pending_review", "approved", "rejected", "info_needed"])
268
+ return false unless campaign_status_validator.valid?(@campaign_status)
269
+ true
270
+ end
271
+
272
+ # Custom attribute writer method checking allowed values (enum).
273
+ # @param [Object] campaign_status Object to be assigned
274
+ def campaign_status=(campaign_status)
275
+ validator = EnumAttributeValidator.new('String', ["not_started", "in_progress", "pending_review", "approved", "rejected", "info_needed"])
276
+ unless validator.valid?(campaign_status)
277
+ fail ArgumentError, "invalid value for \"campaign_status\", must be one of #{validator.allowable_values}."
278
+ end
279
+ @campaign_status = campaign_status
280
+ end
281
+
282
+ # Checks equality by comparing each attribute.
283
+ # @param [Object] Object to be compared
284
+ def ==(o)
285
+ return true if self.equal?(o)
286
+ self.class == o.class &&
287
+ campaign_description == o.campaign_description &&
288
+ campaign_sample1 == o.campaign_sample1 &&
289
+ campaign_sample2 == o.campaign_sample2 &&
290
+ campaign_sample3 == o.campaign_sample3 &&
291
+ campaign_sample4 == o.campaign_sample4 &&
292
+ campaign_message_flow == o.campaign_message_flow &&
293
+ campaign_optin_keywords == o.campaign_optin_keywords &&
294
+ campaign_optin_message == o.campaign_optin_message &&
295
+ campaign_optout_keywords == o.campaign_optout_keywords &&
296
+ campaign_optout_message == o.campaign_optout_message &&
297
+ campaign_help_keywords == o.campaign_help_keywords &&
298
+ campaign_help_message == o.campaign_help_message &&
299
+ campaign_embedded_link == o.campaign_embedded_link &&
300
+ campaign_embedded_link_url == o.campaign_embedded_link_url &&
301
+ campaign_embedded_phone == o.campaign_embedded_phone &&
302
+ campaign_age_gated == o.campaign_age_gated &&
303
+ campaign_direct_lending == o.campaign_direct_lending &&
304
+ campaign_privacy_policy_link == o.campaign_privacy_policy_link &&
305
+ campaign_terms_and_conditions_link == o.campaign_terms_and_conditions_link &&
306
+ campaign_usecase == o.campaign_usecase &&
307
+ campaign_status == o.campaign_status
308
+ end
309
+
310
+ # @see the `==` method
311
+ # @param [Object] Object to be compared
312
+ def eql?(o)
313
+ self == o
314
+ end
315
+
316
+ # Calculates hash code according to all attributes.
317
+ # @return [Integer] Hash code
318
+ def hash
319
+ [campaign_description, campaign_sample1, campaign_sample2, campaign_sample3, campaign_sample4, campaign_message_flow, campaign_optin_keywords, campaign_optin_message, campaign_optout_keywords, campaign_optout_message, campaign_help_keywords, campaign_help_message, campaign_embedded_link, campaign_embedded_link_url, campaign_embedded_phone, campaign_age_gated, campaign_direct_lending, campaign_privacy_policy_link, campaign_terms_and_conditions_link, campaign_usecase, campaign_status].hash
320
+ end
321
+
322
+ # Builds the object from hash
323
+ # @param [Hash] attributes Model attributes in the form of hash
324
+ # @return [Object] Returns the model itself
325
+ def self.build_from_hash(attributes)
326
+ return nil unless attributes.is_a?(Hash)
327
+ attributes = attributes.transform_keys(&:to_sym)
328
+ transformed_hash = {}
329
+ openapi_types.each_pair do |key, type|
330
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
331
+ transformed_hash["#{key}"] = nil
332
+ elsif type =~ /\AArray<(.*)>/i
333
+ # check to ensure the input is an array given that the attribute
334
+ # is documented as an array but the input is not
335
+ if attributes[attribute_map[key]].is_a?(Array)
336
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
337
+ end
338
+ elsif !attributes[attribute_map[key]].nil?
339
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
340
+ end
341
+ end
342
+ new(transformed_hash)
343
+ end
344
+
345
+ # Returns the object in the form of hash
346
+ # @return [Hash] Returns the object in the form of hash
347
+ def to_hash
348
+ hash = {}
349
+ self.class.attribute_map.each_pair do |attr, param|
350
+ value = self.send(attr)
351
+ if value.nil?
352
+ is_nullable = self.class.openapi_nullable.include?(attr)
353
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
354
+ end
355
+
356
+ hash[param] = _to_hash(value)
357
+ end
358
+ hash
359
+ end
360
+
361
+ end
362
+
363
+ end