From 45a751381f7888ca2fc66cd39949e43423a2381c Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 20 May 2025 14:06:23 +0000 Subject: [PATCH 1/3] Generate SDK with OpenAPI Generator Version --- .openapi-generator/FILES | 2 + Bandwidth.Standard.sln | 10 +- README.md | 1 + api/openapi.yaml | 80 ++++++--- bandwidth.yml | 36 ++-- docs/BlockedWebhook.md | 15 ++ docs/TfvSubmissionInfo.md | 2 +- docs/VerificationRequest.md | 2 +- docs/VerificationUpdateRequest.md | 2 +- .../Model/BlockedWebhook.cs | 159 ++++++++++++++++++ src/Bandwidth.Standard/Model/RbmActionBase.cs | 2 +- .../Model/TfvSubmissionInfo.cs | 18 +- .../Model/VerificationRequest.cs | 18 +- .../Model/VerificationUpdateRequest.cs | 18 +- 14 files changed, 297 insertions(+), 68 deletions(-) create mode 100644 docs/BlockedWebhook.md create mode 100644 src/Bandwidth.Standard/Model/BlockedWebhook.cs diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 5892894..de7c7d8 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -6,6 +6,7 @@ docs/AccountStatistics.md docs/AdditionalDenialReason.md docs/Address.md docs/AnswerCallback.md +docs/BlockedWebhook.md docs/BridgeCompleteCallback.md docs/BridgeTargetCompleteCallback.md docs/CallDirectionEnum.md @@ -190,6 +191,7 @@ src/Bandwidth.Standard/Model/AccountStatistics.cs src/Bandwidth.Standard/Model/AdditionalDenialReason.cs src/Bandwidth.Standard/Model/Address.cs src/Bandwidth.Standard/Model/AnswerCallback.cs +src/Bandwidth.Standard/Model/BlockedWebhook.cs src/Bandwidth.Standard/Model/BridgeCompleteCallback.cs src/Bandwidth.Standard/Model/BridgeTargetCompleteCallback.cs src/Bandwidth.Standard/Model/CallDirectionEnum.cs diff --git a/Bandwidth.Standard.sln b/Bandwidth.Standard.sln index ec96c38..a667270 100644 --- a/Bandwidth.Standard.sln +++ b/Bandwidth.Standard.sln @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard", "src\Bandwidth.Standard\Bandwidth.Standard.csproj", "{EC42C0CC-D6A6-4803-AEDA-6D58A46507A9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard", "src\Bandwidth.Standard\Bandwidth.Standard.csproj", "{025A015C-50AB-473D-9C09-76DC7BD5D3FD}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard.Test", "src\Bandwidth.Standard.Test\Bandwidth.Standard.Test.csproj", "{19F1DEBC-DE5E-4517-8062-F000CD499087}" EndProject @@ -12,10 +12,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {EC42C0CC-D6A6-4803-AEDA-6D58A46507A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EC42C0CC-D6A6-4803-AEDA-6D58A46507A9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EC42C0CC-D6A6-4803-AEDA-6D58A46507A9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EC42C0CC-D6A6-4803-AEDA-6D58A46507A9}.Release|Any CPU.Build.0 = Release|Any CPU + {025A015C-50AB-473D-9C09-76DC7BD5D3FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {025A015C-50AB-473D-9C09-76DC7BD5D3FD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {025A015C-50AB-473D-9C09-76DC7BD5D3FD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {025A015C-50AB-473D-9C09-76DC7BD5D3FD}.Release|Any CPU.Build.0 = Release|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/README.md b/README.md index 7209899..f828564 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,7 @@ Class | Method | HTTP request | Description - [Model.AdditionalDenialReason](docs/AdditionalDenialReason.md) - [Model.Address](docs/Address.md) - [Model.AnswerCallback](docs/AnswerCallback.md) + - [Model.BlockedWebhook](docs/BlockedWebhook.md) - [Model.BridgeCompleteCallback](docs/BridgeCompleteCallback.md) - [Model.BridgeTargetCompleteCallback](docs/BridgeTargetCompleteCallback.md) - [Model.CallDirectionEnum](docs/CallDirectionEnum.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index 019a09f..426c2ed 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -6671,6 +6671,7 @@ components: - $ref: '#/components/schemas/verificationWebhook' - $ref: '#/components/schemas/verificationDenialWebhook' - $ref: '#/components/schemas/failureWebhook' + - $ref: '#/components/schemas/blockedWebhook' description: Verification callback status of a toll-free phone number. required: true webhookSubscriptionRequest: @@ -12097,16 +12098,16 @@ components: privacyPolicyUrl: description: The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/privacyPolicyUrl.pdf + example: http://your-company.com/privacyPolicy type: string termsAndConditionsUrl: description: The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/termsAndConditionsUrl.pdf + example: http://your-company.com/termsAndConditions type: string - businessDBA: + businessDba: description: The company 'Doing Business As'. (Not Available Until 5/28/2025) - example: SecondCompany Name + example: Another Company Name Inc. type: string additionalDenialReason: properties: @@ -12206,16 +12207,16 @@ components: privacyPolicyUrl: description: The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/privacyPolicyUrl.pdf + example: http://your-company.com/privacyPolicy type: string termsAndConditionsUrl: description: The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/termsAndConditionsUrl.pdf + example: http://your-company.com/termsAndConditions type: string - businessDBA: + businessDba: description: The company 'Doing Business As'. (Not Available Until 5/28/2025) - example: SecondCompany Name + example: Another Company Name Inc. type: string required: - businessAddress @@ -12278,16 +12279,16 @@ components: privacyPolicyUrl: description: The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/privacyPolicyUrl.pdf + example: http://your-company.com/privacyPolicy type: string termsAndConditionsUrl: description: The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/termsAndConditionsUrl.pdf + example: http://your-company.com/termsAndConditions type: string - businessDBA: + businessDba: description: The company 'Doing Business As'. (Not Available Until 5/28/2025) - example: SecondCompany Name + example: Another Company Name Inc. type: string required: - businessAddress @@ -12467,6 +12468,41 @@ components: format: uuid type: string type: object + blockedWebhook: + properties: + accountId: + description: User's account ID. + example: "1234567" + type: string + phoneNumber: + description: Toll-free telephone number in E.164 format. + example: "+18005555555" + maxLength: 12 + minLength: 12 + nullable: false + pattern: "^\\+1(800|833|844|855|866|877|888)[2-9]\\d{6}$" + type: string + status: + $ref: '#/components/schemas/tfvCallbackStatusEnum' + internalTicketNumber: + description: Unique identifier (UUID) generated by Bandwidth to assist in + tracking the verification status of a toll-free number. + example: acde070d-8c4c-4f0d-9d8a-162843c10333 + format: uuid + type: string + blocked: + description: Whether a Toll-Free Verification is blocked. This attribute + will only be defined when the number is blocked. (Not Available Until + 5/28/2025) + example: true + type: boolean + blockedReason: + description: The reason why the Toll-Free Verification is blocked. This + attribute will only be defined when the number is blocked. (Not Available + Until 5/28/2025) + example: Toll-free number was used to send spam messages + type: string + type: object tfvSubmissionWrapper: properties: submission: @@ -12882,8 +12918,8 @@ components: submission: additionalInformation: Any additional information useCase: 2FA - termsAndConditionsUrl: http://your-company.com/termsAndConditionsUrl.pdf - businessDBA: SecondCompany Name + termsAndConditionsUrl: http://your-company.com/termsAndConditions + businessDba: Another Company Name Inc. isvReseller: Test ISV businessContact: firstName: John @@ -12900,7 +12936,7 @@ components: name: Bandwidth Inc. state: NC url: https://www.example.com/path/to/resource - privacyPolicyUrl: http://your-company.com/privacyPolicyUrl.pdf + privacyPolicyUrl: http://your-company.com/privacyPolicy useCaseSummary: Text summarizing the use case for the toll-free number optInWorkflow: imageUrls: @@ -12968,8 +13004,8 @@ components: example: additionalInformation: Any additional information useCase: 2FA - termsAndConditionsUrl: http://your-company.com/termsAndConditionsUrl.pdf - businessDBA: SecondCompany Name + termsAndConditionsUrl: http://your-company.com/termsAndConditions + businessDba: Another Company Name Inc. isvReseller: Test ISV businessContact: firstName: John @@ -12986,7 +13022,7 @@ components: name: Bandwidth Inc. state: NC url: https://www.example.com/path/to/resource - privacyPolicyUrl: http://your-company.com/privacyPolicyUrl.pdf + privacyPolicyUrl: http://your-company.com/privacyPolicy useCaseSummary: Text summarizing the use case for the toll-free number optInWorkflow: imageUrls: @@ -13043,16 +13079,16 @@ components: privacyPolicyUrl: description: The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/privacyPolicyUrl.pdf + example: http://your-company.com/privacyPolicy type: string termsAndConditionsUrl: description: The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/termsAndConditionsUrl.pdf + example: http://your-company.com/termsAndConditions type: string - businessDBA: + businessDba: description: The company 'Doing Business As'. (Not Available Until 5/28/2025) - example: SecondCompany Name + example: Another Company Name Inc. type: string type: object tfvStatusEnum: diff --git a/bandwidth.yml b/bandwidth.yml index e180a94..89d9488 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -5253,17 +5253,17 @@ components: description: >- The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/privacyPolicyUrl.pdf + example: http://your-company.com/privacyPolicy type: string termsAndConditionsUrl: description: >- The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) - example: http://your-company.com/termsAndConditionsUrl.pdf + example: http://your-company.com/termsAndConditions type: string - businessDBA: + businessDba: description: The company 'Doing Business As'. (Not Available Until 5/28/2025) - example: SecondCompany Name + example: Another Company Name Inc. type: string additionalDenialReason: properties: @@ -5349,8 +5349,8 @@ components: $ref: '#/components/schemas/privacyPolicyUrl' termsAndConditionsUrl: $ref: '#/components/schemas/termsAndConditionsUrl' - businessDBA: - $ref: '#/components/schemas/businessDBA' + businessDba: + $ref: '#/components/schemas/businessDba' verificationUpdateRequest: type: object required: @@ -5388,8 +5388,8 @@ components: $ref: '#/components/schemas/privacyPolicyUrl' termsAndConditionsUrl: $ref: '#/components/schemas/termsAndConditionsUrl' - businessDBA: - $ref: '#/components/schemas/businessDBA' + businessDba: + $ref: '#/components/schemas/businessDba' tfvBasicAuthentication: type: object properties: @@ -5483,6 +5483,21 @@ components: $ref: '#/components/schemas/tfvCallbackStatusEnum' internalTicketNumber: $ref: '#/components/schemas/internalTicketNumberForWebhook' + blockedWebhook: + type: object + properties: + accountId: + $ref: '#/components/schemas/accountId1' + phoneNumber: + $ref: '#/components/schemas/tfPhoneNumber' + status: + $ref: '#/components/schemas/tfvCallbackStatusEnum' + internalTicketNumber: + $ref: '#/components/schemas/internalTicketNumberForWebhook' + blocked: + $ref: '#/components/schemas/blocked' + blockedReason: + $ref: '#/components/schemas/blockedReason' tfvSubmissionWrapper: type: object properties: @@ -5849,8 +5864,8 @@ components: $ref: '#/components/schemas/privacyPolicyUrl' termsAndConditionsUrl: $ref: '#/components/schemas/termsAndConditionsUrl' - businessDBA: - $ref: '#/components/schemas/businessDBA' + businessDba: + $ref: '#/components/schemas/businessDba' tfvStatusEnum: type: string enum: @@ -7468,6 +7483,7 @@ components: - $ref: '#/components/schemas/verificationWebhook' - $ref: '#/components/schemas/verificationDenialWebhook' - $ref: '#/components/schemas/failureWebhook' + - $ref: '#/components/schemas/blockedWebhook' webhookSubscriptionRequest: description: >- Information about a webhook that Bandwidth should send upon the diff --git a/docs/BlockedWebhook.md b/docs/BlockedWebhook.md new file mode 100644 index 0000000..cdf3714 --- /dev/null +++ b/docs/BlockedWebhook.md @@ -0,0 +1,15 @@ +# Bandwidth.Standard.Model.BlockedWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AccountId** | **string** | User's account ID. | [optional] +**PhoneNumber** | **string** | Toll-free telephone number in E.164 format. | [optional] +**Status** | **TfvCallbackStatusEnum** | | [optional] +**InternalTicketNumber** | **Guid** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [optional] +**Blocked** | **bool** | Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. (Not Available Until 5/28/2025) | [optional] +**BlockedReason** | **string** | The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. (Not Available Until 5/28/2025) | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TfvSubmissionInfo.md b/docs/TfvSubmissionInfo.md index e500c7a..1a801fa 100644 --- a/docs/TfvSubmissionInfo.md +++ b/docs/TfvSubmissionInfo.md @@ -15,7 +15,7 @@ Name | Type | Description | Notes **IsvReseller** | **string** | ISV name. | [optional] **PrivacyPolicyUrl** | **string** | The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) | [optional] **TermsAndConditionsUrl** | **string** | The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) | [optional] -**BusinessDBA** | **string** | The company 'Doing Business As'. (Not Available Until 5/28/2025) | [optional] +**BusinessDba** | **string** | The company 'Doing Business As'. (Not Available Until 5/28/2025) | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/VerificationRequest.md b/docs/VerificationRequest.md index c87f7f5..9747261 100644 --- a/docs/VerificationRequest.md +++ b/docs/VerificationRequest.md @@ -16,7 +16,7 @@ Name | Type | Description | Notes **IsvReseller** | **string** | ISV name. | [optional] **PrivacyPolicyUrl** | **string** | The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) | [optional] **TermsAndConditionsUrl** | **string** | The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) | [optional] -**BusinessDBA** | **string** | The company 'Doing Business As'. (Not Available Until 5/28/2025) | [optional] +**BusinessDba** | **string** | The company 'Doing Business As'. (Not Available Until 5/28/2025) | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/VerificationUpdateRequest.md b/docs/VerificationUpdateRequest.md index a30b2b5..f227a91 100644 --- a/docs/VerificationUpdateRequest.md +++ b/docs/VerificationUpdateRequest.md @@ -15,7 +15,7 @@ Name | Type | Description | Notes **IsvReseller** | **string** | ISV name. | [optional] **PrivacyPolicyUrl** | **string** | The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) | [optional] **TermsAndConditionsUrl** | **string** | The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) | [optional] -**BusinessDBA** | **string** | The company 'Doing Business As'. (Not Available Until 5/28/2025) | [optional] +**BusinessDba** | **string** | The company 'Doing Business As'. (Not Available Until 5/28/2025) | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/src/Bandwidth.Standard/Model/BlockedWebhook.cs b/src/Bandwidth.Standard/Model/BlockedWebhook.cs new file mode 100644 index 0000000..5221cdf --- /dev/null +++ b/src/Bandwidth.Standard/Model/BlockedWebhook.cs @@ -0,0 +1,159 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Bandwidth.Standard.Client.OpenAPIDateConverter; + +namespace Bandwidth.Standard.Model +{ + /// + /// BlockedWebhook + /// + [DataContract(Name = "blockedWebhook")] + public partial class BlockedWebhook : IValidatableObject + { + + /// + /// Gets or Sets Status + /// + [DataMember(Name = "status", EmitDefaultValue = false)] + public TfvCallbackStatusEnum? Status { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// User's account ID.. + /// Toll-free telephone number in E.164 format.. + /// status. + /// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number.. + /// Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. (Not Available Until 5/28/2025). + /// The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. (Not Available Until 5/28/2025). + public BlockedWebhook(string accountId = default(string), string phoneNumber = default(string), TfvCallbackStatusEnum? status = default(TfvCallbackStatusEnum?), Guid internalTicketNumber = default(Guid), bool blocked = default(bool), string blockedReason = default(string)) + { + this.AccountId = accountId; + this.PhoneNumber = phoneNumber; + this.Status = status; + this.InternalTicketNumber = internalTicketNumber; + this.Blocked = blocked; + this.BlockedReason = blockedReason; + } + + /// + /// User's account ID. + /// + /// User's account ID. + /// 1234567 + [DataMember(Name = "accountId", EmitDefaultValue = false)] + public string AccountId { get; set; } + + /// + /// Toll-free telephone number in E.164 format. + /// + /// Toll-free telephone number in E.164 format. + /// +18005555555 + [DataMember(Name = "phoneNumber", EmitDefaultValue = false)] + public string PhoneNumber { get; set; } + + /// + /// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. + /// + /// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. + /// acde070d-8c4c-4f0d-9d8a-162843c10333 + [DataMember(Name = "internalTicketNumber", EmitDefaultValue = false)] + public Guid InternalTicketNumber { get; set; } + + /// + /// Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. (Not Available Until 5/28/2025) + /// + /// Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. (Not Available Until 5/28/2025) + /// true + [DataMember(Name = "blocked", EmitDefaultValue = true)] + public bool Blocked { get; set; } + + /// + /// The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. (Not Available Until 5/28/2025) + /// + /// The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. (Not Available Until 5/28/2025) + /// Toll-free number was used to send spam messages + [DataMember(Name = "blockedReason", EmitDefaultValue = false)] + public string BlockedReason { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class BlockedWebhook {\n"); + sb.Append(" AccountId: ").Append(AccountId).Append("\n"); + sb.Append(" PhoneNumber: ").Append(PhoneNumber).Append("\n"); + sb.Append(" Status: ").Append(Status).Append("\n"); + sb.Append(" InternalTicketNumber: ").Append(InternalTicketNumber).Append("\n"); + sb.Append(" Blocked: ").Append(Blocked).Append("\n"); + sb.Append(" BlockedReason: ").Append(BlockedReason).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PhoneNumber (string) maxLength + if (this.PhoneNumber != null && this.PhoneNumber.Length > 12) + { + yield return new ValidationResult("Invalid value for PhoneNumber, length must be less than 12.", new [] { "PhoneNumber" }); + } + + // PhoneNumber (string) minLength + if (this.PhoneNumber != null && this.PhoneNumber.Length < 12) + { + yield return new ValidationResult("Invalid value for PhoneNumber, length must be greater than 12.", new [] { "PhoneNumber" }); + } + + if (this.PhoneNumber != null) { + // PhoneNumber (string) pattern + Regex regexPhoneNumber = new Regex(@"^\+1(800|833|844|855|866|877|888)[2-9]\d{6}$", RegexOptions.CultureInvariant); + if (!regexPhoneNumber.Match(this.PhoneNumber).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PhoneNumber, must match a pattern of " + regexPhoneNumber, new [] { "PhoneNumber" }); + } + } + + yield break; + } + } + +} diff --git a/src/Bandwidth.Standard/Model/RbmActionBase.cs b/src/Bandwidth.Standard/Model/RbmActionBase.cs index 799dc54..2ac9138 100644 --- a/src/Bandwidth.Standard/Model/RbmActionBase.cs +++ b/src/Bandwidth.Standard/Model/RbmActionBase.cs @@ -78,7 +78,7 @@ protected RbmActionBase() { } /// Base64 payload the customer receives when the reply is clicked. /// /// Base64 payload the customer receives when the reply is clicked. - /// [B@6159fb3c + /// [B@3f6906f4 [DataMember(Name = "postBackData", IsRequired = true, EmitDefaultValue = true)] public byte[] PostBackData { get; set; } diff --git a/src/Bandwidth.Standard/Model/TfvSubmissionInfo.cs b/src/Bandwidth.Standard/Model/TfvSubmissionInfo.cs index d94a11b..aa1522b 100644 --- a/src/Bandwidth.Standard/Model/TfvSubmissionInfo.cs +++ b/src/Bandwidth.Standard/Model/TfvSubmissionInfo.cs @@ -46,8 +46,8 @@ public partial class TfvSubmissionInfo : IValidatableObject /// ISV name.. /// The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025). /// The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025). - /// The company 'Doing Business As'. (Not Available Until 5/28/2025). - public TfvSubmissionInfo(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDBA = default(string)) + /// The company 'Doing Business As'. (Not Available Until 5/28/2025). + public TfvSubmissionInfo(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDba = default(string)) { this.BusinessAddress = businessAddress; this.BusinessContact = businessContact; @@ -60,7 +60,7 @@ public partial class TfvSubmissionInfo : IValidatableObject this.IsvReseller = isvReseller; this.PrivacyPolicyUrl = privacyPolicyUrl; this.TermsAndConditionsUrl = termsAndConditionsUrl; - this.BusinessDBA = businessDBA; + this.BusinessDba = businessDba; } /// @@ -133,7 +133,7 @@ public partial class TfvSubmissionInfo : IValidatableObject /// The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) /// /// The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) - /// http://your-company.com/privacyPolicyUrl.pdf + /// http://your-company.com/privacyPolicy [DataMember(Name = "privacyPolicyUrl", EmitDefaultValue = false)] public string PrivacyPolicyUrl { get; set; } @@ -141,7 +141,7 @@ public partial class TfvSubmissionInfo : IValidatableObject /// The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) /// /// The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) - /// http://your-company.com/termsAndConditionsUrl.pdf + /// http://your-company.com/termsAndConditions [DataMember(Name = "termsAndConditionsUrl", EmitDefaultValue = false)] public string TermsAndConditionsUrl { get; set; } @@ -149,9 +149,9 @@ public partial class TfvSubmissionInfo : IValidatableObject /// The company 'Doing Business As'. (Not Available Until 5/28/2025) /// /// The company 'Doing Business As'. (Not Available Until 5/28/2025) - /// SecondCompany Name - [DataMember(Name = "businessDBA", EmitDefaultValue = false)] - public string BusinessDBA { get; set; } + /// Another Company Name Inc. + [DataMember(Name = "businessDba", EmitDefaultValue = false)] + public string BusinessDba { get; set; } /// /// Returns the string presentation of the object @@ -172,7 +172,7 @@ public override string ToString() sb.Append(" IsvReseller: ").Append(IsvReseller).Append("\n"); sb.Append(" PrivacyPolicyUrl: ").Append(PrivacyPolicyUrl).Append("\n"); sb.Append(" TermsAndConditionsUrl: ").Append(TermsAndConditionsUrl).Append("\n"); - sb.Append(" BusinessDBA: ").Append(BusinessDBA).Append("\n"); + sb.Append(" BusinessDba: ").Append(BusinessDba).Append("\n"); sb.Append("}\n"); return sb.ToString(); } diff --git a/src/Bandwidth.Standard/Model/VerificationRequest.cs b/src/Bandwidth.Standard/Model/VerificationRequest.cs index 3b36dd7..111c1c6 100644 --- a/src/Bandwidth.Standard/Model/VerificationRequest.cs +++ b/src/Bandwidth.Standard/Model/VerificationRequest.cs @@ -52,8 +52,8 @@ protected VerificationRequest() { } /// ISV name.. /// The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025). /// The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025). - /// The company 'Doing Business As'. (Not Available Until 5/28/2025). - public VerificationRequest(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), List phoneNumbers = default(List), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDBA = default(string)) + /// The company 'Doing Business As'. (Not Available Until 5/28/2025). + public VerificationRequest(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), List phoneNumbers = default(List), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDba = default(string)) { // to ensure "businessAddress" is required (not null) if (businessAddress == null) @@ -102,7 +102,7 @@ protected VerificationRequest() { } this.IsvReseller = isvReseller; this.PrivacyPolicyUrl = privacyPolicyUrl; this.TermsAndConditionsUrl = termsAndConditionsUrl; - this.BusinessDBA = businessDBA; + this.BusinessDba = businessDba; } /// @@ -181,7 +181,7 @@ protected VerificationRequest() { } /// The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) /// /// The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) - /// http://your-company.com/privacyPolicyUrl.pdf + /// http://your-company.com/privacyPolicy [DataMember(Name = "privacyPolicyUrl", EmitDefaultValue = false)] public string PrivacyPolicyUrl { get; set; } @@ -189,7 +189,7 @@ protected VerificationRequest() { } /// The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) /// /// The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) - /// http://your-company.com/termsAndConditionsUrl.pdf + /// http://your-company.com/termsAndConditions [DataMember(Name = "termsAndConditionsUrl", EmitDefaultValue = false)] public string TermsAndConditionsUrl { get; set; } @@ -197,9 +197,9 @@ protected VerificationRequest() { } /// The company 'Doing Business As'. (Not Available Until 5/28/2025) /// /// The company 'Doing Business As'. (Not Available Until 5/28/2025) - /// SecondCompany Name - [DataMember(Name = "businessDBA", EmitDefaultValue = false)] - public string BusinessDBA { get; set; } + /// Another Company Name Inc. + [DataMember(Name = "businessDba", EmitDefaultValue = false)] + public string BusinessDba { get; set; } /// /// Returns the string presentation of the object @@ -221,7 +221,7 @@ public override string ToString() sb.Append(" IsvReseller: ").Append(IsvReseller).Append("\n"); sb.Append(" PrivacyPolicyUrl: ").Append(PrivacyPolicyUrl).Append("\n"); sb.Append(" TermsAndConditionsUrl: ").Append(TermsAndConditionsUrl).Append("\n"); - sb.Append(" BusinessDBA: ").Append(BusinessDBA).Append("\n"); + sb.Append(" BusinessDba: ").Append(BusinessDba).Append("\n"); sb.Append("}\n"); return sb.ToString(); } diff --git a/src/Bandwidth.Standard/Model/VerificationUpdateRequest.cs b/src/Bandwidth.Standard/Model/VerificationUpdateRequest.cs index e9e3d8b..1dc0b34 100644 --- a/src/Bandwidth.Standard/Model/VerificationUpdateRequest.cs +++ b/src/Bandwidth.Standard/Model/VerificationUpdateRequest.cs @@ -51,8 +51,8 @@ protected VerificationUpdateRequest() { } /// ISV name.. /// The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025). /// The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025). - /// The company 'Doing Business As'. (Not Available Until 5/28/2025). - public VerificationUpdateRequest(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDBA = default(string)) + /// The company 'Doing Business As'. (Not Available Until 5/28/2025). + public VerificationUpdateRequest(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDba = default(string)) { // to ensure "businessAddress" is required (not null) if (businessAddress == null) @@ -95,7 +95,7 @@ protected VerificationUpdateRequest() { } this.IsvReseller = isvReseller; this.PrivacyPolicyUrl = privacyPolicyUrl; this.TermsAndConditionsUrl = termsAndConditionsUrl; - this.BusinessDBA = businessDBA; + this.BusinessDba = businessDba; } /// @@ -168,7 +168,7 @@ protected VerificationUpdateRequest() { } /// The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) /// /// The Toll-Free Verification request privacy policy URL. (Not Available Until 5/28/2025) - /// http://your-company.com/privacyPolicyUrl.pdf + /// http://your-company.com/privacyPolicy [DataMember(Name = "privacyPolicyUrl", EmitDefaultValue = false)] public string PrivacyPolicyUrl { get; set; } @@ -176,7 +176,7 @@ protected VerificationUpdateRequest() { } /// The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) /// /// The Toll-Free Verification request terms and conditions policy URL. (Not Available Until 5/28/2025) - /// http://your-company.com/termsAndConditionsUrl.pdf + /// http://your-company.com/termsAndConditions [DataMember(Name = "termsAndConditionsUrl", EmitDefaultValue = false)] public string TermsAndConditionsUrl { get; set; } @@ -184,9 +184,9 @@ protected VerificationUpdateRequest() { } /// The company 'Doing Business As'. (Not Available Until 5/28/2025) /// /// The company 'Doing Business As'. (Not Available Until 5/28/2025) - /// SecondCompany Name - [DataMember(Name = "businessDBA", EmitDefaultValue = false)] - public string BusinessDBA { get; set; } + /// Another Company Name Inc. + [DataMember(Name = "businessDba", EmitDefaultValue = false)] + public string BusinessDba { get; set; } /// /// Returns the string presentation of the object @@ -207,7 +207,7 @@ public override string ToString() sb.Append(" IsvReseller: ").Append(IsvReseller).Append("\n"); sb.Append(" PrivacyPolicyUrl: ").Append(PrivacyPolicyUrl).Append("\n"); sb.Append(" TermsAndConditionsUrl: ").Append(TermsAndConditionsUrl).Append("\n"); - sb.Append(" BusinessDBA: ").Append(BusinessDBA).Append("\n"); + sb.Append(" BusinessDba: ").Append(BusinessDba).Append("\n"); sb.Append("}\n"); return sb.ToString(); } From 491de082b767f0c718ca8009ea3d38e1fa035e79 Mon Sep 17 00:00:00 2001 From: ckoegel Date: Tue, 20 May 2025 14:06:46 -0400 Subject: [PATCH 2/3] businessDba tests --- .../Unit/Model/TfvSubmissionInfoTests.cs | 10 +++++----- .../Unit/Model/TfvSubmissionWrapperTests.cs | 2 +- .../Unit/Model/VerificationRequestTests.cs | 10 +++++----- .../Unit/Model/VerificationUpdateRequestTests.cs | 10 +++++----- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionInfoTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionInfoTests.cs index 2679788..1ce1c27 100644 --- a/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionInfoTests.cs +++ b/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionInfoTests.cs @@ -68,7 +68,7 @@ public TfvSubmissionInfoTests() isvReseller: "test", privacyPolicyUrl: "test", termsAndConditionsUrl: "test", - businessDBA: "test" + businessDba: "test" ); } @@ -197,13 +197,13 @@ public void TermsAndConditionsUrlTest() } /// - /// Test the property 'BusinessDBA' + /// Test the property 'BusinessDba' /// [Fact] - public void BusinessDBATest() + public void BusinessDbaTest() { - Assert.IsType(instance.BusinessDBA); - Assert.Equal("test", instance.BusinessDBA); + Assert.IsType(instance.BusinessDba); + Assert.Equal("test", instance.BusinessDba); } } } diff --git a/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionWrapperTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionWrapperTests.cs index 32b812b..fd8941b 100644 --- a/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionWrapperTests.cs +++ b/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionWrapperTests.cs @@ -61,7 +61,7 @@ public TfvSubmissionWrapperTests() isvReseller: "test", privacyPolicyUrl: "test", termsAndConditionsUrl: "test", - businessDBA: "test" + businessDba: "test" ); instance = new TfvSubmissionWrapper( diff --git a/src/Bandwidth.Standard.Test/Unit/Model/VerificationRequestTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/VerificationRequestTests.cs index e78b62d..5d8092a 100644 --- a/src/Bandwidth.Standard.Test/Unit/Model/VerificationRequestTests.cs +++ b/src/Bandwidth.Standard.Test/Unit/Model/VerificationRequestTests.cs @@ -60,7 +60,7 @@ public VerificationRequestTests() isvReseller: "test", privacyPolicyUrl: "test", termsAndConditionsUrl: "test", - businessDBA: "test" + businessDba: "test" ); } @@ -196,13 +196,13 @@ public void TermsAndConditionsUrlTest() } /// - /// Test the property 'BusinessDBA' + /// Test the property 'BusinessDba' /// [Fact] - public void BusinessDBATest() + public void BusinessDbaTest() { - Assert.IsType(instance.BusinessDBA); - Assert.Equal("test", instance.BusinessDBA); + Assert.IsType(instance.BusinessDba); + Assert.Equal("test", instance.BusinessDba); } } } diff --git a/src/Bandwidth.Standard.Test/Unit/Model/VerificationUpdateRequestTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/VerificationUpdateRequestTests.cs index 2322303..cb94b97 100644 --- a/src/Bandwidth.Standard.Test/Unit/Model/VerificationUpdateRequestTests.cs +++ b/src/Bandwidth.Standard.Test/Unit/Model/VerificationUpdateRequestTests.cs @@ -59,7 +59,7 @@ public VerificationUpdateRequestTests() isvReseller: "test", privacyPolicyUrl: "test", termsAndConditionsUrl: "test", - businessDBA: "test" + businessDba: "test" ); } @@ -185,13 +185,13 @@ public void TermsAndConditionsUrlTest() } /// - /// Test the property 'BusinessDBA' + /// Test the property 'BusinessDba' /// [Fact] - public void BusinessDBATest() + public void BusinessDbaTest() { - Assert.IsType(instance.BusinessDBA); - Assert.Equal("test", instance.BusinessDBA); + Assert.IsType(instance.BusinessDba); + Assert.Equal("test", instance.BusinessDba); } } } From 653a41377cab49c43328146f13ffe445240feef0 Mon Sep 17 00:00:00 2001 From: ckoegel Date: Tue, 20 May 2025 14:11:31 -0400 Subject: [PATCH 3/3] BlockedWebhook tests --- .../Unit/Model/BlockedWebhookTests.cs | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 src/Bandwidth.Standard.Test/Unit/Model/BlockedWebhookTests.cs diff --git a/src/Bandwidth.Standard.Test/Unit/Model/BlockedWebhookTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/BlockedWebhookTests.cs new file mode 100644 index 0000000..62903f6 --- /dev/null +++ b/src/Bandwidth.Standard.Test/Unit/Model/BlockedWebhookTests.cs @@ -0,0 +1,123 @@ +/* + * Bandwidth + * + * Bandwidth's Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Bandwidth.Standard.Model; +using Bandwidth.Standard.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Bandwidth.Standard.Test.Model +{ + /// + /// Class for testing BlockedWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class BlockedWebhookTests : IDisposable + { + private BlockedWebhook instance; + private Guid guid = Guid.NewGuid(); + + public BlockedWebhookTests() + { + instance = new BlockedWebhook( + accountId: "accountId", + phoneNumber: "phoneNumber", + status: TfvCallbackStatusEnum.VERIFIED, + internalTicketNumber: guid, + blocked: true, + blockedReason: "blockedReason" + ); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of BlockedWebhook + /// + [Fact] + public void BlockedWebhookInstanceTest() + { + Assert.IsType(instance); + } + + /// + /// Test the property 'AccountId' + /// + [Fact] + public void AccountIdTest() + { + Assert.IsType(instance.AccountId); + Assert.Equal("accountId", instance.AccountId); + } + + /// + /// Test the property 'PhoneNumber' + /// + [Fact] + public void PhoneNumberTest() + { + Assert.IsType(instance.PhoneNumber); + Assert.Equal("phoneNumber", instance.PhoneNumber); + } + + /// + /// Test the property 'Status' + /// + [Fact] + public void StatusTest() + { + Assert.IsType(instance.Status); + Assert.Equal(TfvCallbackStatusEnum.VERIFIED, instance.Status); + } + + /// + /// Test the property 'InternalTicketNumber' + /// + [Fact] + public void InternalTicketNumberTest() + { + Assert.IsType(instance.InternalTicketNumber); + Assert.Equal(guid, instance.InternalTicketNumber); + } + + /// + /// Test the property 'Blocked' + /// + [Fact] + public void BlockedTest() + { + Assert.IsType(instance.Blocked); + Assert.True(instance.Blocked); + } + + /// + /// Test the property 'BlockedReason' + /// + [Fact] + public void BlockedReasonTest() + { + Assert.IsType(instance.BlockedReason); + Assert.Equal("blockedReason", instance.BlockedReason); + } + } +}