rcs-js 2.0.0-rc.10 → 2.0.0-rc.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/dist/cjs/Client.d.ts +3 -0
  2. package/dist/cjs/Client.js +15 -10
  3. package/dist/cjs/api/resources/brands/client/Client.d.ts +2 -0
  4. package/dist/cjs/api/resources/brands/client/Client.js +6 -0
  5. package/dist/cjs/api/resources/campaigns/resources/dlc/client/Client.d.ts +6 -6
  6. package/dist/cjs/api/resources/campaigns/resources/dlc/client/Client.js +6 -6
  7. package/dist/cjs/api/resources/campaigns/resources/rcs/client/Client.d.ts +1 -0
  8. package/dist/cjs/api/resources/campaigns/resources/rcs/client/Client.js +3 -0
  9. package/dist/cjs/api/resources/campaigns/resources/rcs/client/requests/UpsertRcsCampaignParams.d.ts +2 -2
  10. package/dist/cjs/api/resources/index.d.ts +2 -0
  11. package/dist/cjs/api/resources/index.js +3 -1
  12. package/dist/cjs/api/resources/messages/client/Client.d.ts +3 -0
  13. package/dist/cjs/api/resources/messages/client/Client.js +9 -0
  14. package/dist/cjs/api/resources/messages/resources/mms/client/Client.d.ts +1 -0
  15. package/dist/cjs/api/resources/messages/resources/mms/client/Client.js +3 -0
  16. package/dist/cjs/api/resources/messages/resources/rcs/client/Client.d.ts +3 -2
  17. package/dist/cjs/api/resources/messages/resources/rcs/client/Client.js +4 -1
  18. package/dist/cjs/api/resources/messages/resources/sms/client/Client.d.ts +1 -0
  19. package/dist/cjs/api/resources/messages/resources/sms/client/Client.js +3 -0
  20. package/dist/cjs/api/resources/phoneNumbers/resources/campaign/client/Client.d.ts +2 -0
  21. package/dist/cjs/api/resources/phoneNumbers/resources/campaign/client/Client.js +6 -0
  22. package/dist/cjs/api/resources/phoneNumbers/resources/webhook/client/Client.d.ts +1 -0
  23. package/dist/cjs/api/resources/phoneNumbers/resources/webhook/client/Client.js +3 -0
  24. package/dist/cjs/api/resources/rcs/client/Client.d.ts +121 -0
  25. package/dist/cjs/api/resources/rcs/client/Client.js +320 -0
  26. package/dist/cjs/api/resources/rcs/client/index.d.ts +2 -0
  27. package/dist/cjs/api/resources/rcs/client/index.js +17 -0
  28. package/dist/cjs/api/resources/rcs/client/requests/RcsCapabilitiesQuery.d.ts +13 -0
  29. package/dist/cjs/api/resources/rcs/client/requests/RcsLinkRequest.d.ts +22 -0
  30. package/dist/cjs/api/resources/rcs/client/requests/RcsWhitelistRequest.d.ts +16 -0
  31. package/dist/cjs/api/resources/rcs/client/requests/index.d.ts +3 -0
  32. package/dist/cjs/api/resources/rcs/client/requests/index.js +2 -0
  33. package/dist/cjs/api/resources/rcs/index.d.ts +1 -0
  34. package/dist/cjs/api/resources/rcs/index.js +17 -0
  35. package/dist/cjs/api/resources/status/resources/get/client/Client.d.ts +2 -2
  36. package/dist/cjs/api/resources/status/resources/get/client/Client.js +2 -2
  37. package/dist/cjs/api/resources/tools/resources/file/client/Client.d.ts +21 -0
  38. package/dist/cjs/api/resources/tools/resources/file/client/Client.js +74 -0
  39. package/dist/cjs/api/resources/tools/resources/file/client/requests/RefreshFileParams.d.ts +21 -0
  40. package/dist/cjs/api/resources/tools/resources/file/client/requests/RefreshFileParams.js +5 -0
  41. package/dist/cjs/api/resources/tools/resources/file/client/requests/index.d.ts +1 -0
  42. package/dist/cjs/api/resources/tools/resources/url/client/Client.d.ts +1 -1
  43. package/dist/cjs/api/resources/tools/resources/url/client/Client.js +1 -1
  44. package/dist/cjs/api/types/AutofillDlcCampaignResponse.d.ts +11 -11
  45. package/dist/cjs/api/types/ButtonClicked.d.ts +11 -0
  46. package/dist/cjs/api/types/ButtonClicked.js +5 -0
  47. package/dist/cjs/api/types/ButtonClickedData.d.ts +56 -0
  48. package/dist/cjs/api/types/ButtonClickedData.js +16 -0
  49. package/dist/cjs/api/types/ConversationList.d.ts +4 -4
  50. package/dist/cjs/api/types/CreateUrlOptions.d.ts +1 -1
  51. package/dist/cjs/api/types/DlcCampaignStatus.d.ts +2 -2
  52. package/dist/cjs/api/types/DlcCampaignWithExtendedBrandAndStatus.d.ts +13 -10
  53. package/dist/cjs/api/types/ExtendedBrand.d.ts +7 -4
  54. package/dist/cjs/api/types/ExtendedRcsCampaign.d.ts +11 -10
  55. package/dist/cjs/api/types/MessageContent.d.ts +2 -2
  56. package/dist/cjs/api/types/MessageEvent.d.ts +56 -0
  57. package/dist/cjs/api/types/MessageEvent.js +13 -0
  58. package/dist/cjs/api/types/ProfileStatusEnum.d.ts +7 -4
  59. package/dist/cjs/api/types/RcsBase.d.ts +2 -0
  60. package/dist/cjs/api/types/RcsButtonCall.d.ts +2 -0
  61. package/dist/cjs/api/types/RcsButtonOpenUrl.d.ts +2 -0
  62. package/dist/cjs/api/types/RcsButtonRequestUserLocation.d.ts +2 -0
  63. package/dist/cjs/api/types/RcsButtonScheduleEvent.d.ts +2 -0
  64. package/dist/cjs/api/types/RcsButtonSendLocation.d.ts +2 -0
  65. package/dist/cjs/api/types/RcsButtonTrigger.d.ts +2 -2
  66. package/dist/cjs/api/types/RcsCampaign.d.ts +2 -2
  67. package/dist/cjs/api/types/RcsCapabilitiesResult.d.ts +8 -0
  68. package/dist/cjs/api/types/RcsCapabilitiesResult.js +5 -0
  69. package/dist/cjs/api/types/RcsCapability.d.ts +36 -0
  70. package/dist/cjs/api/types/RcsCapability.js +5 -0
  71. package/dist/cjs/api/types/RcsLinkResult.d.ts +13 -0
  72. package/dist/cjs/api/types/RcsLinkResult.js +5 -0
  73. package/dist/cjs/api/types/RcsValidateContent.d.ts +1 -0
  74. package/dist/cjs/api/types/RcsWhitelistResponse.d.ts +10 -0
  75. package/dist/cjs/api/types/RcsWhitelistResponse.js +5 -0
  76. package/dist/cjs/api/types/RefreshedFile.d.ts +9 -0
  77. package/dist/cjs/api/types/RefreshedFile.js +5 -0
  78. package/dist/cjs/api/types/{Rcs.d.ts → RichMessage.d.ts} +1 -1
  79. package/dist/cjs/api/types/RichMessage.js +5 -0
  80. package/dist/cjs/api/types/index.d.ts +9 -3
  81. package/dist/cjs/api/types/index.js +9 -3
  82. package/dist/cjs/index.d.ts +1 -1
  83. package/dist/cjs/index.js +2 -2
  84. package/dist/cjs/version.d.ts +1 -1
  85. package/dist/cjs/version.js +1 -1
  86. package/dist/cjs/wrapper/PinnacleClient.d.ts +9 -0
  87. package/dist/cjs/wrapper/PinnacleClient.js +17 -0
  88. package/dist/cjs/wrapper/messages/Client.d.ts +13 -0
  89. package/dist/cjs/wrapper/messages/Client.js +49 -0
  90. package/dist/cjs/wrapper/tools/Client.d.ts +6 -0
  91. package/dist/cjs/wrapper/tools/Client.js +12 -0
  92. package/dist/cjs/wrapper/tools/FileUploader.d.ts +15 -0
  93. package/dist/cjs/wrapper/tools/FileUploader.js +162 -0
  94. package/dist/esm/Client.d.mts +3 -0
  95. package/dist/esm/Client.mjs +7 -2
  96. package/dist/esm/api/resources/brands/client/Client.d.mts +2 -0
  97. package/dist/esm/api/resources/brands/client/Client.mjs +6 -0
  98. package/dist/esm/api/resources/campaigns/resources/dlc/client/Client.d.mts +6 -6
  99. package/dist/esm/api/resources/campaigns/resources/dlc/client/Client.mjs +6 -6
  100. package/dist/esm/api/resources/campaigns/resources/rcs/client/Client.d.mts +1 -0
  101. package/dist/esm/api/resources/campaigns/resources/rcs/client/Client.mjs +3 -0
  102. package/dist/esm/api/resources/campaigns/resources/rcs/client/requests/UpsertRcsCampaignParams.d.mts +2 -2
  103. package/dist/esm/api/resources/index.d.mts +2 -0
  104. package/dist/esm/api/resources/index.mjs +2 -0
  105. package/dist/esm/api/resources/messages/client/Client.d.mts +3 -0
  106. package/dist/esm/api/resources/messages/client/Client.mjs +9 -0
  107. package/dist/esm/api/resources/messages/resources/mms/client/Client.d.mts +1 -0
  108. package/dist/esm/api/resources/messages/resources/mms/client/Client.mjs +3 -0
  109. package/dist/esm/api/resources/messages/resources/rcs/client/Client.d.mts +3 -2
  110. package/dist/esm/api/resources/messages/resources/rcs/client/Client.mjs +4 -1
  111. package/dist/esm/api/resources/messages/resources/sms/client/Client.d.mts +1 -0
  112. package/dist/esm/api/resources/messages/resources/sms/client/Client.mjs +3 -0
  113. package/dist/esm/api/resources/phoneNumbers/resources/campaign/client/Client.d.mts +2 -0
  114. package/dist/esm/api/resources/phoneNumbers/resources/campaign/client/Client.mjs +6 -0
  115. package/dist/esm/api/resources/phoneNumbers/resources/webhook/client/Client.d.mts +1 -0
  116. package/dist/esm/api/resources/phoneNumbers/resources/webhook/client/Client.mjs +3 -0
  117. package/dist/esm/api/resources/rcs/client/Client.d.mts +121 -0
  118. package/dist/esm/api/resources/rcs/client/Client.mjs +283 -0
  119. package/dist/esm/api/resources/rcs/client/index.d.mts +2 -0
  120. package/dist/esm/api/resources/rcs/client/index.mjs +1 -0
  121. package/dist/esm/api/resources/rcs/client/requests/RcsCapabilitiesQuery.d.mts +13 -0
  122. package/dist/esm/api/resources/rcs/client/requests/RcsLinkRequest.d.mts +22 -0
  123. package/dist/esm/api/resources/rcs/client/requests/RcsWhitelistRequest.d.mts +16 -0
  124. package/dist/esm/api/resources/rcs/client/requests/index.d.mts +3 -0
  125. package/dist/esm/api/resources/rcs/client/requests/index.mjs +1 -0
  126. package/dist/esm/api/resources/rcs/index.d.mts +1 -0
  127. package/dist/esm/api/resources/rcs/index.mjs +1 -0
  128. package/dist/esm/api/resources/status/resources/get/client/Client.d.mts +2 -2
  129. package/dist/esm/api/resources/status/resources/get/client/Client.mjs +2 -2
  130. package/dist/esm/api/resources/tools/resources/file/client/Client.d.mts +21 -0
  131. package/dist/esm/api/resources/tools/resources/file/client/Client.mjs +74 -0
  132. package/dist/esm/api/resources/tools/resources/file/client/requests/RefreshFileParams.d.mts +21 -0
  133. package/dist/esm/api/resources/tools/resources/file/client/requests/RefreshFileParams.mjs +4 -0
  134. package/dist/esm/api/resources/tools/resources/file/client/requests/index.d.mts +1 -0
  135. package/dist/esm/api/resources/tools/resources/url/client/Client.d.mts +1 -1
  136. package/dist/esm/api/resources/tools/resources/url/client/Client.mjs +1 -1
  137. package/dist/esm/api/types/AutofillDlcCampaignResponse.d.mts +11 -11
  138. package/dist/esm/api/types/ButtonClicked.d.mts +11 -0
  139. package/dist/esm/api/types/ButtonClicked.mjs +4 -0
  140. package/dist/esm/api/types/ButtonClickedData.d.mts +56 -0
  141. package/dist/esm/api/types/ButtonClickedData.mjs +13 -0
  142. package/dist/esm/api/types/ConversationList.d.mts +4 -4
  143. package/dist/esm/api/types/CreateUrlOptions.d.mts +1 -1
  144. package/dist/esm/api/types/DlcCampaignStatus.d.mts +2 -2
  145. package/dist/esm/api/types/DlcCampaignWithExtendedBrandAndStatus.d.mts +13 -10
  146. package/dist/esm/api/types/ExtendedBrand.d.mts +7 -4
  147. package/dist/esm/api/types/ExtendedRcsCampaign.d.mts +11 -10
  148. package/dist/esm/api/types/MessageContent.d.mts +2 -2
  149. package/dist/esm/api/types/MessageEvent.d.mts +56 -0
  150. package/dist/esm/api/types/MessageEvent.mjs +10 -0
  151. package/dist/esm/api/types/ProfileStatusEnum.d.mts +7 -4
  152. package/dist/esm/api/types/RcsBase.d.mts +2 -0
  153. package/dist/esm/api/types/RcsButtonCall.d.mts +2 -0
  154. package/dist/esm/api/types/RcsButtonOpenUrl.d.mts +2 -0
  155. package/dist/esm/api/types/RcsButtonRequestUserLocation.d.mts +2 -0
  156. package/dist/esm/api/types/RcsButtonScheduleEvent.d.mts +2 -0
  157. package/dist/esm/api/types/RcsButtonSendLocation.d.mts +2 -0
  158. package/dist/esm/api/types/RcsButtonTrigger.d.mts +2 -2
  159. package/dist/esm/api/types/RcsCampaign.d.mts +2 -2
  160. package/dist/esm/api/types/RcsCapabilitiesResult.d.mts +8 -0
  161. package/dist/esm/api/types/RcsCapabilitiesResult.mjs +4 -0
  162. package/dist/esm/api/types/RcsCapability.d.mts +36 -0
  163. package/dist/esm/api/types/RcsCapability.mjs +4 -0
  164. package/dist/esm/api/types/RcsLinkResult.d.mts +13 -0
  165. package/dist/esm/api/types/RcsLinkResult.mjs +4 -0
  166. package/dist/esm/api/types/RcsValidateContent.d.mts +1 -0
  167. package/dist/esm/api/types/RcsWhitelistResponse.d.mts +10 -0
  168. package/dist/esm/api/types/RcsWhitelistResponse.mjs +4 -0
  169. package/dist/esm/api/types/RefreshedFile.d.mts +9 -0
  170. package/dist/esm/api/types/RefreshedFile.mjs +4 -0
  171. package/dist/esm/api/types/{Rcs.d.mts → RichMessage.d.mts} +1 -1
  172. package/dist/esm/api/types/RichMessage.mjs +4 -0
  173. package/dist/esm/api/types/index.d.mts +9 -3
  174. package/dist/esm/api/types/index.mjs +9 -3
  175. package/dist/esm/index.d.mts +1 -1
  176. package/dist/esm/index.mjs +1 -1
  177. package/dist/esm/version.d.mts +1 -1
  178. package/dist/esm/version.mjs +1 -1
  179. package/dist/esm/wrapper/PinnacleClient.d.mts +9 -0
  180. package/dist/esm/wrapper/PinnacleClient.mjs +13 -0
  181. package/dist/esm/wrapper/messages/Client.d.mts +13 -0
  182. package/dist/esm/wrapper/messages/Client.mjs +45 -0
  183. package/dist/esm/wrapper/tools/Client.d.mts +6 -0
  184. package/dist/esm/wrapper/tools/Client.mjs +8 -0
  185. package/dist/esm/wrapper/tools/FileUploader.d.mts +15 -0
  186. package/dist/esm/wrapper/tools/FileUploader.mjs +125 -0
  187. package/package.json +7 -3
  188. package/reference.md +313 -10
  189. package/dist/cjs/api/types/ClickAction.d.ts +0 -28
  190. package/dist/cjs/api/types/InboundButton.d.ts +0 -11
  191. package/dist/esm/api/types/ClickAction.d.mts +0 -28
  192. package/dist/esm/api/types/InboundButton.d.mts +0 -11
  193. /package/dist/cjs/api/{types/ClickAction.js → resources/rcs/client/requests/RcsCapabilitiesQuery.js} +0 -0
  194. /package/dist/cjs/api/{types/InboundButton.js → resources/rcs/client/requests/RcsLinkRequest.js} +0 -0
  195. /package/dist/cjs/api/{types/Rcs.js → resources/rcs/client/requests/RcsWhitelistRequest.js} +0 -0
  196. /package/dist/esm/api/{types/ClickAction.mjs → resources/rcs/client/requests/RcsCapabilitiesQuery.mjs} +0 -0
  197. /package/dist/esm/api/{types/InboundButton.mjs → resources/rcs/client/requests/RcsLinkRequest.mjs} +0 -0
  198. /package/dist/esm/api/{types/Rcs.mjs → resources/rcs/client/requests/RcsWhitelistRequest.mjs} +0 -0
@@ -0,0 +1,283 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ import * as environments from "../../../../environments.mjs";
14
+ import * as core from "../../../../core/index.mjs";
15
+ import * as Pinnacle from "../../../index.mjs";
16
+ import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.mjs";
17
+ import * as errors from "../../../../errors/index.mjs";
18
+ export class Rcs {
19
+ constructor(_options) {
20
+ this._options = _options;
21
+ }
22
+ /**
23
+ * Check RCS capabilities for one or more phone numbers.
24
+ *
25
+ * This endpoint allows you to verify which RCS features (cards, buttons, etc.) are supported
26
+ * on specific phone numbers before sending RCS messages to them.
27
+ *
28
+ * @param {Pinnacle.RcsCapabilitiesQuery} request
29
+ * @param {Rcs.RequestOptions} requestOptions - Request-specific configuration.
30
+ *
31
+ * @throws {@link Pinnacle.BadRequestError}
32
+ * @throws {@link Pinnacle.UnauthorizedError}
33
+ * @throws {@link Pinnacle.InternalServerError}
34
+ * @throws {@link Pinnacle.NotImplementedError}
35
+ *
36
+ * @example
37
+ * await client.rcs.getCapabilities({
38
+ * phoneNumbers: ["+12345678901", "+19876543210"]
39
+ * })
40
+ */
41
+ getCapabilities(request, requestOptions) {
42
+ return core.HttpResponsePromise.fromPromise(this.__getCapabilities(request, requestOptions));
43
+ }
44
+ __getCapabilities(request, requestOptions) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ var _a, _b, _c;
47
+ let _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
48
+ const _response = yield core.fetcher({
49
+ url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PinnacleEnvironment.Default, "rcs/capabilities"),
50
+ method: "POST",
51
+ headers: _headers,
52
+ contentType: "application/json",
53
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
54
+ requestType: "json",
55
+ body: request,
56
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
57
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
58
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
59
+ });
60
+ if (_response.ok) {
61
+ return { data: _response.body, rawResponse: _response.rawResponse };
62
+ }
63
+ if (_response.error.reason === "status-code") {
64
+ switch (_response.error.statusCode) {
65
+ case 400:
66
+ throw new Pinnacle.BadRequestError(_response.error.body, _response.rawResponse);
67
+ case 401:
68
+ throw new Pinnacle.UnauthorizedError(_response.error.body, _response.rawResponse);
69
+ case 500:
70
+ throw new Pinnacle.InternalServerError(_response.error.body, _response.rawResponse);
71
+ case 501:
72
+ throw new Pinnacle.NotImplementedError(_response.error.body, _response.rawResponse);
73
+ default:
74
+ throw new errors.PinnacleError({
75
+ statusCode: _response.error.statusCode,
76
+ body: _response.error.body,
77
+ rawResponse: _response.rawResponse,
78
+ });
79
+ }
80
+ }
81
+ switch (_response.error.reason) {
82
+ case "non-json":
83
+ throw new errors.PinnacleError({
84
+ statusCode: _response.error.statusCode,
85
+ body: _response.error.rawBody,
86
+ rawResponse: _response.rawResponse,
87
+ });
88
+ case "timeout":
89
+ throw new errors.PinnacleTimeoutError("Timeout exceeded when calling POST /rcs/capabilities.");
90
+ case "unknown":
91
+ throw new errors.PinnacleError({
92
+ message: _response.error.errorMessage,
93
+ rawResponse: _response.rawResponse,
94
+ });
95
+ }
96
+ });
97
+ }
98
+ /**
99
+ * Whitelist a phone number for testing with your test RCS agent.
100
+ *
101
+ * ## Overview
102
+ * During development and testing, RCS agents can only send messages to whitelisted phone numbers.
103
+ * Use this endpoint to add test devices to your agent's whitelist before sending test messages.
104
+ *
105
+ * ## Verification Process
106
+ * After whitelisting a number, you'll need to complete verification:
107
+ *
108
+ * 1. Check the test device for an "RBM Tester Management" request
109
+ * 2. Accept the request on the device
110
+ * 3. Enter the 4-digit verification code in the Pinnacle dashboard at:
111
+ * ```
112
+ * https://app.pinnacle.sh/dashboard/brands/{brandId}?campaignId={campaignId}&campaignType=RCS
113
+ * ```
114
+ *
115
+ * > **Important Notes**
116
+ * >
117
+ * > - **Testing only:** This is only required for test agents. Production agents can message any RCS-enabled number
118
+ * > - **AT&T limitation:** Whitelisting may currently fail for AT&T numbers
119
+ * > - **Verification required:** The whitelist request isn't complete until you verify the device.
120
+ *
121
+ * @param {Pinnacle.RcsWhitelistRequest} request
122
+ * @param {Rcs.RequestOptions} requestOptions - Request-specific configuration.
123
+ *
124
+ * @throws {@link Pinnacle.BadRequestError}
125
+ * @throws {@link Pinnacle.UnauthorizedError}
126
+ * @throws {@link Pinnacle.NotFoundError}
127
+ * @throws {@link Pinnacle.InternalServerError}
128
+ * @throws {@link Pinnacle.NotImplementedError}
129
+ *
130
+ * @example
131
+ * await client.rcs.whitelist({
132
+ * agentId: "agent_XXXXXXXXXXXX",
133
+ * phoneNumber: "+12345678901"
134
+ * })
135
+ */
136
+ whitelist(request, requestOptions) {
137
+ return core.HttpResponsePromise.fromPromise(this.__whitelist(request, requestOptions));
138
+ }
139
+ __whitelist(request, requestOptions) {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ var _a, _b, _c;
142
+ let _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
143
+ const _response = yield core.fetcher({
144
+ url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PinnacleEnvironment.Default, "rcs/whitelist"),
145
+ method: "POST",
146
+ headers: _headers,
147
+ contentType: "application/json",
148
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
149
+ requestType: "json",
150
+ body: request,
151
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
152
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
153
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
154
+ });
155
+ if (_response.ok) {
156
+ return { data: _response.body, rawResponse: _response.rawResponse };
157
+ }
158
+ if (_response.error.reason === "status-code") {
159
+ switch (_response.error.statusCode) {
160
+ case 400:
161
+ throw new Pinnacle.BadRequestError(_response.error.body, _response.rawResponse);
162
+ case 401:
163
+ throw new Pinnacle.UnauthorizedError(_response.error.body, _response.rawResponse);
164
+ case 404:
165
+ throw new Pinnacle.NotFoundError(_response.error.body, _response.rawResponse);
166
+ case 500:
167
+ throw new Pinnacle.InternalServerError(_response.error.body, _response.rawResponse);
168
+ case 501:
169
+ throw new Pinnacle.NotImplementedError(_response.error.body, _response.rawResponse);
170
+ default:
171
+ throw new errors.PinnacleError({
172
+ statusCode: _response.error.statusCode,
173
+ body: _response.error.body,
174
+ rawResponse: _response.rawResponse,
175
+ });
176
+ }
177
+ }
178
+ switch (_response.error.reason) {
179
+ case "non-json":
180
+ throw new errors.PinnacleError({
181
+ statusCode: _response.error.statusCode,
182
+ body: _response.error.rawBody,
183
+ rawResponse: _response.rawResponse,
184
+ });
185
+ case "timeout":
186
+ throw new errors.PinnacleTimeoutError("Timeout exceeded when calling POST /rcs/whitelist.");
187
+ case "unknown":
188
+ throw new errors.PinnacleError({
189
+ message: _response.error.errorMessage,
190
+ rawResponse: _response.rawResponse,
191
+ });
192
+ }
193
+ });
194
+ }
195
+ /**
196
+ * Generate a link for initiating an RCS conversation with your agent.
197
+ *
198
+ * Users can click these links to start conversations with your RCS agent directly
199
+ * from websites, emails, or other applications.
200
+ *
201
+ * @param {Pinnacle.RcsLinkRequest} request
202
+ * @param {Rcs.RequestOptions} requestOptions - Request-specific configuration.
203
+ *
204
+ * @throws {@link Pinnacle.BadRequestError}
205
+ * @throws {@link Pinnacle.UnauthorizedError}
206
+ * @throws {@link Pinnacle.NotFoundError}
207
+ * @throws {@link Pinnacle.InternalServerError}
208
+ * @throws {@link Pinnacle.NotImplementedError}
209
+ *
210
+ * @example
211
+ * await client.rcs.getLink({
212
+ * agentId: "agent_XXXXXXXXXXXX",
213
+ * testMode: false,
214
+ * phoneNumber: "+12345678901",
215
+ * body: "Hello, I need help with my order"
216
+ * })
217
+ */
218
+ getLink(request, requestOptions) {
219
+ return core.HttpResponsePromise.fromPromise(this.__getLink(request, requestOptions));
220
+ }
221
+ __getLink(request, requestOptions) {
222
+ return __awaiter(this, void 0, void 0, function* () {
223
+ var _a, _b, _c;
224
+ let _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
225
+ const _response = yield core.fetcher({
226
+ url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PinnacleEnvironment.Default, "rcs/link"),
227
+ method: "POST",
228
+ headers: _headers,
229
+ contentType: "application/json",
230
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
231
+ requestType: "json",
232
+ body: request,
233
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
234
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
235
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
236
+ });
237
+ if (_response.ok) {
238
+ return { data: _response.body, rawResponse: _response.rawResponse };
239
+ }
240
+ if (_response.error.reason === "status-code") {
241
+ switch (_response.error.statusCode) {
242
+ case 400:
243
+ throw new Pinnacle.BadRequestError(_response.error.body, _response.rawResponse);
244
+ case 401:
245
+ throw new Pinnacle.UnauthorizedError(_response.error.body, _response.rawResponse);
246
+ case 404:
247
+ throw new Pinnacle.NotFoundError(_response.error.body, _response.rawResponse);
248
+ case 500:
249
+ throw new Pinnacle.InternalServerError(_response.error.body, _response.rawResponse);
250
+ case 501:
251
+ throw new Pinnacle.NotImplementedError(_response.error.body, _response.rawResponse);
252
+ default:
253
+ throw new errors.PinnacleError({
254
+ statusCode: _response.error.statusCode,
255
+ body: _response.error.body,
256
+ rawResponse: _response.rawResponse,
257
+ });
258
+ }
259
+ }
260
+ switch (_response.error.reason) {
261
+ case "non-json":
262
+ throw new errors.PinnacleError({
263
+ statusCode: _response.error.statusCode,
264
+ body: _response.error.rawBody,
265
+ rawResponse: _response.rawResponse,
266
+ });
267
+ case "timeout":
268
+ throw new errors.PinnacleTimeoutError("Timeout exceeded when calling POST /rcs/link.");
269
+ case "unknown":
270
+ throw new errors.PinnacleError({
271
+ message: _response.error.errorMessage,
272
+ rawResponse: _response.rawResponse,
273
+ });
274
+ }
275
+ });
276
+ }
277
+ _getCustomAuthorizationHeaders() {
278
+ return __awaiter(this, void 0, void 0, function* () {
279
+ const apiKeyValue = yield core.Supplier.get(this._options.apiKey);
280
+ return { "PINNACLE-API-KEY": apiKeyValue };
281
+ });
282
+ }
283
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ export * from "./requests/index.mjs";
@@ -0,0 +1 @@
1
+ export * from "./requests/index.mjs";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ /**
5
+ * @example
6
+ * {
7
+ * phoneNumbers: ["+12345678901", "+19876543210"]
8
+ * }
9
+ */
10
+ export interface RcsCapabilitiesQuery {
11
+ /** List of phone numbers to check RCS capabilities for (E.164 format) */
12
+ phoneNumbers: string[];
13
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ /**
5
+ * @example
6
+ * {
7
+ * agentId: "agent_XXXXXXXXXXXX",
8
+ * testMode: false,
9
+ * phoneNumber: "+12345678901",
10
+ * body: "Hello, I need help with my order"
11
+ * }
12
+ */
13
+ export interface RcsLinkRequest {
14
+ /** The RCS agent ID (must be prefixed with 'agent_') */
15
+ agentId: string;
16
+ /** Link to the test agent or the production agent if false */
17
+ testMode?: boolean;
18
+ /** Fallback phone number (E.164 format) to use if the phone number does not support RCS. If not provided, no url will be generated. */
19
+ phoneNumber?: string;
20
+ /** Optional message body to pre-fill after the user clicks the link */
21
+ body?: string;
22
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ /**
5
+ * @example
6
+ * {
7
+ * agentId: "agent_XXXXXXXXXXXX",
8
+ * phoneNumber: "+12345678901"
9
+ * }
10
+ */
11
+ export interface RcsWhitelistRequest {
12
+ /** The RCS agent ID (must be prefixed with 'agent_') */
13
+ agentId: string;
14
+ /** Phone number to whitelist for testing (E.164 format) */
15
+ phoneNumber: string;
16
+ }
@@ -0,0 +1,3 @@
1
+ export { type RcsCapabilitiesQuery } from "./RcsCapabilitiesQuery.mjs";
2
+ export { type RcsWhitelistRequest } from "./RcsWhitelistRequest.mjs";
3
+ export { type RcsLinkRequest } from "./RcsLinkRequest.mjs";
@@ -0,0 +1 @@
1
+ export * from "./client/index.mjs";
@@ -0,0 +1 @@
1
+ export * from "./client/index.mjs";
@@ -64,9 +64,9 @@ export declare class Get {
64
64
  tollFree(campaignId: number, requestOptions?: Get.RequestOptions): core.HttpResponsePromise<Pinnacle.TollFreeCampaignStatus>;
65
65
  private __tollFree;
66
66
  /**
67
- * Retrieve a DLC campaign's status.
67
+ * Retrieve a 10DLC campaign's status.
68
68
  *
69
- * @param {number} campaignId - ID of the DLC campaign.
69
+ * @param {number} campaignId - ID of the 10DLC campaign.
70
70
  * @param {Get.RequestOptions} requestOptions - Request-specific configuration.
71
71
  *
72
72
  * @throws {@link Pinnacle.BadRequestError}
@@ -162,9 +162,9 @@ export class Get {
162
162
  });
163
163
  }
164
164
  /**
165
- * Retrieve a DLC campaign's status.
165
+ * Retrieve a 10DLC campaign's status.
166
166
  *
167
- * @param {number} campaignId - ID of the DLC campaign.
167
+ * @param {number} campaignId - ID of the 10DLC campaign.
168
168
  * @param {Get.RequestOptions} requestOptions - Request-specific configuration.
169
169
  *
170
170
  * @throws {@link Pinnacle.BadRequestError}
@@ -53,6 +53,27 @@ export declare class File_ {
53
53
  */
54
54
  upload(request: Pinnacle.tools.UploadFileParams, requestOptions?: File_.RequestOptions): core.HttpResponsePromise<Pinnacle.UploadResults>;
55
55
  private __upload;
56
+ /**
57
+ * Refresh expiring presigned URLs for Pinnacle-hosted files to extend their access time.
58
+ *
59
+ * <Callout type="info">
60
+ * This only works for presigned download URLs. At this moment, you cannot refresh a presigned upload URL, generate a new one instead.
61
+ * </Callout>
62
+ *
63
+ * @param {Pinnacle.tools.RefreshFileParams} request
64
+ * @param {File_.RequestOptions} requestOptions - Request-specific configuration.
65
+ *
66
+ * @throws {@link Pinnacle.BadRequestError}
67
+ * @throws {@link Pinnacle.UnauthorizedError}
68
+ * @throws {@link Pinnacle.InternalServerError}
69
+ *
70
+ * @example
71
+ * await client.tools.file.refresh({
72
+ * uris: ["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", "icons/3/test.jpg", "invalid/url", "https://google.com"]
73
+ * })
74
+ */
75
+ refresh(request: Pinnacle.tools.RefreshFileParams, requestOptions?: File_.RequestOptions): core.HttpResponsePromise<Pinnacle.RefreshedFile[]>;
76
+ private __refresh;
56
77
  protected _getCustomAuthorizationHeaders(): Promise<{
57
78
  "PINNACLE-API-KEY": string;
58
79
  }>;
@@ -96,6 +96,80 @@ export class File_ {
96
96
  }
97
97
  });
98
98
  }
99
+ /**
100
+ * Refresh expiring presigned URLs for Pinnacle-hosted files to extend their access time.
101
+ *
102
+ * <Callout type="info">
103
+ * This only works for presigned download URLs. At this moment, you cannot refresh a presigned upload URL, generate a new one instead.
104
+ * </Callout>
105
+ *
106
+ * @param {Pinnacle.tools.RefreshFileParams} request
107
+ * @param {File_.RequestOptions} requestOptions - Request-specific configuration.
108
+ *
109
+ * @throws {@link Pinnacle.BadRequestError}
110
+ * @throws {@link Pinnacle.UnauthorizedError}
111
+ * @throws {@link Pinnacle.InternalServerError}
112
+ *
113
+ * @example
114
+ * await client.tools.file.refresh({
115
+ * uris: ["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", "icons/3/test.jpg", "invalid/url", "https://google.com"]
116
+ * })
117
+ */
118
+ refresh(request, requestOptions) {
119
+ return core.HttpResponsePromise.fromPromise(this.__refresh(request, requestOptions));
120
+ }
121
+ __refresh(request, requestOptions) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ var _a, _b, _c;
124
+ let _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
125
+ const _response = yield core.fetcher({
126
+ url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PinnacleEnvironment.Default, "tools/files/refresh"),
127
+ method: "POST",
128
+ headers: _headers,
129
+ contentType: "application/json",
130
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
131
+ requestType: "json",
132
+ body: request,
133
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
134
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
135
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
136
+ });
137
+ if (_response.ok) {
138
+ return { data: _response.body, rawResponse: _response.rawResponse };
139
+ }
140
+ if (_response.error.reason === "status-code") {
141
+ switch (_response.error.statusCode) {
142
+ case 400:
143
+ throw new Pinnacle.BadRequestError(_response.error.body, _response.rawResponse);
144
+ case 401:
145
+ throw new Pinnacle.UnauthorizedError(_response.error.body, _response.rawResponse);
146
+ case 500:
147
+ throw new Pinnacle.InternalServerError(_response.error.body, _response.rawResponse);
148
+ default:
149
+ throw new errors.PinnacleError({
150
+ statusCode: _response.error.statusCode,
151
+ body: _response.error.body,
152
+ rawResponse: _response.rawResponse,
153
+ });
154
+ }
155
+ }
156
+ switch (_response.error.reason) {
157
+ case "non-json":
158
+ throw new errors.PinnacleError({
159
+ statusCode: _response.error.statusCode,
160
+ body: _response.error.rawBody,
161
+ rawResponse: _response.rawResponse,
162
+ });
163
+ case "timeout":
164
+ throw new errors.PinnacleTimeoutError("Timeout exceeded when calling POST /tools/files/refresh.");
165
+ case "unknown":
166
+ throw new errors.PinnacleError({
167
+ message: _response.error.errorMessage,
168
+ rawResponse: _response.rawResponse,
169
+ });
170
+ }
171
+ });
172
+ }
99
173
  _getCustomAuthorizationHeaders() {
100
174
  return __awaiter(this, void 0, void 0, function* () {
101
175
  const apiKeyValue = yield core.Supplier.get(this._options.apiKey);
@@ -0,0 +1,21 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ /**
5
+ * @example
6
+ * {
7
+ * uris: ["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", "icons/3/test.jpg", "invalid/url", "https://google.com"]
8
+ * }
9
+ */
10
+ export interface RefreshFileParams {
11
+ /**
12
+ * Array of file URIs to refresh for extended access. <br>
13
+ *
14
+ * Accepted formats:
15
+ * - **Full presigned URLs**: `https://server.trypinnacle.app/storage/v1/object/sign/...`
16
+ * - **Short URIs**: `{BUCKET}/${TEAM_ID}/...` (e.g., `vault/3/document.pdf`)
17
+ *
18
+ * Invalid or external URLs will be returned unchanged in the response.
19
+ */
20
+ uris: string[];
21
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ export {};
@@ -1 +1,2 @@
1
1
  export { type UploadFileParams } from "./UploadFileParams.mjs";
2
+ export { type RefreshFileParams } from "./RefreshFileParams.mjs";
@@ -67,7 +67,7 @@ export declare class Url {
67
67
  get(linkId: string, requestOptions?: Url.RequestOptions): core.HttpResponsePromise<Pinnacle.ShortenedUrlWithClickData>;
68
68
  private __get;
69
69
  /**
70
- * Update the destination or configuration of an existing shortened URL.
70
+ * Update the destination or expiration date of an existing shortened URL. Expiring links cannot be updated into a permalink.
71
71
  *
72
72
  * @param {string} linkId - Unique identifier from your shortened URL. For example, for `https://pncl.to/ePzVxILF`, the `linkId` is `ePzVxILF`. <br>
73
73
  *
@@ -160,7 +160,7 @@ export class Url {
160
160
  });
161
161
  }
162
162
  /**
163
- * Update the destination or configuration of an existing shortened URL.
163
+ * Update the destination or expiration date of an existing shortened URL. Expiring links cannot be updated into a permalink.
164
164
  *
165
165
  * @param {string} linkId - Unique identifier from your shortened URL. For example, for `https://pncl.to/ePzVxILF`, the `linkId` is `ePzVxILF`. <br>
166
166
  *
@@ -32,11 +32,11 @@ export declare namespace AutofillDlcCampaignResponse {
32
32
  */
33
33
  interface Keywords {
34
34
  /** Help keyword settings. */
35
- HELP?: Keywords.Help;
35
+ HELP: Keywords.Help;
36
36
  /** Opt-in keyword settings. */
37
- OPT_IN?: Keywords.OptIn;
37
+ OPT_IN: Keywords.OptIn;
38
38
  /** Opt-out keyword settings. */
39
- OPT_OUT?: Keywords.OptOut;
39
+ OPT_OUT: Keywords.OptOut;
40
40
  }
41
41
  namespace Keywords {
42
42
  /**
@@ -46,14 +46,14 @@ export declare namespace AutofillDlcCampaignResponse {
46
46
  /** Response message for help keywords. */
47
47
  message?: string;
48
48
  /** Keywords that trigger help response. */
49
- values?: string[];
49
+ values: string[];
50
50
  }
51
51
  /**
52
52
  * Opt-in keyword settings.
53
53
  */
54
54
  interface OptIn {
55
55
  /** Response message for opt-in keywords. */
56
- message: string;
56
+ message?: string;
57
57
  /** Keywords that trigger opt-in. */
58
58
  values: string[];
59
59
  }
@@ -64,7 +64,7 @@ export declare namespace AutofillDlcCampaignResponse {
64
64
  /** Response message for opt-out keywords. */
65
65
  message?: string;
66
66
  /** Keywords that trigger opt-out. */
67
- values?: string[];
67
+ values: string[];
68
68
  }
69
69
  }
70
70
  /**
@@ -81,17 +81,17 @@ export declare namespace AutofillDlcCampaignResponse {
81
81
  */
82
82
  interface Options {
83
83
  /** Whether the campaign uses affiliate marketing. */
84
- affiliateMarketing?: boolean;
84
+ affiliateMarketing: boolean;
85
85
  /** Whether the campaign is age-gated. */
86
- ageGated?: boolean;
86
+ ageGated: boolean;
87
87
  /** Whether the campaign involves direct lending. */
88
- directLending?: boolean;
88
+ directLending: boolean;
89
89
  /** Link embedded in campaign message. */
90
90
  embeddedLink?: string;
91
91
  /** Whether messages include phone numbers. */
92
- embeddedPhone?: boolean;
92
+ embeddedPhone: boolean;
93
93
  /** Whether the campaign uses number pooling. */
94
- numberPooling?: boolean;
94
+ numberPooling: boolean;
95
95
  }
96
96
  /**
97
97
  * Use case for the campaign.
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as Pinnacle from "../index.mjs";
5
+ export type ButtonClicked =
6
+ /**
7
+ * Data about a button that was clicked. */
8
+ Pinnacle.ButtonClickedData
9
+ /**
10
+ * User provided location. Occurs when recipient responds to `requestUserLocation` button and shares a location. */
11
+ | Pinnacle.LocationShareAction;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ export {};