diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index 2a6c69e6..d4a62486 100644
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,19 +1,19 @@
lockVersion: 2.0.0
id: 5bbaa3a9-baa0-471b-ba6a-13fd88e8c119
management:
- docChecksum: 6ddd079e69ea367d395f5616ed7f350b
+ docChecksum: d1c97500b30e45177a1d800b48bc8aac
docVersion: 1.0.0
speakeasyVersion: 1.797.0
generationVersion: 2.937.18
- releaseVersion: 2.19.8
- configChecksum: 41a25bb72112d1bf416ec8df41271b32
+ releaseVersion: 2.19.9
+ configChecksum: 5476e4544254fee4c118c497e2bd76b8
repoURL: https://github.com/gr4vy/gr4vy-java.git
installationURL: https://github.com/gr4vy/gr4vy-java
published: true
persistentEdits:
- generation_id: af6b5602-5620-4961-9d7c-886574706a78
- pristine_commit_hash: 61d7af96b0f405da702c00a7db27659df7e17094
- pristine_tree_hash: 0bdaa1c7c4c89c15326485d7d234881b7c127a69
+ generation_id: 0f327cbe-c319-42e4-adf4-ae1ab6c06f6c
+ pristine_commit_hash: 5d5be6a223f9ad208b980aa1aa391e2889fd580e
+ pristine_tree_hash: 2cbea099f20e88f28a306e7ab3b4b4181b92b83d
features:
java:
additionalDependencies: 0.1.0
@@ -1337,6 +1337,10 @@ trackedFiles:
id: e497ca34f516
last_write_checksum: sha1:8021a733c69ea6535ba8ab73ea762050dd1f7c80
pristine_git_object: 301be4465d5881611e94ca49a6186e9b1e351772
+ docs/models/components/ShippingCarrier.md:
+ id: 263de1323f9f
+ last_write_checksum: sha1:2a942fecd3c4174e9c6957542eb793bc532ae766
+ pristine_git_object: 391a5776ecdab6122c8071ad0ab3e60ca5b25dc8
docs/models/components/ShippingDetails.md:
id: 11ac13912bc0
last_write_checksum: sha1:5b47f924594638e498dddfd96d82d9c08d554f1c
@@ -1477,6 +1481,10 @@ trackedFiles:
id: 17888efae41e
last_write_checksum: sha1:408d47f303407bf76a1d531b1bf8a12842bbd0b9
pristine_git_object: ce01164765781161afc5da5ac9f8e74761506636
+ docs/models/components/Tracking.md:
+ id: 34646021f531
+ last_write_checksum: sha1:826d787192800337be4845ba18f6faf2aa331284
+ pristine_git_object: 905ad493ea3e7a0e8849b7815792d9d1d1ffd020
docs/models/components/Transaction.md:
id: 860f2214deb0
last_write_checksum: sha1:a8dcd7f150e0d802c082a2c87379fb81f42988da
@@ -1511,8 +1519,8 @@ trackedFiles:
pristine_git_object: 103165f9ab976350b28b45b43d928114ace6ce40
docs/models/components/TransactionCaptureCreate.md:
id: fa6f6819cb5d
- last_write_checksum: sha1:1c1ab12ff4317624e3e8de7b40fdcf6b00712472
- pristine_git_object: 42df151cdf17bc449de7a5e710b9d116e3d9468c
+ last_write_checksum: sha1:2073205f8b9f4da78cbeec16014e779f3e5503dd
+ pristine_git_object: 428794d12ebb53b788c3a52a007b9fff3b2c4241
docs/models/components/TransactionConnectionOptions.md:
id: 2a90ee52a662
last_write_checksum: sha1:19ac7c797b57a744823c778f2262934b0f4df781
@@ -2863,8 +2871,8 @@ trackedFiles:
pristine_git_object: 15c4e4642f204ccb312d8814155b69e153b4e19b
gradle.properties:
id: 2afbb999f001
- last_write_checksum: sha1:8d1b8ff3d7546a2a99ad45c17808cff2324fa802
- pristine_git_object: 37788b59f1c37d76c4820a2f17de41cba9a222f3
+ last_write_checksum: sha1:cc68fd3d5e8b25111e318969fa9332f6ef090b75
+ pristine_git_object: e5b31e40b7772be78ca83ab2f04da822d20a3e37
gradle/wrapper/gradle-wrapper.jar:
id: ec27dae6e852
last_write_checksum: sha1:f725fb1467084142d74fd7cd8eab691ab3442611
@@ -3207,8 +3215,8 @@ trackedFiles:
pristine_git_object: b50475cc7f6041d63c4569256e4ff1850b20d30b
src/main/java/com/gr4vy/sdk/SDKConfiguration.java:
id: 73a7edeaca45
- last_write_checksum: sha1:55cecd86ebbc47f670393fbfec4fe793503a630b
- pristine_git_object: 498f72708d704a56ea8753260d8ed16dc688c25f
+ last_write_checksum: sha1:c6120390dae998f5834f0b39180791a6f220fde0
+ pristine_git_object: e430ac787b6f35326aabea7481049e3ac3da239e
src/main/java/com/gr4vy/sdk/SecuritySource.java:
id: 1b6add6b9b50
last_write_checksum: sha1:2f365cc823c6243188e83f4df618c9737fcee8bd
@@ -4529,6 +4537,10 @@ trackedFiles:
id: 10a9e9b7f968
last_write_checksum: sha1:c35d0d798918f0ca066f8a655040686ccfa0fcc5
pristine_git_object: b4dde7d13182ba257b9f10ebe7c0a1075959adfc
+ src/main/java/com/gr4vy/sdk/models/components/ShippingCarrier.java:
+ id: b381f5cdf6a2
+ last_write_checksum: sha1:497b86b87d50ed6a0dc871ed288a5ab7a1fafa11
+ pristine_git_object: e5bc9ea64c8a65640fcf58e75305bcba87f36816
src/main/java/com/gr4vy/sdk/models/components/ShippingDetails.java:
id: cd0eb540da7f
last_write_checksum: sha1:62790c74720e15aa9b7c7afc6a9463cb6a9e199a
@@ -4673,6 +4685,10 @@ trackedFiles:
id: da3cb8a0ef9e
last_write_checksum: sha1:b56bc638ab263b757fd56dd17327cc6e8aed06e1
pristine_git_object: bb01652754c22faae31a1012053c577c8d9720c2
+ src/main/java/com/gr4vy/sdk/models/components/Tracking.java:
+ id: f2d0603f72c9
+ last_write_checksum: sha1:e3a9989c645fb6b54a16628f66ceb3e2b7650a80
+ pristine_git_object: 8744f0816899aae193db9575a3a4c666686da6a4
src/main/java/com/gr4vy/sdk/models/components/Transaction.java:
id: 3a6b6cb3c604
last_write_checksum: sha1:d2197e3676d22d928d9f25eec74e1405cf15c04b
@@ -4707,8 +4723,8 @@ trackedFiles:
pristine_git_object: 1199d52513a1e9b1a5acee53d35535f81d4590d6
src/main/java/com/gr4vy/sdk/models/components/TransactionCaptureCreate.java:
id: ed5d05b51a07
- last_write_checksum: sha1:f85f1676a6eb1f7b1e0e71a54e67add60aff447c
- pristine_git_object: 128b2ec34de631f2453cdd8696006f12f7ba7a82
+ last_write_checksum: sha1:436c47c4b4055a0987ba5b42e634efbac24c2908
+ pristine_git_object: 62046c9977b03ec5c305b415b5822e8b687e45af
src/main/java/com/gr4vy/sdk/models/components/TransactionConnectionOptions.java:
id: 31501e4506f3
last_write_checksum: sha1:90d3d0a8d022cbaae7f45ad28a4fd5343d549e81
@@ -12443,7 +12459,7 @@ examples:
application/json: {"type": "error", "code": "gateway_timeout", "status": 504, "message": "Request could not be processed"}
examplesVersion: 1.0.2
generatedTests: {}
-releaseNotes: "## Java SDK Changes:\n* `gr4vy.transactions.create()`: \n * `request.transactionCreate.cartItems[]` **Changed**\n * `response.cartItems[]` **Changed**\n* `gr4vy.transactions.get()`: `response.cartItems[]` **Changed**\n* `gr4vy.transactions.update()`: `response.cartItems[]` **Changed**\n* `gr4vy.transactions.capture()`: \n * `request.transactionCaptureCreate.cartItems[]` **Changed**\n * `response.union(Transaction).cartItems[]` **Changed**\n* `gr4vy.transactions.void()`: `response.union(Transaction).cartItems[]` **Changed**\n* `gr4vy.transactions.cancel()`: `response.transaction.cartItems[]` **Changed**\n* `gr4vy.transactions.sync()`: `response.cartItems[]` **Changed**\n* `gr4vy.transactions.incrementAuthorization()`: `response.transaction.cartItems[]` **Changed**\n* `gr4vy.transactions.captures.list()`: `response.items[].cartItems[]` **Changed**\n* `gr4vy.transactions.captures.get()`: `response.cartItems[]` **Changed**\n* `gr4vy.paymentOptions.list()`: \n * `request.paymentOptionRequest.cartItems[]` **Changed**\n* `gr4vy.checkoutSessions.create()`: \n * `request.checkoutSessionCreate.cartItems[]` **Changed**\n * `response.cartItems[]` **Changed**\n* `gr4vy.checkoutSessions.update()`: \n * `request.checkoutSessionCreate.cartItems[]` **Changed**\n * `response.cartItems[]` **Changed**\n* `gr4vy.checkoutSessions.get()`: `response.cartItems[]` **Changed**\n* `gr4vy.paymentLinks.create()`: \n * `request.paymentLinkCreate.cartItems[]` **Changed**\n * `response.cartItems[]` **Changed**\n* `gr4vy.paymentLinks.list()`: `response.items[].cartItems[]` **Changed**\n* `gr4vy.paymentLinks.get()`: `response.cartItems[]` **Changed**\n"
+releaseNotes: "## Java SDK Changes:\n* `gr4vy.transactions.capture()`: \n * `request.transactionCaptureCreate.tracking` **Added**\n"
generatedFiles:
- .gitattributes
- USAGE.md
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index ccc6eeed..50a8de0a 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -30,7 +30,7 @@ generation:
generateNewTests: false
skipResponseBodyAssertions: false
java:
- version: 2.19.8
+ version: 2.19.9
additionalDependencies:
- testImplementation:org.junit.jupiter:junit-jupiter:5.10.0
- implementation:com.auth0:java-jwt:4.5.0
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index aca36d64..40c1c8be 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -9,8 +9,8 @@ sources:
- 1.0.0
openapi:
sourceNamespace: openapi
- sourceRevisionDigest: sha256:2068ff15cd7c08172960868860cc7ab74e8a64668cd16641ca532a45aa145b13
- sourceBlobDigest: sha256:978f7ee7c31ced41e64dfb1125c5b34e15c7a5119d4b444982db6fef879c5eb1
+ sourceRevisionDigest: sha256:f0778b9a94e94250530b1b5c90892d2b297612517548c6db8f634d8d982821c3
+ sourceBlobDigest: sha256:b6022cde1e5a5d1314572a303bc8767fa826cbd20e8ca8343a0f50985aa02e53
tags:
- latest
- 1.0.0
@@ -25,10 +25,10 @@ targets:
java:
source: openapi
sourceNamespace: openapi
- sourceRevisionDigest: sha256:2068ff15cd7c08172960868860cc7ab74e8a64668cd16641ca532a45aa145b13
- sourceBlobDigest: sha256:978f7ee7c31ced41e64dfb1125c5b34e15c7a5119d4b444982db6fef879c5eb1
+ sourceRevisionDigest: sha256:f0778b9a94e94250530b1b5c90892d2b297612517548c6db8f634d8d982821c3
+ sourceBlobDigest: sha256:b6022cde1e5a5d1314572a303bc8767fa826cbd20e8ca8343a0f50985aa02e53
codeSamplesNamespace: openapi-java-code-samples
- codeSamplesRevisionDigest: sha256:20d6d42ba12c6ce0b0e1fe5e31ed48d789878834530fd088c0ebbd2670f55dac
+ codeSamplesRevisionDigest: sha256:046e3be73cd8a4bb1ecef1e8c1f6fb88635cbbd9bff6a21a65e1858ce8e2dfd2
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
diff --git a/README.md b/README.md
index c185825c..6df50e85 100644
--- a/README.md
+++ b/README.md
@@ -59,7 +59,7 @@ The samples below show how a published SDK artifact is used:
Gradle:
```groovy
-implementation 'com.gr4vy:sdk:2.19.8'
+implementation 'com.gr4vy:sdk:2.19.9'
```
Maven:
@@ -67,7 +67,7 @@ Maven:
com.gr4vy
sdk
- 2.19.8
+ 2.19.9
```
diff --git a/RELEASES.md b/RELEASES.md
index 574e493e..6fb89d9c 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -2248,4 +2248,14 @@ Based on:
### Generated
- [java v2.19.8] .
### Releases
-- [Maven Central v2.19.8] https://central.sonatype.com/artifact/com.gr4vy/sdk/2.19.8 - .
\ No newline at end of file
+- [Maven Central v2.19.8] https://central.sonatype.com/artifact/com.gr4vy/sdk/2.19.8 - .
+
+## 2026-09-15 08:41:58
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.797.0 (2.937.18) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [java v2.19.9] .
+### Releases
+- [Maven Central v2.19.9] https://central.sonatype.com/artifact/com.gr4vy/sdk/2.19.9 - .
\ No newline at end of file
diff --git a/docs/models/components/ShippingCarrier.md b/docs/models/components/ShippingCarrier.md
new file mode 100644
index 00000000..391a5776
--- /dev/null
+++ b/docs/models/components/ShippingCarrier.md
@@ -0,0 +1,42 @@
+# ShippingCarrier
+
+## Example Usage
+
+```java
+import com.gr4vy.sdk.models.components.ShippingCarrier;
+
+ShippingCarrier value = ShippingCarrier.AMAZON;
+
+// Open enum: use .of() to create instances from custom string values
+ShippingCarrier custom = ShippingCarrier.of("custom_value");
+```
+
+
+## Values
+
+| Name | Value |
+| ----------------- | ----------------- |
+| `AMAZON` | amazon |
+| `BPOST` | bpost |
+| `BRT` | brt |
+| `CANADA_POST` | canada_post |
+| `CESKA_POSTA` | ceska_posta |
+| `DHL` | dhl |
+| `DOORDASH` | doordash |
+| `DPD` | dpd |
+| `EVRI` | evri |
+| `FEDEX` | fedex |
+| `GLS` | gls |
+| `INPOST` | inpost |
+| `JT_EXPRESS` | jt_express |
+| `LANDMARK_GLOBAL` | landmark_global |
+| `LASERSHIP` | lasership |
+| `PACKETA` | packeta |
+| `PPL` | ppl |
+| `PUROLATOR` | purolator |
+| `RR_DONNELLEY` | rr_donnelley |
+| `SDA` | sda |
+| `UPS` | ups |
+| `USPS` | usps |
+| `VEHO` | veho |
+| `OTHER` | other |
\ No newline at end of file
diff --git a/docs/models/components/Tracking.md b/docs/models/components/Tracking.md
new file mode 100644
index 00000000..905ad493
--- /dev/null
+++ b/docs/models/components/Tracking.md
@@ -0,0 +1,10 @@
+# Tracking
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `number` | *String* | :heavy_check_mark: | The tracking number for the shipment. | 1Z999AA10123456784 |
+| `carrier` | [ShippingCarrier](../../models/components/ShippingCarrier.md) | :heavy_check_mark: | N/A | |
+| `url` | *JsonNullable\* | :heavy_minus_sign: | The URL to track the shipment. | https://www.ups.com/track?tracknum=1Z999AA10123456784 |
\ No newline at end of file
diff --git a/docs/models/components/TransactionCaptureCreate.md b/docs/models/components/TransactionCaptureCreate.md
index 42df151c..428794d1 100644
--- a/docs/models/components/TransactionCaptureCreate.md
+++ b/docs/models/components/TransactionCaptureCreate.md
@@ -10,6 +10,7 @@ Request body for capturing an authorized transaction.
| `amount` | *JsonNullable\* | :heavy_minus_sign: | The amount to capture, in the smallest currency unit (e.g., cents). This must be less than or equal to the authorized amount, unless over-capture is available. | 1299 |
| `airline` | [JsonNullable\](../../models/components/Airline.md) | :heavy_minus_sign: | The airline data to submit to the payment service during the capture call. | |
| `cartItems` | List\<[CartItem](../../models/components/CartItem.md)> | :heavy_minus_sign: | An array of cart items that represents the line items of this capture. | |
+| `tracking` | List\<[Tracking](../../models/components/Tracking.md)> | :heavy_minus_sign: | An array of shipment tracking details for this capture. | |
| `final_` | *Optional\* | :heavy_minus_sign: | Whether this is marked as the final capture for the associated transaction. Must be `true` or omitted when multi-capture is not enabled; a value of `false` is only valid when multi-capture is available on the connection. | true |
| `externalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | An external identifier that can be used to match the capture against your own records. | capture-12345 |
| `reauthorizeIfAuthorizationExpired` | *Optional\* | :heavy_minus_sign: | Whether this capture request should re-authorize the transaction if it has expired. | **Example 1:** true
**Example 2:** false |
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 37788b59..e5b31e40 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,4 +1,4 @@
groupId=com.gr4vy
artifactId=sdk
-version=2.19.8
+version=2.19.9
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g
diff --git a/src/main/java/com/gr4vy/sdk/SDKConfiguration.java b/src/main/java/com/gr4vy/sdk/SDKConfiguration.java
index 498f7270..e430ac78 100644
--- a/src/main/java/com/gr4vy/sdk/SDKConfiguration.java
+++ b/src/main/java/com/gr4vy/sdk/SDKConfiguration.java
@@ -22,7 +22,7 @@ public class SDKConfiguration {
private static final String LANGUAGE = "java";
public static final String OPENAPI_DOC_VERSION = "1.0.0";
- public static final String SDK_VERSION = "2.19.8";
+ public static final String SDK_VERSION = "2.19.9";
public static final String GEN_VERSION = "2.937.18";
private static final String BASE_PACKAGE = "com.gr4vy.sdk";
public static final String USER_AGENT =
diff --git a/src/main/java/com/gr4vy/sdk/models/components/ShippingCarrier.java b/src/main/java/com/gr4vy/sdk/models/components/ShippingCarrier.java
new file mode 100644
index 00000000..e5bc9ea6
--- /dev/null
+++ b/src/main/java/com/gr4vy/sdk/models/components/ShippingCarrier.java
@@ -0,0 +1,215 @@
+/*
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
+ */
+package com.gr4vy.sdk.models.components;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import java.lang.Override;
+import java.lang.String;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+
+/**
+ * Wrapper for an "open" enum that can handle unknown values from API responses
+ * without runtime errors. Instances are immutable singletons with reference equality.
+ * Use {@code asEnum()} for switch expressions.
+ */
+public class ShippingCarrier {
+
+ public static final ShippingCarrier AMAZON = new ShippingCarrier("amazon");
+ public static final ShippingCarrier BPOST = new ShippingCarrier("bpost");
+ public static final ShippingCarrier BRT = new ShippingCarrier("brt");
+ public static final ShippingCarrier CANADA_POST = new ShippingCarrier("canada_post");
+ public static final ShippingCarrier CESKA_POSTA = new ShippingCarrier("ceska_posta");
+ public static final ShippingCarrier DHL = new ShippingCarrier("dhl");
+ public static final ShippingCarrier DOORDASH = new ShippingCarrier("doordash");
+ public static final ShippingCarrier DPD = new ShippingCarrier("dpd");
+ public static final ShippingCarrier EVRI = new ShippingCarrier("evri");
+ public static final ShippingCarrier FEDEX = new ShippingCarrier("fedex");
+ public static final ShippingCarrier GLS = new ShippingCarrier("gls");
+ public static final ShippingCarrier INPOST = new ShippingCarrier("inpost");
+ public static final ShippingCarrier JT_EXPRESS = new ShippingCarrier("jt_express");
+ public static final ShippingCarrier LANDMARK_GLOBAL = new ShippingCarrier("landmark_global");
+ public static final ShippingCarrier LASERSHIP = new ShippingCarrier("lasership");
+ public static final ShippingCarrier PACKETA = new ShippingCarrier("packeta");
+ public static final ShippingCarrier PPL = new ShippingCarrier("ppl");
+ public static final ShippingCarrier PUROLATOR = new ShippingCarrier("purolator");
+ public static final ShippingCarrier RR_DONNELLEY = new ShippingCarrier("rr_donnelley");
+ public static final ShippingCarrier SDA = new ShippingCarrier("sda");
+ public static final ShippingCarrier UPS = new ShippingCarrier("ups");
+ public static final ShippingCarrier USPS = new ShippingCarrier("usps");
+ public static final ShippingCarrier VEHO = new ShippingCarrier("veho");
+ public static final ShippingCarrier OTHER = new ShippingCarrier("other");
+
+ // This map will grow whenever a Color gets created with a new
+ // unrecognized value (a potential memory leak if the user is not
+ // careful). Keep this field lower case to avoid clashing with
+ // generated member names which will always be upper cased (Java
+ // convention)
+ private static final Map values = createValuesMap();
+ private static final Map enums = createEnumsMap();
+
+ private final String value;
+
+ private ShippingCarrier(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Returns a ShippingCarrier with the given value. For a specific value the
+ * returned object will always be a singleton so reference equality
+ * is satisfied when the values are the same.
+ *
+ * @param value value to be wrapped as ShippingCarrier
+ */
+ @JsonCreator
+ public static ShippingCarrier of(String value) {
+ synchronized (ShippingCarrier.class) {
+ return values.computeIfAbsent(value, v -> new ShippingCarrier(v));
+ }
+ }
+
+ @JsonValue
+ public String value() {
+ return value;
+ }
+
+ public Optional asEnum() {
+ return Optional.ofNullable(enums.getOrDefault(value, null));
+ }
+
+ public boolean isKnown() {
+ return asEnum().isPresent();
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(value);
+ }
+
+ @Override
+ public boolean equals(java.lang.Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ShippingCarrier other = (ShippingCarrier) obj;
+ return Objects.equals(value, other.value);
+ }
+
+ @Override
+ public String toString() {
+ return "ShippingCarrier [value=" + value + "]";
+ }
+
+ // return an array just like an enum
+ public static ShippingCarrier[] values() {
+ synchronized (ShippingCarrier.class) {
+ return values.values().toArray(new ShippingCarrier[] {});
+ }
+ }
+
+ private static final Map createValuesMap() {
+ Map map = new LinkedHashMap<>();
+ map.put("amazon", AMAZON);
+ map.put("bpost", BPOST);
+ map.put("brt", BRT);
+ map.put("canada_post", CANADA_POST);
+ map.put("ceska_posta", CESKA_POSTA);
+ map.put("dhl", DHL);
+ map.put("doordash", DOORDASH);
+ map.put("dpd", DPD);
+ map.put("evri", EVRI);
+ map.put("fedex", FEDEX);
+ map.put("gls", GLS);
+ map.put("inpost", INPOST);
+ map.put("jt_express", JT_EXPRESS);
+ map.put("landmark_global", LANDMARK_GLOBAL);
+ map.put("lasership", LASERSHIP);
+ map.put("packeta", PACKETA);
+ map.put("ppl", PPL);
+ map.put("purolator", PUROLATOR);
+ map.put("rr_donnelley", RR_DONNELLEY);
+ map.put("sda", SDA);
+ map.put("ups", UPS);
+ map.put("usps", USPS);
+ map.put("veho", VEHO);
+ map.put("other", OTHER);
+ return map;
+ }
+
+ private static final Map createEnumsMap() {
+ Map map = new HashMap<>();
+ map.put("amazon", ShippingCarrierEnum.AMAZON);
+ map.put("bpost", ShippingCarrierEnum.BPOST);
+ map.put("brt", ShippingCarrierEnum.BRT);
+ map.put("canada_post", ShippingCarrierEnum.CANADA_POST);
+ map.put("ceska_posta", ShippingCarrierEnum.CESKA_POSTA);
+ map.put("dhl", ShippingCarrierEnum.DHL);
+ map.put("doordash", ShippingCarrierEnum.DOORDASH);
+ map.put("dpd", ShippingCarrierEnum.DPD);
+ map.put("evri", ShippingCarrierEnum.EVRI);
+ map.put("fedex", ShippingCarrierEnum.FEDEX);
+ map.put("gls", ShippingCarrierEnum.GLS);
+ map.put("inpost", ShippingCarrierEnum.INPOST);
+ map.put("jt_express", ShippingCarrierEnum.JT_EXPRESS);
+ map.put("landmark_global", ShippingCarrierEnum.LANDMARK_GLOBAL);
+ map.put("lasership", ShippingCarrierEnum.LASERSHIP);
+ map.put("packeta", ShippingCarrierEnum.PACKETA);
+ map.put("ppl", ShippingCarrierEnum.PPL);
+ map.put("purolator", ShippingCarrierEnum.PUROLATOR);
+ map.put("rr_donnelley", ShippingCarrierEnum.RR_DONNELLEY);
+ map.put("sda", ShippingCarrierEnum.SDA);
+ map.put("ups", ShippingCarrierEnum.UPS);
+ map.put("usps", ShippingCarrierEnum.USPS);
+ map.put("veho", ShippingCarrierEnum.VEHO);
+ map.put("other", ShippingCarrierEnum.OTHER);
+ return map;
+ }
+
+
+ public enum ShippingCarrierEnum {
+
+ AMAZON("amazon"),
+ BPOST("bpost"),
+ BRT("brt"),
+ CANADA_POST("canada_post"),
+ CESKA_POSTA("ceska_posta"),
+ DHL("dhl"),
+ DOORDASH("doordash"),
+ DPD("dpd"),
+ EVRI("evri"),
+ FEDEX("fedex"),
+ GLS("gls"),
+ INPOST("inpost"),
+ JT_EXPRESS("jt_express"),
+ LANDMARK_GLOBAL("landmark_global"),
+ LASERSHIP("lasership"),
+ PACKETA("packeta"),
+ PPL("ppl"),
+ PUROLATOR("purolator"),
+ RR_DONNELLEY("rr_donnelley"),
+ SDA("sda"),
+ UPS("ups"),
+ USPS("usps"),
+ VEHO("veho"),
+ OTHER("other"),;
+
+ private final String value;
+
+ private ShippingCarrierEnum(String value) {
+ this.value = value;
+ }
+
+ public String value() {
+ return value;
+ }
+ }
+}
+
diff --git a/src/main/java/com/gr4vy/sdk/models/components/Tracking.java b/src/main/java/com/gr4vy/sdk/models/components/Tracking.java
new file mode 100644
index 00000000..8744f081
--- /dev/null
+++ b/src/main/java/com/gr4vy/sdk/models/components/Tracking.java
@@ -0,0 +1,198 @@
+/*
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
+ */
+package com.gr4vy.sdk.models.components;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.gr4vy.sdk.utils.Utils;
+import java.lang.Override;
+import java.lang.String;
+import org.openapitools.jackson.nullable.JsonNullable;
+
+
+public class Tracking {
+ /**
+ * The tracking number for the shipment.
+ */
+ @JsonProperty("number")
+ private String number;
+
+
+ @JsonProperty("carrier")
+ private ShippingCarrier carrier;
+
+ /**
+ * The URL to track the shipment.
+ */
+ @JsonInclude(Include.NON_ABSENT)
+ @JsonProperty("url")
+ private JsonNullable url;
+
+ @JsonCreator
+ public Tracking(
+ @JsonProperty("number") String number,
+ @JsonProperty("carrier") ShippingCarrier carrier,
+ @JsonProperty("url") JsonNullable url) {
+ Utils.checkNotNull(number, "number");
+ Utils.checkNotNull(carrier, "carrier");
+ Utils.checkNotNull(url, "url");
+ this.number = number;
+ this.carrier = carrier;
+ this.url = url;
+ }
+
+ public Tracking(
+ String number,
+ ShippingCarrier carrier) {
+ this(number, carrier, JsonNullable.undefined());
+ }
+
+ /**
+ * The tracking number for the shipment.
+ */
+ @JsonIgnore
+ public String number() {
+ return number;
+ }
+
+ @JsonIgnore
+ public ShippingCarrier carrier() {
+ return carrier;
+ }
+
+ /**
+ * The URL to track the shipment.
+ */
+ @JsonIgnore
+ public JsonNullable url() {
+ return url;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+
+ /**
+ * The tracking number for the shipment.
+ */
+ public Tracking withNumber(String number) {
+ Utils.checkNotNull(number, "number");
+ this.number = number;
+ return this;
+ }
+
+ public Tracking withCarrier(ShippingCarrier carrier) {
+ Utils.checkNotNull(carrier, "carrier");
+ this.carrier = carrier;
+ return this;
+ }
+
+ /**
+ * The URL to track the shipment.
+ */
+ public Tracking withUrl(String url) {
+ Utils.checkNotNull(url, "url");
+ this.url = JsonNullable.of(url);
+ return this;
+ }
+
+ /**
+ * The URL to track the shipment.
+ */
+ public Tracking withUrl(JsonNullable url) {
+ Utils.checkNotNull(url, "url");
+ this.url = url;
+ return this;
+ }
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Tracking other = (Tracking) o;
+ return
+ Utils.enhancedDeepEquals(this.number, other.number) &&
+ Utils.enhancedDeepEquals(this.carrier, other.carrier) &&
+ Utils.enhancedDeepEquals(this.url, other.url);
+ }
+
+ @Override
+ public int hashCode() {
+ return Utils.enhancedHash(
+ number, carrier, url);
+ }
+
+ @Override
+ public String toString() {
+ return Utils.toString(Tracking.class,
+ "number", number,
+ "carrier", carrier,
+ "url", url);
+ }
+
+ @SuppressWarnings("UnusedReturnValue")
+ public final static class Builder {
+
+ private String number;
+
+ private ShippingCarrier carrier;
+
+ private JsonNullable url = JsonNullable.undefined();
+
+ private Builder() {
+ // force use of static builder() method
+ }
+
+
+ /**
+ * The tracking number for the shipment.
+ */
+ public Builder number(String number) {
+ Utils.checkNotNull(number, "number");
+ this.number = number;
+ return this;
+ }
+
+
+ public Builder carrier(ShippingCarrier carrier) {
+ Utils.checkNotNull(carrier, "carrier");
+ this.carrier = carrier;
+ return this;
+ }
+
+
+ /**
+ * The URL to track the shipment.
+ */
+ public Builder url(String url) {
+ Utils.checkNotNull(url, "url");
+ this.url = JsonNullable.of(url);
+ return this;
+ }
+
+ /**
+ * The URL to track the shipment.
+ */
+ public Builder url(JsonNullable url) {
+ Utils.checkNotNull(url, "url");
+ this.url = url;
+ return this;
+ }
+
+ public Tracking build() {
+
+ return new Tracking(
+ number, carrier, url);
+ }
+
+ }
+}
diff --git a/src/main/java/com/gr4vy/sdk/models/components/TransactionCaptureCreate.java b/src/main/java/com/gr4vy/sdk/models/components/TransactionCaptureCreate.java
index 128b2ec3..62046c99 100644
--- a/src/main/java/com/gr4vy/sdk/models/components/TransactionCaptureCreate.java
+++ b/src/main/java/com/gr4vy/sdk/models/components/TransactionCaptureCreate.java
@@ -48,6 +48,13 @@ public class TransactionCaptureCreate {
@JsonProperty("cart_items")
private JsonNullable extends List> cartItems;
+ /**
+ * An array of shipment tracking details for this capture.
+ */
+ @JsonInclude(Include.NON_ABSENT)
+ @JsonProperty("tracking")
+ private JsonNullable extends List> tracking;
+
/**
* Whether this is marked as the final capture for the associated transaction. Must be `true` or
* omitted when multi-capture is not enabled; a value of `false` is only valid when multi-capture is
@@ -76,18 +83,21 @@ public TransactionCaptureCreate(
@JsonProperty("amount") JsonNullable amount,
@JsonProperty("airline") JsonNullable extends Airline> airline,
@JsonProperty("cart_items") JsonNullable extends List> cartItems,
+ @JsonProperty("tracking") JsonNullable extends List> tracking,
@JsonProperty("final") Optional final_,
@JsonProperty("external_identifier") JsonNullable externalIdentifier,
@JsonProperty("reauthorize_if_authorization_expired") Optional reauthorizeIfAuthorizationExpired) {
Utils.checkNotNull(amount, "amount");
Utils.checkNotNull(airline, "airline");
Utils.checkNotNull(cartItems, "cartItems");
+ Utils.checkNotNull(tracking, "tracking");
Utils.checkNotNull(final_, "final_");
Utils.checkNotNull(externalIdentifier, "externalIdentifier");
Utils.checkNotNull(reauthorizeIfAuthorizationExpired, "reauthorizeIfAuthorizationExpired");
this.amount = amount;
this.airline = airline;
this.cartItems = cartItems;
+ this.tracking = tracking;
this.final_ = final_;
this.externalIdentifier = externalIdentifier;
this.reauthorizeIfAuthorizationExpired = reauthorizeIfAuthorizationExpired;
@@ -95,7 +105,8 @@ public TransactionCaptureCreate(
public TransactionCaptureCreate() {
this(JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(),
- Optional.empty(), JsonNullable.undefined(), Optional.empty());
+ JsonNullable.undefined(), Optional.empty(), JsonNullable.undefined(),
+ Optional.empty());
}
/**
@@ -125,6 +136,15 @@ public JsonNullable> cartItems() {
return (JsonNullable>) cartItems;
}
+ /**
+ * An array of shipment tracking details for this capture.
+ */
+ @SuppressWarnings("unchecked")
+ @JsonIgnore
+ public JsonNullable> tracking() {
+ return (JsonNullable>) tracking;
+ }
+
/**
* Whether this is marked as the final capture for the associated transaction. Must be `true` or
* omitted when multi-capture is not enabled; a value of `false` is only valid when multi-capture is
@@ -212,6 +232,24 @@ public TransactionCaptureCreate withCartItems(JsonNullable extends List tracking) {
+ Utils.checkNotNull(tracking, "tracking");
+ this.tracking = JsonNullable.of(tracking);
+ return this;
+ }
+
+ /**
+ * An array of shipment tracking details for this capture.
+ */
+ public TransactionCaptureCreate withTracking(JsonNullable extends List> tracking) {
+ Utils.checkNotNull(tracking, "tracking");
+ this.tracking = tracking;
+ return this;
+ }
+
/**
* Whether this is marked as the final capture for the associated transaction. Must be `true` or
* omitted when multi-capture is not enabled; a value of `false` is only valid when multi-capture is
@@ -285,6 +323,7 @@ public boolean equals(java.lang.Object o) {
Utils.enhancedDeepEquals(this.amount, other.amount) &&
Utils.enhancedDeepEquals(this.airline, other.airline) &&
Utils.enhancedDeepEquals(this.cartItems, other.cartItems) &&
+ Utils.enhancedDeepEquals(this.tracking, other.tracking) &&
Utils.enhancedDeepEquals(this.final_, other.final_) &&
Utils.enhancedDeepEquals(this.externalIdentifier, other.externalIdentifier) &&
Utils.enhancedDeepEquals(this.reauthorizeIfAuthorizationExpired, other.reauthorizeIfAuthorizationExpired);
@@ -294,7 +333,8 @@ public boolean equals(java.lang.Object o) {
public int hashCode() {
return Utils.enhancedHash(
amount, airline, cartItems,
- final_, externalIdentifier, reauthorizeIfAuthorizationExpired);
+ tracking, final_, externalIdentifier,
+ reauthorizeIfAuthorizationExpired);
}
@Override
@@ -303,6 +343,7 @@ public String toString() {
"amount", amount,
"airline", airline,
"cartItems", cartItems,
+ "tracking", tracking,
"final_", final_,
"externalIdentifier", externalIdentifier,
"reauthorizeIfAuthorizationExpired", reauthorizeIfAuthorizationExpired);
@@ -317,6 +358,8 @@ public final static class Builder {
private JsonNullable extends List> cartItems = JsonNullable.undefined();
+ private JsonNullable extends List> tracking = JsonNullable.undefined();
+
private Optional final_;
private JsonNullable externalIdentifier = JsonNullable.undefined();
@@ -387,6 +430,25 @@ public Builder cartItems(JsonNullable extends List> cartItems) {
}
+ /**
+ * An array of shipment tracking details for this capture.
+ */
+ public Builder tracking(List tracking) {
+ Utils.checkNotNull(tracking, "tracking");
+ this.tracking = JsonNullable.of(tracking);
+ return this;
+ }
+
+ /**
+ * An array of shipment tracking details for this capture.
+ */
+ public Builder tracking(JsonNullable extends List> tracking) {
+ Utils.checkNotNull(tracking, "tracking");
+ this.tracking = tracking;
+ return this;
+ }
+
+
/**
* Whether this is marked as the final capture for the associated transaction. Must be `true` or
* omitted when multi-capture is not enabled; a value of `false` is only valid when multi-capture is
@@ -457,7 +519,8 @@ public TransactionCaptureCreate build() {
return new TransactionCaptureCreate(
amount, airline, cartItems,
- final_, externalIdentifier, reauthorizeIfAuthorizationExpired);
+ tracking, final_, externalIdentifier,
+ reauthorizeIfAuthorizationExpired);
}