Skip to content

Commit 93fe80b

Browse files
authored
SWI-8645 Fix Multi-Channel Messaging Schemas (#187)
* SWI-8645 Fix Multi-Channel Messaging Schemas * api unit tests * api smoke test
1 parent e575eba commit 93fe80b

37 files changed

+2521
-202
lines changed

.openapi-generator/FILES

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,22 @@ docs/MmsMessageContentFile.md
102102
docs/MultiChannelAction.md
103103
docs/MultiChannelActionCalendarEvent.md
104104
docs/MultiChannelApi.md
105-
docs/MultiChannelChannelListObject.md
106-
docs/MultiChannelChannelListObjectContent.md
105+
docs/MultiChannelChannelListMMSObject.md
106+
docs/MultiChannelChannelListMMSResponseObject.md
107+
docs/MultiChannelChannelListObjectBase.md
108+
docs/MultiChannelChannelListOwnerObject.md
109+
docs/MultiChannelChannelListRBMObject.md
110+
docs/MultiChannelChannelListRBMObjectAllOfContent.md
111+
docs/MultiChannelChannelListRBMResponseObject.md
112+
docs/MultiChannelChannelListRequestObject.md
113+
docs/MultiChannelChannelListResponseObject.md
114+
docs/MultiChannelChannelListSMSObject.md
115+
docs/MultiChannelChannelListSMSResponseObject.md
107116
docs/MultiChannelError.md
108117
docs/MultiChannelMessageChannelEnum.md
109118
docs/MultiChannelMessageContent.md
110119
docs/MultiChannelMessageRequest.md
111120
docs/MultiChannelMessageResponseData.md
112-
docs/MultiChannelMessageResponseDataChannelListInner.md
113121
docs/OptInWorkflow.md
114122
docs/PageInfo.md
115123
docs/PhoneNumberLookupApi.md
@@ -289,14 +297,22 @@ lib/bandwidth-sdk/models/mms_message_content.rb
289297
lib/bandwidth-sdk/models/mms_message_content_file.rb
290298
lib/bandwidth-sdk/models/multi_channel_action.rb
291299
lib/bandwidth-sdk/models/multi_channel_action_calendar_event.rb
292-
lib/bandwidth-sdk/models/multi_channel_channel_list_object.rb
293-
lib/bandwidth-sdk/models/multi_channel_channel_list_object_content.rb
300+
lib/bandwidth-sdk/models/multi_channel_channel_list_mms_object.rb
301+
lib/bandwidth-sdk/models/multi_channel_channel_list_mms_response_object.rb
302+
lib/bandwidth-sdk/models/multi_channel_channel_list_object_base.rb
303+
lib/bandwidth-sdk/models/multi_channel_channel_list_owner_object.rb
304+
lib/bandwidth-sdk/models/multi_channel_channel_list_rbm_object.rb
305+
lib/bandwidth-sdk/models/multi_channel_channel_list_rbm_object_all_of_content.rb
306+
lib/bandwidth-sdk/models/multi_channel_channel_list_rbm_response_object.rb
307+
lib/bandwidth-sdk/models/multi_channel_channel_list_request_object.rb
308+
lib/bandwidth-sdk/models/multi_channel_channel_list_response_object.rb
309+
lib/bandwidth-sdk/models/multi_channel_channel_list_sms_object.rb
310+
lib/bandwidth-sdk/models/multi_channel_channel_list_sms_response_object.rb
294311
lib/bandwidth-sdk/models/multi_channel_error.rb
295312
lib/bandwidth-sdk/models/multi_channel_message_channel_enum.rb
296313
lib/bandwidth-sdk/models/multi_channel_message_content.rb
297314
lib/bandwidth-sdk/models/multi_channel_message_request.rb
298315
lib/bandwidth-sdk/models/multi_channel_message_response_data.rb
299-
lib/bandwidth-sdk/models/multi_channel_message_response_data_channel_list_inner.rb
300316
lib/bandwidth-sdk/models/opt_in_workflow.rb
301317
lib/bandwidth-sdk/models/page_info.rb
302318
lib/bandwidth-sdk/models/priority_enum.rb

README.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,14 +253,22 @@ Class | Method | HTTP request | Description
253253
- [Bandwidth::MmsMessageContentFile](docs/MmsMessageContentFile.md)
254254
- [Bandwidth::MultiChannelAction](docs/MultiChannelAction.md)
255255
- [Bandwidth::MultiChannelActionCalendarEvent](docs/MultiChannelActionCalendarEvent.md)
256-
- [Bandwidth::MultiChannelChannelListObject](docs/MultiChannelChannelListObject.md)
257-
- [Bandwidth::MultiChannelChannelListObjectContent](docs/MultiChannelChannelListObjectContent.md)
256+
- [Bandwidth::MultiChannelChannelListMMSObject](docs/MultiChannelChannelListMMSObject.md)
257+
- [Bandwidth::MultiChannelChannelListMMSResponseObject](docs/MultiChannelChannelListMMSResponseObject.md)
258+
- [Bandwidth::MultiChannelChannelListObjectBase](docs/MultiChannelChannelListObjectBase.md)
259+
- [Bandwidth::MultiChannelChannelListOwnerObject](docs/MultiChannelChannelListOwnerObject.md)
260+
- [Bandwidth::MultiChannelChannelListRBMObject](docs/MultiChannelChannelListRBMObject.md)
261+
- [Bandwidth::MultiChannelChannelListRBMObjectAllOfContent](docs/MultiChannelChannelListRBMObjectAllOfContent.md)
262+
- [Bandwidth::MultiChannelChannelListRBMResponseObject](docs/MultiChannelChannelListRBMResponseObject.md)
263+
- [Bandwidth::MultiChannelChannelListRequestObject](docs/MultiChannelChannelListRequestObject.md)
264+
- [Bandwidth::MultiChannelChannelListResponseObject](docs/MultiChannelChannelListResponseObject.md)
265+
- [Bandwidth::MultiChannelChannelListSMSObject](docs/MultiChannelChannelListSMSObject.md)
266+
- [Bandwidth::MultiChannelChannelListSMSResponseObject](docs/MultiChannelChannelListSMSResponseObject.md)
258267
- [Bandwidth::MultiChannelError](docs/MultiChannelError.md)
259268
- [Bandwidth::MultiChannelMessageChannelEnum](docs/MultiChannelMessageChannelEnum.md)
260269
- [Bandwidth::MultiChannelMessageContent](docs/MultiChannelMessageContent.md)
261270
- [Bandwidth::MultiChannelMessageRequest](docs/MultiChannelMessageRequest.md)
262271
- [Bandwidth::MultiChannelMessageResponseData](docs/MultiChannelMessageResponseData.md)
263-
- [Bandwidth::MultiChannelMessageResponseDataChannelListInner](docs/MultiChannelMessageResponseDataChannelListInner.md)
264272
- [Bandwidth::OptInWorkflow](docs/OptInWorkflow.md)
265273
- [Bandwidth::PageInfo](docs/PageInfo.md)
266274
- [Bandwidth::PriorityEnum](docs/PriorityEnum.md)

bandwidth.yml

Lines changed: 78 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2490,7 +2490,7 @@ components:
24902490
$ref: '#/components/schemas/multiChannelAction'
24912491
maxItems: 11
24922492
multiChannelAction:
2493-
oneOf:
2493+
anyOf:
24942494
- $ref: '#/components/schemas/rbmActionBase'
24952495
- $ref: '#/components/schemas/rbmActionDial'
24962496
- $ref: '#/components/schemas/rbmActionViewLocation'
@@ -2505,7 +2505,7 @@ components:
25052505
CREATE_CALENDAR_EVENT: '#/components/schemas/multiChannelActionCalendarEvent'
25062506
OPEN_URL: '#/components/schemas/rbmActionOpenUrl'
25072507
REQUEST_LOCATION: '#/components/schemas/rbmActionBase'
2508-
multiChannelChannelListObject:
2508+
multiChannelChannelListObjectBase:
25092509
type: object
25102510
properties:
25112511
from:
@@ -2514,19 +2514,85 @@ components:
25142514
$ref: '#/components/schemas/applicationId'
25152515
channel:
25162516
$ref: '#/components/schemas/multiChannelMessageChannelEnum'
2517-
content:
2518-
description: The content of the message.
2519-
oneOf:
2520-
- $ref: '#/components/schemas/rbmMessageContentText'
2521-
- $ref: '#/components/schemas/rbmMessageMedia'
2522-
- $ref: '#/components/schemas/rbmMessageContentRichCard'
2523-
- $ref: '#/components/schemas/smsMessageContent'
2524-
- $ref: '#/components/schemas/mmsMessageContent'
25252517
required:
25262518
- from
25272519
- applicationId
25282520
- channel
2521+
multiChannelChannelListRBMObject:
2522+
allOf:
2523+
- $ref: '#/components/schemas/multiChannelChannelListObjectBase'
2524+
- type: object
2525+
properties:
2526+
content:
2527+
description: The content of the message.
2528+
oneOf:
2529+
- $ref: '#/components/schemas/rbmMessageContentText'
2530+
- $ref: '#/components/schemas/rbmMessageMedia'
2531+
- $ref: '#/components/schemas/rbmMessageContentRichCard'
2532+
required:
25292533
- content
2534+
multiChannelChannelListSMSObject:
2535+
allOf:
2536+
- $ref: '#/components/schemas/multiChannelChannelListObjectBase'
2537+
- type: object
2538+
properties:
2539+
content:
2540+
$ref: '#/components/schemas/smsMessageContent'
2541+
required:
2542+
- content
2543+
multiChannelChannelListMMSObject:
2544+
allOf:
2545+
- $ref: '#/components/schemas/multiChannelChannelListObjectBase'
2546+
- type: object
2547+
properties:
2548+
content:
2549+
$ref: '#/components/schemas/mmsMessageContent'
2550+
required:
2551+
- content
2552+
multiChannelChannelListRBMResponseObject:
2553+
allOf:
2554+
- $ref: '#/components/schemas/multiChannelChannelListRBMObject'
2555+
- $ref: '#/components/schemas/multiChannelChannelListOwnerObject'
2556+
multiChannelChannelListSMSResponseObject:
2557+
allOf:
2558+
- $ref: '#/components/schemas/multiChannelChannelListSMSObject'
2559+
- $ref: '#/components/schemas/multiChannelChannelListOwnerObject'
2560+
multiChannelChannelListMMSResponseObject:
2561+
allOf:
2562+
- $ref: '#/components/schemas/multiChannelChannelListMMSObject'
2563+
- $ref: '#/components/schemas/multiChannelChannelListOwnerObject'
2564+
multiChannelChannelListRequestObject:
2565+
anyOf:
2566+
- $ref: '#/components/schemas/multiChannelChannelListRBMObject'
2567+
- $ref: '#/components/schemas/multiChannelChannelListSMSObject'
2568+
- $ref: '#/components/schemas/multiChannelChannelListMMSObject'
2569+
discriminator:
2570+
propertyName: channel
2571+
mapping:
2572+
RBM: '#/components/schemas/multiChannelChannelListRBMObject'
2573+
SMS: '#/components/schemas/multiChannelChannelListSMSObject'
2574+
MMS: '#/components/schemas/multiChannelChannelListMMSObject'
2575+
multiChannelChannelListOwnerObject:
2576+
type: object
2577+
properties:
2578+
owner:
2579+
type: string
2580+
description: >-
2581+
The Bandwidth senderId associated with the message. Identical to
2582+
'from'.
2583+
required:
2584+
- owner
2585+
multiChannelChannelListResponseObject:
2586+
anyOf:
2587+
- $ref: '#/components/schemas/multiChannelChannelListRBMResponseObject'
2588+
- $ref: '#/components/schemas/multiChannelChannelListSMSResponseObject'
2589+
- $ref: '#/components/schemas/multiChannelChannelListMMSResponseObject'
2590+
discriminator:
2591+
propertyName: channel
2592+
mapping:
2593+
RBM: '#/components/schemas/multiChannelChannelListRBMResponseObject'
2594+
SMS: '#/components/schemas/multiChannelChannelListSMSResponseObject'
2595+
MMS: '#/components/schemas/multiChannelChannelListMMSResponseObject'
25302596
multiChannelMessageRequest:
25312597
description: Multi-Channel Message Request
25322598
type: object
@@ -2540,7 +2606,7 @@ components:
25402606
order they are listed. Once a message sends successfully, the others
25412607
will be ignored.
25422608
items:
2543-
$ref: '#/components/schemas/multiChannelChannelListObject'
2609+
$ref: '#/components/schemas/multiChannelChannelListRequestObject'
25442610
maxItems: 4
25452611
tag:
25462612
$ref: '#/components/schemas/tag'
@@ -2573,17 +2639,7 @@ components:
25732639
order they are listed. Once a message sends successfully, the others
25742640
will be ignored.
25752641
items:
2576-
allOf:
2577-
- $ref: '#/components/schemas/multiChannelChannelListObject'
2578-
- type: object
2579-
properties:
2580-
owner:
2581-
type: string
2582-
description: >-
2583-
The Bandwidth senderId associated with the message.
2584-
Identical to 'from'.
2585-
required:
2586-
- owner
2642+
$ref: '#/components/schemas/multiChannelChannelListResponseObject'
25872643
maxItems: 4
25882644
tag:
25892645
$ref: '#/components/schemas/tag'

docs/MultiChannelAction.md

Lines changed: 32 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,40 @@
11
# Bandwidth::MultiChannelAction
22

3-
## Class instance methods
4-
5-
### `openapi_one_of`
6-
7-
Returns the list of classes defined in oneOf.
8-
9-
#### Example
10-
11-
```ruby
12-
require 'bandwidth-sdk'
13-
14-
Bandwidth::MultiChannelAction.openapi_one_of
15-
# =>
16-
# [
17-
# :'MultiChannelActionCalendarEvent',
18-
# :'RbmActionBase',
19-
# :'RbmActionDial',
20-
# :'RbmActionOpenUrl',
21-
# :'RbmActionViewLocation'
22-
# ]
23-
```
24-
25-
### `openapi_discriminator_name`
26-
27-
Returns the discriminator's property name.
28-
29-
#### Example
30-
31-
```ruby
32-
require 'bandwidth-sdk'
33-
34-
Bandwidth::MultiChannelAction.openapi_discriminator_name
35-
# => :'type'
36-
```
37-
38-
### `openapi_discriminator_name`
39-
40-
Returns the discriminator's mapping.
41-
42-
#### Example
43-
44-
```ruby
45-
require 'bandwidth-sdk'
46-
47-
Bandwidth::MultiChannelAction.openapi_discriminator_mapping
48-
# =>
49-
# {
50-
# :'CREATE_CALENDAR_EVENT' => :'MultiChannelActionCalendarEvent',
51-
# :'DIAL_PHONE' => :'RbmActionDial',
52-
# :'OPEN_URL' => :'RbmActionOpenUrl',
53-
# :'REPLY' => :'RbmActionBase',
54-
# :'REQUEST_LOCATION' => :'RbmActionBase',
55-
# :'SHOW_LOCATION' => :'RbmActionViewLocation'
56-
# }
57-
```
58-
59-
### build
60-
61-
Find the appropriate object from the `openapi_one_of` list and casts the data into it.
62-
63-
#### Example
3+
## Properties
4+
5+
| Name | Type | Description | Notes |
6+
| ---- | ---- | ----------- | ----- |
7+
| **type** | [**RbmActionTypeEnum**](RbmActionTypeEnum.md) | | |
8+
| **text** | **String** | Displayed text for user to click | |
9+
| **postback_data** | **String** | Base64 payload the customer receives when the reply is clicked. | |
10+
| **phone_number** | **String** | The phone number to dial. Must be E164 format. | |
11+
| **latitude** | **Float** | The latitude of the location. | |
12+
| **longitude** | **Float** | The longitude of the location. | |
13+
| **label** | **String** | The label of the location. | [optional] |
14+
| **title** | **String** | The title of the event. | |
15+
| **start_time** | **Time** | The start time of the event. | |
16+
| **end_time** | **Time** | The end time of the event. | |
17+
| **description** | **String** | The description of the event. | [optional] |
18+
| **url** | **String** | The URL to open in browser. | |
19+
20+
## Example
6421

6522
```ruby
6623
require 'bandwidth-sdk'
6724

68-
Bandwidth::MultiChannelAction.build(data)
69-
# => #<MultiChannelActionCalendarEvent:0x00007fdd4aab02a0>
70-
71-
Bandwidth::MultiChannelAction.build(data_that_doesnt_match)
72-
# => nil
25+
instance = Bandwidth::MultiChannelAction.new(
26+
type: null,
27+
text: Hello world,
28+
postback_data: U0dWc2JHOGdkMjl5YkdRPQ&#x3D;&#x3D;,
29+
phone_number: +15552223333,
30+
latitude: 37.7749,
31+
longitude: -122.4194,
32+
label: San Francisco,
33+
title: Meeting with John,
34+
start_time: 2022-09-14T18:20:16Z,
35+
end_time: 2022-09-14T18:20:16Z,
36+
description: Discuss the new project,
37+
url: https://dev.bandwidth.com
38+
)
7339
```
7440

75-
#### Parameters
76-
77-
| Name | Type | Description |
78-
| ---- | ---- | ----------- |
79-
| **data** | **Mixed** | data to be matched against the list of oneOf items |
80-
81-
#### Return type
82-
83-
- `MultiChannelActionCalendarEvent`
84-
- `RbmActionBase`
85-
- `RbmActionDial`
86-
- `RbmActionOpenUrl`
87-
- `RbmActionViewLocation`
88-
- `nil` (if no type matches)
89-

docs/MultiChannelApi.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ end
2929

3030
api_instance = Bandwidth::MultiChannelApi.new
3131
account_id = '9900000' # String | Your Bandwidth Account ID.
32-
multi_channel_message_request = Bandwidth::MultiChannelMessageRequest.new({to: '+15552223333', channel_list: [Bandwidth::MultiChannelChannelListObject.new({from: 'BandwidthRBM', application_id: '93de2206-9669-4e07-948d-329f4b722ee2', channel: Bandwidth::MultiChannelMessageChannelEnum::RBM, content: Bandwidth::MmsMessageContent.new})]}) # MultiChannelMessageRequest |
32+
multi_channel_message_request = Bandwidth::MultiChannelMessageRequest.new({to: '+15552223333', channel_list: [Bandwidth::MultiChannelChannelListRequestObject.new({from: 'BandwidthRBM', application_id: '93de2206-9669-4e07-948d-329f4b722ee2', channel: Bandwidth::MultiChannelMessageChannelEnum::RBM, content: Bandwidth::MmsMessageContent.new})]}) # MultiChannelMessageRequest |
3333

3434
begin
3535
# Create Multi-Channel Message

docs/MultiChannelChannelListObject.md renamed to docs/MultiChannelChannelListMMSObject.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Bandwidth::MultiChannelChannelListObject
1+
# Bandwidth::MultiChannelChannelListMMSObject
22

33
## Properties
44

@@ -7,14 +7,14 @@
77
| **from** | **String** | The sender ID of the message. This could be an alphanumeric sender ID. | |
88
| **application_id** | **String** | The ID of the Application your from number or senderId is associated with in the Bandwidth Phone Number Dashboard. | |
99
| **channel** | [**MultiChannelMessageChannelEnum**](MultiChannelMessageChannelEnum.md) | | |
10-
| **content** | [**MultiChannelChannelListObjectContent**](MultiChannelChannelListObjectContent.md) | | |
10+
| **content** | [**MmsMessageContent**](MmsMessageContent.md) | | |
1111

1212
## Example
1313

1414
```ruby
1515
require 'bandwidth-sdk'
1616

17-
instance = Bandwidth::MultiChannelChannelListObject.new(
17+
instance = Bandwidth::MultiChannelChannelListMMSObject.new(
1818
from: BandwidthRBM,
1919
application_id: 93de2206-9669-4e07-948d-329f4b722ee2,
2020
channel: null,

docs/MultiChannelMessageResponseDataChannelListInner.md renamed to docs/MultiChannelChannelListMMSResponseObject.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Bandwidth::MultiChannelMessageResponseDataChannelListInner
1+
# Bandwidth::MultiChannelChannelListMMSResponseObject
22

33
## Properties
44

@@ -7,15 +7,15 @@
77
| **from** | **String** | The sender ID of the message. This could be an alphanumeric sender ID. | |
88
| **application_id** | **String** | The ID of the Application your from number or senderId is associated with in the Bandwidth Phone Number Dashboard. | |
99
| **channel** | [**MultiChannelMessageChannelEnum**](MultiChannelMessageChannelEnum.md) | | |
10-
| **content** | [**MultiChannelChannelListObjectContent**](MultiChannelChannelListObjectContent.md) | | |
10+
| **content** | [**MmsMessageContent**](MmsMessageContent.md) | | |
1111
| **owner** | **String** | The Bandwidth senderId associated with the message. Identical to &#39;from&#39;. | |
1212

1313
## Example
1414

1515
```ruby
1616
require 'bandwidth-sdk'
1717

18-
instance = Bandwidth::MultiChannelMessageResponseDataChannelListInner.new(
18+
instance = Bandwidth::MultiChannelChannelListMMSResponseObject.new(
1919
from: BandwidthRBM,
2020
application_id: 93de2206-9669-4e07-948d-329f4b722ee2,
2121
channel: null,

0 commit comments

Comments
 (0)