diff --git a/README.md b/README.md index aec7a58..fcd2476 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ directory that corresponds to the file you want updated. This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 3.0.0 -- SDK version: 2.0.0 +- SDK version: 2.1.0 - Generator version: 7.12.0 - Build package: org.openapitools.codegen.languages.CSharpClientCodegen diff --git a/VERSION b/VERSION index 227cea2..7ec1d6d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.0 +2.1.0 diff --git a/docs/TemplateResponseDocumentFormFieldText.md b/docs/TemplateResponseDocumentFormFieldText.md index 368fec8..3005e10 100644 --- a/docs/TemplateResponseDocumentFormFieldText.md +++ b/docs/TemplateResponseDocumentFormFieldText.md @@ -13,7 +13,7 @@ Name | Type | Description | Notes **Width** | **int** | The width in pixels of this form field. | [optional] **Height** | **int** | The height in pixels of this form field. | [optional] **Required** | **bool** | Boolean showing whether or not this field is required. | [optional] -**Type** | **string** | The type of this form field. See [field types](/api/reference/constants/#field-types).

* Text Field uses `TemplateResponseDocumentFormFieldText`
* Dropdown Field uses `TemplateResponseDocumentFormFieldDropdown`
* Hyperlink Field uses `TemplateResponseDocumentFormFieldHyperlink`
* Checkbox Field uses `TemplateResponseDocumentFormFieldCheckbox`
* Radio Field uses `TemplateResponseDocumentFormFieldRadio`
* Signature Field uses `TemplateResponseDocumentFormFieldSignature`
* Date Signed Field uses `TemplateResponseDocumentFormFieldDateSigned`
* Initials Field uses `TemplateResponseDocumentFormFieldInitials` | [default to "text"]**AvgTextLength** | [**TemplateResponseFieldAvgTextLength**](TemplateResponseFieldAvgTextLength.md) | | [optional] **IsMultiline** | **bool** | Whether this form field is multiline text. | [optional] **OriginalFontSize** | **int** | Original font size used in this form field's text. | [optional] **FontFamily** | **string** | Font family used in this form field's text. | [optional] **ValidationType** | **string** | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | [optional] **Group** | **string** | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | [optional] +**Type** | **string** | The type of this form field. See [field types](/api/reference/constants/#field-types).

* Text Field uses `TemplateResponseDocumentFormFieldText`
* Dropdown Field uses `TemplateResponseDocumentFormFieldDropdown`
* Hyperlink Field uses `TemplateResponseDocumentFormFieldHyperlink`
* Checkbox Field uses `TemplateResponseDocumentFormFieldCheckbox`
* Radio Field uses `TemplateResponseDocumentFormFieldRadio`
* Signature Field uses `TemplateResponseDocumentFormFieldSignature`
* Date Signed Field uses `TemplateResponseDocumentFormFieldDateSigned`
* Initials Field uses `TemplateResponseDocumentFormFieldInitials` | [default to "text"]**AvgTextLength** | [**TemplateResponseFieldAvgTextLength**](TemplateResponseFieldAvgTextLength.md) | | [optional] **IsMultiline** | **bool** | Whether this form field is multiline text. | [optional] **OriginalFontSize** | **int** | Original font size used in this form field's text. | [optional] **FontFamily** | **string** | Font family used in this form field's text. | [optional] **ValidationType** | **string** | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | [optional] **ValidationCustomRegex** | **string** | When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. | [optional] **ValidationCustomRegexFormatLabel** | **string** | When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. | [optional] **Group** | **string** | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | [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/openapi-config.yaml b/openapi-config.yaml index 9e1d7f9..2429dde 100644 --- a/openapi-config.yaml +++ b/openapi-config.yaml @@ -6,7 +6,7 @@ additionalProperties: packageCompany: Dropbox Sign API Team packageCopyright: Dropbox 2024 packageDescription: Client library for using the Dropbox Sign API - packageVersion: 2.0.0 + packageVersion: 2.1.0 packageTitle: Dropbox Sign .Net SDK sortModelPropertiesByRequiredFlag: true optionalEmitDefaultValues: true diff --git a/openapi-sdk.yaml b/openapi-sdk.yaml index c832450..f984d4d 100644 --- a/openapi-sdk.yaml +++ b/openapi-sdk.yaml @@ -7797,7 +7797,7 @@ components: type: array items: type: string - maxItems: 2 + maxItems: 10 minItems: 1 name: description: 'The name you want to assign to the ApiApp.' @@ -7823,7 +7823,7 @@ components: type: array items: type: string - maxItems: 2 + maxItems: 10 name: description: 'The name you want to assign to the ApiApp.' type: string @@ -8135,6 +8135,7 @@ components: enum: - user_activity - document_status + - sms_activity maxItems: 2 minItems: 1 start_date: @@ -11964,6 +11965,7 @@ components: enum: - user_activity - document_status + - sms_activity type: object x-internal-class: true SignatureRequestResponse: @@ -13130,6 +13132,14 @@ components: - employer_identification_number - custom_regex nullable: true + validation_custom_regex: + description: 'When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.' + type: string + nullable: true + validation_custom_regex_format_label: + description: 'When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.' + type: string + nullable: true group: description: 'The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields.' type: string diff --git a/src/Dropbox.Sign.Test/Api/FaxApiTests.cs b/src/Dropbox.Sign.Test/Api/FaxApiTests.cs new file mode 100644 index 0000000..1c98823 --- /dev/null +++ b/src/Dropbox.Sign.Test/Api/FaxApiTests.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Xunit; +using System.Text.Json; + +using Dropbox.Sign.Api; +using Dropbox.Sign.Model; + +namespace Dropbox.Sign.Test.Api +{ + public class FaxApiTests + { + [Fact] + public void SendFaxTest() + { + var requestData = TestHelper.GetJsonContents(nameof(FaxSendRequest)); + var responseData = TestHelper.GetJsonContents(nameof(FaxGetResponse)); + + var obj = FaxSendRequest.Init( + requestData.ToString() + ); + + obj.Files = new List { + new FileStream( + TestHelper.RootPath + "/pdf-sample.pdf", + FileMode.Open, + FileAccess.Read, + FileShare.Read + ) + }; + + var responseObj = FaxGetResponse.Init(responseData.ToString()); + + var api = MockRestClientHelper.CreateApiExpectMultiFormRequest(responseObj); + var response = api.FaxSend(obj); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + + [Fact] + public void FaxListTest() + { + var responseData = TestHelper.GetJsonContents(nameof(FaxListResponse)); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxList(); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + + [Fact] + public void FaxGetTest() + { + var faxId = "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d"; + + var responseData = TestHelper.GetJsonContents(nameof(FaxGetResponse)); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxGet(faxId); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + } +} diff --git a/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs b/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs new file mode 100644 index 0000000..a4e00cc --- /dev/null +++ b/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Xunit; +using System.Text.Json; + +using Dropbox.Sign.Api; +using Dropbox.Sign.Model; + +namespace Dropbox.Sign.Test.Api +{ + public class FaxLineApiTests + { + [Fact] + public void FaxLineCreateTest() + { + var requestData = TestHelper.GetJsonContents(nameof(FaxLineCreateRequest)); + var responseData = TestHelper.GetJsonContents(nameof(FaxLineResponse)); + + var obj = FaxLineCreateRequest.Init( + requestData.ToString() + ); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxLineCreate(obj); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + + [Fact] + public void FaxLineListTest() + { + var responseData = TestHelper.GetJsonContents(nameof(FaxLineListResponse)); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxLineList(); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + + [Fact] + public void FaxLineGetTest() + { + var faxLineNumber = "14155557897"; + + var responseData = TestHelper.GetJsonContents(nameof(FaxLineResponse)); + + var api = MockRestClientHelper.CreateApi(responseData); + var response = api.FaxLineGet(faxLineNumber); + + TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson()); + } + } +} diff --git a/src/Dropbox.Sign/Client/Configuration.cs b/src/Dropbox.Sign/Client/Configuration.cs index 25813c6..2115d02 100644 --- a/src/Dropbox.Sign/Client/Configuration.cs +++ b/src/Dropbox.Sign/Client/Configuration.cs @@ -36,7 +36,7 @@ public class Configuration : IReadableConfiguration /// Version of the package. /// /// Version of the package. - public const string Version = "2.0.0"; + public const string Version = "2.1.0"; /// /// Identifier for ISO 8601 DateTime Format @@ -120,7 +120,7 @@ public class Configuration : IReadableConfiguration public Configuration() { Proxy = null; - UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/2.0.0/csharp"); + UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/2.1.0/csharp"); BasePath = "https://api.hellosign.com/v3"; DefaultHeaders = new ConcurrentDictionary(); ApiKey = new ConcurrentDictionary(); @@ -567,7 +567,7 @@ public static string ToDebugReport() report += " OS: " + System.Environment.OSVersion + "\n"; report += " .NET Framework Version: " + System.Environment.Version + "\n"; report += " Version of the API: 3.0.0\n"; - report += " SDK Package Version: 2.0.0\n"; + report += " SDK Package Version: 2.1.0\n"; return report; } diff --git a/src/Dropbox.Sign/Dropbox.Sign.csproj b/src/Dropbox.Sign/Dropbox.Sign.csproj index 0ec27eb..1456657 100644 --- a/src/Dropbox.Sign/Dropbox.Sign.csproj +++ b/src/Dropbox.Sign/Dropbox.Sign.csproj @@ -12,7 +12,7 @@ Client library for using the Dropbox Sign API Dropbox 2024 Dropbox.Sign - 2.0.0 + 2.1.0 bin\$(Configuration)\$(TargetFramework)\Dropbox.Sign.xml https://github.com/hellosign/dropbox-sign-dotnet.git git diff --git a/src/Dropbox.Sign/Model/ReportCreateRequest.cs b/src/Dropbox.Sign/Model/ReportCreateRequest.cs index 0340546..8ae6489 100644 --- a/src/Dropbox.Sign/Model/ReportCreateRequest.cs +++ b/src/Dropbox.Sign/Model/ReportCreateRequest.cs @@ -49,7 +49,13 @@ public enum ReportTypeEnum /// Enum DocumentStatus for value: document_status /// [EnumMember(Value = "document_status")] - DocumentStatus = 2 + DocumentStatus = 2, + + /// + /// Enum SmsActivity for value: sms_activity + /// + [EnumMember(Value = "sms_activity")] + SmsActivity = 3 } /// diff --git a/src/Dropbox.Sign/Model/ReportResponse.cs b/src/Dropbox.Sign/Model/ReportResponse.cs index 57c9218..bd63ab7 100644 --- a/src/Dropbox.Sign/Model/ReportResponse.cs +++ b/src/Dropbox.Sign/Model/ReportResponse.cs @@ -49,7 +49,13 @@ public enum ReportTypeEnum /// Enum DocumentStatus for value: document_status /// [EnumMember(Value = "document_status")] - DocumentStatus = 2 + DocumentStatus = 2, + + /// + /// Enum SmsActivity for value: sms_activity + /// + [EnumMember(Value = "sms_activity")] + SmsActivity = 3 } /// diff --git a/src/Dropbox.Sign/Model/TemplateResponseDocumentFormFieldText.cs b/src/Dropbox.Sign/Model/TemplateResponseDocumentFormFieldText.cs index 70797b6..8c75095 100644 --- a/src/Dropbox.Sign/Model/TemplateResponseDocumentFormFieldText.cs +++ b/src/Dropbox.Sign/Model/TemplateResponseDocumentFormFieldText.cs @@ -122,6 +122,8 @@ protected TemplateResponseDocumentFormFieldText() { } /// Original font size used in this form field's text.. /// Font family used in this form field's text.. /// Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values.. + /// When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.. + /// When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.. /// The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields.. /// A unique id for the form field.. /// The name of the form field.. @@ -131,7 +133,7 @@ protected TemplateResponseDocumentFormFieldText() { } /// The width in pixels of this form field.. /// The height in pixels of this form field.. /// Boolean showing whether or not this field is required.. - public TemplateResponseDocumentFormFieldText(string type = @"text", TemplateResponseFieldAvgTextLength avgTextLength = default(TemplateResponseFieldAvgTextLength), bool isMultiline = default(bool), int originalFontSize = default(int), string fontFamily = default(string), ValidationTypeEnum? validationType = default(ValidationTypeEnum?), string group = default(string), string apiId = default(string), string name = default(string), Object signer = null, int x = default(int), int y = default(int), int width = default(int), int height = default(int), bool required = default(bool)) + public TemplateResponseDocumentFormFieldText(string type = @"text", TemplateResponseFieldAvgTextLength avgTextLength = default(TemplateResponseFieldAvgTextLength), bool isMultiline = default(bool), int originalFontSize = default(int), string fontFamily = default(string), ValidationTypeEnum? validationType = default(ValidationTypeEnum?), string validationCustomRegex = default(string), string validationCustomRegexFormatLabel = default(string), string group = default(string), string apiId = default(string), string name = default(string), Object signer = null, int x = default(int), int y = default(int), int width = default(int), int height = default(int), bool required = default(bool)) { this.ApiId = apiId; this.Name = name; @@ -153,6 +155,8 @@ protected TemplateResponseDocumentFormFieldText() { } this.OriginalFontSize = originalFontSize; this.FontFamily = fontFamily; this.ValidationType = validationType; + this.ValidationCustomRegex = validationCustomRegex; + this.ValidationCustomRegexFormatLabel = validationCustomRegexFormatLabel; this.Group = group; } @@ -206,6 +210,20 @@ public static TemplateResponseDocumentFormFieldText Init(string jsonData) [DataMember(Name = "fontFamily", EmitDefaultValue = true)] public string FontFamily { get; set; } + /// + /// When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. + /// + /// When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. + [DataMember(Name = "validation_custom_regex", EmitDefaultValue = true)] + public string ValidationCustomRegex { get; set; } + + /// + /// When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. + /// + /// When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. + [DataMember(Name = "validation_custom_regex_format_label", EmitDefaultValue = true)] + public string ValidationCustomRegexFormatLabel { get; set; } + /// /// The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. /// @@ -228,6 +246,8 @@ public override string ToString() sb.Append(" OriginalFontSize: ").Append(OriginalFontSize).Append("\n"); sb.Append(" FontFamily: ").Append(FontFamily).Append("\n"); sb.Append(" ValidationType: ").Append(ValidationType).Append("\n"); + sb.Append(" ValidationCustomRegex: ").Append(ValidationCustomRegex).Append("\n"); + sb.Append(" ValidationCustomRegexFormatLabel: ").Append(ValidationCustomRegexFormatLabel).Append("\n"); sb.Append(" Group: ").Append(Group).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -291,6 +311,16 @@ public bool Equals(TemplateResponseDocumentFormFieldText input) this.ValidationType == input.ValidationType || this.ValidationType.Equals(input.ValidationType) ) && base.Equals(input) && + ( + this.ValidationCustomRegex == input.ValidationCustomRegex || + (this.ValidationCustomRegex != null && + this.ValidationCustomRegex.Equals(input.ValidationCustomRegex)) + ) && base.Equals(input) && + ( + this.ValidationCustomRegexFormatLabel == input.ValidationCustomRegexFormatLabel || + (this.ValidationCustomRegexFormatLabel != null && + this.ValidationCustomRegexFormatLabel.Equals(input.ValidationCustomRegexFormatLabel)) + ) && base.Equals(input) && ( this.Group == input.Group || (this.Group != null && @@ -322,6 +352,14 @@ public override int GetHashCode() hashCode = (hashCode * 59) + this.FontFamily.GetHashCode(); } hashCode = (hashCode * 59) + this.ValidationType.GetHashCode(); + if (this.ValidationCustomRegex != null) + { + hashCode = (hashCode * 59) + this.ValidationCustomRegex.GetHashCode(); + } + if (this.ValidationCustomRegexFormatLabel != null) + { + hashCode = (hashCode * 59) + this.ValidationCustomRegexFormatLabel.GetHashCode(); + } if (this.Group != null) { hashCode = (hashCode * 59) + this.Group.GetHashCode(); @@ -399,6 +437,20 @@ public List GetOpenApiTypes() Value = ValidationType, }); types.Add(new OpenApiType() + { + Name = "validation_custom_regex", + Property = "ValidationCustomRegex", + Type = "string", + Value = ValidationCustomRegex, + }); + types.Add(new OpenApiType() + { + Name = "validation_custom_regex_format_label", + Property = "ValidationCustomRegexFormatLabel", + Type = "string", + Value = ValidationCustomRegexFormatLabel, + }); + types.Add(new OpenApiType() { Name = "group", Property = "Group", diff --git a/test_fixtures/FaxGetResponse.json b/test_fixtures/FaxGetResponse.json index 2eda936..0d668e0 100644 --- a/test_fixtures/FaxGetResponse.json +++ b/test_fixtures/FaxGetResponse.json @@ -20,12 +20,11 @@ "transmissions": [ { "recipient": "recipient@dropboxsign.com", - "sender": "me@dropboxsign.com", "sent_at": 1723231831, "status_code": "success" } ], - "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2", + "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2" } } } diff --git a/test_fixtures/FaxLineCreateRequest.json b/test_fixtures/FaxLineCreateRequest.json new file mode 100644 index 0000000..91d11c8 --- /dev/null +++ b/test_fixtures/FaxLineCreateRequest.json @@ -0,0 +1,6 @@ +{ + "default": { + "country": "US", + "area_code": 949 + } +} diff --git a/test_fixtures/FaxLineListResponse.json b/test_fixtures/FaxLineListResponse.json new file mode 100644 index 0000000..c241c1b --- /dev/null +++ b/test_fixtures/FaxLineListResponse.json @@ -0,0 +1,26 @@ +{ + "default": { + "list_info": { + "num_pages": 1, + "num_results": 1, + "page": 1, + "page_size": 1 + }, + "fax_lines": [ + { + "number": "14155557897", + "created_at": 1750196223, + "updated_at": 1750196223, + "accounts": [ + { + "account_id": "a3367a4130f3624687ea7de6f09df951a44923dd", + "email_address": "me@dropboxsign.com", + "is_locked": false, + "is_paid_hs": false, + "is_paid_hf": true + } + ] + } + ] + } +} diff --git a/test_fixtures/FaxLineResponse.json b/test_fixtures/FaxLineResponse.json new file mode 100644 index 0000000..3855a8a --- /dev/null +++ b/test_fixtures/FaxLineResponse.json @@ -0,0 +1,18 @@ +{ + "default": { + "fax_line": { + "number": "14155557897", + "created_at": 1750196223, + "updated_at": 1750196223, + "accounts": [ + { + "account_id": "a3367a4130f3624687ea7de6f09df951a44923dd", + "email_address": "me@dropboxsign.com", + "is_locked": false, + "is_paid_hs": false, + "is_paid_hf": true + } + ] + } + } +} diff --git a/test_fixtures/FaxListResponse.json b/test_fixtures/FaxListResponse.json index a9ebf63..d0ce7fe 100644 --- a/test_fixtures/FaxListResponse.json +++ b/test_fixtures/FaxListResponse.json @@ -27,12 +27,11 @@ "transmissions": [ { "recipient": "recipient@dropboxsign.com", - "sender": "me@dropboxsign.com", "sent_at": 1723231831, "status_code": "success" } ], - "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2", + "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2" } ] } diff --git a/test_fixtures/FaxResponse.json b/test_fixtures/FaxResponse.json new file mode 100644 index 0000000..32a44d5 --- /dev/null +++ b/test_fixtures/FaxResponse.json @@ -0,0 +1,24 @@ +{ + "default": { + "fax": { + "fax_id": "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d", + "title": "example title", + "original_title": "example original title", + "metadata": {}, + "created_at": 1750105080, + "sender": "14155557068", + "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2", + "final_copy_uri": "/v3/transmission/final_copy/c2e9691c85d9d6fa6ae773842e3680b2b8650f1d", + "transmissions": [ + { + "recipient": "18005550199", + "status_code": "transmitting" + } + ], + "transmission_id": "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d", + "from": "14155557068", + "test_mode": false + } + } +} + diff --git a/test_fixtures/FaxSendResponse.json b/test_fixtures/FaxSendResponse.json deleted file mode 100644 index b651c78..0000000 --- a/test_fixtures/FaxSendResponse.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "default": { - "fax": { - "fax_id": "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d", - "title": "example title", - "original_title": "example original title", - "subject": "example subject", - "message": "example message", - "metadata": [ ], - "created_at": 1726774555, - "sender": "me@dropboxsign.com", - "transmissions": [], - "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2" - } - } -}