diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index d8d76930..ae6cc285 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -129,6 +129,7 @@ docs/SetTalk.md
docs/Sms.md
docs/StartRecordCall.md
docs/TFN.md
+docs/TFNCampaign.md
docs/TerminateConference.md
docs/TranscribeReason.md
docs/TranscribeTermReason.md
@@ -270,6 +271,7 @@ src/freeclimb.Test/Model/SetListenTests.cs
src/freeclimb.Test/Model/SetTalkTests.cs
src/freeclimb.Test/Model/SmsTests.cs
src/freeclimb.Test/Model/StartRecordCallTests.cs
+src/freeclimb.Test/Model/TFNCampaignTests.cs
src/freeclimb.Test/Model/TFNTests.cs
src/freeclimb.Test/Model/TerminateConferenceTests.cs
src/freeclimb.Test/Model/TranscribeReasonTests.cs
@@ -428,6 +430,7 @@ src/freeclimb/Model/SetTalk.cs
src/freeclimb/Model/Sms.cs
src/freeclimb/Model/StartRecordCall.cs
src/freeclimb/Model/TFN.cs
+src/freeclimb/Model/TFNCampaign.cs
src/freeclimb/Model/TerminateConference.cs
src/freeclimb/Model/TranscribeReason.cs
src/freeclimb/Model/TranscribeTermReason.cs
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 41966137..9de9ec70 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,19 +9,30 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
None
+
+
+## [5.1.0] - 2025-02-05
+
+### Added
+
+- CampaignTFN and MessageResultsAllOfTfn models
+
## [5.0.0] - 2025-01-08
### Added
+
- Webhook classes
- More idiomated Enum management
### Changed
+
- Use upgraded openapi generator
### Removed
-- *AllOf model files
+
+- \*AllOf model files
diff --git a/README.md b/README.md
index 1da30d57..888ff174 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ FreeClimb is a cloud-based application programming interface (API) that puts the
This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 1.0.0
-- SDK version: 5.0.0
+- SDK version: 5.1.0
- Generator version: 7.9.0
- Build package: org.openapitools.codegen.languages.CSharpClientCodegen
For more information, please visit [https://www.freeclimb.com/support/](https://www.freeclimb.com/support/)
@@ -309,6 +309,7 @@ Class | Method | HTTP request | Description
- [Model.Sms](docs/Sms.md)
- [Model.StartRecordCall](docs/StartRecordCall.md)
- [Model.TFN](docs/TFN.md)
+ - [Model.TFNCampaign](docs/TFNCampaign.md)
- [Model.TerminateConference](docs/TerminateConference.md)
- [Model.TranscribeReason](docs/TranscribeReason.md)
- [Model.TranscribeTermReason](docs/TranscribeTermReason.md)
diff --git a/api/openapi.yaml b/api/openapi.yaml
index 3655da10..1002c95f 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -3611,6 +3611,7 @@ components:
type: object
x-is-map: true
x-is-hash: true
+ x-is-object: true
PerclScript:
description: A PerCL script to be returned to the FreeClimb servers in FreeClimb
applications
@@ -3623,6 +3624,7 @@ components:
x-is-list: true
type: object
x-percl-script: true
+ x-is-object: true
PerclCommand:
description: An individual command used in a PerCLScript.
discriminator:
@@ -3663,6 +3665,7 @@ components:
x-is-no-property: true
type: object
x-percl-command-base: true
+ x-is-object: true
Webhook:
discriminator:
mapping:
@@ -3698,6 +3701,7 @@ components:
x-webhook-base: true
type: object
x-webhook-base: true
+ x-is-object: true
AddToConferenceNotificationWebhook:
allOf:
- $ref: '#/components/schemas/Webhook'
@@ -5700,6 +5704,7 @@ components:
creation and is incremented every time it is updated.
type: integer
type: object
+ x-is-object: true
PaginationModel:
properties:
total:
@@ -5731,6 +5736,7 @@ components:
nullable: true
type: string
type: object
+ x-is-object: true
Capabilities:
description: Details for which features this number may be used.
example:
@@ -5798,6 +5804,7 @@ components:
description: Group to which this account belongs.
type: string
type: object
+ x-is-object: true
AccountResult:
allOf:
- $ref: '#/components/schemas/MutableResourceModel'
@@ -5994,6 +6001,7 @@ components:
x-is-uri: true
x-is-url: true
type: object
+ x-is-object: true
ApplicationList:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -6087,6 +6095,7 @@ components:
nullable: true
type: string
type: object
+ x-is-object: true
AvailableNumberList:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -6236,6 +6245,7 @@ components:
nullable: true
type: string
type: object
+ x-is-object: true
IncomingNumberList:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -6323,6 +6333,7 @@ components:
required:
- phoneNumber
type: object
+ x-is-object: true
CallResult:
allOf:
- $ref: '#/components/schemas/MutableResourceModel'
@@ -6424,6 +6435,7 @@ components:
required:
- status
type: object
+ x-is-object: true
MakeCallRequest:
example:
sendDigits: sendDigits
@@ -6519,6 +6531,7 @@ components:
- from
- to
type: object
+ x-is-object: true
CallList:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -6696,7 +6709,9 @@ components:
messages may include request and response header content in this field.
nullable: true
type: object
+ x-is-object: true
type: object
+ x-is-object: true
LogList:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -6819,6 +6834,7 @@ components:
campaignId: campaignId
messageId: messageId
uri: uri
+ phoneNumberId: phoneNumberId
segmentCount: 9.301444243932576
dateUpdated: dateUpdated
revision: 7
@@ -6828,15 +6844,19 @@ components:
from: from
to: to
text: text
+ applicationId: applicationId
mediaUrls:
- https://openapi-generator.tech
- https://openapi-generator.tech
+ tfn:
+ campaignId: campaignId
status: new
direction: direction
- notificationUrl: https://openapi-generator.tech
campaignId: campaignId
messageId: messageId
uri: uri
+ phoneNumberId: phoneNumberId
segmentCount: 9.301444243932576
dateUpdated: dateUpdated
revision: 7
@@ -6846,9 +6866,12 @@ components:
from: from
to: to
text: text
+ applicationId: applicationId
mediaUrls:
- https://openapi-generator.tech
- https://openapi-generator.tech
+ tfn:
+ campaignId: campaignId
status: new
direction: direction
end: 1
@@ -6916,6 +6939,7 @@ components:
required:
- query
type: object
+ x-is-object: true
CompletionResult:
example:
response: response
@@ -6930,6 +6954,7 @@ components:
- response
- status
type: object
+ x-is-object: true
ConferenceList:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -7037,12 +7062,25 @@ components:
nullable: true
type: array
x-is-list: true
+ tfn:
+ $ref: '#/components/schemas/TFN'
+ phoneNumberId:
+ description: String that uniquely identifies the phoneNumber resource
+ used to send this Message
+ nullable: true
+ type: string
+ applicationId:
+ description: String that uniquely identifies the Application resource
+ used to send this Message
+ nullable: true
+ type: string
type: object
example:
notificationUrl: https://openapi-generator.tech
campaignId: campaignId
messageId: messageId
uri: uri
+ phoneNumberId: phoneNumberId
segmentCount: 9.301444243932576
dateUpdated: dateUpdated
revision: 7
@@ -7052,11 +7090,56 @@ components:
from: from
to: to
text: text
+ applicationId: applicationId
mediaUrls:
- https://openapi-generator.tech
- https://openapi-generator.tech
+ tfn:
+ campaignId: campaignId
status: new
direction: direction
+ TFNCampaign:
+ properties:
+ accountId:
+ description: ID of the account that created this participant.
+ nullable: true
+ type: string
+ campaignId:
+ description: TFNCampaignId
+ example: cmptfn_387ec3f6e03b340553f35f29c8f118cdf3eae08a
+ pattern: "cmptfn_[a-fA-F0-9]{40}"
+ type: string
+ useCase:
+ type: string
+ registrationStatus:
+ $ref: '#/components/schemas/SMSTollFreeCampaignRegistrationStatus'
+ dateCreated:
+ type: string
+ dateUpdated:
+ type: string
+ dateCreatedISO:
+ type: string
+ dateUpdatedISO:
+ type: string
+ revision:
+ type: integer
+ required:
+ - accountId
+ - campaignId
+ - dateCreated
+ - dateCreatedISO
+ - dateUpdated
+ - dateUpdatedISO
+ - registrationStatus
+ - revision
+ - useCase
+ type: object
+ x-is-object: true
+ TFNCampaignId:
+ description: TFNCampaignId
+ example: cmptfn_387ec3f6e03b340553f35f29c8f118cdf3eae08a
+ pattern: "cmptfn_[a-fA-F0-9]{40}"
+ type: string
CreateConferenceRequest:
example:
playBeep: always
@@ -7090,6 +7173,7 @@ components:
x-is-uri: true
x-is-url: true
type: object
+ x-is-object: true
UpdateConferenceRequest:
example:
playBeep: always
@@ -7104,6 +7188,7 @@ components:
status:
$ref: '#/components/schemas/UpdateConferenceRequestStatus'
type: object
+ x-is-object: true
ConferenceParticipantResult:
allOf:
- $ref: '#/components/schemas/MutableResourceModel'
@@ -7174,6 +7259,7 @@ components:
other value.
type: boolean
type: object
+ x-is-object: true
ConferenceParticipantList:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -7279,6 +7365,7 @@ components:
format: int32
type: integer
type: object
+ x-is-object: true
QueueList:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -7353,6 +7440,7 @@ components:
nullable: true
type: string
type: object
+ x-is-object: true
QueueMemberList:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -7395,6 +7483,7 @@ components:
required:
- pql
type: object
+ x-is-object: true
SMSTenDLCCampaignsListResult:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -7699,6 +7788,7 @@ components:
- subUsecases
- usecase
type: object
+ x-is-object: true
SMSTenDLCPartnerCampaignsListResult:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -7978,6 +8068,7 @@ components:
- description
- usecase
type: object
+ x-is-object: true
SMSTenDLCPartnerCampaignBrand:
properties:
accountId:
@@ -8029,6 +8120,7 @@ components:
type: object
x-is-map: true
x-is-hash: true
+ x-is-object: true
evpVettingScore:
description: External vetting score.
type: integer
@@ -8273,6 +8365,7 @@ components:
type: object
x-is-map: true
x-is-hash: true
+ x-is-object: true
mock:
description: Test brand.
type: boolean
@@ -8294,6 +8387,7 @@ components:
- phone
- vertical
type: object
+ x-is-object: true
SMSTollFreeCampaignsListResult:
allOf:
- $ref: '#/components/schemas/PaginationModel'
@@ -8366,6 +8460,7 @@ components:
- revision
- useCase
type: object
+ x-is-object: true
TranscribeUtteranceRecord:
properties:
saveRecording:
@@ -8458,24 +8553,29 @@ components:
- to
- uses
type: object
+ x-is-object: true
AccountResult_allOf_subresourceUris:
description: The list of subresources for this account.
nullable: true
type: object
+ x-is-object: true
CallResult_allOf_subresourceUris:
description: The list of subresources for this Call. These include things like
logs and recordings associated with the Call.
nullable: true
type: object
+ x-is-object: true
ConferenceResult_allOf_subresourceUris:
description: The list of subresources for this Conference. This includes participants
and/or recordings.
nullable: true
type: object
+ x-is-object: true
QueueResult_allOf_subresourceUris:
description: List of subresources for this Queue (which includes Queue members).
nullable: true
type: object
+ x-is-object: true
securitySchemes:
fc:
description: HTTP requests to the FreeClimb REST API are protected with HTTP
diff --git a/docs/MessageResult.md b/docs/MessageResult.md
index e89c9fb1..42bdc71e 100644
--- a/docs/MessageResult.md
+++ b/docs/MessageResult.md
@@ -20,6 +20,9 @@ Name | Type | Description | Notes
**CampaignId** | **string** | The unique identifier for the campaign associated with the message | [optional]
**SegmentCount** | **decimal?** | The number of segments into which the message was split | [optional]
**MediaUrls** | **List<string>** | an array of HTTP URLs which were attached this this message | [optional]
+**Tfn** | [**TFN**](TFN.md) | | [optional]
+**PhoneNumberId** | **string** | String that uniquely identifies the phoneNumber resource used to send this Message | [optional]
+**ApplicationId** | **string** | String that uniquely identifies the Application resource used to send this Message | [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/TFNCampaign.md b/docs/TFNCampaign.md
new file mode 100644
index 00000000..6c75e80d
--- /dev/null
+++ b/docs/TFNCampaign.md
@@ -0,0 +1,18 @@
+# freeclimb.Model.TFNCampaign
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AccountId** | **string** | ID of the account that created this participant. |
+**CampaignId** | **string** | TFNCampaignId |
+**UseCase** | **string** | |
+**RegistrationStatus** | **SMSTollFreeCampaignRegistrationStatus** | |
+**DateCreated** | **string** | |
+**DateUpdated** | **string** | |
+**DateCreatedISO** | **string** | |
+**DateUpdatedISO** | **string** | |
+**Revision** | **int** | |
+
+[[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/freeclimb.sln b/freeclimb.sln
index f5f35b7f..c7fe578e 100644
--- a/freeclimb.sln
+++ b/freeclimb.sln
@@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
VisualStudioVersion = 12.0.0.0
MinimumVisualStudioVersion = 10.0.0.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "freeclimb", "src\freeclimb\freeclimb.csproj", "{E31D44D0-DF1A-48CD-BA05-314917BFFDED}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "freeclimb", "src\freeclimb\freeclimb.csproj", "{C91A178A-2C49-4F49-8DE1-BC53237FCA10}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "freeclimb.Test", "src\freeclimb.Test\freeclimb.Test.csproj", "{19F1DEBC-DE5E-4517-8062-F000CD499087}"
EndProject
@@ -12,10 +12,10 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {E31D44D0-DF1A-48CD-BA05-314917BFFDED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E31D44D0-DF1A-48CD-BA05-314917BFFDED}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E31D44D0-DF1A-48CD-BA05-314917BFFDED}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E31D44D0-DF1A-48CD-BA05-314917BFFDED}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C91A178A-2C49-4F49-8DE1-BC53237FCA10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C91A178A-2C49-4F49-8DE1-BC53237FCA10}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C91A178A-2C49-4F49-8DE1-BC53237FCA10}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C91A178A-2C49-4F49-8DE1-BC53237FCA10}.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/src/freeclimb.Test/Api/DefaultApiTests.cs b/src/freeclimb.Test/Api/DefaultApiTests.cs
index baf0f465..e7d29b42 100644
--- a/src/freeclimb.Test/Api/DefaultApiTests.cs
+++ b/src/freeclimb.Test/Api/DefaultApiTests.cs
@@ -1507,7 +1507,7 @@ private ApplicationRequest applicationRequestTestValue()
"https://callconnect.com",
"https://status.com",
"https://sms.com",
- "smsfallback.com"
+ "https://smsfallback.com"
);
}
diff --git a/src/freeclimb.Test/Model/AccountResultTests.cs b/src/freeclimb.Test/Model/AccountResultTests.cs
index 3e2cd713..14970604 100644
--- a/src/freeclimb.Test/Model/AccountResultTests.cs
+++ b/src/freeclimb.Test/Model/AccountResultTests.cs
@@ -179,7 +179,7 @@ public void StatusTest()
[Fact]
public void SubresourceUrisTest()
{
- object testObject = new object();
+ Object testObject = (Object)TestHelpers.getTestValue(typeof(Object));
instance.SubresourceUris = testObject;
Assert.Equal(testObject, instance.SubresourceUris);
}
diff --git a/src/freeclimb.Test/Model/CallResultTests.cs b/src/freeclimb.Test/Model/CallResultTests.cs
index 20469cd6..e9b71efe 100644
--- a/src/freeclimb.Test/Model/CallResultTests.cs
+++ b/src/freeclimb.Test/Model/CallResultTests.cs
@@ -282,7 +282,7 @@ public void AnsweredByTest()
[Fact]
public void SubresourceUrisTest()
{
- object testObject = new object();
+ Object testObject = (Object)TestHelpers.getTestValue(typeof(Object));
instance.SubresourceUris = testObject;
Assert.Equal(testObject, instance.SubresourceUris);
}
diff --git a/src/freeclimb.Test/Model/ConferenceResultTests.cs b/src/freeclimb.Test/Model/ConferenceResultTests.cs
index c14cd9c5..b8f85163 100644
--- a/src/freeclimb.Test/Model/ConferenceResultTests.cs
+++ b/src/freeclimb.Test/Model/ConferenceResultTests.cs
@@ -218,7 +218,7 @@ public void StatusCallbackUrlTest()
[Fact]
public void SubresourceUrisTest()
{
- object testObject = new object();
+ Object testObject = (Object)TestHelpers.getTestValue(typeof(Object));
instance.SubresourceUris = testObject;
Assert.Equal(testObject, instance.SubresourceUris);
}
diff --git a/src/freeclimb.Test/Model/LogResultTests.cs b/src/freeclimb.Test/Model/LogResultTests.cs
index 494bba44..1c83f834 100644
--- a/src/freeclimb.Test/Model/LogResultTests.cs
+++ b/src/freeclimb.Test/Model/LogResultTests.cs
@@ -133,7 +133,7 @@ public void MessageTest()
[Fact]
public void MetadataTest()
{
- object testObject = new object();
+ Object testObject = (Object)TestHelpers.getTestValue(typeof(Object));
instance.Metadata = testObject;
Assert.Equal(testObject, instance.Metadata);
}
diff --git a/src/freeclimb.Test/Model/MessageResultTests.cs b/src/freeclimb.Test/Model/MessageResultTests.cs
index f22132e2..94129901 100644
--- a/src/freeclimb.Test/Model/MessageResultTests.cs
+++ b/src/freeclimb.Test/Model/MessageResultTests.cs
@@ -54,7 +54,10 @@ public MessageResultTests()
brandId: (string)TestHelpers.getTestValue(typeof(string)),
campaignId: (string)TestHelpers.getTestValue(typeof(string)),
segmentCount: (decimal?)TestHelpers.getTestValue(typeof(decimal?)),
- mediaUrls: (List)TestHelpers.getTestValue(typeof(List))
+ mediaUrls: (List)TestHelpers.getTestValue(typeof(List)),
+ tfn: (TFN)TestHelpers.getTestValue(typeof(TFN)),
+ phoneNumberId: (string)TestHelpers.getTestValue(typeof(string)),
+ applicationId: (string)TestHelpers.getTestValue(typeof(string))
);
}
@@ -252,5 +255,36 @@ public void MediaUrlsTest()
instance.MediaUrls = testList;
Assert.Equal(instance.MediaUrls, testList);
}
+
+ ///
+ /// Test the property 'Tfn'
+ ///
+ [Fact]
+ public void TfnTest()
+ {
+ TFN testObject = (TFN)TestHelpers.getTestValue(typeof(TFN));
+ instance.Tfn = testObject;
+ Assert.Equal(testObject, instance.Tfn);
+ }
+
+ ///
+ /// Test the property 'PhoneNumberId'
+ ///
+ [Fact]
+ public void PhoneNumberIdTest()
+ {
+ instance.PhoneNumberId = "TEST_STRING";
+ Assert.Equal("TEST_STRING", instance.PhoneNumberId);
+ }
+
+ ///
+ /// Test the property 'ApplicationId'
+ ///
+ [Fact]
+ public void ApplicationIdTest()
+ {
+ instance.ApplicationId = "TEST_STRING";
+ Assert.Equal("TEST_STRING", instance.ApplicationId);
+ }
}
}
diff --git a/src/freeclimb.Test/Model/QueueResultTests.cs b/src/freeclimb.Test/Model/QueueResultTests.cs
index 69cd9650..ee27bbff 100644
--- a/src/freeclimb.Test/Model/QueueResultTests.cs
+++ b/src/freeclimb.Test/Model/QueueResultTests.cs
@@ -173,7 +173,7 @@ public void AverageQueueRemovalTimeTest()
[Fact]
public void SubresourceUrisTest()
{
- object testObject = new object();
+ Object testObject = (Object)TestHelpers.getTestValue(typeof(Object));
instance.SubresourceUris = testObject;
Assert.Equal(testObject, instance.SubresourceUris);
}
diff --git a/src/freeclimb.Test/Model/SMSTenDLCBrandTests.cs b/src/freeclimb.Test/Model/SMSTenDLCBrandTests.cs
index ad2be224..449dac15 100644
--- a/src/freeclimb.Test/Model/SMSTenDLCBrandTests.cs
+++ b/src/freeclimb.Test/Model/SMSTenDLCBrandTests.cs
@@ -410,9 +410,11 @@ public void ReferenceIdTest()
[Fact]
public void OptionalAttributesTest()
{
- Dictionary testDictionary = new Dictionary();
- instance.OptionalAttributes = testDictionary;
- Assert.Equal(testDictionary, instance.OptionalAttributes);
+ Dictionary testObject =
+ (Dictionary)
+ TestHelpers.getTestValue(typeof(Dictionary));
+ instance.OptionalAttributes = testObject;
+ Assert.Equal(testObject, instance.OptionalAttributes);
}
///
diff --git a/src/freeclimb.Test/Model/SMSTenDLCPartnerCampaignBrandTests.cs b/src/freeclimb.Test/Model/SMSTenDLCPartnerCampaignBrandTests.cs
index 13b76195..0b99a47e 100644
--- a/src/freeclimb.Test/Model/SMSTenDLCPartnerCampaignBrandTests.cs
+++ b/src/freeclimb.Test/Model/SMSTenDLCPartnerCampaignBrandTests.cs
@@ -153,9 +153,11 @@ public void WebsiteTest()
[Fact]
public void OptionalAttributesTest()
{
- Dictionary testDictionary = new Dictionary();
- instance.OptionalAttributes = testDictionary;
- Assert.Equal(testDictionary, instance.OptionalAttributes);
+ Dictionary testObject =
+ (Dictionary)
+ TestHelpers.getTestValue(typeof(Dictionary));
+ instance.OptionalAttributes = testObject;
+ Assert.Equal(testObject, instance.OptionalAttributes);
}
///
diff --git a/src/freeclimb.Test/Model/TFNCampaignTests.cs b/src/freeclimb.Test/Model/TFNCampaignTests.cs
new file mode 100644
index 00000000..3cfa3030
--- /dev/null
+++ b/src/freeclimb.Test/Model/TFNCampaignTests.cs
@@ -0,0 +1,182 @@
+/*
+ * FreeClimb API
+ *
+ * FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@freeclimb.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using freeclimb.Client;
+using freeclimb.Enums;
+using freeclimb.Model;
+using freeclimb.Test;
+using Newtonsoft.Json;
+using Xunit;
+
+namespace freeclimb.Test.Model
+{
+ ///
+ /// Class for testing TFNCampaign
+ ///
+ ///
+ /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech).
+ /// Please update the test case below to test the model.
+ ///
+
+ public class TFNCampaignTests : IDisposable
+ {
+ private TFNCampaign instance;
+
+ public TFNCampaignTests()
+ {
+ instance = new TFNCampaign(
+ accountId: (string)TestHelpers.getTestValue(typeof(string)),
+ campaignId: (string)TestHelpers.getTestValue(typeof(string)),
+ useCase: (string)TestHelpers.getTestValue(typeof(string)),
+ registrationStatus: (SMSTollFreeCampaignRegistrationStatus)
+ TestHelpers.getTestValue(typeof(SMSTollFreeCampaignRegistrationStatus)),
+ dateCreated: (string)TestHelpers.getTestValue(typeof(string)),
+ dateUpdated: (string)TestHelpers.getTestValue(typeof(string)),
+ dateCreatedISO: (string)TestHelpers.getTestValue(typeof(string)),
+ dateUpdatedISO: (string)TestHelpers.getTestValue(typeof(string)),
+ revision: (int)TestHelpers.getTestValue(typeof(int))
+ );
+ }
+
+ public void Dispose()
+ {
+ // Cleanup when everything is done.
+ }
+
+ ///
+ /// Test an instance of TFNCampaign
+ ///
+ [Fact]
+ public void TFNCampaignInstanceTest()
+ {
+ Assert.IsType(instance);
+ }
+
+ ///
+ /// Test the property 'AccountId'
+ ///
+ [Fact]
+ public void AccountIdTest()
+ {
+ instance.AccountId = "TEST_STRING";
+ Assert.Equal("TEST_STRING", instance.AccountId);
+ }
+
+ ///
+ /// Test the property 'CampaignId'
+ ///
+ [Fact]
+ public void CampaignIdTest()
+ {
+ instance.CampaignId = "TEST_STRING";
+ Assert.Equal("TEST_STRING", instance.CampaignId);
+ }
+
+ ///
+ /// Test the property 'UseCase'
+ ///
+ [Fact]
+ public void UseCaseTest()
+ {
+ instance.UseCase = "TEST_STRING";
+ Assert.Equal("TEST_STRING", instance.UseCase);
+ }
+
+ ///
+ /// Test the property 'RegistrationStatus'
+ ///
+ [Fact]
+ public void RegistrationStatusTest()
+ {
+ instance.RegistrationStatus = SMSTollFreeCampaignRegistrationStatus.UNREGISTERED;
+ Assert.Equal(
+ SMSTollFreeCampaignRegistrationStatus.UNREGISTERED,
+ instance.RegistrationStatus
+ );
+ instance.RegistrationStatus = SMSTollFreeCampaignRegistrationStatus.INITIATED;
+ Assert.Equal(
+ SMSTollFreeCampaignRegistrationStatus.INITIATED,
+ instance.RegistrationStatus
+ );
+ instance.RegistrationStatus = SMSTollFreeCampaignRegistrationStatus.PENDING;
+ Assert.Equal(
+ SMSTollFreeCampaignRegistrationStatus.PENDING,
+ instance.RegistrationStatus
+ );
+ instance.RegistrationStatus = SMSTollFreeCampaignRegistrationStatus.DECLINED;
+ Assert.Equal(
+ SMSTollFreeCampaignRegistrationStatus.DECLINED,
+ instance.RegistrationStatus
+ );
+ instance.RegistrationStatus = SMSTollFreeCampaignRegistrationStatus.REGISTERED;
+ Assert.Equal(
+ SMSTollFreeCampaignRegistrationStatus.REGISTERED,
+ instance.RegistrationStatus
+ );
+ }
+
+ ///
+ /// Test the property 'DateCreated'
+ ///
+ [Fact]
+ public void DateCreatedTest()
+ {
+ instance.DateCreated = "TEST_STRING";
+ Assert.Equal("TEST_STRING", instance.DateCreated);
+ }
+
+ ///
+ /// Test the property 'DateUpdated'
+ ///
+ [Fact]
+ public void DateUpdatedTest()
+ {
+ instance.DateUpdated = "TEST_STRING";
+ Assert.Equal("TEST_STRING", instance.DateUpdated);
+ }
+
+ ///
+ /// Test the property 'DateCreatedISO'
+ ///
+ [Fact]
+ public void DateCreatedISOTest()
+ {
+ instance.DateCreatedISO = "TEST_STRING";
+ Assert.Equal("TEST_STRING", instance.DateCreatedISO);
+ }
+
+ ///
+ /// Test the property 'DateUpdatedISO'
+ ///
+ [Fact]
+ public void DateUpdatedISOTest()
+ {
+ instance.DateUpdatedISO = "TEST_STRING";
+ Assert.Equal("TEST_STRING", instance.DateUpdatedISO);
+ }
+
+ ///
+ /// Test the property 'Revision'
+ ///
+ [Fact]
+ public void RevisionTest()
+ {
+ instance.Revision = 1;
+ Assert.Equal(1, (int)instance.Revision);
+ }
+ }
+}
diff --git a/src/freeclimb/Client/Configuration.cs b/src/freeclimb/Client/Configuration.cs
index 9b525a1e..b3ea001c 100644
--- a/src/freeclimb/Client/Configuration.cs
+++ b/src/freeclimb/Client/Configuration.cs
@@ -34,7 +34,7 @@ public class Configuration : IReadableConfiguration
/// Version of the package.
///
/// Version of the package.
- public const string Version = "5.0.0";
+ public const string Version = "5.1.0";
///
/// Identifier for ISO 8601 DateTime Format
@@ -130,7 +130,7 @@ private IReadOnlyDictionary<
public Configuration()
{
Proxy = null;
- UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/5.0.0/csharp");
+ UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/5.1.0/csharp");
BasePath = "https://www.freeclimb.com/apiserver";
DefaultHeaders = new ConcurrentDictionary();
ApiKey = new ConcurrentDictionary();
@@ -582,7 +582,7 @@ public static string ToDebugReport()
report += " OS: " + System.Environment.OSVersion + "\n";
report += " .NET Framework Version: " + System.Environment.Version + "\n";
report += " Version of the API: 1.0.0\n";
- report += " SDK Package Version: 5.0.0\n";
+ report += " SDK Package Version: 5.1.0\n";
return report;
}
diff --git a/src/freeclimb/Model/MessageResult.cs b/src/freeclimb/Model/MessageResult.cs
index ce23132c..be417c60 100644
--- a/src/freeclimb/Model/MessageResult.cs
+++ b/src/freeclimb/Model/MessageResult.cs
@@ -58,6 +58,9 @@ public partial class MessageResult : IValidatableObject
/// The unique identifier for the campaign associated with the message.
/// The number of segments into which the message was split.
/// an array of HTTP URLs which were attached this this message.
+ /// tfn.
+ /// String that uniquely identifies the phoneNumber resource used to send this Message.
+ /// String that uniquely identifies the Application resource used to send this Message.
public MessageResult(
string uri = default(string),
string dateCreated = default(string),
@@ -74,7 +77,10 @@ public MessageResult(
string brandId = default(string),
string campaignId = default(string),
decimal? segmentCount = default(decimal?),
- List mediaUrls = default(List)
+ List mediaUrls = default(List),
+ TFN tfn = default(TFN),
+ string phoneNumberId = default(string),
+ string applicationId = default(string)
)
{
this.Uri = uri;
@@ -108,6 +114,12 @@ public MessageResult(
this.SegmentCount = segmentCount;
this.MediaUrls = mediaUrls;
+
+ this.Tfn = tfn;
+
+ this.PhoneNumberId = phoneNumberId;
+
+ this.ApplicationId = applicationId;
}
///
@@ -215,6 +227,26 @@ public MessageResult(
[DataMember(Name = "mediaUrls", EmitDefaultValue = true)]
public List MediaUrls { get; set; }
+ ///
+ /// Gets or Sets Tfn
+ ///
+ [DataMember(Name = "tfn", EmitDefaultValue = false)]
+ public TFN Tfn { get; set; }
+
+ ///
+ /// String that uniquely identifies the phoneNumber resource used to send this Message
+ ///
+ /// String that uniquely identifies the phoneNumber resource used to send this Message
+ [DataMember(Name = "phoneNumberId", EmitDefaultValue = true)]
+ public string PhoneNumberId { get; set; }
+
+ ///
+ /// String that uniquely identifies the Application resource used to send this Message
+ ///
+ /// String that uniquely identifies the Application resource used to send this Message
+ [DataMember(Name = "applicationId", EmitDefaultValue = true)]
+ public string ApplicationId { get; set; }
+
///
/// Returns the string presentation of the object
///
@@ -239,6 +271,9 @@ public override string ToString()
sb.Append(" CampaignId: ").Append(CampaignId).Append("\n");
sb.Append(" SegmentCount: ").Append(SegmentCount).Append("\n");
sb.Append(" MediaUrls: ").Append(MediaUrls).Append("\n");
+ sb.Append(" Tfn: ").Append(Tfn).Append("\n");
+ sb.Append(" PhoneNumberId: ").Append(PhoneNumberId).Append("\n");
+ sb.Append(" ApplicationId: ").Append(ApplicationId).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -283,6 +318,9 @@ public virtual IDictionary ToKvp()
nested.Add(item);
}
props.Add("mediaUrls", nested);
+ props.Add("tfn", Tfn);
+ props.Add("phoneNumberId", PhoneNumberId);
+ props.Add("applicationId", ApplicationId);
return props;
}
diff --git a/src/freeclimb/Model/TFNCampaign.cs b/src/freeclimb/Model/TFNCampaign.cs
new file mode 100644
index 00000000..c617a63f
--- /dev/null
+++ b/src/freeclimb/Model/TFNCampaign.cs
@@ -0,0 +1,274 @@
+/*
+ * FreeClimb API
+ *
+ * FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@freeclimb.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.ComponentModel.DataAnnotations;
+using System.IO;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using freeclimb.Enums;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using OpenAPIDateConverter = freeclimb.Client.OpenAPIDateConverter;
+
+namespace freeclimb.Model
+{
+ ///
+ /// TFNCampaign
+ ///
+ [DataContract(Name = "TFNCampaign")]
+ public partial class TFNCampaign : IValidatableObject
+ {
+ ///
+ /// Gets or Sets RegistrationStatus
+ ///
+ [DataMember(Name = "registrationStatus", IsRequired = true, EmitDefaultValue = true)]
+ public SMSTollFreeCampaignRegistrationStatus RegistrationStatus { get; set; }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected TFNCampaign() { }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// ID of the account that created this participant. (required).
+ /// TFNCampaignId (required).
+ /// useCase (required).
+ /// registrationStatus (required).
+ /// dateCreated (required).
+ /// dateUpdated (required).
+ /// dateCreatedISO (required).
+ /// dateUpdatedISO (required).
+ /// revision (required).
+ public TFNCampaign(
+ string accountId = default(string),
+ string campaignId = default(string),
+ string useCase = default(string),
+ SMSTollFreeCampaignRegistrationStatus registrationStatus =
+ default(SMSTollFreeCampaignRegistrationStatus),
+ string dateCreated = default(string),
+ string dateUpdated = default(string),
+ string dateCreatedISO = default(string),
+ string dateUpdatedISO = default(string),
+ int revision = default(int)
+ )
+ {
+ // to ensure "accountId" is required (not null)
+ if (accountId == null)
+ {
+ throw new ArgumentNullException(
+ "accountId is a required property for TFNCampaign and cannot be null"
+ );
+ }
+ this.AccountId = accountId;
+
+ // to ensure "campaignId" is required (not null)
+ if (campaignId == null)
+ {
+ throw new ArgumentNullException(
+ "campaignId is a required property for TFNCampaign and cannot be null"
+ );
+ }
+ this.CampaignId = campaignId;
+
+ // to ensure "useCase" is required (not null)
+ if (useCase == null)
+ {
+ throw new ArgumentNullException(
+ "useCase is a required property for TFNCampaign and cannot be null"
+ );
+ }
+ this.UseCase = useCase;
+
+ this.RegistrationStatus = registrationStatus;
+
+ // to ensure "dateCreated" is required (not null)
+ if (dateCreated == null)
+ {
+ throw new ArgumentNullException(
+ "dateCreated is a required property for TFNCampaign and cannot be null"
+ );
+ }
+ this.DateCreated = dateCreated;
+
+ // to ensure "dateUpdated" is required (not null)
+ if (dateUpdated == null)
+ {
+ throw new ArgumentNullException(
+ "dateUpdated is a required property for TFNCampaign and cannot be null"
+ );
+ }
+ this.DateUpdated = dateUpdated;
+
+ // to ensure "dateCreatedISO" is required (not null)
+ if (dateCreatedISO == null)
+ {
+ throw new ArgumentNullException(
+ "dateCreatedISO is a required property for TFNCampaign and cannot be null"
+ );
+ }
+ this.DateCreatedISO = dateCreatedISO;
+
+ // to ensure "dateUpdatedISO" is required (not null)
+ if (dateUpdatedISO == null)
+ {
+ throw new ArgumentNullException(
+ "dateUpdatedISO is a required property for TFNCampaign and cannot be null"
+ );
+ }
+ this.DateUpdatedISO = dateUpdatedISO;
+
+ this.Revision = revision;
+ }
+
+ ///
+ /// ID of the account that created this participant.
+ ///
+ /// ID of the account that created this participant.
+ [DataMember(Name = "accountId", IsRequired = true, EmitDefaultValue = true)]
+ public string AccountId { get; set; }
+
+ ///
+ /// TFNCampaignId
+ ///
+ /// TFNCampaignId
+ /*
+ cmptfn_387ec3f6e03b340553f35f29c8f118cdf3eae08a
+ */
+ [DataMember(Name = "campaignId", IsRequired = true, EmitDefaultValue = true)]
+ public string CampaignId { get; set; }
+
+ ///
+ /// Gets or Sets UseCase
+ ///
+ [DataMember(Name = "useCase", IsRequired = true, EmitDefaultValue = true)]
+ public string UseCase { get; set; }
+
+ ///
+ /// Gets or Sets DateCreated
+ ///
+ [DataMember(Name = "dateCreated", IsRequired = true, EmitDefaultValue = true)]
+ public string DateCreated { get; set; }
+
+ ///
+ /// Gets or Sets DateUpdated
+ ///
+ [DataMember(Name = "dateUpdated", IsRequired = true, EmitDefaultValue = true)]
+ public string DateUpdated { get; set; }
+
+ ///
+ /// Gets or Sets DateCreatedISO
+ ///
+ [DataMember(Name = "dateCreatedISO", IsRequired = true, EmitDefaultValue = true)]
+ public string DateCreatedISO { get; set; }
+
+ ///
+ /// Gets or Sets DateUpdatedISO
+ ///
+ [DataMember(Name = "dateUpdatedISO", IsRequired = true, EmitDefaultValue = true)]
+ public string DateUpdatedISO { get; set; }
+
+ ///
+ /// Gets or Sets Revision
+ ///
+ [DataMember(Name = "revision", IsRequired = true, EmitDefaultValue = true)]
+ public int Revision { 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 TFNCampaign {\n");
+ sb.Append(" AccountId: ").Append(AccountId).Append("\n");
+ sb.Append(" CampaignId: ").Append(CampaignId).Append("\n");
+ sb.Append(" UseCase: ").Append(UseCase).Append("\n");
+ sb.Append(" RegistrationStatus: ").Append(RegistrationStatus).Append("\n");
+ sb.Append(" DateCreated: ").Append(DateCreated).Append("\n");
+ sb.Append(" DateUpdated: ").Append(DateUpdated).Append("\n");
+ sb.Append(" DateCreatedISO: ").Append(DateCreatedISO).Append("\n");
+ sb.Append(" DateUpdatedISO: ").Append(DateUpdatedISO).Append("\n");
+ sb.Append(" Revision: ").Append(Revision).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
+ );
+ }
+
+ ///
+ /// Retrieve the KVP Dictionary for the TFNCampaign instance.
+ ///
+ /// KVP Dictionary
+ public virtual IDictionary ToKvp()
+ {
+ IDictionary props = new Dictionary();
+ props.Add("accountId", AccountId);
+ props.Add("campaignId", CampaignId);
+ props.Add("useCase", UseCase);
+ props.Add("registrationStatus", RegistrationStatus);
+ props.Add("dateCreated", DateCreated);
+ props.Add("dateUpdated", DateUpdated);
+ props.Add("dateCreatedISO", DateCreatedISO);
+ props.Add("dateUpdatedISO", DateUpdatedISO);
+ props.Add("revision", Revision);
+ return props;
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(
+ ValidationContext validationContext
+ )
+ {
+ if (this.CampaignId != null)
+ {
+ // CampaignId (string) pattern
+ Regex regexCampaignId = new Regex(
+ @"cmptfn_[a-fA-F0-9]{40}",
+ RegexOptions.CultureInvariant
+ );
+ if (!regexCampaignId.Match(this.CampaignId).Success)
+ {
+ yield return new System.ComponentModel.DataAnnotations.ValidationResult(
+ "Invalid value for CampaignId, must match a pattern of " + regexCampaignId,
+ new[] { "CampaignId" }
+ );
+ }
+ }
+
+ yield break;
+ }
+ }
+}
diff --git a/src/freeclimb/freeclimb.csproj b/src/freeclimb/freeclimb.csproj
index 079ba5d4..73cd940b 100644
--- a/src/freeclimb/freeclimb.csproj
+++ b/src/freeclimb/freeclimb.csproj
@@ -12,7 +12,7 @@
A library generated from a OpenAPI doc
No Copyright
freeclimb
- 5.0.0
+ 5.1.0
bin\$(Configuration)\$(TargetFramework)\freeclimb.xml
https://github.com/freeclimbapi/csharp-sdk.git
git