diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 22aaf885b..f4b8c8ab5 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.400.1" + ".": "0.401.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index d6295fc7b..458c6d830 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 232 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-4df3552a635fafa2af8caa70f7daed96996b4263da92fb96e03cbf3c1b4931b4.yml -openapi_spec_hash: 77a141ca0b0c00f8117cea15374a734d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-cc66158bcd1307d07051dcfd43d73dad380a7d8eb637620b21ff4a59e6073b68.yml +openapi_spec_hash: add50aa92e44e568b1efa8dba7bdb2d5 config_hash: 27e44ed36b9c5617b580ead7231a594a diff --git a/CHANGELOG.md b/CHANGELOG.md index fa3308d3a..82ccd0a4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.401.0 (2026-01-23) + +Full Changelog: [v0.400.1...v0.401.0](https://github.com/Increase/increase-java/compare/v0.400.1...v0.401.0) + +### Features + +* **api:** api update ([f8969d0](https://github.com/Increase/increase-java/commit/f8969d08f0073e5e043a9071cfe78723a14fd372)) + ## 0.400.1 (2026-01-23) Full Changelog: [v0.400.0...v0.400.1](https://github.com/Increase/increase-java/compare/v0.400.0...v0.400.1) diff --git a/README.md b/README.md index ed747656b..16e1621a7 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ -[![Maven Central](https://img.shields.io/maven-central/v/com.increase.api/increase-java)](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.400.1) -[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.400.1/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.400.1) +[![Maven Central](https://img.shields.io/maven-central/v/com.increase.api/increase-java)](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.401.0) +[![javadoc](https://javadoc.io/badge2/com.increase.api/increase-java/0.401.0/javadoc.svg)](https://javadoc.io/doc/com.increase.api/increase-java/0.401.0) @@ -13,7 +13,7 @@ The Increase Java SDK is similar to the Increase Kotlin SDK but with minor diffe -The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.400.1). +The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.401.0). @@ -24,7 +24,7 @@ The REST API documentation can be found on [increase.com](https://increase.com/d ### Gradle ```kotlin -implementation("com.increase.api:increase-java:0.400.1") +implementation("com.increase.api:increase-java:0.401.0") ``` ### Maven @@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.400.1") com.increase.api increase-java - 0.400.1 + 0.401.0 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 62a356b27..aada4e174 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ repositories { allprojects { group = "com.increase.api" - version = "0.400.1" // x-release-please-version + version = "0.401.0" // x-release-please-version } subprojects { diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/checktransfers/CheckTransfer.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/checktransfers/CheckTransfer.kt index 983782b03..d36e84f73 100644 --- a/increase-java-core/src/main/kotlin/com/increase/api/models/checktransfers/CheckTransfer.kt +++ b/increase-java-core/src/main/kotlin/com/increase/api/models/checktransfers/CheckTransfer.kt @@ -3115,30 +3115,16 @@ private constructor( class Mailing @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( - private val imageId: JsonField, private val mailedAt: JsonField, - private val trackingNumber: JsonField, private val additionalProperties: MutableMap, ) { @JsonCreator private constructor( - @JsonProperty("image_id") @ExcludeMissing imageId: JsonField = JsonMissing.of(), @JsonProperty("mailed_at") @ExcludeMissing - mailedAt: JsonField = JsonMissing.of(), - @JsonProperty("tracking_number") - @ExcludeMissing - trackingNumber: JsonField = JsonMissing.of(), - ) : this(imageId, mailedAt, trackingNumber, mutableMapOf()) - - /** - * The ID of the file corresponding to an image of the check that was mailed, if available. - * - * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if - * the server responded with an unexpected value). - */ - fun imageId(): Optional = imageId.getOptional("image_id") + mailedAt: JsonField = JsonMissing.of() + ) : this(mailedAt, mutableMapOf()) /** * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the check @@ -3149,21 +3135,6 @@ private constructor( */ fun mailedAt(): OffsetDateTime = mailedAt.getRequired("mailed_at") - /** - * The tracking number of the shipment, if available for the shipping method. - * - * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if - * the server responded with an unexpected value). - */ - fun trackingNumber(): Optional = trackingNumber.getOptional("tracking_number") - - /** - * Returns the raw JSON value of [imageId]. - * - * Unlike [imageId], this method doesn't throw if the JSON field has an unexpected type. - */ - @JsonProperty("image_id") @ExcludeMissing fun _imageId(): JsonField = imageId - /** * Returns the raw JSON value of [mailedAt]. * @@ -3173,16 +3144,6 @@ private constructor( @ExcludeMissing fun _mailedAt(): JsonField = mailedAt - /** - * Returns the raw JSON value of [trackingNumber]. - * - * Unlike [trackingNumber], this method doesn't throw if the JSON field has an unexpected - * type. - */ - @JsonProperty("tracking_number") - @ExcludeMissing - fun _trackingNumber(): JsonField = trackingNumber - @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { additionalProperties.put(key, value) @@ -3202,9 +3163,7 @@ private constructor( * * The following fields are required: * ```java - * .imageId() * .mailedAt() - * .trackingNumber() * ``` */ @JvmStatic fun builder() = Builder() @@ -3213,37 +3172,15 @@ private constructor( /** A builder for [Mailing]. */ class Builder internal constructor() { - private var imageId: JsonField? = null private var mailedAt: JsonField? = null - private var trackingNumber: JsonField? = null private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic internal fun from(mailing: Mailing) = apply { - imageId = mailing.imageId mailedAt = mailing.mailedAt - trackingNumber = mailing.trackingNumber additionalProperties = mailing.additionalProperties.toMutableMap() } - /** - * The ID of the file corresponding to an image of the check that was mailed, if - * available. - */ - fun imageId(imageId: String?) = imageId(JsonField.ofNullable(imageId)) - - /** Alias for calling [Builder.imageId] with `imageId.orElse(null)`. */ - fun imageId(imageId: Optional) = imageId(imageId.getOrNull()) - - /** - * Sets [Builder.imageId] to an arbitrary JSON value. - * - * You should usually call [Builder.imageId] with a well-typed [String] value instead. - * This method is primarily for setting the field to an undocumented or not yet - * supported value. - */ - fun imageId(imageId: JsonField) = apply { this.imageId = imageId } - /** * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the * check was mailed. @@ -3259,25 +3196,6 @@ private constructor( */ fun mailedAt(mailedAt: JsonField) = apply { this.mailedAt = mailedAt } - /** The tracking number of the shipment, if available for the shipping method. */ - fun trackingNumber(trackingNumber: String?) = - trackingNumber(JsonField.ofNullable(trackingNumber)) - - /** Alias for calling [Builder.trackingNumber] with `trackingNumber.orElse(null)`. */ - fun trackingNumber(trackingNumber: Optional) = - trackingNumber(trackingNumber.getOrNull()) - - /** - * Sets [Builder.trackingNumber] to an arbitrary JSON value. - * - * You should usually call [Builder.trackingNumber] with a well-typed [String] value - * instead. This method is primarily for setting the field to an undocumented or not yet - * supported value. - */ - fun trackingNumber(trackingNumber: JsonField) = apply { - this.trackingNumber = trackingNumber - } - fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() putAllAdditionalProperties(additionalProperties) @@ -3304,20 +3222,13 @@ private constructor( * * The following fields are required: * ```java - * .imageId() * .mailedAt() - * .trackingNumber() * ``` * * @throws IllegalStateException if any required field is unset. */ fun build(): Mailing = - Mailing( - checkRequired("imageId", imageId), - checkRequired("mailedAt", mailedAt), - checkRequired("trackingNumber", trackingNumber), - additionalProperties.toMutableMap(), - ) + Mailing(checkRequired("mailedAt", mailedAt), additionalProperties.toMutableMap()) } private var validated: Boolean = false @@ -3327,9 +3238,7 @@ private constructor( return@apply } - imageId() mailedAt() - trackingNumber() validated = true } @@ -3347,11 +3256,7 @@ private constructor( * * Used for best match union deserialization. */ - @JvmSynthetic - internal fun validity(): Int = - (if (imageId.asKnown().isPresent) 1 else 0) + - (if (mailedAt.asKnown().isPresent) 1 else 0) + - (if (trackingNumber.asKnown().isPresent) 1 else 0) + @JvmSynthetic internal fun validity(): Int = (if (mailedAt.asKnown().isPresent) 1 else 0) override fun equals(other: Any?): Boolean { if (this === other) { @@ -3359,20 +3264,16 @@ private constructor( } return other is Mailing && - imageId == other.imageId && mailedAt == other.mailedAt && - trackingNumber == other.trackingNumber && additionalProperties == other.additionalProperties } - private val hashCode: Int by lazy { - Objects.hash(imageId, mailedAt, trackingNumber, additionalProperties) - } + private val hashCode: Int by lazy { Objects.hash(mailedAt, additionalProperties) } override fun hashCode(): Int = hashCode override fun toString() = - "Mailing{imageId=$imageId, mailedAt=$mailedAt, trackingNumber=$trackingNumber, additionalProperties=$additionalProperties}" + "Mailing{mailedAt=$mailedAt, additionalProperties=$additionalProperties}" } /** @@ -6473,20 +6374,36 @@ private constructor( class Submission @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( + private val previewFileId: JsonField, private val submittedAddress: JsonField, private val submittedAt: JsonField, + private val trackingNumber: JsonField, private val additionalProperties: MutableMap, ) { @JsonCreator private constructor( + @JsonProperty("preview_file_id") + @ExcludeMissing + previewFileId: JsonField = JsonMissing.of(), @JsonProperty("submitted_address") @ExcludeMissing submittedAddress: JsonField = JsonMissing.of(), @JsonProperty("submitted_at") @ExcludeMissing submittedAt: JsonField = JsonMissing.of(), - ) : this(submittedAddress, submittedAt, mutableMapOf()) + @JsonProperty("tracking_number") + @ExcludeMissing + trackingNumber: JsonField = JsonMissing.of(), + ) : this(previewFileId, submittedAddress, submittedAt, trackingNumber, mutableMapOf()) + + /** + * The ID of the file corresponding to an image of the check that was mailed, if available. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun previewFileId(): Optional = previewFileId.getOptional("preview_file_id") /** * The address we submitted to the printer. This is what is physically printed on the check. @@ -6504,6 +6421,24 @@ private constructor( */ fun submittedAt(): OffsetDateTime = submittedAt.getRequired("submitted_at") + /** + * The tracking number for the check shipment. + * + * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if + * the server responded with an unexpected value). + */ + fun trackingNumber(): Optional = trackingNumber.getOptional("tracking_number") + + /** + * Returns the raw JSON value of [previewFileId]. + * + * Unlike [previewFileId], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("preview_file_id") + @ExcludeMissing + fun _previewFileId(): JsonField = previewFileId + /** * Returns the raw JSON value of [submittedAddress]. * @@ -6523,6 +6458,16 @@ private constructor( @ExcludeMissing fun _submittedAt(): JsonField = submittedAt + /** + * Returns the raw JSON value of [trackingNumber]. + * + * Unlike [trackingNumber], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("tracking_number") + @ExcludeMissing + fun _trackingNumber(): JsonField = trackingNumber + @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { additionalProperties.put(key, value) @@ -6542,8 +6487,10 @@ private constructor( * * The following fields are required: * ```java + * .previewFileId() * .submittedAddress() * .submittedAt() + * .trackingNumber() * ``` */ @JvmStatic fun builder() = Builder() @@ -6552,17 +6499,43 @@ private constructor( /** A builder for [Submission]. */ class Builder internal constructor() { + private var previewFileId: JsonField? = null private var submittedAddress: JsonField? = null private var submittedAt: JsonField? = null + private var trackingNumber: JsonField? = null private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic internal fun from(submission: Submission) = apply { + previewFileId = submission.previewFileId submittedAddress = submission.submittedAddress submittedAt = submission.submittedAt + trackingNumber = submission.trackingNumber additionalProperties = submission.additionalProperties.toMutableMap() } + /** + * The ID of the file corresponding to an image of the check that was mailed, if + * available. + */ + fun previewFileId(previewFileId: String?) = + previewFileId(JsonField.ofNullable(previewFileId)) + + /** Alias for calling [Builder.previewFileId] with `previewFileId.orElse(null)`. */ + fun previewFileId(previewFileId: Optional) = + previewFileId(previewFileId.getOrNull()) + + /** + * Sets [Builder.previewFileId] to an arbitrary JSON value. + * + * You should usually call [Builder.previewFileId] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun previewFileId(previewFileId: JsonField) = apply { + this.previewFileId = previewFileId + } + /** * The address we submitted to the printer. This is what is physically printed on the * check. @@ -6595,6 +6568,25 @@ private constructor( this.submittedAt = submittedAt } + /** The tracking number for the check shipment. */ + fun trackingNumber(trackingNumber: String?) = + trackingNumber(JsonField.ofNullable(trackingNumber)) + + /** Alias for calling [Builder.trackingNumber] with `trackingNumber.orElse(null)`. */ + fun trackingNumber(trackingNumber: Optional) = + trackingNumber(trackingNumber.getOrNull()) + + /** + * Sets [Builder.trackingNumber] to an arbitrary JSON value. + * + * You should usually call [Builder.trackingNumber] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun trackingNumber(trackingNumber: JsonField) = apply { + this.trackingNumber = trackingNumber + } + fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() putAllAdditionalProperties(additionalProperties) @@ -6621,16 +6613,20 @@ private constructor( * * The following fields are required: * ```java + * .previewFileId() * .submittedAddress() * .submittedAt() + * .trackingNumber() * ``` * * @throws IllegalStateException if any required field is unset. */ fun build(): Submission = Submission( + checkRequired("previewFileId", previewFileId), checkRequired("submittedAddress", submittedAddress), checkRequired("submittedAt", submittedAt), + checkRequired("trackingNumber", trackingNumber), additionalProperties.toMutableMap(), ) } @@ -6642,8 +6638,10 @@ private constructor( return@apply } + previewFileId() submittedAddress().validate() submittedAt() + trackingNumber() validated = true } @@ -6663,8 +6661,10 @@ private constructor( */ @JvmSynthetic internal fun validity(): Int = - (submittedAddress.asKnown().getOrNull()?.validity() ?: 0) + - (if (submittedAt.asKnown().isPresent) 1 else 0) + (if (previewFileId.asKnown().isPresent) 1 else 0) + + (submittedAddress.asKnown().getOrNull()?.validity() ?: 0) + + (if (submittedAt.asKnown().isPresent) 1 else 0) + + (if (trackingNumber.asKnown().isPresent) 1 else 0) /** * The address we submitted to the printer. This is what is physically printed on the check. @@ -7042,19 +7042,27 @@ private constructor( } return other is Submission && + previewFileId == other.previewFileId && submittedAddress == other.submittedAddress && submittedAt == other.submittedAt && + trackingNumber == other.trackingNumber && additionalProperties == other.additionalProperties } private val hashCode: Int by lazy { - Objects.hash(submittedAddress, submittedAt, additionalProperties) + Objects.hash( + previewFileId, + submittedAddress, + submittedAt, + trackingNumber, + additionalProperties, + ) } override fun hashCode(): Int = hashCode override fun toString() = - "Submission{submittedAddress=$submittedAddress, submittedAt=$submittedAt, additionalProperties=$additionalProperties}" + "Submission{previewFileId=$previewFileId, submittedAddress=$submittedAddress, submittedAt=$submittedAt, trackingNumber=$trackingNumber, additionalProperties=$additionalProperties}" } /** diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/checktransfers/CheckTransferListPageResponseTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/checktransfers/CheckTransferListPageResponseTest.kt index 9ae9d21bc..6da499af4 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/checktransfers/CheckTransferListPageResponseTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/checktransfers/CheckTransferListPageResponseTest.kt @@ -61,9 +61,7 @@ internal class CheckTransferListPageResponseTest { .idempotencyKey(null) .mailing( CheckTransfer.Mailing.builder() - .imageId(null) .mailedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) - .trackingNumber(null) .build() ) .pendingTransactionId("pending_transaction_k1sfetcau2qbvjbzgju4") @@ -141,6 +139,7 @@ internal class CheckTransferListPageResponseTest { ) .submission( CheckTransfer.Submission.builder() + .previewFileId(null) .submittedAddress( CheckTransfer.Submission.SubmittedAddress.builder() .city("NEW YORK") @@ -152,6 +151,7 @@ internal class CheckTransferListPageResponseTest { .build() ) .submittedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .trackingNumber(null) .build() ) .thirdParty( @@ -214,9 +214,7 @@ internal class CheckTransferListPageResponseTest { .idempotencyKey(null) .mailing( CheckTransfer.Mailing.builder() - .imageId(null) .mailedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) - .trackingNumber(null) .build() ) .pendingTransactionId("pending_transaction_k1sfetcau2qbvjbzgju4") @@ -292,6 +290,7 @@ internal class CheckTransferListPageResponseTest { ) .submission( CheckTransfer.Submission.builder() + .previewFileId(null) .submittedAddress( CheckTransfer.Submission.SubmittedAddress.builder() .city("NEW YORK") @@ -303,6 +302,7 @@ internal class CheckTransferListPageResponseTest { .build() ) .submittedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .trackingNumber(null) .build() ) .thirdParty( @@ -367,9 +367,7 @@ internal class CheckTransferListPageResponseTest { .idempotencyKey(null) .mailing( CheckTransfer.Mailing.builder() - .imageId(null) .mailedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) - .trackingNumber(null) .build() ) .pendingTransactionId("pending_transaction_k1sfetcau2qbvjbzgju4") @@ -447,6 +445,7 @@ internal class CheckTransferListPageResponseTest { ) .submission( CheckTransfer.Submission.builder() + .previewFileId(null) .submittedAddress( CheckTransfer.Submission.SubmittedAddress.builder() .city("NEW YORK") @@ -458,6 +457,7 @@ internal class CheckTransferListPageResponseTest { .build() ) .submittedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .trackingNumber(null) .build() ) .thirdParty( diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/checktransfers/CheckTransferTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/checktransfers/CheckTransferTest.kt index d41dd4a99..7f075f6e8 100644 --- a/increase-java-core/src/test/kotlin/com/increase/api/models/checktransfers/CheckTransferTest.kt +++ b/increase-java-core/src/test/kotlin/com/increase/api/models/checktransfers/CheckTransferTest.kt @@ -55,9 +55,7 @@ internal class CheckTransferTest { .idempotencyKey(null) .mailing( CheckTransfer.Mailing.builder() - .imageId(null) .mailedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) - .trackingNumber(null) .build() ) .pendingTransactionId("pending_transaction_k1sfetcau2qbvjbzgju4") @@ -132,6 +130,7 @@ internal class CheckTransferTest { ) .submission( CheckTransfer.Submission.builder() + .previewFileId(null) .submittedAddress( CheckTransfer.Submission.SubmittedAddress.builder() .city("NEW YORK") @@ -143,6 +142,7 @@ internal class CheckTransferTest { .build() ) .submittedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .trackingNumber(null) .build() ) .thirdParty( @@ -196,9 +196,7 @@ internal class CheckTransferTest { assertThat(checkTransfer.mailing()) .contains( CheckTransfer.Mailing.builder() - .imageId(null) .mailedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) - .trackingNumber(null) .build() ) assertThat(checkTransfer.pendingTransactionId()) @@ -275,6 +273,7 @@ internal class CheckTransferTest { assertThat(checkTransfer.submission()) .contains( CheckTransfer.Submission.builder() + .previewFileId(null) .submittedAddress( CheckTransfer.Submission.SubmittedAddress.builder() .city("NEW YORK") @@ -286,6 +285,7 @@ internal class CheckTransferTest { .build() ) .submittedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .trackingNumber(null) .build() ) assertThat(checkTransfer.thirdParty()) @@ -340,9 +340,7 @@ internal class CheckTransferTest { .idempotencyKey(null) .mailing( CheckTransfer.Mailing.builder() - .imageId(null) .mailedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) - .trackingNumber(null) .build() ) .pendingTransactionId("pending_transaction_k1sfetcau2qbvjbzgju4") @@ -417,6 +415,7 @@ internal class CheckTransferTest { ) .submission( CheckTransfer.Submission.builder() + .previewFileId(null) .submittedAddress( CheckTransfer.Submission.SubmittedAddress.builder() .city("NEW YORK") @@ -428,6 +427,7 @@ internal class CheckTransferTest { .build() ) .submittedAt(OffsetDateTime.parse("2020-01-31T23:59:59Z")) + .trackingNumber(null) .build() ) .thirdParty(