Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
715 commits
Select commit Hold shift + click to select a range
51e1eaa
codegen metadata
stainless-app[bot] Jun 16, 2026
dabd707
codegen metadata
stainless-app[bot] Jun 16, 2026
aa8c9ab
codegen metadata
stainless-app[bot] Jun 16, 2026
f1ec405
codegen metadata
stainless-app[bot] Jun 16, 2026
9315616
codegen metadata
stainless-app[bot] Jun 16, 2026
5b25dc2
codegen metadata
stainless-app[bot] Jun 16, 2026
2606ac3
codegen metadata
stainless-app[bot] Jun 16, 2026
de92db8
codegen metadata
stainless-app[bot] Jun 16, 2026
d4f82d5
codegen metadata
stainless-app[bot] Jun 16, 2026
b5c4980
codegen metadata
stainless-app[bot] Jun 16, 2026
f28661b
codegen metadata
stainless-app[bot] Jun 17, 2026
bd394b8
codegen metadata
stainless-app[bot] Jun 17, 2026
0c5f3fb
codegen metadata
stainless-app[bot] Jun 17, 2026
e0739ee
codegen metadata
stainless-app[bot] Jun 17, 2026
2a460bb
codegen metadata
stainless-app[bot] Jun 17, 2026
7d56ea1
codegen metadata
stainless-app[bot] Jun 17, 2026
a759387
codegen metadata
stainless-app[bot] Jun 17, 2026
7e53485
codegen metadata
stainless-app[bot] Jun 17, 2026
9fb3b40
codegen metadata
stainless-app[bot] Jun 17, 2026
8e39a76
codegen metadata
stainless-app[bot] Jun 17, 2026
f25eec8
codegen metadata
stainless-app[bot] Jun 17, 2026
5f75fe6
codegen metadata
stainless-app[bot] Jun 17, 2026
f548406
codegen metadata
stainless-app[bot] Jun 17, 2026
404b1eb
codegen metadata
stainless-app[bot] Jun 17, 2026
2c6d83a
codegen metadata
stainless-app[bot] Jun 17, 2026
d0ab88c
codegen metadata
stainless-app[bot] Jun 17, 2026
86ba792
codegen metadata
stainless-app[bot] Jun 17, 2026
ef92def
codegen metadata
stainless-app[bot] Jun 18, 2026
a714b6f
codegen metadata
stainless-app[bot] Jun 18, 2026
824e92f
codegen metadata
stainless-app[bot] Jun 18, 2026
5687795
codegen metadata
stainless-app[bot] Jun 18, 2026
964cff3
codegen metadata
stainless-app[bot] Jun 18, 2026
8d84880
codegen metadata
stainless-app[bot] Jun 18, 2026
a19fe0f
codegen metadata
stainless-app[bot] Jun 18, 2026
739b6ba
codegen metadata
stainless-app[bot] Jun 18, 2026
e479381
codegen metadata
stainless-app[bot] Jun 18, 2026
8f23bcb
codegen metadata
stainless-app[bot] Jun 18, 2026
7714b4c
codegen metadata
stainless-app[bot] Jun 18, 2026
0ccbf80
codegen metadata
stainless-app[bot] Jun 18, 2026
3bfe06e
codegen metadata
stainless-app[bot] Jun 18, 2026
b167580
codegen metadata
stainless-app[bot] Jun 18, 2026
a3ac9a1
codegen metadata
stainless-app[bot] Jun 18, 2026
1208a59
codegen metadata
stainless-app[bot] Jun 18, 2026
7434611
codegen metadata
stainless-app[bot] Jun 18, 2026
09050fa
codegen metadata
stainless-app[bot] Jun 18, 2026
f335b6a
codegen metadata
stainless-app[bot] Jun 18, 2026
68c7eb7
codegen metadata
stainless-app[bot] Jun 18, 2026
a4158ad
codegen metadata
stainless-app[bot] Jun 19, 2026
b4ecc6c
codegen metadata
stainless-app[bot] Jun 19, 2026
569e983
codegen metadata
stainless-app[bot] Jun 19, 2026
97e43d5
codegen metadata
stainless-app[bot] Jun 19, 2026
e8a5669
codegen metadata
stainless-app[bot] Jun 19, 2026
509d4d7
codegen metadata
stainless-app[bot] Jun 19, 2026
e0c1d94
codegen metadata
stainless-app[bot] Jun 19, 2026
b2ceeff
codegen metadata
stainless-app[bot] Jun 19, 2026
dfe130a
codegen metadata
stainless-app[bot] Jun 19, 2026
84d25f1
codegen metadata
stainless-app[bot] Jun 19, 2026
82fa06f
codegen metadata
stainless-app[bot] Jun 19, 2026
a1f6d58
codegen metadata
stainless-app[bot] Jun 19, 2026
3fd2921
codegen metadata
stainless-app[bot] Jun 19, 2026
dfab743
codegen metadata
stainless-app[bot] Jun 19, 2026
b8bcc50
codegen metadata
stainless-app[bot] Jun 19, 2026
523ccdd
codegen metadata
stainless-app[bot] Jun 19, 2026
33a70f4
codegen metadata
stainless-app[bot] Jun 19, 2026
aa90424
codegen metadata
stainless-app[bot] Jun 19, 2026
dba7a82
codegen metadata
stainless-app[bot] Jun 19, 2026
57cc615
codegen metadata
stainless-app[bot] Jun 19, 2026
f786e53
codegen metadata
stainless-app[bot] Jun 20, 2026
f0f26bc
codegen metadata
stainless-app[bot] Jun 20, 2026
acab401
codegen metadata
stainless-app[bot] Jun 20, 2026
a09290d
codegen metadata
stainless-app[bot] Jun 20, 2026
e7a82b4
codegen metadata
stainless-app[bot] Jun 20, 2026
b171f69
codegen metadata
stainless-app[bot] Jun 20, 2026
c4f31e9
codegen metadata
stainless-app[bot] Jun 20, 2026
90956cd
codegen metadata
stainless-app[bot] Jun 20, 2026
7da84ca
codegen metadata
stainless-app[bot] Jun 20, 2026
de992a1
codegen metadata
stainless-app[bot] Jun 20, 2026
86393ce
codegen metadata
stainless-app[bot] Jun 20, 2026
66a6bb3
codegen metadata
stainless-app[bot] Jun 20, 2026
5c5a55f
codegen metadata
stainless-app[bot] Jun 20, 2026
726c7fa
codegen metadata
stainless-app[bot] Jun 20, 2026
8c77012
codegen metadata
stainless-app[bot] Jun 20, 2026
dcef114
codegen metadata
stainless-app[bot] Jun 20, 2026
0eddaaa
codegen metadata
stainless-app[bot] Jun 20, 2026
10b9e92
codegen metadata
stainless-app[bot] Jun 20, 2026
ccdabd4
codegen metadata
stainless-app[bot] Jun 20, 2026
f1a990f
codegen metadata
stainless-app[bot] Jun 21, 2026
1cc7906
codegen metadata
stainless-app[bot] Jun 21, 2026
b2939f3
codegen metadata
stainless-app[bot] Jun 21, 2026
7ee4fe5
codegen metadata
stainless-app[bot] Jun 21, 2026
a2d2c8e
codegen metadata
stainless-app[bot] Jun 21, 2026
2ce1944
codegen metadata
stainless-app[bot] Jun 21, 2026
d66a44a
codegen metadata
stainless-app[bot] Jun 21, 2026
15c3a07
codegen metadata
stainless-app[bot] Jun 21, 2026
fc20a6f
codegen metadata
stainless-app[bot] Jun 21, 2026
20520f4
codegen metadata
stainless-app[bot] Jun 21, 2026
494f1af
codegen metadata
stainless-app[bot] Jun 21, 2026
b032be5
codegen metadata
stainless-app[bot] Jun 21, 2026
bd61e95
codegen metadata
stainless-app[bot] Jun 21, 2026
c1a3ed2
codegen metadata
stainless-app[bot] Jun 21, 2026
1cadac0
codegen metadata
stainless-app[bot] Jun 21, 2026
bf89c4c
codegen metadata
stainless-app[bot] Jun 21, 2026
1d7ba95
codegen metadata
stainless-app[bot] Jun 21, 2026
1e2b021
codegen metadata
stainless-app[bot] Jun 21, 2026
4f14fa4
codegen metadata
stainless-app[bot] Jun 21, 2026
17f8c60
codegen metadata
stainless-app[bot] Jun 22, 2026
1cb664e
codegen metadata
stainless-app[bot] Jun 22, 2026
9744c9b
codegen metadata
stainless-app[bot] Jun 22, 2026
3386f0a
codegen metadata
stainless-app[bot] Jun 22, 2026
eaa66d4
codegen metadata
stainless-app[bot] Jun 22, 2026
2e13881
codegen metadata
stainless-app[bot] Jun 22, 2026
a973db3
codegen metadata
stainless-app[bot] Jun 22, 2026
d1c3610
codegen metadata
stainless-app[bot] Jun 22, 2026
38cda1b
codegen metadata
stainless-app[bot] Jun 22, 2026
ac95727
codegen metadata
stainless-app[bot] Jun 22, 2026
35a309b
codegen metadata
stainless-app[bot] Jun 22, 2026
d8722cf
codegen metadata
stainless-app[bot] Jun 22, 2026
57952ef
codegen metadata
stainless-app[bot] Jun 22, 2026
f7449ba
feat(api): api update
stainless-app[bot] Jun 22, 2026
707c4a1
codegen metadata
stainless-app[bot] Jun 22, 2026
812932e
codegen metadata
stainless-app[bot] Jun 22, 2026
b37aa1c
codegen metadata
stainless-app[bot] Jun 22, 2026
490a87f
codegen metadata
stainless-app[bot] Jun 22, 2026
c2c556c
codegen metadata
stainless-app[bot] Jun 22, 2026
bc92041
codegen metadata
stainless-app[bot] Jun 23, 2026
6f67485
codegen metadata
stainless-app[bot] Jun 23, 2026
1263ef4
codegen metadata
stainless-app[bot] Jun 23, 2026
4db13f5
codegen metadata
stainless-app[bot] Jun 23, 2026
5f80f8f
codegen metadata
stainless-app[bot] Jun 23, 2026
4fff1a8
codegen metadata
stainless-app[bot] Jun 23, 2026
8d66870
codegen metadata
stainless-app[bot] Jun 23, 2026
3a30741
codegen metadata
stainless-app[bot] Jun 23, 2026
afd8315
codegen metadata
stainless-app[bot] Jun 23, 2026
190fadb
codegen metadata
stainless-app[bot] Jun 23, 2026
b626482
codegen metadata
stainless-app[bot] Jun 23, 2026
c91edc0
codegen metadata
stainless-app[bot] Jun 23, 2026
c6d85c1
codegen metadata
stainless-app[bot] Jun 23, 2026
6c13f36
codegen metadata
stainless-app[bot] Jun 23, 2026
9819e93
codegen metadata
stainless-app[bot] Jun 23, 2026
5c45171
codegen metadata
stainless-app[bot] Jun 23, 2026
960f6cc
codegen metadata
stainless-app[bot] Jun 23, 2026
a1c7c7a
codegen metadata
stainless-app[bot] Jun 23, 2026
8726ef6
codegen metadata
stainless-app[bot] Jun 23, 2026
5e4dbd9
codegen metadata
stainless-app[bot] Jun 24, 2026
1ffc20c
codegen metadata
stainless-app[bot] Jun 24, 2026
91f6e47
codegen metadata
stainless-app[bot] Jun 24, 2026
4df7462
codegen metadata
stainless-app[bot] Jun 24, 2026
2b04424
codegen metadata
stainless-app[bot] Jun 24, 2026
8c58a83
codegen metadata
stainless-app[bot] Jun 24, 2026
47273f1
codegen metadata
stainless-app[bot] Jun 24, 2026
807662d
codegen metadata
stainless-app[bot] Jun 24, 2026
43a7371
codegen metadata
stainless-app[bot] Jun 24, 2026
4a3b87e
codegen metadata
stainless-app[bot] Jun 24, 2026
d9cb70f
codegen metadata
stainless-app[bot] Jun 24, 2026
f3bd4bc
codegen metadata
stainless-app[bot] Jun 24, 2026
148d8c1
codegen metadata
stainless-app[bot] Jun 24, 2026
7c617f1
codegen metadata
stainless-app[bot] Jun 24, 2026
514389e
codegen metadata
stainless-app[bot] Jun 24, 2026
1520ca5
codegen metadata
stainless-app[bot] Jun 24, 2026
9162c13
codegen metadata
stainless-app[bot] Jun 24, 2026
439e592
codegen metadata
stainless-app[bot] Jun 24, 2026
cbe559d
codegen metadata
stainless-app[bot] Jun 25, 2026
0a4ea7e
codegen metadata
stainless-app[bot] Jun 25, 2026
8c4e3f2
codegen metadata
stainless-app[bot] Jun 25, 2026
e0cfc2a
codegen metadata
stainless-app[bot] Jun 25, 2026
9e387aa
codegen metadata
stainless-app[bot] Jun 25, 2026
1ddf9a9
codegen metadata
stainless-app[bot] Jun 25, 2026
99a1445
codegen metadata
stainless-app[bot] Jun 25, 2026
b541516
codegen metadata
stainless-app[bot] Jun 25, 2026
668eb27
codegen metadata
stainless-app[bot] Jun 25, 2026
04d8b51
codegen metadata
stainless-app[bot] Jun 25, 2026
5fe2174
codegen metadata
stainless-app[bot] Jun 25, 2026
3a551c0
codegen metadata
stainless-app[bot] Jun 25, 2026
226dc71
codegen metadata
stainless-app[bot] Jun 25, 2026
5881f97
codegen metadata
stainless-app[bot] Jun 25, 2026
c9690c3
codegen metadata
stainless-app[bot] Jun 25, 2026
88fae91
codegen metadata
stainless-app[bot] Jun 25, 2026
15ed5f4
codegen metadata
stainless-app[bot] Jun 26, 2026
525a89a
codegen metadata
stainless-app[bot] Jun 26, 2026
ffa223e
codegen metadata
stainless-app[bot] Jun 26, 2026
bff5521
codegen metadata
stainless-app[bot] Jun 26, 2026
5ad48c8
codegen metadata
stainless-app[bot] Jun 26, 2026
d865933
codegen metadata
stainless-app[bot] Jun 26, 2026
c4ee577
codegen metadata
stainless-app[bot] Jun 26, 2026
6266775
codegen metadata
stainless-app[bot] Jun 26, 2026
f5b5dcc
codegen metadata
stainless-app[bot] Jun 26, 2026
1e8c8d8
codegen metadata
stainless-app[bot] Jun 26, 2026
fc0c924
codegen metadata
stainless-app[bot] Jun 26, 2026
44e5041
codegen metadata
stainless-app[bot] Jun 26, 2026
0c63992
codegen metadata
stainless-app[bot] Jun 26, 2026
9493c33
codegen metadata
stainless-app[bot] Jun 26, 2026
1d56014
codegen metadata
stainless-app[bot] Jun 26, 2026
20d602d
codegen metadata
stainless-app[bot] Jun 26, 2026
d3f5141
codegen metadata
stainless-app[bot] Jun 26, 2026
83911e0
codegen metadata
stainless-app[bot] Jun 26, 2026
d78277e
codegen metadata
stainless-app[bot] Jun 26, 2026
8482ea3
feat(api): api update
stainless-app[bot] Jun 26, 2026
5145b42
codegen metadata
stainless-app[bot] Jun 26, 2026
848bfe8
codegen metadata
stainless-app[bot] Jun 26, 2026
4008871
codegen metadata
stainless-app[bot] Jun 27, 2026
31105f2
codegen metadata
stainless-app[bot] Jun 27, 2026
7bdacaf
codegen metadata
stainless-app[bot] Jun 27, 2026
c2fda05
codegen metadata
stainless-app[bot] Jun 27, 2026
4b7cf9f
codegen metadata
stainless-app[bot] Jun 27, 2026
66c7a32
codegen metadata
stainless-app[bot] Jun 27, 2026
a54186a
codegen metadata
stainless-app[bot] Jun 27, 2026
efc6f2f
codegen metadata
stainless-app[bot] Jun 27, 2026
2ae1e54
codegen metadata
stainless-app[bot] Jun 27, 2026
b876425
codegen metadata
stainless-app[bot] Jun 27, 2026
b052159
codegen metadata
stainless-app[bot] Jun 27, 2026
2364088
codegen metadata
stainless-app[bot] Jun 27, 2026
ce11f8f
codegen metadata
stainless-app[bot] Jun 27, 2026
04d5007
codegen metadata
stainless-app[bot] Jun 27, 2026
bdf315c
codegen metadata
stainless-app[bot] Jun 27, 2026
96679be
codegen metadata
stainless-app[bot] Jun 27, 2026
5e1434b
codegen metadata
stainless-app[bot] Jun 27, 2026
b6f74be
codegen metadata
stainless-app[bot] Jun 27, 2026
d485af5
codegen metadata
stainless-app[bot] Jun 27, 2026
39409bc
codegen metadata
stainless-app[bot] Jun 27, 2026
ba8aa2b
codegen metadata
stainless-app[bot] Jun 28, 2026
0b8a6fa
codegen metadata
stainless-app[bot] Jun 28, 2026
c5e37e4
codegen metadata
stainless-app[bot] Jun 28, 2026
871ef89
codegen metadata
stainless-app[bot] Jun 28, 2026
90a65bf
codegen metadata
stainless-app[bot] Jun 28, 2026
937bbea
codegen metadata
stainless-app[bot] Jun 28, 2026
c63ddfa
codegen metadata
stainless-app[bot] Jun 28, 2026
b726350
codegen metadata
stainless-app[bot] Jun 28, 2026
6798bce
codegen metadata
stainless-app[bot] Jun 28, 2026
0fc5912
codegen metadata
stainless-app[bot] Jun 28, 2026
8fa493b
codegen metadata
stainless-app[bot] Jun 28, 2026
2cd6c4c
codegen metadata
stainless-app[bot] Jun 28, 2026
fd4abae
codegen metadata
stainless-app[bot] Jun 28, 2026
03db38f
codegen metadata
stainless-app[bot] Jun 28, 2026
c3c067f
codegen metadata
stainless-app[bot] Jun 28, 2026
155bdfe
codegen metadata
stainless-app[bot] Jun 28, 2026
48de516
codegen metadata
stainless-app[bot] Jun 28, 2026
ccdb615
codegen metadata
stainless-app[bot] Jun 28, 2026
99758a0
codegen metadata
stainless-app[bot] Jun 28, 2026
7958dbb
codegen metadata
stainless-app[bot] Jun 28, 2026
58d9ab4
codegen metadata
stainless-app[bot] Jun 29, 2026
7311db3
codegen metadata
stainless-app[bot] Jun 29, 2026
915b5ac
codegen metadata
stainless-app[bot] Jun 29, 2026
43193e3
codegen metadata
stainless-app[bot] Jun 29, 2026
05b82a8
codegen metadata
stainless-app[bot] Jun 29, 2026
58b10eb
codegen metadata
stainless-app[bot] Jun 29, 2026
4128869
codegen metadata
stainless-app[bot] Jun 29, 2026
5faba0c
codegen metadata
stainless-app[bot] Jun 29, 2026
f495429
codegen metadata
stainless-app[bot] Jun 29, 2026
31a54fd
codegen metadata
stainless-app[bot] Jun 29, 2026
d71ad49
release: 0.28.0
stainless-app[bot] Jun 29, 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.27.0"
".": "0.28.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-e0a4f9a3faa85838c6d8a83dc1676c1fefa359c2eaf09ca5cfc05942549ca596.yml
openapi_spec_hash: 74ba6ccdd1a0bb875402884dc1d10a59
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent/sent-dm-1dd403d3eb387a106e57a83fb5b148b7291b4d6dd240c0d9bf31db577c92014e.yml
openapi_spec_hash: fab6fa6e9407cc11c50d2a221196ca1e
config_hash: 32929c7d4b1344f5bbf67df044a518af
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 0.28.0 (2026-06-29)

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

### Features

* **api:** api update ([8482ea3](https://github.com/sentdm/sent-dm-java/commit/8482ea352da3a92a90a6d9ac796070f319040d8a))
* **api:** api update ([f7449ba](https://github.com/sentdm/sent-dm-java/commit/f7449bab72db6cfaf7fbe6281430cb8dca66000e))

## 0.27.0 (2026-05-21)

Full Changelog: [v0.26.0...v0.27.0](https://github.com/sentdm/sent-dm-java/compare/v0.26.0...v0.27.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.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)
[![Maven Central](https://img.shields.io/maven-central/v/dm.sent/sent-java)](https://central.sonatype.com/artifact/dm.sent/sent-java/0.28.0)
[![javadoc](https://javadoc.io/badge2/dm.sent/sent-java/0.28.0/javadoc.svg)](https://javadoc.io/doc/dm.sent/sent-java/0.28.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.27.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.28.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.27.0")
implementation("dm.sent:sent-java:0.28.0")
```

### Maven
Expand All @@ -33,7 +33,7 @@ implementation("dm.sent:sent-java:0.27.0")
<dependency>
<groupId>dm.sent</groupId>
<artifactId>sent-java</artifactId>
<version>0.27.0</version>
<version>0.28.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.27.0" // x-release-please-version
version = "0.28.0" // x-release-please-version
}

subprojects {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,14 @@ private constructor(
*/
fun template(): Optional<Template> = body.template()

/**
* Plain-text (free-form) message body. Provide either Template or this.
*
* @throws SentInvalidDataException if the JSON field has an unexpected type (e.g. if the server
* responded with an unexpected value).
*/
fun text(): Optional<String> = body.text()

/**
* List of recipient phone numbers in E.164 format (multi-recipient fan-out)
*
Expand Down Expand Up @@ -96,6 +104,13 @@ private constructor(
*/
fun _template(): JsonField<Template> = body._template()

/**
* Returns the raw JSON value of [text].
*
* Unlike [text], this method doesn't throw if the JSON field has an unexpected type.
*/
fun _text(): JsonField<String> = body._text()

/**
* Returns the raw JSON value of [to].
*
Expand Down Expand Up @@ -158,7 +173,9 @@ private constructor(
* - [sandbox]
* - [channel]
* - [template]
* - [text]
* - [to]
* - etc.
*/
fun body(body: Body) = apply { this.body = body.toBuilder() }

Expand Down Expand Up @@ -203,7 +220,10 @@ private constructor(
fun addChannel(channel: String) = apply { body.addChannel(channel) }

/** SDK-style template reference: resolve by ID or by name, with optional parameters. */
fun template(template: Template) = apply { body.template(template) }
fun template(template: Template?) = apply { body.template(template) }

/** Alias for calling [Builder.template] with `template.orElse(null)`. */
fun template(template: Optional<Template>) = template(template.getOrNull())

/**
* Sets [Builder.template] to an arbitrary JSON value.
Expand All @@ -214,6 +234,20 @@ private constructor(
*/
fun template(template: JsonField<Template>) = apply { body.template(template) }

/** Plain-text (free-form) message body. Provide either Template or this. */
fun text(text: String?) = apply { body.text(text) }

/** Alias for calling [Builder.text] with `text.orElse(null)`. */
fun text(text: Optional<String>) = text(text.getOrNull())

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

/** List of recipient phone numbers in E.164 format (multi-recipient fan-out) */
fun to(to: List<String>) = apply { body.to(to) }

Expand Down Expand Up @@ -384,6 +418,7 @@ private constructor(
private val sandbox: JsonField<Boolean>,
private val channel: JsonField<List<String>>,
private val template: JsonField<Template>,
private val text: JsonField<String>,
private val to: JsonField<List<String>>,
private val additionalProperties: MutableMap<String, JsonValue>,
) {
Expand All @@ -397,8 +432,9 @@ private constructor(
@JsonProperty("template")
@ExcludeMissing
template: JsonField<Template> = JsonMissing.of(),
@JsonProperty("text") @ExcludeMissing text: JsonField<String> = JsonMissing.of(),
@JsonProperty("to") @ExcludeMissing to: JsonField<List<String>> = JsonMissing.of(),
) : this(sandbox, channel, template, to, mutableMapOf())
) : this(sandbox, channel, template, text, to, mutableMapOf())

fun toMutationRequest(): MutationRequest =
MutationRequest.builder().sandbox(sandbox).build()
Expand Down Expand Up @@ -430,6 +466,14 @@ private constructor(
*/
fun template(): Optional<Template> = template.getOptional("template")

/**
* Plain-text (free-form) message body. Provide either Template or this.
*
* @throws SentInvalidDataException if the JSON field has an unexpected type (e.g. if the
* server responded with an unexpected value).
*/
fun text(): Optional<String> = text.getOptional("text")

/**
* List of recipient phone numbers in E.164 format (multi-recipient fan-out)
*
Expand Down Expand Up @@ -459,6 +503,13 @@ private constructor(
*/
@JsonProperty("template") @ExcludeMissing fun _template(): JsonField<Template> = template

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

/**
* Returns the raw JSON value of [to].
*
Expand Down Expand Up @@ -490,6 +541,7 @@ private constructor(
private var sandbox: JsonField<Boolean> = JsonMissing.of()
private var channel: JsonField<MutableList<String>>? = null
private var template: JsonField<Template> = JsonMissing.of()
private var text: JsonField<String> = JsonMissing.of()
private var to: JsonField<MutableList<String>>? = null
private var additionalProperties: MutableMap<String, JsonValue> = mutableMapOf()

Expand All @@ -498,6 +550,7 @@ private constructor(
sandbox = body.sandbox
channel = body.channel.map { it.toMutableList() }
template = body.template
text = body.text
to = body.to.map { it.toMutableList() }
additionalProperties = body.additionalProperties.toMutableMap()
}
Expand Down Expand Up @@ -551,7 +604,10 @@ private constructor(
}

/** SDK-style template reference: resolve by ID or by name, with optional parameters. */
fun template(template: Template) = template(JsonField.of(template))
fun template(template: Template?) = template(JsonField.ofNullable(template))

/** Alias for calling [Builder.template] with `template.orElse(null)`. */
fun template(template: Optional<Template>) = template(template.getOrNull())

/**
* Sets [Builder.template] to an arbitrary JSON value.
Expand All @@ -562,6 +618,21 @@ private constructor(
*/
fun template(template: JsonField<Template>) = apply { this.template = template }

/** Plain-text (free-form) message body. Provide either Template or this. */
fun text(text: String?) = text(JsonField.ofNullable(text))

/** Alias for calling [Builder.text] with `text.orElse(null)`. */
fun text(text: Optional<String>) = text(text.getOrNull())

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

/** List of recipient phone numbers in E.164 format (multi-recipient fan-out) */
fun to(to: List<String>) = to(JsonField.of(to))

Expand Down Expand Up @@ -613,6 +684,7 @@ private constructor(
sandbox,
(channel ?: JsonMissing.of()).map { it.toImmutable() },
template,
text,
(to ?: JsonMissing.of()).map { it.toImmutable() },
additionalProperties.toMutableMap(),
)
Expand All @@ -637,6 +709,7 @@ private constructor(
sandbox()
channel()
template().ifPresent { it.validate() }
text()
to()
validated = true
}
Expand All @@ -660,6 +733,7 @@ private constructor(
(if (sandbox.asKnown().isPresent) 1 else 0) +
(channel.asKnown().getOrNull()?.size ?: 0) +
(template.asKnown().getOrNull()?.validity() ?: 0) +
(if (text.asKnown().isPresent) 1 else 0) +
(to.asKnown().getOrNull()?.size ?: 0)

override fun equals(other: Any?): Boolean {
Expand All @@ -671,18 +745,19 @@ private constructor(
sandbox == other.sandbox &&
channel == other.channel &&
template == other.template &&
text == other.text &&
to == other.to &&
additionalProperties == other.additionalProperties
}

private val hashCode: Int by lazy {
Objects.hash(sandbox, channel, template, to, additionalProperties)
Objects.hash(sandbox, channel, template, text, to, additionalProperties)
}

override fun hashCode(): Int = hashCode

override fun toString() =
"Body{sandbox=$sandbox, channel=$channel, template=$template, to=$to, additionalProperties=$additionalProperties}"
"Body{sandbox=$sandbox, channel=$channel, template=$template, text=$text, to=$to, additionalProperties=$additionalProperties}"
}

/** SDK-style template reference: resolve by ID or by name, with optional parameters. */
Expand Down
Loading
Loading