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
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.16
|
|
4
|
+
version: 2.0.16
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pinnacle
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-04-
|
|
11
|
+
date: 2026-04-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: The Pinnacle Ruby library provides convenient access to the Pinnacle
|
|
14
14
|
API from Ruby.
|
|
@@ -106,12 +106,6 @@ files:
|
|
|
106
106
|
- lib/pinnacle/errors/response_error.rb
|
|
107
107
|
- lib/pinnacle/errors/server_error.rb
|
|
108
108
|
- lib/pinnacle/errors/timeout_error.rb
|
|
109
|
-
- lib/pinnacle/forms/client.rb
|
|
110
|
-
- lib/pinnacle/forms/submissions/client.rb
|
|
111
|
-
- lib/pinnacle/forms/submissions/types/list_form_submissions_params.rb
|
|
112
|
-
- lib/pinnacle/forms/types/forms_send_response.rb
|
|
113
|
-
- lib/pinnacle/forms/types/list_forms_params.rb
|
|
114
|
-
- lib/pinnacle/forms/types/update_form_params.rb
|
|
115
109
|
- lib/pinnacle/internal/errors/constraint_error.rb
|
|
116
110
|
- lib/pinnacle/internal/errors/type_error.rb
|
|
117
111
|
- lib/pinnacle/internal/http/base_request.rb
|
|
@@ -165,6 +159,7 @@ files:
|
|
|
165
159
|
- lib/pinnacle/messages/schedules/types/list_scheduled_messages_params.rb
|
|
166
160
|
- lib/pinnacle/messages/schedules/types/list_scheduled_messages_request_schedule_type.rb
|
|
167
161
|
- lib/pinnacle/messages/schedules/types/list_scheduled_messages_request_status.rb
|
|
162
|
+
- lib/pinnacle/messages/simulate/client.rb
|
|
168
163
|
- lib/pinnacle/messages/sms/client.rb
|
|
169
164
|
- lib/pinnacle/messages/sms/types/send_sms_options.rb
|
|
170
165
|
- lib/pinnacle/messages/sms/types/sms.rb
|
|
@@ -222,7 +217,6 @@ files:
|
|
|
222
217
|
- lib/pinnacle/tools/url/types/create_url_params.rb
|
|
223
218
|
- lib/pinnacle/tools/url/types/list_links_params.rb
|
|
224
219
|
- lib/pinnacle/tools/url/types/update_url_params.rb
|
|
225
|
-
- lib/pinnacle/types/address_field.rb
|
|
226
220
|
- lib/pinnacle/types/advanced_phone_information.rb
|
|
227
221
|
- lib/pinnacle/types/advanced_phone_information_carrier.rb
|
|
228
222
|
- lib/pinnacle/types/advanced_phone_information_contact.rb
|
|
@@ -283,8 +277,6 @@ files:
|
|
|
283
277
|
- lib/pinnacle/types/campaign_validation_result.rb
|
|
284
278
|
- lib/pinnacle/types/carrier_launch_status.rb
|
|
285
279
|
- lib/pinnacle/types/carrier_launches.rb
|
|
286
|
-
- lib/pinnacle/types/checkbox_field.rb
|
|
287
|
-
- lib/pinnacle/types/color_field.rb
|
|
288
280
|
- lib/pinnacle/types/company_entity_type_enum.rb
|
|
289
281
|
- lib/pinnacle/types/company_sector_enum.rb
|
|
290
282
|
- lib/pinnacle/types/company_type_enum.rb
|
|
@@ -296,10 +288,7 @@ files:
|
|
|
296
288
|
- lib/pinnacle/types/conversation_contact.rb
|
|
297
289
|
- lib/pinnacle/types/conversation_list.rb
|
|
298
290
|
- lib/pinnacle/types/conversation_sender.rb
|
|
299
|
-
- lib/pinnacle/types/create_form_request.rb
|
|
300
291
|
- lib/pinnacle/types/create_url_options.rb
|
|
301
|
-
- lib/pinnacle/types/date_field.rb
|
|
302
|
-
- lib/pinnacle/types/datetime_field.rb
|
|
303
292
|
- lib/pinnacle/types/delete_audience_response.rb
|
|
304
293
|
- lib/pinnacle/types/detach_webhook_result.rb
|
|
305
294
|
- lib/pinnacle/types/detached_phone_number_result.rb
|
|
@@ -319,7 +308,6 @@ files:
|
|
|
319
308
|
- lib/pinnacle/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb
|
|
320
309
|
- lib/pinnacle/types/dlc_with_extended_brand_and_status_options.rb
|
|
321
310
|
- lib/pinnacle/types/dlc_with_extended_brand_and_status_use_case.rb
|
|
322
|
-
- lib/pinnacle/types/email_field.rb
|
|
323
311
|
- lib/pinnacle/types/enhanced_contact.rb
|
|
324
312
|
- lib/pinnacle/types/enhanced_contact_item.rb
|
|
325
313
|
- lib/pinnacle/types/error.rb
|
|
@@ -328,34 +316,6 @@ files:
|
|
|
328
316
|
- lib/pinnacle/types/extended_rcs_campaign.rb
|
|
329
317
|
- lib/pinnacle/types/failed_sender.rb
|
|
330
318
|
- lib/pinnacle/types/fallback_message.rb
|
|
331
|
-
- lib/pinnacle/types/field_base.rb
|
|
332
|
-
- lib/pinnacle/types/form.rb
|
|
333
|
-
- lib/pinnacle/types/form_background.rb
|
|
334
|
-
- lib/pinnacle/types/form_background_gradient.rb
|
|
335
|
-
- lib/pinnacle/types/form_background_image.rb
|
|
336
|
-
- lib/pinnacle/types/form_background_pattern.rb
|
|
337
|
-
- lib/pinnacle/types/form_background_pattern_preset.rb
|
|
338
|
-
- lib/pinnacle/types/form_background_solid.rb
|
|
339
|
-
- lib/pinnacle/types/form_color_palette.rb
|
|
340
|
-
- lib/pinnacle/types/form_definition.rb
|
|
341
|
-
- lib/pinnacle/types/form_field.rb
|
|
342
|
-
- lib/pinnacle/types/form_field_option.rb
|
|
343
|
-
- lib/pinnacle/types/form_gradient.rb
|
|
344
|
-
- lib/pinnacle/types/form_gradient_angle.rb
|
|
345
|
-
- lib/pinnacle/types/form_id_reference.rb
|
|
346
|
-
- lib/pinnacle/types/form_submission.rb
|
|
347
|
-
- lib/pinnacle/types/form_submission_answer.rb
|
|
348
|
-
- lib/pinnacle/types/form_submission_event.rb
|
|
349
|
-
- lib/pinnacle/types/form_submission_event_conversation.rb
|
|
350
|
-
- lib/pinnacle/types/form_submission_event_form.rb
|
|
351
|
-
- lib/pinnacle/types/form_submission_event_submission.rb
|
|
352
|
-
- lib/pinnacle/types/form_submitted_field.rb
|
|
353
|
-
- lib/pinnacle/types/form_theme_override.rb
|
|
354
|
-
- lib/pinnacle/types/form_theme_override_colors.rb
|
|
355
|
-
- lib/pinnacle/types/form_theme_override_content_alignment.rb
|
|
356
|
-
- lib/pinnacle/types/form_theme_override_corner_radius.rb
|
|
357
|
-
- lib/pinnacle/types/form_theme_override_font_family.rb
|
|
358
|
-
- lib/pinnacle/types/form_theme_override_theme_mode.rb
|
|
359
319
|
- lib/pinnacle/types/get_conversation_params.rb
|
|
360
320
|
- lib/pinnacle/types/get_dlc_campaign_status_response_updates.rb
|
|
361
321
|
- lib/pinnacle/types/get_toll_free_campaign_status_response_updates.rb
|
|
@@ -367,8 +327,6 @@ files:
|
|
|
367
327
|
- lib/pinnacle/types/list_brands_response.rb
|
|
368
328
|
- lib/pinnacle/types/list_contacts_response.rb
|
|
369
329
|
- lib/pinnacle/types/list_dlc_campaigns_response.rb
|
|
370
|
-
- lib/pinnacle/types/list_form_submissions_response.rb
|
|
371
|
-
- lib/pinnacle/types/list_forms_response.rb
|
|
372
330
|
- lib/pinnacle/types/list_links_response.rb
|
|
373
331
|
- lib/pinnacle/types/list_messages_response.rb
|
|
374
332
|
- lib/pinnacle/types/list_phone_numbers_response.rb
|
|
@@ -418,7 +376,6 @@ files:
|
|
|
418
376
|
- lib/pinnacle/types/mms_validation_response_segments_value_item.rb
|
|
419
377
|
- lib/pinnacle/types/mms_validation_result.rb
|
|
420
378
|
- lib/pinnacle/types/not_found_error_body.rb
|
|
421
|
-
- lib/pinnacle/types/number_field.rb
|
|
422
379
|
- lib/pinnacle/types/number_format.rb
|
|
423
380
|
- lib/pinnacle/types/opt_in_method_enum.rb
|
|
424
381
|
- lib/pinnacle/types/optional_brand_info.rb
|
|
@@ -430,7 +387,6 @@ files:
|
|
|
430
387
|
- lib/pinnacle/types/phone_capabilities.rb
|
|
431
388
|
- lib/pinnacle/types/phone_enum.rb
|
|
432
389
|
- lib/pinnacle/types/phone_feature_enum.rb
|
|
433
|
-
- lib/pinnacle/types/phone_field.rb
|
|
434
390
|
- lib/pinnacle/types/phone_number_campaign_attach_failed_item.rb
|
|
435
391
|
- lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item.rb
|
|
436
392
|
- lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb
|
|
@@ -447,9 +403,6 @@ files:
|
|
|
447
403
|
- lib/pinnacle/types/pinnacle_url_config.rb
|
|
448
404
|
- lib/pinnacle/types/profile_status_enum.rb
|
|
449
405
|
- lib/pinnacle/types/purchased_number.rb
|
|
450
|
-
- lib/pinnacle/types/radio_field.rb
|
|
451
|
-
- lib/pinnacle/types/range_field.rb
|
|
452
|
-
- lib/pinnacle/types/rating_field.rb
|
|
453
406
|
- lib/pinnacle/types/rcs_agent_details.rb
|
|
454
407
|
- lib/pinnacle/types/rcs_agent_details_agent_use_case.rb
|
|
455
408
|
- lib/pinnacle/types/rcs_agent_details_emails_item.rb
|
|
@@ -517,23 +470,10 @@ files:
|
|
|
517
470
|
- lib/pinnacle/types/schedule_cancel_result.rb
|
|
518
471
|
- lib/pinnacle/types/scheduled_blast_details.rb
|
|
519
472
|
- lib/pinnacle/types/scheduled_blast_response_config.rb
|
|
520
|
-
- lib/pinnacle/types/scheduled_form_send_response_form.rb
|
|
521
|
-
- lib/pinnacle/types/scheduled_form_send_response_submission.rb
|
|
522
|
-
- lib/pinnacle/types/scheduled_form_send_result.rb
|
|
523
473
|
- lib/pinnacle/types/scheduled_message.rb
|
|
524
474
|
- lib/pinnacle/types/scheduled_message_summary.rb
|
|
525
475
|
- lib/pinnacle/types/scheduled_message_summary_status.rb
|
|
526
476
|
- lib/pinnacle/types/scheduled_send_response_config.rb
|
|
527
|
-
- lib/pinnacle/types/select_field.rb
|
|
528
|
-
- lib/pinnacle/types/send_form_options.rb
|
|
529
|
-
- lib/pinnacle/types/send_form_options_webview_mode.rb
|
|
530
|
-
- lib/pinnacle/types/send_form_params.rb
|
|
531
|
-
- lib/pinnacle/types/send_form_result.rb
|
|
532
|
-
- lib/pinnacle/types/send_form_via_rcs_params.rb
|
|
533
|
-
- lib/pinnacle/types/send_form_via_rcs_request_fallback.rb
|
|
534
|
-
- lib/pinnacle/types/send_form_via_rcs_request_form.rb
|
|
535
|
-
- lib/pinnacle/types/send_form_via_sms_params.rb
|
|
536
|
-
- lib/pinnacle/types/send_form_via_sms_request_form.rb
|
|
537
477
|
- lib/pinnacle/types/send_rcs_card_options_standalone_card_image_alignment.rb
|
|
538
478
|
- lib/pinnacle/types/send_rcs_card_options_standalone_card_orientation.rb
|
|
539
479
|
- lib/pinnacle/types/send_rich_cards_options.rb
|
|
@@ -550,6 +490,11 @@ files:
|
|
|
550
490
|
- lib/pinnacle/types/sent_sms_details.rb
|
|
551
491
|
- lib/pinnacle/types/shortened_url.rb
|
|
552
492
|
- lib/pinnacle/types/shortened_url_with_click_data.rb
|
|
493
|
+
- lib/pinnacle/types/simulate_message_input.rb
|
|
494
|
+
- lib/pinnacle/types/simulate_user_button.rb
|
|
495
|
+
- lib/pinnacle/types/simulate_user_message.rb
|
|
496
|
+
- lib/pinnacle/types/simulate_user_params.rb
|
|
497
|
+
- lib/pinnacle/types/simulate_user_response.rb
|
|
553
498
|
- lib/pinnacle/types/sms_content.rb
|
|
554
499
|
- lib/pinnacle/types/sms_validation_response_segments.rb
|
|
555
500
|
- lib/pinnacle/types/sms_validation_response_segments_gsm_7.rb
|
|
@@ -561,9 +506,6 @@ files:
|
|
|
561
506
|
- lib/pinnacle/types/successful_conversation_update.rb
|
|
562
507
|
- lib/pinnacle/types/test_agent_response.rb
|
|
563
508
|
- lib/pinnacle/types/test_agent_whitelist_response.rb
|
|
564
|
-
- lib/pinnacle/types/text_field.rb
|
|
565
|
-
- lib/pinnacle/types/textarea_field.rb
|
|
566
|
-
- lib/pinnacle/types/time_field.rb
|
|
567
509
|
- lib/pinnacle/types/toll_free_campaign.rb
|
|
568
510
|
- lib/pinnacle/types/toll_free_campaign_schema_keywords.rb
|
|
569
511
|
- lib/pinnacle/types/toll_free_campaign_schema_keywords_help.rb
|
|
@@ -588,7 +530,15 @@ files:
|
|
|
588
530
|
- lib/pinnacle/types/tracking.rb
|
|
589
531
|
- lib/pinnacle/types/updated_contact_id.rb
|
|
590
532
|
- lib/pinnacle/types/upload_results.rb
|
|
591
|
-
- lib/pinnacle/types/
|
|
533
|
+
- lib/pinnacle/types/user_button_press.rb
|
|
534
|
+
- lib/pinnacle/types/user_button_press_call.rb
|
|
535
|
+
- lib/pinnacle/types/user_button_press_open_url.rb
|
|
536
|
+
- lib/pinnacle/types/user_button_press_request_user_location.rb
|
|
537
|
+
- lib/pinnacle/types/user_button_press_request_user_location_location.rb
|
|
538
|
+
- lib/pinnacle/types/user_button_press_schedule_event.rb
|
|
539
|
+
- lib/pinnacle/types/user_button_press_send_location.rb
|
|
540
|
+
- lib/pinnacle/types/user_button_press_send_location_lat_long.rb
|
|
541
|
+
- lib/pinnacle/types/user_button_press_trigger.rb
|
|
592
542
|
- lib/pinnacle/types/user_event.rb
|
|
593
543
|
- lib/pinnacle/types/user_event_conversation.rb
|
|
594
544
|
- lib/pinnacle/types/v_card_address_schema_type_item.rb
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Forms
|
|
5
|
-
class Client
|
|
6
|
-
# @param client [Pinnacle::Internal::Http::RawClient]
|
|
7
|
-
#
|
|
8
|
-
# @return [void]
|
|
9
|
-
def initialize(client:)
|
|
10
|
-
@client = client
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
# Retrieve a form by id. Includes submission count, last submission timestamp, and archive state.
|
|
14
|
-
#
|
|
15
|
-
# @param request_options [Hash]
|
|
16
|
-
# @param params [Hash]
|
|
17
|
-
# @option request_options [String] :base_url
|
|
18
|
-
# @option request_options [Hash{String => Object}] :additional_headers
|
|
19
|
-
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
20
|
-
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
21
|
-
# @option request_options [Integer] :timeout_in_seconds
|
|
22
|
-
# @option params [String] :id
|
|
23
|
-
#
|
|
24
|
-
# @return [Pinnacle::Types::Form]
|
|
25
|
-
def get(request_options: {}, **params)
|
|
26
|
-
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
|
|
27
|
-
request = Pinnacle::Internal::JSON::Request.new(
|
|
28
|
-
base_url: request_options[:base_url],
|
|
29
|
-
method: "GET",
|
|
30
|
-
path: "forms/#{URI.encode_uri_component(params[:id].to_s)}",
|
|
31
|
-
request_options: request_options
|
|
32
|
-
)
|
|
33
|
-
begin
|
|
34
|
-
response = @client.send(request)
|
|
35
|
-
rescue Net::HTTPRequestTimeout
|
|
36
|
-
raise Pinnacle::Errors::TimeoutError
|
|
37
|
-
end
|
|
38
|
-
code = response.code.to_i
|
|
39
|
-
if code.between?(200, 299)
|
|
40
|
-
Pinnacle::Types::Form.load(response.body)
|
|
41
|
-
else
|
|
42
|
-
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
|
|
43
|
-
raise error_class.new(response.body, code: code)
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
# Partial update. Only keys present in the body are applied. Archived forms (non-null `archived_at`) cannot be
|
|
48
|
-
# updated — restore the form by setting `archived_at: null` in a PATCH first.
|
|
49
|
-
#
|
|
50
|
-
# @param request_options [Hash]
|
|
51
|
-
# @param params [Pinnacle::Forms::Types::UpdateFormParams]
|
|
52
|
-
# @option request_options [String] :base_url
|
|
53
|
-
# @option request_options [Hash{String => Object}] :additional_headers
|
|
54
|
-
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
55
|
-
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
56
|
-
# @option request_options [Integer] :timeout_in_seconds
|
|
57
|
-
# @option params [String] :id
|
|
58
|
-
#
|
|
59
|
-
# @return [Pinnacle::Types::Form]
|
|
60
|
-
def update(request_options: {}, **params)
|
|
61
|
-
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
|
|
62
|
-
request_data = Pinnacle::Forms::Types::UpdateFormParams.new(params).to_h
|
|
63
|
-
non_body_param_names = ["id"]
|
|
64
|
-
body = request_data.except(*non_body_param_names)
|
|
65
|
-
|
|
66
|
-
request = Pinnacle::Internal::JSON::Request.new(
|
|
67
|
-
base_url: request_options[:base_url],
|
|
68
|
-
method: "PATCH",
|
|
69
|
-
path: "forms/#{URI.encode_uri_component(params[:id].to_s)}",
|
|
70
|
-
body: body,
|
|
71
|
-
request_options: request_options
|
|
72
|
-
)
|
|
73
|
-
begin
|
|
74
|
-
response = @client.send(request)
|
|
75
|
-
rescue Net::HTTPRequestTimeout
|
|
76
|
-
raise Pinnacle::Errors::TimeoutError
|
|
77
|
-
end
|
|
78
|
-
code = response.code.to_i
|
|
79
|
-
if code.between?(200, 299)
|
|
80
|
-
Pinnacle::Types::Form.load(response.body)
|
|
81
|
-
else
|
|
82
|
-
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
|
|
83
|
-
raise error_class.new(response.body, code: code)
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
# Paginated list of forms on your team, sorted by creation date (newest first). Includes archived forms.
|
|
88
|
-
#
|
|
89
|
-
# @param request_options [Hash]
|
|
90
|
-
# @param params [Pinnacle::Forms::Types::ListFormsParams]
|
|
91
|
-
# @option request_options [String] :base_url
|
|
92
|
-
# @option request_options [Hash{String => Object}] :additional_headers
|
|
93
|
-
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
94
|
-
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
95
|
-
# @option request_options [Integer] :timeout_in_seconds
|
|
96
|
-
#
|
|
97
|
-
# @return [Pinnacle::Types::ListFormsResponse]
|
|
98
|
-
def list(request_options: {}, **params)
|
|
99
|
-
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
|
|
100
|
-
request = Pinnacle::Internal::JSON::Request.new(
|
|
101
|
-
base_url: request_options[:base_url],
|
|
102
|
-
method: "POST",
|
|
103
|
-
path: "forms/list",
|
|
104
|
-
body: Pinnacle::Forms::Types::ListFormsParams.new(params).to_h,
|
|
105
|
-
request_options: request_options
|
|
106
|
-
)
|
|
107
|
-
begin
|
|
108
|
-
response = @client.send(request)
|
|
109
|
-
rescue Net::HTTPRequestTimeout
|
|
110
|
-
raise Pinnacle::Errors::TimeoutError
|
|
111
|
-
end
|
|
112
|
-
code = response.code.to_i
|
|
113
|
-
if code.between?(200, 299)
|
|
114
|
-
Pinnacle::Types::ListFormsResponse.load(response.body)
|
|
115
|
-
else
|
|
116
|
-
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
|
|
117
|
-
raise error_class.new(response.body, code: code)
|
|
118
|
-
end
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
# Create a hosted form without sending it. <br>
|
|
122
|
-
#
|
|
123
|
-
# Returns the form object including its public URL — `https://forms.pinnacle.sh/{form_id}`. <br>
|
|
124
|
-
#
|
|
125
|
-
# To also deliver the URL to a recipient over SMS or RCS in a single call, use [`POST
|
|
126
|
-
# /forms/send`](/api-reference/forms/send-form).
|
|
127
|
-
#
|
|
128
|
-
# @param request_options [Hash]
|
|
129
|
-
# @param params [Pinnacle::Types::CreateFormRequest]
|
|
130
|
-
# @option request_options [String] :base_url
|
|
131
|
-
# @option request_options [Hash{String => Object}] :additional_headers
|
|
132
|
-
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
133
|
-
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
134
|
-
# @option request_options [Integer] :timeout_in_seconds
|
|
135
|
-
#
|
|
136
|
-
# @return [Pinnacle::Types::Form]
|
|
137
|
-
def create(request_options: {}, **params)
|
|
138
|
-
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
|
|
139
|
-
request = Pinnacle::Internal::JSON::Request.new(
|
|
140
|
-
base_url: request_options[:base_url],
|
|
141
|
-
method: "POST",
|
|
142
|
-
path: "forms",
|
|
143
|
-
body: params,
|
|
144
|
-
request_options: request_options
|
|
145
|
-
)
|
|
146
|
-
begin
|
|
147
|
-
response = @client.send(request)
|
|
148
|
-
rescue Net::HTTPRequestTimeout
|
|
149
|
-
raise Pinnacle::Errors::TimeoutError
|
|
150
|
-
end
|
|
151
|
-
code = response.code.to_i
|
|
152
|
-
if code.between?(200, 299)
|
|
153
|
-
Pinnacle::Types::Form.load(response.body)
|
|
154
|
-
else
|
|
155
|
-
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
|
|
156
|
-
raise error_class.new(response.body, code: code)
|
|
157
|
-
end
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
# Send a form to a recipient over SMS or RCS, or mint a standalone submission URL.
|
|
161
|
-
#
|
|
162
|
-
# Pass `form` as either an existing form id (`form_*`) or an inline `{ fields, ... }` definition to mint a new
|
|
163
|
-
# form for this send.
|
|
164
|
-
#
|
|
165
|
-
# The delivery channel is inferred from `from`:
|
|
166
|
-
# - `from: "agent_*"` → RCS (with optional SMS `fallback`)
|
|
167
|
-
# - `from: "+E.164"` → SMS
|
|
168
|
-
#
|
|
169
|
-
# When `to` is provided, Pinnacle dispatches a message whose body contains the submission URL and the recipient is
|
|
170
|
-
# recorded on the response: `submission.to` echoes the same E.164 number and `message_id` is the id of the
|
|
171
|
-
# outbound SMS/RCS.
|
|
172
|
-
#
|
|
173
|
-
# When `to` is omitted, no message is sent — `submission.to` and `message_id` are both `null` — which is useful
|
|
174
|
-
# for embedding the URL in your own outreach.
|
|
175
|
-
#
|
|
176
|
-
# On completion, a `FORM.SUBMISSION` webhook event is delivered to webhooks subscribed to the sender. See
|
|
177
|
-
# [Receiving Messages and User Events](/guides/messages/receiving).
|
|
178
|
-
#
|
|
179
|
-
# @param request_options [Hash]
|
|
180
|
-
# @param params [Pinnacle::Types::SendFormParams]
|
|
181
|
-
# @option request_options [String] :base_url
|
|
182
|
-
# @option request_options [Hash{String => Object}] :additional_headers
|
|
183
|
-
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
184
|
-
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
185
|
-
# @option request_options [Integer] :timeout_in_seconds
|
|
186
|
-
#
|
|
187
|
-
# @return [Pinnacle::Forms::Types::FormsSendResponse]
|
|
188
|
-
def send_(request_options: {}, **params)
|
|
189
|
-
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
|
|
190
|
-
request = Pinnacle::Internal::JSON::Request.new(
|
|
191
|
-
base_url: request_options[:base_url],
|
|
192
|
-
method: "POST",
|
|
193
|
-
path: "forms/send",
|
|
194
|
-
body: Pinnacle::Types::SendFormParams.new(params).to_h,
|
|
195
|
-
request_options: request_options
|
|
196
|
-
)
|
|
197
|
-
begin
|
|
198
|
-
response = @client.send(request)
|
|
199
|
-
rescue Net::HTTPRequestTimeout
|
|
200
|
-
raise Pinnacle::Errors::TimeoutError
|
|
201
|
-
end
|
|
202
|
-
code = response.code.to_i
|
|
203
|
-
if code.between?(200, 299)
|
|
204
|
-
Pinnacle::Forms::Types::FormsSendResponse.load(response.body)
|
|
205
|
-
else
|
|
206
|
-
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
|
|
207
|
-
raise error_class.new(response.body, code: code)
|
|
208
|
-
end
|
|
209
|
-
end
|
|
210
|
-
|
|
211
|
-
# @return [Pinnacle::Submissions::Client]
|
|
212
|
-
def submissions
|
|
213
|
-
@submissions ||= Pinnacle::Forms::Submissions::Client.new(client: @client)
|
|
214
|
-
end
|
|
215
|
-
end
|
|
216
|
-
end
|
|
217
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Forms
|
|
5
|
-
module Submissions
|
|
6
|
-
module Types
|
|
7
|
-
class ListFormSubmissionsParams < Internal::Types::Model
|
|
8
|
-
field :id, -> { String }, optional: false, nullable: false
|
|
9
|
-
field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
|
|
10
|
-
field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Forms
|
|
5
|
-
module Types
|
|
6
|
-
class FormsSendResponse < Internal::Types::Model
|
|
7
|
-
extend Pinnacle::Internal::Types::Union
|
|
8
|
-
|
|
9
|
-
member -> { Pinnacle::Types::SendFormResult }
|
|
10
|
-
member -> { Pinnacle::Types::ScheduledFormSendResult }
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Forms
|
|
5
|
-
module Types
|
|
6
|
-
class ListFormsParams < Internal::Types::Model
|
|
7
|
-
field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
|
|
8
|
-
field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Forms
|
|
5
|
-
module Types
|
|
6
|
-
class UpdateFormParams < Internal::Types::Model
|
|
7
|
-
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
-
field :name, -> { String }, optional: true, nullable: false
|
|
9
|
-
field :description, -> { String }, optional: true, nullable: false
|
|
10
|
-
field :fields, -> { Internal::Types::Array[Pinnacle::Types::FormField] }, optional: true, nullable: false
|
|
11
|
-
field :can_update, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
12
|
-
field :expires_at, -> { String }, optional: true, nullable: false
|
|
13
|
-
field :theme_override, -> { Pinnacle::Types::FormThemeOverride }, optional: true, nullable: false
|
|
14
|
-
field :archived_at, -> { String }, optional: true, nullable: false
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Free-form text input backed by a client-side Google Places autocomplete. Shares text-field validation (length /
|
|
6
|
-
# pattern); the place lookup happens entirely in the browser and is purely for suggestion UX.
|
|
7
|
-
class AddressField < Internal::Types::Model
|
|
8
|
-
field :placeholder, -> { String }, optional: true, nullable: false
|
|
9
|
-
field :pattern, -> { String }, optional: true, nullable: false
|
|
10
|
-
field :min_length, -> { Integer }, optional: true, nullable: false
|
|
11
|
-
field :max_length, -> { Integer }, optional: true, nullable: false
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Multi-select checkbox group when `options` is provided. If `options` is omitted the field renders as a single
|
|
6
|
-
# boolean checkbox.
|
|
7
|
-
class CheckboxField < Internal::Types::Model
|
|
8
|
-
field :options, -> { Internal::Types::Array[Pinnacle::Types::FormFieldOption] }, optional: true, nullable: false
|
|
9
|
-
field :min_selected, -> { Integer }, optional: true, nullable: false
|
|
10
|
-
field :max_selected, -> { Integer }, optional: true, nullable: false
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
module CreateFormRequest
|
|
6
|
-
# CreateFormRequest is an alias for FormDefinition
|
|
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,12 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Date picker. `min`/`max` accept `YYYY-MM-DD`.
|
|
6
|
-
class DateField < 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,12 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Local-datetime picker. `min`/`max` accept ISO 8601 timestamps.
|
|
6
|
-
class DatetimeField < 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
|
-
# Email input. Server rejects values that fail RFC 5322 validation.
|
|
6
|
-
class EmailField < Internal::Types::Model
|
|
7
|
-
field :placeholder, -> { String }, optional: true, nullable: false
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Properties shared by every field variant. Not intended to be referenced directly — use a specific field type from
|
|
6
|
-
# `FormField`.
|
|
7
|
-
class FieldBase < Internal::Types::Model
|
|
8
|
-
field :key, -> { String }, optional: false, nullable: false
|
|
9
|
-
field :label, -> { String }, optional: false, nullable: false
|
|
10
|
-
field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
11
|
-
field :help_text, -> { String }, optional: true, nullable: false
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
data/lib/pinnacle/types/form.rb
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# A hosted form definition.
|
|
6
|
-
class Form < 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
|
-
field :description, -> { String }, optional: false, nullable: true
|
|
11
|
-
field :fields, -> { Internal::Types::Array[Pinnacle::Types::FormField] }, optional: false, nullable: false
|
|
12
|
-
field :can_update, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
13
|
-
field :expires_at, -> { String }, optional: false, nullable: true
|
|
14
|
-
field :theme_override, -> { Pinnacle::Types::FormThemeOverride }, optional: false, nullable: true
|
|
15
|
-
field :submission_count, -> { Integer }, optional: false, nullable: false
|
|
16
|
-
field :last_submitted_at, -> { String }, optional: false, nullable: true
|
|
17
|
-
field :archived_at, -> { String }, optional: false, nullable: true
|
|
18
|
-
field :created_at, -> { String }, optional: false, nullable: false
|
|
19
|
-
field :updated_at, -> { String }, optional: false, nullable: false
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Background layer for the form page. Discriminated by `type`.
|
|
6
|
-
class FormBackground < Internal::Types::Model
|
|
7
|
-
extend Pinnacle::Internal::Types::Union
|
|
8
|
-
|
|
9
|
-
discriminant :type
|
|
10
|
-
|
|
11
|
-
member -> { Pinnacle::Types::FormBackgroundSolid }, key: "SOLID"
|
|
12
|
-
member -> { Pinnacle::Types::FormBackgroundGradient }, key: "GRADIENT"
|
|
13
|
-
member -> { Pinnacle::Types::FormBackgroundImage }, key: "IMAGE"
|
|
14
|
-
member -> { Pinnacle::Types::FormBackgroundPattern }, key: "PATTERN"
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pinnacle
|
|
4
|
-
module Types
|
|
5
|
-
# Two-stop linear gradient. Supply separate light- and dark-mode gradients; the renderer picks based on
|
|
6
|
-
# `theme_mode`.
|
|
7
|
-
class FormBackgroundGradient < Internal::Types::Model
|
|
8
|
-
field :light, -> { Pinnacle::Types::FormGradient }, optional: false, nullable: false
|
|
9
|
-
field :dark, -> { Pinnacle::Types::FormGradient }, optional: false, nullable: false
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|