diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index 355e7866..cde38de4 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -73,6 +73,7 @@ docs/MessageDeliveryWebhook.md
docs/MessageDirection.md
docs/MessageRequest.md
docs/MessageResult.md
+docs/MessageResultAllOfTfn.md
docs/MessageStatus.md
docs/MessageStatusWebhook.md
docs/MessagesList.md
@@ -132,6 +133,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
@@ -230,6 +232,7 @@ src/main/java/com/github/freeclimbapi/MessageDeliveryWebhook.java
src/main/java/com/github/freeclimbapi/MessageDirection.java
src/main/java/com/github/freeclimbapi/MessageRequest.java
src/main/java/com/github/freeclimbapi/MessageResult.java
+src/main/java/com/github/freeclimbapi/MessageResultAllOfTfn.java
src/main/java/com/github/freeclimbapi/MessageStatus.java
src/main/java/com/github/freeclimbapi/MessageStatusWebhook.java
src/main/java/com/github/freeclimbapi/MessagesList.java
@@ -295,6 +298,7 @@ src/main/java/com/github/freeclimbapi/Sms.java
src/main/java/com/github/freeclimbapi/StartRecordCall.java
src/main/java/com/github/freeclimbapi/StringUtil.java
src/main/java/com/github/freeclimbapi/TFN.java
+src/main/java/com/github/freeclimbapi/TFNCampaign.java
src/main/java/com/github/freeclimbapi/TerminateConference.java
src/main/java/com/github/freeclimbapi/TranscribeReason.java
src/main/java/com/github/freeclimbapi/TranscribeTermReason.java
@@ -379,6 +383,7 @@ src/test/java/com/github/freeclimbapi/MakeCallRequestTest.java
src/test/java/com/github/freeclimbapi/MessageDeliveryWebhookTest.java
src/test/java/com/github/freeclimbapi/MessageDirectionTest.java
src/test/java/com/github/freeclimbapi/MessageRequestTest.java
+src/test/java/com/github/freeclimbapi/MessageResultAllOfTfnTest.java
src/test/java/com/github/freeclimbapi/MessageResultTest.java
src/test/java/com/github/freeclimbapi/MessageStatusTest.java
src/test/java/com/github/freeclimbapi/MessageStatusWebhookTest.java
@@ -438,6 +443,7 @@ src/test/java/com/github/freeclimbapi/SetListenTest.java
src/test/java/com/github/freeclimbapi/SetTalkTest.java
src/test/java/com/github/freeclimbapi/SmsTest.java
src/test/java/com/github/freeclimbapi/StartRecordCallTest.java
+src/test/java/com/github/freeclimbapi/TFNCampaignTest.java
src/test/java/com/github/freeclimbapi/TFNTest.java
src/test/java/com/github/freeclimbapi/TerminateConferenceTest.java
src/test/java/com/github/freeclimbapi/TranscribeReasonTest.java
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 565eaca7..0dbc4d7e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,19 +8,35 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
## [Unreleased]
None
+
+
+
+## [6.1.0] - 2025-01-08
+
+### Added
+
+- CampaignTFN and MessageResultsAllOfTfn models
+
+### Changed
+
+- PerclCommand serialization bug has been resolved with edits to the build method
+
## [6.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 909ff68a..4ab700f6 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@ Add this dependency to your project's POM:
com.github.freeclimbapi
freeclimb-java-client
- 6.0.0
+ 6.1.0
compile
```
@@ -56,7 +56,7 @@ Add this dependency to your project's build file:
}
dependencies {
- implementation "com.github.freeclimbapi:freeclimb-java-client:6.0.0"
+ implementation "com.github.freeclimbapi:freeclimb-java-client:6.1.0"
implementation("com.squareup.okhttp3:okhttp:4.9.3")
implementation("com.squareup.okhttp3:logging-interceptor:4.9.3")
}
@@ -72,7 +72,7 @@ mvn clean package
Then manually install the following JARs:
-* `target/freeclimb-java-client-6.0.0.jar`
+* `target/freeclimb-java-client-6.1.0.jar`
* `target/lib/*.jar`
## Getting Started
@@ -271,6 +271,7 @@ Class | Method | HTTP request | Description
- [MessageDirection](docs/MessageDirection.md)
- [MessageRequest](docs/MessageRequest.md)
- [MessageResult](docs/MessageResult.md)
+ - [MessageResultAllOfTfn](docs/MessageResultAllOfTfn.md)
- [MessageStatus](docs/MessageStatus.md)
- [MessageStatusWebhook](docs/MessageStatusWebhook.md)
- [MessagesList](docs/MessagesList.md)
@@ -330,6 +331,7 @@ Class | Method | HTTP request | Description
- [Sms](docs/Sms.md)
- [StartRecordCall](docs/StartRecordCall.md)
- [TFN](docs/TFN.md)
+ - [TFNCampaign](docs/TFNCampaign.md)
- [TerminateConference](docs/TerminateConference.md)
- [TranscribeReason](docs/TranscribeReason.md)
- [TranscribeTermReason](docs/TranscribeTermReason.md)
diff --git a/build.gradle b/build.gradle
index af5dc171..9dda8f13 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,7 +4,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'
group = 'com.github.freeclimbapi'
-version = '6.0.0'
+version = '6.1.0'
buildscript {
repositories {
@@ -119,6 +119,7 @@ dependencies {
implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:3.12.4'
+ implementation 'org.json:json:20171018'
}
javadoc {
diff --git a/build.sbt b/build.sbt
index 5c64ac5f..3c892eb0 100644
--- a/build.sbt
+++ b/build.sbt
@@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "com.github.freeclimbapi",
name := "freeclimb-java-client",
- version := "6.0.0",
+ version := "6.1.0",
scalaVersion := "2.11.4",
scalacOptions ++= Seq("-feature"),
javacOptions in compile ++= Seq("-Xlint:deprecation"),
diff --git a/docs/MessageResult.md b/docs/MessageResult.md
index a2bbb168..2918bdb6 100644
--- a/docs/MessageResult.md
+++ b/docs/MessageResult.md
@@ -23,6 +23,9 @@ Name | Type | Description | Notes
**campaignId** | **String** | The unique identifier for the campaign associated with the message | [optional]
**segmentCount** | **BigDecimal** | The number of segments into which the message was split | [optional]
**mediaUrls** | **List<URI>** | an array of HTTP URLs which were attached this this message | [optional]
+**tfn** | [**MessageResultAllOfTfn**](MessageResultAllOfTfn.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]
diff --git a/docs/MessageResultAllOfTfn.md b/docs/MessageResultAllOfTfn.md
new file mode 100644
index 00000000..08a624e8
--- /dev/null
+++ b/docs/MessageResultAllOfTfn.md
@@ -0,0 +1,13 @@
+
+
+# MessageResultAllOfTfn
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**campaignId** | **String** | TFNCampaignId |
+
+
+
diff --git a/docs/TFNCampaign.md b/docs/TFNCampaign.md
new file mode 100644
index 00000000..d245ab7d
--- /dev/null
+++ b/docs/TFNCampaign.md
@@ -0,0 +1,21 @@
+
+
+# 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** | **Integer** | |
+
+
+
diff --git a/openapi.json b/openapi.json
index 16e35209..c59fcdb7 100644
--- a/openapi.json
+++ b/openapi.json
@@ -3596,11 +3596,84 @@
"format": "uri"
},
"nullable": true
+ },
+ "tfn": {
+ "type": "object",
+ "required": [
+ "campaignId"
+ ],
+ "properties": {
+ "campaignId": {
+ "$ref": "#/components/schemas/TFNCampaignId"
+ }
+ },
+ "nullable": true
+ },
+ "phoneNumberId": {
+ "type": "string",
+ "description": "String that uniquely identifies the phoneNumber resource used to send this Message",
+ "nullable": true
+ },
+ "applicationId": {
+ "type": "string",
+ "description": "String that uniquely identifies the Application resource used to send this Message",
+ "nullable": true
}
}
}
]
},
+ "TFNCampaign": {
+ "type": "object",
+ "required": [
+ "accountId",
+ "campaignId",
+ "useCase",
+ "registrationStatus",
+ "dateCreated",
+ "dateUpdated",
+ "dateCreatedISO",
+ "dateUpdatedISO",
+ "revision"
+ ],
+ "properties": {
+ "accountId": {
+ "type": "string",
+ "description": "ID of the account that created this participant.",
+ "nullable": true
+ },
+ "campaignId": {
+ "$ref": "#/components/schemas/TFNCampaignId"
+ },
+ "useCase": {
+ "type": "string"
+ },
+ "registrationStatus": {
+ "$ref": "#/components/schemas/SMSTollFreeCampaignRegistrationStatus"
+ },
+ "dateCreated": {
+ "type": "string"
+ },
+ "dateUpdated": {
+ "type": "string"
+ },
+ "dateCreatedISO": {
+ "type": "string"
+ },
+ "dateUpdatedISO": {
+ "type": "string"
+ },
+ "revision": {
+ "type": "integer"
+ }
+ }
+ },
+ "TFNCampaignId": {
+ "type": "string",
+ "description": "TFNCampaignId",
+ "pattern": "cmptfn_[a-fA-F0-9]{40}",
+ "example": "cmptfn_387ec3f6e03b340553f35f29c8f118cdf3eae08a"
+ },
"CreateConferenceRequest": {
"type": "object",
"properties": {
diff --git a/pom.xml b/pom.xml
index 24792d9e..3bb703e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
freeclimb-java-client
jar
freeclimb-java-client
- 6.0.0
+ 6.1.0
https://github.com/freeclimbapi/java-sdk
FreeClimb Java Client
@@ -318,6 +318,12 @@
${mockito-core-version}
test
+
+ org.json
+ json
+ ${org-json-version}
+ test
+
1.8
@@ -334,6 +340,7 @@
0.2.2
1.6.0
1.3.5
+ 20171018
4.13.2
UTF-8
2.43.0
diff --git a/src/main/java/com/github/freeclimbapi/ApiClient.java b/src/main/java/com/github/freeclimbapi/ApiClient.java
index 1c8df208..b14089f5 100644
--- a/src/main/java/com/github/freeclimbapi/ApiClient.java
+++ b/src/main/java/com/github/freeclimbapi/ApiClient.java
@@ -121,7 +121,7 @@ private void init() {
json = new JSON();
// Set default User-Agent.
- setUserAgent("OpenAPI-Generator/6.0.0/java");
+ setUserAgent("OpenAPI-Generator/6.1.0/java");
authentications = new HashMap();
}
diff --git a/src/main/java/com/github/freeclimbapi/models/MessageResult.java b/src/main/java/com/github/freeclimbapi/models/MessageResult.java
index 62ff5e50..44bc81b4 100644
--- a/src/main/java/com/github/freeclimbapi/models/MessageResult.java
+++ b/src/main/java/com/github/freeclimbapi/models/MessageResult.java
@@ -111,6 +111,21 @@ public static String getDiscriminatorValue() {
@SerializedName(SERIALIZED_NAME_MEDIA_URLS)
private List mediaUrls = null;
+ public static final String SERIALIZED_NAME_TFN = "tfn";
+
+ @SerializedName(SERIALIZED_NAME_TFN)
+ private MessageResultAllOfTfn tfn;
+
+ public static final String SERIALIZED_NAME_PHONE_NUMBER_ID = "phoneNumberId";
+
+ @SerializedName(SERIALIZED_NAME_PHONE_NUMBER_ID)
+ private String phoneNumberId;
+
+ public static final String SERIALIZED_NAME_APPLICATION_ID = "applicationId";
+
+ @SerializedName(SERIALIZED_NAME_APPLICATION_ID)
+ private String applicationId;
+
public MessageResult() {}
public MessageResult uri(String uri) {
@@ -469,6 +484,75 @@ public void setMediaUrls(List mediaUrls) {
this.mediaUrls = mediaUrls;
}
+ public MessageResult tfn(MessageResultAllOfTfn tfn) {
+
+ this.tfn = tfn;
+ return this;
+ }
+
+ /**
+ * Get tfn
+ *
+ * @return tfn
+ */
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "")
+ public MessageResultAllOfTfn getTfn() {
+ return tfn;
+ }
+
+ public void setTfn(MessageResultAllOfTfn tfn) {
+ this.tfn = tfn;
+ }
+
+ public MessageResult phoneNumberId(String phoneNumberId) {
+
+ this.phoneNumberId = phoneNumberId;
+ return this;
+ }
+
+ /**
+ * String that uniquely identifies the phoneNumber resource used to send this Message
+ *
+ * @return phoneNumberId
+ */
+ @javax.annotation.Nullable
+ @ApiModelProperty(
+ value =
+ "String that uniquely identifies the phoneNumber resource used to send this"
+ + " Message")
+ public String getPhoneNumberId() {
+ return phoneNumberId;
+ }
+
+ public void setPhoneNumberId(String phoneNumberId) {
+ this.phoneNumberId = phoneNumberId;
+ }
+
+ public MessageResult applicationId(String applicationId) {
+
+ this.applicationId = applicationId;
+ return this;
+ }
+
+ /**
+ * String that uniquely identifies the Application resource used to send this Message
+ *
+ * @return applicationId
+ */
+ @javax.annotation.Nullable
+ @ApiModelProperty(
+ value =
+ "String that uniquely identifies the Application resource used to send this"
+ + " Message")
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) {
@@ -493,7 +577,10 @@ public boolean equals(Object o) {
&& Objects.equals(this.brandId, messageResult.brandId)
&& Objects.equals(this.campaignId, messageResult.campaignId)
&& Objects.equals(this.segmentCount, messageResult.segmentCount)
- && Objects.equals(this.mediaUrls, messageResult.mediaUrls);
+ && Objects.equals(this.mediaUrls, messageResult.mediaUrls)
+ && Objects.equals(this.tfn, messageResult.tfn)
+ && Objects.equals(this.phoneNumberId, messageResult.phoneNumberId)
+ && Objects.equals(this.applicationId, messageResult.applicationId);
}
private static boolean equalsNullable(JsonNullable a, JsonNullable b) {
@@ -523,7 +610,10 @@ public int hashCode() {
brandId,
campaignId,
segmentCount,
- mediaUrls);
+ mediaUrls,
+ tfn,
+ phoneNumberId,
+ applicationId);
}
private static int hashCodeNullable(JsonNullable a) {
@@ -553,6 +643,9 @@ public String toString() {
sb.append(" campaignId: ").append(toIndentedString(campaignId)).append("\n");
sb.append(" segmentCount: ").append(toIndentedString(segmentCount)).append("\n");
sb.append(" mediaUrls: ").append(toIndentedString(mediaUrls)).append("\n");
+ sb.append(" tfn: ").append(toIndentedString(tfn)).append("\n");
+ sb.append(" phoneNumberId: ").append(toIndentedString(phoneNumberId)).append("\n");
+ sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n");
sb.append("}");
return sb.toString();
}
diff --git a/src/main/java/com/github/freeclimbapi/models/MessageResultAllOfTfn.java b/src/main/java/com/github/freeclimbapi/models/MessageResultAllOfTfn.java
new file mode 100644
index 00000000..464a810a
--- /dev/null
+++ b/src/main/java/com/github/freeclimbapi/models/MessageResultAllOfTfn.java
@@ -0,0 +1,95 @@
+/*
+ * 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
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.github.freeclimbapi.models;
+
+import com.github.freeclimbapi.enums.*;
+import com.google.gson.annotations.SerializedName;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.*;
+import java.util.Objects;
+
+/** MessageResultAllOfTfn */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class MessageResultAllOfTfn {
+ public static String getDiscriminatorValue() {
+ return null;
+ }
+
+ public static final String SERIALIZED_NAME_CAMPAIGN_ID = "campaignId";
+
+ @SerializedName(SERIALIZED_NAME_CAMPAIGN_ID)
+ private String campaignId;
+
+ public MessageResultAllOfTfn() {}
+
+ public MessageResultAllOfTfn campaignId(String campaignId) {
+
+ this.campaignId = campaignId;
+ return this;
+ }
+
+ /**
+ * TFNCampaignId
+ *
+ * @return campaignId
+ */
+ @javax.annotation.Nonnull
+ @ApiModelProperty(
+ example = "cmptfn_387ec3f6e03b340553f35f29c8f118cdf3eae08a",
+ required = true,
+ value = "TFNCampaignId")
+ public String getCampaignId() {
+ return campaignId;
+ }
+
+ public void setCampaignId(String campaignId) {
+ this.campaignId = campaignId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ MessageResultAllOfTfn messageResultAllOfTfn = (MessageResultAllOfTfn) o;
+ return Objects.equals(this.campaignId, messageResultAllOfTfn.campaignId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(campaignId);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class MessageResultAllOfTfn {\n");
+ sb.append(" campaignId: ").append(toIndentedString(campaignId)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/github/freeclimbapi/models/PerclCommand.java b/src/main/java/com/github/freeclimbapi/models/PerclCommand.java
index 821b159f..ebfdf06f 100644
--- a/src/main/java/com/github/freeclimbapi/models/PerclCommand.java
+++ b/src/main/java/com/github/freeclimbapi/models/PerclCommand.java
@@ -19,6 +19,7 @@
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.Callable;
@@ -108,9 +109,10 @@ public Map> build() throws Exception {
if (key != "command" && value != null) {
if (value instanceof PerclCommand) {
commandValue.put(key, ((PerclCommand) value).build());
- } else if (value.getClass().isArray()) {
+ } else if (value instanceof List) {
+ Object[] valueArray = ((List) value).toArray();
ArrayList