From 57c3751c3206ec706a430010fee899204839748f Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 2 Jun 2026 15:26:54 +0000 Subject: [PATCH] Generate SDK with OpenAPI Generator Version --- api/openapi.yaml | 113 ++++++++++++------ bandwidth.yml | 81 +++++++++---- docs/MultiChannelAction.md | 10 +- docs/MultiChannelActionCalendarEvent.md | 4 +- ...ChannelChannelListRBMObjectAllOfContent.md | 2 +- docs/RbmActionOpenUrl.md | 2 +- docs/RbmActionViewLocation.md | 4 +- docs/RbmCardContent.md | 1 + docs/RbmMessageContentRichCard.md | 2 +- docs/RbmStandaloneCard.md | 2 +- docs/TfvStatus.md | 2 + .../MultiChannelActionCalendarEvent.java | 4 +- .../bandwidth/sdk/model/RbmActionOpenUrl.java | 2 +- .../sdk/model/RbmActionViewLocation.java | 4 +- .../bandwidth/sdk/model/RbmCardContent.java | 2 +- .../sdk/model/RbmStandaloneCard.java | 16 +-- .../bandwidth/sdk/model/RbmWebViewEnum.java | 2 +- .../com/bandwidth/sdk/model/TfvStatus.java | 81 ++++++++++++- .../sdk/model/ThumbnailAlignmentEnum.java | 2 +- 19 files changed, 247 insertions(+), 89 deletions(-) diff --git a/api/openapi.yaml b/api/openapi.yaml index f553c016..e2120313 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -9998,6 +9998,8 @@ components: title: RBM Media type: object rbmCardContent: + description: "Must contain at least one of title, description, or media to be\ + \ valid." properties: title: description: The title of the card. Must be 200 characters or less. @@ -10036,7 +10038,6 @@ components: required: - cardContent - orientation - - thumbnailImageAlignment title: Standalone Card type: object standaloneCardOrientationEnum: @@ -10046,8 +10047,8 @@ components: example: VERTICAL type: string thumbnailAlignmentEnum: - description: The alignment of the thumbnail image in the card. Only applicable - if the card using horizontal orientation. + description: The alignment of the thumbnail image in the card. Required when + orientation is HORIZONTAL. enum: - LEFT - RIGHT @@ -10061,6 +10062,7 @@ components: items: $ref: "#/components/schemas/rbmCardContent" maxItems: 10 + minItems: 2 type: array suggestions: description: An array of suggested actions for the recipient. @@ -10132,7 +10134,9 @@ components: type: string rbmWebViewEnum: description: |- - Defines the layout of the WebView on a mobile device. It must be defined when application is set to `WEBVIEW` + Defines the layout of the WebView on a mobile device. It must be defined + when application is set to `WEBVIEW` and must not be set when application + is set to `BROWSER`. - `FULL` WebView takes the full screen. - `HALF` WebView takes half of the screen. - `TALL` WebView takes three-quarters of the screen. @@ -10200,12 +10204,14 @@ components: - $ref: "#/components/schemas/rbmActionBase" - properties: latitude: - description: The latitude of the location. + description: "The latitude of the location. Must be in range [-90.000000,\ + \ 90.000000]." example: "37.7749" format: double type: string longitude: - description: The longitude of the location. + description: "The longitude of the location. Must be in range [-180.000000,\ + \ 180.000000]." example: "-122.4194" format: double type: string @@ -10229,12 +10235,14 @@ components: maxLength: 100 type: string startTime: - description: The start time of the event. + description: "The start time of the event. Must be a valid RFC-3339 value,\ + \ e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00." example: 2022-09-14T18:20:16Z format: date-time type: string endTime: - description: The end time of the event. + description: "The end time of the event. Must be a valid RFC-3339 value,\ + \ e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00." example: 2022-09-14T18:20:16Z format: date-time type: string @@ -10254,7 +10262,8 @@ components: - $ref: "#/components/schemas/rbmActionBase" - properties: url: - description: The URL to open in browser. + description: The URL to open in browser. Must use http:// or https:// + scheme. example: https://dev.bandwidth.com format: uri maxLength: 2048 @@ -14820,11 +14829,38 @@ components: description: Reason code for denial. example: 511 type: integer + denialStatusCodeNullable: + description: Reason code for denial. + example: 511 + nullable: true + type: integer resubmitAllowed: description: Whether a Toll-Free Verification request qualifies for resubmission via PUT. example: true type: boolean + additionalDenialReason: + properties: + statusCode: + description: Reason code for denial. + example: 511 + type: integer + reason: + description: Explanation for why a verification request was declined. + example: Invalid Information - Can't Validate URL - Website is not accessible + / not available + nullable: false + type: string + resubmitAllowed: + description: Whether a Toll-Free Verification request qualifies for resubmission + via PUT. + example: true + type: boolean + required: + - reason + - resubmitAllowed + - statusCode + type: object blocked: description: Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. @@ -14943,28 +14979,6 @@ components: description: Indicates whether the content is age-gated. example: false type: boolean - additionalDenialReason: - properties: - statusCode: - description: Reason code for denial. - example: 511 - type: integer - reason: - description: Explanation for why a verification request was declined. - example: Invalid Information - Can't Validate URL - Website is not accessible - / not available - nullable: false - type: string - resubmitAllowed: - description: Whether a Toll-Free Verification request qualifies for resubmission - via PUT. - example: true - type: boolean - required: - - reason - - resubmitAllowed - - statusCode - type: object internalTicketNumber: description: Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number - included in all webhook payloads. @@ -15868,12 +15882,22 @@ components: type: object tfvStatus: example: - internalTicketNumber: acde070d-8c4c-4f0d-9d8a-162843c10333 - phoneNumber: "+18005555555" - blocked: true blockedReason: Toll-free number was used to send spam messages resubmitAllowed: true createdDateTime: 2021-06-08T06:45:13Z + declineReasonDescription: Invalid Information - Can't Validate URL - Website + is not accessible / not available + internalTicketNumber: acde070d-8c4c-4f0d-9d8a-162843c10333 + phoneNumber: "+18005555555" + blocked: true + denialStatusCode: 511 + additionalDenialReasons: + - statusCode: 512 + reason: Reason A + resubmitAllowed: true + - statusCode: 513 + reason: Reason B + resubmitAllowed: true modifiedDateTime: 2021-06-08T06:45:13Z submission: additionalInformation: Any additional information @@ -15908,8 +15932,6 @@ components: state: NC url: https://www.example.com/path/to/resource useCaseSummary: Text summarizing the use case for the toll-free number - declineReasonDescription: Invalid Information - Can't Validate URL - Website - is not accessible / not available cvToken: cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw status: VERIFIED properties: @@ -15935,6 +15957,25 @@ components: / not available nullable: false type: string + denialStatusCode: + description: Reason code for denial. + example: 511 + nullable: true + type: integer + additionalDenialReasons: + description: An optional list of denial reasons in addition to declineReasonDescription + when multiple reasons apply. + example: + - statusCode: 512 + reason: Reason A + resubmitAllowed: true + - statusCode: 513 + reason: Reason B + resubmitAllowed: true + items: + $ref: "#/components/schemas/additionalDenialReason" + nullable: true + type: array resubmitAllowed: description: Whether a Toll-Free Verification request qualifies for resubmission via PUT. diff --git a/bandwidth.yml b/bandwidth.yml index 84e00b33..5e2bc9b3 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -2436,6 +2436,7 @@ components: - media rbmCardContent: type: object + description: Must contain at least one of title, description, or media to be valid. properties: title: type: string @@ -2478,7 +2479,6 @@ components: $ref: '#/components/schemas/multiChannelFullActions' required: - orientation - - thumbnailImageAlignment - cardContent standaloneCardOrientationEnum: type: string @@ -2489,8 +2489,8 @@ components: thumbnailAlignmentEnum: type: string description: >- - The alignment of the thumbnail image in the card. Only applicable if the - card using horizontal orientation. + The alignment of the thumbnail image in the card. Required when + orientation is HORIZONTAL. enum: - LEFT - RIGHT @@ -2505,6 +2505,7 @@ components: type: array items: $ref: '#/components/schemas/rbmCardContent' + minItems: 2 maxItems: 10 suggestions: $ref: '#/components/schemas/multiChannelFullActions' @@ -2568,7 +2569,11 @@ components: type: string description: >- Defines the layout of the WebView on a mobile device. It must be defined - when application is set to `WEBVIEW` + + when application is set to `WEBVIEW` and must not be set when + application + + is set to `BROWSER`. - `FULL` WebView takes the full screen. @@ -2626,12 +2631,16 @@ components: latitude: type: string format: double - description: The latitude of the location. + description: >- + The latitude of the location. Must be in range [-90.000000, + 90.000000]. example: '37.7749' longitude: type: string format: double - description: The longitude of the location. + description: >- + The longitude of the location. Must be in range [-180.000000, + 180.000000]. example: '-122.4194' label: type: string @@ -2655,12 +2664,16 @@ components: startTime: type: string format: date-time - description: The start time of the event. + description: >- + The start time of the event. Must be a valid RFC-3339 value, + e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. example: 2022-09-14T18:20:16.000Z endTime: type: string format: date-time - description: The end time of the event. + description: >- + The end time of the event. Must be a valid RFC-3339 value, e.g., + 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. example: 2022-09-14T18:20:16.000Z description: type: string @@ -2680,7 +2693,7 @@ components: url: type: string format: uri - description: The URL to open in browser. + description: The URL to open in browser. Must use http:// or https:// scheme. example: https://dev.bandwidth.com maxLength: 2048 application: @@ -6021,12 +6034,30 @@ components: description: Reason code for denial. type: integer example: 511 + denialStatusCodeNullable: + description: Reason code for denial. + nullable: true + type: integer + example: 511 resubmitAllowed: description: >- Whether a Toll-Free Verification request qualifies for resubmission via PUT. example: true type: boolean + additionalDenialReason: + type: object + properties: + statusCode: + $ref: '#/components/schemas/denialStatusCode' + reason: + $ref: '#/components/schemas/declineReasonDescription' + resubmitAllowed: + $ref: '#/components/schemas/resubmitAllowed' + required: + - statusCode + - reason + - resubmitAllowed blocked: description: >- Whether a Toll-Free Verification is blocked. This attribute will only be @@ -6181,19 +6212,6 @@ components: type: boolean description: Indicates whether the content is age-gated. example: false - additionalDenialReason: - properties: - statusCode: - $ref: '#/components/schemas/denialStatusCode' - reason: - $ref: '#/components/schemas/declineReasonDescription' - resubmitAllowed: - $ref: '#/components/schemas/resubmitAllowed' - required: - - statusCode - - reason - - resubmitAllowed - type: object internalTicketNumber: type: string description: >- @@ -6389,6 +6407,7 @@ components: description: >- An optional list of denial reasons in addition to declineReasonDescription when multiple reasons apply. + type: array items: $ref: '#/components/schemas/additionalDenialReason' example: @@ -6398,7 +6417,6 @@ components: - statusCode: 513 reason: Reason B resubmitAllowed: true - type: array declineReasonDescription: $ref: '#/components/schemas/declineReasonDescription' denialStatusCode: @@ -6766,6 +6784,23 @@ components: $ref: '#/components/schemas/internalTicketNumber' declineReasonDescription: $ref: '#/components/schemas/declineReasonDescription' + denialStatusCode: + $ref: '#/components/schemas/denialStatusCodeNullable' + additionalDenialReasons: + description: >- + An optional list of denial reasons in addition to + declineReasonDescription when multiple reasons apply. + nullable: true + type: array + items: + $ref: '#/components/schemas/additionalDenialReason' + example: + - statusCode: 512 + reason: Reason A + resubmitAllowed: true + - statusCode: 513 + reason: Reason B + resubmitAllowed: true resubmitAllowed: $ref: '#/components/schemas/resubmitAllowed' createdDateTime: diff --git a/docs/MultiChannelAction.md b/docs/MultiChannelAction.md index d34f2786..5722238b 100644 --- a/docs/MultiChannelAction.md +++ b/docs/MultiChannelAction.md @@ -11,14 +11,14 @@ |**text** | **String** | Displayed text for user to click | | |**postbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. | | |**phoneNumber** | **String** | The phone number to dial. Must be E164 format. | | -|**latitude** | **Double** | The latitude of the location. | | -|**longitude** | **Double** | The longitude of the location. | | +|**latitude** | **Double** | The latitude of the location. Must be in range [-90.000000, 90.000000]. | | +|**longitude** | **Double** | The longitude of the location. Must be in range [-180.000000, 180.000000]. | | |**label** | **String** | The label of the location. | [optional] | |**title** | **String** | The title of the event. | | -|**startTime** | **OffsetDateTime** | The start time of the event. | | -|**endTime** | **OffsetDateTime** | The end time of the event. | | +|**startTime** | **OffsetDateTime** | The start time of the event. Must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. | | +|**endTime** | **OffsetDateTime** | The end time of the event. Must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. | | |**description** | **String** | The description of the event. | [optional] | -|**url** | **URI** | The URL to open in browser. | | +|**url** | **URI** | The URL to open in browser. Must use http:// or https:// scheme. | | |**application** | **RbmOpenUrlEnum** | | [optional] | |**webviewViewMode** | **RbmWebViewEnum** | | [optional] | diff --git a/docs/MultiChannelActionCalendarEvent.md b/docs/MultiChannelActionCalendarEvent.md index acf9dcf3..f84cebfc 100644 --- a/docs/MultiChannelActionCalendarEvent.md +++ b/docs/MultiChannelActionCalendarEvent.md @@ -11,8 +11,8 @@ |**text** | **String** | Displayed text for user to click | | |**postbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. | | |**title** | **String** | The title of the event. | | -|**startTime** | **OffsetDateTime** | The start time of the event. | | -|**endTime** | **OffsetDateTime** | The end time of the event. | | +|**startTime** | **OffsetDateTime** | The start time of the event. Must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. | | +|**endTime** | **OffsetDateTime** | The end time of the event. Must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. | | |**description** | **String** | The description of the event. | [optional] | diff --git a/docs/MultiChannelChannelListRBMObjectAllOfContent.md b/docs/MultiChannelChannelListRBMObjectAllOfContent.md index 740b8ea0..55869495 100644 --- a/docs/MultiChannelChannelListRBMObjectAllOfContent.md +++ b/docs/MultiChannelChannelListRBMObjectAllOfContent.md @@ -12,7 +12,7 @@ The content of the message. |**suggestions** | [**List<MultiChannelAction>**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional] | |**media** | [**List<RbmMessageContentFile>**](RbmMessageContentFile.md) | | | |**orientation** | **StandaloneCardOrientationEnum** | | | -|**thumbnailImageAlignment** | **ThumbnailAlignmentEnum** | | | +|**thumbnailImageAlignment** | **ThumbnailAlignmentEnum** | | [optional] | |**cardContent** | [**RbmCardContent**](RbmCardContent.md) | | | |**cardWidth** | **CardWidthEnum** | | | |**cardContents** | [**List<RbmCardContent>**](RbmCardContent.md) | | | diff --git a/docs/RbmActionOpenUrl.md b/docs/RbmActionOpenUrl.md index fe27d6b0..8059c738 100644 --- a/docs/RbmActionOpenUrl.md +++ b/docs/RbmActionOpenUrl.md @@ -10,7 +10,7 @@ |**type** | **RbmActionTypeEnum** | | | |**text** | **String** | Displayed text for user to click | | |**postbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. | | -|**url** | **URI** | The URL to open in browser. | | +|**url** | **URI** | The URL to open in browser. Must use http:// or https:// scheme. | | |**application** | **RbmOpenUrlEnum** | | [optional] | |**webviewViewMode** | **RbmWebViewEnum** | | [optional] | diff --git a/docs/RbmActionViewLocation.md b/docs/RbmActionViewLocation.md index dd57d3f8..8e00e99d 100644 --- a/docs/RbmActionViewLocation.md +++ b/docs/RbmActionViewLocation.md @@ -10,8 +10,8 @@ |**type** | **RbmActionTypeEnum** | | | |**text** | **String** | Displayed text for user to click | | |**postbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. | | -|**latitude** | **Double** | The latitude of the location. | | -|**longitude** | **Double** | The longitude of the location. | | +|**latitude** | **Double** | The latitude of the location. Must be in range [-90.000000, 90.000000]. | | +|**longitude** | **Double** | The longitude of the location. Must be in range [-180.000000, 180.000000]. | | |**label** | **String** | The label of the location. | [optional] | diff --git a/docs/RbmCardContent.md b/docs/RbmCardContent.md index 46414305..d9d40373 100644 --- a/docs/RbmCardContent.md +++ b/docs/RbmCardContent.md @@ -2,6 +2,7 @@ # RbmCardContent +Must contain at least one of title, description, or media to be valid. ## Properties diff --git a/docs/RbmMessageContentRichCard.md b/docs/RbmMessageContentRichCard.md index 52551728..52db6c58 100644 --- a/docs/RbmMessageContentRichCard.md +++ b/docs/RbmMessageContentRichCard.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**orientation** | **StandaloneCardOrientationEnum** | | | -|**thumbnailImageAlignment** | **ThumbnailAlignmentEnum** | | | +|**thumbnailImageAlignment** | **ThumbnailAlignmentEnum** | | [optional] | |**cardContent** | [**RbmCardContent**](RbmCardContent.md) | | | |**suggestions** | [**List<MultiChannelAction>**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional] | |**cardWidth** | **CardWidthEnum** | | | diff --git a/docs/RbmStandaloneCard.md b/docs/RbmStandaloneCard.md index 140aa93a..9ee3ebfd 100644 --- a/docs/RbmStandaloneCard.md +++ b/docs/RbmStandaloneCard.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**orientation** | **StandaloneCardOrientationEnum** | | | -|**thumbnailImageAlignment** | **ThumbnailAlignmentEnum** | | | +|**thumbnailImageAlignment** | **ThumbnailAlignmentEnum** | | [optional] | |**cardContent** | [**RbmCardContent**](RbmCardContent.md) | | | |**suggestions** | [**List<MultiChannelAction>**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional] | diff --git a/docs/TfvStatus.md b/docs/TfvStatus.md index 61e9c297..b0ca1db7 100644 --- a/docs/TfvStatus.md +++ b/docs/TfvStatus.md @@ -11,6 +11,8 @@ |**status** | **TfvStatusEnum** | | [optional] | |**internalTicketNumber** | **String** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number - included in all webhook payloads. | [optional] | |**declineReasonDescription** | **String** | Explanation for why a verification request was declined. | [optional] | +|**denialStatusCode** | **Integer** | Reason code for denial. | [optional] | +|**additionalDenialReasons** | [**List<AdditionalDenialReason>**](AdditionalDenialReason.md) | An optional list of denial reasons in addition to declineReasonDescription when multiple reasons apply. | [optional] | |**resubmitAllowed** | **Boolean** | Whether a Toll-Free Verification request qualifies for resubmission via PUT. | [optional] | |**createdDateTime** | **OffsetDateTime** | Date and time the verification request was created. | [optional] | |**modifiedDateTime** | **OffsetDateTime** | Date and time the verification request was last modified. | [optional] | diff --git a/src/main/java/com/bandwidth/sdk/model/MultiChannelActionCalendarEvent.java b/src/main/java/com/bandwidth/sdk/model/MultiChannelActionCalendarEvent.java index c2e9f2bc..64c14e06 100644 --- a/src/main/java/com/bandwidth/sdk/model/MultiChannelActionCalendarEvent.java +++ b/src/main/java/com/bandwidth/sdk/model/MultiChannelActionCalendarEvent.java @@ -174,7 +174,7 @@ public MultiChannelActionCalendarEvent startTime(@javax.annotation.Nonnull Offse } /** - * The start time of the event. + * The start time of the event. Must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. * @return startTime */ @javax.annotation.Nonnull @@ -193,7 +193,7 @@ public MultiChannelActionCalendarEvent endTime(@javax.annotation.Nonnull OffsetD } /** - * The end time of the event. + * The end time of the event. Must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. * @return endTime */ @javax.annotation.Nonnull diff --git a/src/main/java/com/bandwidth/sdk/model/RbmActionOpenUrl.java b/src/main/java/com/bandwidth/sdk/model/RbmActionOpenUrl.java index 99f8b4a0..a302ec52 100644 --- a/src/main/java/com/bandwidth/sdk/model/RbmActionOpenUrl.java +++ b/src/main/java/com/bandwidth/sdk/model/RbmActionOpenUrl.java @@ -152,7 +152,7 @@ public RbmActionOpenUrl url(@javax.annotation.Nonnull URI url) { } /** - * The URL to open in browser. + * The URL to open in browser. Must use http:// or https:// scheme. * @return url */ @javax.annotation.Nonnull diff --git a/src/main/java/com/bandwidth/sdk/model/RbmActionViewLocation.java b/src/main/java/com/bandwidth/sdk/model/RbmActionViewLocation.java index df95ca61..0b762256 100644 --- a/src/main/java/com/bandwidth/sdk/model/RbmActionViewLocation.java +++ b/src/main/java/com/bandwidth/sdk/model/RbmActionViewLocation.java @@ -149,7 +149,7 @@ public RbmActionViewLocation latitude(@javax.annotation.Nonnull Double latitude) } /** - * The latitude of the location. + * The latitude of the location. Must be in range [-90.000000, 90.000000]. * @return latitude */ @javax.annotation.Nonnull @@ -168,7 +168,7 @@ public RbmActionViewLocation longitude(@javax.annotation.Nonnull Double longitud } /** - * The longitude of the location. + * The longitude of the location. Must be in range [-180.000000, 180.000000]. * @return longitude */ @javax.annotation.Nonnull diff --git a/src/main/java/com/bandwidth/sdk/model/RbmCardContent.java b/src/main/java/com/bandwidth/sdk/model/RbmCardContent.java index 4f2aa932..cc63c6f8 100644 --- a/src/main/java/com/bandwidth/sdk/model/RbmCardContent.java +++ b/src/main/java/com/bandwidth/sdk/model/RbmCardContent.java @@ -52,7 +52,7 @@ import com.bandwidth.sdk.JSON; /** - * RbmCardContent + * Must contain at least one of title, description, or media to be valid. */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.17.0") public class RbmCardContent { diff --git a/src/main/java/com/bandwidth/sdk/model/RbmStandaloneCard.java b/src/main/java/com/bandwidth/sdk/model/RbmStandaloneCard.java index bad48f96..dca067ed 100644 --- a/src/main/java/com/bandwidth/sdk/model/RbmStandaloneCard.java +++ b/src/main/java/com/bandwidth/sdk/model/RbmStandaloneCard.java @@ -65,7 +65,7 @@ public class RbmStandaloneCard { public static final String SERIALIZED_NAME_THUMBNAIL_IMAGE_ALIGNMENT = "thumbnailImageAlignment"; @SerializedName(SERIALIZED_NAME_THUMBNAIL_IMAGE_ALIGNMENT) - @javax.annotation.Nonnull + @javax.annotation.Nullable private ThumbnailAlignmentEnum thumbnailImageAlignment; public static final String SERIALIZED_NAME_CARD_CONTENT = "cardContent"; @@ -100,7 +100,7 @@ public void setOrientation(@javax.annotation.Nonnull StandaloneCardOrientationEn } - public RbmStandaloneCard thumbnailImageAlignment(@javax.annotation.Nonnull ThumbnailAlignmentEnum thumbnailImageAlignment) { + public RbmStandaloneCard thumbnailImageAlignment(@javax.annotation.Nullable ThumbnailAlignmentEnum thumbnailImageAlignment) { this.thumbnailImageAlignment = thumbnailImageAlignment; return this; } @@ -109,12 +109,12 @@ public RbmStandaloneCard thumbnailImageAlignment(@javax.annotation.Nonnull Thumb * Get thumbnailImageAlignment * @return thumbnailImageAlignment */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public ThumbnailAlignmentEnum getThumbnailImageAlignment() { return thumbnailImageAlignment; } - public void setThumbnailImageAlignment(@javax.annotation.Nonnull ThumbnailAlignmentEnum thumbnailImageAlignment) { + public void setThumbnailImageAlignment(@javax.annotation.Nullable ThumbnailAlignmentEnum thumbnailImageAlignment) { this.thumbnailImageAlignment = thumbnailImageAlignment; } @@ -264,7 +264,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(Arrays.asList("orientation", "thumbnailImageAlignment", "cardContent", "suggestions")); // a set of required properties/fields (JSON key names) - openapiRequiredFields = new HashSet(Arrays.asList("orientation", "thumbnailImageAlignment", "cardContent")); + openapiRequiredFields = new HashSet(Arrays.asList("orientation", "cardContent")); } /** @@ -289,8 +289,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti JsonObject jsonObj = jsonElement.getAsJsonObject(); // validate the required field `orientation` StandaloneCardOrientationEnum.validateJsonElement(jsonObj.get("orientation")); - // validate the required field `thumbnailImageAlignment` - ThumbnailAlignmentEnum.validateJsonElement(jsonObj.get("thumbnailImageAlignment")); + // validate the optional field `thumbnailImageAlignment` + if (jsonObj.get("thumbnailImageAlignment") != null && !jsonObj.get("thumbnailImageAlignment").isJsonNull()) { + ThumbnailAlignmentEnum.validateJsonElement(jsonObj.get("thumbnailImageAlignment")); + } // validate the required field `cardContent` RbmCardContent.validateJsonElement(jsonObj.get("cardContent")); if (jsonObj.get("suggestions") != null && !jsonObj.get("suggestions").isJsonNull()) { diff --git a/src/main/java/com/bandwidth/sdk/model/RbmWebViewEnum.java b/src/main/java/com/bandwidth/sdk/model/RbmWebViewEnum.java index 66d6526a..c0950ea5 100644 --- a/src/main/java/com/bandwidth/sdk/model/RbmWebViewEnum.java +++ b/src/main/java/com/bandwidth/sdk/model/RbmWebViewEnum.java @@ -26,7 +26,7 @@ import com.google.gson.stream.JsonWriter; /** - * Defines the layout of the WebView on a mobile device. It must be defined when application is set to `WEBVIEW` - `FULL` WebView takes the full screen. - `HALF` WebView takes half of the screen. - `TALL` WebView takes three-quarters of the screen. + * Defines the layout of the WebView on a mobile device. It must be defined when application is set to `WEBVIEW` and must not be set when application is set to `BROWSER`. - `FULL` WebView takes the full screen. - `HALF` WebView takes half of the screen. - `TALL` WebView takes three-quarters of the screen. */ @JsonAdapter(RbmWebViewEnum.Adapter.class) public enum RbmWebViewEnum { diff --git a/src/main/java/com/bandwidth/sdk/model/TfvStatus.java b/src/main/java/com/bandwidth/sdk/model/TfvStatus.java index f26df3dc..fe3861dc 100644 --- a/src/main/java/com/bandwidth/sdk/model/TfvStatus.java +++ b/src/main/java/com/bandwidth/sdk/model/TfvStatus.java @@ -15,6 +15,7 @@ import java.util.Objects; import java.util.Locale; +import com.bandwidth.sdk.model.AdditionalDenialReason; import com.bandwidth.sdk.model.TfvStatusEnum; import com.bandwidth.sdk.model.TfvSubmissionInfo; import com.google.gson.TypeAdapter; @@ -24,7 +25,9 @@ import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.time.OffsetDateTime; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -76,6 +79,16 @@ public class TfvStatus { @javax.annotation.Nullable private String declineReasonDescription; + public static final String SERIALIZED_NAME_DENIAL_STATUS_CODE = "denialStatusCode"; + @SerializedName(SERIALIZED_NAME_DENIAL_STATUS_CODE) + @javax.annotation.Nullable + private Integer denialStatusCode; + + public static final String SERIALIZED_NAME_ADDITIONAL_DENIAL_REASONS = "additionalDenialReasons"; + @SerializedName(SERIALIZED_NAME_ADDITIONAL_DENIAL_REASONS) + @javax.annotation.Nullable + private List additionalDenialReasons; + public static final String SERIALIZED_NAME_RESUBMIT_ALLOWED = "resubmitAllowed"; @SerializedName(SERIALIZED_NAME_RESUBMIT_ALLOWED) @javax.annotation.Nullable @@ -190,6 +203,52 @@ public void setDeclineReasonDescription(@javax.annotation.Nullable String declin } + public TfvStatus denialStatusCode(@javax.annotation.Nullable Integer denialStatusCode) { + this.denialStatusCode = denialStatusCode; + return this; + } + + /** + * Reason code for denial. + * @return denialStatusCode + */ + @javax.annotation.Nullable + public Integer getDenialStatusCode() { + return denialStatusCode; + } + + public void setDenialStatusCode(@javax.annotation.Nullable Integer denialStatusCode) { + this.denialStatusCode = denialStatusCode; + } + + + public TfvStatus additionalDenialReasons(@javax.annotation.Nullable List additionalDenialReasons) { + this.additionalDenialReasons = additionalDenialReasons; + return this; + } + + public TfvStatus addAdditionalDenialReasonsItem(AdditionalDenialReason additionalDenialReasonsItem) { + if (this.additionalDenialReasons == null) { + this.additionalDenialReasons = new ArrayList<>(); + } + this.additionalDenialReasons.add(additionalDenialReasonsItem); + return this; + } + + /** + * An optional list of denial reasons in addition to declineReasonDescription when multiple reasons apply. + * @return additionalDenialReasons + */ + @javax.annotation.Nullable + public List getAdditionalDenialReasons() { + return additionalDenialReasons; + } + + public void setAdditionalDenialReasons(@javax.annotation.Nullable List additionalDenialReasons) { + this.additionalDenialReasons = additionalDenialReasons; + } + + public TfvStatus resubmitAllowed(@javax.annotation.Nullable Boolean resubmitAllowed) { this.resubmitAllowed = resubmitAllowed; return this; @@ -381,6 +440,8 @@ public boolean equals(Object o) { Objects.equals(this.status, tfvStatus.status) && Objects.equals(this.internalTicketNumber, tfvStatus.internalTicketNumber) && Objects.equals(this.declineReasonDescription, tfvStatus.declineReasonDescription) && + Objects.equals(this.denialStatusCode, tfvStatus.denialStatusCode) && + Objects.equals(this.additionalDenialReasons, tfvStatus.additionalDenialReasons) && Objects.equals(this.resubmitAllowed, tfvStatus.resubmitAllowed) && Objects.equals(this.createdDateTime, tfvStatus.createdDateTime) && Objects.equals(this.modifiedDateTime, tfvStatus.modifiedDateTime) && @@ -397,7 +458,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(phoneNumber, status, internalTicketNumber, declineReasonDescription, resubmitAllowed, createdDateTime, modifiedDateTime, submission, blocked, blockedReason, cvToken, additionalProperties); + return Objects.hash(phoneNumber, status, internalTicketNumber, declineReasonDescription, denialStatusCode, additionalDenialReasons, resubmitAllowed, createdDateTime, modifiedDateTime, submission, blocked, blockedReason, cvToken, additionalProperties); } private static int hashCodeNullable(JsonNullable a) { @@ -415,6 +476,8 @@ public String toString() { sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" internalTicketNumber: ").append(toIndentedString(internalTicketNumber)).append("\n"); sb.append(" declineReasonDescription: ").append(toIndentedString(declineReasonDescription)).append("\n"); + sb.append(" denialStatusCode: ").append(toIndentedString(denialStatusCode)).append("\n"); + sb.append(" additionalDenialReasons: ").append(toIndentedString(additionalDenialReasons)).append("\n"); sb.append(" resubmitAllowed: ").append(toIndentedString(resubmitAllowed)).append("\n"); sb.append(" createdDateTime: ").append(toIndentedString(createdDateTime)).append("\n"); sb.append(" modifiedDateTime: ").append(toIndentedString(modifiedDateTime)).append("\n"); @@ -444,7 +507,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) - openapiFields = new HashSet(Arrays.asList("phoneNumber", "status", "internalTicketNumber", "declineReasonDescription", "resubmitAllowed", "createdDateTime", "modifiedDateTime", "submission", "blocked", "blockedReason", "cvToken")); + openapiFields = new HashSet(Arrays.asList("phoneNumber", "status", "internalTicketNumber", "declineReasonDescription", "denialStatusCode", "additionalDenialReasons", "resubmitAllowed", "createdDateTime", "modifiedDateTime", "submission", "blocked", "blockedReason", "cvToken")); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(0); @@ -476,6 +539,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("declineReasonDescription") != null && !jsonObj.get("declineReasonDescription").isJsonNull()) && !jsonObj.get("declineReasonDescription").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(Locale.ROOT, "Expected the field `declineReasonDescription` to be a primitive type in the JSON string but got `%s`", jsonObj.get("declineReasonDescription").toString())); } + if (jsonObj.get("additionalDenialReasons") != null && !jsonObj.get("additionalDenialReasons").isJsonNull()) { + JsonArray jsonArrayadditionalDenialReasons = jsonObj.getAsJsonArray("additionalDenialReasons"); + if (jsonArrayadditionalDenialReasons != null) { + // ensure the json data is an array + if (!jsonObj.get("additionalDenialReasons").isJsonArray()) { + throw new IllegalArgumentException(String.format(Locale.ROOT, "Expected the field `additionalDenialReasons` to be an array in the JSON string but got `%s`", jsonObj.get("additionalDenialReasons").toString())); + } + + // validate the optional field `additionalDenialReasons` (array) + for (int i = 0; i < jsonArrayadditionalDenialReasons.size(); i++) { + AdditionalDenialReason.validateJsonElement(jsonArrayadditionalDenialReasons.get(i)); + }; + } + } // validate the optional field `submission` if (jsonObj.get("submission") != null && !jsonObj.get("submission").isJsonNull()) { TfvSubmissionInfo.validateJsonElement(jsonObj.get("submission")); diff --git a/src/main/java/com/bandwidth/sdk/model/ThumbnailAlignmentEnum.java b/src/main/java/com/bandwidth/sdk/model/ThumbnailAlignmentEnum.java index 999b112a..0c859510 100644 --- a/src/main/java/com/bandwidth/sdk/model/ThumbnailAlignmentEnum.java +++ b/src/main/java/com/bandwidth/sdk/model/ThumbnailAlignmentEnum.java @@ -26,7 +26,7 @@ import com.google.gson.stream.JsonWriter; /** - * The alignment of the thumbnail image in the card. Only applicable if the card using horizontal orientation. + * The alignment of the thumbnail image in the card. Required when orientation is HORIZONTAL. */ @JsonAdapter(ThumbnailAlignmentEnum.Adapter.class) public enum ThumbnailAlignmentEnum {