rcs 2.0.16 → 2.0.18
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 +6 -5
- data/.rubocop.yml +5 -15
- 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/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 +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/agent_summary_carrier_launches.rb +7 -1
- data/lib/pinnacle/types/campaign_status_event.rb +21 -0
- data/lib/pinnacle/types/campaign_status_event_agent.rb +11 -0
- data/lib/pinnacle/types/campaign_status_event_brand.rb +11 -0
- data/lib/pinnacle/types/campaign_status_event_campaign.rb +11 -0
- data/lib/pinnacle/types/campaign_status_event_campaign_type.rb +13 -0
- data/lib/pinnacle/types/campaign_status_event_carrier_launches.rb +13 -0
- data/lib/pinnacle/types/campaign_status_event_carrier_launches_carriers.rb +16 -0
- data/lib/pinnacle/types/campaign_status_event_carrier_launches_verification.rb +15 -0
- data/lib/pinnacle/types/carrier_launches.rb +5 -5
- data/lib/pinnacle/types/carrier_launches_carriers.rb +16 -0
- data/lib/pinnacle/types/carrier_launches_verification.rb +15 -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/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/message_event.rb +1 -1
- data/lib/pinnacle/types/message_event_type.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/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/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/user_event_conversation.rb +1 -1
- data/lib/pinnacle/types/verification_status.rb +13 -0
- data/lib/pinnacle/types/webhook_event_enum.rb +2 -0
- data/lib/pinnacle/version.rb +1 -1
- data/lib/pinnacle/wrapper/messages/client.rb +11 -2
- data/lib/pinnacle.rb +79 -2
- data/lib/rcs.rb +206 -15
- data/reference.md +807 -300
- metadata +79 -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>
|
|
@@ -2800,7 +2800,7 @@ Subscriptions are additive — attaching new senders does not remove existing on
|
|
|
2800
2800
|
<dd>
|
|
2801
2801
|
|
|
2802
2802
|
```ruby
|
|
2803
|
-
client.webhooks.attach(senders: [
|
|
2803
|
+
client.webhooks.attach(senders: %w[+14155551234 agent_abc123])
|
|
2804
2804
|
```
|
|
2805
2805
|
</dd>
|
|
2806
2806
|
</dl>
|
|
@@ -2855,7 +2855,7 @@ Supplying `headers` alongside `webhookId` **overwrites** the stored headers on t
|
|
|
2855
2855
|
|
|
2856
2856
|
Event type filter for the subscription. Set to `null` to receive all events. <br>
|
|
2857
2857
|
|
|
2858
|
-
`USER.TYPING`
|
|
2858
|
+
`USER.TYPING` and `CAMPAIGN.STATUS` are only supported for RCS agent senders, not phone numbers — attempting to attach either of these events to a phone number returns `400 Bad Request`.
|
|
2859
2859
|
|
|
2860
2860
|
</dd>
|
|
2861
2861
|
</dl>
|
|
@@ -2921,9 +2921,9 @@ The webhook itself is not deleted and remains available for use with other sende
|
|
|
2921
2921
|
|
|
2922
2922
|
```ruby
|
|
2923
2923
|
client.webhooks.detach(
|
|
2924
|
-
webhook_id:
|
|
2925
|
-
senders: [
|
|
2926
|
-
)
|
|
2924
|
+
webhook_id: "webhookId",
|
|
2925
|
+
senders: %w[+14155551234 agent_abc123]
|
|
2926
|
+
)
|
|
2927
2927
|
```
|
|
2928
2928
|
</dd>
|
|
2929
2929
|
</dl>
|
|
@@ -2962,6 +2962,426 @@ client.webhooks.detach(
|
|
|
2962
2962
|
</dl>
|
|
2963
2963
|
|
|
2964
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
|
+
|
|
2965
3385
|
</dd>
|
|
2966
3386
|
</dl>
|
|
2967
3387
|
</details>
|
|
@@ -2998,9 +3418,9 @@ Remove contacts from an existing audience. This operation is idempotent.
|
|
|
2998
3418
|
|
|
2999
3419
|
```ruby
|
|
3000
3420
|
client.audiences.contacts.remove(
|
|
3001
|
-
id:
|
|
3002
|
-
contacts: [
|
|
3003
|
-
)
|
|
3421
|
+
id: "aud_abc123",
|
|
3422
|
+
contacts: %w[+12125551234 co_def456]
|
|
3423
|
+
)
|
|
3004
3424
|
```
|
|
3005
3425
|
</dd>
|
|
3006
3426
|
</dl>
|
|
@@ -3078,9 +3498,9 @@ Add contacts to an existing audience. This operation is additive and idempotent.
|
|
|
3078
3498
|
|
|
3079
3499
|
```ruby
|
|
3080
3500
|
client.audiences.contacts.add(
|
|
3081
|
-
id:
|
|
3082
|
-
contacts: [
|
|
3083
|
-
)
|
|
3501
|
+
id: "aud_abc123",
|
|
3502
|
+
contacts: %w[+12125551234 co_def456 +13105551234]
|
|
3503
|
+
)
|
|
3084
3504
|
```
|
|
3085
3505
|
</dd>
|
|
3086
3506
|
</dl>
|
|
@@ -3155,9 +3575,9 @@ Generate campaign details based off existing campaign and the brand it's connect
|
|
|
3155
3575
|
|
|
3156
3576
|
```ruby
|
|
3157
3577
|
client.campaigns.dlc.autofill(
|
|
3158
|
-
additional_info:
|
|
3159
|
-
campaign_id:
|
|
3160
|
-
)
|
|
3578
|
+
additional_info: "Please autofill missing campaign fields using my brand profile",
|
|
3579
|
+
campaign_id: "dlc_1234567890"
|
|
3580
|
+
)
|
|
3161
3581
|
```
|
|
3162
3582
|
</dd>
|
|
3163
3583
|
</dl>
|
|
@@ -3219,7 +3639,7 @@ Retrieve 10DLC campaign.
|
|
|
3219
3639
|
<dd>
|
|
3220
3640
|
|
|
3221
3641
|
```ruby
|
|
3222
|
-
client.campaigns.dlc.get(campaign_id:
|
|
3642
|
+
client.campaigns.dlc.get(campaign_id: "dlc_1234567890")
|
|
3223
3643
|
```
|
|
3224
3644
|
</dd>
|
|
3225
3645
|
</dl>
|
|
@@ -3281,7 +3701,7 @@ Submit your 10DLC campaign for approval and activation with carriers.
|
|
|
3281
3701
|
<dd>
|
|
3282
3702
|
|
|
3283
3703
|
```ruby
|
|
3284
|
-
client.campaigns.dlc.submit(campaign_id:
|
|
3704
|
+
client.campaigns.dlc.submit(campaign_id: "dlc_1234567890")
|
|
3285
3705
|
```
|
|
3286
3706
|
</dd>
|
|
3287
3707
|
</dl>
|
|
@@ -3358,25 +3778,25 @@ All fields are **required** unless specified otherwise, and will be validated wh
|
|
|
3358
3778
|
```ruby
|
|
3359
3779
|
client.campaigns.dlc.upsert(
|
|
3360
3780
|
auto_renew: true,
|
|
3361
|
-
brand:
|
|
3362
|
-
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.",
|
|
3363
3783
|
keywords: {
|
|
3364
3784
|
help: {
|
|
3365
|
-
message:
|
|
3366
|
-
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]
|
|
3367
3787
|
},
|
|
3368
3788
|
opt_in: {
|
|
3369
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",
|
|
3370
|
-
values: [
|
|
3790
|
+
values: %w[START YES SUBSCRIBE]
|
|
3371
3791
|
},
|
|
3372
3792
|
opt_out: {
|
|
3373
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.",
|
|
3374
|
-
values: [
|
|
3794
|
+
values: %w[STOP CANCEL UNSUBSCRIBE]
|
|
3375
3795
|
}
|
|
3376
3796
|
},
|
|
3377
3797
|
links: {
|
|
3378
|
-
privacy_policy:
|
|
3379
|
-
terms_of_service:
|
|
3798
|
+
privacy_policy: "https://www.pinnacle.sh/privacy",
|
|
3799
|
+
terms_of_service: "https://www.pinnacle.sh/terms"
|
|
3380
3800
|
},
|
|
3381
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',
|
|
3382
3802
|
name: "Pinnacle's Account Notifications",
|
|
@@ -3384,16 +3804,16 @@ client.campaigns.dlc.upsert(
|
|
|
3384
3804
|
affiliate_marketing: false,
|
|
3385
3805
|
age_gated: false,
|
|
3386
3806
|
direct_lending: false,
|
|
3387
|
-
embedded_link:
|
|
3807
|
+
embedded_link: "https://www.pinnacle.sh/example",
|
|
3388
3808
|
embedded_phone: false,
|
|
3389
3809
|
number_pooling: false
|
|
3390
3810
|
},
|
|
3391
|
-
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."],
|
|
3392
3812
|
use_case: {
|
|
3393
|
-
sub: [
|
|
3394
|
-
value:
|
|
3813
|
+
sub: %w[ACCOUNT_NOTIFICATION CUSTOMER_CARE SECURITY_ALERT],
|
|
3814
|
+
value: "MIXED"
|
|
3395
3815
|
}
|
|
3396
|
-
)
|
|
3816
|
+
)
|
|
3397
3817
|
```
|
|
3398
3818
|
</dd>
|
|
3399
3819
|
</dl>
|
|
@@ -3540,9 +3960,9 @@ Validate your 10DLC campaign configuration against carrier requirements and comp
|
|
|
3540
3960
|
|
|
3541
3961
|
```ruby
|
|
3542
3962
|
client.campaigns.dlc.validate(
|
|
3543
|
-
additional_info:
|
|
3544
|
-
campaign_id:
|
|
3545
|
-
)
|
|
3963
|
+
additional_info: "Please validate this DLC campaign for 10DLC compliance",
|
|
3964
|
+
campaign_id: "dlc_1234567890"
|
|
3965
|
+
)
|
|
3546
3966
|
```
|
|
3547
3967
|
</dd>
|
|
3548
3968
|
</dl>
|
|
@@ -3604,7 +4024,7 @@ List all 10DLC campaigns with optional filtering and pagination. Results are sor
|
|
|
3604
4024
|
<dd>
|
|
3605
4025
|
|
|
3606
4026
|
```ruby
|
|
3607
|
-
client.campaigns.dlc.list
|
|
4027
|
+
client.campaigns.dlc.list
|
|
3608
4028
|
```
|
|
3609
4029
|
</dd>
|
|
3610
4030
|
</dl>
|
|
@@ -3700,9 +4120,9 @@ Generate campaign details based off existing campaign and the brand it's connect
|
|
|
3700
4120
|
|
|
3701
4121
|
```ruby
|
|
3702
4122
|
client.campaigns.toll_free.autofill(
|
|
3703
|
-
additional_info:
|
|
3704
|
-
campaign_id:
|
|
3705
|
-
)
|
|
4123
|
+
additional_info: "Please autofill missing campaign fields using my brand profile",
|
|
4124
|
+
campaign_id: "dlc_1234567890"
|
|
4125
|
+
)
|
|
3706
4126
|
```
|
|
3707
4127
|
</dd>
|
|
3708
4128
|
</dl>
|
|
@@ -3764,7 +4184,7 @@ Retrieve Toll-Free campaign.
|
|
|
3764
4184
|
<dd>
|
|
3765
4185
|
|
|
3766
4186
|
```ruby
|
|
3767
|
-
client.campaigns.toll_free.get(campaign_id:
|
|
4187
|
+
client.campaigns.toll_free.get(campaign_id: "tf_1234567890")
|
|
3768
4188
|
```
|
|
3769
4189
|
</dd>
|
|
3770
4190
|
</dl>
|
|
@@ -3826,7 +4246,7 @@ Submit your toll-free campaign for approval and activation with carriers.
|
|
|
3826
4246
|
<dd>
|
|
3827
4247
|
|
|
3828
4248
|
```ruby
|
|
3829
|
-
client.campaigns.toll_free.submit(campaign_id:
|
|
4249
|
+
client.campaigns.toll_free.submit(campaign_id: "tf_1234567890")
|
|
3830
4250
|
```
|
|
3831
4251
|
</dd>
|
|
3832
4252
|
</dl>
|
|
@@ -3899,26 +4319,26 @@ All fields are **required** unless specified otherwise, and will be validated wh
|
|
|
3899
4319
|
|
|
3900
4320
|
```ruby
|
|
3901
4321
|
client.campaigns.toll_free.upsert(
|
|
3902
|
-
brand:
|
|
3903
|
-
campaign_id:
|
|
4322
|
+
brand: "b_1234567890",
|
|
4323
|
+
campaign_id: "tf_1234567890",
|
|
3904
4324
|
keywords: {
|
|
3905
4325
|
help: {
|
|
3906
|
-
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."
|
|
3907
4327
|
},
|
|
3908
4328
|
opt_in: {
|
|
3909
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/",
|
|
3910
|
-
keywords: [
|
|
4330
|
+
keywords: %w[START SUBSCRIBE]
|
|
3911
4331
|
}
|
|
3912
4332
|
},
|
|
3913
4333
|
links: {
|
|
3914
|
-
privacy_policy:
|
|
3915
|
-
terms_of_service:
|
|
4334
|
+
privacy_policy: "https://www.pinnacle.sh/privacy",
|
|
4335
|
+
terms_of_service: "https://www.pinnacle.sh/terms"
|
|
3916
4336
|
},
|
|
3917
|
-
monthly_volume:
|
|
3918
|
-
name:
|
|
4337
|
+
monthly_volume: "10,000",
|
|
4338
|
+
name: "Pinnacle",
|
|
3919
4339
|
opt_in: {
|
|
3920
|
-
method_:
|
|
3921
|
-
url:
|
|
4340
|
+
method_: "PAPER",
|
|
4341
|
+
url: "https://www.pinnacle.sh/opt-in",
|
|
3922
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"
|
|
3923
4343
|
},
|
|
3924
4344
|
options: {
|
|
@@ -3926,10 +4346,10 @@ client.campaigns.toll_free.upsert(
|
|
|
3926
4346
|
},
|
|
3927
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.",
|
|
3928
4348
|
use_case: {
|
|
3929
|
-
summary:
|
|
3930
|
-
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"
|
|
3931
4351
|
}
|
|
3932
|
-
)
|
|
4352
|
+
)
|
|
3933
4353
|
```
|
|
3934
4354
|
</dd>
|
|
3935
4355
|
</dl>
|
|
@@ -4064,9 +4484,9 @@ Validate your toll-free campaign configuration against carrier requirements and
|
|
|
4064
4484
|
|
|
4065
4485
|
```ruby
|
|
4066
4486
|
client.campaigns.toll_free.validate(
|
|
4067
|
-
additional_info:
|
|
4068
|
-
campaign_id:
|
|
4069
|
-
)
|
|
4487
|
+
additional_info: "Please validate this DLC campaign for 10DLC compliance",
|
|
4488
|
+
campaign_id: "dlc_1234567890"
|
|
4489
|
+
)
|
|
4070
4490
|
```
|
|
4071
4491
|
</dd>
|
|
4072
4492
|
</dl>
|
|
@@ -4128,7 +4548,7 @@ List all toll-free campaigns with optional filtering and pagination. Results are
|
|
|
4128
4548
|
<dd>
|
|
4129
4549
|
|
|
4130
4550
|
```ruby
|
|
4131
|
-
client.campaigns.toll_free.list
|
|
4551
|
+
client.campaigns.toll_free.list
|
|
4132
4552
|
```
|
|
4133
4553
|
</dd>
|
|
4134
4554
|
</dl>
|
|
@@ -4224,9 +4644,9 @@ Generate campaign details based off existing campaign and the brand it's connect
|
|
|
4224
4644
|
|
|
4225
4645
|
```ruby
|
|
4226
4646
|
client.campaigns.rcs.autofill(
|
|
4227
|
-
additional_info:
|
|
4228
|
-
campaign_id:
|
|
4229
|
-
)
|
|
4647
|
+
additional_info: "Please autofill missing campaign fields using my brand profile",
|
|
4648
|
+
campaign_id: "dlc_1234567890"
|
|
4649
|
+
)
|
|
4230
4650
|
```
|
|
4231
4651
|
</dd>
|
|
4232
4652
|
</dl>
|
|
@@ -4288,7 +4708,7 @@ Retrieve RCS campaign.
|
|
|
4288
4708
|
<dd>
|
|
4289
4709
|
|
|
4290
4710
|
```ruby
|
|
4291
|
-
client.campaigns.rcs.get(campaign_id:
|
|
4711
|
+
client.campaigns.rcs.get(campaign_id: "rcs_1234567890")
|
|
4292
4712
|
```
|
|
4293
4713
|
</dd>
|
|
4294
4714
|
</dl>
|
|
@@ -4350,7 +4770,7 @@ Submit your RCS campaign for approval and activation with carriers.
|
|
|
4350
4770
|
<dd>
|
|
4351
4771
|
|
|
4352
4772
|
```ruby
|
|
4353
|
-
client.campaigns.rcs.submit(campaign_id:
|
|
4773
|
+
client.campaigns.rcs.submit(campaign_id: "rcs_1234567890")
|
|
4354
4774
|
```
|
|
4355
4775
|
</dd>
|
|
4356
4776
|
</dl>
|
|
@@ -4423,42 +4843,42 @@ All fields are **required** unless specified otherwise, and will be validated wh
|
|
|
4423
4843
|
client.campaigns.rcs.upsert(
|
|
4424
4844
|
agent: {
|
|
4425
4845
|
color: "#000000",
|
|
4426
|
-
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.",
|
|
4427
4847
|
emails: [{
|
|
4428
|
-
email:
|
|
4429
|
-
label:
|
|
4848
|
+
email: "founders@trypinnacle.app",
|
|
4849
|
+
label: "Email Us"
|
|
4430
4850
|
}],
|
|
4431
|
-
hero_url:
|
|
4432
|
-
icon_url:
|
|
4433
|
-
name:
|
|
4851
|
+
hero_url: "https://pncl.to/D6pDSqGxqgfbCfQmw4gXdnlHu4uSB4",
|
|
4852
|
+
icon_url: "https://pncl.to/mq_tdIDenRb5eYpJiM8-3THCaUBrZP",
|
|
4853
|
+
name: "Pinnacle - RCS Demo",
|
|
4434
4854
|
phones: [{
|
|
4435
|
-
label:
|
|
4436
|
-
phone:
|
|
4855
|
+
label: "Contact us directly",
|
|
4856
|
+
phone: "+14154467821"
|
|
4437
4857
|
}],
|
|
4438
4858
|
websites: [{
|
|
4439
|
-
label:
|
|
4440
|
-
url:
|
|
4859
|
+
label: "Get started with Pinnacle",
|
|
4860
|
+
url: "https://www.trypinnacle.app/"
|
|
4441
4861
|
}]
|
|
4442
4862
|
},
|
|
4443
|
-
brand:
|
|
4444
|
-
campaign_id:
|
|
4445
|
-
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."],
|
|
4446
4866
|
links: {
|
|
4447
|
-
privacy_policy:
|
|
4448
|
-
terms_of_service:
|
|
4867
|
+
privacy_policy: "“https://www.trypinnacle.app/privacy”",
|
|
4868
|
+
terms_of_service: "“https://www.trypinnacle.app/terms”"
|
|
4449
4869
|
},
|
|
4450
|
-
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>
|
|
4451
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.
|
|
4452
|
-
|
|
4453
|
-
messaging_type:
|
|
4454
|
-
cta_media:
|
|
4455
|
-
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>
|
|
4456
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.
|
|
4457
|
-
|
|
4877
|
+
",
|
|
4458
4878
|
keywords: {
|
|
4459
4879
|
help: {
|
|
4460
|
-
message:
|
|
4461
|
-
keywords: [
|
|
4880
|
+
message: "Email founders@trypinnacle.app for support.",
|
|
4881
|
+
keywords: %w[HELP SUPPORT]
|
|
4462
4882
|
},
|
|
4463
4883
|
opt_in: {
|
|
4464
4884
|
message: "Welcome back to Pinnacle!<br>
|
|
@@ -4466,20 +4886,20 @@ client.campaigns.rcs.upsert(
|
|
|
4466
4886
|
|
|
4467
4887
|
Reply STOP to opt out and HELP for support. Message & rates may apply.
|
|
4468
4888
|
",
|
|
4469
|
-
keywords: [
|
|
4889
|
+
keywords: %w[START SUBSCRIBE]
|
|
4470
4890
|
},
|
|
4471
4891
|
opt_out: {
|
|
4472
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.",
|
|
4473
|
-
keywords: [
|
|
4893
|
+
keywords: %w[STOP UNSUBSCRIBE END]
|
|
4474
4894
|
}
|
|
4475
4895
|
},
|
|
4476
4896
|
traffic: {
|
|
4477
4897
|
monthly_website: 10000,
|
|
4478
4898
|
monthly_rcs_estimate: 10000
|
|
4479
4899
|
},
|
|
4480
|
-
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.",
|
|
4481
4901
|
demo_trigger: 'Text "START" to trigger the flow.'
|
|
4482
|
-
)
|
|
4902
|
+
)
|
|
4483
4903
|
```
|
|
4484
4904
|
</dd>
|
|
4485
4905
|
</dl>
|
|
@@ -4641,9 +5061,9 @@ Validate your RCS campaign configuration against carrier requirements and compli
|
|
|
4641
5061
|
|
|
4642
5062
|
```ruby
|
|
4643
5063
|
client.campaigns.rcs.validate(
|
|
4644
|
-
additional_info:
|
|
4645
|
-
campaign_id:
|
|
4646
|
-
)
|
|
5064
|
+
additional_info: "Please validate this DLC campaign for 10DLC compliance",
|
|
5065
|
+
campaign_id: "dlc_1234567890"
|
|
5066
|
+
)
|
|
4647
5067
|
```
|
|
4648
5068
|
</dd>
|
|
4649
5069
|
</dl>
|
|
@@ -4705,7 +5125,7 @@ List all RCS campaigns with optional filtering and pagination. Results are sorte
|
|
|
4705
5125
|
<dd>
|
|
4706
5126
|
|
|
4707
5127
|
```ruby
|
|
4708
|
-
client.campaigns.rcs.list
|
|
5128
|
+
client.campaigns.rcs.list
|
|
4709
5129
|
```
|
|
4710
5130
|
</dd>
|
|
4711
5131
|
</dl>
|
|
@@ -4768,6 +5188,92 @@ client.campaigns.rcs.list();
|
|
|
4768
5188
|
</dl>
|
|
4769
5189
|
|
|
4770
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
|
+
|
|
4771
5277
|
</dd>
|
|
4772
5278
|
</dl>
|
|
4773
5279
|
</details>
|
|
@@ -4801,10 +5307,10 @@ Send a SMS message immediately or schedule it for future delivery.
|
|
|
4801
5307
|
|
|
4802
5308
|
```ruby
|
|
4803
5309
|
client.messages.sms.send_(
|
|
4804
|
-
from:
|
|
4805
|
-
text:
|
|
4806
|
-
to:
|
|
4807
|
-
)
|
|
5310
|
+
from: "+14155164736",
|
|
5311
|
+
text: "Hey!",
|
|
5312
|
+
to: "+14154746461"
|
|
5313
|
+
)
|
|
4808
5314
|
```
|
|
4809
5315
|
</dd>
|
|
4810
5316
|
</dl>
|
|
@@ -4890,7 +5396,7 @@ Validate SMS message content without sending it.
|
|
|
4890
5396
|
<dd>
|
|
4891
5397
|
|
|
4892
5398
|
```ruby
|
|
4893
|
-
client.messages.sms.validate(text:
|
|
5399
|
+
client.messages.sms.validate(text: "Hello from Pinnacle")
|
|
4894
5400
|
```
|
|
4895
5401
|
</dd>
|
|
4896
5402
|
</dl>
|
|
@@ -4954,15 +5460,15 @@ Send a MMS immediately or schedule it for future delivery.
|
|
|
4954
5460
|
|
|
4955
5461
|
```ruby
|
|
4956
5462
|
client.messages.mms.send_(
|
|
4957
|
-
from:
|
|
4958
|
-
media_urls: [
|
|
5463
|
+
from: "+14155164736",
|
|
5464
|
+
media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg?hmac=mDxM9PWSqRDjecwSCEpzU4bj35gqnG7yA25OL29uNv0"],
|
|
4959
5465
|
options: {
|
|
4960
5466
|
multiple_messages: true,
|
|
4961
5467
|
validate: true
|
|
4962
5468
|
},
|
|
4963
|
-
text:
|
|
4964
|
-
to:
|
|
4965
|
-
)
|
|
5469
|
+
text: "Check out this image!",
|
|
5470
|
+
to: "+14154746461"
|
|
5471
|
+
)
|
|
4966
5472
|
```
|
|
4967
5473
|
</dd>
|
|
4968
5474
|
</dl>
|
|
@@ -5061,9 +5567,9 @@ Validate MMS message content without sending it.
|
|
|
5061
5567
|
|
|
5062
5568
|
```ruby
|
|
5063
5569
|
client.messages.mms.validate(
|
|
5064
|
-
media_urls: [
|
|
5065
|
-
text:
|
|
5066
|
-
)
|
|
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
|
+
)
|
|
5067
5573
|
```
|
|
5068
5574
|
</dd>
|
|
5069
5575
|
</dl>
|
|
@@ -5129,10 +5635,10 @@ Requires an active RCS agent and recipient devices that support RCS Business Mes
|
|
|
5129
5635
|
|
|
5130
5636
|
```ruby
|
|
5131
5637
|
client.messages.rcs.send_(
|
|
5132
|
-
from:
|
|
5133
|
-
to:
|
|
5134
|
-
text:
|
|
5135
|
-
)
|
|
5638
|
+
from: "from",
|
|
5639
|
+
to: "to",
|
|
5640
|
+
text: "text"
|
|
5641
|
+
)
|
|
5136
5642
|
```
|
|
5137
5643
|
</dd>
|
|
5138
5644
|
</dl>
|
|
@@ -5205,9 +5711,9 @@ This endpoint allows RCS agents to display a typing indicator to recipients. The
|
|
|
5205
5711
|
|
|
5206
5712
|
```ruby
|
|
5207
5713
|
client.messages.rcs.send_typing(
|
|
5208
|
-
agent_id:
|
|
5209
|
-
to:
|
|
5210
|
-
)
|
|
5714
|
+
agent_id: "agent_pinnacle",
|
|
5715
|
+
to: "+14154746461"
|
|
5716
|
+
)
|
|
5211
5717
|
```
|
|
5212
5718
|
</dd>
|
|
5213
5719
|
</dl>
|
|
@@ -5285,7 +5791,7 @@ Validate RCS message content without sending it.
|
|
|
5285
5791
|
<dd>
|
|
5286
5792
|
|
|
5287
5793
|
```ruby
|
|
5288
|
-
client.messages.rcs.validate(text:
|
|
5794
|
+
client.messages.rcs.validate(text: "text")
|
|
5289
5795
|
```
|
|
5290
5796
|
</dd>
|
|
5291
5797
|
</dl>
|
|
@@ -5353,12 +5859,12 @@ Use the optional `schedule` parameter in `options` to schedule the blast for fut
|
|
|
5353
5859
|
|
|
5354
5860
|
```ruby
|
|
5355
5861
|
client.messages.blast.sms(
|
|
5356
|
-
audience_id:
|
|
5357
|
-
senders: [
|
|
5862
|
+
audience_id: "aud_abc123",
|
|
5863
|
+
senders: %w[+14155164736 +14155164737],
|
|
5358
5864
|
message: {
|
|
5359
|
-
text:
|
|
5865
|
+
text: "Hello from Pinnacle!"
|
|
5360
5866
|
}
|
|
5361
|
-
)
|
|
5867
|
+
)
|
|
5362
5868
|
```
|
|
5363
5869
|
</dd>
|
|
5364
5870
|
</dl>
|
|
@@ -5461,16 +5967,16 @@ Use the optional `schedule` parameter in `options` to schedule the blast for fut
|
|
|
5461
5967
|
|
|
5462
5968
|
```ruby
|
|
5463
5969
|
client.messages.blast.mms(
|
|
5464
|
-
audience_id:
|
|
5465
|
-
senders: [
|
|
5970
|
+
audience_id: "aud_abc123",
|
|
5971
|
+
senders: %w[+14155164736 +14155164737],
|
|
5466
5972
|
message: {
|
|
5467
|
-
media_urls: [
|
|
5468
|
-
text:
|
|
5973
|
+
media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg"],
|
|
5974
|
+
text: "Check out this image!"
|
|
5469
5975
|
},
|
|
5470
5976
|
options: {
|
|
5471
5977
|
validate: true
|
|
5472
5978
|
}
|
|
5473
|
-
)
|
|
5979
|
+
)
|
|
5474
5980
|
```
|
|
5475
5981
|
</dd>
|
|
5476
5982
|
</dl>
|
|
@@ -5573,21 +6079,21 @@ Use the optional `schedule` parameter in `options` to schedule the blast for fut
|
|
|
5573
6079
|
|
|
5574
6080
|
```ruby
|
|
5575
6081
|
client.messages.blast.rcs(
|
|
5576
|
-
audience_id:
|
|
5577
|
-
senders: [
|
|
6082
|
+
audience_id: "aud_abc123",
|
|
6083
|
+
senders: %w[agent_pinnacle agent_pinnacle2],
|
|
5578
6084
|
message: {
|
|
5579
6085
|
quick_replies: [],
|
|
5580
|
-
text:
|
|
6086
|
+
text: "Hello from Pinnacle RCS!"
|
|
5581
6087
|
},
|
|
5582
6088
|
fallback: {
|
|
5583
|
-
from:
|
|
5584
|
-
text:
|
|
6089
|
+
from: "+14155164736",
|
|
6090
|
+
text: "Hello from Pinnacle! Reply LEARN to learn more."
|
|
5585
6091
|
},
|
|
5586
6092
|
options: {
|
|
5587
6093
|
transcode: true,
|
|
5588
6094
|
validate: true
|
|
5589
6095
|
}
|
|
5590
|
-
)
|
|
6096
|
+
)
|
|
5591
6097
|
```
|
|
5592
6098
|
</dd>
|
|
5593
6099
|
</dl>
|
|
@@ -5694,7 +6200,7 @@ Works for both individual scheduled messages and scheduled blasts. Use the `sche
|
|
|
5694
6200
|
<dd>
|
|
5695
6201
|
|
|
5696
6202
|
```ruby
|
|
5697
|
-
client.messages.schedule.cancel(id:
|
|
6203
|
+
client.messages.schedule.cancel(id: "id")
|
|
5698
6204
|
```
|
|
5699
6205
|
</dd>
|
|
5700
6206
|
</dl>
|
|
@@ -5757,7 +6263,7 @@ List all scheduled messages with optional filtering and pagination. Results are
|
|
|
5757
6263
|
<dd>
|
|
5758
6264
|
|
|
5759
6265
|
```ruby
|
|
5760
|
-
client.messages.schedules.list
|
|
6266
|
+
client.messages.schedules.list
|
|
5761
6267
|
```
|
|
5762
6268
|
</dd>
|
|
5763
6269
|
</dl>
|
|
@@ -5852,7 +6358,7 @@ List all blasts with optional filtering and pagination. Results are sorted by cr
|
|
|
5852
6358
|
<dd>
|
|
5853
6359
|
|
|
5854
6360
|
```ruby
|
|
5855
|
-
client.messages.blasts.list
|
|
6361
|
+
client.messages.blasts.list
|
|
5856
6362
|
```
|
|
5857
6363
|
</dd>
|
|
5858
6364
|
</dl>
|
|
@@ -5948,12 +6454,12 @@ Simulate inbound messages and button presses from a user.
|
|
|
5948
6454
|
|
|
5949
6455
|
```ruby
|
|
5950
6456
|
client.messages.simulate.user(
|
|
5951
|
-
from:
|
|
5952
|
-
to:
|
|
6457
|
+
from: "+14155551234",
|
|
6458
|
+
to: "+14155555678",
|
|
5953
6459
|
message: {
|
|
5954
|
-
text:
|
|
6460
|
+
text: "Hello from the test user!"
|
|
5955
6461
|
}
|
|
5956
|
-
)
|
|
6462
|
+
)
|
|
5957
6463
|
```
|
|
5958
6464
|
</dd>
|
|
5959
6465
|
</dl>
|
|
@@ -6017,10 +6523,10 @@ Link a phone number to a specific campaign. Phone numbers must be linked to a ca
|
|
|
6017
6523
|
|
|
6018
6524
|
```ruby
|
|
6019
6525
|
client.phone_numbers.campaign.attach(
|
|
6020
|
-
phones: [
|
|
6021
|
-
campaign_type:
|
|
6022
|
-
campaign_id:
|
|
6023
|
-
)
|
|
6526
|
+
phones: %w[+14155550123 +14155559876 +14155550111],
|
|
6527
|
+
campaign_type: "TOLL_FREE",
|
|
6528
|
+
campaign_id: "tf_1234567890"
|
|
6529
|
+
)
|
|
6024
6530
|
```
|
|
6025
6531
|
</dd>
|
|
6026
6532
|
</dl>
|
|
@@ -6110,7 +6616,7 @@ Remove the association between a phone number and its attached campaign.
|
|
|
6110
6616
|
<dd>
|
|
6111
6617
|
|
|
6112
6618
|
```ruby
|
|
6113
|
-
client.phone_numbers.campaign.detach(phones: [
|
|
6619
|
+
client.phone_numbers.campaign.detach(phones: %w[+14155559876 14155550111])
|
|
6114
6620
|
```
|
|
6115
6621
|
</dd>
|
|
6116
6622
|
</dl>
|
|
@@ -6176,7 +6682,7 @@ List all RCS agents with pagination. Results are sorted by creation date, newest
|
|
|
6176
6682
|
<dd>
|
|
6177
6683
|
|
|
6178
6684
|
```ruby
|
|
6179
|
-
client.rcs.agents.list
|
|
6685
|
+
client.rcs.agents.list
|
|
6180
6686
|
```
|
|
6181
6687
|
</dd>
|
|
6182
6688
|
</dl>
|
|
@@ -6263,7 +6769,7 @@ List all whitelisted test numbers with optional filtering and pagination. Result
|
|
|
6263
6769
|
<dd>
|
|
6264
6770
|
|
|
6265
6771
|
```ruby
|
|
6266
|
-
client.rcs.whitelisted_numbers.list
|
|
6772
|
+
client.rcs.whitelisted_numbers.list
|
|
6267
6773
|
```
|
|
6268
6774
|
</dd>
|
|
6269
6775
|
</dl>
|
|
@@ -6389,28 +6895,28 @@ Once your test agent is created, you'll need to:
|
|
|
6389
6895
|
|
|
6390
6896
|
```ruby
|
|
6391
6897
|
client.rcs.test.create_agent(
|
|
6392
|
-
display_name:
|
|
6393
|
-
description:
|
|
6394
|
-
logo_url:
|
|
6395
|
-
hero_url:
|
|
6898
|
+
display_name: "Acme Support",
|
|
6899
|
+
description: "Get help with your Acme orders and account",
|
|
6900
|
+
logo_url: "https://example.com/logo.png",
|
|
6901
|
+
hero_url: "https://example.com/hero.png",
|
|
6396
6902
|
phone_numbers: [{
|
|
6397
|
-
number:
|
|
6398
|
-
label:
|
|
6903
|
+
number: "+14155550123",
|
|
6904
|
+
label: "Support"
|
|
6399
6905
|
}],
|
|
6400
6906
|
emails: [{
|
|
6401
|
-
address:
|
|
6402
|
-
label:
|
|
6907
|
+
address: "support@example.com",
|
|
6908
|
+
label: "Support"
|
|
6403
6909
|
}],
|
|
6404
6910
|
websites: [{
|
|
6405
|
-
url:
|
|
6406
|
-
label:
|
|
6911
|
+
url: "https://example.com",
|
|
6912
|
+
label: "Website"
|
|
6407
6913
|
}],
|
|
6408
|
-
privacy_url:
|
|
6409
|
-
terms_url:
|
|
6914
|
+
privacy_url: "https://example.com/privacy",
|
|
6915
|
+
terms_url: "https://example.com/terms",
|
|
6410
6916
|
color: "#FF6B00",
|
|
6411
6917
|
is_conversational: true,
|
|
6412
|
-
agent_use_case:
|
|
6413
|
-
)
|
|
6918
|
+
agent_use_case: "MULTI_USE"
|
|
6919
|
+
)
|
|
6414
6920
|
```
|
|
6415
6921
|
</dd>
|
|
6416
6922
|
</dl>
|
|
@@ -6612,9 +7118,9 @@ If updating images, the same requirements apply as when creating an agent:
|
|
|
6612
7118
|
|
|
6613
7119
|
```ruby
|
|
6614
7120
|
client.rcs.test.update_agent(
|
|
6615
|
-
agent_id:
|
|
6616
|
-
display_name:
|
|
6617
|
-
)
|
|
7121
|
+
agent_id: "agent_abc123def456",
|
|
7122
|
+
display_name: "Acme Premium Support"
|
|
7123
|
+
)
|
|
6618
7124
|
```
|
|
6619
7125
|
</dd>
|
|
6620
7126
|
</dl>
|
|
@@ -6822,9 +7328,9 @@ Attempting to whitelist during the cooldown returns a `500` error with the remai
|
|
|
6822
7328
|
|
|
6823
7329
|
```ruby
|
|
6824
7330
|
client.rcs.test.whitelist_number(
|
|
6825
|
-
agent_id:
|
|
6826
|
-
phone_number:
|
|
6827
|
-
)
|
|
7331
|
+
agent_id: "agent_abc123def456",
|
|
7332
|
+
phone_number: "+12345678901"
|
|
7333
|
+
)
|
|
6828
7334
|
```
|
|
6829
7335
|
</dd>
|
|
6830
7336
|
</dl>
|
|
@@ -6915,9 +7421,9 @@ whether the recipient has accepted or rejected the tester invite.
|
|
|
6915
7421
|
|
|
6916
7422
|
```ruby
|
|
6917
7423
|
client.rcs.test.get_whitelist_status(
|
|
6918
|
-
agent_id:
|
|
6919
|
-
phone_number:
|
|
6920
|
-
)
|
|
7424
|
+
agent_id: "agent_abc123def456",
|
|
7425
|
+
phone_number: "+12345678901"
|
|
7426
|
+
)
|
|
6921
7427
|
```
|
|
6922
7428
|
</dd>
|
|
6923
7429
|
</dl>
|
|
@@ -6988,7 +7494,7 @@ Retrieve a brand's status.
|
|
|
6988
7494
|
<dd>
|
|
6989
7495
|
|
|
6990
7496
|
```ruby
|
|
6991
|
-
client.status.get.brand(brand_id:
|
|
7497
|
+
client.status.get.brand(brand_id: "b_1234567890")
|
|
6992
7498
|
```
|
|
6993
7499
|
</dd>
|
|
6994
7500
|
</dl>
|
|
@@ -7050,7 +7556,7 @@ Retrieve a toll-free campaign's status.
|
|
|
7050
7556
|
<dd>
|
|
7051
7557
|
|
|
7052
7558
|
```ruby
|
|
7053
|
-
client.status.get.toll_free(campaign_id:
|
|
7559
|
+
client.status.get.toll_free(campaign_id: "tf_1234567890")
|
|
7054
7560
|
```
|
|
7055
7561
|
</dd>
|
|
7056
7562
|
</dl>
|
|
@@ -7112,7 +7618,7 @@ Retrieve a 10DLC campaign's status.
|
|
|
7112
7618
|
<dd>
|
|
7113
7619
|
|
|
7114
7620
|
```ruby
|
|
7115
|
-
client.status.get.dlc(campaign_id:
|
|
7621
|
+
client.status.get.dlc(campaign_id: "dlc_1234567890")
|
|
7116
7622
|
```
|
|
7117
7623
|
</dd>
|
|
7118
7624
|
</dl>
|
|
@@ -7174,7 +7680,7 @@ Retrieve a RCS campaign's status.
|
|
|
7174
7680
|
<dd>
|
|
7175
7681
|
|
|
7176
7682
|
```ruby
|
|
7177
|
-
client.status.get.rcs(campaign_id:
|
|
7683
|
+
client.status.get.rcs(campaign_id: "rcs_1234567890")
|
|
7178
7684
|
```
|
|
7179
7685
|
</dd>
|
|
7180
7686
|
</dl>
|
|
@@ -7238,7 +7744,7 @@ Check if a number is active and ready to send messages.
|
|
|
7238
7744
|
<dd>
|
|
7239
7745
|
|
|
7240
7746
|
```ruby
|
|
7241
|
-
client.status.get.phone_number(phone_number:
|
|
7747
|
+
client.status.get.phone_number(phone_number: "+14151234567")
|
|
7242
7748
|
```
|
|
7243
7749
|
</dd>
|
|
7244
7750
|
</dl>
|
|
@@ -7302,11 +7808,11 @@ Create a shortened URL that redirects visitors to the provided destination URL.
|
|
|
7302
7808
|
|
|
7303
7809
|
```ruby
|
|
7304
7810
|
client.tools.url.create(
|
|
7305
|
-
url:
|
|
7811
|
+
url: "https://www.pinnacle.sh/",
|
|
7306
7812
|
options: {
|
|
7307
|
-
expires_at:
|
|
7813
|
+
expires_at: "2025-06-23T16:18:25.000Z"
|
|
7308
7814
|
}
|
|
7309
|
-
)
|
|
7815
|
+
)
|
|
7310
7816
|
```
|
|
7311
7817
|
</dd>
|
|
7312
7818
|
</dl>
|
|
@@ -7376,7 +7882,7 @@ Retrieve configuration and details for your shortened URL using its unique ident
|
|
|
7376
7882
|
<dd>
|
|
7377
7883
|
|
|
7378
7884
|
```ruby
|
|
7379
|
-
client.tools.url.get(link_id:
|
|
7885
|
+
client.tools.url.get(link_id: "ePzVxILF")
|
|
7380
7886
|
```
|
|
7381
7887
|
</dd>
|
|
7382
7888
|
</dl>
|
|
@@ -7443,9 +7949,9 @@ Update the destination or expiration date of an existing shortened URL. Expiring
|
|
|
7443
7949
|
|
|
7444
7950
|
```ruby
|
|
7445
7951
|
client.tools.url.update(
|
|
7446
|
-
link_id:
|
|
7447
|
-
url:
|
|
7448
|
-
)
|
|
7952
|
+
link_id: "ePzVxILF",
|
|
7953
|
+
url: "https://www.pinnacle.sh/"
|
|
7954
|
+
)
|
|
7449
7955
|
```
|
|
7450
7956
|
</dd>
|
|
7451
7957
|
</dl>
|
|
@@ -7527,7 +8033,7 @@ List all shortened URLs with pagination. Results are sorted by creation date, ne
|
|
|
7527
8033
|
<dd>
|
|
7528
8034
|
|
|
7529
8035
|
```ruby
|
|
7530
|
-
client.tools.url.list
|
|
8036
|
+
client.tools.url.list
|
|
7531
8037
|
```
|
|
7532
8038
|
</dd>
|
|
7533
8039
|
</dl>
|
|
@@ -7607,16 +8113,16 @@ Generate presigned URLs that let you upload files directly to our storage and al
|
|
|
7607
8113
|
|
|
7608
8114
|
```ruby
|
|
7609
8115
|
client.tools.file.upload(
|
|
7610
|
-
content_type:
|
|
8116
|
+
content_type: "image/jpeg",
|
|
7611
8117
|
size: 1024,
|
|
7612
|
-
name:
|
|
8118
|
+
name: "test.jpg",
|
|
7613
8119
|
options: {
|
|
7614
|
-
delete_at:
|
|
8120
|
+
delete_at: "2025-12-31T23:59:59Z",
|
|
7615
8121
|
download: {
|
|
7616
|
-
expires_at:
|
|
8122
|
+
expires_at: "2025-06-30T12:00:00.000Z"
|
|
7617
8123
|
}
|
|
7618
8124
|
}
|
|
7619
|
-
)
|
|
8125
|
+
)
|
|
7620
8126
|
```
|
|
7621
8127
|
</dd>
|
|
7622
8128
|
</dl>
|
|
@@ -7714,7 +8220,7 @@ Refresh expiring presigned URLs for Pinnacle-hosted files to extend their access
|
|
|
7714
8220
|
<dd>
|
|
7715
8221
|
|
|
7716
8222
|
```ruby
|
|
7717
|
-
client.tools.file.refresh(urls: [
|
|
8223
|
+
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])
|
|
7718
8224
|
```
|
|
7719
8225
|
</dd>
|
|
7720
8226
|
</dl>
|
|
@@ -7777,7 +8283,7 @@ Retrieve contact information as a vCard and get a presigned URL to download the
|
|
|
7777
8283
|
<dd>
|
|
7778
8284
|
|
|
7779
8285
|
```ruby
|
|
7780
|
-
client.tools.contact_card.get(id:
|
|
8286
|
+
client.tools.contact_card.get(id: "cc_1234567890")
|
|
7781
8287
|
```
|
|
7782
8288
|
</dd>
|
|
7783
8289
|
</dl>
|
|
@@ -7848,51 +8354,51 @@ Create a new contact card or updates an existing one with full vCard data. Conta
|
|
|
7848
8354
|
|
|
7849
8355
|
```ruby
|
|
7850
8356
|
client.tools.contact_card.upsert(
|
|
7851
|
-
id:
|
|
7852
|
-
formatted_name:
|
|
8357
|
+
id: "cc_1234567890",
|
|
8358
|
+
formatted_name: "Jane Smith",
|
|
7853
8359
|
name: {
|
|
7854
|
-
family_name:
|
|
7855
|
-
given_name:
|
|
7856
|
-
additional_names: [
|
|
7857
|
-
honorific_prefixes: [
|
|
7858
|
-
honorific_suffixes: [
|
|
8360
|
+
family_name: "Smith",
|
|
8361
|
+
given_name: "Jane",
|
|
8362
|
+
additional_names: ["A."],
|
|
8363
|
+
honorific_prefixes: ["Dr."],
|
|
8364
|
+
honorific_suffixes: ["PhD"]
|
|
7859
8365
|
},
|
|
7860
|
-
nickname: [
|
|
7861
|
-
birthday:
|
|
8366
|
+
nickname: ["Janie"],
|
|
8367
|
+
birthday: "1990-02-15",
|
|
7862
8368
|
addresses: [{
|
|
7863
|
-
country_name:
|
|
7864
|
-
extended_address:
|
|
7865
|
-
locality:
|
|
7866
|
-
postal_code:
|
|
7867
|
-
post_office_box:
|
|
7868
|
-
region:
|
|
7869
|
-
street_address:
|
|
7870
|
-
type: [
|
|
8369
|
+
country_name: "USA",
|
|
8370
|
+
extended_address: "Apt. 4B",
|
|
8371
|
+
locality: "Anytown",
|
|
8372
|
+
postal_code: "90210",
|
|
8373
|
+
post_office_box: "PO Box 123",
|
|
8374
|
+
region: "CA",
|
|
8375
|
+
street_address: "123 Main St",
|
|
8376
|
+
type: %w[HOME PREF]
|
|
7871
8377
|
}],
|
|
7872
|
-
url:
|
|
8378
|
+
url: "https://app.pinnacle.sh",
|
|
7873
8379
|
phones: [{
|
|
7874
|
-
type: [
|
|
7875
|
-
value:
|
|
8380
|
+
type: ["CELL"],
|
|
8381
|
+
value: "+15551234567"
|
|
7876
8382
|
}],
|
|
7877
8383
|
emails: [{
|
|
7878
|
-
type: [
|
|
7879
|
-
value:
|
|
8384
|
+
type: ["INTERNET"],
|
|
8385
|
+
value: "jane.smith@example.com"
|
|
7880
8386
|
}],
|
|
7881
|
-
timezone:
|
|
8387
|
+
timezone: "America/Los_Angeles",
|
|
7882
8388
|
geo: {
|
|
7883
8389
|
latitude: 34.0522,
|
|
7884
8390
|
longitude: -118.2437
|
|
7885
8391
|
},
|
|
7886
|
-
title:
|
|
7887
|
-
role:
|
|
8392
|
+
title: "Engineer",
|
|
8393
|
+
role: "Developer",
|
|
7888
8394
|
organization: {
|
|
7889
|
-
name:
|
|
7890
|
-
units: [
|
|
8395
|
+
name: "Acme Co",
|
|
8396
|
+
units: %w[Engineering R&D]
|
|
7891
8397
|
},
|
|
7892
|
-
categories: [
|
|
7893
|
-
note:
|
|
7894
|
-
photo:
|
|
7895
|
-
)
|
|
8398
|
+
categories: %w[Friend Colleague],
|
|
8399
|
+
note: "Test contact entry",
|
|
8400
|
+
photo: "https://fastly.picsum.photos/id/853/200/200.jpg?hmac=f4LF-tVBBnJb9PQAVEO8GCTGWgLUnxQLw44rUofE6mQ"
|
|
8401
|
+
)
|
|
7896
8402
|
```
|
|
7897
8403
|
</dd>
|
|
7898
8404
|
</dl>
|
|
@@ -7926,3 +8432,4 @@ client.tools.contact_card.upsert(
|
|
|
7926
8432
|
</dd>
|
|
7927
8433
|
</dl>
|
|
7928
8434
|
</details>
|
|
8435
|
+
|