bandwidth-sdk 14.1.3 → 15.0.0

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 (102) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +10 -10
  3. data/README.md +34 -1
  4. data/bandwidth.yml +640 -58
  5. data/coverage/.last_run.json +1 -1
  6. data/coverage/.resultset.json +210 -6
  7. data/coverage/index.html +14901 -12699
  8. data/docs/CardWidthEnum.md +15 -0
  9. data/docs/CreateMultiChannelMessageResponse.md +22 -0
  10. data/docs/ErrorObject.md +20 -0
  11. data/docs/Link.md +20 -0
  12. data/docs/Message.md +1 -1
  13. data/docs/MessageCallback.md +3 -1
  14. data/docs/MessageRequest.md +1 -1
  15. data/docs/MmsMessageContent.md +20 -0
  16. data/docs/MultiChannelAction.md +89 -0
  17. data/docs/MultiChannelActionCalendarEvent.md +30 -0
  18. data/docs/MultiChannelApi.md +80 -0
  19. data/docs/MultiChannelCallbackData.md +26 -0
  20. data/docs/MultiChannelChannelListObject.md +24 -0
  21. data/docs/MultiChannelChannelListObjectContent.md +55 -0
  22. data/docs/MultiChannelMessageCallbackData.md +32 -0
  23. data/docs/MultiChannelMessageChannelEnum.md +15 -0
  24. data/docs/MultiChannelMessageData.md +34 -0
  25. data/docs/MultiChannelMessageDirectionEnum.md +15 -0
  26. data/docs/MultiChannelMessageRequest.md +26 -0
  27. data/docs/MultiChannelStatusEnum.md +15 -0
  28. data/docs/RbmActionBase.md +22 -0
  29. data/docs/RbmActionDial.md +24 -0
  30. data/docs/RbmActionOpenUrl.md +24 -0
  31. data/docs/RbmActionTypeEnum.md +15 -0
  32. data/docs/RbmActionViewLocation.md +28 -0
  33. data/docs/RbmCardContent.md +24 -0
  34. data/docs/RbmCardContentMedia.md +22 -0
  35. data/docs/RbmMediaHeightEnum.md +15 -0
  36. data/docs/RbmMessageCarouselCard.md +22 -0
  37. data/docs/RbmMessageContentFile.md +20 -0
  38. data/docs/RbmMessageContentRichCard.md +49 -0
  39. data/docs/RbmMessageContentText.md +20 -0
  40. data/docs/RbmMessageMedia.md +20 -0
  41. data/docs/RbmStandaloneCard.md +24 -0
  42. data/docs/SmsMessageContent.md +18 -0
  43. data/docs/StandaloneCardOrientationEnum.md +15 -0
  44. data/docs/TfvStatus.md +5 -1
  45. data/docs/TfvSubmissionInfo.md +8 -2
  46. data/docs/ThumbnailAlignmentEnum.md +15 -0
  47. data/docs/VerificationDenialWebhook.md +5 -1
  48. data/docs/VerificationRequest.md +7 -1
  49. data/docs/VerificationUpdateRequest.md +8 -2
  50. data/lib/bandwidth-sdk/api/multi_channel_api.rb +96 -0
  51. data/lib/bandwidth-sdk/configuration.rb +6 -0
  52. data/lib/bandwidth-sdk/models/bxml/verbs/phone_number.rb +1 -0
  53. data/lib/bandwidth-sdk/models/card_width_enum.rb +40 -0
  54. data/lib/bandwidth-sdk/models/create_multi_channel_message_response.rb +234 -0
  55. data/lib/bandwidth-sdk/models/error_object.rb +221 -0
  56. data/lib/bandwidth-sdk/models/link.rb +221 -0
  57. data/lib/bandwidth-sdk/models/message.rb +1 -1
  58. data/lib/bandwidth-sdk/models/message_callback.rb +16 -5
  59. data/lib/bandwidth-sdk/models/message_request.rb +1 -1
  60. data/lib/bandwidth-sdk/models/mms_message_content.rb +244 -0
  61. data/lib/bandwidth-sdk/models/multi_channel_action.rb +61 -0
  62. data/lib/bandwidth-sdk/models/multi_channel_action_calendar_event.rb +419 -0
  63. data/lib/bandwidth-sdk/models/multi_channel_callback_data.rb +272 -0
  64. data/lib/bandwidth-sdk/models/multi_channel_channel_list_object.rb +291 -0
  65. data/lib/bandwidth-sdk/models/multi_channel_channel_list_object_content.rb +108 -0
  66. data/lib/bandwidth-sdk/models/multi_channel_message_callback_data.rb +302 -0
  67. data/lib/bandwidth-sdk/models/multi_channel_message_channel_enum.rb +41 -0
  68. data/lib/bandwidth-sdk/models/multi_channel_message_data.rb +312 -0
  69. data/lib/bandwidth-sdk/models/multi_channel_message_direction_enum.rb +40 -0
  70. data/lib/bandwidth-sdk/models/multi_channel_message_request.rb +310 -0
  71. data/lib/bandwidth-sdk/models/multi_channel_status_enum.rb +42 -0
  72. data/lib/bandwidth-sdk/models/rbm_action_base.rb +313 -0
  73. data/lib/bandwidth-sdk/models/rbm_action_dial.rb +337 -0
  74. data/lib/bandwidth-sdk/models/rbm_action_open_url.rb +356 -0
  75. data/lib/bandwidth-sdk/models/rbm_action_type_enum.rb +44 -0
  76. data/lib/bandwidth-sdk/models/rbm_action_view_location.rb +383 -0
  77. data/lib/bandwidth-sdk/models/rbm_card_content.rb +301 -0
  78. data/lib/bandwidth-sdk/models/rbm_card_content_media.rb +313 -0
  79. data/lib/bandwidth-sdk/models/rbm_media_height_enum.rb +41 -0
  80. data/lib/bandwidth-sdk/models/rbm_message_carousel_card.rb +309 -0
  81. data/lib/bandwidth-sdk/models/rbm_message_content_file.rb +268 -0
  82. data/lib/bandwidth-sdk/models/rbm_message_content_rich_card.rb +104 -0
  83. data/lib/bandwidth-sdk/models/rbm_message_content_text.rb +270 -0
  84. data/lib/bandwidth-sdk/models/rbm_message_media.rb +250 -0
  85. data/lib/bandwidth-sdk/models/rbm_standalone_card.rb +304 -0
  86. data/lib/bandwidth-sdk/models/sms_message_content.rb +239 -0
  87. data/lib/bandwidth-sdk/models/standalone_card_orientation_enum.rb +40 -0
  88. data/lib/bandwidth-sdk/models/tfv_status.rb +24 -4
  89. data/lib/bandwidth-sdk/models/tfv_status_enum.rb +1 -3
  90. data/lib/bandwidth-sdk/models/tfv_submission_info.rb +35 -5
  91. data/lib/bandwidth-sdk/models/thumbnail_alignment_enum.rb +40 -0
  92. data/lib/bandwidth-sdk/models/verification_denial_webhook.rb +24 -4
  93. data/lib/bandwidth-sdk/models/verification_request.rb +35 -5
  94. data/lib/bandwidth-sdk/models/verification_update_request.rb +35 -5
  95. data/lib/bandwidth-sdk/version.rb +1 -1
  96. data/lib/bandwidth-sdk.rb +34 -1
  97. data/spec/smoke/conferences_api_spec.rb +4 -4
  98. data/spec/smoke/multi_channel_api_spec.rb +40 -0
  99. data/spec/smoke/transcriptions_api_spec.rb +1 -1
  100. data/spec/unit/api/multi_channel_api_spec.rb +59 -0
  101. data/spec/unit/models/bxml/verbs/phone_number_spec.rb +6 -4
  102. metadata +117 -45
data/bandwidth.yml CHANGED
@@ -12,6 +12,7 @@ security:
12
12
  tags:
13
13
  - name: Messages
14
14
  - name: Media
15
+ - name: Multi-Channel
15
16
  - name: Calls
16
17
  - name: Conferences
17
18
  - name: Recordings
@@ -234,6 +235,43 @@ paths:
234
235
  statusCallback:
235
236
  $ref: '#/components/callbacks/statusCallback'
236
237
  servers: *ref_0
238
+ /users/{accountId}/messages/multiChannel:
239
+ post:
240
+ summary: Create Multi-Channel Message
241
+ description: Endpoint for sending Multi-Channel messages.
242
+ operationId: createMultiChannelMessage
243
+ parameters:
244
+ - $ref: '#/components/parameters/accountId'
245
+ tags:
246
+ - Multi-Channel
247
+ requestBody:
248
+ $ref: '#/components/requestBodies/createMultiChannelMessageRequest'
249
+ responses:
250
+ '202':
251
+ $ref: '#/components/responses/createMultiChannelMessageResponse'
252
+ '400':
253
+ $ref: '#/components/responses/createMessageBadRequestError'
254
+ '401':
255
+ $ref: '#/components/responses/messagingUnauthorizedError'
256
+ '403':
257
+ $ref: '#/components/responses/messagingForbiddenError'
258
+ '404':
259
+ $ref: '#/components/responses/messagingNotFoundError'
260
+ '406':
261
+ $ref: '#/components/responses/messagingNotAcceptableError'
262
+ '415':
263
+ $ref: '#/components/responses/messagingInvalidMediaTypeError'
264
+ '429':
265
+ $ref: '#/components/responses/messagingTooManyRequestsError'
266
+ '500':
267
+ $ref: '#/components/responses/messagingInternalServerError'
268
+ callbacks:
269
+ multiChannelCallback:
270
+ $ref: '#/components/callbacks/multiChannelMessageCallback'
271
+ x-badges:
272
+ - name: Beta
273
+ color: '#076EA8'
274
+ servers: *ref_0
237
275
  /accounts/{accountId}/calls:
238
276
  post:
239
277
  tags:
@@ -1595,6 +1633,12 @@ paths:
1595
1633
  servers: *ref_4
1596
1634
  components:
1597
1635
  schemas:
1636
+ applicationId:
1637
+ type: string
1638
+ description: >-
1639
+ The ID of the Application your from number or senderId is associated
1640
+ with in the Bandwidth Phone Number Dashboard.
1641
+ example: 93de2206-9669-4e07-948d-329f4b722ee2
1598
1642
  callbackTypeEnum:
1599
1643
  type: string
1600
1644
  enum:
@@ -1612,10 +1656,7 @@ components:
1612
1656
  example: message-delivered
1613
1657
  priorityEnum:
1614
1658
  type: string
1615
- description: |-
1616
- The priority specified by the user.
1617
-
1618
- Not supported on MMS.
1659
+ description: The priority specified by the user.
1619
1660
  enum:
1620
1661
  - default
1621
1662
  - high
@@ -1808,6 +1849,10 @@ components:
1808
1849
  required:
1809
1850
  - type
1810
1851
  - description
1852
+ messageId:
1853
+ type: string
1854
+ description: The ID of the message.
1855
+ example: 1589228074636lm4k2je7j7jklbn2
1811
1856
  media:
1812
1857
  title: Media
1813
1858
  type: object
@@ -1820,12 +1865,11 @@ components:
1820
1865
  type: string
1821
1866
  tag:
1822
1867
  title: Tag
1823
- type: object
1824
- properties:
1825
- key:
1826
- type: string
1827
- value:
1828
- type: string
1868
+ type: string
1869
+ description: >-
1870
+ A custom string that will be included in callback events of the message.
1871
+ Max 1024 characters.
1872
+ example: custom string
1829
1873
  deferredResult:
1830
1874
  title: DeferredResult
1831
1875
  type: object
@@ -1834,6 +1878,15 @@ components:
1834
1878
  type: object
1835
1879
  setOrExpired:
1836
1880
  type: boolean
1881
+ expiration:
1882
+ type: string
1883
+ format: date-time
1884
+ description: >-
1885
+ A string with the date/time value that the message will automatically
1886
+ expire by. This must be a valid RFC-3339 value, e.g.,
1887
+ 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. Must be a date-time
1888
+ in the future.
1889
+ example: '2021-02-01T11:29:18-05:00'
1837
1890
  message:
1838
1891
  title: Message
1839
1892
  type: object
@@ -1898,10 +1951,7 @@ components:
1898
1951
  priority:
1899
1952
  $ref: '#/components/schemas/priorityEnum'
1900
1953
  expiration:
1901
- type: string
1902
- format: date-time
1903
- description: The expiration date-time set by the user.
1904
- example: '2021-02-01T11:29:18-05:00'
1954
+ $ref: '#/components/schemas/expiration'
1905
1955
  messageRequest:
1906
1956
  title: MessageRequest
1907
1957
  type: object
@@ -1937,44 +1987,489 @@ components:
1937
1987
  plus +, underscore _ and ampersand &. Alphanumeric Sender IDs must
1938
1988
  contain at least one letter.
1939
1989
  example: '+15551113333'
1990
+ text:
1991
+ $ref: '#/components/schemas/messageText'
1992
+ media:
1993
+ $ref: '#/components/schemas/messageMedia'
1994
+ tag:
1995
+ $ref: '#/components/schemas/tag'
1996
+ priority:
1997
+ $ref: '#/components/schemas/priorityEnum'
1998
+ expiration:
1999
+ $ref: '#/components/schemas/expiration'
2000
+ messageText:
2001
+ type: string
2002
+ description: The contents of the text message. Must be 2048 characters or less.
2003
+ maxLength: 2048
2004
+ example: Hello world
2005
+ messageMedia:
2006
+ type: array
2007
+ items:
2008
+ type: string
2009
+ format: uri
2010
+ maxLength: 4096
2011
+ description: |-
2012
+ A list of URLs to include as media attachments as part of the message.
2013
+ Each URL can be at most 4096 characters.
2014
+ example:
2015
+ - https://dev.bandwidth.com/images/bandwidth-logo.png
2016
+ - https://dev.bandwidth.com/images/github_logo.png
2017
+ createMultiChannelMessageResponse:
2018
+ type: object
2019
+ properties:
2020
+ links:
2021
+ type: array
2022
+ items:
2023
+ $ref: '#/components/schemas/link'
2024
+ data:
2025
+ $ref: '#/components/schemas/multiChannelMessageData'
2026
+ errors:
2027
+ type: array
2028
+ items:
2029
+ $ref: '#/components/schemas/errorObject'
2030
+ multiChannelMessageChannelEnum:
2031
+ description: The channel of the multi-channel message.
2032
+ type: string
2033
+ enum:
2034
+ - RBM
2035
+ - SMS
2036
+ - MMS
2037
+ example: RBM
2038
+ multiChannelMessageDirectionEnum:
2039
+ type: string
2040
+ enum:
2041
+ - INBOUND
2042
+ - OUTBOUND
2043
+ example: OUTBOUND
2044
+ multiChannelSenderId:
2045
+ type: string
2046
+ description: The sender ID of the message. This could be an alphanumeric sender ID.
2047
+ example: BandwidthRBM
2048
+ multiChannelDestination:
2049
+ type: string
2050
+ description: The phone number the message should be sent to in E164 format.
2051
+ example: '+15552223333'
2052
+ rbmMessageContentText:
2053
+ title: RBM Text
2054
+ type: object
2055
+ properties:
1940
2056
  text:
1941
2057
  type: string
1942
- description: The contents of the text message. Must be 2048 characters or less.
1943
- maxLength: 2048
2058
+ description: >-
2059
+ The text associated with the message. Must be 3270 characters or
2060
+ less
2061
+ maxLength: 3270
1944
2062
  example: Hello world
2063
+ suggestions:
2064
+ $ref: '#/components/schemas/multiChannelFullActions'
2065
+ required:
2066
+ - text
2067
+ rbmMediaHeightEnum:
2068
+ type: string
2069
+ description: The height of the media.
2070
+ enum:
2071
+ - SHORT
2072
+ - MEDIUM
2073
+ - TALL
2074
+ example: SHORT
2075
+ rbmMessageContentFile:
2076
+ title: RBM Rich Media File
2077
+ type: object
2078
+ properties:
2079
+ fileUrl:
2080
+ type: string
2081
+ format: uri
2082
+ description: The URL of the media file. 100MB is the maximum file size.
2083
+ example: https://dev.bandwidth.com/images/bandwidth-logo.png
2084
+ maxLength: 1000
2085
+ thumbnailUrl:
2086
+ type: string
2087
+ format: uri
2088
+ description: The URL of the thumbnail image. Applies only to video file media.
2089
+ example: https://dev.bandwidth.com/images/bandwidth-logo.png
2090
+ maxLength: 1000
2091
+ required:
2092
+ - fileUrl
2093
+ rbmMessageMedia:
2094
+ title: RBM Media
2095
+ type: object
2096
+ properties:
2097
+ media:
2098
+ $ref: '#/components/schemas/rbmMessageContentFile'
2099
+ suggestions:
2100
+ $ref: '#/components/schemas/multiChannelFullActions'
2101
+ required:
2102
+ - media
2103
+ rbmCardContent:
2104
+ type: object
2105
+ properties:
2106
+ title:
2107
+ type: string
2108
+ description: The title of the card. Must be 200 characters or less.
2109
+ maxLength: 200
2110
+ example: Bandwidth
2111
+ description:
2112
+ type: string
2113
+ description: The description of the card. Must be 2000 characters or less.
2114
+ maxLength: 2000
2115
+ example: Bandwidth is a communications platform as a service (CPaaS) company.
1945
2116
  media:
2117
+ allOf:
2118
+ - $ref: '#/components/schemas/rbmMessageContentFile'
2119
+ - type: object
2120
+ properties:
2121
+ height:
2122
+ $ref: '#/components/schemas/rbmMediaHeightEnum'
2123
+ required:
2124
+ - height
2125
+ suggestions:
2126
+ description: >-
2127
+ An array of suggested actions for the recipient that will be
2128
+ displayed on the rich card.
1946
2129
  type: array
1947
2130
  items:
1948
- type: string
1949
- format: uri
1950
- maxLength: 4096
2131
+ $ref: '#/components/schemas/multiChannelAction'
2132
+ maxItems: 4
2133
+ rbmStandaloneCard:
2134
+ title: Standalone Card
2135
+ type: object
2136
+ properties:
2137
+ orientation:
2138
+ $ref: '#/components/schemas/standaloneCardOrientationEnum'
2139
+ thumbnailImageAlignment:
2140
+ $ref: '#/components/schemas/thumbnailAlignmentEnum'
2141
+ cardContent:
2142
+ $ref: '#/components/schemas/rbmCardContent'
2143
+ suggestions:
2144
+ $ref: '#/components/schemas/multiChannelFullActions'
2145
+ required:
2146
+ - orientation
2147
+ - thumbnailImageAlignment
2148
+ - cardContent
2149
+ standaloneCardOrientationEnum:
2150
+ type: string
2151
+ enum:
2152
+ - HORIZONTAL
2153
+ - VERTICAL
2154
+ example: VERTICAL
2155
+ thumbnailAlignmentEnum:
2156
+ type: string
2157
+ description: >-
2158
+ The alignment of the thumbnail image in the card. Only applicable if the
2159
+ card using horizontal orientation.
2160
+ enum:
2161
+ - LEFT
2162
+ - RIGHT
2163
+ example: LEFT
2164
+ rbmMessageCarouselCard:
2165
+ title: Carousel
2166
+ type: object
2167
+ properties:
2168
+ cardWidth:
2169
+ $ref: '#/components/schemas/cardWidthEnum'
2170
+ cardContents:
2171
+ type: array
2172
+ items:
2173
+ $ref: '#/components/schemas/rbmCardContent'
2174
+ maxItems: 10
2175
+ suggestions:
2176
+ $ref: '#/components/schemas/multiChannelFullActions'
2177
+ required:
2178
+ - cardContents
2179
+ - cardWidth
2180
+ cardWidthEnum:
2181
+ type: string
2182
+ enum:
2183
+ - SMALL
2184
+ - MEDIUM
2185
+ example: SMALL
2186
+ smsMessageContent:
2187
+ title: SMS Text
2188
+ type: object
2189
+ properties:
2190
+ text:
2191
+ $ref: '#/components/schemas/messageText'
2192
+ required:
2193
+ - text
2194
+ mmsMessageContent:
2195
+ title: MMS Message
2196
+ type: object
2197
+ properties:
2198
+ text:
2199
+ $ref: '#/components/schemas/messageText'
2200
+ media:
2201
+ $ref: '#/components/schemas/messageMedia'
2202
+ rbmMessageContentRichCard:
2203
+ title: RBM Rich Card
2204
+ oneOf:
2205
+ - $ref: '#/components/schemas/rbmStandaloneCard'
2206
+ - $ref: '#/components/schemas/rbmMessageCarouselCard'
2207
+ rbmActionTypeEnum:
2208
+ type: string
2209
+ enum:
2210
+ - REPLY
2211
+ - DIAL_PHONE
2212
+ - SHOW_LOCATION
2213
+ - CREATE_CALENDAR_EVENT
2214
+ - OPEN_URL
2215
+ - REQUEST_LOCATION
2216
+ example: REPLY
2217
+ rbmActionText:
2218
+ title: Text
2219
+ type: string
2220
+ description: Displayed text for user to click
2221
+ maxLength: 25
2222
+ example: Hello world
2223
+ rbmActionPostBackData:
2224
+ title: Post Back Data
2225
+ type: string
2226
+ format: byte
2227
+ description: Base64 payload the customer receives when the reply is clicked.
2228
+ maxLength: 2048
2229
+ example: SGVsbG8gd29ybGQ=
2230
+ rbmActionBase:
2231
+ type: object
2232
+ properties:
2233
+ type:
2234
+ $ref: '#/components/schemas/rbmActionTypeEnum'
2235
+ text:
2236
+ $ref: '#/components/schemas/rbmActionText'
2237
+ postBackData:
2238
+ $ref: '#/components/schemas/rbmActionPostBackData'
2239
+ required:
2240
+ - text
2241
+ - postBackData
2242
+ - type
2243
+ rbmActionDial:
2244
+ allOf:
2245
+ - $ref: '#/components/schemas/rbmActionBase'
2246
+ - title: Dial Phone
2247
+ type: object
2248
+ properties:
2249
+ phoneNumber:
2250
+ type: string
2251
+ description: The phone number to dial. Must be E164 format.
2252
+ example: '+15552223333'
2253
+ required:
2254
+ - phoneNumber
2255
+ rbmActionViewLocation:
2256
+ allOf:
2257
+ - $ref: '#/components/schemas/rbmActionBase'
2258
+ - title: Show Location
2259
+ type: object
2260
+ properties:
2261
+ latitude:
2262
+ type: string
2263
+ format: double
2264
+ description: The latitude of the location.
2265
+ example: '37.7749'
2266
+ longitude:
2267
+ type: string
2268
+ format: double
2269
+ description: The longitude of the location.
2270
+ example: '-122.4194'
2271
+ label:
2272
+ type: string
2273
+ description: The label of the location.
2274
+ example: San Francisco
2275
+ maxLength: 100
2276
+ required:
2277
+ - latitude
2278
+ - longitude
2279
+ multiChannelActionCalendarEvent:
2280
+ allOf:
2281
+ - $ref: '#/components/schemas/rbmActionBase'
2282
+ - title: Calendar Event
2283
+ type: object
2284
+ properties:
2285
+ title:
2286
+ type: string
2287
+ description: The title of the event.
2288
+ example: Meeting with John
2289
+ maxLength: 100
2290
+ startTime:
2291
+ type: string
2292
+ format: date-time
2293
+ description: The start time of the event.
2294
+ example: 2022-09-14T18:20:16.000Z
2295
+ endTime:
2296
+ type: string
2297
+ format: date-time
2298
+ description: The end time of the event.
2299
+ example: 2022-09-14T18:20:16.000Z
2300
+ description:
2301
+ type: string
2302
+ description: The description of the event.
2303
+ example: Discuss the new project
2304
+ maxLength: 500
2305
+ required:
2306
+ - title
2307
+ - startTime
2308
+ - endTime
2309
+ rbmActionOpenUrl:
2310
+ allOf:
2311
+ - $ref: '#/components/schemas/rbmActionBase'
2312
+ - title: Open URL
2313
+ type: object
2314
+ properties:
2315
+ url:
2316
+ type: string
2317
+ format: uri
2318
+ description: The URL to open in browser.
2319
+ example: https://dev.bandwidth.com
2320
+ maxLength: 2048
2321
+ required:
2322
+ - url
2323
+ multiChannelFullActions:
2324
+ type: array
2325
+ description: An array of suggested actions for the recipient.
2326
+ items:
2327
+ $ref: '#/components/schemas/multiChannelAction'
2328
+ maxItems: 11
2329
+ multiChannelAction:
2330
+ oneOf:
2331
+ - $ref: '#/components/schemas/rbmActionBase'
2332
+ - $ref: '#/components/schemas/rbmActionDial'
2333
+ - $ref: '#/components/schemas/rbmActionViewLocation'
2334
+ - $ref: '#/components/schemas/multiChannelActionCalendarEvent'
2335
+ - $ref: '#/components/schemas/rbmActionOpenUrl'
2336
+ discriminator:
2337
+ propertyName: type
2338
+ mapping:
2339
+ REPLY: '#/components/schemas/rbmActionBase'
2340
+ DIAL_PHONE: '#/components/schemas/rbmActionDial'
2341
+ SHOW_LOCATION: '#/components/schemas/rbmActionViewLocation'
2342
+ CREATE_CALENDAR_EVENT: '#/components/schemas/multiChannelActionCalendarEvent'
2343
+ OPEN_URL: '#/components/schemas/rbmActionOpenUrl'
2344
+ REQUEST_LOCATION: '#/components/schemas/rbmActionBase'
2345
+ multiChannelStatusEnum:
2346
+ type: string
2347
+ enum:
2348
+ - QUEUED
2349
+ - SENDING
2350
+ - DELIVERED
2351
+ - FAILED
2352
+ example: DELIVERED
2353
+ multiChannelChannelListObject:
2354
+ type: object
2355
+ properties:
2356
+ from:
2357
+ $ref: '#/components/schemas/multiChannelSenderId'
2358
+ applicationId:
2359
+ $ref: '#/components/schemas/applicationId'
2360
+ channel:
2361
+ $ref: '#/components/schemas/multiChannelMessageChannelEnum'
2362
+ content:
2363
+ description: The content of the message.
2364
+ oneOf:
2365
+ - $ref: '#/components/schemas/rbmMessageContentText'
2366
+ - $ref: '#/components/schemas/rbmMessageMedia'
2367
+ - $ref: '#/components/schemas/rbmMessageContentRichCard'
2368
+ - $ref: '#/components/schemas/smsMessageContent'
2369
+ - $ref: '#/components/schemas/mmsMessageContent'
2370
+ required:
2371
+ - from
2372
+ - applicationId
2373
+ - channel
2374
+ - content
2375
+ multiChannelMessageRequest:
2376
+ description: Multi-Channel Message Request
2377
+ type: object
2378
+ properties:
2379
+ to:
2380
+ $ref: '#/components/schemas/multiChannelDestination'
2381
+ channelList:
2382
+ type: array
1951
2383
  description: >-
1952
- A list of URLs to include as media attachments as part of the
1953
- message.
1954
-
1955
- Each URL can be at most 4096 characters.
1956
- example:
1957
- - https://dev.bandwidth.com/images/bandwidth-logo.png
1958
- - https://dev.bandwidth.com/images/github_logo.png
2384
+ A list of message bodies. The messages will be attempted in the
2385
+ order they are listed. Once a message sends successfully, the others
2386
+ will be ignored.
2387
+ items:
2388
+ $ref: '#/components/schemas/multiChannelChannelListObject'
2389
+ maxItems: 4
1959
2390
  tag:
1960
- type: string
1961
- description: >-
1962
- A custom string that will be included in callback events of the
1963
- message. Max 1024 characters.
1964
- example: custom string
2391
+ $ref: '#/components/schemas/tag'
1965
2392
  priority:
1966
2393
  $ref: '#/components/schemas/priorityEnum'
1967
2394
  expiration:
2395
+ $ref: '#/components/schemas/expiration'
2396
+ required:
2397
+ - to
2398
+ - channelList
2399
+ multiChannelMessageCallbackData:
2400
+ type: object
2401
+ properties:
2402
+ messageId:
2403
+ $ref: '#/components/schemas/messageId'
2404
+ status:
2405
+ $ref: '#/components/schemas/multiChannelStatusEnum'
2406
+ direction:
2407
+ $ref: '#/components/schemas/multiChannelMessageDirectionEnum'
2408
+ from:
2409
+ $ref: '#/components/schemas/multiChannelSenderId'
2410
+ to:
2411
+ $ref: '#/components/schemas/multiChannelDestination'
2412
+ applicationId:
2413
+ $ref: '#/components/schemas/applicationId'
2414
+ channel:
2415
+ $ref: '#/components/schemas/multiChannelMessageChannelEnum'
2416
+ tag:
2417
+ $ref: '#/components/schemas/tag'
2418
+ multiChannelMessageData:
2419
+ type: object
2420
+ properties:
2421
+ messageId:
2422
+ $ref: '#/components/schemas/messageId'
2423
+ status:
2424
+ $ref: '#/components/schemas/multiChannelStatusEnum'
2425
+ time:
2426
+ description: The time the message was received by the Bandwidth API.
1968
2427
  type: string
1969
2428
  format: date-time
1970
- description: >-
1971
- A string with the date/time value that the message will
1972
- automatically expire by. This must be a valid RFC-3339 value, e.g.,
1973
- 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. Must be a
1974
- date-time in the future.
1975
-
1976
- Not supported on MMS.
1977
- example: '2021-02-01T11:29:18-05:00'
2429
+ example: 2025-01-01T18:20:16.000Z
2430
+ direction:
2431
+ $ref: '#/components/schemas/multiChannelMessageDirectionEnum'
2432
+ from:
2433
+ $ref: '#/components/schemas/multiChannelSenderId'
2434
+ to:
2435
+ $ref: '#/components/schemas/multiChannelDestination'
2436
+ applicationId:
2437
+ $ref: '#/components/schemas/applicationId'
2438
+ channel:
2439
+ $ref: '#/components/schemas/multiChannelMessageChannelEnum'
2440
+ tag:
2441
+ $ref: '#/components/schemas/tag'
2442
+ multiChannelCallbackData:
2443
+ type: object
2444
+ properties:
2445
+ time:
2446
+ description: The time of the callback event.
2447
+ type: string
2448
+ format: date-time
2449
+ example: 2025-01-01T18:20:16.000Z
2450
+ type:
2451
+ $ref: '#/components/schemas/multiChannelStatusEnum'
2452
+ to:
2453
+ $ref: '#/components/schemas/multiChannelDestination'
2454
+ description:
2455
+ type: string
2456
+ example: Incoming message received
2457
+ message:
2458
+ $ref: '#/components/schemas/multiChannelMessageCallbackData'
2459
+ link:
2460
+ type: object
2461
+ properties:
2462
+ rel:
2463
+ type: string
2464
+ href:
2465
+ type: string
2466
+ errorObject:
2467
+ type: object
2468
+ properties:
2469
+ code:
2470
+ type: string
2471
+ message:
2472
+ type: string
1978
2473
  messageCallback:
1979
2474
  description: Message Callback Schema
1980
2475
  type: object
@@ -1999,6 +2494,14 @@ components:
1999
2494
  description: Optional error code, applicable only when type is `message-failed`.
2000
2495
  nullable: true
2001
2496
  example: 4405
2497
+ carrierName:
2498
+ type: string
2499
+ description: >-
2500
+ The name of the Authorized Message Provider (AMP) that handled this
2501
+ message. In the US, this is the carrier that the message was sent
2502
+ to.
2503
+ nullable: true
2504
+ example: AT&T
2002
2505
  required:
2003
2506
  - time
2004
2507
  - type
@@ -2796,7 +3299,7 @@ components:
2796
3299
  type: object
2797
3300
  properties:
2798
3301
  applicationId:
2799
- $ref: '#/components/schemas/applicationId'
3302
+ $ref: '#/components/schemas/applicationId1'
2800
3303
  accountId:
2801
3304
  $ref: '#/components/schemas/accountId'
2802
3305
  callId:
@@ -3404,7 +3907,7 @@ components:
3404
3907
  accountId:
3405
3908
  $ref: '#/components/schemas/accountId'
3406
3909
  applicationId:
3407
- $ref: '#/components/schemas/applicationId'
3910
+ $ref: '#/components/schemas/applicationId1'
3408
3911
  from:
3409
3912
  $ref: '#/components/schemas/from'
3410
3913
  to:
@@ -3441,7 +3944,7 @@ components:
3441
3944
  accountId:
3442
3945
  $ref: '#/components/schemas/accountId'
3443
3946
  applicationId:
3444
- $ref: '#/components/schemas/applicationId'
3947
+ $ref: '#/components/schemas/applicationId1'
3445
3948
  from:
3446
3949
  $ref: '#/components/schemas/from'
3447
3950
  to:
@@ -3481,7 +3984,7 @@ components:
3481
3984
  accountId:
3482
3985
  $ref: '#/components/schemas/accountId'
3483
3986
  applicationId:
3484
- $ref: '#/components/schemas/applicationId'
3987
+ $ref: '#/components/schemas/applicationId1'
3485
3988
  from:
3486
3989
  $ref: '#/components/schemas/from'
3487
3990
  to:
@@ -3662,7 +4165,7 @@ components:
3662
4165
  accountId:
3663
4166
  $ref: '#/components/schemas/accountId'
3664
4167
  applicationId:
3665
- $ref: '#/components/schemas/applicationId'
4168
+ $ref: '#/components/schemas/applicationId1'
3666
4169
  from:
3667
4170
  $ref: '#/components/schemas/from'
3668
4171
  to:
@@ -3702,7 +4205,7 @@ components:
3702
4205
  accountId:
3703
4206
  $ref: '#/components/schemas/accountId'
3704
4207
  applicationId:
3705
- $ref: '#/components/schemas/applicationId'
4208
+ $ref: '#/components/schemas/applicationId1'
3706
4209
  from:
3707
4210
  $ref: '#/components/schemas/from'
3708
4211
  to:
@@ -3742,7 +4245,7 @@ components:
3742
4245
  accountId:
3743
4246
  $ref: '#/components/schemas/accountId'
3744
4247
  applicationId:
3745
- $ref: '#/components/schemas/applicationId'
4248
+ $ref: '#/components/schemas/applicationId1'
3746
4249
  from:
3747
4250
  $ref: '#/components/schemas/from'
3748
4251
  to:
@@ -3786,7 +4289,7 @@ components:
3786
4289
  accountId:
3787
4290
  $ref: '#/components/schemas/accountId'
3788
4291
  applicationId:
3789
- $ref: '#/components/schemas/applicationId'
4292
+ $ref: '#/components/schemas/applicationId1'
3790
4293
  from:
3791
4294
  $ref: '#/components/schemas/from'
3792
4295
  to:
@@ -3820,7 +4323,7 @@ components:
3820
4323
  accountId:
3821
4324
  $ref: '#/components/schemas/accountId'
3822
4325
  applicationId:
3823
- $ref: '#/components/schemas/applicationId'
4326
+ $ref: '#/components/schemas/applicationId1'
3824
4327
  from:
3825
4328
  $ref: '#/components/schemas/from'
3826
4329
  to:
@@ -3856,7 +4359,7 @@ components:
3856
4359
  accountId:
3857
4360
  $ref: '#/components/schemas/accountId'
3858
4361
  applicationId:
3859
- $ref: '#/components/schemas/applicationId'
4362
+ $ref: '#/components/schemas/applicationId1'
3860
4363
  from:
3861
4364
  $ref: '#/components/schemas/from'
3862
4365
  to:
@@ -3906,7 +4409,7 @@ components:
3906
4409
  accountId:
3907
4410
  $ref: '#/components/schemas/accountId'
3908
4411
  applicationId:
3909
- $ref: '#/components/schemas/applicationId'
4412
+ $ref: '#/components/schemas/applicationId1'
3910
4413
  from:
3911
4414
  $ref: '#/components/schemas/from'
3912
4415
  to:
@@ -3956,7 +4459,7 @@ components:
3956
4459
  accountId:
3957
4460
  $ref: '#/components/schemas/accountId'
3958
4461
  applicationId:
3959
- $ref: '#/components/schemas/applicationId'
4462
+ $ref: '#/components/schemas/applicationId1'
3960
4463
  from:
3961
4464
  $ref: '#/components/schemas/from'
3962
4465
  to:
@@ -3994,7 +4497,7 @@ components:
3994
4497
  accountId:
3995
4498
  $ref: '#/components/schemas/accountId'
3996
4499
  applicationId:
3997
- $ref: '#/components/schemas/applicationId'
4500
+ $ref: '#/components/schemas/applicationId1'
3998
4501
  from:
3999
4502
  $ref: '#/components/schemas/from'
4000
4503
  to:
@@ -4047,7 +4550,7 @@ components:
4047
4550
  accountId:
4048
4551
  $ref: '#/components/schemas/accountId'
4049
4552
  applicationId:
4050
- $ref: '#/components/schemas/applicationId'
4553
+ $ref: '#/components/schemas/applicationId1'
4051
4554
  from:
4052
4555
  $ref: '#/components/schemas/from'
4053
4556
  to:
@@ -4086,7 +4589,7 @@ components:
4086
4589
  accountId:
4087
4590
  $ref: '#/components/schemas/accountId'
4088
4591
  applicationId:
4089
- $ref: '#/components/schemas/applicationId'
4592
+ $ref: '#/components/schemas/applicationId1'
4090
4593
  from:
4091
4594
  $ref: '#/components/schemas/from'
4092
4595
  to:
@@ -4132,7 +4635,7 @@ components:
4132
4635
  accountId:
4133
4636
  $ref: '#/components/schemas/accountId'
4134
4637
  applicationId:
4135
- $ref: '#/components/schemas/applicationId'
4638
+ $ref: '#/components/schemas/applicationId1'
4136
4639
  from:
4137
4640
  $ref: '#/components/schemas/from'
4138
4641
  to:
@@ -4188,7 +4691,7 @@ components:
4188
4691
  type: string
4189
4692
  description: The user account associated with the call.
4190
4693
  example: '9900000'
4191
- applicationId:
4694
+ applicationId1:
4192
4695
  type: string
4193
4696
  description: The id of the application associated with the call.
4194
4697
  example: 04e88489-df02-4e34-a0ee-27a91849555f
@@ -4733,6 +5236,35 @@ components:
4733
5236
  PUT.
4734
5237
  example: true
4735
5238
  type: boolean
5239
+ blocked:
5240
+ description: >-
5241
+ Whether a Toll-Free Verification is blocked. This attribute will only be
5242
+ defined when the number is blocked. (Not Available Until 5/28/2025)
5243
+ example: true
5244
+ type: boolean
5245
+ blockedReason:
5246
+ description: >-
5247
+ The reason why the Toll-Free Verification is blocked. This attribute
5248
+ will only be defined when the number is blocked. (Not Available Until
5249
+ 5/28/2025)
5250
+ example: Toll-free number was used to send spam messages
5251
+ type: string
5252
+ privacyPolicyUrl:
5253
+ description: >-
5254
+ The Toll-Free Verification request privacy policy URL. (Not Available
5255
+ Until 5/28/2025)
5256
+ example: http://your-company.com/privacyPolicyUrl.pdf
5257
+ type: string
5258
+ termsAndConditionsUrl:
5259
+ description: >-
5260
+ The Toll-Free Verification request terms and conditions policy URL. (Not
5261
+ Available Until 5/28/2025)
5262
+ example: http://your-company.com/termsAndConditionsUrl.pdf
5263
+ type: string
5264
+ businessDBA:
5265
+ description: The company 'Doing Business As'. (Not Available Until 5/28/2025)
5266
+ example: SecondCompany Name
5267
+ type: string
4736
5268
  additionalDenialReason:
4737
5269
  properties:
4738
5270
  statusCode:
@@ -4813,6 +5345,12 @@ components:
4813
5345
  example: Any additional information
4814
5346
  isvReseller:
4815
5347
  $ref: '#/components/schemas/isvReseller'
5348
+ privacyPolicyUrl:
5349
+ $ref: '#/components/schemas/privacyPolicyUrl'
5350
+ termsAndConditionsUrl:
5351
+ $ref: '#/components/schemas/termsAndConditionsUrl'
5352
+ businessDBA:
5353
+ $ref: '#/components/schemas/businessDBA'
4816
5354
  verificationUpdateRequest:
4817
5355
  type: object
4818
5356
  required:
@@ -4846,6 +5384,12 @@ components:
4846
5384
  $ref: '#/components/schemas/additionalInformation'
4847
5385
  isvReseller:
4848
5386
  $ref: '#/components/schemas/isvReseller'
5387
+ privacyPolicyUrl:
5388
+ $ref: '#/components/schemas/privacyPolicyUrl'
5389
+ termsAndConditionsUrl:
5390
+ $ref: '#/components/schemas/termsAndConditionsUrl'
5391
+ businessDBA:
5392
+ $ref: '#/components/schemas/businessDBA'
4849
5393
  tfvBasicAuthentication:
4850
5394
  type: object
4851
5395
  properties:
@@ -4924,6 +5468,10 @@ components:
4924
5468
  $ref: '#/components/schemas/resubmitAllowed'
4925
5469
  status:
4926
5470
  $ref: '#/components/schemas/tfvUnverifiedStatus'
5471
+ blocked:
5472
+ $ref: '#/components/schemas/blocked'
5473
+ blockedReason:
5474
+ $ref: '#/components/schemas/blockedReason'
4927
5475
  verificationWebhook:
4928
5476
  type: object
4929
5477
  properties:
@@ -5006,6 +5554,7 @@ components:
5006
5554
  minLength: 0
5007
5555
  maxLength: 500
5008
5556
  nullable: true
5557
+ example: Any additional information
5009
5558
  optInWorkflow:
5010
5559
  type: object
5011
5560
  nullable: false
@@ -5267,6 +5816,10 @@ components:
5267
5816
  example: '2021-06-08T06:45:13.0Z'
5268
5817
  submission:
5269
5818
  $ref: '#/components/schemas/tfvSubmissionInfo'
5819
+ blocked:
5820
+ $ref: '#/components/schemas/blocked'
5821
+ blockedReason:
5822
+ $ref: '#/components/schemas/blockedReason'
5270
5823
  tfvSubmissionInfo:
5271
5824
  type: object
5272
5825
  properties:
@@ -5292,14 +5845,18 @@ components:
5292
5845
  $ref: '#/components/schemas/additionalInformation'
5293
5846
  isvReseller:
5294
5847
  $ref: '#/components/schemas/isvReseller'
5848
+ privacyPolicyUrl:
5849
+ $ref: '#/components/schemas/privacyPolicyUrl'
5850
+ termsAndConditionsUrl:
5851
+ $ref: '#/components/schemas/termsAndConditionsUrl'
5852
+ businessDBA:
5853
+ $ref: '#/components/schemas/businessDBA'
5295
5854
  tfvStatusEnum:
5296
5855
  type: string
5297
5856
  enum:
5298
5857
  - VERIFIED
5299
5858
  - UNVERIFIED
5300
5859
  - PENDING
5301
- - PARTIALLY_VERIFIED
5302
- - INVALID_STATUS
5303
5860
  example: VERIFIED
5304
5861
  sharedSecretKey:
5305
5862
  description: >-
@@ -5318,6 +5875,12 @@ components:
5318
5875
  application/json:
5319
5876
  schema:
5320
5877
  $ref: '#/components/schemas/message'
5878
+ createMultiChannelMessageResponse:
5879
+ description: Accepted
5880
+ content:
5881
+ application/json:
5882
+ schema:
5883
+ $ref: '#/components/schemas/createMultiChannelMessageResponse'
5321
5884
  listMessagesResponse:
5322
5885
  description: OK
5323
5886
  content:
@@ -6577,6 +7140,12 @@ components:
6577
7140
  schema:
6578
7141
  $ref: '#/components/schemas/messageRequest'
6579
7142
  required: true
7143
+ createMultiChannelMessageRequest:
7144
+ content:
7145
+ application/json:
7146
+ schema:
7147
+ $ref: '#/components/schemas/multiChannelMessageRequest'
7148
+ required: true
6580
7149
  uploadMediaRequest:
6581
7150
  content:
6582
7151
  application/json:
@@ -6978,6 +7547,19 @@ components:
6978
7547
  responses:
6979
7548
  '200':
6980
7549
  description: OK
7550
+ multiChannelMessageCallback:
7551
+ '{multiChannelMessageCallbackUrl}':
7552
+ post:
7553
+ requestBody:
7554
+ required: true
7555
+ description: Status Callback Payload
7556
+ content:
7557
+ application/json:
7558
+ schema:
7559
+ $ref: '#/components/schemas/multiChannelCallbackData'
7560
+ responses:
7561
+ '204':
7562
+ description: No Content
6981
7563
  tfVerificationStatus:
6982
7564
  your_url.com/webhookService:
6983
7565
  post: