diff --git a/api/openapi.yaml b/api/openapi.yaml index 55486dc3..bf7ce965 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -4740,6 +4740,10 @@ paths: $ref: "#/components/examples/lookupCompleteWithDniExample" lookupCompleteExample: $ref: "#/components/examples/lookupCompleteExample" + lookupCompleteWithRcsExample: + $ref: "#/components/examples/lookupCompleteWithRcsExample" + lookupCompleteWithRcsErrorExample: + $ref: "#/components/examples/lookupCompleteWithRcsErrorExample" lookupPartialExample: $ref: "#/components/examples/lookupPartialExample" lookupFailedExample: @@ -4801,8 +4805,8 @@ paths: content: application/json: examples: - lookupInProgressExample: - $ref: "#/components/examples/lookupInProgressExample" + lookupAcceptedExample: + $ref: "#/components/examples/lookupAcceptedExample" schema: $ref: "#/components/schemas/createAsyncBulkLookupResponse" description: Accepted @@ -6220,25 +6224,31 @@ components: phoneNumbers: - "+19196104423" - "+19196104424" - lookupInProgressExample: - summary: Numbers Lookup In Progress + lookupAcceptedExample: + summary: Numbers Lookup Accepted value: links: - - href: href - rel: rel + - href: /accounts/9912345/phoneNumberLookup/bulk/004223a0-8b17-41b1-bf81-20732adf5590 + rel: createdRequest method: GET data: requestId: 004223a0-8b17-41b1-bf81-20732adf5590 status: IN_PROGRESS results: [] errors: [] + lookupInProgressExample: + summary: Numbers Lookup In Progress + value: + links: [] + data: + requestId: 004223a0-8b17-41b1-bf81-20732adf5590 + status: IN_PROGRESS + results: [] + errors: [] lookupFailedExample: summary: Numbers Lookup Failed value: - links: - - href: href - rel: rel - method: GET + links: [] data: requestId: 004223a0-8b17-41b1-bf81-20732adf5590 status: FAILED @@ -6256,10 +6266,7 @@ components: lookupPartialExample: summary: Numbers Lookup Partial Complete value: - links: - - href: href - rel: rel - method: GET + links: [] data: requestId: 004223a0-8b17-41b1-bf81-20732adf5590 status: PARTIAL_COMPLETE @@ -6287,10 +6294,7 @@ components: lookupCompleteExample: summary: Numbers Lookup Complete (without DNI) value: - links: - - href: href - rel: rel - method: GET + links: [] data: requestId: 004223a0-8b17-41b1-bf81-20732adf5590 status: COMPLETE @@ -6309,10 +6313,7 @@ components: lookupCompleteWithDniExample: summary: Numbers Lookup Complete (with DNI) value: - links: - - href: href - rel: rel - method: GET + links: [] data: requestId: 20732adf-bf81-8b17-41b1-004223a05590 status: COMPLETE @@ -6350,6 +6351,58 @@ components: deactivationEvent: DEACTIVATED latestMessageDeliveryStatus: NOT_ENABLED errors: [] + lookupCompleteWithRcsExample: + summary: Numbers Lookup Complete (with RCS) + value: + links: [] + data: + requestId: 004223a0-8b17-41b1-bf81-20732adf5590 + status: COMPLETE + results: + - phoneNumber: "+10072904497" + lineType: MOBILE + messagingProvider: Verizon Wireless + voiceProvider: Verizon Wireless + countryCodeA3: USA + rcsEnabled: true + - phoneNumber: "+10072904498" + lineType: MOBILE + messagingProvider: T-Mobile USA + voiceProvider: T-Mobile USA + countryCodeA3: USA + rcsEnabled: false + errors: [] + lookupCompleteWithRcsErrorExample: + summary: Numbers Lookup Complete (with RCS error) + value: + links: [] + data: + requestId: 004223a0-8b17-41b1-bf81-20732adf5590 + status: COMPLETE + results: + - phoneNumber: "+10072904497" + lineType: MOBILE + messagingProvider: Verizon Wireless + voiceProvider: Verizon Wireless + countryCodeA3: USA + - phoneNumber: "+10072904498" + lineType: MOBILE + messagingProvider: T-Mobile USA + voiceProvider: T-Mobile USA + countryCodeA3: USA + errors: + - code: RCS_SERVICE_UNAVAILABLE + type: rcs-error + description: An exception was thrown during the async RCS service call. + meta: + phoneNumbers: + - "+10072904497" + - code: MISSING_FROM_RESPONSE + type: rcs-error + description: The phone number was absent from the RCS service response. + meta: + phoneNumbers: + - "+10072904498" badRequestExample: summary: Example Bad Request Error value: @@ -7847,6 +7900,10 @@ components: $ref: "#/components/examples/lookupCompleteWithDniExample" lookupCompleteExample: $ref: "#/components/examples/lookupCompleteExample" + lookupCompleteWithRcsExample: + $ref: "#/components/examples/lookupCompleteWithRcsExample" + lookupCompleteWithRcsErrorExample: + $ref: "#/components/examples/lookupCompleteWithRcsErrorExample" lookupPartialExample: $ref: "#/components/examples/lookupPartialExample" lookupFailedExample: @@ -7858,8 +7915,8 @@ components: content: application/json: examples: - lookupInProgressExample: - $ref: "#/components/examples/lookupInProgressExample" + lookupAcceptedExample: + $ref: "#/components/examples/lookupAcceptedExample" schema: $ref: "#/components/schemas/createAsyncBulkLookupResponse" description: Accepted @@ -13374,6 +13431,10 @@ components: type: string meta: $ref: "#/components/schemas/lookupErrorSchema_meta" + required: + - code + - description + - type type: object syncLookupRequest: properties: @@ -13413,6 +13474,7 @@ components: phoneNumber: "+10072904498" countryCodeA3: USA initialMessageDeliveryStatusDate: 2025-06-20 + rcsEnabled: true lineType: MOBILE deactivationReporter: deactivationReporter voiceProvider: Verizon Wireless @@ -13424,6 +13486,7 @@ components: phoneNumber: "+10072904498" countryCodeA3: USA initialMessageDeliveryStatusDate: 2025-06-20 + rcsEnabled: true lineType: MOBILE deactivationReporter: deactivationReporter voiceProvider: Verizon Wireless @@ -13518,6 +13581,7 @@ components: phoneNumber: "+10072904498" countryCodeA3: USA initialMessageDeliveryStatusDate: 2025-06-20 + rcsEnabled: true lineType: MOBILE deactivationReporter: deactivationReporter voiceProvider: Verizon Wireless @@ -13529,6 +13593,7 @@ components: phoneNumber: "+10072904498" countryCodeA3: USA initialMessageDeliveryStatusDate: 2025-06-20 + rcsEnabled: true lineType: MOBILE deactivationReporter: deactivationReporter voiceProvider: Verizon Wireless @@ -13604,6 +13669,23 @@ components: $ref: "#/components/schemas/lookupErrorSchema" type: array type: object + rcsErrorEnum: + description: |- + [RCS-Only](#section/RCS-Only). Error encountered during RCS capability lookup. Appears as the `code` field in the top-level `errors` array. + + **RCS service pass-through codes:** + - `REQUEST_FAILED`: The RCS service returned this error code. + - `UNKNOWN_CODE`: The RCS service returned this error code. + - `INVALID_DESTINATION_ADDRESS`: The RCS service returned this error code. + - `UNKNOWN_STATUS: `: The RCS service returned an unrecognized status code, where `` is the raw value. + + **Service-level errors:** + - `MISSING_FROM_RESPONSE`: The phone number was absent from the RCS service response. + - `RCS_SERVICE_UNAVAILABLE`: An exception was thrown during the async RCS service call. + - `RCS_SERVICE_DISABLED`: RCS lookup is disabled in configuration. + - `EMPTY_RESPONSE`: The RCS service returned a null or empty response body. + example: RCS_SERVICE_UNAVAILABLE + type: string lookupResult: description: Carrier information results for the specified telephone number. example: @@ -13614,6 +13696,7 @@ components: phoneNumber: "+10072904498" countryCodeA3: USA initialMessageDeliveryStatusDate: 2025-06-20 + rcsEnabled: true lineType: MOBILE deactivationReporter: deactivationReporter voiceProvider: Verizon Wireless @@ -13662,13 +13745,18 @@ components: format: date type: string latestMessageDeliveryStatusDate: - description: "[DNI-Only](#section/DNI-Only). The date bandwidth last received\ - \ delivery status information for this phone number. \nUse this field\ - \ to understand how up-to-date the `latestMessageDeliveryStatus` is.\n\ - Value resets every time the `latestMessageDeliveryStatus` changes." + description: |- + [DNI-Only](#section/DNI-Only). The date bandwidth last received delivery status information for this phone number. + Use this field to understand how up-to-date the `latestMessageDeliveryStatus` is. + Value resets every time the `latestMessageDeliveryStatus` changes. example: 2025-06-21 format: date type: string + rcsEnabled: + description: | + [RCS-Only](#section/RCS-Only). Indicates whether the phone number is capable of receiving RCS messages. Value will be null if account has RCS, but no value was returned. Absent when account does not have RCS. + example: true + type: boolean type: object accountId1: description: User's account ID. @@ -15010,6 +15098,7 @@ components: phoneNumber: "+10072904498" countryCodeA3: USA initialMessageDeliveryStatusDate: 2025-06-20 + rcsEnabled: true lineType: MOBILE deactivationReporter: deactivationReporter voiceProvider: Verizon Wireless @@ -15021,6 +15110,7 @@ components: phoneNumber: "+10072904498" countryCodeA3: USA initialMessageDeliveryStatusDate: 2025-06-20 + rcsEnabled: true lineType: MOBILE deactivationReporter: deactivationReporter voiceProvider: Verizon Wireless @@ -15067,6 +15157,7 @@ components: phoneNumber: "+10072904498" countryCodeA3: USA initialMessageDeliveryStatusDate: 2025-06-20 + rcsEnabled: true lineType: MOBILE deactivationReporter: deactivationReporter voiceProvider: Verizon Wireless @@ -15078,6 +15169,7 @@ components: phoneNumber: "+10072904498" countryCodeA3: USA initialMessageDeliveryStatusDate: 2025-06-20 + rcsEnabled: true lineType: MOBILE deactivationReporter: deactivationReporter voiceProvider: Verizon Wireless diff --git a/bandwidth.yml b/bandwidth.yml index bfa971f6..d3f8539c 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -5552,6 +5552,10 @@ components: example: GET lookupErrorSchema: type: object + required: + - code + - type + - description properties: code: type: string @@ -5699,6 +5703,39 @@ components: type: array items: $ref: '#/components/schemas/lookupErrorSchema' + rcsErrorEnum: + type: string + description: >- + [RCS-Only](#section/RCS-Only). Error encountered during RCS capability + lookup. Appears as the `code` field in the top-level `errors` array. + + + **RCS service pass-through codes:** + + - `REQUEST_FAILED`: The RCS service returned this error code. + + - `UNKNOWN_CODE`: The RCS service returned this error code. + + - `INVALID_DESTINATION_ADDRESS`: The RCS service returned this error + code. + + - `UNKNOWN_STATUS: `: The RCS service returned an unrecognized + status code, where `` is the raw value. + + + **Service-level errors:** + + - `MISSING_FROM_RESPONSE`: The phone number was absent from the RCS + service response. + + - `RCS_SERVICE_UNAVAILABLE`: An exception was thrown during the async + RCS service call. + + - `RCS_SERVICE_DISABLED`: RCS lookup is disabled in configuration. + + - `EMPTY_RESPONSE`: The RCS service returned a null or empty response + body. + example: RCS_SERVICE_UNAVAILABLE lookupResult: type: object description: Carrier information results for the specified telephone number. @@ -5757,13 +5794,21 @@ components: format: date description: >- [DNI-Only](#section/DNI-Only). The date bandwidth last received - delivery status information for this phone number. + delivery status information for this phone number. Use this field to understand how up-to-date the `latestMessageDeliveryStatus` is. Value resets every time the `latestMessageDeliveryStatus` changes. example: '2025-06-21' + rcsEnabled: + type: boolean + description: > + [RCS-Only](#section/RCS-Only). Indicates whether the phone number is + capable of receiving RCS messages. Value will be null if account has + RCS, but no value was returned. Absent when account does not have + RCS. + example: true accountId1: type: string description: User's account ID. @@ -7149,6 +7194,10 @@ components: $ref: '#/components/examples/lookupCompleteWithDniExample' lookupCompleteExample: $ref: '#/components/examples/lookupCompleteExample' + lookupCompleteWithRcsExample: + $ref: '#/components/examples/lookupCompleteWithRcsExample' + lookupCompleteWithRcsErrorExample: + $ref: '#/components/examples/lookupCompleteWithRcsErrorExample' lookupPartialExample: $ref: '#/components/examples/lookupPartialExample' lookupFailedExample: @@ -7160,8 +7209,8 @@ components: schema: $ref: '#/components/schemas/createAsyncBulkLookupResponse' examples: - lookupInProgressExample: - $ref: '#/components/examples/lookupInProgressExample' + lookupAcceptedExample: + $ref: '#/components/examples/lookupAcceptedExample' getAsyncBulkLookupResponse: description: OK content: @@ -8049,25 +8098,32 @@ components: phoneNumbers: - '+19196104423' - '+19196104424' - lookupInProgressExample: - summary: Numbers Lookup In Progress + lookupAcceptedExample: + summary: Numbers Lookup Accepted value: links: - - href: href - rel: rel + - href: >- + /accounts/9912345/phoneNumberLookup/bulk/004223a0-8b17-41b1-bf81-20732adf5590 + rel: createdRequest method: GET data: requestId: 004223a0-8b17-41b1-bf81-20732adf5590 status: IN_PROGRESS results: [] errors: [] + lookupInProgressExample: + summary: Numbers Lookup In Progress + value: + links: [] + data: + requestId: 004223a0-8b17-41b1-bf81-20732adf5590 + status: IN_PROGRESS + results: [] + errors: [] lookupFailedExample: summary: Numbers Lookup Failed value: - links: - - href: href - rel: rel - method: GET + links: [] data: requestId: 004223a0-8b17-41b1-bf81-20732adf5590 status: FAILED @@ -8084,10 +8140,7 @@ components: lookupPartialExample: summary: Numbers Lookup Partial Complete value: - links: - - href: href - rel: rel - method: GET + links: [] data: requestId: 004223a0-8b17-41b1-bf81-20732adf5590 status: PARTIAL_COMPLETE @@ -8114,10 +8167,7 @@ components: lookupCompleteExample: summary: Numbers Lookup Complete (without DNI) value: - links: - - href: href - rel: rel - method: GET + links: [] data: requestId: 004223a0-8b17-41b1-bf81-20732adf5590 status: COMPLETE @@ -8136,10 +8186,7 @@ components: lookupCompleteWithDniExample: summary: Numbers Lookup Complete (with DNI) value: - links: - - href: href - rel: rel - method: GET + links: [] data: requestId: 20732adf-bf81-8b17-41b1-004223a05590 status: COMPLETE @@ -8177,6 +8224,58 @@ components: deactivationEvent: DEACTIVATED latestMessageDeliveryStatus: NOT_ENABLED errors: [] + lookupCompleteWithRcsExample: + summary: Numbers Lookup Complete (with RCS) + value: + links: [] + data: + requestId: 004223a0-8b17-41b1-bf81-20732adf5590 + status: COMPLETE + results: + - phoneNumber: '+10072904497' + lineType: MOBILE + messagingProvider: Verizon Wireless + voiceProvider: Verizon Wireless + countryCodeA3: USA + rcsEnabled: true + - phoneNumber: '+10072904498' + lineType: MOBILE + messagingProvider: T-Mobile USA + voiceProvider: T-Mobile USA + countryCodeA3: USA + rcsEnabled: false + errors: [] + lookupCompleteWithRcsErrorExample: + summary: Numbers Lookup Complete (with RCS error) + value: + links: [] + data: + requestId: 004223a0-8b17-41b1-bf81-20732adf5590 + status: COMPLETE + results: + - phoneNumber: '+10072904497' + lineType: MOBILE + messagingProvider: Verizon Wireless + voiceProvider: Verizon Wireless + countryCodeA3: USA + - phoneNumber: '+10072904498' + lineType: MOBILE + messagingProvider: T-Mobile USA + voiceProvider: T-Mobile USA + countryCodeA3: USA + errors: + - code: RCS_SERVICE_UNAVAILABLE + type: rcs-error + description: An exception was thrown during the async RCS service call. + meta: + phoneNumbers: + - '+10072904497' + - code: MISSING_FROM_RESPONSE + type: rcs-error + description: The phone number was absent from the RCS service response. + meta: + phoneNumbers: + - '+10072904498' badRequestExample: summary: Example Bad Request Error value: diff --git a/docs/LookupErrorSchema.md b/docs/LookupErrorSchema.md index 207ca9d9..985eb045 100644 --- a/docs/LookupErrorSchema.md +++ b/docs/LookupErrorSchema.md @@ -7,9 +7,9 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**code** | **String** | Validation error code | [optional] | -|**description** | **String** | Description of validation error | [optional] | -|**type** | **String** | Type of validation error | [optional] | +|**code** | **String** | Validation error code | | +|**description** | **String** | Description of validation error | | +|**type** | **String** | Type of validation error | | |**meta** | [**LookupErrorSchemaMeta**](LookupErrorSchemaMeta.md) | | [optional] | diff --git a/docs/LookupResult.md b/docs/LookupResult.md index 21e16602..8da97817 100644 --- a/docs/LookupResult.md +++ b/docs/LookupResult.md @@ -18,7 +18,8 @@ Carrier information results for the specified telephone number. |**deactivationEvent** | **DeactivationEventEnum** | | [optional] | |**latestMessageDeliveryStatus** | **LatestMessageDeliveryStatusEnum** | | [optional] | |**initialMessageDeliveryStatusDate** | **LocalDate** | [DNI-Only](#section/DNI-Only). The date the phone number entered the status described in `latestMessageDeliveryStatus`. Think of this as the \"start time\" for that status. Value resets every time the `latestMessageDeliveryStatus` changes. | [optional] | -|**latestMessageDeliveryStatusDate** | **LocalDate** | [DNI-Only](#section/DNI-Only). The date bandwidth last received delivery status information for this phone number. Use this field to understand how up-to-date the `latestMessageDeliveryStatus` is. Value resets every time the `latestMessageDeliveryStatus` changes. | [optional] | +|**latestMessageDeliveryStatusDate** | **LocalDate** | [DNI-Only](#section/DNI-Only). The date bandwidth last received delivery status information for this phone number. Use this field to understand how up-to-date the `latestMessageDeliveryStatus` is. Value resets every time the `latestMessageDeliveryStatus` changes. | [optional] | +|**rcsEnabled** | **Boolean** | [RCS-Only](#section/RCS-Only). Indicates whether the phone number is capable of receiving RCS messages. Value will be null if account has RCS, but no value was returned. Absent when account does not have RCS. | [optional] | diff --git a/sdfg b/sdfg deleted file mode 100644 index e69de29b..00000000 diff --git a/src/main/java/com/bandwidth/sdk/model/LookupErrorSchema.java b/src/main/java/com/bandwidth/sdk/model/LookupErrorSchema.java index ee0b3609..e9555b3d 100644 --- a/src/main/java/com/bandwidth/sdk/model/LookupErrorSchema.java +++ b/src/main/java/com/bandwidth/sdk/model/LookupErrorSchema.java @@ -55,17 +55,17 @@ public class LookupErrorSchema { public static final String SERIALIZED_NAME_CODE = "code"; @SerializedName(SERIALIZED_NAME_CODE) - @javax.annotation.Nullable + @javax.annotation.Nonnull private String code; public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) - @javax.annotation.Nullable + @javax.annotation.Nonnull private String description; public static final String SERIALIZED_NAME_TYPE = "type"; @SerializedName(SERIALIZED_NAME_TYPE) - @javax.annotation.Nullable + @javax.annotation.Nonnull private String type; public static final String SERIALIZED_NAME_META = "meta"; @@ -76,7 +76,7 @@ public class LookupErrorSchema { public LookupErrorSchema() { } - public LookupErrorSchema code(@javax.annotation.Nullable String code) { + public LookupErrorSchema code(@javax.annotation.Nonnull String code) { this.code = code; return this; } @@ -85,17 +85,17 @@ public LookupErrorSchema code(@javax.annotation.Nullable String code) { * Validation error code * @return code */ - @javax.annotation.Nullable + @javax.annotation.Nonnull public String getCode() { return code; } - public void setCode(@javax.annotation.Nullable String code) { + public void setCode(@javax.annotation.Nonnull String code) { this.code = code; } - public LookupErrorSchema description(@javax.annotation.Nullable String description) { + public LookupErrorSchema description(@javax.annotation.Nonnull String description) { this.description = description; return this; } @@ -104,17 +104,17 @@ public LookupErrorSchema description(@javax.annotation.Nullable String descripti * Description of validation error * @return description */ - @javax.annotation.Nullable + @javax.annotation.Nonnull public String getDescription() { return description; } - public void setDescription(@javax.annotation.Nullable String description) { + public void setDescription(@javax.annotation.Nonnull String description) { this.description = description; } - public LookupErrorSchema type(@javax.annotation.Nullable String type) { + public LookupErrorSchema type(@javax.annotation.Nonnull String type) { this.type = type; return this; } @@ -123,12 +123,12 @@ public LookupErrorSchema type(@javax.annotation.Nullable String type) { * Type of validation error * @return type */ - @javax.annotation.Nullable + @javax.annotation.Nonnull public String getType() { return type; } - public void setType(@javax.annotation.Nullable String type) { + public void setType(@javax.annotation.Nonnull String type) { this.type = type; } @@ -251,7 +251,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(Arrays.asList("code", "description", "type", "meta")); // a set of required properties/fields (JSON key names) - openapiRequiredFields = new HashSet(0); + openapiRequiredFields = new HashSet(Arrays.asList("code", "description", "type")); } /** @@ -266,14 +266,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format(Locale.ROOT, "The required field(s) %s in LookupErrorSchema is not found in the empty JSON string", LookupErrorSchema.openapiRequiredFields.toString())); } } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : LookupErrorSchema.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format(Locale.ROOT, "The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } JsonObject jsonObj = jsonElement.getAsJsonObject(); - if ((jsonObj.get("code") != null && !jsonObj.get("code").isJsonNull()) && !jsonObj.get("code").isJsonPrimitive()) { + if (!jsonObj.get("code").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(Locale.ROOT, "Expected the field `code` to be a primitive type in the JSON string but got `%s`", jsonObj.get("code").toString())); } - if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + if (!jsonObj.get("description").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(Locale.ROOT, "Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); } - if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { + if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(Locale.ROOT, "Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } // validate the optional field `meta` diff --git a/src/main/java/com/bandwidth/sdk/model/LookupResult.java b/src/main/java/com/bandwidth/sdk/model/LookupResult.java index eaec460e..131201a3 100644 --- a/src/main/java/com/bandwidth/sdk/model/LookupResult.java +++ b/src/main/java/com/bandwidth/sdk/model/LookupResult.java @@ -111,6 +111,11 @@ public class LookupResult { @javax.annotation.Nullable private LocalDate latestMessageDeliveryStatusDate; + public static final String SERIALIZED_NAME_RCS_ENABLED = "rcsEnabled"; + @SerializedName(SERIALIZED_NAME_RCS_ENABLED) + @javax.annotation.Nullable + private Boolean rcsEnabled; + public LookupResult() { } @@ -310,7 +315,7 @@ public LookupResult latestMessageDeliveryStatusDate(@javax.annotation.Nullable L } /** - * [DNI-Only](#section/DNI-Only). The date bandwidth last received delivery status information for this phone number. Use this field to understand how up-to-date the `latestMessageDeliveryStatus` is. Value resets every time the `latestMessageDeliveryStatus` changes. + * [DNI-Only](#section/DNI-Only). The date bandwidth last received delivery status information for this phone number. Use this field to understand how up-to-date the `latestMessageDeliveryStatus` is. Value resets every time the `latestMessageDeliveryStatus` changes. * @return latestMessageDeliveryStatusDate */ @javax.annotation.Nullable @@ -322,6 +327,25 @@ public void setLatestMessageDeliveryStatusDate(@javax.annotation.Nullable LocalD this.latestMessageDeliveryStatusDate = latestMessageDeliveryStatusDate; } + + public LookupResult rcsEnabled(@javax.annotation.Nullable Boolean rcsEnabled) { + this.rcsEnabled = rcsEnabled; + return this; + } + + /** + * [RCS-Only](#section/RCS-Only). Indicates whether the phone number is capable of receiving RCS messages. Value will be null if account has RCS, but no value was returned. Absent when account does not have RCS. + * @return rcsEnabled + */ + @javax.annotation.Nullable + public Boolean getRcsEnabled() { + return rcsEnabled; + } + + public void setRcsEnabled(@javax.annotation.Nullable Boolean rcsEnabled) { + this.rcsEnabled = rcsEnabled; + } + /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -387,13 +411,14 @@ public boolean equals(Object o) { Objects.equals(this.deactivationEvent, lookupResult.deactivationEvent) && Objects.equals(this.latestMessageDeliveryStatus, lookupResult.latestMessageDeliveryStatus) && Objects.equals(this.initialMessageDeliveryStatusDate, lookupResult.initialMessageDeliveryStatusDate) && - Objects.equals(this.latestMessageDeliveryStatusDate, lookupResult.latestMessageDeliveryStatusDate)&& + Objects.equals(this.latestMessageDeliveryStatusDate, lookupResult.latestMessageDeliveryStatusDate) && + Objects.equals(this.rcsEnabled, lookupResult.rcsEnabled)&& Objects.equals(this.additionalProperties, lookupResult.additionalProperties); } @Override public int hashCode() { - return Objects.hash(phoneNumber, lineType, messagingProvider, voiceProvider, countryCodeA3, deactivationReporter, deactivationDate, deactivationEvent, latestMessageDeliveryStatus, initialMessageDeliveryStatusDate, latestMessageDeliveryStatusDate, additionalProperties); + return Objects.hash(phoneNumber, lineType, messagingProvider, voiceProvider, countryCodeA3, deactivationReporter, deactivationDate, deactivationEvent, latestMessageDeliveryStatus, initialMessageDeliveryStatusDate, latestMessageDeliveryStatusDate, rcsEnabled, additionalProperties); } @Override @@ -411,6 +436,7 @@ public String toString() { sb.append(" latestMessageDeliveryStatus: ").append(toIndentedString(latestMessageDeliveryStatus)).append("\n"); sb.append(" initialMessageDeliveryStatusDate: ").append(toIndentedString(initialMessageDeliveryStatusDate)).append("\n"); sb.append(" latestMessageDeliveryStatusDate: ").append(toIndentedString(latestMessageDeliveryStatusDate)).append("\n"); + sb.append(" rcsEnabled: ").append(toIndentedString(rcsEnabled)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); sb.append("}"); return sb.toString(); @@ -433,7 +459,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) - openapiFields = new HashSet(Arrays.asList("phoneNumber", "lineType", "messagingProvider", "voiceProvider", "countryCodeA3", "deactivationReporter", "deactivationDate", "deactivationEvent", "latestMessageDeliveryStatus", "initialMessageDeliveryStatusDate", "latestMessageDeliveryStatusDate")); + openapiFields = new HashSet(Arrays.asList("phoneNumber", "lineType", "messagingProvider", "voiceProvider", "countryCodeA3", "deactivationReporter", "deactivationDate", "deactivationEvent", "latestMessageDeliveryStatus", "initialMessageDeliveryStatusDate", "latestMessageDeliveryStatusDate", "rcsEnabled")); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(0); diff --git a/src/test/java/com/bandwidth/sdk/unit/api/PhoneNumberLookupApiTest.java b/src/test/java/com/bandwidth/sdk/unit/api/PhoneNumberLookupApiTest.java index ad3a23c7..2c483609 100644 --- a/src/test/java/com/bandwidth/sdk/unit/api/PhoneNumberLookupApiTest.java +++ b/src/test/java/com/bandwidth/sdk/unit/api/PhoneNumberLookupApiTest.java @@ -106,10 +106,6 @@ public void createSyncLookupTest() throws ApiException { assertThat(response.getStatusCode(), is(200)); assertThat(response.getData(), instanceOf(CreateSyncLookupResponse.class)); assertThat(response.getData().getLinks(), instanceOf(List.class)); - assertThat(response.getData().getLinks().get(0), instanceOf(LinkSchema.class)); - assertThat(response.getData().getLinks().get(0).getRel(), instanceOf(String.class)); - assertThat(response.getData().getLinks().get(0).getHref(), instanceOf(String.class)); - assertThat(response.getData().getLinks().get(0).getMethod(), instanceOf(String.class)); assertThat(response.getData().getData(), instanceOf(CreateSyncLookupResponseData.class)); assertThat(response.getData().getData().getRequestId(), instanceOf(UUID.class)); assertThat(response.getData().getData().getStatus(), instanceOf(CompletedLookupStatusEnum.class)); @@ -142,10 +138,6 @@ public void getAsyncBulkLookupTest() throws ApiException { assertThat(response.getStatusCode(), is(200)); assertThat(response.getData(), instanceOf(GetAsyncBulkLookupResponse.class)); assertThat(response.getData().getLinks(), instanceOf(List.class)); - assertThat(response.getData().getLinks().get(0), instanceOf(LinkSchema.class)); - assertThat(response.getData().getLinks().get(0).getRel(), instanceOf(String.class)); - assertThat(response.getData().getLinks().get(0).getHref(), instanceOf(String.class)); - assertThat(response.getData().getLinks().get(0).getMethod(), instanceOf(String.class)); assertThat(response.getData().getData(), instanceOf(GetAsyncBulkLookupResponseData.class)); assertThat(response.getData().getData().getRequestId(), instanceOf(UUID.class)); assertThat(response.getData().getData().getStatus(), instanceOf(InProgressLookupStatusEnum.class)); diff --git a/src/test/java/com/bandwidth/sdk/unit/models/LookupResultTest.java b/src/test/java/com/bandwidth/sdk/unit/models/LookupResultTest.java index 7c3a7821..2ae8f038 100644 --- a/src/test/java/com/bandwidth/sdk/unit/models/LookupResultTest.java +++ b/src/test/java/com/bandwidth/sdk/unit/models/LookupResultTest.java @@ -39,7 +39,8 @@ public class LookupResultTest { .deactivationEvent(DeactivationEventEnum.DEACTIVATED) .latestMessageDeliveryStatus(LatestMessageDeliveryStatusEnum.ACTIVE) .initialMessageDeliveryStatusDate(LocalDate.of(2025, 1, 1)) - .latestMessageDeliveryStatusDate(LocalDate.of(2025, 1, 1)); + .latestMessageDeliveryStatusDate(LocalDate.of(2025, 1, 1)) + .rcsEnabled(true); /** @@ -138,4 +139,11 @@ public void latestMessageDeliveryStatusDateTest() { assertThat(model.getLatestMessageDeliveryStatusDate(), instanceOf(LocalDate.class)); } + /** + * Test the property 'rcsEnabled' + */ @Test + public void rcsEnabledTest() { + assertThat(model.getRcsEnabled(), instanceOf(Boolean.class)); + } + }