rcs 2.0.15 → 2.0.16.pre.rc.2
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 +4 -3
- data/.rubocop.yml +14 -1
- 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 +6 -1
- data/lib/pinnacle/conversations/client.rb +1 -1
- data/lib/pinnacle/forms/client.rb +217 -0
- data/lib/pinnacle/forms/submissions/client.rb +56 -0
- data/lib/pinnacle/forms/submissions/types/list_form_submissions_params.rb +15 -0
- data/lib/pinnacle/forms/types/forms_send_response.rb +14 -0
- data/lib/pinnacle/forms/types/list_forms_params.rb +12 -0
- data/lib/pinnacle/forms/types/update_form_params.rb +18 -0
- data/lib/pinnacle/internal/http/base_request.rb +14 -0
- data/lib/pinnacle/internal/http/raw_client.rb +21 -3
- data/lib/pinnacle/internal/json/request.rb +6 -4
- data/lib/pinnacle/internal/multipart/multipart_request.rb +6 -4
- data/lib/pinnacle/internal/types/union.rb +1 -1
- data/lib/pinnacle/internal/types/utils.rb +2 -2
- data/lib/pinnacle/messages/client.rb +1 -1
- data/lib/pinnacle/messages/schedule/client.rb +1 -1
- 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/address_field.rb +14 -0
- data/lib/pinnacle/types/attach_webhook_response_webhook.rb +1 -0
- data/lib/pinnacle/types/checkbox_field.rb +13 -0
- data/lib/pinnacle/types/color_field.rb +8 -0
- data/lib/pinnacle/types/create_form_request.rb +23 -0
- data/lib/pinnacle/types/date_field.rb +12 -0
- data/lib/pinnacle/types/datetime_field.rb +12 -0
- data/lib/pinnacle/types/email_field.rb +10 -0
- data/lib/pinnacle/types/extended_brand_with_vetting.rb +2 -2
- data/lib/pinnacle/types/field_base.rb +14 -0
- data/lib/pinnacle/types/form.rb +22 -0
- data/lib/pinnacle/types/form_background.rb +17 -0
- data/lib/pinnacle/types/form_background_gradient.rb +12 -0
- data/lib/pinnacle/types/form_background_image.rb +13 -0
- data/lib/pinnacle/types/form_background_pattern.rb +10 -0
- data/lib/pinnacle/types/form_background_pattern_preset.rb +16 -0
- data/lib/pinnacle/types/form_background_solid.rb +34 -0
- data/lib/pinnacle/types/form_color_palette.rb +12 -0
- data/lib/pinnacle/types/form_definition.rb +15 -0
- data/lib/pinnacle/types/form_field.rb +29 -0
- data/lib/pinnacle/types/form_field_option.rb +11 -0
- data/lib/pinnacle/types/form_gradient.rb +12 -0
- data/lib/pinnacle/types/form_gradient_angle.rb +12 -0
- data/lib/pinnacle/types/form_id_reference.rb +23 -0
- data/lib/pinnacle/types/form_submission.rb +19 -0
- data/lib/pinnacle/types/form_submission_answer.rb +20 -0
- data/lib/pinnacle/types/form_submission_event.rb +15 -0
- data/lib/pinnacle/types/form_submission_event_conversation.rb +20 -0
- data/lib/pinnacle/types/form_submission_event_form.rb +12 -0
- data/lib/pinnacle/types/form_submission_event_submission.rb +17 -0
- data/lib/pinnacle/types/form_submitted_field.rb +13 -0
- data/lib/pinnacle/types/form_theme_override.rb +25 -0
- data/lib/pinnacle/types/form_theme_override_colors.rb +12 -0
- data/lib/pinnacle/types/form_theme_override_content_alignment.rb +13 -0
- data/lib/pinnacle/types/form_theme_override_corner_radius.rb +13 -0
- data/lib/pinnacle/types/form_theme_override_font_family.rb +15 -0
- data/lib/pinnacle/types/form_theme_override_theme_mode.rb +13 -0
- data/lib/pinnacle/types/list_form_submissions_response.rb +12 -0
- data/lib/pinnacle/types/list_forms_response.rb +12 -0
- data/lib/pinnacle/types/number_field.rb +13 -0
- data/lib/pinnacle/types/phone_field.rb +11 -0
- data/lib/pinnacle/types/radio_field.rb +10 -0
- data/lib/pinnacle/types/range_field.rb +12 -0
- data/lib/pinnacle/types/rating_field.rb +11 -0
- data/lib/pinnacle/types/rcs_cards_content.rb +1 -1
- data/lib/pinnacle/types/rcs_cards_content_cards_item.rb +1 -1
- data/lib/pinnacle/types/rcs_media_content.rb +1 -1
- data/lib/pinnacle/types/rcs_validate_content_media.rb +1 -1
- data/lib/pinnacle/types/rich_card.rb +1 -1
- data/lib/pinnacle/types/rich_cards.rb +1 -1
- data/lib/pinnacle/types/rich_media_message.rb +1 -1
- data/lib/pinnacle/types/rich_text.rb +1 -1
- data/lib/pinnacle/types/scheduled_form_send_response_form.rb +10 -0
- data/lib/pinnacle/types/scheduled_form_send_response_submission.rb +10 -0
- data/lib/pinnacle/types/scheduled_form_send_result.rb +13 -0
- data/lib/pinnacle/types/select_field.rb +11 -0
- data/lib/pinnacle/types/send_form_options.rb +11 -0
- data/lib/pinnacle/types/send_form_options_webview_mode.rb +13 -0
- data/lib/pinnacle/types/send_form_params.rb +20 -0
- data/lib/pinnacle/types/send_form_result.rb +17 -0
- data/lib/pinnacle/types/send_form_via_rcs_params.rb +14 -0
- data/lib/pinnacle/types/send_form_via_rcs_request_fallback.rb +10 -0
- data/lib/pinnacle/types/send_form_via_rcs_request_form.rb +13 -0
- data/lib/pinnacle/types/send_form_via_sms_params.rb +13 -0
- data/lib/pinnacle/types/send_form_via_sms_request_form.rb +12 -0
- data/lib/pinnacle/types/send_rich_cards_options.rb +5 -0
- data/lib/pinnacle/types/send_rich_message_options_4.rb +13 -0
- data/lib/pinnacle/types/text_field.rb +13 -0
- data/lib/pinnacle/types/textarea_field.rb +13 -0
- data/lib/pinnacle/types/time_field.rb +12 -0
- data/lib/pinnacle/types/url_field.rb +10 -0
- data/lib/pinnacle/types/vcard_content.rb +1 -1
- data/lib/pinnacle/types/webhook_event_enum.rb +1 -0
- data/lib/pinnacle/types/webhook_summary.rb +1 -0
- data/lib/pinnacle/types/webhooks.rb +1 -0
- data/lib/pinnacle/version.rb +1 -1
- data/lib/pinnacle/webhooks/client.rb +7 -1
- data/lib/pinnacle/webhooks/types/attach_webhook_params.rb +1 -0
- data/lib/pinnacle/wrapper/messages/client.rb +5 -2
- data/lib/pinnacle.rb +67 -1
- data/reference.md +826 -301
- metadata +68 -2
data/reference.md
CHANGED
|
@@ -28,13 +28,13 @@ Automatically populate brand information based on partial input data you provide
|
|
|
28
28
|
|
|
29
29
|
```ruby
|
|
30
30
|
client.brands.autofill(
|
|
31
|
-
additional_info:
|
|
32
|
-
name:
|
|
31
|
+
additional_info: "A developer-friendly, compliant API for SMS, MMS, and RCS, built to scale real conversations.",
|
|
32
|
+
name: "Pinnacle",
|
|
33
33
|
options: {
|
|
34
34
|
force_reload: true
|
|
35
35
|
},
|
|
36
|
-
website:
|
|
37
|
-
)
|
|
36
|
+
website: "https://www.pinnacle.sh"
|
|
37
|
+
)
|
|
38
38
|
```
|
|
39
39
|
</dd>
|
|
40
40
|
</dl>
|
|
@@ -127,24 +127,24 @@ All fields are **required** except `description` and `dba`, and will be validate
|
|
|
127
127
|
|
|
128
128
|
```ruby
|
|
129
129
|
client.brands.upsert(
|
|
130
|
-
address:
|
|
130
|
+
address: "500 Folsom St, San Francisco, CA 94105",
|
|
131
131
|
contact: {
|
|
132
|
-
email:
|
|
133
|
-
name:
|
|
134
|
-
phone:
|
|
135
|
-
title:
|
|
132
|
+
email: "michael.chen@trypinnacle.app",
|
|
133
|
+
name: "Michael Chen",
|
|
134
|
+
phone: "+14155551234",
|
|
135
|
+
title: "Customer Support Representative"
|
|
136
136
|
},
|
|
137
|
-
dba:
|
|
138
|
-
description:
|
|
139
|
-
ein:
|
|
140
|
-
email:
|
|
141
|
-
id:
|
|
142
|
-
name:
|
|
143
|
-
sector:
|
|
144
|
-
type:
|
|
145
|
-
entity_type:
|
|
146
|
-
website:
|
|
147
|
-
)
|
|
137
|
+
dba: "Pinnacle RCS",
|
|
138
|
+
description: "A developer-friendly, compliant API for SMS, MMS, and RCS, built to scale real conversations.",
|
|
139
|
+
ein: "88-1234567",
|
|
140
|
+
email: "founders@trypinnacle.app",
|
|
141
|
+
id: "b_1234567890",
|
|
142
|
+
name: "Pinnacle",
|
|
143
|
+
sector: "TECHNOLOGY",
|
|
144
|
+
type: "PRIVATE_PROFIT",
|
|
145
|
+
entity_type: "LLC",
|
|
146
|
+
website: "https://www.pinnacle.sh"
|
|
147
|
+
)
|
|
148
148
|
```
|
|
149
149
|
</dd>
|
|
150
150
|
</dl>
|
|
@@ -297,7 +297,7 @@ Retrieve detailed information for a specific brand in your account by ID.
|
|
|
297
297
|
<dd>
|
|
298
298
|
|
|
299
299
|
```ruby
|
|
300
|
-
client.brands.get(id:
|
|
300
|
+
client.brands.get(id: "b_1234567890")
|
|
301
301
|
```
|
|
302
302
|
</dd>
|
|
303
303
|
</dl>
|
|
@@ -374,7 +374,7 @@ Submit your brand for review and approval by the compliance team.
|
|
|
374
374
|
<dd>
|
|
375
375
|
|
|
376
376
|
```ruby
|
|
377
|
-
client.brands.submit(brand_id:
|
|
377
|
+
client.brands.submit(brand_id: "b_1234567890")
|
|
378
378
|
```
|
|
379
379
|
</dd>
|
|
380
380
|
</dl>
|
|
@@ -439,7 +439,7 @@ Validate your brand information for compliance and correctness before submission
|
|
|
439
439
|
<dd>
|
|
440
440
|
|
|
441
441
|
```ruby
|
|
442
|
-
client.brands.validate
|
|
442
|
+
client.brands.validate
|
|
443
443
|
```
|
|
444
444
|
</dd>
|
|
445
445
|
</dl>
|
|
@@ -502,11 +502,11 @@ Submit a brand for external vetting verification to enhance your brand's trust s
|
|
|
502
502
|
|
|
503
503
|
```ruby
|
|
504
504
|
client.brands.vet(
|
|
505
|
-
brand_id:
|
|
506
|
-
type:
|
|
507
|
-
provider:
|
|
508
|
-
vetting_class:
|
|
509
|
-
)
|
|
505
|
+
brand_id: "b_1234567890",
|
|
506
|
+
type: "EXTERNAL",
|
|
507
|
+
provider: "AEGIS",
|
|
508
|
+
vetting_class: "STANDARD"
|
|
509
|
+
)
|
|
510
510
|
```
|
|
511
511
|
</dd>
|
|
512
512
|
</dl>
|
|
@@ -596,7 +596,7 @@ List all brands with optional filtering and pagination. Results are sorted by cr
|
|
|
596
596
|
<dd>
|
|
597
597
|
|
|
598
598
|
```ruby
|
|
599
|
-
client.brands.list
|
|
599
|
+
client.brands.list
|
|
600
600
|
```
|
|
601
601
|
</dd>
|
|
602
602
|
</dl>
|
|
@@ -691,7 +691,7 @@ Retrieve an audience by ID with optional pagination.
|
|
|
691
691
|
<dd>
|
|
692
692
|
|
|
693
693
|
```ruby
|
|
694
|
-
client.audiences.get(id:
|
|
694
|
+
client.audiences.get(id: "aud_abc123")
|
|
695
695
|
```
|
|
696
696
|
</dd>
|
|
697
697
|
</dl>
|
|
@@ -770,9 +770,9 @@ Create a new audience with optional initial contacts. Phone numbers that don't e
|
|
|
770
770
|
|
|
771
771
|
```ruby
|
|
772
772
|
client.audiences.create(
|
|
773
|
-
name:
|
|
774
|
-
description:
|
|
775
|
-
)
|
|
773
|
+
name: "Marketing Campaign Q1",
|
|
774
|
+
description: "Contacts for Q1 marketing push"
|
|
775
|
+
)
|
|
776
776
|
```
|
|
777
777
|
</dd>
|
|
778
778
|
</dl>
|
|
@@ -852,7 +852,7 @@ Note: This will NOT delete the contacts themselves, only the audience and its me
|
|
|
852
852
|
<dd>
|
|
853
853
|
|
|
854
854
|
```ruby
|
|
855
|
-
client.audiences.delete(id:
|
|
855
|
+
client.audiences.delete(id: "aud_abc123")
|
|
856
856
|
```
|
|
857
857
|
</dd>
|
|
858
858
|
</dl>
|
|
@@ -917,10 +917,10 @@ To add or remove contacts, use the [Add Contacts](/api-reference/audiences/add-c
|
|
|
917
917
|
|
|
918
918
|
```ruby
|
|
919
919
|
client.audiences.update(
|
|
920
|
-
id:
|
|
921
|
-
name:
|
|
922
|
-
description:
|
|
923
|
-
)
|
|
920
|
+
id: "aud_abc123",
|
|
921
|
+
name: "Updated Audience Name",
|
|
922
|
+
description: "New description"
|
|
923
|
+
)
|
|
924
924
|
```
|
|
925
925
|
</dd>
|
|
926
926
|
</dl>
|
|
@@ -998,7 +998,7 @@ List all audiences with optional filtering and pagination. Results are sorted by
|
|
|
998
998
|
<dd>
|
|
999
999
|
|
|
1000
1000
|
```ruby
|
|
1001
|
-
client.audiences.list
|
|
1001
|
+
client.audiences.list
|
|
1002
1002
|
```
|
|
1003
1003
|
</dd>
|
|
1004
1004
|
</dl>
|
|
@@ -1077,7 +1077,7 @@ Retrieve contact information for a given number.
|
|
|
1077
1077
|
<dd>
|
|
1078
1078
|
|
|
1079
1079
|
```ruby
|
|
1080
|
-
client.contacts.get(id:
|
|
1080
|
+
client.contacts.get(id: "co_1234567890")
|
|
1081
1081
|
```
|
|
1082
1082
|
</dd>
|
|
1083
1083
|
</dl>
|
|
@@ -1151,7 +1151,7 @@ Create a new contact for a given phone number.
|
|
|
1151
1151
|
<dd>
|
|
1152
1152
|
|
|
1153
1153
|
```ruby
|
|
1154
|
-
client.contacts.create(phone_number:
|
|
1154
|
+
client.contacts.create(phone_number: "phoneNumber")
|
|
1155
1155
|
```
|
|
1156
1156
|
</dd>
|
|
1157
1157
|
</dl>
|
|
@@ -1214,12 +1214,12 @@ Update an existing contact.
|
|
|
1214
1214
|
|
|
1215
1215
|
```ruby
|
|
1216
1216
|
client.contacts.update(
|
|
1217
|
-
description:
|
|
1218
|
-
email:
|
|
1219
|
-
name:
|
|
1220
|
-
tags: [
|
|
1221
|
-
id:
|
|
1222
|
-
)
|
|
1217
|
+
description: "Retired",
|
|
1218
|
+
email: "alvaroopedtech@pinnacle.sh",
|
|
1219
|
+
name: "Retired Bestie",
|
|
1220
|
+
tags: ["friend"],
|
|
1221
|
+
id: "co_1234567890"
|
|
1222
|
+
)
|
|
1223
1223
|
```
|
|
1224
1224
|
</dd>
|
|
1225
1225
|
</dl>
|
|
@@ -1281,7 +1281,7 @@ List all contacts with optional filtering and pagination. Results are sorted by
|
|
|
1281
1281
|
<dd>
|
|
1282
1282
|
|
|
1283
1283
|
```ruby
|
|
1284
|
-
client.contacts.list
|
|
1284
|
+
client.contacts.list
|
|
1285
1285
|
```
|
|
1286
1286
|
</dd>
|
|
1287
1287
|
</dl>
|
|
@@ -1384,7 +1384,7 @@ Fetch a specific conversation using either its unique identifier or by matching
|
|
|
1384
1384
|
<dd>
|
|
1385
1385
|
|
|
1386
1386
|
```ruby
|
|
1387
|
-
client.conversations.get(id:
|
|
1387
|
+
client.conversations.get(id: "conv_1234567890")
|
|
1388
1388
|
```
|
|
1389
1389
|
</dd>
|
|
1390
1390
|
</dl>
|
|
@@ -1447,14 +1447,14 @@ Retrieves conversations by page with optional filtering based off provided param
|
|
|
1447
1447
|
|
|
1448
1448
|
```ruby
|
|
1449
1449
|
client.conversations.list(
|
|
1450
|
-
brand_id:
|
|
1451
|
-
campaign_id:
|
|
1452
|
-
campaign_type:
|
|
1450
|
+
brand_id: "b_1234567890",
|
|
1451
|
+
campaign_id: "tf_1234567890",
|
|
1452
|
+
campaign_type: "TOLL_FREE",
|
|
1453
1453
|
page_index: 0,
|
|
1454
1454
|
page_size: 20,
|
|
1455
|
-
receiver:
|
|
1456
|
-
sender:
|
|
1457
|
-
)
|
|
1455
|
+
receiver: "+16509231662",
|
|
1456
|
+
sender: "+18445551234"
|
|
1457
|
+
)
|
|
1458
1458
|
```
|
|
1459
1459
|
</dd>
|
|
1460
1460
|
</dl>
|
|
@@ -1570,9 +1570,9 @@ Update the notes associated with a specific conversation.
|
|
|
1570
1570
|
|
|
1571
1571
|
```ruby
|
|
1572
1572
|
client.conversations.update(
|
|
1573
|
-
id:
|
|
1574
|
-
notes:
|
|
1575
|
-
)
|
|
1573
|
+
id: "conv_1234567890",
|
|
1574
|
+
notes: "Follow-up completed. Customer satisfied with resolution."
|
|
1575
|
+
)
|
|
1576
1576
|
```
|
|
1577
1577
|
</dd>
|
|
1578
1578
|
</dl>
|
|
@@ -1642,7 +1642,7 @@ Retrieve a paginated and filtered list of messages for a specific conversation.
|
|
|
1642
1642
|
<dd>
|
|
1643
1643
|
|
|
1644
1644
|
```ruby
|
|
1645
|
-
client.conversations.list_messages(id:
|
|
1645
|
+
client.conversations.list_messages(id: "id")
|
|
1646
1646
|
```
|
|
1647
1647
|
</dd>
|
|
1648
1648
|
</dl>
|
|
@@ -1779,7 +1779,7 @@ Retrieve a previously sent message.
|
|
|
1779
1779
|
<dd>
|
|
1780
1780
|
|
|
1781
1781
|
```ruby
|
|
1782
|
-
client.messages.get(id:
|
|
1782
|
+
client.messages.get(id: "msg_1234567890")
|
|
1783
1783
|
```
|
|
1784
1784
|
</dd>
|
|
1785
1785
|
</dl>
|
|
@@ -1842,12 +1842,12 @@ Add or remove an emoji reaction to a previously sent message.
|
|
|
1842
1842
|
|
|
1843
1843
|
```ruby
|
|
1844
1844
|
client.messages.react(
|
|
1845
|
-
message_id:
|
|
1845
|
+
message_id: "msg_1234567890",
|
|
1846
1846
|
options: {
|
|
1847
1847
|
force: true
|
|
1848
1848
|
},
|
|
1849
|
-
reaction:
|
|
1850
|
-
)
|
|
1849
|
+
reaction: "👍"
|
|
1850
|
+
)
|
|
1851
1851
|
```
|
|
1852
1852
|
</dd>
|
|
1853
1853
|
</dl>
|
|
@@ -1929,7 +1929,7 @@ List all messages with optional filtering and pagination. Results are sorted by
|
|
|
1929
1929
|
<dd>
|
|
1930
1930
|
|
|
1931
1931
|
```ruby
|
|
1932
|
-
client.messages.list
|
|
1932
|
+
client.messages.list
|
|
1933
1933
|
```
|
|
1934
1934
|
</dd>
|
|
1935
1935
|
</dl>
|
|
@@ -2073,20 +2073,20 @@ Search for available phone numbers that match your exact criteria.
|
|
|
2073
2073
|
|
|
2074
2074
|
```ruby
|
|
2075
2075
|
client.phone_numbers.search(
|
|
2076
|
-
features: [
|
|
2076
|
+
features: %w[SMS MMS],
|
|
2077
2077
|
location: {
|
|
2078
|
-
city:
|
|
2079
|
-
national_destination_code:
|
|
2078
|
+
city: "New York",
|
|
2079
|
+
national_destination_code: "212"
|
|
2080
2080
|
},
|
|
2081
2081
|
number: {
|
|
2082
|
-
contains:
|
|
2083
|
-
starts_with:
|
|
2082
|
+
contains: "514",
|
|
2083
|
+
starts_with: "45"
|
|
2084
2084
|
},
|
|
2085
2085
|
options: {
|
|
2086
2086
|
limit: 4
|
|
2087
2087
|
},
|
|
2088
|
-
type: [
|
|
2089
|
-
)
|
|
2088
|
+
type: ["LOCAL"]
|
|
2089
|
+
)
|
|
2090
2090
|
```
|
|
2091
2091
|
</dd>
|
|
2092
2092
|
</dl>
|
|
@@ -2186,7 +2186,7 @@ Billing uses your account credits and the numbers are ready for immediate use.
|
|
|
2186
2186
|
<dd>
|
|
2187
2187
|
|
|
2188
2188
|
```ruby
|
|
2189
|
-
client.phone_numbers.buy(numbers: [
|
|
2189
|
+
client.phone_numbers.buy(numbers: ["+18559491727"])
|
|
2190
2190
|
```
|
|
2191
2191
|
</dd>
|
|
2192
2192
|
</dl>
|
|
@@ -2255,15 +2255,15 @@ Retrieve information about any phone number.
|
|
|
2255
2255
|
|
|
2256
2256
|
```ruby
|
|
2257
2257
|
client.phone_numbers.get(
|
|
2258
|
-
phone:
|
|
2259
|
-
level:
|
|
2258
|
+
phone: "+11234567890",
|
|
2259
|
+
level: "advanced",
|
|
2260
2260
|
options: {
|
|
2261
2261
|
risk: true,
|
|
2262
2262
|
enhanced_contact_info: {
|
|
2263
|
-
context:
|
|
2263
|
+
context: "This is my friend from JZ. He has done a lot in the crypto space."
|
|
2264
2264
|
}
|
|
2265
2265
|
}
|
|
2266
|
-
)
|
|
2266
|
+
)
|
|
2267
2267
|
```
|
|
2268
2268
|
</dd>
|
|
2269
2269
|
</dl>
|
|
@@ -2345,7 +2345,7 @@ List all owned phone numbers with pagination. Results are sorted by creation dat
|
|
|
2345
2345
|
<dd>
|
|
2346
2346
|
|
|
2347
2347
|
```ruby
|
|
2348
|
-
client.phone_numbers.list
|
|
2348
|
+
client.phone_numbers.list
|
|
2349
2349
|
```
|
|
2350
2350
|
</dd>
|
|
2351
2351
|
</dl>
|
|
@@ -2419,7 +2419,7 @@ contact information, and other settings.
|
|
|
2419
2419
|
<dd>
|
|
2420
2420
|
|
|
2421
2421
|
```ruby
|
|
2422
|
-
client.rcs.get_agent(agent_id:
|
|
2422
|
+
client.rcs.get_agent(agent_id: "agent_abc123def456")
|
|
2423
2423
|
```
|
|
2424
2424
|
</dd>
|
|
2425
2425
|
</dl>
|
|
@@ -2484,7 +2484,7 @@ on specific phone numbers before sending RCS messages to them.
|
|
|
2484
2484
|
<dd>
|
|
2485
2485
|
|
|
2486
2486
|
```ruby
|
|
2487
|
-
client.rcs.get_capabilities(phone_numbers: [
|
|
2487
|
+
client.rcs.get_capabilities(phone_numbers: %w[+12345678901 +19876543210])
|
|
2488
2488
|
```
|
|
2489
2489
|
</dd>
|
|
2490
2490
|
</dl>
|
|
@@ -2561,10 +2561,10 @@ from websites, emails, or other applications.
|
|
|
2561
2561
|
|
|
2562
2562
|
```ruby
|
|
2563
2563
|
client.rcs.get_link(
|
|
2564
|
-
agent_id:
|
|
2565
|
-
phone_number:
|
|
2566
|
-
body:
|
|
2567
|
-
)
|
|
2564
|
+
agent_id: "agent_XXXXXXXXXXXX",
|
|
2565
|
+
phone_number: "+12345678901",
|
|
2566
|
+
body: "Hello, I need help with my order"
|
|
2567
|
+
)
|
|
2568
2568
|
```
|
|
2569
2569
|
</dd>
|
|
2570
2570
|
</dl>
|
|
@@ -2643,7 +2643,7 @@ Retrieve all webhook that are set up to receive events for specific URLs or phon
|
|
|
2643
2643
|
<dd>
|
|
2644
2644
|
|
|
2645
2645
|
```ruby
|
|
2646
|
-
client.webhooks.get(identifiers: [
|
|
2646
|
+
client.webhooks.get(identifiers: %w[https://www.pinnacle.sh/payment +14155678901 https://www.pinnacle.sh/sms-callback +14153456659])
|
|
2647
2647
|
```
|
|
2648
2648
|
</dd>
|
|
2649
2649
|
</dl>
|
|
@@ -2708,7 +2708,7 @@ List all webhooks with optional filtering and pagination. Results are sorted by
|
|
|
2708
2708
|
<dd>
|
|
2709
2709
|
|
|
2710
2710
|
```ruby
|
|
2711
|
-
client.webhooks.list
|
|
2711
|
+
client.webhooks.list
|
|
2712
2712
|
```
|
|
2713
2713
|
</dd>
|
|
2714
2714
|
</dl>
|
|
@@ -2783,7 +2783,9 @@ Attach a webhook to one or more senders (phone numbers or RCS agent IDs) to rece
|
|
|
2783
2783
|
|
|
2784
2784
|
You can attach an existing webhook by providing its ID, or create a new webhook by specifying a name and URL. Supports bulk operations with up to 50 senders per request. <br>
|
|
2785
2785
|
|
|
2786
|
-
Subscriptions are additive — attaching new senders does not remove existing ones. Re-attaching the same sender updates the event type filter without creating duplicates.
|
|
2786
|
+
Subscriptions are additive — attaching new senders does not remove existing ones. Re-attaching the same sender updates the event type filter without creating duplicates. <br>
|
|
2787
|
+
|
|
2788
|
+
**Custom headers** may be provided in either case via the optional `headers` field. When attaching a new webhook, the headers are stored on the webhook and sent on every delivery. When attaching an existing `webhookId`, supplying `headers` **overwrites** the stored headers on that webhook — omit the field to leave them unchanged, or pass an empty object `{}` to clear them. The reserved `PINNACLE-SIGNING-SECRET` header is always set by Pinnacle and cannot be overridden.
|
|
2787
2789
|
</dd>
|
|
2788
2790
|
</dl>
|
|
2789
2791
|
</dd>
|
|
@@ -2798,7 +2800,7 @@ Subscriptions are additive — attaching new senders does not remove existing on
|
|
|
2798
2800
|
<dd>
|
|
2799
2801
|
|
|
2800
2802
|
```ruby
|
|
2801
|
-
client.webhooks.attach(senders: [
|
|
2803
|
+
client.webhooks.attach(senders: %w[+14155551234 agent_abc123])
|
|
2802
2804
|
```
|
|
2803
2805
|
</dd>
|
|
2804
2806
|
</dl>
|
|
@@ -2821,7 +2823,11 @@ client.webhooks.attach(senders: ['+14155551234', 'agent_abc123']);
|
|
|
2821
2823
|
<dl>
|
|
2822
2824
|
<dd>
|
|
2823
2825
|
|
|
2824
|
-
**webhook_id:** `String`
|
|
2826
|
+
**webhook_id:** `String`
|
|
2827
|
+
|
|
2828
|
+
Existing webhook ID (starts with `wh_`). Provide this OR `name` + `url` to create a new webhook. The webhook must be in ENABLED status. Disabled webhooks can be re-enabled from the [dashboard](https://app.pinnacle.sh/dashboard/development/webhooks).
|
|
2829
|
+
|
|
2830
|
+
Supplying `headers` alongside `webhookId` **overwrites** the stored headers on the webhook. Omit `headers` to leave them unchanged.
|
|
2825
2831
|
|
|
2826
2832
|
</dd>
|
|
2827
2833
|
</dl>
|
|
@@ -2857,6 +2863,22 @@ Event type filter for the subscription. Set to `null` to receive all events. <br
|
|
|
2857
2863
|
<dl>
|
|
2858
2864
|
<dd>
|
|
2859
2865
|
|
|
2866
|
+
**headers:** `Internal::Types::Hash[String, String]`
|
|
2867
|
+
|
|
2868
|
+
Optional custom HTTP headers (key-value map) to include when dispatching webhook events to the endpoint.
|
|
2869
|
+
|
|
2870
|
+
Header names must start with a letter or digit and contain only letters, digits, `-`, or `_` (matching the pattern `^[A-Za-z0-9][A-Za-z0-9_-]*$`). Names are case-insensitive per [RFC 9110](https://datatracker.ietf.org/doc/html/rfc9110#name-field-names) and are normalized to uppercase before storage and sending.
|
|
2871
|
+
|
|
2872
|
+
When provided with an existing `webhookId`, these headers **overwrite** any headers currently stored on that webhook. Omit to leave existing headers unchanged.
|
|
2873
|
+
|
|
2874
|
+
The reserved `PINNACLE-SIGNING-SECRET` header is silently ignored and cannot be overridden.
|
|
2875
|
+
|
|
2876
|
+
</dd>
|
|
2877
|
+
</dl>
|
|
2878
|
+
|
|
2879
|
+
<dl>
|
|
2880
|
+
<dd>
|
|
2881
|
+
|
|
2860
2882
|
**request_options:** `Pinnacle::Webhooks::RequestOptions`
|
|
2861
2883
|
|
|
2862
2884
|
</dd>
|
|
@@ -2899,9 +2921,9 @@ The webhook itself is not deleted and remains available for use with other sende
|
|
|
2899
2921
|
|
|
2900
2922
|
```ruby
|
|
2901
2923
|
client.webhooks.detach(
|
|
2902
|
-
webhook_id:
|
|
2903
|
-
senders: [
|
|
2904
|
-
)
|
|
2924
|
+
webhook_id: "webhookId",
|
|
2925
|
+
senders: %w[+14155551234 agent_abc123]
|
|
2926
|
+
)
|
|
2905
2927
|
```
|
|
2906
2928
|
</dd>
|
|
2907
2929
|
</dl>
|
|
@@ -2940,6 +2962,426 @@ client.webhooks.detach(
|
|
|
2940
2962
|
</dl>
|
|
2941
2963
|
|
|
2942
2964
|
|
|
2965
|
+
</dd>
|
|
2966
|
+
</dl>
|
|
2967
|
+
</details>
|
|
2968
|
+
|
|
2969
|
+
## Forms
|
|
2970
|
+
<details><summary><code>client.forms.<a href="/lib/pinnacle/forms/client.rb">get</a>(id) -> Pinnacle::Types::Form</code></summary>
|
|
2971
|
+
<dl>
|
|
2972
|
+
<dd>
|
|
2973
|
+
|
|
2974
|
+
#### 📝 Description
|
|
2975
|
+
|
|
2976
|
+
<dl>
|
|
2977
|
+
<dd>
|
|
2978
|
+
|
|
2979
|
+
<dl>
|
|
2980
|
+
<dd>
|
|
2981
|
+
|
|
2982
|
+
Retrieve a form by id. Includes submission count, last submission timestamp, and archive state.
|
|
2983
|
+
</dd>
|
|
2984
|
+
</dl>
|
|
2985
|
+
</dd>
|
|
2986
|
+
</dl>
|
|
2987
|
+
|
|
2988
|
+
#### 🔌 Usage
|
|
2989
|
+
|
|
2990
|
+
<dl>
|
|
2991
|
+
<dd>
|
|
2992
|
+
|
|
2993
|
+
<dl>
|
|
2994
|
+
<dd>
|
|
2995
|
+
|
|
2996
|
+
```ruby
|
|
2997
|
+
client.forms.get(id: "form_Oy2n7iUoi9CJwUU6")
|
|
2998
|
+
```
|
|
2999
|
+
</dd>
|
|
3000
|
+
</dl>
|
|
3001
|
+
</dd>
|
|
3002
|
+
</dl>
|
|
3003
|
+
|
|
3004
|
+
#### ⚙️ Parameters
|
|
3005
|
+
|
|
3006
|
+
<dl>
|
|
3007
|
+
<dd>
|
|
3008
|
+
|
|
3009
|
+
<dl>
|
|
3010
|
+
<dd>
|
|
3011
|
+
|
|
3012
|
+
**id:** `String`
|
|
3013
|
+
|
|
3014
|
+
The unique identifier of the form you want to retrieve.
|
|
3015
|
+
<br><br> This identifier is a string that always begins with the prefix `form_`, for example: `form_Oy2n7iUoi9CJwUU6`. It's returned on every form response (`Form.id`) and by [`POST /forms/send`](/api-reference/forms/send-form) (`response.form.id`).
|
|
3016
|
+
|
|
3017
|
+
</dd>
|
|
3018
|
+
</dl>
|
|
3019
|
+
|
|
3020
|
+
<dl>
|
|
3021
|
+
<dd>
|
|
3022
|
+
|
|
3023
|
+
**request_options:** `Pinnacle::Forms::RequestOptions`
|
|
3024
|
+
|
|
3025
|
+
</dd>
|
|
3026
|
+
</dl>
|
|
3027
|
+
</dd>
|
|
3028
|
+
</dl>
|
|
3029
|
+
|
|
3030
|
+
|
|
3031
|
+
</dd>
|
|
3032
|
+
</dl>
|
|
3033
|
+
</details>
|
|
3034
|
+
|
|
3035
|
+
<details><summary><code>client.forms.<a href="/lib/pinnacle/forms/client.rb">update</a>(id, request) -> Pinnacle::Types::Form</code></summary>
|
|
3036
|
+
<dl>
|
|
3037
|
+
<dd>
|
|
3038
|
+
|
|
3039
|
+
#### 📝 Description
|
|
3040
|
+
|
|
3041
|
+
<dl>
|
|
3042
|
+
<dd>
|
|
3043
|
+
|
|
3044
|
+
<dl>
|
|
3045
|
+
<dd>
|
|
3046
|
+
|
|
3047
|
+
Partial update. Only keys present in the body are applied. Archived forms (non-null `archived_at`) cannot be updated — restore the form by setting `archived_at: null` in a PATCH first.
|
|
3048
|
+
</dd>
|
|
3049
|
+
</dl>
|
|
3050
|
+
</dd>
|
|
3051
|
+
</dl>
|
|
3052
|
+
|
|
3053
|
+
#### 🔌 Usage
|
|
3054
|
+
|
|
3055
|
+
<dl>
|
|
3056
|
+
<dd>
|
|
3057
|
+
|
|
3058
|
+
<dl>
|
|
3059
|
+
<dd>
|
|
3060
|
+
|
|
3061
|
+
```ruby
|
|
3062
|
+
client.forms.update(
|
|
3063
|
+
id: "form_Oy2n7iUoi9CJwUU6",
|
|
3064
|
+
name: "Contact request (v2)",
|
|
3065
|
+
can_update: true,
|
|
3066
|
+
expires_at: "2026-12-31T23:59:59Z"
|
|
3067
|
+
)
|
|
3068
|
+
```
|
|
3069
|
+
</dd>
|
|
3070
|
+
</dl>
|
|
3071
|
+
</dd>
|
|
3072
|
+
</dl>
|
|
3073
|
+
|
|
3074
|
+
#### ⚙️ Parameters
|
|
3075
|
+
|
|
3076
|
+
<dl>
|
|
3077
|
+
<dd>
|
|
3078
|
+
|
|
3079
|
+
<dl>
|
|
3080
|
+
<dd>
|
|
3081
|
+
|
|
3082
|
+
**id:** `String`
|
|
3083
|
+
|
|
3084
|
+
The unique identifier of the form you want to update.
|
|
3085
|
+
<br><br> This identifier is a string that always begins with the prefix `form_`, for example: `form_Oy2n7iUoi9CJwUU6`.
|
|
3086
|
+
|
|
3087
|
+
</dd>
|
|
3088
|
+
</dl>
|
|
3089
|
+
|
|
3090
|
+
<dl>
|
|
3091
|
+
<dd>
|
|
3092
|
+
|
|
3093
|
+
**name:** `String` — Replace the form's title. Pass `null` to clear.
|
|
3094
|
+
|
|
3095
|
+
</dd>
|
|
3096
|
+
</dl>
|
|
3097
|
+
|
|
3098
|
+
<dl>
|
|
3099
|
+
<dd>
|
|
3100
|
+
|
|
3101
|
+
**description:** `String` — Replace the form's description. Pass `null` to clear.
|
|
3102
|
+
|
|
3103
|
+
</dd>
|
|
3104
|
+
</dl>
|
|
3105
|
+
|
|
3106
|
+
<dl>
|
|
3107
|
+
<dd>
|
|
3108
|
+
|
|
3109
|
+
**fields:** `Internal::Types::Array[Pinnacle::Types::FormField]` — Replace the full set of fields on the form. Partial field updates aren't supported — send the complete new list.
|
|
3110
|
+
|
|
3111
|
+
</dd>
|
|
3112
|
+
</dl>
|
|
3113
|
+
|
|
3114
|
+
<dl>
|
|
3115
|
+
<dd>
|
|
3116
|
+
|
|
3117
|
+
**can_update:** `Internal::Types::Boolean` — Toggle whether the recipient can re-edit their submission.
|
|
3118
|
+
|
|
3119
|
+
</dd>
|
|
3120
|
+
</dl>
|
|
3121
|
+
|
|
3122
|
+
<dl>
|
|
3123
|
+
<dd>
|
|
3124
|
+
|
|
3125
|
+
**expires_at:** `String` — Set or clear the form's expiration timestamp.
|
|
3126
|
+
|
|
3127
|
+
</dd>
|
|
3128
|
+
</dl>
|
|
3129
|
+
|
|
3130
|
+
<dl>
|
|
3131
|
+
<dd>
|
|
3132
|
+
|
|
3133
|
+
**theme_override:** `Pinnacle::Types::FormThemeOverride` — Replace the per-form theme override. Pass `null` to revert to team defaults.
|
|
3134
|
+
|
|
3135
|
+
</dd>
|
|
3136
|
+
</dl>
|
|
3137
|
+
|
|
3138
|
+
<dl>
|
|
3139
|
+
<dd>
|
|
3140
|
+
|
|
3141
|
+
**archived_at:** `String` — Set to an ISO timestamp to archive the form (soft-delete), or `null` to restore an archived form.
|
|
3142
|
+
|
|
3143
|
+
</dd>
|
|
3144
|
+
</dl>
|
|
3145
|
+
|
|
3146
|
+
<dl>
|
|
3147
|
+
<dd>
|
|
3148
|
+
|
|
3149
|
+
**request_options:** `Pinnacle::Forms::RequestOptions`
|
|
3150
|
+
|
|
3151
|
+
</dd>
|
|
3152
|
+
</dl>
|
|
3153
|
+
</dd>
|
|
3154
|
+
</dl>
|
|
3155
|
+
|
|
3156
|
+
|
|
3157
|
+
</dd>
|
|
3158
|
+
</dl>
|
|
3159
|
+
</details>
|
|
3160
|
+
|
|
3161
|
+
<details><summary><code>client.forms.<a href="/lib/pinnacle/forms/client.rb">list</a>(request) -> Pinnacle::Types::ListFormsResponse</code></summary>
|
|
3162
|
+
<dl>
|
|
3163
|
+
<dd>
|
|
3164
|
+
|
|
3165
|
+
#### 📝 Description
|
|
3166
|
+
|
|
3167
|
+
<dl>
|
|
3168
|
+
<dd>
|
|
3169
|
+
|
|
3170
|
+
<dl>
|
|
3171
|
+
<dd>
|
|
3172
|
+
|
|
3173
|
+
Paginated list of forms on your team, sorted by creation date (newest first). Includes archived forms.
|
|
3174
|
+
</dd>
|
|
3175
|
+
</dl>
|
|
3176
|
+
</dd>
|
|
3177
|
+
</dl>
|
|
3178
|
+
|
|
3179
|
+
#### 🔌 Usage
|
|
3180
|
+
|
|
3181
|
+
<dl>
|
|
3182
|
+
<dd>
|
|
3183
|
+
|
|
3184
|
+
<dl>
|
|
3185
|
+
<dd>
|
|
3186
|
+
|
|
3187
|
+
```ruby
|
|
3188
|
+
client.forms.list(
|
|
3189
|
+
page_index: 0,
|
|
3190
|
+
page_size: 20
|
|
3191
|
+
)
|
|
3192
|
+
```
|
|
3193
|
+
</dd>
|
|
3194
|
+
</dl>
|
|
3195
|
+
</dd>
|
|
3196
|
+
</dl>
|
|
3197
|
+
|
|
3198
|
+
#### ⚙️ Parameters
|
|
3199
|
+
|
|
3200
|
+
<dl>
|
|
3201
|
+
<dd>
|
|
3202
|
+
|
|
3203
|
+
<dl>
|
|
3204
|
+
<dd>
|
|
3205
|
+
|
|
3206
|
+
**page_index:** `Integer` — Zero-based page index.
|
|
3207
|
+
|
|
3208
|
+
</dd>
|
|
3209
|
+
</dl>
|
|
3210
|
+
|
|
3211
|
+
<dl>
|
|
3212
|
+
<dd>
|
|
3213
|
+
|
|
3214
|
+
**page_size:** `Integer` — Number of forms to return in a single page. Max 100.
|
|
3215
|
+
|
|
3216
|
+
</dd>
|
|
3217
|
+
</dl>
|
|
3218
|
+
|
|
3219
|
+
<dl>
|
|
3220
|
+
<dd>
|
|
3221
|
+
|
|
3222
|
+
**request_options:** `Pinnacle::Forms::RequestOptions`
|
|
3223
|
+
|
|
3224
|
+
</dd>
|
|
3225
|
+
</dl>
|
|
3226
|
+
</dd>
|
|
3227
|
+
</dl>
|
|
3228
|
+
|
|
3229
|
+
|
|
3230
|
+
</dd>
|
|
3231
|
+
</dl>
|
|
3232
|
+
</details>
|
|
3233
|
+
|
|
3234
|
+
<details><summary><code>client.forms.<a href="/lib/pinnacle/forms/client.rb">create</a>(request) -> Pinnacle::Types::Form</code></summary>
|
|
3235
|
+
<dl>
|
|
3236
|
+
<dd>
|
|
3237
|
+
|
|
3238
|
+
#### 📝 Description
|
|
3239
|
+
|
|
3240
|
+
<dl>
|
|
3241
|
+
<dd>
|
|
3242
|
+
|
|
3243
|
+
<dl>
|
|
3244
|
+
<dd>
|
|
3245
|
+
|
|
3246
|
+
Create a hosted form without sending it. <br>
|
|
3247
|
+
|
|
3248
|
+
Returns the form object including its public URL — `https://forms.pinnacle.sh/{form_id}`. <br>
|
|
3249
|
+
|
|
3250
|
+
To also deliver the URL to a recipient over SMS or RCS in a single call, use [`POST /forms/send`](/api-reference/forms/send-form).
|
|
3251
|
+
</dd>
|
|
3252
|
+
</dl>
|
|
3253
|
+
</dd>
|
|
3254
|
+
</dl>
|
|
3255
|
+
|
|
3256
|
+
#### 🔌 Usage
|
|
3257
|
+
|
|
3258
|
+
<dl>
|
|
3259
|
+
<dd>
|
|
3260
|
+
|
|
3261
|
+
<dl>
|
|
3262
|
+
<dd>
|
|
3263
|
+
|
|
3264
|
+
```ruby
|
|
3265
|
+
client.forms.create(
|
|
3266
|
+
name: "Contact request",
|
|
3267
|
+
description: "We'll follow up over SMS or RCS.",
|
|
3268
|
+
fields: [],
|
|
3269
|
+
can_update: false
|
|
3270
|
+
)
|
|
3271
|
+
```
|
|
3272
|
+
</dd>
|
|
3273
|
+
</dl>
|
|
3274
|
+
</dd>
|
|
3275
|
+
</dl>
|
|
3276
|
+
|
|
3277
|
+
#### ⚙️ Parameters
|
|
3278
|
+
|
|
3279
|
+
<dl>
|
|
3280
|
+
<dd>
|
|
3281
|
+
|
|
3282
|
+
<dl>
|
|
3283
|
+
<dd>
|
|
3284
|
+
|
|
3285
|
+
**request:** `Pinnacle::Types::FormDefinition`
|
|
3286
|
+
|
|
3287
|
+
</dd>
|
|
3288
|
+
</dl>
|
|
3289
|
+
|
|
3290
|
+
<dl>
|
|
3291
|
+
<dd>
|
|
3292
|
+
|
|
3293
|
+
**request_options:** `Pinnacle::Forms::RequestOptions`
|
|
3294
|
+
|
|
3295
|
+
</dd>
|
|
3296
|
+
</dl>
|
|
3297
|
+
</dd>
|
|
3298
|
+
</dl>
|
|
3299
|
+
|
|
3300
|
+
|
|
3301
|
+
</dd>
|
|
3302
|
+
</dl>
|
|
3303
|
+
</details>
|
|
3304
|
+
|
|
3305
|
+
<details><summary><code>client.forms.<a href="/lib/pinnacle/forms/client.rb">send_</a>(request) -> Pinnacle::Forms::Types::FormsSendResponse</code></summary>
|
|
3306
|
+
<dl>
|
|
3307
|
+
<dd>
|
|
3308
|
+
|
|
3309
|
+
#### 📝 Description
|
|
3310
|
+
|
|
3311
|
+
<dl>
|
|
3312
|
+
<dd>
|
|
3313
|
+
|
|
3314
|
+
<dl>
|
|
3315
|
+
<dd>
|
|
3316
|
+
|
|
3317
|
+
Send a form to a recipient over SMS or RCS, or mint a standalone submission URL.
|
|
3318
|
+
|
|
3319
|
+
Pass `form` as either an existing form id (`form_*`) or an inline `{ fields, ... }` definition to mint a new form for this send.
|
|
3320
|
+
|
|
3321
|
+
The delivery channel is inferred from `from`:
|
|
3322
|
+
- `from: "agent_*"` → RCS (with optional SMS `fallback`)
|
|
3323
|
+
- `from: "+E.164"` → SMS
|
|
3324
|
+
|
|
3325
|
+
When `to` is provided, Pinnacle dispatches a message whose body contains the submission URL and the recipient is recorded on the response: `submission.to` echoes the same E.164 number and `message_id` is the id of the outbound SMS/RCS.
|
|
3326
|
+
|
|
3327
|
+
When `to` is omitted, no message is sent — `submission.to` and `message_id` are both `null` — which is useful for embedding the URL in your own outreach.
|
|
3328
|
+
|
|
3329
|
+
On completion, a `FORM.SUBMISSION` webhook event is delivered to webhooks subscribed to the sender. See [Receiving Messages and User Events](/guides/messages/receiving).
|
|
3330
|
+
</dd>
|
|
3331
|
+
</dl>
|
|
3332
|
+
</dd>
|
|
3333
|
+
</dl>
|
|
3334
|
+
|
|
3335
|
+
#### 🔌 Usage
|
|
3336
|
+
|
|
3337
|
+
<dl>
|
|
3338
|
+
<dd>
|
|
3339
|
+
|
|
3340
|
+
<dl>
|
|
3341
|
+
<dd>
|
|
3342
|
+
|
|
3343
|
+
```ruby
|
|
3344
|
+
client.forms.send_(
|
|
3345
|
+
from: "agent_iM9wQcyBBjYn",
|
|
3346
|
+
to: "+14155551234",
|
|
3347
|
+
form: "form_Oy2n7iUoi9CJwUU6",
|
|
3348
|
+
fallback: {
|
|
3349
|
+
from: "+14155550000"
|
|
3350
|
+
},
|
|
3351
|
+
options: {
|
|
3352
|
+
webview_mode: "FULL"
|
|
3353
|
+
}
|
|
3354
|
+
)
|
|
3355
|
+
```
|
|
3356
|
+
</dd>
|
|
3357
|
+
</dl>
|
|
3358
|
+
</dd>
|
|
3359
|
+
</dl>
|
|
3360
|
+
|
|
3361
|
+
#### ⚙️ Parameters
|
|
3362
|
+
|
|
3363
|
+
<dl>
|
|
3364
|
+
<dd>
|
|
3365
|
+
|
|
3366
|
+
<dl>
|
|
3367
|
+
<dd>
|
|
3368
|
+
|
|
3369
|
+
**request:** `Pinnacle::Types::SendFormParams`
|
|
3370
|
+
|
|
3371
|
+
</dd>
|
|
3372
|
+
</dl>
|
|
3373
|
+
|
|
3374
|
+
<dl>
|
|
3375
|
+
<dd>
|
|
3376
|
+
|
|
3377
|
+
**request_options:** `Pinnacle::Forms::RequestOptions`
|
|
3378
|
+
|
|
3379
|
+
</dd>
|
|
3380
|
+
</dl>
|
|
3381
|
+
</dd>
|
|
3382
|
+
</dl>
|
|
3383
|
+
|
|
3384
|
+
|
|
2943
3385
|
</dd>
|
|
2944
3386
|
</dl>
|
|
2945
3387
|
</details>
|
|
@@ -2976,9 +3418,9 @@ Remove contacts from an existing audience. This operation is idempotent.
|
|
|
2976
3418
|
|
|
2977
3419
|
```ruby
|
|
2978
3420
|
client.audiences.contacts.remove(
|
|
2979
|
-
id:
|
|
2980
|
-
contacts: [
|
|
2981
|
-
)
|
|
3421
|
+
id: "aud_abc123",
|
|
3422
|
+
contacts: %w[+12125551234 co_def456]
|
|
3423
|
+
)
|
|
2982
3424
|
```
|
|
2983
3425
|
</dd>
|
|
2984
3426
|
</dl>
|
|
@@ -3056,9 +3498,9 @@ Add contacts to an existing audience. This operation is additive and idempotent.
|
|
|
3056
3498
|
|
|
3057
3499
|
```ruby
|
|
3058
3500
|
client.audiences.contacts.add(
|
|
3059
|
-
id:
|
|
3060
|
-
contacts: [
|
|
3061
|
-
)
|
|
3501
|
+
id: "aud_abc123",
|
|
3502
|
+
contacts: %w[+12125551234 co_def456 +13105551234]
|
|
3503
|
+
)
|
|
3062
3504
|
```
|
|
3063
3505
|
</dd>
|
|
3064
3506
|
</dl>
|
|
@@ -3133,9 +3575,9 @@ Generate campaign details based off existing campaign and the brand it's connect
|
|
|
3133
3575
|
|
|
3134
3576
|
```ruby
|
|
3135
3577
|
client.campaigns.dlc.autofill(
|
|
3136
|
-
additional_info:
|
|
3137
|
-
campaign_id:
|
|
3138
|
-
)
|
|
3578
|
+
additional_info: "Please autofill missing campaign fields using my brand profile",
|
|
3579
|
+
campaign_id: "dlc_1234567890"
|
|
3580
|
+
)
|
|
3139
3581
|
```
|
|
3140
3582
|
</dd>
|
|
3141
3583
|
</dl>
|
|
@@ -3197,7 +3639,7 @@ Retrieve 10DLC campaign.
|
|
|
3197
3639
|
<dd>
|
|
3198
3640
|
|
|
3199
3641
|
```ruby
|
|
3200
|
-
client.campaigns.dlc.get(campaign_id:
|
|
3642
|
+
client.campaigns.dlc.get(campaign_id: "dlc_1234567890")
|
|
3201
3643
|
```
|
|
3202
3644
|
</dd>
|
|
3203
3645
|
</dl>
|
|
@@ -3259,7 +3701,7 @@ Submit your 10DLC campaign for approval and activation with carriers.
|
|
|
3259
3701
|
<dd>
|
|
3260
3702
|
|
|
3261
3703
|
```ruby
|
|
3262
|
-
client.campaigns.dlc.submit(campaign_id:
|
|
3704
|
+
client.campaigns.dlc.submit(campaign_id: "dlc_1234567890")
|
|
3263
3705
|
```
|
|
3264
3706
|
</dd>
|
|
3265
3707
|
</dl>
|
|
@@ -3336,25 +3778,25 @@ All fields are **required** unless specified otherwise, and will be validated wh
|
|
|
3336
3778
|
```ruby
|
|
3337
3779
|
client.campaigns.dlc.upsert(
|
|
3338
3780
|
auto_renew: true,
|
|
3339
|
-
brand:
|
|
3340
|
-
description:
|
|
3781
|
+
brand: "b_1234567890",
|
|
3782
|
+
description: "This campaign sends transactional SMS messages to customers who have opted in, including account notifications, security alerts, and customer care responses. Messages are sent when triggered by account activity such as login attempts, password changes, order updates, or support inquiries. All messages include required STOP/HELP disclosures and comply with TCPA guidelines.",
|
|
3341
3783
|
keywords: {
|
|
3342
3784
|
help: {
|
|
3343
|
-
message:
|
|
3344
|
-
values: [
|
|
3785
|
+
message: "Pinnacle Software Development Inc.: For assistance, visit https://pinnacle.sh/support or email founders@trypinnacle.app. Msg&data rates may apply. Reply STOP to cancel.",
|
|
3786
|
+
values: %w[HELP SUPPORT INFO]
|
|
3345
3787
|
},
|
|
3346
3788
|
opt_in: {
|
|
3347
3789
|
message: "Pinnacle Software Development Inc.: You're enrolled in account & security alerts. Msg&data rates may apply. Message frequency varies. Reply HELP for help, STOP to cancel. Terms: https://pinnacle.sh/terms Privacy: https://pinnacle.sh/privacy",
|
|
3348
|
-
values: [
|
|
3790
|
+
values: %w[START YES SUBSCRIBE]
|
|
3349
3791
|
},
|
|
3350
3792
|
opt_out: {
|
|
3351
3793
|
message: "Pinnacle Software Development Inc.: You're unsubscribed and will receive no further texts. For assistance, visit https://pinnacle.sh or call 877-389-0460. Reply START to resubscribe.",
|
|
3352
|
-
values: [
|
|
3794
|
+
values: %w[STOP CANCEL UNSUBSCRIBE]
|
|
3353
3795
|
}
|
|
3354
3796
|
},
|
|
3355
3797
|
links: {
|
|
3356
|
-
privacy_policy:
|
|
3357
|
-
terms_of_service:
|
|
3798
|
+
privacy_policy: "https://www.pinnacle.sh/privacy",
|
|
3799
|
+
terms_of_service: "https://www.pinnacle.sh/terms"
|
|
3358
3800
|
},
|
|
3359
3801
|
message_flow: 'The user fills out a paper form during onboarding at [Address] which they learn about at our website (https://pinnacle.sh) in which they provide their phone number and sign their consent. The form includes a disclaimer: "By signing this form and providing your phone number, you agree to receive SMS Mixed - Account Notification, Customer Care, Security Alert, Delivery Notification from Pinnacle Software Development Inc. Message frequency may vary. Standard Message and Data Rates may apply. Reply STOP to opt out. Reply HELP for help. Consent is not a condition of purchase. Your mobile information will not be sold or shared with third parties for promotional or marketing purposes." Once the information is entered into the system, the user receives a confirmation SMS: "Thank you for signing up for SMS updates from Pinnacle Software Development Inc. Msg freq may vary. Std msg & data rates apply. Reply STOP to opt out, HELP for help." Link to paper form: https://www.pinnacle.sh/opt-in',
|
|
3360
3802
|
name: "Pinnacle's Account Notifications",
|
|
@@ -3362,16 +3804,16 @@ client.campaigns.dlc.upsert(
|
|
|
3362
3804
|
affiliate_marketing: false,
|
|
3363
3805
|
age_gated: false,
|
|
3364
3806
|
direct_lending: false,
|
|
3365
|
-
embedded_link:
|
|
3807
|
+
embedded_link: "https://www.pinnacle.sh/example",
|
|
3366
3808
|
embedded_phone: false,
|
|
3367
3809
|
number_pooling: false
|
|
3368
3810
|
},
|
|
3369
|
-
sample_messages: ["Pinnacle Software Development Inc.: We're here to help. Visit https://pinnacle.sh or call 877-389-0460. Msg&data rates may apply. Reply STOP to cancel.", "Pinnacle Software Development Inc.: You're enrolled in account & security alerts. Msg&data rates may apply. Message frequency varies. Reply HELP for help, STOP to cancel. Terms: https://pinnacle.sh/terms/ Privacy: https://pinnacle.sh/privacy/",
|
|
3811
|
+
sample_messages: ["Pinnacle Software Development Inc.: We're here to help. Visit https://pinnacle.sh or call 877-389-0460. Msg&data rates may apply. Reply STOP to cancel.", "Pinnacle Software Development Inc.: You're enrolled in account & security alerts. Msg&data rates may apply. Message frequency varies. Reply HELP for help, STOP to cancel. Terms: https://pinnacle.sh/terms/ Privacy: https://pinnacle.sh/privacy/", "Pinnacle Software Development Inc.: An update has been made to your account. Read it in the portal.", "Pinnacle Software Development Inc.: We received your message. A team member will reply shortly. For immediate help call 877-389-0460. Msg&data rates may apply. Reply STOP to cancel."],
|
|
3370
3812
|
use_case: {
|
|
3371
|
-
sub: [
|
|
3372
|
-
value:
|
|
3813
|
+
sub: %w[ACCOUNT_NOTIFICATION CUSTOMER_CARE SECURITY_ALERT],
|
|
3814
|
+
value: "MIXED"
|
|
3373
3815
|
}
|
|
3374
|
-
)
|
|
3816
|
+
)
|
|
3375
3817
|
```
|
|
3376
3818
|
</dd>
|
|
3377
3819
|
</dl>
|
|
@@ -3518,9 +3960,9 @@ Validate your 10DLC campaign configuration against carrier requirements and comp
|
|
|
3518
3960
|
|
|
3519
3961
|
```ruby
|
|
3520
3962
|
client.campaigns.dlc.validate(
|
|
3521
|
-
additional_info:
|
|
3522
|
-
campaign_id:
|
|
3523
|
-
)
|
|
3963
|
+
additional_info: "Please validate this DLC campaign for 10DLC compliance",
|
|
3964
|
+
campaign_id: "dlc_1234567890"
|
|
3965
|
+
)
|
|
3524
3966
|
```
|
|
3525
3967
|
</dd>
|
|
3526
3968
|
</dl>
|
|
@@ -3582,7 +4024,7 @@ List all 10DLC campaigns with optional filtering and pagination. Results are sor
|
|
|
3582
4024
|
<dd>
|
|
3583
4025
|
|
|
3584
4026
|
```ruby
|
|
3585
|
-
client.campaigns.dlc.list
|
|
4027
|
+
client.campaigns.dlc.list
|
|
3586
4028
|
```
|
|
3587
4029
|
</dd>
|
|
3588
4030
|
</dl>
|
|
@@ -3678,9 +4120,9 @@ Generate campaign details based off existing campaign and the brand it's connect
|
|
|
3678
4120
|
|
|
3679
4121
|
```ruby
|
|
3680
4122
|
client.campaigns.toll_free.autofill(
|
|
3681
|
-
additional_info:
|
|
3682
|
-
campaign_id:
|
|
3683
|
-
)
|
|
4123
|
+
additional_info: "Please autofill missing campaign fields using my brand profile",
|
|
4124
|
+
campaign_id: "dlc_1234567890"
|
|
4125
|
+
)
|
|
3684
4126
|
```
|
|
3685
4127
|
</dd>
|
|
3686
4128
|
</dl>
|
|
@@ -3742,7 +4184,7 @@ Retrieve Toll-Free campaign.
|
|
|
3742
4184
|
<dd>
|
|
3743
4185
|
|
|
3744
4186
|
```ruby
|
|
3745
|
-
client.campaigns.toll_free.get(campaign_id:
|
|
4187
|
+
client.campaigns.toll_free.get(campaign_id: "tf_1234567890")
|
|
3746
4188
|
```
|
|
3747
4189
|
</dd>
|
|
3748
4190
|
</dl>
|
|
@@ -3804,7 +4246,7 @@ Submit your toll-free campaign for approval and activation with carriers.
|
|
|
3804
4246
|
<dd>
|
|
3805
4247
|
|
|
3806
4248
|
```ruby
|
|
3807
|
-
client.campaigns.toll_free.submit(campaign_id:
|
|
4249
|
+
client.campaigns.toll_free.submit(campaign_id: "tf_1234567890")
|
|
3808
4250
|
```
|
|
3809
4251
|
</dd>
|
|
3810
4252
|
</dl>
|
|
@@ -3877,26 +4319,26 @@ All fields are **required** unless specified otherwise, and will be validated wh
|
|
|
3877
4319
|
|
|
3878
4320
|
```ruby
|
|
3879
4321
|
client.campaigns.toll_free.upsert(
|
|
3880
|
-
brand:
|
|
3881
|
-
campaign_id:
|
|
4322
|
+
brand: "b_1234567890",
|
|
4323
|
+
campaign_id: "tf_1234567890",
|
|
3882
4324
|
keywords: {
|
|
3883
4325
|
help: {
|
|
3884
|
-
message:
|
|
4326
|
+
message: "Pinnacle Software Development Inc.: For assistance, visit https://pinnacle.sh/support or email founders@trypinnacle.app. Msg&data rates may apply. Reply STOP to cancel."
|
|
3885
4327
|
},
|
|
3886
4328
|
opt_in: {
|
|
3887
4329
|
message: "Pinnacle Software Development Inc.: You're enrolled in account & security alerts. Msg&data rates may apply. Message frequency varies. Reply HELP for help, STOP to cancel. Terms: https://pinnacle.sh/terms/ Privacy: https://pinnacle.sh/privacy/",
|
|
3888
|
-
keywords: [
|
|
4330
|
+
keywords: %w[START SUBSCRIBE]
|
|
3889
4331
|
}
|
|
3890
4332
|
},
|
|
3891
4333
|
links: {
|
|
3892
|
-
privacy_policy:
|
|
3893
|
-
terms_of_service:
|
|
4334
|
+
privacy_policy: "https://www.pinnacle.sh/privacy",
|
|
4335
|
+
terms_of_service: "https://www.pinnacle.sh/terms"
|
|
3894
4336
|
},
|
|
3895
|
-
monthly_volume:
|
|
3896
|
-
name:
|
|
4337
|
+
monthly_volume: "10,000",
|
|
4338
|
+
name: "Pinnacle",
|
|
3897
4339
|
opt_in: {
|
|
3898
|
-
method_:
|
|
3899
|
-
url:
|
|
4340
|
+
method_: "PAPER",
|
|
4341
|
+
url: "https://www.pinnacle.sh/opt-in",
|
|
3900
4342
|
workflow_description: "End users opt-in when filling out the in-person intake forms where they will write their phone numbers and check a box indicating that they've opted in to messages. Link to paper form: https://www.pinnacle.sh/opt-in"
|
|
3901
4343
|
},
|
|
3902
4344
|
options: {
|
|
@@ -3904,10 +4346,10 @@ client.campaigns.toll_free.upsert(
|
|
|
3904
4346
|
},
|
|
3905
4347
|
production_message_content: "Hi [First Name], your order #[Order ID] has shipped and will arrive [Date]. Track here: [URL]. Reply HELP for help or STOP to unsubscribe.",
|
|
3906
4348
|
use_case: {
|
|
3907
|
-
summary:
|
|
3908
|
-
value:
|
|
4349
|
+
summary: "Customers who have opted into text messages can interact with our automated SMS chatbot to receive transaction-driven notifications (order status, shipping updates, account alerts), ask support questions, share photos with friends, and manage their account details via simple, conversational text flows. All messages are transactional or interactive flows customers opt into. Users can send images (e.g., receipts) and get guided replies.",
|
|
4350
|
+
value: "CHATBOT"
|
|
3909
4351
|
}
|
|
3910
|
-
)
|
|
4352
|
+
)
|
|
3911
4353
|
```
|
|
3912
4354
|
</dd>
|
|
3913
4355
|
</dl>
|
|
@@ -4042,9 +4484,9 @@ Validate your toll-free campaign configuration against carrier requirements and
|
|
|
4042
4484
|
|
|
4043
4485
|
```ruby
|
|
4044
4486
|
client.campaigns.toll_free.validate(
|
|
4045
|
-
additional_info:
|
|
4046
|
-
campaign_id:
|
|
4047
|
-
)
|
|
4487
|
+
additional_info: "Please validate this DLC campaign for 10DLC compliance",
|
|
4488
|
+
campaign_id: "dlc_1234567890"
|
|
4489
|
+
)
|
|
4048
4490
|
```
|
|
4049
4491
|
</dd>
|
|
4050
4492
|
</dl>
|
|
@@ -4106,7 +4548,7 @@ List all toll-free campaigns with optional filtering and pagination. Results are
|
|
|
4106
4548
|
<dd>
|
|
4107
4549
|
|
|
4108
4550
|
```ruby
|
|
4109
|
-
client.campaigns.toll_free.list
|
|
4551
|
+
client.campaigns.toll_free.list
|
|
4110
4552
|
```
|
|
4111
4553
|
</dd>
|
|
4112
4554
|
</dl>
|
|
@@ -4202,9 +4644,9 @@ Generate campaign details based off existing campaign and the brand it's connect
|
|
|
4202
4644
|
|
|
4203
4645
|
```ruby
|
|
4204
4646
|
client.campaigns.rcs.autofill(
|
|
4205
|
-
additional_info:
|
|
4206
|
-
campaign_id:
|
|
4207
|
-
)
|
|
4647
|
+
additional_info: "Please autofill missing campaign fields using my brand profile",
|
|
4648
|
+
campaign_id: "dlc_1234567890"
|
|
4649
|
+
)
|
|
4208
4650
|
```
|
|
4209
4651
|
</dd>
|
|
4210
4652
|
</dl>
|
|
@@ -4266,7 +4708,7 @@ Retrieve RCS campaign.
|
|
|
4266
4708
|
<dd>
|
|
4267
4709
|
|
|
4268
4710
|
```ruby
|
|
4269
|
-
client.campaigns.rcs.get(campaign_id:
|
|
4711
|
+
client.campaigns.rcs.get(campaign_id: "rcs_1234567890")
|
|
4270
4712
|
```
|
|
4271
4713
|
</dd>
|
|
4272
4714
|
</dl>
|
|
@@ -4328,7 +4770,7 @@ Submit your RCS campaign for approval and activation with carriers.
|
|
|
4328
4770
|
<dd>
|
|
4329
4771
|
|
|
4330
4772
|
```ruby
|
|
4331
|
-
client.campaigns.rcs.submit(campaign_id:
|
|
4773
|
+
client.campaigns.rcs.submit(campaign_id: "rcs_1234567890")
|
|
4332
4774
|
```
|
|
4333
4775
|
</dd>
|
|
4334
4776
|
</dl>
|
|
@@ -4401,42 +4843,42 @@ All fields are **required** unless specified otherwise, and will be validated wh
|
|
|
4401
4843
|
client.campaigns.rcs.upsert(
|
|
4402
4844
|
agent: {
|
|
4403
4845
|
color: "#000000",
|
|
4404
|
-
description:
|
|
4846
|
+
description: "Experience the power of RCS messaging with interactive demos. Test rich features like carousels, suggested replies, and media sharing. Get started with our developer-friendly APIs.",
|
|
4405
4847
|
emails: [{
|
|
4406
|
-
email:
|
|
4407
|
-
label:
|
|
4848
|
+
email: "founders@trypinnacle.app",
|
|
4849
|
+
label: "Email Us"
|
|
4408
4850
|
}],
|
|
4409
|
-
hero_url:
|
|
4410
|
-
icon_url:
|
|
4411
|
-
name:
|
|
4851
|
+
hero_url: "https://pncl.to/D6pDSqGxqgfbCfQmw4gXdnlHu4uSB4",
|
|
4852
|
+
icon_url: "https://pncl.to/mq_tdIDenRb5eYpJiM8-3THCaUBrZP",
|
|
4853
|
+
name: "Pinnacle - RCS Demo",
|
|
4412
4854
|
phones: [{
|
|
4413
|
-
label:
|
|
4414
|
-
phone:
|
|
4855
|
+
label: "Contact us directly",
|
|
4856
|
+
phone: "+14154467821"
|
|
4415
4857
|
}],
|
|
4416
4858
|
websites: [{
|
|
4417
|
-
label:
|
|
4418
|
-
url:
|
|
4859
|
+
label: "Get started with Pinnacle",
|
|
4860
|
+
url: "https://www.trypinnacle.app/"
|
|
4419
4861
|
}]
|
|
4420
4862
|
},
|
|
4421
|
-
brand:
|
|
4422
|
-
campaign_id:
|
|
4423
|
-
expected_agent_responses: [
|
|
4863
|
+
brand: "b_1234567890",
|
|
4864
|
+
campaign_id: "rcs_1234567890",
|
|
4865
|
+
expected_agent_responses: ["Here are the things I can help you with.", "I can assist you with booking an appointment, or you may choose to book manually.", "Here are the available times to connect with a representative tomorrow.", "Your appointment has been scheduled."],
|
|
4424
4866
|
links: {
|
|
4425
|
-
privacy_policy:
|
|
4426
|
-
terms_of_service:
|
|
4867
|
+
privacy_policy: "“https://www.trypinnacle.app/privacy”",
|
|
4868
|
+
terms_of_service: "“https://www.trypinnacle.app/terms”"
|
|
4427
4869
|
},
|
|
4428
|
-
use_case_description:
|
|
4870
|
+
use_case_description: "Pinnacle is a developer-focused RCS assistant that helps teams design, test, and optimize rich messaging experiences across SMS, MMS, and RCS. The agent acts as both an “onboarding guide” for new customers and a “best-practices coach” for existing teams exploring higher-value RCS workflows like rich cards, carousels, and suggested actions.<br>
|
|
4429
4871
|
The agent delivers a mix of operational updates and educational content (2–6 messages/month). Content includes important platform notices (e.g., deliverability or throughput changes), implementation tips with sample RCS templates, and personalized recommendations on how to upgrade existing SMS campaigns into richer, higher-converting RCS conversations.
|
|
4430
|
-
|
|
4431
|
-
messaging_type:
|
|
4432
|
-
cta_media:
|
|
4433
|
-
opt_in_method:
|
|
4872
|
+
",
|
|
4873
|
+
messaging_type: "OTP",
|
|
4874
|
+
cta_media: "“https://www.pinnacle.sh/send”",
|
|
4875
|
+
opt_in_method: "We ensure consent through an explicit opt-in process that follows 10DLC best practices.Users must agree to receive messages from Pinnacle before the agent sends them any messages.<br>
|
|
4434
4876
|
Users agree to these messages by signing an opt-in paper form that they can be found online at https://www.pinnacle.sh/opt-in. We only send messages once users have filled out the form and submitted it to us via email or through the dashboard.
|
|
4435
|
-
|
|
4877
|
+
",
|
|
4436
4878
|
keywords: {
|
|
4437
4879
|
help: {
|
|
4438
|
-
message:
|
|
4439
|
-
keywords: [
|
|
4880
|
+
message: "Email founders@trypinnacle.app for support.",
|
|
4881
|
+
keywords: %w[HELP SUPPORT]
|
|
4440
4882
|
},
|
|
4441
4883
|
opt_in: {
|
|
4442
4884
|
message: "Welcome back to Pinnacle!<br>
|
|
@@ -4444,20 +4886,20 @@ client.campaigns.rcs.upsert(
|
|
|
4444
4886
|
|
|
4445
4887
|
Reply STOP to opt out and HELP for support. Message & rates may apply.
|
|
4446
4888
|
",
|
|
4447
|
-
keywords: [
|
|
4889
|
+
keywords: %w[START SUBSCRIBE]
|
|
4448
4890
|
},
|
|
4449
4891
|
opt_out: {
|
|
4450
4892
|
message: "You've been unsubscribed from Pinnacle - RCS Demo and will no longer receive notifications. If you ever change your mind, reply START or SUBSCRIBE to rejoin anytime.",
|
|
4451
|
-
keywords: [
|
|
4893
|
+
keywords: %w[STOP UNSUBSCRIBE END]
|
|
4452
4894
|
}
|
|
4453
4895
|
},
|
|
4454
4896
|
traffic: {
|
|
4455
4897
|
monthly_website: 10000,
|
|
4456
4898
|
monthly_rcs_estimate: 10000
|
|
4457
4899
|
},
|
|
4458
|
-
cta_language:
|
|
4900
|
+
cta_language: "By checking this box and submitting this form, you consent to receive transactional text messages for support, appointment, and reminder messages from Pinnacle Software Development Inc. Reply STOP to opt out. Reply HELP for help. Standard message and data rates may apply. Message frequency may vary. View our Terms and Conditions at https://www.pinnacle.sh/terms. View our Privacy Policy at https://www.pinnacle.sh/privacy.",
|
|
4459
4901
|
demo_trigger: 'Text "START" to trigger the flow.'
|
|
4460
|
-
)
|
|
4902
|
+
)
|
|
4461
4903
|
```
|
|
4462
4904
|
</dd>
|
|
4463
4905
|
</dl>
|
|
@@ -4619,9 +5061,9 @@ Validate your RCS campaign configuration against carrier requirements and compli
|
|
|
4619
5061
|
|
|
4620
5062
|
```ruby
|
|
4621
5063
|
client.campaigns.rcs.validate(
|
|
4622
|
-
additional_info:
|
|
4623
|
-
campaign_id:
|
|
4624
|
-
)
|
|
5064
|
+
additional_info: "Please validate this DLC campaign for 10DLC compliance",
|
|
5065
|
+
campaign_id: "dlc_1234567890"
|
|
5066
|
+
)
|
|
4625
5067
|
```
|
|
4626
5068
|
</dd>
|
|
4627
5069
|
</dl>
|
|
@@ -4683,7 +5125,7 @@ List all RCS campaigns with optional filtering and pagination. Results are sorte
|
|
|
4683
5125
|
<dd>
|
|
4684
5126
|
|
|
4685
5127
|
```ruby
|
|
4686
|
-
client.campaigns.rcs.list
|
|
5128
|
+
client.campaigns.rcs.list
|
|
4687
5129
|
```
|
|
4688
5130
|
</dd>
|
|
4689
5131
|
</dl>
|
|
@@ -4746,6 +5188,92 @@ client.campaigns.rcs.list();
|
|
|
4746
5188
|
</dl>
|
|
4747
5189
|
|
|
4748
5190
|
|
|
5191
|
+
</dd>
|
|
5192
|
+
</dl>
|
|
5193
|
+
</details>
|
|
5194
|
+
|
|
5195
|
+
## Forms Submissions
|
|
5196
|
+
<details><summary><code>client.forms.submissions.<a href="/lib/pinnacle/forms/submissions/client.rb">list</a>(id, request) -> Pinnacle::Types::ListFormSubmissionsResponse</code></summary>
|
|
5197
|
+
<dl>
|
|
5198
|
+
<dd>
|
|
5199
|
+
|
|
5200
|
+
#### 📝 Description
|
|
5201
|
+
|
|
5202
|
+
<dl>
|
|
5203
|
+
<dd>
|
|
5204
|
+
|
|
5205
|
+
<dl>
|
|
5206
|
+
<dd>
|
|
5207
|
+
|
|
5208
|
+
Paginated list of completed submissions for a form, newest first. Each row includes the submitted `data` keyed by field `key`, the sender/recipient, IP, user-agent, and timestamps.
|
|
5209
|
+
</dd>
|
|
5210
|
+
</dl>
|
|
5211
|
+
</dd>
|
|
5212
|
+
</dl>
|
|
5213
|
+
|
|
5214
|
+
#### 🔌 Usage
|
|
5215
|
+
|
|
5216
|
+
<dl>
|
|
5217
|
+
<dd>
|
|
5218
|
+
|
|
5219
|
+
<dl>
|
|
5220
|
+
<dd>
|
|
5221
|
+
|
|
5222
|
+
```ruby
|
|
5223
|
+
client.forms.submissions.list(
|
|
5224
|
+
id: "form_Oy2n7iUoi9CJwUU6",
|
|
5225
|
+
page_index: 0,
|
|
5226
|
+
page_size: 20
|
|
5227
|
+
)
|
|
5228
|
+
```
|
|
5229
|
+
</dd>
|
|
5230
|
+
</dl>
|
|
5231
|
+
</dd>
|
|
5232
|
+
</dl>
|
|
5233
|
+
|
|
5234
|
+
#### ⚙️ Parameters
|
|
5235
|
+
|
|
5236
|
+
<dl>
|
|
5237
|
+
<dd>
|
|
5238
|
+
|
|
5239
|
+
<dl>
|
|
5240
|
+
<dd>
|
|
5241
|
+
|
|
5242
|
+
**id:** `String`
|
|
5243
|
+
|
|
5244
|
+
The unique identifier of the form whose submissions you want to list.
|
|
5245
|
+
<br><br> This identifier is a string that always begins with the prefix `form_`, for example: `form_Oy2n7iUoi9CJwUU6`.
|
|
5246
|
+
|
|
5247
|
+
</dd>
|
|
5248
|
+
</dl>
|
|
5249
|
+
|
|
5250
|
+
<dl>
|
|
5251
|
+
<dd>
|
|
5252
|
+
|
|
5253
|
+
**page_index:** `Integer` — Zero-based page index.
|
|
5254
|
+
|
|
5255
|
+
</dd>
|
|
5256
|
+
</dl>
|
|
5257
|
+
|
|
5258
|
+
<dl>
|
|
5259
|
+
<dd>
|
|
5260
|
+
|
|
5261
|
+
**page_size:** `Integer` — Number of submissions to return in a single page. Max 100.
|
|
5262
|
+
|
|
5263
|
+
</dd>
|
|
5264
|
+
</dl>
|
|
5265
|
+
|
|
5266
|
+
<dl>
|
|
5267
|
+
<dd>
|
|
5268
|
+
|
|
5269
|
+
**request_options:** `Pinnacle::Forms::Submissions::RequestOptions`
|
|
5270
|
+
|
|
5271
|
+
</dd>
|
|
5272
|
+
</dl>
|
|
5273
|
+
</dd>
|
|
5274
|
+
</dl>
|
|
5275
|
+
|
|
5276
|
+
|
|
4749
5277
|
</dd>
|
|
4750
5278
|
</dl>
|
|
4751
5279
|
</details>
|
|
@@ -4779,10 +5307,10 @@ Send a SMS message immediately or schedule it for future delivery.
|
|
|
4779
5307
|
|
|
4780
5308
|
```ruby
|
|
4781
5309
|
client.messages.sms.send_(
|
|
4782
|
-
from:
|
|
4783
|
-
text:
|
|
4784
|
-
to:
|
|
4785
|
-
)
|
|
5310
|
+
from: "+14155164736",
|
|
5311
|
+
text: "Hey!",
|
|
5312
|
+
to: "+14154746461"
|
|
5313
|
+
)
|
|
4786
5314
|
```
|
|
4787
5315
|
</dd>
|
|
4788
5316
|
</dl>
|
|
@@ -4868,7 +5396,7 @@ Validate SMS message content without sending it.
|
|
|
4868
5396
|
<dd>
|
|
4869
5397
|
|
|
4870
5398
|
```ruby
|
|
4871
|
-
client.messages.sms.validate(text:
|
|
5399
|
+
client.messages.sms.validate(text: "Hello from Pinnacle")
|
|
4872
5400
|
```
|
|
4873
5401
|
</dd>
|
|
4874
5402
|
</dl>
|
|
@@ -4932,15 +5460,15 @@ Send a MMS immediately or schedule it for future delivery.
|
|
|
4932
5460
|
|
|
4933
5461
|
```ruby
|
|
4934
5462
|
client.messages.mms.send_(
|
|
4935
|
-
from:
|
|
4936
|
-
media_urls: [
|
|
5463
|
+
from: "+14155164736",
|
|
5464
|
+
media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg?hmac=mDxM9PWSqRDjecwSCEpzU4bj35gqnG7yA25OL29uNv0"],
|
|
4937
5465
|
options: {
|
|
4938
5466
|
multiple_messages: true,
|
|
4939
5467
|
validate: true
|
|
4940
5468
|
},
|
|
4941
|
-
text:
|
|
4942
|
-
to:
|
|
4943
|
-
)
|
|
5469
|
+
text: "Check out this image!",
|
|
5470
|
+
to: "+14154746461"
|
|
5471
|
+
)
|
|
4944
5472
|
```
|
|
4945
5473
|
</dd>
|
|
4946
5474
|
</dl>
|
|
@@ -5039,9 +5567,9 @@ Validate MMS message content without sending it.
|
|
|
5039
5567
|
|
|
5040
5568
|
```ruby
|
|
5041
5569
|
client.messages.mms.validate(
|
|
5042
|
-
media_urls: [
|
|
5043
|
-
text:
|
|
5044
|
-
)
|
|
5570
|
+
media_urls: %w[https://upload.wikimedia.org/wikipedia/commons/b/b9/Pizigani_1367_Chart_1MB.jpg https://fastly.picsum.photos/id/528/1000/1000.jpg?hmac=aTG0xNif9KbNryFN0ZNZ_nFK6aEpZxqUGCZF1KjOT8w https://file-examples.com/storage/fefdd7ab126835e7993bb1a/2017/10/file_example_JPG_500kB.jpg],
|
|
5571
|
+
text: "Check out these images!"
|
|
5572
|
+
)
|
|
5045
5573
|
```
|
|
5046
5574
|
</dd>
|
|
5047
5575
|
</dl>
|
|
@@ -5107,11 +5635,10 @@ Requires an active RCS agent and recipient devices that support RCS Business Mes
|
|
|
5107
5635
|
|
|
5108
5636
|
```ruby
|
|
5109
5637
|
client.messages.rcs.send_(
|
|
5110
|
-
from:
|
|
5111
|
-
to:
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
);
|
|
5638
|
+
from: "from",
|
|
5639
|
+
to: "to",
|
|
5640
|
+
text: "text"
|
|
5641
|
+
)
|
|
5115
5642
|
```
|
|
5116
5643
|
</dd>
|
|
5117
5644
|
</dl>
|
|
@@ -5184,9 +5711,9 @@ This endpoint allows RCS agents to display a typing indicator to recipients. The
|
|
|
5184
5711
|
|
|
5185
5712
|
```ruby
|
|
5186
5713
|
client.messages.rcs.send_typing(
|
|
5187
|
-
agent_id:
|
|
5188
|
-
to:
|
|
5189
|
-
)
|
|
5714
|
+
agent_id: "agent_pinnacle",
|
|
5715
|
+
to: "+14154746461"
|
|
5716
|
+
)
|
|
5190
5717
|
```
|
|
5191
5718
|
</dd>
|
|
5192
5719
|
</dl>
|
|
@@ -5264,10 +5791,7 @@ Validate RCS message content without sending it.
|
|
|
5264
5791
|
<dd>
|
|
5265
5792
|
|
|
5266
5793
|
```ruby
|
|
5267
|
-
client.messages.rcs.validate(
|
|
5268
|
-
quick_replies: [],
|
|
5269
|
-
text: 'text'
|
|
5270
|
-
);
|
|
5794
|
+
client.messages.rcs.validate(text: "text")
|
|
5271
5795
|
```
|
|
5272
5796
|
</dd>
|
|
5273
5797
|
</dl>
|
|
@@ -5335,12 +5859,12 @@ Use the optional `schedule` parameter in `options` to schedule the blast for fut
|
|
|
5335
5859
|
|
|
5336
5860
|
```ruby
|
|
5337
5861
|
client.messages.blast.sms(
|
|
5338
|
-
audience_id:
|
|
5339
|
-
senders: [
|
|
5862
|
+
audience_id: "aud_abc123",
|
|
5863
|
+
senders: %w[+14155164736 +14155164737],
|
|
5340
5864
|
message: {
|
|
5341
|
-
text:
|
|
5865
|
+
text: "Hello from Pinnacle!"
|
|
5342
5866
|
}
|
|
5343
|
-
)
|
|
5867
|
+
)
|
|
5344
5868
|
```
|
|
5345
5869
|
</dd>
|
|
5346
5870
|
</dl>
|
|
@@ -5443,16 +5967,16 @@ Use the optional `schedule` parameter in `options` to schedule the blast for fut
|
|
|
5443
5967
|
|
|
5444
5968
|
```ruby
|
|
5445
5969
|
client.messages.blast.mms(
|
|
5446
|
-
audience_id:
|
|
5447
|
-
senders: [
|
|
5970
|
+
audience_id: "aud_abc123",
|
|
5971
|
+
senders: %w[+14155164736 +14155164737],
|
|
5448
5972
|
message: {
|
|
5449
|
-
media_urls: [
|
|
5450
|
-
text:
|
|
5973
|
+
media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg"],
|
|
5974
|
+
text: "Check out this image!"
|
|
5451
5975
|
},
|
|
5452
5976
|
options: {
|
|
5453
5977
|
validate: true
|
|
5454
5978
|
}
|
|
5455
|
-
)
|
|
5979
|
+
)
|
|
5456
5980
|
```
|
|
5457
5981
|
</dd>
|
|
5458
5982
|
</dl>
|
|
@@ -5555,21 +6079,21 @@ Use the optional `schedule` parameter in `options` to schedule the blast for fut
|
|
|
5555
6079
|
|
|
5556
6080
|
```ruby
|
|
5557
6081
|
client.messages.blast.rcs(
|
|
5558
|
-
audience_id:
|
|
5559
|
-
senders: [
|
|
6082
|
+
audience_id: "aud_abc123",
|
|
6083
|
+
senders: %w[agent_pinnacle agent_pinnacle2],
|
|
5560
6084
|
message: {
|
|
5561
6085
|
quick_replies: [],
|
|
5562
|
-
text:
|
|
6086
|
+
text: "Hello from Pinnacle RCS!"
|
|
5563
6087
|
},
|
|
5564
6088
|
fallback: {
|
|
5565
|
-
from:
|
|
5566
|
-
text:
|
|
6089
|
+
from: "+14155164736",
|
|
6090
|
+
text: "Hello from Pinnacle! Reply LEARN to learn more."
|
|
5567
6091
|
},
|
|
5568
6092
|
options: {
|
|
5569
6093
|
transcode: true,
|
|
5570
6094
|
validate: true
|
|
5571
6095
|
}
|
|
5572
|
-
)
|
|
6096
|
+
)
|
|
5573
6097
|
```
|
|
5574
6098
|
</dd>
|
|
5575
6099
|
</dl>
|
|
@@ -5676,7 +6200,7 @@ Works for both individual scheduled messages and scheduled blasts. Use the `sche
|
|
|
5676
6200
|
<dd>
|
|
5677
6201
|
|
|
5678
6202
|
```ruby
|
|
5679
|
-
client.messages.schedule.cancel(id:
|
|
6203
|
+
client.messages.schedule.cancel(id: "id")
|
|
5680
6204
|
```
|
|
5681
6205
|
</dd>
|
|
5682
6206
|
</dl>
|
|
@@ -5739,7 +6263,7 @@ List all scheduled messages with optional filtering and pagination. Results are
|
|
|
5739
6263
|
<dd>
|
|
5740
6264
|
|
|
5741
6265
|
```ruby
|
|
5742
|
-
client.messages.schedules.list
|
|
6266
|
+
client.messages.schedules.list
|
|
5743
6267
|
```
|
|
5744
6268
|
</dd>
|
|
5745
6269
|
</dl>
|
|
@@ -5834,7 +6358,7 @@ List all blasts with optional filtering and pagination. Results are sorted by cr
|
|
|
5834
6358
|
<dd>
|
|
5835
6359
|
|
|
5836
6360
|
```ruby
|
|
5837
|
-
client.messages.blasts.list
|
|
6361
|
+
client.messages.blasts.list
|
|
5838
6362
|
```
|
|
5839
6363
|
</dd>
|
|
5840
6364
|
</dl>
|
|
@@ -5930,10 +6454,10 @@ Link a phone number to a specific campaign. Phone numbers must be linked to a ca
|
|
|
5930
6454
|
|
|
5931
6455
|
```ruby
|
|
5932
6456
|
client.phone_numbers.campaign.attach(
|
|
5933
|
-
phones: [
|
|
5934
|
-
campaign_type:
|
|
5935
|
-
campaign_id:
|
|
5936
|
-
)
|
|
6457
|
+
phones: %w[+14155550123 +14155559876 +14155550111],
|
|
6458
|
+
campaign_type: "TOLL_FREE",
|
|
6459
|
+
campaign_id: "tf_1234567890"
|
|
6460
|
+
)
|
|
5937
6461
|
```
|
|
5938
6462
|
</dd>
|
|
5939
6463
|
</dl>
|
|
@@ -6023,7 +6547,7 @@ Remove the association between a phone number and its attached campaign.
|
|
|
6023
6547
|
<dd>
|
|
6024
6548
|
|
|
6025
6549
|
```ruby
|
|
6026
|
-
client.phone_numbers.campaign.detach(phones: [
|
|
6550
|
+
client.phone_numbers.campaign.detach(phones: %w[+14155559876 14155550111])
|
|
6027
6551
|
```
|
|
6028
6552
|
</dd>
|
|
6029
6553
|
</dl>
|
|
@@ -6089,7 +6613,7 @@ List all RCS agents with pagination. Results are sorted by creation date, newest
|
|
|
6089
6613
|
<dd>
|
|
6090
6614
|
|
|
6091
6615
|
```ruby
|
|
6092
|
-
client.rcs.agents.list
|
|
6616
|
+
client.rcs.agents.list
|
|
6093
6617
|
```
|
|
6094
6618
|
</dd>
|
|
6095
6619
|
</dl>
|
|
@@ -6176,7 +6700,7 @@ List all whitelisted test numbers with optional filtering and pagination. Result
|
|
|
6176
6700
|
<dd>
|
|
6177
6701
|
|
|
6178
6702
|
```ruby
|
|
6179
|
-
client.rcs.whitelisted_numbers.list
|
|
6703
|
+
client.rcs.whitelisted_numbers.list
|
|
6180
6704
|
```
|
|
6181
6705
|
</dd>
|
|
6182
6706
|
</dl>
|
|
@@ -6302,28 +6826,28 @@ Once your test agent is created, you'll need to:
|
|
|
6302
6826
|
|
|
6303
6827
|
```ruby
|
|
6304
6828
|
client.rcs.test.create_agent(
|
|
6305
|
-
display_name:
|
|
6306
|
-
description:
|
|
6307
|
-
logo_url:
|
|
6308
|
-
hero_url:
|
|
6829
|
+
display_name: "Acme Support",
|
|
6830
|
+
description: "Get help with your Acme orders and account",
|
|
6831
|
+
logo_url: "https://example.com/logo.png",
|
|
6832
|
+
hero_url: "https://example.com/hero.png",
|
|
6309
6833
|
phone_numbers: [{
|
|
6310
|
-
number:
|
|
6311
|
-
label:
|
|
6834
|
+
number: "+14155550123",
|
|
6835
|
+
label: "Support"
|
|
6312
6836
|
}],
|
|
6313
6837
|
emails: [{
|
|
6314
|
-
address:
|
|
6315
|
-
label:
|
|
6838
|
+
address: "support@example.com",
|
|
6839
|
+
label: "Support"
|
|
6316
6840
|
}],
|
|
6317
6841
|
websites: [{
|
|
6318
|
-
url:
|
|
6319
|
-
label:
|
|
6842
|
+
url: "https://example.com",
|
|
6843
|
+
label: "Website"
|
|
6320
6844
|
}],
|
|
6321
|
-
privacy_url:
|
|
6322
|
-
terms_url:
|
|
6845
|
+
privacy_url: "https://example.com/privacy",
|
|
6846
|
+
terms_url: "https://example.com/terms",
|
|
6323
6847
|
color: "#FF6B00",
|
|
6324
6848
|
is_conversational: true,
|
|
6325
|
-
agent_use_case:
|
|
6326
|
-
)
|
|
6849
|
+
agent_use_case: "MULTI_USE"
|
|
6850
|
+
)
|
|
6327
6851
|
```
|
|
6328
6852
|
</dd>
|
|
6329
6853
|
</dl>
|
|
@@ -6525,9 +7049,9 @@ If updating images, the same requirements apply as when creating an agent:
|
|
|
6525
7049
|
|
|
6526
7050
|
```ruby
|
|
6527
7051
|
client.rcs.test.update_agent(
|
|
6528
|
-
agent_id:
|
|
6529
|
-
display_name:
|
|
6530
|
-
)
|
|
7052
|
+
agent_id: "agent_abc123def456",
|
|
7053
|
+
display_name: "Acme Premium Support"
|
|
7054
|
+
)
|
|
6531
7055
|
```
|
|
6532
7056
|
</dd>
|
|
6533
7057
|
</dl>
|
|
@@ -6735,9 +7259,9 @@ Attempting to whitelist during the cooldown returns a `500` error with the remai
|
|
|
6735
7259
|
|
|
6736
7260
|
```ruby
|
|
6737
7261
|
client.rcs.test.whitelist_number(
|
|
6738
|
-
agent_id:
|
|
6739
|
-
phone_number:
|
|
6740
|
-
)
|
|
7262
|
+
agent_id: "agent_abc123def456",
|
|
7263
|
+
phone_number: "+12345678901"
|
|
7264
|
+
)
|
|
6741
7265
|
```
|
|
6742
7266
|
</dd>
|
|
6743
7267
|
</dl>
|
|
@@ -6828,9 +7352,9 @@ whether the recipient has accepted or rejected the tester invite.
|
|
|
6828
7352
|
|
|
6829
7353
|
```ruby
|
|
6830
7354
|
client.rcs.test.get_whitelist_status(
|
|
6831
|
-
agent_id:
|
|
6832
|
-
phone_number:
|
|
6833
|
-
)
|
|
7355
|
+
agent_id: "agent_abc123def456",
|
|
7356
|
+
phone_number: "+12345678901"
|
|
7357
|
+
)
|
|
6834
7358
|
```
|
|
6835
7359
|
</dd>
|
|
6836
7360
|
</dl>
|
|
@@ -6901,7 +7425,7 @@ Retrieve a brand's status.
|
|
|
6901
7425
|
<dd>
|
|
6902
7426
|
|
|
6903
7427
|
```ruby
|
|
6904
|
-
client.status.get.brand(brand_id:
|
|
7428
|
+
client.status.get.brand(brand_id: "b_1234567890")
|
|
6905
7429
|
```
|
|
6906
7430
|
</dd>
|
|
6907
7431
|
</dl>
|
|
@@ -6963,7 +7487,7 @@ Retrieve a toll-free campaign's status.
|
|
|
6963
7487
|
<dd>
|
|
6964
7488
|
|
|
6965
7489
|
```ruby
|
|
6966
|
-
client.status.get.toll_free(campaign_id:
|
|
7490
|
+
client.status.get.toll_free(campaign_id: "tf_1234567890")
|
|
6967
7491
|
```
|
|
6968
7492
|
</dd>
|
|
6969
7493
|
</dl>
|
|
@@ -7025,7 +7549,7 @@ Retrieve a 10DLC campaign's status.
|
|
|
7025
7549
|
<dd>
|
|
7026
7550
|
|
|
7027
7551
|
```ruby
|
|
7028
|
-
client.status.get.dlc(campaign_id:
|
|
7552
|
+
client.status.get.dlc(campaign_id: "dlc_1234567890")
|
|
7029
7553
|
```
|
|
7030
7554
|
</dd>
|
|
7031
7555
|
</dl>
|
|
@@ -7087,7 +7611,7 @@ Retrieve a RCS campaign's status.
|
|
|
7087
7611
|
<dd>
|
|
7088
7612
|
|
|
7089
7613
|
```ruby
|
|
7090
|
-
client.status.get.rcs(campaign_id:
|
|
7614
|
+
client.status.get.rcs(campaign_id: "rcs_1234567890")
|
|
7091
7615
|
```
|
|
7092
7616
|
</dd>
|
|
7093
7617
|
</dl>
|
|
@@ -7151,7 +7675,7 @@ Check if a number is active and ready to send messages.
|
|
|
7151
7675
|
<dd>
|
|
7152
7676
|
|
|
7153
7677
|
```ruby
|
|
7154
|
-
client.status.get.phone_number(phone_number:
|
|
7678
|
+
client.status.get.phone_number(phone_number: "+14151234567")
|
|
7155
7679
|
```
|
|
7156
7680
|
</dd>
|
|
7157
7681
|
</dl>
|
|
@@ -7215,11 +7739,11 @@ Create a shortened URL that redirects visitors to the provided destination URL.
|
|
|
7215
7739
|
|
|
7216
7740
|
```ruby
|
|
7217
7741
|
client.tools.url.create(
|
|
7218
|
-
url:
|
|
7742
|
+
url: "https://www.pinnacle.sh/",
|
|
7219
7743
|
options: {
|
|
7220
|
-
expires_at:
|
|
7744
|
+
expires_at: "2025-06-23T16:18:25.000Z"
|
|
7221
7745
|
}
|
|
7222
|
-
)
|
|
7746
|
+
)
|
|
7223
7747
|
```
|
|
7224
7748
|
</dd>
|
|
7225
7749
|
</dl>
|
|
@@ -7289,7 +7813,7 @@ Retrieve configuration and details for your shortened URL using its unique ident
|
|
|
7289
7813
|
<dd>
|
|
7290
7814
|
|
|
7291
7815
|
```ruby
|
|
7292
|
-
client.tools.url.get(link_id:
|
|
7816
|
+
client.tools.url.get(link_id: "ePzVxILF")
|
|
7293
7817
|
```
|
|
7294
7818
|
</dd>
|
|
7295
7819
|
</dl>
|
|
@@ -7356,9 +7880,9 @@ Update the destination or expiration date of an existing shortened URL. Expiring
|
|
|
7356
7880
|
|
|
7357
7881
|
```ruby
|
|
7358
7882
|
client.tools.url.update(
|
|
7359
|
-
link_id:
|
|
7360
|
-
url:
|
|
7361
|
-
)
|
|
7883
|
+
link_id: "ePzVxILF",
|
|
7884
|
+
url: "https://www.pinnacle.sh/"
|
|
7885
|
+
)
|
|
7362
7886
|
```
|
|
7363
7887
|
</dd>
|
|
7364
7888
|
</dl>
|
|
@@ -7440,7 +7964,7 @@ List all shortened URLs with pagination. Results are sorted by creation date, ne
|
|
|
7440
7964
|
<dd>
|
|
7441
7965
|
|
|
7442
7966
|
```ruby
|
|
7443
|
-
client.tools.url.list
|
|
7967
|
+
client.tools.url.list
|
|
7444
7968
|
```
|
|
7445
7969
|
</dd>
|
|
7446
7970
|
</dl>
|
|
@@ -7520,16 +8044,16 @@ Generate presigned URLs that let you upload files directly to our storage and al
|
|
|
7520
8044
|
|
|
7521
8045
|
```ruby
|
|
7522
8046
|
client.tools.file.upload(
|
|
7523
|
-
content_type:
|
|
8047
|
+
content_type: "image/jpeg",
|
|
7524
8048
|
size: 1024,
|
|
7525
|
-
name:
|
|
8049
|
+
name: "test.jpg",
|
|
7526
8050
|
options: {
|
|
7527
|
-
delete_at:
|
|
8051
|
+
delete_at: "2025-12-31T23:59:59Z",
|
|
7528
8052
|
download: {
|
|
7529
|
-
expires_at:
|
|
8053
|
+
expires_at: "2025-06-30T12:00:00.000Z"
|
|
7530
8054
|
}
|
|
7531
8055
|
}
|
|
7532
|
-
)
|
|
8056
|
+
)
|
|
7533
8057
|
```
|
|
7534
8058
|
</dd>
|
|
7535
8059
|
</dl>
|
|
@@ -7627,7 +8151,7 @@ Refresh expiring presigned URLs for Pinnacle-hosted files to extend their access
|
|
|
7627
8151
|
<dd>
|
|
7628
8152
|
|
|
7629
8153
|
```ruby
|
|
7630
|
-
client.tools.file.refresh(urls: [
|
|
8154
|
+
client.tools.file.refresh(urls: %w[https://server.trypinnacle.app/storage/v1/object/sign/vault/3/test.jpg?token=oldtoken https://server.trypinnacle.app/storage/v1/object/sign/vault/3/document.pdf?token=oldtoken2 invalid/url https://google.com])
|
|
7631
8155
|
```
|
|
7632
8156
|
</dd>
|
|
7633
8157
|
</dl>
|
|
@@ -7690,7 +8214,7 @@ Retrieve contact information as a vCard and get a presigned URL to download the
|
|
|
7690
8214
|
<dd>
|
|
7691
8215
|
|
|
7692
8216
|
```ruby
|
|
7693
|
-
client.tools.contact_card.get(id:
|
|
8217
|
+
client.tools.contact_card.get(id: "cc_1234567890")
|
|
7694
8218
|
```
|
|
7695
8219
|
</dd>
|
|
7696
8220
|
</dl>
|
|
@@ -7761,51 +8285,51 @@ Create a new contact card or updates an existing one with full vCard data. Conta
|
|
|
7761
8285
|
|
|
7762
8286
|
```ruby
|
|
7763
8287
|
client.tools.contact_card.upsert(
|
|
7764
|
-
id:
|
|
7765
|
-
formatted_name:
|
|
8288
|
+
id: "cc_1234567890",
|
|
8289
|
+
formatted_name: "Jane Smith",
|
|
7766
8290
|
name: {
|
|
7767
|
-
family_name:
|
|
7768
|
-
given_name:
|
|
7769
|
-
additional_names: [
|
|
7770
|
-
honorific_prefixes: [
|
|
7771
|
-
honorific_suffixes: [
|
|
8291
|
+
family_name: "Smith",
|
|
8292
|
+
given_name: "Jane",
|
|
8293
|
+
additional_names: ["A."],
|
|
8294
|
+
honorific_prefixes: ["Dr."],
|
|
8295
|
+
honorific_suffixes: ["PhD"]
|
|
7772
8296
|
},
|
|
7773
|
-
nickname: [
|
|
7774
|
-
birthday:
|
|
8297
|
+
nickname: ["Janie"],
|
|
8298
|
+
birthday: "1990-02-15",
|
|
7775
8299
|
addresses: [{
|
|
7776
|
-
country_name:
|
|
7777
|
-
extended_address:
|
|
7778
|
-
locality:
|
|
7779
|
-
postal_code:
|
|
7780
|
-
post_office_box:
|
|
7781
|
-
region:
|
|
7782
|
-
street_address:
|
|
7783
|
-
type: [
|
|
8300
|
+
country_name: "USA",
|
|
8301
|
+
extended_address: "Apt. 4B",
|
|
8302
|
+
locality: "Anytown",
|
|
8303
|
+
postal_code: "90210",
|
|
8304
|
+
post_office_box: "PO Box 123",
|
|
8305
|
+
region: "CA",
|
|
8306
|
+
street_address: "123 Main St",
|
|
8307
|
+
type: %w[HOME PREF]
|
|
7784
8308
|
}],
|
|
7785
|
-
url:
|
|
8309
|
+
url: "https://app.pinnacle.sh",
|
|
7786
8310
|
phones: [{
|
|
7787
|
-
type: [
|
|
7788
|
-
value:
|
|
8311
|
+
type: ["CELL"],
|
|
8312
|
+
value: "+15551234567"
|
|
7789
8313
|
}],
|
|
7790
8314
|
emails: [{
|
|
7791
|
-
type: [
|
|
7792
|
-
value:
|
|
8315
|
+
type: ["INTERNET"],
|
|
8316
|
+
value: "jane.smith@example.com"
|
|
7793
8317
|
}],
|
|
7794
|
-
timezone:
|
|
8318
|
+
timezone: "America/Los_Angeles",
|
|
7795
8319
|
geo: {
|
|
7796
8320
|
latitude: 34.0522,
|
|
7797
8321
|
longitude: -118.2437
|
|
7798
8322
|
},
|
|
7799
|
-
title:
|
|
7800
|
-
role:
|
|
8323
|
+
title: "Engineer",
|
|
8324
|
+
role: "Developer",
|
|
7801
8325
|
organization: {
|
|
7802
|
-
name:
|
|
7803
|
-
units: [
|
|
8326
|
+
name: "Acme Co",
|
|
8327
|
+
units: %w[Engineering R&D]
|
|
7804
8328
|
},
|
|
7805
|
-
categories: [
|
|
7806
|
-
note:
|
|
7807
|
-
photo:
|
|
7808
|
-
)
|
|
8329
|
+
categories: %w[Friend Colleague],
|
|
8330
|
+
note: "Test contact entry",
|
|
8331
|
+
photo: "https://fastly.picsum.photos/id/853/200/200.jpg?hmac=f4LF-tVBBnJb9PQAVEO8GCTGWgLUnxQLw44rUofE6mQ"
|
|
8332
|
+
)
|
|
7809
8333
|
```
|
|
7810
8334
|
</dd>
|
|
7811
8335
|
</dl>
|
|
@@ -7839,3 +8363,4 @@ client.tools.contact_card.upsert(
|
|
|
7839
8363
|
</dd>
|
|
7840
8364
|
</dl>
|
|
7841
8365
|
</details>
|
|
8366
|
+
|