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.
- checksums.yaml +4 -4
- data/.fern/metadata.json +3 -3
- data/.rubocop.yml +16 -10
- data/lib/pinnacle/brands/client.rb +3 -3
- data/lib/pinnacle/campaigns/dlc/client.rb +2 -2
- data/lib/pinnacle/campaigns/rcs/client.rb +2 -2
- data/lib/pinnacle/campaigns/toll_free/client.rb +2 -2
- data/lib/pinnacle/client.rb +1 -6
- data/lib/pinnacle/conversations/client.rb +1 -1
- data/lib/pinnacle/internal/http/base_request.rb +0 -14
- data/lib/pinnacle/internal/http/raw_client.rb +3 -21
- data/lib/pinnacle/internal/json/request.rb +4 -6
- data/lib/pinnacle/internal/multipart/multipart_request.rb +4 -6
- data/lib/pinnacle/internal/types/boolean.rb +1 -1
- data/lib/pinnacle/internal/types/union.rb +1 -1
- data/lib/pinnacle/internal/types/utils.rb +2 -2
- data/lib/pinnacle/messages/client.rb +6 -1
- data/lib/pinnacle/messages/schedule/client.rb +1 -1
- data/lib/pinnacle/{forms/submissions → messages/simulate}/client.rb +9 -15
- data/lib/pinnacle/rcs/client.rb +1 -1
- data/lib/pinnacle/rcs/test/client.rb +3 -3
- data/lib/pinnacle/status/get/client.rb +5 -5
- data/lib/pinnacle/tools/url/client.rb +2 -2
- data/lib/pinnacle/types/simulate_message_input.rb +12 -0
- data/lib/pinnacle/types/{form_gradient.rb → simulate_user_button.rb} +3 -3
- data/lib/pinnacle/types/simulate_user_message.rb +12 -0
- data/lib/pinnacle/types/simulate_user_params.rb +13 -0
- data/lib/pinnacle/types/simulate_user_response.rb +10 -0
- data/lib/pinnacle/types/user_button_press.rb +19 -0
- data/lib/pinnacle/types/user_button_press_call.rb +12 -0
- data/lib/pinnacle/types/user_button_press_open_url.rb +12 -0
- data/lib/pinnacle/types/user_button_press_request_user_location.rb +12 -0
- data/lib/pinnacle/types/user_button_press_request_user_location_location.rb +13 -0
- data/lib/pinnacle/types/user_button_press_schedule_event.rb +15 -0
- data/lib/pinnacle/types/user_button_press_send_location.rb +13 -0
- data/lib/pinnacle/types/user_button_press_send_location_lat_long.rb +11 -0
- data/lib/pinnacle/types/user_button_press_trigger.rb +12 -0
- data/lib/pinnacle/types/webhook_event_enum.rb +0 -1
- data/lib/pinnacle/version.rb +1 -1
- data/lib/pinnacle/wrapper/messages/client.rb +2 -5
- data/lib/pinnacle.rb +16 -66
- data/reference.md +364 -802
- metadata +17 -67
- data/lib/pinnacle/forms/client.rb +0 -217
- data/lib/pinnacle/forms/submissions/types/list_form_submissions_params.rb +0 -15
- data/lib/pinnacle/forms/types/forms_send_response.rb +0 -14
- data/lib/pinnacle/forms/types/list_forms_params.rb +0 -12
- data/lib/pinnacle/forms/types/update_form_params.rb +0 -18
- data/lib/pinnacle/types/address_field.rb +0 -14
- data/lib/pinnacle/types/checkbox_field.rb +0 -13
- data/lib/pinnacle/types/color_field.rb +0 -8
- data/lib/pinnacle/types/create_form_request.rb +0 -23
- data/lib/pinnacle/types/date_field.rb +0 -12
- data/lib/pinnacle/types/datetime_field.rb +0 -12
- data/lib/pinnacle/types/email_field.rb +0 -10
- data/lib/pinnacle/types/field_base.rb +0 -14
- data/lib/pinnacle/types/form.rb +0 -22
- data/lib/pinnacle/types/form_background.rb +0 -17
- data/lib/pinnacle/types/form_background_gradient.rb +0 -12
- data/lib/pinnacle/types/form_background_image.rb +0 -13
- data/lib/pinnacle/types/form_background_pattern.rb +0 -10
- data/lib/pinnacle/types/form_background_pattern_preset.rb +0 -16
- data/lib/pinnacle/types/form_background_solid.rb +0 -34
- data/lib/pinnacle/types/form_color_palette.rb +0 -12
- data/lib/pinnacle/types/form_definition.rb +0 -15
- data/lib/pinnacle/types/form_field.rb +0 -29
- data/lib/pinnacle/types/form_field_option.rb +0 -11
- data/lib/pinnacle/types/form_gradient_angle.rb +0 -12
- data/lib/pinnacle/types/form_id_reference.rb +0 -23
- data/lib/pinnacle/types/form_submission.rb +0 -19
- data/lib/pinnacle/types/form_submission_answer.rb +0 -20
- data/lib/pinnacle/types/form_submission_event.rb +0 -15
- data/lib/pinnacle/types/form_submission_event_conversation.rb +0 -20
- data/lib/pinnacle/types/form_submission_event_form.rb +0 -12
- data/lib/pinnacle/types/form_submission_event_submission.rb +0 -17
- data/lib/pinnacle/types/form_submitted_field.rb +0 -13
- data/lib/pinnacle/types/form_theme_override.rb +0 -25
- data/lib/pinnacle/types/form_theme_override_colors.rb +0 -12
- data/lib/pinnacle/types/form_theme_override_content_alignment.rb +0 -13
- data/lib/pinnacle/types/form_theme_override_corner_radius.rb +0 -13
- data/lib/pinnacle/types/form_theme_override_font_family.rb +0 -15
- data/lib/pinnacle/types/form_theme_override_theme_mode.rb +0 -13
- data/lib/pinnacle/types/list_form_submissions_response.rb +0 -12
- data/lib/pinnacle/types/list_forms_response.rb +0 -12
- data/lib/pinnacle/types/number_field.rb +0 -13
- data/lib/pinnacle/types/phone_field.rb +0 -11
- data/lib/pinnacle/types/radio_field.rb +0 -10
- data/lib/pinnacle/types/range_field.rb +0 -12
- data/lib/pinnacle/types/rating_field.rb +0 -11
- data/lib/pinnacle/types/scheduled_form_send_response_form.rb +0 -10
- data/lib/pinnacle/types/scheduled_form_send_response_submission.rb +0 -10
- data/lib/pinnacle/types/scheduled_form_send_result.rb +0 -13
- data/lib/pinnacle/types/select_field.rb +0 -11
- data/lib/pinnacle/types/send_form_options.rb +0 -11
- data/lib/pinnacle/types/send_form_options_webview_mode.rb +0 -13
- data/lib/pinnacle/types/send_form_params.rb +0 -20
- data/lib/pinnacle/types/send_form_result.rb +0 -17
- data/lib/pinnacle/types/send_form_via_rcs_params.rb +0 -14
- data/lib/pinnacle/types/send_form_via_rcs_request_fallback.rb +0 -10
- data/lib/pinnacle/types/send_form_via_rcs_request_form.rb +0 -13
- data/lib/pinnacle/types/send_form_via_sms_params.rb +0 -13
- data/lib/pinnacle/types/send_form_via_sms_request_form.rb +0 -12
- data/lib/pinnacle/types/text_field.rb +0 -13
- data/lib/pinnacle/types/textarea_field.rb +0 -13
- data/lib/pinnacle/types/time_field.rb +0 -12
- data/lib/pinnacle/types/url_field.rb +0 -10
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Image background. The image is tiled or scaled across the page with optional blur and dark tint overlay.
|
|
6
|
-
class FormBackgroundImage < Internal::Types::Model
|
|
7
|
-
field :url, -> { String }, optional: false, nullable: false
|
|
8
|
-
field :tint_opacity, -> { Integer }, optional: false, nullable: false
|
|
9
|
-
field :blur, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
10
|
-
field :zoom, -> { Integer }, optional: false, nullable: false
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Subtle repeating SVG pattern tinted by the palette's foreground color.
|
|
6
|
-
class FormBackgroundPattern < Internal::Types::Model
|
|
7
|
-
field :preset, -> { Pinnacle::Types::FormBackgroundPatternPreset }, optional: false, nullable: false
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
module FormBackgroundPatternPreset
|
|
6
|
-
extend Pinnacle::Internal::Types::Enum
|
|
7
|
-
|
|
8
|
-
NOISE = "noise"
|
|
9
|
-
DOTS = "dots"
|
|
10
|
-
MESH = "mesh"
|
|
11
|
-
GRID = "grid"
|
|
12
|
-
WAVES = "waves"
|
|
13
|
-
TOPO = "topo"
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# No background effect — the form page is filled with a single flat color. The color itself isn't specified on this
|
|
6
|
-
# object; it's read from the sibling `colors` field on the same `theme_override` object (i.e.
|
|
7
|
-
# `theme_override.colors.light.background` in light mode, `theme_override.colors.dark.background` in dark mode). If
|
|
8
|
-
# you don't override `colors`, the color falls back to the one your team has configured in the [Pinnacle
|
|
9
|
-
# Dashboard](https://app.pinnacle.sh/dashboard/forms).
|
|
10
|
-
#
|
|
11
|
-
# Complete example — a POST `/forms` body that sets a white form in light mode and near-black in dark mode with no
|
|
12
|
-
# background effect:
|
|
13
|
-
#
|
|
14
|
-
# ```json
|
|
15
|
-
# {
|
|
16
|
-
# "name": "Contact request",
|
|
17
|
-
# "fields": [
|
|
18
|
-
# { "type": "text", "key": "full_name", "label": "Full name", "required": true }
|
|
19
|
-
# ],
|
|
20
|
-
# "theme_override": {
|
|
21
|
-
# "background": { "type": "solid" },
|
|
22
|
-
# "colors": {
|
|
23
|
-
# "light": { "background": "#ffffff" },
|
|
24
|
-
# "dark": { "background": "#0a0a0a" }
|
|
25
|
-
# }
|
|
26
|
-
# }
|
|
27
|
-
# }
|
|
28
|
-
# ```
|
|
29
|
-
#
|
|
30
|
-
# Pick `solid` when you want a clean one-color page with no gradient / image / pattern overlay. Use `gradient`,
|
|
31
|
-
# `image`, or `pattern` instead when you want something layered on top of the base color.
|
|
32
|
-
class FormBackgroundSolid < Internal::Types::Model; end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Per-mode palette. All three colors are optional; any you omit fall back to the team default for that mode.
|
|
6
|
-
class FormColorPalette < Internal::Types::Model
|
|
7
|
-
field :primary, -> { String }, optional: true, nullable: false
|
|
8
|
-
field :background, -> { String }, optional: true, nullable: false
|
|
9
|
-
field :text, -> { String }, optional: true, nullable: false
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# The minimum shape needed to create a form. Used by `POST /forms` and inline by `POST /forms/send`.
|
|
6
|
-
class FormDefinition < Internal::Types::Model
|
|
7
|
-
field :name, -> { String }, optional: true, nullable: false
|
|
8
|
-
field :description, -> { String }, optional: true, nullable: false
|
|
9
|
-
field :fields, -> { Internal::Types::Array[Pinnacle::Types::FormField] }, optional: false, nullable: false
|
|
10
|
-
field :can_update, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
11
|
-
field :expires_at, -> { String }, optional: true, nullable: false
|
|
12
|
-
field :theme_override, -> { Pinnacle::Types::FormThemeOverride }, optional: true, nullable: false
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# A single field definition inside a form. Discriminated by `type`.
|
|
6
|
-
class FormField < Internal::Types::Model
|
|
7
|
-
extend Pinnacle::Internal::Types::Union
|
|
8
|
-
|
|
9
|
-
discriminant :type
|
|
10
|
-
|
|
11
|
-
member -> { Pinnacle::Types::TextField }, key: "TEXT"
|
|
12
|
-
member -> { Pinnacle::Types::TextareaField }, key: "TEXTAREA"
|
|
13
|
-
member -> { Pinnacle::Types::AddressField }, key: "ADDRESS"
|
|
14
|
-
member -> { Pinnacle::Types::EmailField }, key: "EMAIL"
|
|
15
|
-
member -> { Pinnacle::Types::UrlField }, key: "URL"
|
|
16
|
-
member -> { Pinnacle::Types::PhoneField }, key: "PHONE"
|
|
17
|
-
member -> { Pinnacle::Types::NumberField }, key: "NUMBER"
|
|
18
|
-
member -> { Pinnacle::Types::RangeField }, key: "RANGE"
|
|
19
|
-
member -> { Pinnacle::Types::RatingField }, key: "RATING"
|
|
20
|
-
member -> { Pinnacle::Types::DateField }, key: "DATE"
|
|
21
|
-
member -> { Pinnacle::Types::TimeField }, key: "TIME"
|
|
22
|
-
member -> { Pinnacle::Types::DatetimeField }, key: "DATETIME"
|
|
23
|
-
member -> { Pinnacle::Types::ColorField }, key: "COLOR"
|
|
24
|
-
member -> { Pinnacle::Types::SelectField }, key: "SELECT"
|
|
25
|
-
member -> { Pinnacle::Types::RadioField }, key: "RADIO"
|
|
26
|
-
member -> { Pinnacle::Types::CheckboxField }, key: "CHECKBOX"
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# A single choice inside a `select`, `radio`, or `checkbox` field.
|
|
6
|
-
class FormFieldOption < Internal::Types::Model
|
|
7
|
-
field :value, -> { String }, optional: false, nullable: false
|
|
8
|
-
field :label, -> { String }, optional: false, nullable: false
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
module FormIdReference
|
|
6
|
-
# FormIdReference is an alias for String
|
|
7
|
-
|
|
8
|
-
# @option str [String]
|
|
9
|
-
#
|
|
10
|
-
# @return [untyped]
|
|
11
|
-
def self.load(str)
|
|
12
|
-
::JSON.parse(str)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# @option value [untyped]
|
|
16
|
-
#
|
|
17
|
-
# @return [String]
|
|
18
|
-
def self.dump(value)
|
|
19
|
-
::JSON.generate(value)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# A single submission against a form.
|
|
6
|
-
class FormSubmission < Internal::Types::Model
|
|
7
|
-
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
-
field :url, -> { String }, optional: false, nullable: false
|
|
9
|
-
field :form_id, -> { String }, optional: false, nullable: false
|
|
10
|
-
field :from, -> { String }, optional: false, nullable: true
|
|
11
|
-
field :to, -> { String }, optional: false, nullable: true
|
|
12
|
-
field :data, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: true
|
|
13
|
-
field :ip_address, -> { String }, optional: false, nullable: true
|
|
14
|
-
field :user_agent, -> { String }, optional: false, nullable: true
|
|
15
|
-
field :submitted_at, -> { String }, optional: false, nullable: true
|
|
16
|
-
field :created_at, -> { String }, optional: false, nullable: false
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# The value submitted for a single form field. Shape depends on the field type:
|
|
6
|
-
# - `text`, `email`, `phone`, `url`, `textarea`, `select`, `radio` → string
|
|
7
|
-
# - `number` → number
|
|
8
|
-
# - `checkbox` (single) → boolean
|
|
9
|
-
# - `checkbox` (multi), `multiselect` → array of strings
|
|
10
|
-
# - Skipped optional field → null
|
|
11
|
-
class FormSubmissionAnswer < Internal::Types::Model
|
|
12
|
-
extend Pinnacle::Internal::Types::Union
|
|
13
|
-
|
|
14
|
-
member -> { String }
|
|
15
|
-
member -> { Integer }
|
|
16
|
-
member -> { Internal::Types::Boolean }
|
|
17
|
-
member -> { Internal::Types::Array[String] }
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Webhook body delivered to subscribers of `FORM.SUBMISSION` after a recipient completes a form. Verify the
|
|
6
|
-
# `PINNACLE-SIGNING-SECRET` header matches your webhook's signing secret before trusting the payload.
|
|
7
|
-
class FormSubmissionEvent < Internal::Types::Model
|
|
8
|
-
field :type, -> { String }, optional: false, nullable: false
|
|
9
|
-
field :sender, -> { String }, optional: false, nullable: false
|
|
10
|
-
field :conversation, -> { Pinnacle::Types::FormSubmissionEventConversation }, optional: false, nullable: true
|
|
11
|
-
field :form, -> { Pinnacle::Types::FormSubmissionEventForm }, optional: false, nullable: false
|
|
12
|
-
field :submission, -> { Pinnacle::Types::FormSubmissionEventSubmission }, optional: false, nullable: false
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Conversation between the sender and the recipient the form was delivered to. Only populated when the form was
|
|
6
|
-
# dispatched via `POST /forms/send` with a `to` recipient — that's the only call that opens a conversation tied to a
|
|
7
|
-
# form submission.
|
|
8
|
-
#
|
|
9
|
-
# Null in every other case, including:
|
|
10
|
-
# - `POST /forms/send` without a `to` (URL-only mints — no message is sent, so no conversation exists).
|
|
11
|
-
# - Submissions to a form whose URL was shared by any other means (e.g. an RCS card built with `POST /send`, a chat
|
|
12
|
-
# message, a marketing email, or a link on your site). The recipient isn't tied to a Pinnacle conversation in those
|
|
13
|
-
# flows.
|
|
14
|
-
class FormSubmissionEventConversation < Internal::Types::Model
|
|
15
|
-
field :id, -> { String }, optional: false, nullable: false
|
|
16
|
-
field :from, -> { String }, optional: false, nullable: false
|
|
17
|
-
field :to, -> { String }, optional: false, nullable: false
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Form summary carried on the FORM.SUBMISSION event.
|
|
6
|
-
class FormSubmissionEventForm < Internal::Types::Model
|
|
7
|
-
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
-
field :url, -> { String }, optional: false, nullable: false
|
|
9
|
-
field :name, -> { String }, optional: false, nullable: true
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# The submitted answers plus a resolved snapshot of each form field.
|
|
6
|
-
class FormSubmissionEventSubmission < Internal::Types::Model
|
|
7
|
-
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
-
field :from, -> { String }, optional: false, nullable: false
|
|
9
|
-
field :to, -> { String }, optional: false, nullable: true
|
|
10
|
-
field :data, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
|
|
11
|
-
field :fields, -> { Internal::Types::Array[Pinnacle::Types::FormSubmittedField] }, optional: false, nullable: false
|
|
12
|
-
field :ip_address, -> { String }, optional: false, nullable: true
|
|
13
|
-
field :user_agent, -> { String }, optional: false, nullable: true
|
|
14
|
-
field :submitted_at, -> { String }, optional: false, nullable: false
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Snapshot of a single form field paired with the value the recipient submitted.
|
|
6
|
-
class FormSubmittedField < Internal::Types::Model
|
|
7
|
-
field :key, -> { String }, optional: false, nullable: false
|
|
8
|
-
field :label, -> { String }, optional: false, nullable: false
|
|
9
|
-
field :type, -> { String }, optional: false, nullable: false
|
|
10
|
-
field :value, -> { Pinnacle::Types::FormSubmissionAnswer }, optional: false, nullable: true
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Sparse override layered on top of your team's theme. Every field is optional; provided fields replace the
|
|
6
|
-
# corresponding team defaults at render time. URL fields must use `https://`.
|
|
7
|
-
class FormThemeOverride < Internal::Types::Model
|
|
8
|
-
field :logo_url, -> { String }, optional: true, nullable: false
|
|
9
|
-
field :favicon_url, -> { String }, optional: true, nullable: false
|
|
10
|
-
field :theme_mode, -> { Pinnacle::Types::FormThemeOverrideThemeMode }, optional: true, nullable: false
|
|
11
|
-
field :colors, -> { Pinnacle::Types::FormThemeOverrideColors }, optional: true, nullable: false
|
|
12
|
-
field :font_family, -> { Pinnacle::Types::FormThemeOverrideFontFamily }, optional: true, nullable: false
|
|
13
|
-
field :corner_radius, -> { Pinnacle::Types::FormThemeOverrideCornerRadius }, optional: true, nullable: false
|
|
14
|
-
field :content_alignment, -> { Pinnacle::Types::FormThemeOverrideContentAlignment }, optional: true, nullable: false
|
|
15
|
-
field :background, -> { Pinnacle::Types::FormBackground }, optional: true, nullable: false
|
|
16
|
-
field :submit_button_label, -> { String }, optional: true, nullable: false
|
|
17
|
-
field :success_message, -> { String }, optional: true, nullable: false
|
|
18
|
-
field :redirect_url, -> { String }, optional: true, nullable: false
|
|
19
|
-
field :privacy_url, -> { String }, optional: true, nullable: false
|
|
20
|
-
field :terms_url, -> { String }, optional: true, nullable: false
|
|
21
|
-
field :og_image_url, -> { String }, optional: true, nullable: false
|
|
22
|
-
field :og_description, -> { String }, optional: true, nullable: false
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Per-mode palette overrides. Each mode is an object with optional `primary`, `background`, and `text` hex colors.
|
|
6
|
-
# Omit a mode to inherit the team default for it.
|
|
7
|
-
class FormThemeOverrideColors < Internal::Types::Model
|
|
8
|
-
field :light, -> { Pinnacle::Types::FormColorPalette }, optional: true, nullable: false
|
|
9
|
-
field :dark, -> { Pinnacle::Types::FormColorPalette }, optional: true, nullable: false
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
module FormThemeOverrideFontFamily
|
|
6
|
-
extend Pinnacle::Internal::Types::Enum
|
|
7
|
-
|
|
8
|
-
INTER = "inter"
|
|
9
|
-
SYSTEM = "system"
|
|
10
|
-
SERIF = "serif"
|
|
11
|
-
MONO = "mono"
|
|
12
|
-
ROUNDED = "rounded"
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -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,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,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
|