Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
b314e9c
codegen metadata
stainless-app[bot] May 14, 2026
cc068c6
codegen metadata
stainless-app[bot] May 14, 2026
30ef6b2
codegen metadata
stainless-app[bot] May 14, 2026
834ae5f
codegen metadata
stainless-app[bot] May 14, 2026
08a49de
codegen metadata
stainless-app[bot] May 14, 2026
c7a1181
codegen metadata
stainless-app[bot] May 15, 2026
d6470fe
codegen metadata
stainless-app[bot] May 15, 2026
e1fecb5
codegen metadata
stainless-app[bot] May 15, 2026
cb12998
codegen metadata
stainless-app[bot] May 15, 2026
38c2f33
codegen metadata
stainless-app[bot] May 15, 2026
ed3171c
codegen metadata
stainless-app[bot] May 15, 2026
2c4a612
codegen metadata
stainless-app[bot] May 15, 2026
9f3f0e3
codegen metadata
stainless-app[bot] May 15, 2026
f0ce540
codegen metadata
stainless-app[bot] May 15, 2026
021a0cf
codegen metadata
stainless-app[bot] May 15, 2026
8d37bb2
codegen metadata
stainless-app[bot] May 15, 2026
35478a9
codegen metadata
stainless-app[bot] May 15, 2026
79c3537
codegen metadata
stainless-app[bot] May 15, 2026
b33903c
codegen metadata
stainless-app[bot] May 15, 2026
505f97a
codegen metadata
stainless-app[bot] May 15, 2026
227c597
codegen metadata
stainless-app[bot] May 15, 2026
63d58ed
codegen metadata
stainless-app[bot] May 15, 2026
f7516cd
codegen metadata
stainless-app[bot] May 15, 2026
a76e722
codegen metadata
stainless-app[bot] May 16, 2026
22026be
codegen metadata
stainless-app[bot] May 16, 2026
be7ff5e
codegen metadata
stainless-app[bot] May 16, 2026
d42f632
codegen metadata
stainless-app[bot] May 16, 2026
a82dcb5
codegen metadata
stainless-app[bot] May 16, 2026
d291056
codegen metadata
stainless-app[bot] May 16, 2026
ba998f3
codegen metadata
stainless-app[bot] May 16, 2026
fcb6988
codegen metadata
stainless-app[bot] May 16, 2026
594cbe2
codegen metadata
stainless-app[bot] May 16, 2026
44a013d
codegen metadata
stainless-app[bot] May 16, 2026
89667fb
codegen metadata
stainless-app[bot] May 16, 2026
dd49444
codegen metadata
stainless-app[bot] May 16, 2026
2d2ba31
codegen metadata
stainless-app[bot] May 16, 2026
6a58f7f
codegen metadata
stainless-app[bot] May 17, 2026
85d5fd1
codegen metadata
stainless-app[bot] May 17, 2026
8cb0647
codegen metadata
stainless-app[bot] May 17, 2026
4b722c7
codegen metadata
stainless-app[bot] May 17, 2026
8bd4c57
codegen metadata
stainless-app[bot] May 17, 2026
b7a9423
codegen metadata
stainless-app[bot] May 17, 2026
5314944
codegen metadata
stainless-app[bot] May 17, 2026
0e63b76
codegen metadata
stainless-app[bot] May 17, 2026
b4bac2d
codegen metadata
stainless-app[bot] May 17, 2026
2799e86
codegen metadata
stainless-app[bot] May 17, 2026
8ae1350
codegen metadata
stainless-app[bot] May 17, 2026
d38e1db
codegen metadata
stainless-app[bot] May 17, 2026
7f9ab1a
codegen metadata
stainless-app[bot] May 17, 2026
8e05667
codegen metadata
stainless-app[bot] May 17, 2026
ee6c56f
codegen metadata
stainless-app[bot] May 17, 2026
2fe867c
codegen metadata
stainless-app[bot] May 17, 2026
e69c67d
codegen metadata
stainless-app[bot] May 17, 2026
67c7e2b
codegen metadata
stainless-app[bot] May 17, 2026
8b633b8
codegen metadata
stainless-app[bot] May 17, 2026
e93c0a8
codegen metadata
stainless-app[bot] May 18, 2026
1e7f11d
codegen metadata
stainless-app[bot] May 18, 2026
eb24dcc
codegen metadata
stainless-app[bot] May 18, 2026
651ea09
codegen metadata
stainless-app[bot] May 18, 2026
94aa219
codegen metadata
stainless-app[bot] May 18, 2026
85f96ef
codegen metadata
stainless-app[bot] May 18, 2026
70db31c
codegen metadata
stainless-app[bot] May 18, 2026
1d65fc3
codegen metadata
stainless-app[bot] May 18, 2026
fac138e
codegen metadata
stainless-app[bot] May 18, 2026
2a7e530
codegen metadata
stainless-app[bot] May 18, 2026
b58af86
codegen metadata
stainless-app[bot] May 18, 2026
65e6a4f
codegen metadata
stainless-app[bot] May 18, 2026
dcdbfe2
codegen metadata
stainless-app[bot] May 18, 2026
b7c5a88
codegen metadata
stainless-app[bot] May 18, 2026
3b86be4
codegen metadata
stainless-app[bot] May 18, 2026
861c2fb
codegen metadata
stainless-app[bot] May 18, 2026
90f49a7
codegen metadata
stainless-app[bot] May 18, 2026
84a909e
codegen metadata
stainless-app[bot] May 19, 2026
4a2b594
codegen metadata
stainless-app[bot] May 19, 2026
01f4c55
codegen metadata
stainless-app[bot] May 19, 2026
25021ff
codegen metadata
stainless-app[bot] May 19, 2026
eeafe52
codegen metadata
stainless-app[bot] May 19, 2026
e446455
codegen metadata
stainless-app[bot] May 19, 2026
19ae4b4
codegen metadata
stainless-app[bot] May 19, 2026
2e4e125
codegen metadata
stainless-app[bot] May 19, 2026
0cbe335
codegen metadata
stainless-app[bot] May 19, 2026
fd53c0a
codegen metadata
stainless-app[bot] May 19, 2026
a2ed8fa
codegen metadata
stainless-app[bot] May 19, 2026
f0eba27
codegen metadata
stainless-app[bot] May 19, 2026
13d4add
codegen metadata
stainless-app[bot] May 19, 2026
296d99d
codegen metadata
stainless-app[bot] May 19, 2026
0b97c3f
codegen metadata
stainless-app[bot] May 19, 2026
c4248c3
feat(api): api update
stainless-app[bot] May 19, 2026
e6b876e
codegen metadata
stainless-app[bot] May 19, 2026
734d91f
codegen metadata
stainless-app[bot] May 19, 2026
28f7fd4
codegen metadata
stainless-app[bot] May 19, 2026
255dea1
codegen metadata
stainless-app[bot] May 19, 2026
2e76afb
codegen metadata
stainless-app[bot] May 20, 2026
37e7a41
codegen metadata
stainless-app[bot] May 20, 2026
453983e
codegen metadata
stainless-app[bot] May 20, 2026
1508f78
codegen metadata
stainless-app[bot] May 20, 2026
4493a8a
codegen metadata
stainless-app[bot] May 20, 2026
0b4282e
codegen metadata
stainless-app[bot] May 20, 2026
e504dd3
codegen metadata
stainless-app[bot] May 20, 2026
2f8173f
codegen metadata
stainless-app[bot] May 20, 2026
60950fd
codegen metadata
stainless-app[bot] May 20, 2026
c70e2c6
codegen metadata
stainless-app[bot] May 20, 2026
982484c
codegen metadata
stainless-app[bot] May 20, 2026
8f76370
release: 0.27.0
stainless-app[bot] May 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.26.0"
".": "0.27.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 40
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent/sent-dm-06f8010dcf4fb680abe33a8ab4fb74b3a2668edb15ef5b995436861e249957d6.yml
openapi_spec_hash: 969f82ebb2d5e6be2af05c56c4dea585
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent/sent-dm-fb1927e7bcb571ef42ad4e5404c3a2e9594ad8274eec66138660648034f71a92.yml
openapi_spec_hash: 0030191edbb95e99bbedda45970f51d2
config_hash: 32929c7d4b1344f5bbf67df044a518af
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.27.0 (2026-05-20)

Full Changelog: [v0.26.0...v0.27.0](https://github.com/sentdm/sent-dm-java/compare/v0.26.0...v0.27.0)

### Features

* **api:** api update ([c4248c3](https://github.com/sentdm/sent-dm-java/commit/c4248c360c1941d7aa99b74b8fa76acc94b0dfd9))

## 0.26.0 (2026-05-14)

Full Changelog: [v0.25.1...v0.26.0](https://github.com/sentdm/sent-dm-java/compare/v0.25.1...v0.26.0)
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

<!-- x-release-please-start-version -->

[![Maven Central](https://img.shields.io/maven-central/v/dm.sent/sent-java)](https://central.sonatype.com/artifact/dm.sent/sent-java/0.26.0)
[![javadoc](https://javadoc.io/badge2/dm.sent/sent-java/0.26.0/javadoc.svg)](https://javadoc.io/doc/dm.sent/sent-java/0.26.0)
[![Maven Central](https://img.shields.io/maven-central/v/dm.sent/sent-java)](https://central.sonatype.com/artifact/dm.sent/sent-java/0.27.0)
[![javadoc](https://javadoc.io/badge2/dm.sent/sent-java/0.27.0/javadoc.svg)](https://javadoc.io/doc/dm.sent/sent-java/0.27.0)

<!-- x-release-please-end -->

Expand All @@ -13,7 +13,7 @@ It is generated with [Stainless](https://www.stainless.com/).

<!-- x-release-please-start-version -->

The REST API documentation can be found on [docs.sent.dm](https://docs.sent.dm). Javadocs are available on [javadoc.io](https://javadoc.io/doc/dm.sent/sent-java/0.26.0).
The REST API documentation can be found on [docs.sent.dm](https://docs.sent.dm). Javadocs are available on [javadoc.io](https://javadoc.io/doc/dm.sent/sent-java/0.27.0).

<!-- x-release-please-end -->

Expand All @@ -24,7 +24,7 @@ The REST API documentation can be found on [docs.sent.dm](https://docs.sent.dm).
### Gradle

```kotlin
implementation("dm.sent:sent-java:0.26.0")
implementation("dm.sent:sent-java:0.27.0")
```

### Maven
Expand All @@ -33,7 +33,7 @@ implementation("dm.sent:sent-java:0.26.0")
<dependency>
<groupId>dm.sent</groupId>
<artifactId>sent-java</artifactId>
<version>0.26.0</version>
<version>0.27.0</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ repositories {

allprojects {
group = "dm.sent"
version = "0.26.0" // x-release-please-version
version = "0.27.0" // x-release-please-version
}

subprojects {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -537,7 +537,8 @@ private constructor(
fun price(): Optional<String> = price.getOptional("price")

/**
* Activity status (e.g., QUEUED, PROCESSED, ROUTED, SENT, DELIVERED, FAILED)
* Activity status. Outbound: QUEUED, PROCESSED, ROUTED, SENT, DELIVERED, READ, FAILED.
* Inbound (from contact): RECEIVED (terminal).
*
* @throws SentInvalidDataException if the JSON field has an unexpected type (e.g. if
* the server responded with an unexpected value).
Expand Down Expand Up @@ -719,7 +720,10 @@ private constructor(
*/
fun price(price: JsonField<String>) = apply { this.price = price }

/** Activity status (e.g., QUEUED, PROCESSED, ROUTED, SENT, DELIVERED, FAILED) */
/**
* Activity status. Outbound: QUEUED, PROCESSED, ROUTED, SENT, DELIVERED, READ,
* FAILED. Inbound (from contact): RECEIVED (terminal).
*/
fun status(status: String) = status(JsonField.of(status))

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ import dm.sent.core.ExcludeMissing
import dm.sent.core.JsonField
import dm.sent.core.JsonMissing
import dm.sent.core.JsonValue
import dm.sent.core.checkKnown
import dm.sent.core.checkRequired
import dm.sent.core.toImmutable
import dm.sent.errors.SentInvalidDataException
import java.util.Collections
import java.util.Objects
Expand All @@ -28,6 +30,7 @@ private constructor(
private val text: JsonField<String>,
private val url: JsonField<String>,
private val urlType: JsonField<String>,
private val variables: JsonField<List<TemplateVariable>>,
private val autofillText: JsonField<String>,
private val otpType: JsonField<String>,
private val packageName: JsonField<String>,
Expand All @@ -51,6 +54,9 @@ private constructor(
@JsonProperty("text") @ExcludeMissing text: JsonField<String> = JsonMissing.of(),
@JsonProperty("url") @ExcludeMissing url: JsonField<String> = JsonMissing.of(),
@JsonProperty("urlType") @ExcludeMissing urlType: JsonField<String> = JsonMissing.of(),
@JsonProperty("variables")
@ExcludeMissing
variables: JsonField<List<TemplateVariable>> = JsonMissing.of(),
@JsonProperty("autofillText")
@ExcludeMissing
autofillText: JsonField<String> = JsonMissing.of(),
Expand All @@ -70,6 +76,7 @@ private constructor(
text,
url,
urlType,
variables,
autofillText,
otpType,
packageName,
Expand Down Expand Up @@ -125,6 +132,16 @@ private constructor(
*/
fun urlType(): String = urlType.getRequired("urlType")

/**
* Variables embedded in a dynamic URL button (only when UrlType = dynamic). Count is capped by
* TemplateContentLimits.MaxUrlButtonVariables; the placeholder must appear at the end of Url
* (validated in TemplateDefinitionValidator).
*
* @throws SentInvalidDataException if the JSON field has an unexpected type or is unexpectedly
* missing or null (e.g. if the server responded with an unexpected value).
*/
fun variables(): List<TemplateVariable> = variables.getRequired("variables")

/**
* @throws SentInvalidDataException if the JSON field has an unexpected type (e.g. if the server
* responded with an unexpected value).
Expand Down Expand Up @@ -207,6 +224,15 @@ private constructor(
*/
@JsonProperty("urlType") @ExcludeMissing fun _urlType(): JsonField<String> = urlType

/**
* Returns the raw JSON value of [variables].
*
* Unlike [variables], this method doesn't throw if the JSON field has an unexpected type.
*/
@JsonProperty("variables")
@ExcludeMissing
fun _variables(): JsonField<List<TemplateVariable>> = variables

/**
* Returns the raw JSON value of [autofillText].
*
Expand Down Expand Up @@ -267,6 +293,7 @@ private constructor(
* .text()
* .url()
* .urlType()
* .variables()
* ```
*/
@JvmStatic fun builder() = Builder()
Expand All @@ -283,6 +310,7 @@ private constructor(
private var text: JsonField<String>? = null
private var url: JsonField<String>? = null
private var urlType: JsonField<String>? = null
private var variables: JsonField<MutableList<TemplateVariable>>? = null
private var autofillText: JsonField<String> = JsonMissing.of()
private var otpType: JsonField<String> = JsonMissing.of()
private var packageName: JsonField<String> = JsonMissing.of()
Expand All @@ -302,6 +330,10 @@ private constructor(
text = sentDmServicesCommonContractsPocOsTemplateButtonProps.text
url = sentDmServicesCommonContractsPocOsTemplateButtonProps.url
urlType = sentDmServicesCommonContractsPocOsTemplateButtonProps.urlType
variables =
sentDmServicesCommonContractsPocOsTemplateButtonProps.variables.map {
it.toMutableList()
}
autofillText = sentDmServicesCommonContractsPocOsTemplateButtonProps.autofillText
otpType = sentDmServicesCommonContractsPocOsTemplateButtonProps.otpType
packageName = sentDmServicesCommonContractsPocOsTemplateButtonProps.packageName
Expand Down Expand Up @@ -397,6 +429,36 @@ private constructor(
*/
fun urlType(urlType: JsonField<String>) = apply { this.urlType = urlType }

/**
* Variables embedded in a dynamic URL button (only when UrlType = dynamic). Count is capped
* by TemplateContentLimits.MaxUrlButtonVariables; the placeholder must appear at the end of
* Url (validated in TemplateDefinitionValidator).
*/
fun variables(variables: List<TemplateVariable>) = variables(JsonField.of(variables))

/**
* Sets [Builder.variables] to an arbitrary JSON value.
*
* You should usually call [Builder.variables] with a well-typed `List<TemplateVariable>`
* value instead. This method is primarily for setting the field to an undocumented or not
* yet supported value.
*/
fun variables(variables: JsonField<List<TemplateVariable>>) = apply {
this.variables = variables.map { it.toMutableList() }
}

/**
* Adds a single [TemplateVariable] to [variables].
*
* @throws IllegalStateException if the field was previously set to a non-list.
*/
fun addVariable(variable: TemplateVariable) = apply {
variables =
(variables ?: JsonField.of(mutableListOf())).also {
checkKnown("variables", it).add(variable)
}
}

fun autofillText(autofillText: String?) = autofillText(JsonField.ofNullable(autofillText))

/** Alias for calling [Builder.autofillText] with `autofillText.orElse(null)`. */
Expand Down Expand Up @@ -492,6 +554,7 @@ private constructor(
* .text()
* .url()
* .urlType()
* .variables()
* ```
*
* @throws IllegalStateException if any required field is unset.
Expand All @@ -506,6 +569,7 @@ private constructor(
checkRequired("text", text),
checkRequired("url", url),
checkRequired("urlType", urlType),
checkRequired("variables", variables).map { it.toImmutable() },
autofillText,
otpType,
packageName,
Expand Down Expand Up @@ -537,6 +601,7 @@ private constructor(
text()
url()
urlType()
variables().forEach { it.validate() }
autofillText()
otpType()
packageName()
Expand Down Expand Up @@ -567,6 +632,7 @@ private constructor(
(if (text.asKnown().isPresent) 1 else 0) +
(if (url.asKnown().isPresent) 1 else 0) +
(if (urlType.asKnown().isPresent) 1 else 0) +
(variables.asKnown().getOrNull()?.sumOf { it.validity().toInt() } ?: 0) +
(if (autofillText.asKnown().isPresent) 1 else 0) +
(if (otpType.asKnown().isPresent) 1 else 0) +
(if (packageName.asKnown().isPresent) 1 else 0) +
Expand All @@ -586,6 +652,7 @@ private constructor(
text == other.text &&
url == other.url &&
urlType == other.urlType &&
variables == other.variables &&
autofillText == other.autofillText &&
otpType == other.otpType &&
packageName == other.packageName &&
Expand All @@ -603,6 +670,7 @@ private constructor(
text,
url,
urlType,
variables,
autofillText,
otpType,
packageName,
Expand All @@ -614,5 +682,5 @@ private constructor(
override fun hashCode(): Int = hashCode

override fun toString() =
"SentDmServicesCommonContractsPocOsTemplateButtonProps{activeFor=$activeFor, countryCode=$countryCode, offerCode=$offerCode, phoneNumber=$phoneNumber, quickReplyType=$quickReplyType, text=$text, url=$url, urlType=$urlType, autofillText=$autofillText, otpType=$otpType, packageName=$packageName, signatureHash=$signatureHash, additionalProperties=$additionalProperties}"
"SentDmServicesCommonContractsPocOsTemplateButtonProps{activeFor=$activeFor, countryCode=$countryCode, offerCode=$offerCode, phoneNumber=$phoneNumber, quickReplyType=$quickReplyType, text=$text, url=$url, urlType=$urlType, variables=$variables, autofillText=$autofillText, otpType=$otpType, packageName=$packageName, signatureHash=$signatureHash, additionalProperties=$additionalProperties}"
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,26 @@ internal class SentDmServicesCommonContractsPocOsTemplateButtonPropsTest {
.phoneNumber("x")
.quickReplyType("x")
.text("text")
.url("x")
.url("url")
.urlType("x")
.addVariable(
TemplateVariable.builder()
.name("x")
.props(
TemplateVariable.Props.builder()
.mediaType("x")
.sample("x")
.url("x")
.variableType("x")
.alt("alt")
.regex("regex")
.shortUrl("shortUrl")
.build()
)
.type("x")
.id(0)
.build()
)
.autofillText("autofillText")
.otpType("otpType")
.packageName("packageName")
Expand All @@ -36,8 +54,27 @@ internal class SentDmServicesCommonContractsPocOsTemplateButtonPropsTest {
assertThat(sentDmServicesCommonContractsPocOsTemplateButtonProps.quickReplyType())
.isEqualTo("x")
assertThat(sentDmServicesCommonContractsPocOsTemplateButtonProps.text()).isEqualTo("text")
assertThat(sentDmServicesCommonContractsPocOsTemplateButtonProps.url()).isEqualTo("x")
assertThat(sentDmServicesCommonContractsPocOsTemplateButtonProps.url()).isEqualTo("url")
assertThat(sentDmServicesCommonContractsPocOsTemplateButtonProps.urlType()).isEqualTo("x")
assertThat(sentDmServicesCommonContractsPocOsTemplateButtonProps.variables())
.containsExactly(
TemplateVariable.builder()
.name("x")
.props(
TemplateVariable.Props.builder()
.mediaType("x")
.sample("x")
.url("x")
.variableType("x")
.alt("alt")
.regex("regex")
.shortUrl("shortUrl")
.build()
)
.type("x")
.id(0)
.build()
)
assertThat(sentDmServicesCommonContractsPocOsTemplateButtonProps.autofillText())
.contains("autofillText")
assertThat(sentDmServicesCommonContractsPocOsTemplateButtonProps.otpType())
Expand All @@ -59,8 +96,26 @@ internal class SentDmServicesCommonContractsPocOsTemplateButtonPropsTest {
.phoneNumber("x")
.quickReplyType("x")
.text("text")
.url("x")
.url("url")
.urlType("x")
.addVariable(
TemplateVariable.builder()
.name("x")
.props(
TemplateVariable.Props.builder()
.mediaType("x")
.sample("x")
.url("x")
.variableType("x")
.alt("alt")
.regex("regex")
.shortUrl("shortUrl")
.build()
)
.type("x")
.id(0)
.build()
)
.autofillText("autofillText")
.otpType("otpType")
.packageName("packageName")
Expand Down
Loading
Loading