sendblue 0.1.0-alpha.1

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 (352) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/LICENSE +201 -0
  3. package/README.md +375 -0
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +200 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +200 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +486 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +482 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/resource.d.mts +6 -0
  37. package/core/resource.d.mts.map +1 -0
  38. package/core/resource.d.ts +6 -0
  39. package/core/resource.d.ts.map +1 -0
  40. package/core/resource.js +11 -0
  41. package/core/resource.js.map +1 -0
  42. package/core/resource.mjs +7 -0
  43. package/core/resource.mjs.map +1 -0
  44. package/core/uploads.d.mts +3 -0
  45. package/core/uploads.d.mts.map +1 -0
  46. package/core/uploads.d.ts +3 -0
  47. package/core/uploads.d.ts.map +1 -0
  48. package/core/uploads.js +6 -0
  49. package/core/uploads.js.map +1 -0
  50. package/core/uploads.mjs +2 -0
  51. package/core/uploads.mjs.map +1 -0
  52. package/error.d.mts +2 -0
  53. package/error.d.mts.map +1 -0
  54. package/error.d.ts +2 -0
  55. package/error.d.ts.map +1 -0
  56. package/error.js +6 -0
  57. package/error.js.map +1 -0
  58. package/error.mjs +2 -0
  59. package/error.mjs.map +1 -0
  60. package/index.d.mts +6 -0
  61. package/index.d.mts.map +1 -0
  62. package/index.d.ts +6 -0
  63. package/index.d.ts.map +1 -0
  64. package/index.js +30 -0
  65. package/index.js.map +1 -0
  66. package/index.mjs +7 -0
  67. package/index.mjs.map +1 -0
  68. package/internal/builtin-types.d.mts +73 -0
  69. package/internal/builtin-types.d.mts.map +1 -0
  70. package/internal/builtin-types.d.ts +73 -0
  71. package/internal/builtin-types.d.ts.map +1 -0
  72. package/internal/builtin-types.js +4 -0
  73. package/internal/builtin-types.js.map +1 -0
  74. package/internal/builtin-types.mjs +3 -0
  75. package/internal/builtin-types.mjs.map +1 -0
  76. package/internal/detect-platform.d.mts +15 -0
  77. package/internal/detect-platform.d.mts.map +1 -0
  78. package/internal/detect-platform.d.ts +15 -0
  79. package/internal/detect-platform.d.ts.map +1 -0
  80. package/internal/detect-platform.js +162 -0
  81. package/internal/detect-platform.js.map +1 -0
  82. package/internal/detect-platform.mjs +157 -0
  83. package/internal/detect-platform.mjs.map +1 -0
  84. package/internal/errors.d.mts +3 -0
  85. package/internal/errors.d.mts.map +1 -0
  86. package/internal/errors.d.ts +3 -0
  87. package/internal/errors.d.ts.map +1 -0
  88. package/internal/errors.js +41 -0
  89. package/internal/errors.js.map +1 -0
  90. package/internal/errors.mjs +36 -0
  91. package/internal/errors.mjs.map +1 -0
  92. package/internal/headers.d.mts +20 -0
  93. package/internal/headers.d.mts.map +1 -0
  94. package/internal/headers.d.ts +20 -0
  95. package/internal/headers.d.ts.map +1 -0
  96. package/internal/headers.js +79 -0
  97. package/internal/headers.js.map +1 -0
  98. package/internal/headers.mjs +74 -0
  99. package/internal/headers.mjs.map +1 -0
  100. package/internal/parse.d.mts +12 -0
  101. package/internal/parse.d.mts.map +1 -0
  102. package/internal/parse.d.ts +12 -0
  103. package/internal/parse.d.ts.map +1 -0
  104. package/internal/parse.js +35 -0
  105. package/internal/parse.js.map +1 -0
  106. package/internal/parse.mjs +32 -0
  107. package/internal/parse.mjs.map +1 -0
  108. package/internal/request-options.d.mts +75 -0
  109. package/internal/request-options.d.mts.map +1 -0
  110. package/internal/request-options.d.ts +75 -0
  111. package/internal/request-options.d.ts.map +1 -0
  112. package/internal/request-options.js +14 -0
  113. package/internal/request-options.js.map +1 -0
  114. package/internal/request-options.mjs +10 -0
  115. package/internal/request-options.mjs.map +1 -0
  116. package/internal/shim-types.d.mts +17 -0
  117. package/internal/shim-types.d.mts.map +1 -0
  118. package/internal/shim-types.d.ts +17 -0
  119. package/internal/shim-types.d.ts.map +1 -0
  120. package/internal/shim-types.js +4 -0
  121. package/internal/shim-types.js.map +1 -0
  122. package/internal/shim-types.mjs +3 -0
  123. package/internal/shim-types.mjs.map +1 -0
  124. package/internal/shims.d.mts +20 -0
  125. package/internal/shims.d.mts.map +1 -0
  126. package/internal/shims.d.ts +20 -0
  127. package/internal/shims.d.ts.map +1 -0
  128. package/internal/shims.js +92 -0
  129. package/internal/shims.js.map +1 -0
  130. package/internal/shims.mjs +85 -0
  131. package/internal/shims.mjs.map +1 -0
  132. package/internal/to-file.d.mts +45 -0
  133. package/internal/to-file.d.mts.map +1 -0
  134. package/internal/to-file.d.ts +45 -0
  135. package/internal/to-file.d.ts.map +1 -0
  136. package/internal/to-file.js +91 -0
  137. package/internal/to-file.js.map +1 -0
  138. package/internal/to-file.mjs +88 -0
  139. package/internal/to-file.mjs.map +1 -0
  140. package/internal/tslib.js +81 -0
  141. package/internal/tslib.mjs +17 -0
  142. package/internal/types.d.mts +69 -0
  143. package/internal/types.d.mts.map +1 -0
  144. package/internal/types.d.ts +69 -0
  145. package/internal/types.d.ts.map +1 -0
  146. package/internal/types.js +4 -0
  147. package/internal/types.js.map +1 -0
  148. package/internal/types.mjs +3 -0
  149. package/internal/types.mjs.map +1 -0
  150. package/internal/uploads.d.mts +42 -0
  151. package/internal/uploads.d.mts.map +1 -0
  152. package/internal/uploads.d.ts +42 -0
  153. package/internal/uploads.d.ts.map +1 -0
  154. package/internal/uploads.js +141 -0
  155. package/internal/uploads.js.map +1 -0
  156. package/internal/uploads.mjs +131 -0
  157. package/internal/uploads.mjs.map +1 -0
  158. package/internal/utils/base64.d.mts +3 -0
  159. package/internal/utils/base64.d.mts.map +1 -0
  160. package/internal/utils/base64.d.ts +3 -0
  161. package/internal/utils/base64.d.ts.map +1 -0
  162. package/internal/utils/base64.js +38 -0
  163. package/internal/utils/base64.js.map +1 -0
  164. package/internal/utils/base64.mjs +33 -0
  165. package/internal/utils/base64.mjs.map +1 -0
  166. package/internal/utils/bytes.d.mts +4 -0
  167. package/internal/utils/bytes.d.mts.map +1 -0
  168. package/internal/utils/bytes.d.ts +4 -0
  169. package/internal/utils/bytes.d.ts.map +1 -0
  170. package/internal/utils/bytes.js +31 -0
  171. package/internal/utils/bytes.js.map +1 -0
  172. package/internal/utils/bytes.mjs +26 -0
  173. package/internal/utils/bytes.mjs.map +1 -0
  174. package/internal/utils/env.d.mts +9 -0
  175. package/internal/utils/env.d.mts.map +1 -0
  176. package/internal/utils/env.d.ts +9 -0
  177. package/internal/utils/env.d.ts.map +1 -0
  178. package/internal/utils/env.js +22 -0
  179. package/internal/utils/env.js.map +1 -0
  180. package/internal/utils/env.mjs +18 -0
  181. package/internal/utils/env.mjs.map +1 -0
  182. package/internal/utils/log.d.mts +37 -0
  183. package/internal/utils/log.d.mts.map +1 -0
  184. package/internal/utils/log.d.ts +37 -0
  185. package/internal/utils/log.d.ts.map +1 -0
  186. package/internal/utils/log.js +87 -0
  187. package/internal/utils/log.js.map +1 -0
  188. package/internal/utils/log.mjs +81 -0
  189. package/internal/utils/log.mjs.map +1 -0
  190. package/internal/utils/path.d.mts +15 -0
  191. package/internal/utils/path.d.mts.map +1 -0
  192. package/internal/utils/path.d.ts +15 -0
  193. package/internal/utils/path.d.ts.map +1 -0
  194. package/internal/utils/path.js +79 -0
  195. package/internal/utils/path.js.map +1 -0
  196. package/internal/utils/path.mjs +74 -0
  197. package/internal/utils/path.mjs.map +1 -0
  198. package/internal/utils/sleep.d.mts +2 -0
  199. package/internal/utils/sleep.d.mts.map +1 -0
  200. package/internal/utils/sleep.d.ts +2 -0
  201. package/internal/utils/sleep.d.ts.map +1 -0
  202. package/internal/utils/sleep.js +7 -0
  203. package/internal/utils/sleep.js.map +1 -0
  204. package/internal/utils/sleep.mjs +3 -0
  205. package/internal/utils/sleep.mjs.map +1 -0
  206. package/internal/utils/uuid.d.mts +5 -0
  207. package/internal/utils/uuid.d.mts.map +1 -0
  208. package/internal/utils/uuid.d.ts +5 -0
  209. package/internal/utils/uuid.d.ts.map +1 -0
  210. package/internal/utils/uuid.js +19 -0
  211. package/internal/utils/uuid.js.map +1 -0
  212. package/internal/utils/uuid.mjs +15 -0
  213. package/internal/utils/uuid.mjs.map +1 -0
  214. package/internal/utils/values.d.mts +18 -0
  215. package/internal/utils/values.d.mts.map +1 -0
  216. package/internal/utils/values.d.ts +18 -0
  217. package/internal/utils/values.d.ts.map +1 -0
  218. package/internal/utils/values.js +112 -0
  219. package/internal/utils/values.js.map +1 -0
  220. package/internal/utils/values.mjs +94 -0
  221. package/internal/utils/values.mjs.map +1 -0
  222. package/internal/utils.d.mts +7 -0
  223. package/internal/utils.d.mts.map +1 -0
  224. package/internal/utils.d.ts +7 -0
  225. package/internal/utils.d.ts.map +1 -0
  226. package/internal/utils.js +11 -0
  227. package/internal/utils.js.map +1 -0
  228. package/internal/utils.mjs +8 -0
  229. package/internal/utils.mjs.map +1 -0
  230. package/package.json +135 -0
  231. package/resource.d.mts +2 -0
  232. package/resource.d.mts.map +1 -0
  233. package/resource.d.ts +2 -0
  234. package/resource.d.ts.map +1 -0
  235. package/resource.js +6 -0
  236. package/resource.js.map +1 -0
  237. package/resource.mjs +2 -0
  238. package/resource.mjs.map +1 -0
  239. package/resources/groups.d.mts +77 -0
  240. package/resources/groups.d.mts.map +1 -0
  241. package/resources/groups.d.ts +77 -0
  242. package/resources/groups.d.ts.map +1 -0
  243. package/resources/groups.js +38 -0
  244. package/resources/groups.js.map +1 -0
  245. package/resources/groups.mjs +34 -0
  246. package/resources/groups.mjs.map +1 -0
  247. package/resources/index.d.mts +6 -0
  248. package/resources/index.d.mts.map +1 -0
  249. package/resources/index.d.ts +6 -0
  250. package/resources/index.d.ts.map +1 -0
  251. package/resources/index.js +15 -0
  252. package/resources/index.js.map +1 -0
  253. package/resources/index.mjs +7 -0
  254. package/resources/index.mjs.map +1 -0
  255. package/resources/lookups.d.mts +30 -0
  256. package/resources/lookups.d.mts.map +1 -0
  257. package/resources/lookups.d.ts +30 -0
  258. package/resources/lookups.d.ts.map +1 -0
  259. package/resources/lookups.js +16 -0
  260. package/resources/lookups.js.map +1 -0
  261. package/resources/lookups.mjs +12 -0
  262. package/resources/lookups.mjs.map +1 -0
  263. package/resources/media-objects.d.mts +31 -0
  264. package/resources/media-objects.d.mts.map +1 -0
  265. package/resources/media-objects.d.ts +31 -0
  266. package/resources/media-objects.d.ts.map +1 -0
  267. package/resources/media-objects.js +22 -0
  268. package/resources/media-objects.js.map +1 -0
  269. package/resources/media-objects.mjs +18 -0
  270. package/resources/media-objects.mjs.map +1 -0
  271. package/resources/messages.d.mts +487 -0
  272. package/resources/messages.d.mts.map +1 -0
  273. package/resources/messages.d.ts +487 -0
  274. package/resources/messages.d.ts.map +1 -0
  275. package/resources/messages.js +64 -0
  276. package/resources/messages.js.map +1 -0
  277. package/resources/messages.mjs +60 -0
  278. package/resources/messages.mjs.map +1 -0
  279. package/resources/typing-indicators.d.mts +42 -0
  280. package/resources/typing-indicators.d.mts.map +1 -0
  281. package/resources/typing-indicators.d.ts +42 -0
  282. package/resources/typing-indicators.d.ts.map +1 -0
  283. package/resources/typing-indicators.js +24 -0
  284. package/resources/typing-indicators.js.map +1 -0
  285. package/resources/typing-indicators.mjs +20 -0
  286. package/resources/typing-indicators.mjs.map +1 -0
  287. package/resources.d.mts +2 -0
  288. package/resources.d.mts.map +1 -0
  289. package/resources.d.ts +2 -0
  290. package/resources.d.ts.map +1 -0
  291. package/resources.js +5 -0
  292. package/resources.js.map +1 -0
  293. package/resources.mjs +2 -0
  294. package/resources.mjs.map +1 -0
  295. package/src/api-promise.ts +2 -0
  296. package/src/client.ts +807 -0
  297. package/src/core/README.md +3 -0
  298. package/src/core/api-promise.ts +92 -0
  299. package/src/core/error.ts +130 -0
  300. package/src/core/resource.ts +11 -0
  301. package/src/core/uploads.ts +2 -0
  302. package/src/error.ts +2 -0
  303. package/src/index.ts +22 -0
  304. package/src/internal/README.md +3 -0
  305. package/src/internal/builtin-types.ts +93 -0
  306. package/src/internal/detect-platform.ts +196 -0
  307. package/src/internal/errors.ts +33 -0
  308. package/src/internal/headers.ts +97 -0
  309. package/src/internal/parse.ts +50 -0
  310. package/src/internal/request-options.ts +91 -0
  311. package/src/internal/shim-types.ts +26 -0
  312. package/src/internal/shims.ts +107 -0
  313. package/src/internal/to-file.ts +154 -0
  314. package/src/internal/types.ts +95 -0
  315. package/src/internal/uploads.ts +187 -0
  316. package/src/internal/utils/base64.ts +40 -0
  317. package/src/internal/utils/bytes.ts +32 -0
  318. package/src/internal/utils/env.ts +18 -0
  319. package/src/internal/utils/log.ts +128 -0
  320. package/src/internal/utils/path.ts +88 -0
  321. package/src/internal/utils/sleep.ts +3 -0
  322. package/src/internal/utils/uuid.ts +17 -0
  323. package/src/internal/utils/values.ts +105 -0
  324. package/src/internal/utils.ts +8 -0
  325. package/src/lib/.keep +4 -0
  326. package/src/resource.ts +2 -0
  327. package/src/resources/groups.ts +102 -0
  328. package/src/resources/index.ts +25 -0
  329. package/src/resources/lookups.ts +44 -0
  330. package/src/resources/media-objects.ts +43 -0
  331. package/src/resources/messages.ts +720 -0
  332. package/src/resources/typing-indicators.ts +54 -0
  333. package/src/resources.ts +1 -0
  334. package/src/tsconfig.json +11 -0
  335. package/src/uploads.ts +2 -0
  336. package/src/version.ts +1 -0
  337. package/uploads.d.mts +2 -0
  338. package/uploads.d.mts.map +1 -0
  339. package/uploads.d.ts +2 -0
  340. package/uploads.d.ts.map +1 -0
  341. package/uploads.js +6 -0
  342. package/uploads.js.map +1 -0
  343. package/uploads.mjs +2 -0
  344. package/uploads.mjs.map +1 -0
  345. package/version.d.mts +2 -0
  346. package/version.d.mts.map +1 -0
  347. package/version.d.ts +2 -0
  348. package/version.d.ts.map +1 -0
  349. package/version.js +5 -0
  350. package/version.js.map +1 -0
  351. package/version.mjs +2 -0
  352. package/version.mjs.map +1 -0
@@ -0,0 +1,720 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { RequestOptions } from '../internal/request-options';
6
+ import { path } from '../internal/utils/path';
7
+
8
+ export class Messages extends APIResource {
9
+ /**
10
+ * Retrieve details of a specific message by its ID
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const message = await client.messages.retrieve(
15
+ * 'msg_abc123def456',
16
+ * );
17
+ * ```
18
+ */
19
+ retrieve(messageID: string, options?: RequestOptions): APIPromise<MessageRetrieveResponse> {
20
+ return this._client.get(path`/api/v2/messages/${messageID}`, options);
21
+ }
22
+
23
+ /**
24
+ * Retrieve a list of messages for the authenticated account with comprehensive
25
+ * filtering capabilities. Rate limited to 100 requests per 10 seconds per account.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const messages = await client.messages.list();
30
+ * ```
31
+ */
32
+ list(
33
+ query: MessageListParams | null | undefined = {},
34
+ options?: RequestOptions,
35
+ ): APIPromise<MessageListResponse> {
36
+ return this._client.get('/api/v2/messages', { query, ...options });
37
+ }
38
+
39
+ /**
40
+ * Retrieve the current status of a message using its message handle. Useful for
41
+ * resolving pending message statuses and avoiding duplicate messages.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const messageResponse = await client.messages.getStatus({
46
+ * handle: 'msg_abc123def456',
47
+ * });
48
+ * ```
49
+ */
50
+ getStatus(query: MessageGetStatusParams, options?: RequestOptions): APIPromise<MessageResponse> {
51
+ return this._client.get('/api/status', { query, ...options });
52
+ }
53
+
54
+ /**
55
+ * Send an iMessage, SMS, or MMS to a single recipient
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * const messageResponse = await client.messages.send({
60
+ * content: 'Hello, World!',
61
+ * from_number: '+19998887777',
62
+ * number: '+19998887777',
63
+ * });
64
+ * ```
65
+ */
66
+ send(body: MessageSendParams, options?: RequestOptions): APIPromise<MessageResponse> {
67
+ return this._client.post('/api/send-message', { body, ...options });
68
+ }
69
+ }
70
+
71
+ export interface MessageContent {
72
+ /**
73
+ * Email of the account
74
+ */
75
+ account_email?: string;
76
+
77
+ /**
78
+ * Message content
79
+ */
80
+ content?: string;
81
+
82
+ /**
83
+ * When the message was created
84
+ */
85
+ date_created?: string;
86
+
87
+ /**
88
+ * When the message was sent
89
+ */
90
+ date_sent?: string;
91
+
92
+ /**
93
+ * When the message was last updated
94
+ */
95
+ date_updated?: string;
96
+
97
+ /**
98
+ * Sender phone number
99
+ */
100
+ from_number?: string;
101
+
102
+ /**
103
+ * Whether this is an outbound message
104
+ */
105
+ is_outbound?: boolean;
106
+
107
+ /**
108
+ * URL of attached media
109
+ */
110
+ media_url?: string;
111
+
112
+ /**
113
+ * Unique message identifier
114
+ */
115
+ message_handle?: string;
116
+
117
+ send_style?:
118
+ | 'celebration'
119
+ | 'shooting_star'
120
+ | 'fireworks'
121
+ | 'lasers'
122
+ | 'love'
123
+ | 'confetti'
124
+ | 'balloons'
125
+ | 'spotlight'
126
+ | 'echo'
127
+ | 'invisible'
128
+ | 'gentle'
129
+ | 'loud'
130
+ | 'slam';
131
+
132
+ status?: 'QUEUED' | 'SENT' | 'DELIVERED' | 'READ' | 'ERROR' | 'RECEIVED';
133
+
134
+ /**
135
+ * Recipient phone number
136
+ */
137
+ to_number?: string;
138
+ }
139
+
140
+ export interface MessageResponse {
141
+ /**
142
+ * Email of the account that sent the message
143
+ */
144
+ account_email?: string;
145
+
146
+ /**
147
+ * Message content
148
+ */
149
+ content?: string;
150
+
151
+ /**
152
+ * When the message was created
153
+ */
154
+ date_created?: string;
155
+
156
+ /**
157
+ * When the message was last updated
158
+ */
159
+ date_updated?: string;
160
+
161
+ /**
162
+ * Numeric error code if message failed
163
+ */
164
+ error_code?: number;
165
+
166
+ /**
167
+ * Error message if message failed
168
+ */
169
+ error_message?: string;
170
+
171
+ /**
172
+ * Sending phone number
173
+ */
174
+ from_number?: string;
175
+
176
+ /**
177
+ * Whether this is an outbound message
178
+ */
179
+ is_outbound?: boolean;
180
+
181
+ /**
182
+ * URL of attached media
183
+ */
184
+ media_url?: string;
185
+
186
+ /**
187
+ * Unique identifier for tracking the message
188
+ */
189
+ message_handle?: string;
190
+
191
+ /**
192
+ * Recipient phone number
193
+ */
194
+ number?: string;
195
+
196
+ /**
197
+ * The iMessage expressive message style
198
+ */
199
+ send_style?:
200
+ | 'celebration'
201
+ | 'shooting_star'
202
+ | 'fireworks'
203
+ | 'lasers'
204
+ | 'love'
205
+ | 'confetti'
206
+ | 'balloons'
207
+ | 'spotlight'
208
+ | 'echo'
209
+ | 'invisible'
210
+ | 'gentle'
211
+ | 'loud'
212
+ | 'slam';
213
+
214
+ status?: 'QUEUED' | 'SENT' | 'DELIVERED' | 'READ' | 'ERROR';
215
+ }
216
+
217
+ export interface MessageRetrieveResponse {
218
+ data?: MessageRetrieveResponse.Data;
219
+
220
+ status?: string;
221
+ }
222
+
223
+ export namespace MessageRetrieveResponse {
224
+ export interface Data {
225
+ /**
226
+ * Email of the account
227
+ */
228
+ accountEmail?: string;
229
+
230
+ /**
231
+ * Message content
232
+ */
233
+ content?: string;
234
+
235
+ /**
236
+ * When the message was sent
237
+ */
238
+ date_sent?: string;
239
+
240
+ /**
241
+ * When the message was last updated
242
+ */
243
+ date_updated?: string;
244
+
245
+ /**
246
+ * Numeric error code if message failed
247
+ */
248
+ error_code?: number | null;
249
+
250
+ /**
251
+ * Detailed error information
252
+ */
253
+ error_detail?: string | null;
254
+
255
+ /**
256
+ * Error message if message failed
257
+ */
258
+ error_message?: string | null;
259
+
260
+ /**
261
+ * Error reason if message failed
262
+ */
263
+ error_reason?: string | null;
264
+
265
+ /**
266
+ * Sender phone number
267
+ */
268
+ from_number?: string;
269
+
270
+ /**
271
+ * Display name for group messages
272
+ */
273
+ group_display_name?: string | null;
274
+
275
+ /**
276
+ * Group ID for group messages
277
+ */
278
+ group_id?: string | null;
279
+
280
+ /**
281
+ * Whether this is an outbound message
282
+ */
283
+ is_outbound?: boolean;
284
+
285
+ /**
286
+ * URL of attached media
287
+ */
288
+ media_url?: string | null;
289
+
290
+ /**
291
+ * Unique message identifier
292
+ */
293
+ message_handle?: string;
294
+
295
+ message_type?: 'message' | 'group';
296
+
297
+ /**
298
+ * Primary phone number (to_number for outbound, from_number for inbound)
299
+ */
300
+ number?: string;
301
+
302
+ /**
303
+ * Whether the recipient has opted out
304
+ */
305
+ opted_out?: boolean;
306
+
307
+ /**
308
+ * List of participants for group messages
309
+ */
310
+ participants?: Array<string>;
311
+
312
+ /**
313
+ * Account plan used for this message
314
+ */
315
+ plan?: string;
316
+
317
+ /**
318
+ * The iMessage expressive message style
319
+ */
320
+ send_style?:
321
+ | 'celebration'
322
+ | 'shooting_star'
323
+ | 'fireworks'
324
+ | 'lasers'
325
+ | 'love'
326
+ | 'confetti'
327
+ | 'balloons'
328
+ | 'spotlight'
329
+ | 'echo'
330
+ | 'invisible'
331
+ | 'gentle'
332
+ | 'loud'
333
+ | 'slam';
334
+
335
+ /**
336
+ * Sendblue phone number used
337
+ */
338
+ sendblue_number?: string | null;
339
+
340
+ service?: 'iMessage' | 'SMS';
341
+
342
+ status?:
343
+ | 'REGISTERED'
344
+ | 'PENDING'
345
+ | 'SENT'
346
+ | 'DELIVERED'
347
+ | 'RECEIVED'
348
+ | 'QUEUED'
349
+ | 'ERROR'
350
+ | 'DECLINED'
351
+ | 'ACCEPTED'
352
+ | 'SUCCESS';
353
+
354
+ /**
355
+ * Recipient phone number
356
+ */
357
+ to_number?: string;
358
+
359
+ /**
360
+ * Whether the message was downgraded from iMessage to SMS
361
+ */
362
+ was_downgraded?: boolean;
363
+ }
364
+ }
365
+
366
+ export interface MessageListResponse {
367
+ data?: Array<MessageListResponse.Data>;
368
+
369
+ pagination?: MessageListResponse.Pagination;
370
+
371
+ status?: string;
372
+ }
373
+
374
+ export namespace MessageListResponse {
375
+ export interface Data {
376
+ /**
377
+ * Email of the account
378
+ */
379
+ accountEmail?: string;
380
+
381
+ /**
382
+ * Message content
383
+ */
384
+ content?: string;
385
+
386
+ /**
387
+ * When the message was sent
388
+ */
389
+ date_sent?: string;
390
+
391
+ /**
392
+ * When the message was last updated
393
+ */
394
+ date_updated?: string;
395
+
396
+ /**
397
+ * Numeric error code if message failed
398
+ */
399
+ error_code?: number | null;
400
+
401
+ /**
402
+ * Detailed error information
403
+ */
404
+ error_detail?: string | null;
405
+
406
+ /**
407
+ * Error message if message failed
408
+ */
409
+ error_message?: string | null;
410
+
411
+ /**
412
+ * Error reason if message failed
413
+ */
414
+ error_reason?: string | null;
415
+
416
+ /**
417
+ * Sender phone number
418
+ */
419
+ from_number?: string;
420
+
421
+ /**
422
+ * Display name for group messages
423
+ */
424
+ group_display_name?: string | null;
425
+
426
+ /**
427
+ * Group ID for group messages
428
+ */
429
+ group_id?: string | null;
430
+
431
+ /**
432
+ * Whether this is an outbound message
433
+ */
434
+ is_outbound?: boolean;
435
+
436
+ /**
437
+ * URL of attached media
438
+ */
439
+ media_url?: string | null;
440
+
441
+ /**
442
+ * Unique message identifier
443
+ */
444
+ message_handle?: string;
445
+
446
+ message_type?: 'message' | 'group';
447
+
448
+ /**
449
+ * Primary phone number (to_number for outbound, from_number for inbound)
450
+ */
451
+ number?: string;
452
+
453
+ /**
454
+ * Whether the recipient has opted out
455
+ */
456
+ opted_out?: boolean;
457
+
458
+ /**
459
+ * List of participants for group messages
460
+ */
461
+ participants?: Array<string>;
462
+
463
+ /**
464
+ * Account plan used for this message
465
+ */
466
+ plan?: string;
467
+
468
+ /**
469
+ * The iMessage expressive message style
470
+ */
471
+ send_style?:
472
+ | 'celebration'
473
+ | 'shooting_star'
474
+ | 'fireworks'
475
+ | 'lasers'
476
+ | 'love'
477
+ | 'confetti'
478
+ | 'balloons'
479
+ | 'spotlight'
480
+ | 'echo'
481
+ | 'invisible'
482
+ | 'gentle'
483
+ | 'loud'
484
+ | 'slam';
485
+
486
+ /**
487
+ * Sendblue phone number used
488
+ */
489
+ sendblue_number?: string | null;
490
+
491
+ service?: 'iMessage' | 'SMS';
492
+
493
+ status?:
494
+ | 'REGISTERED'
495
+ | 'PENDING'
496
+ | 'SENT'
497
+ | 'DELIVERED'
498
+ | 'RECEIVED'
499
+ | 'QUEUED'
500
+ | 'ERROR'
501
+ | 'DECLINED'
502
+ | 'ACCEPTED'
503
+ | 'SUCCESS';
504
+
505
+ /**
506
+ * Recipient phone number
507
+ */
508
+ to_number?: string;
509
+
510
+ /**
511
+ * Whether the message was downgraded from iMessage to SMS
512
+ */
513
+ was_downgraded?: boolean;
514
+ }
515
+
516
+ export interface Pagination {
517
+ /**
518
+ * Whether there are more messages available
519
+ */
520
+ hasMore?: boolean;
521
+
522
+ /**
523
+ * Number of messages returned in this request
524
+ */
525
+ limit?: number;
526
+
527
+ /**
528
+ * Number of messages skipped
529
+ */
530
+ offset?: number;
531
+
532
+ /**
533
+ * Total number of messages matching the filters
534
+ */
535
+ total?: number;
536
+ }
537
+ }
538
+
539
+ export interface MessageListParams {
540
+ /**
541
+ * Filter by account email
542
+ */
543
+ account_email?: string;
544
+
545
+ /**
546
+ * Filter messages created after this date (ISO 8601 format)
547
+ */
548
+ created_at_gte?: string;
549
+
550
+ /**
551
+ * Filter messages created before this date (ISO 8601 format)
552
+ */
553
+ created_at_lte?: string;
554
+
555
+ /**
556
+ * Filter by sender phone number
557
+ */
558
+ from_number?: string;
559
+
560
+ /**
561
+ * Filter by group ID
562
+ */
563
+ group_id?: string;
564
+
565
+ /**
566
+ * Filter by message direction
567
+ */
568
+ is_outbound?: 'true' | 'false';
569
+
570
+ /**
571
+ * Maximum number of messages to return
572
+ */
573
+ limit?: number;
574
+
575
+ /**
576
+ * Filter by message type
577
+ */
578
+ message_type?: 'message' | 'group';
579
+
580
+ /**
581
+ * Filter by any phone number (from or to)
582
+ */
583
+ number?: string;
584
+
585
+ /**
586
+ * Number of messages to skip
587
+ */
588
+ offset?: number;
589
+
590
+ /**
591
+ * Field to order messages by
592
+ */
593
+ order_by?: 'createdAt' | 'updatedAt' | 'sentAt';
594
+
595
+ /**
596
+ * Sort order
597
+ */
598
+ order_direction?: 'asc' | 'desc';
599
+
600
+ /**
601
+ * Filter by Sendblue phone number
602
+ */
603
+ sendblue_number?: string;
604
+
605
+ /**
606
+ * Filter messages sent after this date (ISO 8601 format)
607
+ */
608
+ sent_at_gte?: string;
609
+
610
+ /**
611
+ * Filter messages sent before this date (ISO 8601 format)
612
+ */
613
+ sent_at_lte?: string;
614
+
615
+ /**
616
+ * Filter by service type
617
+ */
618
+ service?: 'iMessage' | 'SMS';
619
+
620
+ /**
621
+ * Filter by message status
622
+ */
623
+ status?:
624
+ | 'REGISTERED'
625
+ | 'PENDING'
626
+ | 'SENT'
627
+ | 'DELIVERED'
628
+ | 'RECEIVED'
629
+ | 'QUEUED'
630
+ | 'ERROR'
631
+ | 'DECLINED'
632
+ | 'ACCEPTED'
633
+ | 'SUCCESS';
634
+
635
+ /**
636
+ * Filter by recipient phone number
637
+ */
638
+ to_number?: string;
639
+
640
+ /**
641
+ * Filter messages updated after this date (ISO 8601 format)
642
+ */
643
+ updated_at_gte?: string;
644
+
645
+ /**
646
+ * Filter messages updated before this date (ISO 8601 format)
647
+ */
648
+ updated_at_lte?: string;
649
+
650
+ /**
651
+ * Filter by worker ID (Admin only)
652
+ */
653
+ worker_id?: string;
654
+ }
655
+
656
+ export interface MessageGetStatusParams {
657
+ /**
658
+ * The message handle of the message you want to check status for
659
+ */
660
+ handle: string;
661
+ }
662
+
663
+ export interface MessageSendParams {
664
+ /**
665
+ * Message text content
666
+ */
667
+ content: string;
668
+
669
+ /**
670
+ * **REQUIRED** - The phone number to send from. Must be one of your registered
671
+ * Sendblue phone numbers in E.164 format. Without this parameter, the message will
672
+ * fail to send.
673
+ */
674
+ from_number: string;
675
+
676
+ /**
677
+ * Recipient phone number in E.164 format
678
+ */
679
+ number: string;
680
+
681
+ /**
682
+ * URL of media file to send (images, videos, etc.)
683
+ */
684
+ media_url?: string;
685
+
686
+ /**
687
+ * The iMessage expressive message style
688
+ */
689
+ send_style?:
690
+ | 'celebration'
691
+ | 'shooting_star'
692
+ | 'fireworks'
693
+ | 'lasers'
694
+ | 'love'
695
+ | 'confetti'
696
+ | 'balloons'
697
+ | 'spotlight'
698
+ | 'echo'
699
+ | 'invisible'
700
+ | 'gentle'
701
+ | 'loud'
702
+ | 'slam';
703
+
704
+ /**
705
+ * Webhook URL for message status updates
706
+ */
707
+ status_callback?: string;
708
+ }
709
+
710
+ export declare namespace Messages {
711
+ export {
712
+ type MessageContent as MessageContent,
713
+ type MessageResponse as MessageResponse,
714
+ type MessageRetrieveResponse as MessageRetrieveResponse,
715
+ type MessageListResponse as MessageListResponse,
716
+ type MessageListParams as MessageListParams,
717
+ type MessageGetStatusParams as MessageGetStatusParams,
718
+ type MessageSendParams as MessageSendParams,
719
+ };
720
+ }