rcs 2.0.16.pre.rc.2 → 2.0.16

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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +3 -3
  3. data/.rubocop.yml +16 -10
  4. data/lib/pinnacle/brands/client.rb +3 -3
  5. data/lib/pinnacle/campaigns/dlc/client.rb +2 -2
  6. data/lib/pinnacle/campaigns/rcs/client.rb +2 -2
  7. data/lib/pinnacle/campaigns/toll_free/client.rb +2 -2
  8. data/lib/pinnacle/client.rb +1 -6
  9. data/lib/pinnacle/conversations/client.rb +1 -1
  10. data/lib/pinnacle/internal/http/base_request.rb +0 -14
  11. data/lib/pinnacle/internal/http/raw_client.rb +3 -21
  12. data/lib/pinnacle/internal/json/request.rb +4 -6
  13. data/lib/pinnacle/internal/multipart/multipart_request.rb +4 -6
  14. data/lib/pinnacle/internal/types/boolean.rb +1 -1
  15. data/lib/pinnacle/internal/types/union.rb +1 -1
  16. data/lib/pinnacle/internal/types/utils.rb +2 -2
  17. data/lib/pinnacle/messages/client.rb +6 -1
  18. data/lib/pinnacle/messages/schedule/client.rb +1 -1
  19. data/lib/pinnacle/{forms/submissions → messages/simulate}/client.rb +9 -15
  20. data/lib/pinnacle/rcs/client.rb +1 -1
  21. data/lib/pinnacle/rcs/test/client.rb +3 -3
  22. data/lib/pinnacle/status/get/client.rb +5 -5
  23. data/lib/pinnacle/tools/url/client.rb +2 -2
  24. data/lib/pinnacle/types/simulate_message_input.rb +12 -0
  25. data/lib/pinnacle/types/{form_gradient.rb → simulate_user_button.rb} +3 -3
  26. data/lib/pinnacle/types/simulate_user_message.rb +12 -0
  27. data/lib/pinnacle/types/simulate_user_params.rb +13 -0
  28. data/lib/pinnacle/types/simulate_user_response.rb +10 -0
  29. data/lib/pinnacle/types/user_button_press.rb +19 -0
  30. data/lib/pinnacle/types/user_button_press_call.rb +12 -0
  31. data/lib/pinnacle/types/user_button_press_open_url.rb +12 -0
  32. data/lib/pinnacle/types/user_button_press_request_user_location.rb +12 -0
  33. data/lib/pinnacle/types/user_button_press_request_user_location_location.rb +13 -0
  34. data/lib/pinnacle/types/user_button_press_schedule_event.rb +15 -0
  35. data/lib/pinnacle/types/user_button_press_send_location.rb +13 -0
  36. data/lib/pinnacle/types/user_button_press_send_location_lat_long.rb +11 -0
  37. data/lib/pinnacle/types/user_button_press_trigger.rb +12 -0
  38. data/lib/pinnacle/types/webhook_event_enum.rb +0 -1
  39. data/lib/pinnacle/version.rb +1 -1
  40. data/lib/pinnacle/wrapper/messages/client.rb +2 -5
  41. data/lib/pinnacle.rb +16 -66
  42. data/reference.md +364 -802
  43. metadata +17 -67
  44. data/lib/pinnacle/forms/client.rb +0 -217
  45. data/lib/pinnacle/forms/submissions/types/list_form_submissions_params.rb +0 -15
  46. data/lib/pinnacle/forms/types/forms_send_response.rb +0 -14
  47. data/lib/pinnacle/forms/types/list_forms_params.rb +0 -12
  48. data/lib/pinnacle/forms/types/update_form_params.rb +0 -18
  49. data/lib/pinnacle/types/address_field.rb +0 -14
  50. data/lib/pinnacle/types/checkbox_field.rb +0 -13
  51. data/lib/pinnacle/types/color_field.rb +0 -8
  52. data/lib/pinnacle/types/create_form_request.rb +0 -23
  53. data/lib/pinnacle/types/date_field.rb +0 -12
  54. data/lib/pinnacle/types/datetime_field.rb +0 -12
  55. data/lib/pinnacle/types/email_field.rb +0 -10
  56. data/lib/pinnacle/types/field_base.rb +0 -14
  57. data/lib/pinnacle/types/form.rb +0 -22
  58. data/lib/pinnacle/types/form_background.rb +0 -17
  59. data/lib/pinnacle/types/form_background_gradient.rb +0 -12
  60. data/lib/pinnacle/types/form_background_image.rb +0 -13
  61. data/lib/pinnacle/types/form_background_pattern.rb +0 -10
  62. data/lib/pinnacle/types/form_background_pattern_preset.rb +0 -16
  63. data/lib/pinnacle/types/form_background_solid.rb +0 -34
  64. data/lib/pinnacle/types/form_color_palette.rb +0 -12
  65. data/lib/pinnacle/types/form_definition.rb +0 -15
  66. data/lib/pinnacle/types/form_field.rb +0 -29
  67. data/lib/pinnacle/types/form_field_option.rb +0 -11
  68. data/lib/pinnacle/types/form_gradient_angle.rb +0 -12
  69. data/lib/pinnacle/types/form_id_reference.rb +0 -23
  70. data/lib/pinnacle/types/form_submission.rb +0 -19
  71. data/lib/pinnacle/types/form_submission_answer.rb +0 -20
  72. data/lib/pinnacle/types/form_submission_event.rb +0 -15
  73. data/lib/pinnacle/types/form_submission_event_conversation.rb +0 -20
  74. data/lib/pinnacle/types/form_submission_event_form.rb +0 -12
  75. data/lib/pinnacle/types/form_submission_event_submission.rb +0 -17
  76. data/lib/pinnacle/types/form_submitted_field.rb +0 -13
  77. data/lib/pinnacle/types/form_theme_override.rb +0 -25
  78. data/lib/pinnacle/types/form_theme_override_colors.rb +0 -12
  79. data/lib/pinnacle/types/form_theme_override_content_alignment.rb +0 -13
  80. data/lib/pinnacle/types/form_theme_override_corner_radius.rb +0 -13
  81. data/lib/pinnacle/types/form_theme_override_font_family.rb +0 -15
  82. data/lib/pinnacle/types/form_theme_override_theme_mode.rb +0 -13
  83. data/lib/pinnacle/types/list_form_submissions_response.rb +0 -12
  84. data/lib/pinnacle/types/list_forms_response.rb +0 -12
  85. data/lib/pinnacle/types/number_field.rb +0 -13
  86. data/lib/pinnacle/types/phone_field.rb +0 -11
  87. data/lib/pinnacle/types/radio_field.rb +0 -10
  88. data/lib/pinnacle/types/range_field.rb +0 -12
  89. data/lib/pinnacle/types/rating_field.rb +0 -11
  90. data/lib/pinnacle/types/scheduled_form_send_response_form.rb +0 -10
  91. data/lib/pinnacle/types/scheduled_form_send_response_submission.rb +0 -10
  92. data/lib/pinnacle/types/scheduled_form_send_result.rb +0 -13
  93. data/lib/pinnacle/types/select_field.rb +0 -11
  94. data/lib/pinnacle/types/send_form_options.rb +0 -11
  95. data/lib/pinnacle/types/send_form_options_webview_mode.rb +0 -13
  96. data/lib/pinnacle/types/send_form_params.rb +0 -20
  97. data/lib/pinnacle/types/send_form_result.rb +0 -17
  98. data/lib/pinnacle/types/send_form_via_rcs_params.rb +0 -14
  99. data/lib/pinnacle/types/send_form_via_rcs_request_fallback.rb +0 -10
  100. data/lib/pinnacle/types/send_form_via_rcs_request_form.rb +0 -13
  101. data/lib/pinnacle/types/send_form_via_sms_params.rb +0 -13
  102. data/lib/pinnacle/types/send_form_via_sms_request_form.rb +0 -12
  103. data/lib/pinnacle/types/text_field.rb +0 -13
  104. data/lib/pinnacle/types/textarea_field.rb +0 -13
  105. data/lib/pinnacle/types/time_field.rb +0 -12
  106. data/lib/pinnacle/types/url_field.rb +0 -10
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Simulates when a user presses a `requestUserLocation` button.
6
+ class UserButtonPressRequestUserLocation < Internal::Types::Model
7
+ field :title, -> { String }, optional: false, nullable: false
8
+ field :metadata, -> { String }, optional: true, nullable: false
9
+ field :location, -> { Pinnacle::Types::UserButtonPressRequestUserLocationLocation }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Location the simulated user responded with.
6
+ class UserButtonPressRequestUserLocationLocation < Internal::Types::Model
7
+ field :text, -> { String }, optional: true, nullable: false
8
+ field :latitude, -> { Integer }, optional: true, nullable: false
9
+ field :longitude, -> { Integer }, optional: true, nullable: false
10
+ field :address, -> { String }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Simulates when a user presses a `scheduleEvent` button.
6
+ class UserButtonPressScheduleEvent < Internal::Types::Model
7
+ field :title, -> { String }, optional: false, nullable: false
8
+ field :metadata, -> { String }, optional: true, nullable: false
9
+ field :event_start_time, -> { String }, optional: true, nullable: false, api_name: "eventStartTime"
10
+ field :event_end_time, -> { String }, optional: true, nullable: false, api_name: "eventEndTime"
11
+ field :event_title, -> { String }, optional: true, nullable: false, api_name: "eventTitle"
12
+ field :event_description, -> { String }, optional: true, nullable: false, api_name: "eventDescription"
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Simulates when a user presses a `sendLocation` button.
6
+ class UserButtonPressSendLocation < Internal::Types::Model
7
+ field :title, -> { String }, optional: false, nullable: false
8
+ field :metadata, -> { String }, optional: true, nullable: false
9
+ field :name, -> { String }, optional: true, nullable: false
10
+ field :lat_long, -> { Pinnacle::Types::UserButtonPressSendLocationLatLong }, optional: true, nullable: false, api_name: "latLong"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Shared coordinates.
6
+ class UserButtonPressSendLocationLatLong < Internal::Types::Model
7
+ field :lat, -> { Integer }, optional: true, nullable: false
8
+ field :lng, -> { Integer }, optional: true, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Simulates when a user presses a `trigger` button.
6
+ class UserButtonPressTrigger < Internal::Types::Model
7
+ field :title, -> { String }, optional: false, nullable: false
8
+ field :metadata, -> { String }, optional: true, nullable: false
9
+ field :payload, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
@@ -8,7 +8,6 @@ module Pinnacle
8
8
  MESSAGE_STATUS = "MESSAGE.STATUS"
9
9
  MESSAGE_RECEIVED = "MESSAGE.RECEIVED"
10
10
  USER_TYPING = "USER.TYPING"
11
- FORM_SUBMISSION = "FORM.SUBMISSION"
12
11
  end
13
12
  end
14
13
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pinnacle
4
- VERSION = "2.0.16.pre.rc.2"
4
+ VERSION = "2.0.16"
5
5
  end
@@ -19,7 +19,7 @@ module Pinnacle
19
19
  # @param request [Hash] Request with :headers and :body keys
20
20
  # @param secret [String, nil] Webhook secret (falls back to PINNACLE_SIGNING_SECRET env var)
21
21
  #
22
- # @return [Pinnacle::Types::MessageEvent, Pinnacle::Types::UserEvent, Pinnacle::Types::FormSubmissionEvent]
22
+ # @return [Pinnacle::Types::MessageEvent, Pinnacle::Types::UserEvent]
23
23
  # @raise [Pinnacle::Errors::UnauthorizedError] If webhook signature is invalid or missing
24
24
  # @raise [Pinnacle::Errors::ClientError] If request body cannot be parsed
25
25
  def process(request, secret: nil)
@@ -55,11 +55,8 @@ module Pinnacle
55
55
 
56
56
  parsed = body.is_a?(String) ? JSON.parse(body) : body
57
57
 
58
- case parsed["type"]
59
- when "USER.TYPING"
58
+ if parsed["type"] == "USER.TYPING"
60
59
  Pinnacle::Types::UserEvent.coerce(parsed)
61
- when "FORM.SUBMISSION"
62
- Pinnacle::Types::FormSubmissionEvent.coerce(parsed)
63
60
  else
64
61
  Pinnacle::Types::MessageEvent.coerce(parsed)
65
62
  end
data/lib/pinnacle.rb CHANGED
@@ -80,48 +80,6 @@ require_relative "pinnacle/types/advanced_phone_information_contact"
80
80
  require_relative "pinnacle/types/advanced_phone_information"
81
81
  require_relative "pinnacle/phone_numbers/types/phone_numbers_get_response"
82
82
  require_relative "pinnacle/webhooks/types/list_webhooks_request_status"
83
- require_relative "pinnacle/types/message_schedule"
84
- require_relative "pinnacle/types/field_base"
85
- require_relative "pinnacle/types/text_field"
86
- require_relative "pinnacle/types/textarea_field"
87
- require_relative "pinnacle/types/address_field"
88
- require_relative "pinnacle/types/email_field"
89
- require_relative "pinnacle/types/url_field"
90
- require_relative "pinnacle/types/phone_field"
91
- require_relative "pinnacle/types/number_field"
92
- require_relative "pinnacle/types/range_field"
93
- require_relative "pinnacle/types/rating_field"
94
- require_relative "pinnacle/types/date_field"
95
- require_relative "pinnacle/types/time_field"
96
- require_relative "pinnacle/types/datetime_field"
97
- require_relative "pinnacle/types/color_field"
98
- require_relative "pinnacle/types/form_field_option"
99
- require_relative "pinnacle/types/select_field"
100
- require_relative "pinnacle/types/radio_field"
101
- require_relative "pinnacle/types/checkbox_field"
102
- require_relative "pinnacle/types/form_field"
103
- require_relative "pinnacle/types/form_color_palette"
104
- require_relative "pinnacle/types/form_background_solid"
105
- require_relative "pinnacle/types/form_gradient_angle"
106
- require_relative "pinnacle/types/form_gradient"
107
- require_relative "pinnacle/types/form_background_gradient"
108
- require_relative "pinnacle/types/form_background_image"
109
- require_relative "pinnacle/types/form_background_pattern_preset"
110
- require_relative "pinnacle/types/form_background_pattern"
111
- require_relative "pinnacle/types/form_background"
112
- require_relative "pinnacle/types/form_theme_override_theme_mode"
113
- require_relative "pinnacle/types/form_theme_override_colors"
114
- require_relative "pinnacle/types/form_theme_override_font_family"
115
- require_relative "pinnacle/types/form_theme_override_corner_radius"
116
- require_relative "pinnacle/types/form_theme_override_content_alignment"
117
- require_relative "pinnacle/types/form_theme_override"
118
- require_relative "pinnacle/types/form"
119
- require_relative "pinnacle/types/form_submission"
120
- require_relative "pinnacle/types/send_form_result"
121
- require_relative "pinnacle/types/scheduled_form_send_response_form"
122
- require_relative "pinnacle/types/scheduled_form_send_response_submission"
123
- require_relative "pinnacle/types/scheduled_form_send_result"
124
- require_relative "pinnacle/forms/types/forms_send_response"
125
83
  require_relative "pinnacle/campaigns/dlc/types/dlc_campaign_help_keywords"
126
84
  require_relative "pinnacle/campaigns/dlc/types/dlc_campaign_opt_in_keywords"
127
85
  require_relative "pinnacle/campaigns/dlc/types/dlc_campaign_opt_out_keywords"
@@ -176,6 +134,7 @@ require_relative "pinnacle/campaigns/rcs/types/rcs_campaign_opt_out_keywords"
176
134
  require_relative "pinnacle/campaigns/rcs/types/rcs_campaign_keywords"
177
135
  require_relative "pinnacle/campaigns/rcs/types/rcs_campaign_traffic"
178
136
  require_relative "pinnacle/campaigns/rcs/types/list_rcs_campaigns_request_status"
137
+ require_relative "pinnacle/types/message_schedule"
179
138
  require_relative "pinnacle/types/tracking"
180
139
  require_relative "pinnacle/messages/sms/types/send_sms_options"
181
140
  require_relative "pinnacle/types/send_sms_response_segments_encoding"
@@ -375,6 +334,20 @@ require_relative "pinnacle/types/list_scheduled_messages_response"
375
334
  require_relative "pinnacle/types/blast_summary_type"
376
335
  require_relative "pinnacle/types/blast_summary"
377
336
  require_relative "pinnacle/types/list_blasts_response"
337
+ require_relative "pinnacle/types/simulate_message_input"
338
+ require_relative "pinnacle/types/simulate_user_message"
339
+ require_relative "pinnacle/types/user_button_press_trigger"
340
+ require_relative "pinnacle/types/user_button_press_open_url"
341
+ require_relative "pinnacle/types/user_button_press_call"
342
+ require_relative "pinnacle/types/user_button_press_schedule_event"
343
+ require_relative "pinnacle/types/user_button_press_send_location_lat_long"
344
+ require_relative "pinnacle/types/user_button_press_send_location"
345
+ require_relative "pinnacle/types/user_button_press_request_user_location_location"
346
+ require_relative "pinnacle/types/user_button_press_request_user_location"
347
+ require_relative "pinnacle/types/user_button_press"
348
+ require_relative "pinnacle/types/simulate_user_button"
349
+ require_relative "pinnacle/types/simulate_user_params"
350
+ require_relative "pinnacle/types/simulate_user_response"
378
351
  require_relative "pinnacle/types/phone_feature_enum"
379
352
  require_relative "pinnacle/types/phone_enum"
380
353
  require_relative "pinnacle/types/phone_number_cost"
@@ -470,19 +443,6 @@ require_relative "pinnacle/types/failed_sender"
470
443
  require_relative "pinnacle/types/attach_webhook_response_webhook"
471
444
  require_relative "pinnacle/types/attach_webhook_result"
472
445
  require_relative "pinnacle/types/detach_webhook_result"
473
- require_relative "pinnacle/types/list_forms_response"
474
- require_relative "pinnacle/types/list_form_submissions_response"
475
- require_relative "pinnacle/types/form_definition"
476
- require_relative "pinnacle/types/create_form_request"
477
- require_relative "pinnacle/types/form_id_reference"
478
- require_relative "pinnacle/types/send_form_options_webview_mode"
479
- require_relative "pinnacle/types/send_form_options"
480
- require_relative "pinnacle/types/send_form_via_rcs_request_form"
481
- require_relative "pinnacle/types/send_form_via_rcs_request_fallback"
482
- require_relative "pinnacle/types/send_form_via_rcs_params"
483
- require_relative "pinnacle/types/send_form_via_sms_request_form"
484
- require_relative "pinnacle/types/send_form_via_sms_params"
485
- require_relative "pinnacle/types/send_form_params"
486
446
  require_relative "pinnacle/types/message_event_sms_content"
487
447
  require_relative "pinnacle/types/message_event_mms_content"
488
448
  require_relative "pinnacle/types/message_event_rcs_text_content"
@@ -503,12 +463,6 @@ require_relative "pinnacle/types/message_event_fallback_message"
503
463
  require_relative "pinnacle/types/message_event"
504
464
  require_relative "pinnacle/types/user_event_conversation"
505
465
  require_relative "pinnacle/types/user_event"
506
- require_relative "pinnacle/types/form_submission_event_conversation"
507
- require_relative "pinnacle/types/form_submission_event_form"
508
- require_relative "pinnacle/types/form_submission_answer"
509
- require_relative "pinnacle/types/form_submitted_field"
510
- require_relative "pinnacle/types/form_submission_event_submission"
511
- require_relative "pinnacle/types/form_submission_event"
512
466
  require_relative "pinnacle/client"
513
467
  require_relative "pinnacle/brands/client"
514
468
  require_relative "pinnacle/brands/types/autofill_brand_params"
@@ -547,9 +501,6 @@ require_relative "pinnacle/webhooks/types/get_webhook_params"
547
501
  require_relative "pinnacle/webhooks/types/list_webhooks_params"
548
502
  require_relative "pinnacle/webhooks/types/attach_webhook_params"
549
503
  require_relative "pinnacle/webhooks/types/detach_webhook_params"
550
- require_relative "pinnacle/forms/client"
551
- require_relative "pinnacle/forms/types/update_form_params"
552
- require_relative "pinnacle/forms/types/list_forms_params"
553
504
  require_relative "pinnacle/audiences/contacts/client"
554
505
  require_relative "pinnacle/audiences/contacts/types/remove_contacts_params"
555
506
  require_relative "pinnacle/audiences/contacts/types/add_contacts_params"
@@ -563,8 +514,6 @@ require_relative "pinnacle/campaigns/toll_free/types/list_toll_free_campaigns_pa
563
514
  require_relative "pinnacle/campaigns/rcs/client"
564
515
  require_relative "pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params"
565
516
  require_relative "pinnacle/campaigns/rcs/types/list_rcs_campaigns_params"
566
- require_relative "pinnacle/forms/submissions/client"
567
- require_relative "pinnacle/forms/submissions/types/list_form_submissions_params"
568
517
  require_relative "pinnacle/messages/sms/client"
569
518
  require_relative "pinnacle/messages/sms/types/sms"
570
519
  require_relative "pinnacle/messages/mms/client"
@@ -580,6 +529,7 @@ require_relative "pinnacle/messages/schedules/client"
580
529
  require_relative "pinnacle/messages/schedules/types/list_scheduled_messages_params"
581
530
  require_relative "pinnacle/messages/blasts/client"
582
531
  require_relative "pinnacle/messages/blasts/types/list_blasts_params"
532
+ require_relative "pinnacle/messages/simulate/client"
583
533
  require_relative "pinnacle/phone_numbers/campaign/client"
584
534
  require_relative "pinnacle/phone_numbers/campaign/types/attach_campaign_params"
585
535
  require_relative "pinnacle/phone_numbers/campaign/types/detach_campaign_params"