rcs 2.0.16.pre.rc.9 → 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 (109) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +4 -5
  3. data/.rubocop.yml +15 -5
  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 +1 -1
  18. data/lib/pinnacle/messages/schedule/client.rb +1 -1
  19. data/lib/pinnacle/rcs/client.rb +1 -1
  20. data/lib/pinnacle/rcs/test/client.rb +3 -3
  21. data/lib/pinnacle/status/get/client.rb +5 -5
  22. data/lib/pinnacle/tools/url/client.rb +2 -2
  23. data/lib/pinnacle/types/agent_summary_carrier_launches.rb +1 -7
  24. data/lib/pinnacle/types/carrier_launches.rb +5 -5
  25. data/lib/pinnacle/types/message_event.rb +1 -1
  26. data/lib/pinnacle/types/webhook_event_enum.rb +0 -2
  27. data/lib/pinnacle/version.rb +1 -1
  28. data/lib/pinnacle/wrapper/messages/client.rb +2 -11
  29. data/lib/pinnacle.rb +2 -79
  30. data/lib/rcs.rb +15 -163
  31. data/reference.md +300 -807
  32. metadata +2 -79
  33. data/lib/pinnacle/forms/client.rb +0 -217
  34. data/lib/pinnacle/forms/submissions/client.rb +0 -56
  35. data/lib/pinnacle/forms/submissions/types/list_form_submissions_params.rb +0 -15
  36. data/lib/pinnacle/forms/types/forms_send_response.rb +0 -14
  37. data/lib/pinnacle/forms/types/list_forms_params.rb +0 -12
  38. data/lib/pinnacle/forms/types/update_form_params.rb +0 -18
  39. data/lib/pinnacle/types/address_field.rb +0 -14
  40. data/lib/pinnacle/types/campaign_status_event.rb +0 -21
  41. data/lib/pinnacle/types/campaign_status_event_agent.rb +0 -11
  42. data/lib/pinnacle/types/campaign_status_event_brand.rb +0 -11
  43. data/lib/pinnacle/types/campaign_status_event_campaign.rb +0 -11
  44. data/lib/pinnacle/types/campaign_status_event_campaign_type.rb +0 -13
  45. data/lib/pinnacle/types/campaign_status_event_carrier_launches.rb +0 -13
  46. data/lib/pinnacle/types/campaign_status_event_carrier_launches_carriers.rb +0 -16
  47. data/lib/pinnacle/types/campaign_status_event_carrier_launches_verification.rb +0 -15
  48. data/lib/pinnacle/types/carrier_launches_carriers.rb +0 -16
  49. data/lib/pinnacle/types/carrier_launches_verification.rb +0 -15
  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.rb +0 -12
  69. data/lib/pinnacle/types/form_gradient_angle.rb +0 -12
  70. data/lib/pinnacle/types/form_id_reference.rb +0 -23
  71. data/lib/pinnacle/types/form_submission.rb +0 -19
  72. data/lib/pinnacle/types/form_submission_answer.rb +0 -20
  73. data/lib/pinnacle/types/form_submission_event.rb +0 -15
  74. data/lib/pinnacle/types/form_submission_event_conversation.rb +0 -20
  75. data/lib/pinnacle/types/form_submission_event_form.rb +0 -12
  76. data/lib/pinnacle/types/form_submission_event_submission.rb +0 -17
  77. data/lib/pinnacle/types/form_submitted_field.rb +0 -13
  78. data/lib/pinnacle/types/form_theme_override.rb +0 -25
  79. data/lib/pinnacle/types/form_theme_override_colors.rb +0 -12
  80. data/lib/pinnacle/types/form_theme_override_content_alignment.rb +0 -13
  81. data/lib/pinnacle/types/form_theme_override_corner_radius.rb +0 -13
  82. data/lib/pinnacle/types/form_theme_override_font_family.rb +0 -15
  83. data/lib/pinnacle/types/form_theme_override_theme_mode.rb +0 -13
  84. data/lib/pinnacle/types/list_form_submissions_response.rb +0 -12
  85. data/lib/pinnacle/types/list_forms_response.rb +0 -12
  86. data/lib/pinnacle/types/message_event_type.rb +0 -12
  87. data/lib/pinnacle/types/number_field.rb +0 -13
  88. data/lib/pinnacle/types/phone_field.rb +0 -11
  89. data/lib/pinnacle/types/radio_field.rb +0 -10
  90. data/lib/pinnacle/types/range_field.rb +0 -12
  91. data/lib/pinnacle/types/rating_field.rb +0 -11
  92. data/lib/pinnacle/types/scheduled_form_send_response_form.rb +0 -10
  93. data/lib/pinnacle/types/scheduled_form_send_response_submission.rb +0 -10
  94. data/lib/pinnacle/types/scheduled_form_send_result.rb +0 -13
  95. data/lib/pinnacle/types/select_field.rb +0 -11
  96. data/lib/pinnacle/types/send_form_options.rb +0 -11
  97. data/lib/pinnacle/types/send_form_options_webview_mode.rb +0 -13
  98. data/lib/pinnacle/types/send_form_params.rb +0 -20
  99. data/lib/pinnacle/types/send_form_result.rb +0 -17
  100. data/lib/pinnacle/types/send_form_via_rcs_params.rb +0 -14
  101. data/lib/pinnacle/types/send_form_via_rcs_request_fallback.rb +0 -10
  102. data/lib/pinnacle/types/send_form_via_rcs_request_form.rb +0 -13
  103. data/lib/pinnacle/types/send_form_via_sms_params.rb +0 -13
  104. data/lib/pinnacle/types/send_form_via_sms_request_form.rb +0 -12
  105. data/lib/pinnacle/types/text_field.rb +0 -13
  106. data/lib/pinnacle/types/textarea_field.rb +0 -13
  107. data/lib/pinnacle/types/time_field.rb +0 -12
  108. data/lib/pinnacle/types/url_field.rb +0 -10
  109. data/lib/pinnacle/types/verification_status.rb +0 -13
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Paginated page of submissions for a form.
6
- class ListFormSubmissionsResponse < Internal::Types::Model
7
- field :data, -> { Internal::Types::Array[Pinnacle::Types::FormSubmission] }, optional: false, nullable: false
8
- field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
9
- field :count, -> { Integer }, optional: false, nullable: false
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Paginated page of forms.
6
- class ListFormsResponse < Internal::Types::Model
7
- field :data, -> { Internal::Types::Array[Pinnacle::Types::Form] }, optional: false, nullable: false
8
- field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
9
- field :count, -> { Integer }, optional: false, nullable: false
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- module MessageEventType
6
- extend Pinnacle::Internal::Types::Enum
7
-
8
- MESSAGE_STATUS = "MESSAGE.STATUS"
9
- MESSAGE_RECEIVED = "MESSAGE.RECEIVED"
10
- end
11
- end
12
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Numeric input with optional `min` / `max` bounds and `step` granularity.
6
- class NumberField < Internal::Types::Model
7
- field :placeholder, -> { String }, optional: true, nullable: false
8
- field :min, -> { Integer }, optional: true, nullable: false
9
- field :max, -> { Integer }, optional: true, nullable: false
10
- field :step, -> { Integer }, optional: true, nullable: false
11
- end
12
- end
13
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Phone input. Client formats the value as the user types ("(555) 555-1212") and normalizes to E.164
6
- # ("+15555551212") before submission.
7
- class PhoneField < Internal::Types::Model
8
- field :placeholder, -> { String }, optional: true, nullable: false
9
- end
10
- end
11
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Single-select radio group.
6
- class RadioField < Internal::Types::Model
7
- field :options, -> { Internal::Types::Array[Pinnacle::Types::FormFieldOption] }, optional: false, nullable: false
8
- end
9
- end
10
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Slider input. `min`/`max` define the bounds, `step` the granularity.
6
- class RangeField < Internal::Types::Model
7
- field :min, -> { Integer }, optional: true, nullable: false
8
- field :max, -> { Integer }, optional: true, nullable: false
9
- field :step, -> { Integer }, optional: true, nullable: false
10
- end
11
- end
12
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Star rating 1..`max`. Submitted value is the selected integer.
6
- class RatingField < Internal::Types::Model
7
- field :min, -> { Integer }, optional: true, nullable: false
8
- field :max, -> { Integer }, optional: true, nullable: false
9
- end
10
- end
11
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- class ScheduledFormSendResponseForm < Internal::Types::Model
6
- field :id, -> { String }, optional: false, nullable: false
7
- field :name, -> { String }, optional: false, nullable: true
8
- end
9
- end
10
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- class ScheduledFormSendResponseSubmission < Internal::Types::Model
6
- field :id, -> { String }, optional: false, nullable: false
7
- field :url, -> { String }, optional: false, nullable: false
8
- end
9
- end
10
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Response shape for a scheduled form send — returned in place of `SendFormResponse` when `options.schedule` is set.
6
- class ScheduledFormSendResult < Internal::Types::Model
7
- field :schedule_id, -> { String }, optional: false, nullable: false, api_name: "scheduleId"
8
- field :config, -> { Pinnacle::Types::MessageSchedule }, optional: false, nullable: false
9
- field :form, -> { Pinnacle::Types::ScheduledFormSendResponseForm }, optional: false, nullable: false
10
- field :submission, -> { Pinnacle::Types::ScheduledFormSendResponseSubmission }, optional: false, nullable: false
11
- end
12
- end
13
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Single-select dropdown.
6
- class SelectField < Internal::Types::Model
7
- field :options, -> { Internal::Types::Array[Pinnacle::Types::FormFieldOption] }, optional: false, nullable: false
8
- field :placeholder, -> { String }, optional: true, nullable: false
9
- end
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Optional delivery knobs shared by RCS and SMS sends.
6
- class SendFormOptions < Internal::Types::Model
7
- field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
8
- field :webview_mode, -> { Pinnacle::Types::SendFormOptionsWebviewMode }, optional: true, nullable: false
9
- end
10
- end
11
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- module SendFormOptionsWebviewMode
6
- extend Pinnacle::Internal::Types::Enum
7
-
8
- FULL = "FULL"
9
- HALF = "HALF"
10
- TALL = "TALL"
11
- end
12
- end
13
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Send a form to a recipient over SMS or RCS in one call, or mint a standalone submission URL when `to` is omitted.
6
- # Picks the SMS or RCS branch based on the shape of `from` (agent_* → RCS, E.164 → SMS).
7
- #
8
- # When `to` is provided, Pinnacle dispatches the message immediately and the recipient is recorded on the response
9
- # (`submission.to` is set to the same E.164 number, and `message_id` is the id of the outbound SMS/RCS).
10
- #
11
- # When `to` is omitted, no message is sent — `submission.to` and `message_id` are both `null` and only the
12
- # submission URL is returned.
13
- class SendFormParams < Internal::Types::Model
14
- extend Pinnacle::Internal::Types::Union
15
-
16
- member -> { Pinnacle::Types::SendFormViaRcsParams }
17
- member -> { Pinnacle::Types::SendFormViaSmsParams }
18
- end
19
- end
20
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Successful `POST /forms/send` response.
6
- #
7
- # - When `to` was provided in the request, the message was dispatched: `submission.to` echoes that recipient and
8
- # `message_id` is the id of the outbound SMS/RCS that carried the URL.
9
- # - When `to` was omitted, no message was sent: both `submission.to` and `message_id` are `null` and only the
10
- # submission URL is returned.
11
- class SendFormResult < Internal::Types::Model
12
- field :form, -> { Pinnacle::Types::Form }, optional: false, nullable: false
13
- field :submission, -> { Pinnacle::Types::FormSubmission }, optional: false, nullable: false
14
- field :message_id, -> { String }, optional: false, nullable: true
15
- end
16
- end
17
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Send a form from an RCS agent. `from` must be an `agent_*` id.
6
- class SendFormViaRcsParams < Internal::Types::Model
7
- field :from, -> { String }, optional: false, nullable: false
8
- field :to, -> { String }, optional: true, nullable: false
9
- field :form, -> { Pinnacle::Types::SendFormViaRcsRequestForm }, optional: false, nullable: false
10
- field :fallback, -> { Pinnacle::Types::SendFormViaRcsRequestFallback }, optional: true, nullable: false
11
- field :options, -> { Pinnacle::Types::SendFormOptions }, optional: true, nullable: false
12
- end
13
- end
14
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # When RCS is unavailable on the recipient's device, fall back to SMS from this number. Requires `to`.
6
- class SendFormViaRcsRequestFallback < Internal::Types::Model
7
- field :from, -> { String }, optional: false, nullable: false
8
- end
9
- end
10
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Existing form id or an inline definition that mints a new form for this send.
6
- class SendFormViaRcsRequestForm < Internal::Types::Model
7
- extend Pinnacle::Internal::Types::Union
8
-
9
- member -> { String }
10
- member -> { Pinnacle::Types::FormDefinition }
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Send a form from a phone number. `from` must be an E.164 phone.
6
- class SendFormViaSmsParams < Internal::Types::Model
7
- field :from, -> { String }, optional: false, nullable: false
8
- field :to, -> { String }, optional: true, nullable: false
9
- field :form, -> { Pinnacle::Types::SendFormViaSmsRequestForm }, optional: false, nullable: false
10
- field :options, -> { Pinnacle::Types::SendFormOptions }, optional: true, nullable: false
11
- end
12
- end
13
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- class SendFormViaSmsRequestForm < Internal::Types::Model
6
- extend Pinnacle::Internal::Types::Union
7
-
8
- member -> { String }
9
- member -> { Pinnacle::Types::FormDefinition }
10
- end
11
- end
12
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Single-line text input with optional length bounds and regex pattern.
6
- class TextField < Internal::Types::Model
7
- field :placeholder, -> { String }, optional: true, nullable: false
8
- field :pattern, -> { String }, optional: true, nullable: false
9
- field :min_length, -> { Integer }, optional: true, nullable: false
10
- field :max_length, -> { Integer }, optional: true, nullable: false
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Multi-line text input for longer free-form answers.
6
- class TextareaField < Internal::Types::Model
7
- field :placeholder, -> { String }, optional: true, nullable: false
8
- field :pattern, -> { String }, optional: true, nullable: false
9
- field :min_length, -> { Integer }, optional: true, nullable: false
10
- field :max_length, -> { Integer }, optional: true, nullable: false
11
- end
12
- end
13
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # Time picker. `min`/`max` accept `HH:MM` (24-hour).
6
- class TimeField < Internal::Types::Model
7
- field :placeholder, -> { String }, optional: true, nullable: false
8
- field :min, -> { String }, optional: true, nullable: false
9
- field :max, -> { String }, optional: true, nullable: false
10
- end
11
- end
12
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- # URL input. Server requires a valid absolute URL.
6
- class UrlField < Internal::Types::Model
7
- field :placeholder, -> { String }, optional: true, nullable: false
8
- end
9
- end
10
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Types
5
- module VerificationStatus
6
- extend Pinnacle::Internal::Types::Enum
7
-
8
- NOT_SENT = "NOT_SENT"
9
- SENT = "SENT"
10
- VERIFIED = "VERIFIED"
11
- end
12
- end
13
- end