rcs 2.0.3 → 2.0.5

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rcs/audiences/contacts/client.rb +8 -4
  3. data/lib/rcs/brands/client.rb +46 -97
  4. data/lib/rcs/brands/types/{brand_contact.rb → upsert_brand_schema_contact.rb} +20 -18
  5. data/lib/rcs/brands/types/upsert_brand_schema_entity_type.rb +16 -0
  6. data/lib/rcs/brands/types/upsert_brand_schema_sector.rb +28 -0
  7. data/lib/rcs/brands/types/upsert_brand_schema_type.rb +16 -0
  8. data/lib/rcs/campaigns/dlc/client.rb +4 -2
  9. data/lib/rcs/campaigns/rcs/client.rb +4 -2
  10. data/lib/rcs/campaigns/rcs/types/rcs_agent.rb +12 -6
  11. data/lib/rcs/messages/blast/client.rb +6 -0
  12. data/lib/rcs/messages/rcs/client.rb +2 -2
  13. data/lib/rcs/phone_numbers/campaign/client.rb +8 -4
  14. data/lib/rcs/rcs/client.rb +4 -2
  15. data/lib/rcs/types/message_event_rcs_cards_content.rb +8 -4
  16. data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +4 -2
  17. data/lib/rcs/types/message_event_rcs_media_content.rb +4 -2
  18. data/lib/rcs/types/message_event_rcs_text_content.rb +4 -2
  19. data/lib/rcs/types/rcs_cards_content.rb +8 -4
  20. data/lib/rcs/types/rcs_cards_content_cards_item.rb +4 -2
  21. data/lib/rcs/types/rcs_media_content.rb +4 -2
  22. data/lib/rcs/types/rich_card.rb +4 -2
  23. data/lib/rcs/types/rich_cards.rb +8 -4
  24. data/lib/rcs/types/rich_cards_message.rb +8 -4
  25. data/lib/rcs/types/rich_media_message.rb +4 -2
  26. data/lib/rcs/types/rich_text.rb +4 -2
  27. data/lib/rcs/types/rich_text_message.rb +4 -2
  28. data/lib/rcs/webhooks/client.rb +4 -0
  29. data/lib/requests.rb +2 -2
  30. data/lib/types_export.rb +4 -2
  31. metadata +6 -4
  32. data/lib/rcs/types/upsert_contact.rb +0 -84
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d33fa0a50da18cb437a65a93a1a37d88d062b0fc765eb69e06f1980e2d24b51
4
- data.tar.gz: 6b68bc5631e0cda0a9a43666d8abac3d52f6afced3dd9adf632d96eba6397c65
3
+ metadata.gz: a9973f0ac25a667d4fc684411e98de98f3a414ea4c851df38c57cb08ecd48f7c
4
+ data.tar.gz: e33ee21925018bf8472458ce39debdd7324d3522952f2514b0c93d03b91d81de
5
5
  SHA512:
6
- metadata.gz: 8a56b32692c36e49aaa4487e471ddff250e618ddd85a70090aef52789d902697528f5f57d73d44cc4832d38c745546eee47398a0854cf1d81f41c6b53b5aa3e8
7
- data.tar.gz: f4ae09b1d760883ac4c908a537d7da488e4e32f29547b458aa8a14f9752469048dea84fc3d5a50244f7de2e77cded1ee8d0e02c8f5cb5998db9be70765021167
6
+ metadata.gz: 862c3ef24cff2a33b06c8b82acd5f760b23ea2895e653676218b47fd7f010ed9648d6d154cc597ba6fdb1ad8b7de71e87677275642699d169b931f1ddb9d2e29
7
+ data.tar.gz: 1fc9c84cffa9f53caf66be90c4d1aabdc953bb7c2f90bcdfb7ff4673f17bdab89187909f91f4eaabeff3491da5b5892faa0c16a2331a54b8012c6f9d6b6c45ed
@@ -22,7 +22,8 @@ module Pinnacle
22
22
  #
23
23
  # @param id [String] Audience ID. This identifier is a string that always begins with the prefix
24
24
  # `aud_`, for example: `aud_abc123`.
25
- # @param contacts [Array<String>] Array of phone numbers (E.164 format) or contact IDs (minimum 1 item).
25
+ # @param contacts [Array<String>] Array of phone numbers (E.164 format) or contact IDs. <br><br>
26
+ # **Limit:** 1 min
26
27
  # @param request_options [Pinnacle::RequestOptions]
27
28
  # @return [Pinnacle::Types::AudienceCountOnly]
28
29
  # @example
@@ -57,7 +58,8 @@ module Pinnacle
57
58
  #
58
59
  # @param id [String] Audience ID. This identifier is a string that always begins with the prefix
59
60
  # `aud_`, for example: `aud_abc123`.
60
- # @param contacts [Array<String>] Array of phone numbers (E.164 format) or contact IDs (minimum 1 item).
61
+ # @param contacts [Array<String>] Array of phone numbers (E.164 format) or contact IDs. <br><br>
62
+ # **Limit:** 1 min
61
63
  # @param request_options [Pinnacle::RequestOptions]
62
64
  # @return [Pinnacle::Types::AudienceCountOnly]
63
65
  # @example
@@ -102,7 +104,8 @@ module Pinnacle
102
104
  #
103
105
  # @param id [String] Audience ID. This identifier is a string that always begins with the prefix
104
106
  # `aud_`, for example: `aud_abc123`.
105
- # @param contacts [Array<String>] Array of phone numbers (E.164 format) or contact IDs (minimum 1 item).
107
+ # @param contacts [Array<String>] Array of phone numbers (E.164 format) or contact IDs. <br><br>
108
+ # **Limit:** 1 min
106
109
  # @param request_options [Pinnacle::RequestOptions]
107
110
  # @return [Pinnacle::Types::AudienceCountOnly]
108
111
  # @example
@@ -139,7 +142,8 @@ module Pinnacle
139
142
  #
140
143
  # @param id [String] Audience ID. This identifier is a string that always begins with the prefix
141
144
  # `aud_`, for example: `aud_abc123`.
142
- # @param contacts [Array<String>] Array of phone numbers (E.164 format) or contact IDs (minimum 1 item).
145
+ # @param contacts [Array<String>] Array of phone numbers (E.164 format) or contact IDs. <br><br>
146
+ # **Limit:** 1 min
143
147
  # @param request_options [Pinnacle::RequestOptions]
144
148
  # @return [Pinnacle::Types::AudienceCountOnly]
145
149
  # @example
@@ -3,14 +3,13 @@
3
3
  require_relative "../../requests"
4
4
  require_relative "types/autofill_brand_options"
5
5
  require_relative "../types/optional_brand_info"
6
- require_relative "../types/upsert_contact"
7
- require_relative "../types/company_sector_enum"
8
- require_relative "../types/company_type_enum"
9
- require_relative "../types/company_entity_type_enum"
6
+ require_relative "types/upsert_brand_schema_contact"
7
+ require_relative "types/upsert_brand_schema_sector"
8
+ require_relative "types/upsert_brand_schema_type"
9
+ require_relative "types/upsert_brand_schema_entity_type"
10
10
  require_relative "../types/extended_brand"
11
11
  require_relative "../types/extended_brand_with_vetting"
12
12
  require_relative "../types/submission_results"
13
- require_relative "types/brand_contact"
14
13
  require_relative "../types/validation_results"
15
14
  require_relative "../types/vetting_results"
16
15
  require "async"
@@ -75,7 +74,7 @@ module Pinnacle
75
74
  # Create a new brand or update an existing brand by with the provided information.
76
75
  #
77
76
  # @param address [String] Primary brand address where the company is located.
78
- # @param contact [Hash] Contact information for the brand.Request of type Pinnacle::Types::UpsertContact, as a Hash
77
+ # @param contact [Hash] Contact information for the brand.Request of type Pinnacle::Brands::Types::UpsertBrandSchemaContact, as a Hash
79
78
  # * :email (String)
80
79
  # * :name (String)
81
80
  # * :phone (String)
@@ -88,9 +87,9 @@ module Pinnacle
88
87
  # <br><br> This identifier is a string that always begins with the prefix `b_`,
89
88
  # for example: `b_1234567890`.
90
89
  # @param name [String] Legal name of the brand as registered.
91
- # @param sector [Pinnacle::Types::CompanySectorEnum] Industry the brand operates in.
92
- # @param type [Pinnacle::Types::CompanyTypeEnum] Legal structure of the brand.
93
- # @param entity_type [Pinnacle::Types::CompanyEntityTypeEnum] Legal entity type of the brand.
90
+ # @param sector [Pinnacle::Brands::Types::UpsertBrandSchemaSector] Industry the brand operates in.
91
+ # @param type [Pinnacle::Brands::Types::UpsertBrandSchemaType] Legal structure of the brand.
92
+ # @param entity_type [Pinnacle::Brands::Types::UpsertBrandSchemaEntityType] Legal entity type of the brand.
94
93
  # @param website [String] Brand website URL.
95
94
  # @param request_options [Pinnacle::RequestOptions]
96
95
  # @return [Pinnacle::Types::ExtendedBrand]
@@ -221,21 +220,22 @@ module Pinnacle
221
220
  # Validate your brand information for compliance and correctness before submission
222
221
  # or storage.
223
222
  #
224
- # @param address [String] Primary brand address where the brand is located.
225
- # @param contact [Hash] Contact information for the primary brand representative.Request of type Pinnacle::Brands::Types::BrandContact, as a Hash
223
+ # @param request [Hash] Request of type Pinnacle::Types::OptionalBrandInfo, as a Hash
224
+ # * :address (String)
225
+ # * :contact (Hash)
226
+ # * :email (String)
227
+ # * :name (String)
228
+ # * :phone (String)
229
+ # * :title (String)
230
+ # * :dba (String)
231
+ # * :description (String)
232
+ # * :ein (String)
226
233
  # * :email (String)
227
234
  # * :name (String)
228
- # * :phone (String)
229
- # * :title (String)
230
- # @param dba [String] "Doing Business As" name - the public name the brand operates under.
231
- # @param description [String] Brief description of what the brand does.
232
- # @param ein [String] Employer Identification Number (EIN) assigned by the IRS.
233
- # @param email [String] Main contact email address for the brand.
234
- # @param name [String] Legal name of the brand as registered.
235
- # @param sector [Pinnacle::Types::CompanySectorEnum]
236
- # @param type [Pinnacle::Types::CompanyTypeEnum]
237
- # @param entity_type [Pinnacle::Types::CompanyEntityTypeEnum] Legal entity type of the brand.
238
- # @param website [String] Brand website URL.
235
+ # * :sector (Pinnacle::Types::CompanySectorEnum)
236
+ # * :type (Pinnacle::Types::CompanyTypeEnum)
237
+ # * :entity_type (Pinnacle::Types::CompanyEntityTypeEnum)
238
+ # * :website (String)
239
239
  # @param request_options [Pinnacle::RequestOptions]
240
240
  # @return [Pinnacle::Types::ValidationResults]
241
241
  # @example
@@ -244,21 +244,8 @@ module Pinnacle
244
244
  # environment: Pinnacle::Environment::DEFAULT,
245
245
  # api_key: "YOUR_API_KEY"
246
246
  # )
247
- # api.brands.validate(
248
- # address: "500 Folsom St, San Francisco, CA 94105",
249
- # contact: { email: "michael.chen@trypinnacle.app", name: "Michael Chen", phone: "+14155551234", title: "Customer Support Representative" },
250
- # dba: "Pinnacle Messaging",
251
- # description: "Pinnacle is an SMS, MMS, and RCS API for scaling conversations with customers you value.",
252
- # ein: "88-1234567",
253
- # email: "founders@trypinnacle.app",
254
- # name: "Pinnacle",
255
- # sector: TECHNOLOGY,
256
- # type: PRIVATE_PROFIT,
257
- # entity_type: LLC,
258
- # website: "https://www.pinnacle.sh"
259
- # )
260
- def validate(address:, contact:, description:, email:, name:, sector:, type:, entity_type:, website:, dba: nil,
261
- ein: nil, request_options: nil)
247
+ # api.brands.validate(request: { })
248
+ def validate(request:, request_options: nil)
262
249
  response = @request_client.conn.post do |req|
263
250
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
264
251
  req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
@@ -270,20 +257,7 @@ module Pinnacle
270
257
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
271
258
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
272
259
  end
273
- req.body = {
274
- **(request_options&.additional_body_parameters || {}),
275
- address: address,
276
- contact: contact,
277
- dba: dba,
278
- description: description,
279
- ein: ein,
280
- email: email,
281
- name: name,
282
- sector: sector,
283
- type: type,
284
- entityType: entity_type,
285
- website: website
286
- }.compact
260
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
287
261
  req.url "#{@request_client.get_url(request_options: request_options)}/brands/validate"
288
262
  end
289
263
  Pinnacle::Types::ValidationResults.from_json(json_object: response.body)
@@ -390,7 +364,7 @@ module Pinnacle
390
364
  # Create a new brand or update an existing brand by with the provided information.
391
365
  #
392
366
  # @param address [String] Primary brand address where the company is located.
393
- # @param contact [Hash] Contact information for the brand.Request of type Pinnacle::Types::UpsertContact, as a Hash
367
+ # @param contact [Hash] Contact information for the brand.Request of type Pinnacle::Brands::Types::UpsertBrandSchemaContact, as a Hash
394
368
  # * :email (String)
395
369
  # * :name (String)
396
370
  # * :phone (String)
@@ -403,9 +377,9 @@ module Pinnacle
403
377
  # <br><br> This identifier is a string that always begins with the prefix `b_`,
404
378
  # for example: `b_1234567890`.
405
379
  # @param name [String] Legal name of the brand as registered.
406
- # @param sector [Pinnacle::Types::CompanySectorEnum] Industry the brand operates in.
407
- # @param type [Pinnacle::Types::CompanyTypeEnum] Legal structure of the brand.
408
- # @param entity_type [Pinnacle::Types::CompanyEntityTypeEnum] Legal entity type of the brand.
380
+ # @param sector [Pinnacle::Brands::Types::UpsertBrandSchemaSector] Industry the brand operates in.
381
+ # @param type [Pinnacle::Brands::Types::UpsertBrandSchemaType] Legal structure of the brand.
382
+ # @param entity_type [Pinnacle::Brands::Types::UpsertBrandSchemaEntityType] Legal entity type of the brand.
409
383
  # @param website [String] Brand website URL.
410
384
  # @param request_options [Pinnacle::RequestOptions]
411
385
  # @return [Pinnacle::Types::ExtendedBrand]
@@ -542,21 +516,22 @@ module Pinnacle
542
516
  # Validate your brand information for compliance and correctness before submission
543
517
  # or storage.
544
518
  #
545
- # @param address [String] Primary brand address where the brand is located.
546
- # @param contact [Hash] Contact information for the primary brand representative.Request of type Pinnacle::Brands::Types::BrandContact, as a Hash
519
+ # @param request [Hash] Request of type Pinnacle::Types::OptionalBrandInfo, as a Hash
520
+ # * :address (String)
521
+ # * :contact (Hash)
522
+ # * :email (String)
523
+ # * :name (String)
524
+ # * :phone (String)
525
+ # * :title (String)
526
+ # * :dba (String)
527
+ # * :description (String)
528
+ # * :ein (String)
547
529
  # * :email (String)
548
530
  # * :name (String)
549
- # * :phone (String)
550
- # * :title (String)
551
- # @param dba [String] "Doing Business As" name - the public name the brand operates under.
552
- # @param description [String] Brief description of what the brand does.
553
- # @param ein [String] Employer Identification Number (EIN) assigned by the IRS.
554
- # @param email [String] Main contact email address for the brand.
555
- # @param name [String] Legal name of the brand as registered.
556
- # @param sector [Pinnacle::Types::CompanySectorEnum]
557
- # @param type [Pinnacle::Types::CompanyTypeEnum]
558
- # @param entity_type [Pinnacle::Types::CompanyEntityTypeEnum] Legal entity type of the brand.
559
- # @param website [String] Brand website URL.
531
+ # * :sector (Pinnacle::Types::CompanySectorEnum)
532
+ # * :type (Pinnacle::Types::CompanyTypeEnum)
533
+ # * :entity_type (Pinnacle::Types::CompanyEntityTypeEnum)
534
+ # * :website (String)
560
535
  # @param request_options [Pinnacle::RequestOptions]
561
536
  # @return [Pinnacle::Types::ValidationResults]
562
537
  # @example
@@ -565,21 +540,8 @@ module Pinnacle
565
540
  # environment: Pinnacle::Environment::DEFAULT,
566
541
  # api_key: "YOUR_API_KEY"
567
542
  # )
568
- # api.brands.validate(
569
- # address: "500 Folsom St, San Francisco, CA 94105",
570
- # contact: { email: "michael.chen@trypinnacle.app", name: "Michael Chen", phone: "+14155551234", title: "Customer Support Representative" },
571
- # dba: "Pinnacle Messaging",
572
- # description: "Pinnacle is an SMS, MMS, and RCS API for scaling conversations with customers you value.",
573
- # ein: "88-1234567",
574
- # email: "founders@trypinnacle.app",
575
- # name: "Pinnacle",
576
- # sector: TECHNOLOGY,
577
- # type: PRIVATE_PROFIT,
578
- # entity_type: LLC,
579
- # website: "https://www.pinnacle.sh"
580
- # )
581
- def validate(address:, contact:, description:, email:, name:, sector:, type:, entity_type:, website:, dba: nil,
582
- ein: nil, request_options: nil)
543
+ # api.brands.validate(request: { })
544
+ def validate(request:, request_options: nil)
583
545
  Async do
584
546
  response = @request_client.conn.post do |req|
585
547
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -592,20 +554,7 @@ module Pinnacle
592
554
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
593
555
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
594
556
  end
595
- req.body = {
596
- **(request_options&.additional_body_parameters || {}),
597
- address: address,
598
- contact: contact,
599
- dba: dba,
600
- description: description,
601
- ein: ein,
602
- email: email,
603
- name: name,
604
- sector: sector,
605
- type: type,
606
- entityType: entity_type,
607
- website: website
608
- }.compact
557
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
609
558
  req.url "#{@request_client.get_url(request_options: request_options)}/brands/validate"
610
559
  end
611
560
  Pinnacle::Types::ValidationResults.from_json(json_object: response.body)
@@ -6,15 +6,15 @@ require "json"
6
6
  module Pinnacle
7
7
  module Brands
8
8
  module Types
9
- # Contact information for the primary brand representative.
10
- class BrandContact
9
+ # Contact information for the brand.
10
+ class UpsertBrandSchemaContact
11
11
  # @return [String] Email address of the contact person.
12
12
  attr_reader :email
13
13
  # @return [String] Full name of the contact person.
14
14
  attr_reader :name
15
15
  # @return [String] Phone number of the contact person in E.164 format.
16
16
  attr_reader :phone
17
- # @return [String] Job title or position of the contact person.
17
+ # @return [String] Job title of the contact person.
18
18
  attr_reader :title
19
19
  # @return [OpenStruct] Additional properties unmapped to the current class definition
20
20
  attr_reader :additional_properties
@@ -27,22 +27,24 @@ module Pinnacle
27
27
  # @param email [String] Email address of the contact person.
28
28
  # @param name [String] Full name of the contact person.
29
29
  # @param phone [String] Phone number of the contact person in E.164 format.
30
- # @param title [String] Job title or position of the contact person.
30
+ # @param title [String] Job title of the contact person.
31
31
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
32
- # @return [Pinnacle::Brands::Types::BrandContact]
33
- def initialize(email:, name:, phone:, title:, additional_properties: nil)
34
- @email = email
35
- @name = name
36
- @phone = phone
37
- @title = title
32
+ # @return [Pinnacle::Brands::Types::UpsertBrandSchemaContact]
33
+ def initialize(email: OMIT, name: OMIT, phone: OMIT, title: OMIT, additional_properties: nil)
34
+ @email = email if email != OMIT
35
+ @name = name if name != OMIT
36
+ @phone = phone if phone != OMIT
37
+ @title = title if title != OMIT
38
38
  @additional_properties = additional_properties
39
- @_field_set = { "email": email, "name": name, "phone": phone, "title": title }
39
+ @_field_set = { "email": email, "name": name, "phone": phone, "title": title }.reject do |_k, v|
40
+ v == OMIT
41
+ end
40
42
  end
41
43
 
42
- # Deserialize a JSON object to an instance of BrandContact
44
+ # Deserialize a JSON object to an instance of UpsertBrandSchemaContact
43
45
  #
44
46
  # @param json_object [String]
45
- # @return [Pinnacle::Brands::Types::BrandContact]
47
+ # @return [Pinnacle::Brands::Types::UpsertBrandSchemaContact]
46
48
  def self.from_json(json_object:)
47
49
  struct = JSON.parse(json_object, object_class: OpenStruct)
48
50
  parsed_json = JSON.parse(json_object)
@@ -59,7 +61,7 @@ module Pinnacle
59
61
  )
60
62
  end
61
63
 
62
- # Serialize an instance of BrandContact to a JSON object
64
+ # Serialize an instance of UpsertBrandSchemaContact to a JSON object
63
65
  #
64
66
  # @return [String]
65
67
  def to_json(*_args)
@@ -73,10 +75,10 @@ module Pinnacle
73
75
  # @param obj [Object]
74
76
  # @return [Void]
75
77
  def self.validate_raw(obj:)
76
- obj.email.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
77
- obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
78
- obj.phone.is_a?(String) != false || raise("Passed value for field obj.phone is not the expected type, validation failed.")
79
- obj.title.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
78
+ obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
79
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
80
+ obj.phone&.is_a?(String) != false || raise("Passed value for field obj.phone is not the expected type, validation failed.")
81
+ obj.title&.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
80
82
  end
81
83
  end
82
84
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Brands
5
+ module Types
6
+ # Legal entity type of the brand.
7
+ class UpsertBrandSchemaEntityType
8
+ LLC = "LLC"
9
+ SOLE_PROPRIETORSHIP = "SOLE_PROPRIETORSHIP"
10
+ PARTNERSHIP = "PARTNERSHIP"
11
+ CORP = "CORP"
12
+ S_CORP = "S_CORP"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Brands
5
+ module Types
6
+ # Industry the brand operates in.
7
+ class UpsertBrandSchemaSector
8
+ AGRICULTURE = "AGRICULTURE"
9
+ COMMUNICATION = "COMMUNICATION"
10
+ CONSTRUCTION = "CONSTRUCTION"
11
+ EDUCATION = "EDUCATION"
12
+ ENERGY = "ENERGY"
13
+ ENTERTAINMENT = "ENTERTAINMENT"
14
+ FINANCIAL = "FINANCIAL"
15
+ GAMBLING = "GAMBLING"
16
+ GOVERNMENT = "GOVERNMENT"
17
+ HEALTHCARE = "HEALTHCARE"
18
+ HOSPITALITY = "HOSPITALITY"
19
+ INSURANCE = "INSURANCE"
20
+ MANUFACTURING = "MANUFACTURING"
21
+ NGO = "NGO"
22
+ REAL_ESTATE = "REAL_ESTATE"
23
+ RETAIL = "RETAIL"
24
+ TECHNOLOGY = "TECHNOLOGY"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Brands
5
+ module Types
6
+ # Legal structure of the brand.
7
+ class UpsertBrandSchemaType
8
+ GOVERNMENT = "GOVERNMENT"
9
+ NON_PROFIT = "NON_PROFIT"
10
+ PRIVATE_PROFIT = "PRIVATE_PROFIT"
11
+ PUBLIC_PROFIT = "PUBLIC_PROFIT"
12
+ SOLE_PROPRIETOR = "SOLE_PROPRIETOR"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -156,7 +156,8 @@ module Pinnacle
156
156
  # * :embedded_link (String)
157
157
  # * :embedded_phone (Boolean)
158
158
  # * :number_pooling (Boolean)
159
- # @param sample_messages [Array<String>] Example messages for the campaign.
159
+ # @param sample_messages [Array<String>] Example messages for the campaign. <br><br>
160
+ # **Limit:** 1 to 5
160
161
  # @param use_case [Hash] Use case for the campaign.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignUseCase, as a Hash
161
162
  # * :sub (Array<Pinnacle::Types::SubUseCaseEnum>)
162
163
  # * :value (Pinnacle::Types::DlcCampaignUseCaseEnum)
@@ -393,7 +394,8 @@ module Pinnacle
393
394
  # * :embedded_link (String)
394
395
  # * :embedded_phone (Boolean)
395
396
  # * :number_pooling (Boolean)
396
- # @param sample_messages [Array<String>] Example messages for the campaign.
397
+ # @param sample_messages [Array<String>] Example messages for the campaign. <br><br>
398
+ # **Limit:** 1 to 5
397
399
  # @param use_case [Hash] Use case for the campaign.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignUseCase, as a Hash
398
400
  # * :sub (Array<Pinnacle::Types::SubUseCaseEnum>)
399
401
  # * :value (Pinnacle::Types::DlcCampaignUseCaseEnum)
@@ -139,7 +139,8 @@ module Pinnacle
139
139
  # * :websites (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>)
140
140
  # @param brand [String] Unique identifier for the brand.
141
141
  # @param campaign_id [String] Unique identifier for the campaign.
142
- # @param expected_agent_responses [Array<String>] List of what the agent might say to users (1-5 required).
142
+ # @param expected_agent_responses [Array<String>] List of what the agent might say to users. <br><br>
143
+ # **Limit:** 1 to 5
143
144
  # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::RcsLinks, as a Hash
144
145
  # * :privacy_policy (String)
145
146
  # * :terms_of_service (String)
@@ -412,7 +413,8 @@ module Pinnacle
412
413
  # * :websites (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>)
413
414
  # @param brand [String] Unique identifier for the brand.
414
415
  # @param campaign_id [String] Unique identifier for the campaign.
415
- # @param expected_agent_responses [Array<String>] List of what the agent might say to users (1-5 required).
416
+ # @param expected_agent_responses [Array<String>] List of what the agent might say to users. <br><br>
417
+ # **Limit:** 1 to 5
416
418
  # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::RcsLinks, as a Hash
417
419
  # * :privacy_policy (String)
418
420
  # * :terms_of_service (String)
@@ -19,7 +19,8 @@ module Pinnacle
19
19
  # Be clear, concise, user-focused, and highlight what the agent does and the
20
20
  # benefits it provides for the user.
21
21
  attr_reader :description
22
- # @return [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>] List of emails (1-3 required).
22
+ # @return [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>] List of emails. <br><br>
23
+ # **Limit:** 1 to 3
23
24
  attr_reader :emails
24
25
  # @return [String] Link to the agent's hero. Hero must be an image file with dimensions 1440x448px.
25
26
  attr_reader :hero_url
@@ -28,9 +29,11 @@ module Pinnacle
28
29
  # @return [String] Name of the agent. <br>
29
30
  # Recommended format: [Brand Name] - [1-2 word description of purpose]
30
31
  attr_reader :name
31
- # @return [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>] List of phone numbers (1-3 required).
32
+ # @return [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>] List of phone numbers. <br><br>
33
+ # **Limit:** 1 to 3
32
34
  attr_reader :phones
33
- # @return [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>] List of urls (1-3 required).
35
+ # @return [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>] List of urls. <br><br>
36
+ # **Limit:** 1 to 3
34
37
  attr_reader :websites
35
38
  # @return [OpenStruct] Additional properties unmapped to the current class definition
36
39
  attr_reader :additional_properties
@@ -45,13 +48,16 @@ module Pinnacle
45
48
  # @param description [String] Description of the agent. <br>
46
49
  # Be clear, concise, user-focused, and highlight what the agent does and the
47
50
  # benefits it provides for the user.
48
- # @param emails [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>] List of emails (1-3 required).
51
+ # @param emails [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>] List of emails. <br><br>
52
+ # **Limit:** 1 to 3
49
53
  # @param hero_url [String] Link to the agent's hero. Hero must be an image file with dimensions 1440x448px.
50
54
  # @param icon_url [String] Link to the agent's icon. Icon must be an image file with dimensions 224x224px.
51
55
  # @param name [String] Name of the agent. <br>
52
56
  # Recommended format: [Brand Name] - [1-2 word description of purpose]
53
- # @param phones [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>] List of phone numbers (1-3 required).
54
- # @param websites [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>] List of urls (1-3 required).
57
+ # @param phones [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>] List of phone numbers. <br><br>
58
+ # **Limit:** 1 to 3
59
+ # @param websites [Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>] List of urls. <br><br>
60
+ # **Limit:** 1 to 3
55
61
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
56
62
  # @return [Pinnacle::Campaigns::Rcs::Types::RcsAgent]
57
63
  def initialize(color: OMIT, description: OMIT, emails: OMIT, hero_url: OMIT, icon_url: OMIT, name: OMIT,
@@ -38,6 +38,7 @@ module Pinnacle
38
38
  # @param senders [Array<String>] Array of phone numbers to send from in E.164 format. <br>
39
39
  # Messages will be distributed evenly across these senders.
40
40
  # > **Note:** Sandbox numbers cannot be used for blasts.
41
+ # **Limit:** 1 min
41
42
  # @param message [Hash] Request of type Pinnacle::Types::SmsContent, as a Hash
42
43
  # * :text (String)
43
44
  # @param options [Hash] Additional settings to customize SMS blast delivery.Request of type Pinnacle::Messages::Blast::Types::BlastSmsOptions, as a Hash
@@ -97,6 +98,7 @@ module Pinnacle
97
98
  # @param senders [Array<String>] Array of phone numbers to send from in E.164 format. <br>
98
99
  # Messages will be distributed evenly across these senders.
99
100
  # > **Note:** Sandbox numbers cannot be used for blasts.
101
+ # **Limit:** 1 min
100
102
  # @param message [Hash] Request of type Pinnacle::Types::MmsContent, as a Hash
101
103
  # * :media_urls (Array<String>)
102
104
  # * :text (String)
@@ -161,6 +163,7 @@ module Pinnacle
161
163
  # @param senders [Array<String>] Array of RCS agent IDs to send from. Each must be prefixed with `agent_`. <br>
162
164
  # Messages will be evenly distributed across these agents.
163
165
  # > **Note:** Test agents cannot be used for blasts.
166
+ # **Limit:** 1 min
164
167
  # @param message [Pinnacle::Types::RichText, Pinnacle::Types::RcsValidateContentMedia, Pinnacle::Types::RichCards]
165
168
  # @param options [Hash] Configure how your RCS blast is sent and tracked.Request of type Pinnacle::Messages::Blast::Types::BlastRcsOptions, as a Hash
166
169
  # * :transcode (Boolean)
@@ -236,6 +239,7 @@ module Pinnacle
236
239
  # @param senders [Array<String>] Array of phone numbers to send from in E.164 format. <br>
237
240
  # Messages will be distributed evenly across these senders.
238
241
  # > **Note:** Sandbox numbers cannot be used for blasts.
242
+ # **Limit:** 1 min
239
243
  # @param message [Hash] Request of type Pinnacle::Types::SmsContent, as a Hash
240
244
  # * :text (String)
241
245
  # @param options [Hash] Additional settings to customize SMS blast delivery.Request of type Pinnacle::Messages::Blast::Types::BlastSmsOptions, as a Hash
@@ -297,6 +301,7 @@ module Pinnacle
297
301
  # @param senders [Array<String>] Array of phone numbers to send from in E.164 format. <br>
298
302
  # Messages will be distributed evenly across these senders.
299
303
  # > **Note:** Sandbox numbers cannot be used for blasts.
304
+ # **Limit:** 1 min
300
305
  # @param message [Hash] Request of type Pinnacle::Types::MmsContent, as a Hash
301
306
  # * :media_urls (Array<String>)
302
307
  # * :text (String)
@@ -363,6 +368,7 @@ module Pinnacle
363
368
  # @param senders [Array<String>] Array of RCS agent IDs to send from. Each must be prefixed with `agent_`. <br>
364
369
  # Messages will be evenly distributed across these agents.
365
370
  # > **Note:** Test agents cannot be used for blasts.
371
+ # **Limit:** 1 min
366
372
  # @param message [Pinnacle::Types::RichText, Pinnacle::Types::RcsValidateContentMedia, Pinnacle::Types::RichCards]
367
373
  # @param options [Hash] Configure how your RCS blast is sent and tracked.Request of type Pinnacle::Messages::Blast::Types::BlastRcsOptions, as a Hash
368
374
  # * :transcode (Boolean)
@@ -108,7 +108,7 @@ module Pinnacle
108
108
  to: to,
109
109
  options: options
110
110
  }.compact
111
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/typing"
111
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/typing"
112
112
  end
113
113
  Pinnacle::Types::SendTypingIndicatorResponse.from_json(json_object: response.body)
114
114
  end
@@ -244,7 +244,7 @@ module Pinnacle
244
244
  to: to,
245
245
  options: options
246
246
  }.compact
247
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/typing"
247
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/typing"
248
248
  end
249
249
  Pinnacle::Types::SendTypingIndicatorResponse.from_json(json_object: response.body)
250
250
  end
@@ -21,7 +21,8 @@ module Pinnacle
21
21
  # Link a phone number to a specific campaign. Phone numbers must be linked to a
22
22
  # campaign to send messages.
23
23
  #
24
- # @param phones [Array<String>] List of phone number (E.164 format).
24
+ # @param phones [Array<String>] List of phone number (E.164 format). <br><br>
25
+ # **Limit:** 1 to 10
25
26
  # @param campaign_type [Pinnacle::Types::MessagingProfileEnum]
26
27
  # @param campaign_id [String] Unique identifier for the campaign. <br>
27
28
  # - **TOLL_FREE** campaigns:
@@ -68,7 +69,8 @@ module Pinnacle
68
69
 
69
70
  # Remove the association between a phone number and its attached campaign.
70
71
  #
71
- # @param phones [Array<String>] List of phone numbers (E.164 format).
72
+ # @param phones [Array<String>] List of phone numbers (E.164 format). <br><br>
73
+ # **Limit:** 1 to 10
72
74
  # @param request_options [Pinnacle::RequestOptions]
73
75
  # @return [Pinnacle::Types::DetachedPhoneNumberResult]
74
76
  # @example
@@ -110,7 +112,8 @@ module Pinnacle
110
112
  # Link a phone number to a specific campaign. Phone numbers must be linked to a
111
113
  # campaign to send messages.
112
114
  #
113
- # @param phones [Array<String>] List of phone number (E.164 format).
115
+ # @param phones [Array<String>] List of phone number (E.164 format). <br><br>
116
+ # **Limit:** 1 to 10
114
117
  # @param campaign_type [Pinnacle::Types::MessagingProfileEnum]
115
118
  # @param campaign_id [String] Unique identifier for the campaign. <br>
116
119
  # - **TOLL_FREE** campaigns:
@@ -159,7 +162,8 @@ module Pinnacle
159
162
 
160
163
  # Remove the association between a phone number and its attached campaign.
161
164
  #
162
- # @param phones [Array<String>] List of phone numbers (E.164 format).
165
+ # @param phones [Array<String>] List of phone numbers (E.164 format). <br><br>
166
+ # **Limit:** 1 to 10
163
167
  # @param request_options [Pinnacle::RequestOptions]
164
168
  # @return [Pinnacle::Types::DetachedPhoneNumberResult]
165
169
  # @example
@@ -23,7 +23,8 @@ module Pinnacle
23
23
  # supported
24
24
  # on specific phone numbers before sending RCS messages to them.
25
25
  #
26
- # @param phone_numbers [Array<String>] List of phone numbers to check RCS capabilities for (E.164 format)
26
+ # @param phone_numbers [Array<String>] List of phone numbers to check RCS capabilities for (E.164 format). <br><br>
27
+ # **Limit:** 1 min
27
28
  # @param request_options [Pinnacle::RequestOptions]
28
29
  # @return [Pinnacle::Types::RCS_CAPABILITIES_RESULT]
29
30
  # @example
@@ -180,7 +181,8 @@ module Pinnacle
180
181
  # supported
181
182
  # on specific phone numbers before sending RCS messages to them.
182
183
  #
183
- # @param phone_numbers [Array<String>] List of phone numbers to check RCS capabilities for (E.164 format)
184
+ # @param phone_numbers [Array<String>] List of phone numbers to check RCS capabilities for (E.164 format). <br><br>
185
+ # **Limit:** 1 min
184
186
  # @param request_options [Pinnacle::RequestOptions]
185
187
  # @return [Pinnacle::Types::RCS_CAPABILITIES_RESULT]
186
188
  # @example
@@ -19,9 +19,11 @@ module Pinnacle
19
19
  # To get the message details, use the [GET
20
20
  # /messages/{id}](/api-reference/messages/get) endpoint.
21
21
  attr_reader :id
22
- # @return [Array<Pinnacle::Types::MessageEventRcsCardsContentCardsItem>] Collection of cards attached to the message.
22
+ # @return [Array<Pinnacle::Types::MessageEventRcsCardsContentCardsItem>] Collection of cards attached to the message. <br><br>
23
+ # **Limit:** 1 to 10
23
24
  attr_reader :cards
24
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
25
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
26
+ # **Limit:** 10 max
25
27
  attr_reader :quick_replies
26
28
  # @return [OpenStruct] Additional properties unmapped to the current class definition
27
29
  attr_reader :additional_properties
@@ -36,8 +38,10 @@ module Pinnacle
36
38
  # with the prefix `msg_`, for example: `msg_1234567890`. <br><br>
37
39
  # To get the message details, use the [GET
38
40
  # /messages/{id}](/api-reference/messages/get) endpoint.
39
- # @param cards [Array<Pinnacle::Types::MessageEventRcsCardsContentCardsItem>] Collection of cards attached to the message.
40
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
41
+ # @param cards [Array<Pinnacle::Types::MessageEventRcsCardsContentCardsItem>] Collection of cards attached to the message. <br><br>
42
+ # **Limit:** 1 to 10
43
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
44
+ # **Limit:** 10 max
41
45
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
42
46
  # @return [Pinnacle::Types::MessageEventRcsCardsContent]
43
47
  def initialize(type:, id:, cards:, quick_replies:, additional_properties: nil)
@@ -9,7 +9,8 @@ module Pinnacle
9
9
  module Types
10
10
  # Individual card containing title, optional media, and action buttons.
11
11
  class MessageEventRcsCardsContentCardsItem
12
- # @return [Array<Pinnacle::Types::RichButton>] Action buttons attached to the card.
12
+ # @return [Array<Pinnacle::Types::RichButton>] Action buttons attached to the card. <br><br>
13
+ # **Limit:** 4 max
13
14
  attr_reader :buttons
14
15
  # @return [Pinnacle::Types::RcsMediaDetailsContent]
15
16
  attr_reader :media
@@ -25,7 +26,8 @@ module Pinnacle
25
26
 
26
27
  OMIT = Object.new
27
28
 
28
- # @param buttons [Array<Pinnacle::Types::RichButton>] Action buttons attached to the card.
29
+ # @param buttons [Array<Pinnacle::Types::RichButton>] Action buttons attached to the card. <br><br>
30
+ # **Limit:** 4 max
29
31
  # @param media [Pinnacle::Types::RcsMediaDetailsContent]
30
32
  # @param subtitle [String] Secondary text displayed below the title for additional context.
31
33
  # @param title [String] Title displayed on the card.
@@ -19,7 +19,8 @@ module Pinnacle
19
19
  attr_reader :id
20
20
  # @return [String] URL of the media file.
21
21
  attr_reader :media
22
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
22
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
23
+ # **Limit:** 10 max
23
24
  attr_reader :quick_replies
24
25
  # @return [OpenStruct] Additional properties unmapped to the current class definition
25
26
  attr_reader :additional_properties
@@ -35,7 +36,8 @@ module Pinnacle
35
36
  # To get the message details, use the [GET
36
37
  # /messages/{id}](/api-reference/messages/get) endpoint.
37
38
  # @param media [String] URL of the media file.
38
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
39
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
40
+ # **Limit:** 10 max
39
41
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
40
42
  # @return [Pinnacle::Types::MessageEventRcsMediaContent]
41
43
  def initialize(type:, id:, media:, quick_replies:, additional_properties: nil)
@@ -15,7 +15,8 @@ module Pinnacle
15
15
  # To get the message details, use the [GET
16
16
  # /messages/{id}](/api-reference/messages/get) endpoint.
17
17
  attr_reader :id
18
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
18
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
19
+ # **Limit:** 10 max
19
20
  attr_reader :quick_replies
20
21
  # @return [String] Text content of the RCS message.
21
22
  attr_reader :text
@@ -32,7 +33,8 @@ module Pinnacle
32
33
  # with the prefix `msg_`, for example: `msg_1234567890`. <br><br>
33
34
  # To get the message details, use the [GET
34
35
  # /messages/{id}](/api-reference/messages/get) endpoint.
35
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
36
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
37
+ # **Limit:** 10 max
36
38
  # @param text [String] Text content of the RCS message.
37
39
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
38
40
  # @return [Pinnacle::Types::MessageEventRcsTextContent]
@@ -12,9 +12,11 @@ module Pinnacle
12
12
  # See (supported file
13
13
  # types)[https://app.pinnacle.sh/supported-file-types?type=RCS-CARD].
14
14
  class RcsCardsContent
15
- # @return [Array<Pinnacle::Types::RcsCardsContentCardsItem>] Collection of cards attached to the message.
15
+ # @return [Array<Pinnacle::Types::RcsCardsContentCardsItem>] Collection of cards attached to the message. <br><br>
16
+ # **Limit:** 1 to 10
16
17
  attr_reader :cards
17
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
18
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
19
+ # **Limit:** 10 max
18
20
  attr_reader :quick_replies
19
21
  # @return [OpenStruct] Additional properties unmapped to the current class definition
20
22
  attr_reader :additional_properties
@@ -24,8 +26,10 @@ module Pinnacle
24
26
 
25
27
  OMIT = Object.new
26
28
 
27
- # @param cards [Array<Pinnacle::Types::RcsCardsContentCardsItem>] Collection of cards attached to the message.
28
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
29
+ # @param cards [Array<Pinnacle::Types::RcsCardsContentCardsItem>] Collection of cards attached to the message. <br><br>
30
+ # **Limit:** 1 to 10
31
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
32
+ # **Limit:** 10 max
29
33
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
34
  # @return [Pinnacle::Types::RcsCardsContent]
31
35
  def initialize(cards:, quick_replies:, additional_properties: nil)
@@ -10,7 +10,8 @@ module Pinnacle
10
10
  # Individual card containing title, optional media, and action buttons.
11
11
  class RcsCardsContentCardsItem
12
12
  # @return [Array<Pinnacle::Types::RichButton>] While buttons resemble quick replies, they remain on screen after being clicked
13
- # and are card-specific.
13
+ # and are card-specific. <br><br>
14
+ # **Limit:** 4 max
14
15
  attr_reader :buttons
15
16
  # @return [Pinnacle::Types::RcsMediaDetailsContent]
16
17
  attr_reader :media
@@ -27,7 +28,8 @@ module Pinnacle
27
28
  OMIT = Object.new
28
29
 
29
30
  # @param buttons [Array<Pinnacle::Types::RichButton>] While buttons resemble quick replies, they remain on screen after being clicked
30
- # and are card-specific.
31
+ # and are card-specific. <br><br>
32
+ # **Limit:** 4 max
31
33
  # @param media [Pinnacle::Types::RcsMediaDetailsContent]
32
34
  # @param subtitle [String] Secondary text displayed below the title for additional context.
33
35
  # @param title [String] Title displayed on the card.
@@ -14,7 +14,8 @@ module Pinnacle
14
14
  class RcsMediaContent
15
15
  # @return [Pinnacle::Types::RcsMediaDetailsContent]
16
16
  attr_reader :media
17
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
17
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
18
+ # **Limit:** 10 max
18
19
  attr_reader :quick_replies
19
20
  # @return [OpenStruct] Additional properties unmapped to the current class definition
20
21
  attr_reader :additional_properties
@@ -25,7 +26,8 @@ module Pinnacle
25
26
  OMIT = Object.new
26
27
 
27
28
  # @param media [Pinnacle::Types::RcsMediaDetailsContent]
28
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
29
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
30
+ # **Limit:** 10 max
29
31
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
32
  # @return [Pinnacle::Types::RcsMediaContent]
31
33
  def initialize(media:, quick_replies:, additional_properties: nil)
@@ -9,7 +9,8 @@ module Pinnacle
9
9
  # Individual card containing title, optional media, and action buttons.
10
10
  class RichCard
11
11
  # @return [Array<Pinnacle::Types::RichButton>] While buttons resemble quick replies, they remain on screen after being clicked
12
- # and are card-specific.
12
+ # and are card-specific. <br><br>
13
+ # **Limit:** 4 max
13
14
  attr_reader :buttons
14
15
  # @return [String] Media file URLs to send.
15
16
  attr_reader :media
@@ -26,7 +27,8 @@ module Pinnacle
26
27
  OMIT = Object.new
27
28
 
28
29
  # @param buttons [Array<Pinnacle::Types::RichButton>] While buttons resemble quick replies, they remain on screen after being clicked
29
- # and are card-specific.
30
+ # and are card-specific. <br><br>
31
+ # **Limit:** 4 max
30
32
  # @param media [String] Media file URLs to send.
31
33
  # @param subtitle [String] Secondary text displayed below the title for additional context.
32
34
  # @param title [String] Title displayed on the card.
@@ -12,9 +12,11 @@ module Pinnacle
12
12
  # See (supported file
13
13
  # types)[https://app.pinnacle.sh/supported-file-types?type=RCS-CARD].
14
14
  class RichCards
15
- # @return [Array<Pinnacle::Types::RichCard>] Collection of cards attached to the message.
15
+ # @return [Array<Pinnacle::Types::RichCard>] Collection of cards attached to the message. <br><br>
16
+ # **Limit:** 1 to 10
16
17
  attr_reader :cards
17
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
18
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
19
+ # **Limit:** 10 max
18
20
  attr_reader :quick_replies
19
21
  # @return [OpenStruct] Additional properties unmapped to the current class definition
20
22
  attr_reader :additional_properties
@@ -24,8 +26,10 @@ module Pinnacle
24
26
 
25
27
  OMIT = Object.new
26
28
 
27
- # @param cards [Array<Pinnacle::Types::RichCard>] Collection of cards attached to the message.
28
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
29
+ # @param cards [Array<Pinnacle::Types::RichCard>] Collection of cards attached to the message. <br><br>
30
+ # **Limit:** 1 to 10
31
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
32
+ # **Limit:** 10 max
29
33
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
34
  # @return [Pinnacle::Types::RichCards]
31
35
  def initialize(cards:, quick_replies:, additional_properties: nil)
@@ -15,9 +15,11 @@ module Pinnacle
15
15
  attr_reader :from
16
16
  # @return [String] Recipient's phone number in E.164 format.
17
17
  attr_reader :to
18
- # @return [Array<Pinnacle::Types::RichCard>] Collection of cards attached to the message.
18
+ # @return [Array<Pinnacle::Types::RichCard>] Collection of cards attached to the message. <br><br>
19
+ # **Limit:** 1 to 10
19
20
  attr_reader :cards
20
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
21
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
22
+ # **Limit:** 10 max
21
23
  attr_reader :quick_replies
22
24
  # @return [OpenStruct] Additional properties unmapped to the current class definition
23
25
  attr_reader :additional_properties
@@ -30,8 +32,10 @@ module Pinnacle
30
32
  # @param options [Pinnacle::Types::SendRichCardsOptions]
31
33
  # @param from [String] Your RCS agent ID which must be prefixed with 'agent_'.
32
34
  # @param to [String] Recipient's phone number in E.164 format.
33
- # @param cards [Array<Pinnacle::Types::RichCard>] Collection of cards attached to the message.
34
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
35
+ # @param cards [Array<Pinnacle::Types::RichCard>] Collection of cards attached to the message. <br><br>
36
+ # **Limit:** 1 to 10
37
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
38
+ # **Limit:** 10 max
35
39
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
36
40
  # @return [Pinnacle::Types::RichCardsMessage]
37
41
  def initialize(from:, to:, cards:, quick_replies:, options: OMIT, additional_properties: nil)
@@ -12,7 +12,8 @@ module Pinnacle
12
12
  # See [supported media
13
13
  # types](https://app.pinnacle.sh/supported-file-types?type=RCS-MEDIA).
14
14
  attr_reader :media
15
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
15
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br>
16
+ # `≤10`
16
17
  attr_reader :quick_replies
17
18
  # @return [String] Your RCS agent ID which must be prefixed with 'agent_'.
18
19
  attr_reader :from
@@ -31,7 +32,8 @@ module Pinnacle
31
32
  # @param media [String] Media file URLs to send. <br>
32
33
  # See [supported media
33
34
  # types](https://app.pinnacle.sh/supported-file-types?type=RCS-MEDIA).
34
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
35
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br>
36
+ # `≤10`
35
37
  # @param from [String] Your RCS agent ID which must be prefixed with 'agent_'.
36
38
  # @param options [Pinnacle::Types::SendRichMessageOptions] Configure how your RCS message is sent and tracked.
37
39
  # @param to [String] Recipient's phone number in E.164 format.
@@ -8,7 +8,8 @@ module Pinnacle
8
8
  module Types
9
9
  # Message containing longer text content with optional quick reply buttons.
10
10
  class RichText
11
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
11
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
12
+ # **Limit:** 10 max
12
13
  attr_reader :quick_replies
13
14
  # @return [String] Text content of the RCS message.
14
15
  attr_reader :text
@@ -20,7 +21,8 @@ module Pinnacle
20
21
 
21
22
  OMIT = Object.new
22
23
 
23
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
24
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
25
+ # **Limit:** 10 max
24
26
  # @param text [String] Text content of the RCS message.
25
27
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
28
  # @return [Pinnacle::Types::RichText]
@@ -14,7 +14,8 @@ module Pinnacle
14
14
  attr_reader :options
15
15
  # @return [String] Recipient's phone number in E.164 format.
16
16
  attr_reader :to
17
- # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
17
+ # @return [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
18
+ # **Limit:** 10 max
18
19
  attr_reader :quick_replies
19
20
  # @return [String] Text content of the RCS message.
20
21
  attr_reader :text
@@ -29,7 +30,8 @@ module Pinnacle
29
30
  # @param from [String] Your RCS agent ID which must be prefixed with 'agent_'.
30
31
  # @param options [Pinnacle::Types::SendRichMessageOptions] Configure how your RCS message is sent and tracked.
31
32
  # @param to [String] Recipient's phone number in E.164 format.
32
- # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message.
33
+ # @param quick_replies [Array<Pinnacle::Types::RichButton>] List of interactive quick reply buttons in the message. <br><br>
34
+ # **Limit:** 10 max
33
35
  # @param text [String] Text content of the RCS message.
34
36
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
35
37
  # @return [Pinnacle::Types::RichTextMessage]
@@ -19,6 +19,8 @@ module Pinnacle
19
19
  # phone numbers.
20
20
  #
21
21
  # @param identifiers [Array<String>] List of URLs or phone numbers in E.164 format that the webhook is attached to.
22
+ # <br><br>
23
+ # **Limit:** 1 min
22
24
  # @param request_options [Pinnacle::RequestOptions]
23
25
  # @return [Pinnacle::Types::WebhookResult]
24
26
  # @example
@@ -61,6 +63,8 @@ module Pinnacle
61
63
  # phone numbers.
62
64
  #
63
65
  # @param identifiers [Array<String>] List of URLs or phone numbers in E.164 format that the webhook is attached to.
66
+ # <br><br>
67
+ # **Limit:** 1 min
64
68
  # @param request_options [Pinnacle::RequestOptions]
65
69
  # @return [Pinnacle::Types::WebhookResult]
66
70
  # @example
data/lib/requests.rb CHANGED
@@ -43,7 +43,7 @@ module Pinnacle
43
43
 
44
44
  # @return [Hash{String => String}]
45
45
  def get_headers
46
- headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "rcs", "X-Fern-SDK-Version": "2.0.3" }
46
+ headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "rcs", "X-Fern-SDK-Version": "2.0.5" }
47
47
  headers["PINNACLE-API-KEY"] = ((@api_key.is_a? Method) ? @api_key.call : @api_key) unless @api_key.nil?
48
48
  headers
49
49
  end
@@ -87,7 +87,7 @@ module Pinnacle
87
87
 
88
88
  # @return [Hash{String => String}]
89
89
  def get_headers
90
- headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "rcs", "X-Fern-SDK-Version": "2.0.3" }
90
+ headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "rcs", "X-Fern-SDK-Version": "2.0.5" }
91
91
  headers["PINNACLE-API-KEY"] = ((@api_key.is_a? Method) ? @api_key.call : @api_key) unless @api_key.nil?
92
92
  headers
93
93
  end
data/lib/types_export.rb CHANGED
@@ -1,7 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "rcs/brands/types/autofill_brand_options"
4
- require_relative "rcs/brands/types/brand_contact"
4
+ require_relative "rcs/brands/types/upsert_brand_schema_contact"
5
+ require_relative "rcs/brands/types/upsert_brand_schema_sector"
6
+ require_relative "rcs/brands/types/upsert_brand_schema_type"
7
+ require_relative "rcs/brands/types/upsert_brand_schema_entity_type"
5
8
  require_relative "rcs/types/audience_with_pagination"
6
9
  require_relative "rcs/types/audience_count_only"
7
10
  require_relative "rcs/audiences/types/audiences_get_response"
@@ -79,7 +82,6 @@ require_relative "rcs/types/company_sector_enum"
79
82
  require_relative "rcs/types/company_type_enum"
80
83
  require_relative "rcs/types/company_entity_type_enum"
81
84
  require_relative "rcs/types/optional_brand_info"
82
- require_relative "rcs/types/upsert_contact"
83
85
  require_relative "rcs/types/brand_status_enum"
84
86
  require_relative "rcs/types/extended_brand"
85
87
  require_relative "rcs/types/vetting_feedback"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rcs
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-12-23 00:00:00.000000000 Z
11
+ date: 2026-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-http-faraday
@@ -104,7 +104,10 @@ files:
104
104
  - lib/rcs/audiences/types/audiences_get_response.rb
105
105
  - lib/rcs/brands/client.rb
106
106
  - lib/rcs/brands/types/autofill_brand_options.rb
107
- - lib/rcs/brands/types/brand_contact.rb
107
+ - lib/rcs/brands/types/upsert_brand_schema_contact.rb
108
+ - lib/rcs/brands/types/upsert_brand_schema_entity_type.rb
109
+ - lib/rcs/brands/types/upsert_brand_schema_sector.rb
110
+ - lib/rcs/brands/types/upsert_brand_schema_type.rb
108
111
  - lib/rcs/campaigns/client.rb
109
112
  - lib/rcs/campaigns/dlc/client.rb
110
113
  - lib/rcs/campaigns/dlc/types/dlc_campaign_help_keywords.rb
@@ -425,7 +428,6 @@ files:
425
428
  - lib/rcs/types/tracking.rb
426
429
  - lib/rcs/types/updated_contact_id.rb
427
430
  - lib/rcs/types/upload_results.rb
428
- - lib/rcs/types/upsert_contact.rb
429
431
  - lib/rcs/types/user_event.rb
430
432
  - lib/rcs/types/user_event_conversation.rb
431
433
  - lib/rcs/types/v_card_address_schema_type_item.rb
@@ -1,84 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "ostruct"
4
- require "json"
5
-
6
- module Pinnacle
7
- module Types
8
- # Contact information for the brand.
9
- class UpsertContact
10
- # @return [String] Email address of the contact person.
11
- attr_reader :email
12
- # @return [String] Full name of the contact person.
13
- attr_reader :name
14
- # @return [String] Phone number of the contact person in E.164 format.
15
- attr_reader :phone
16
- # @return [String] Job title of the contact person.
17
- attr_reader :title
18
- # @return [OpenStruct] Additional properties unmapped to the current class definition
19
- attr_reader :additional_properties
20
- # @return [Object]
21
- attr_reader :_field_set
22
- protected :_field_set
23
-
24
- OMIT = Object.new
25
-
26
- # @param email [String] Email address of the contact person.
27
- # @param name [String] Full name of the contact person.
28
- # @param phone [String] Phone number of the contact person in E.164 format.
29
- # @param title [String] Job title of the contact person.
30
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
31
- # @return [Pinnacle::Types::UpsertContact]
32
- def initialize(email: OMIT, name: OMIT, phone: OMIT, title: OMIT, additional_properties: nil)
33
- @email = email if email != OMIT
34
- @name = name if name != OMIT
35
- @phone = phone if phone != OMIT
36
- @title = title if title != OMIT
37
- @additional_properties = additional_properties
38
- @_field_set = { "email": email, "name": name, "phone": phone, "title": title }.reject do |_k, v|
39
- v == OMIT
40
- end
41
- end
42
-
43
- # Deserialize a JSON object to an instance of UpsertContact
44
- #
45
- # @param json_object [String]
46
- # @return [Pinnacle::Types::UpsertContact]
47
- def self.from_json(json_object:)
48
- struct = JSON.parse(json_object, object_class: OpenStruct)
49
- parsed_json = JSON.parse(json_object)
50
- email = parsed_json["email"]
51
- name = parsed_json["name"]
52
- phone = parsed_json["phone"]
53
- title = parsed_json["title"]
54
- new(
55
- email: email,
56
- name: name,
57
- phone: phone,
58
- title: title,
59
- additional_properties: struct
60
- )
61
- end
62
-
63
- # Serialize an instance of UpsertContact to a JSON object
64
- #
65
- # @return [String]
66
- def to_json(*_args)
67
- @_field_set&.to_json
68
- end
69
-
70
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
71
- # hash and check each fields type against the current object's property
72
- # definitions.
73
- #
74
- # @param obj [Object]
75
- # @return [Void]
76
- def self.validate_raw(obj:)
77
- obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
78
- obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
79
- obj.phone&.is_a?(String) != false || raise("Passed value for field obj.phone is not the expected type, validation failed.")
80
- obj.title&.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
81
- end
82
- end
83
- end
84
- end