From 98b523735bc15a6132f5bcb09dd7751bf3118bcd Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 8 Sep 2026 05:27:05 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 4 +- src/resources/subscribers/subscribers.ts | 6 ++ src/resources/transactional.ts | 98 ++++++++++++++++++----- tests/api-resources/transactional.test.ts | 5 ++ 4 files changed, 90 insertions(+), 23 deletions(-) diff --git a/.stats.yml b/.stats.yml index 1857c34..4a0fb3d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 12 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sequenzy/sequenzy-463aa679069f8fe8b5b57bfba1bf9141078f4601a1c5af0b76b4e8057d6ecc30.yml -openapi_spec_hash: d12926d1219fc6a5c6dd8c7b6d49d4f8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sequenzy/sequenzy-e9eb1e7c6947fc840258c85663c5bdde63a88197347b4b4f5ffdd4aac57ca5e8.yml +openapi_spec_hash: 1bb2ed1b4d6e01f20107cbaab1140299 config_hash: 51c1d1194ac58d8c8e3162839c8f84dd diff --git a/src/resources/subscribers/subscribers.ts b/src/resources/subscribers/subscribers.ts index d961f7f..cf65569 100644 --- a/src/resources/subscribers/subscribers.ts +++ b/src/resources/subscribers/subscribers.ts @@ -149,6 +149,12 @@ export interface Subscriber { */ phone?: string | null; + /** + * Two-letter ISO country code associated with the normalized phone number, or null + * when unavailable. + */ + phoneCountry?: string | null; + /** * SMS marketing consent status, independent of the email status */ diff --git a/src/resources/transactional.ts b/src/resources/transactional.ts index e90fa29..e867fd2 100644 --- a/src/resources/transactional.ts +++ b/src/resources/transactional.ts @@ -84,9 +84,9 @@ export class Transactional extends APIResource { * Optionally set `from` (domain must be verified) and `replyTo` addresses. When * reply tracking is enabled, Sequenzy uses a unique trackable `Reply-To` header * and treats the resolved reply destination as the forwarding destination for - * captured replies. When `replyTo` is omitted, direct-content sends inherit the - * company's default reply profile and saved-template sends prefer the template - * reply profile before the company default. Both fall back to the first company + * captured replies. Without a reply identity override, saved-template sends prefer + * the template reply profile. Otherwise sends prefer the effective sending + * domain's default reply profile, then the company default, then the first company * reply profile. The resolved destination is retained whether or not reply * tracking is enabled; it is sent as the Reply-To header only when reply tracking * is disabled. Variables can be passed to customize the email content. Nested @@ -101,6 +101,11 @@ export class Transactional extends APIResource { * object. Missing values do not block queueing or sending; a required variable * that is not provided and has no default renders as an empty string. * + * Select existing identities with senderProfileId or fromEmail (and optional + * fromName), and replyProfileId or replyTo (with optional replyToName). These + * inputs look up profiles rather than create them. Use emailType, not isMarketing, + * to choose delivery policy. + * * @example * ```ts * const response = await client.transactional.send({ @@ -187,6 +192,16 @@ export type TransactionalSendResponse = export namespace TransactionalSendResponse { export interface SlugBasedResponse { + /** + * Deduplicated BCC recipients; omitted when empty. + */ + bcc?: Array; + + /** + * Deduplicated CC recipients; omitted when empty. + */ + cc?: Array; + /** * Non-blocking warnings about template variable issues. The send is still queued * when this object is present, and missing values without defaults render as empty @@ -282,6 +297,16 @@ export namespace TransactionalSendResponse { } export interface DirectContentResponse { + /** + * Deduplicated BCC recipients; omitted when empty. + */ + bcc?: Array; + + /** + * Deduplicated CC recipients; omitted when empty. + */ + cc?: Array; + /** * Non-blocking warnings about template variable issues. The send is still queued * when this object is present, and missing values without defaults render as empty @@ -449,10 +474,24 @@ export interface TransactionalSendParams { * (the display name disambiguates if several identities share the address), that * identity - including its sending route - is used for the send; otherwise the * template or company-default identity is kept and this field only changes the - * visible From. + * visible From. Mutually exclusive with senderProfileId, fromEmail and fromName. */ from?: string; + /** + * Body param: Address of an existing verified sender profile in this company. + * Mutually exclusive with senderProfileId and from. If several identities share + * the address, select one with fromName. + */ + fromEmail?: string; + + /** + * Body param: Display name selecting an existing identity on fromEmail. Requires + * fromEmail; mutually exclusive with senderProfileId and from. Does not create a + * profile. + */ + fromName?: string; + /** * Body param: Compatibility alias for `body`. Accepted with `subject` for direct * sends and must match `body` when both are provided. @@ -465,18 +504,35 @@ export interface TransactionalSendParams { preview?: string; /** - * Body param: Reply-to address. Format: "Name " or just "email". Can be any - * valid email address. When reply tracking is disabled, this value is sent as the - * email's `Reply-To` header. When reply tracking is enabled, Sequenzy sends a - * unique trackable `Reply-To` header and stores this value as the forwarding - * destination for replies. When omitted, direct-content sends inherit the company - * default and saved-template sends prefer the template reply profile before the - * company default. Both fall back to the first company reply profile. The resolved - * destination is retained whether or not reply tracking is enabled; it is sent - * directly only when reply tracking is disabled. + * Body param: Existing reply profile ID. Mutually exclusive with replyTo and + * replyToName. Overrides the saved template and default reply identity. + */ + replyProfileId?: string; + + /** + * Body param: Reply-to address as "Name " or a bare email, optionally + * paired with replyToName. Mutually exclusive with replyProfileId. With reply + * tracking enabled, Sequenzy sends a trackable Reply-To and stores this address as + * its forwarding destination. Without a reply override, saved-template sends + * prefer the template reply profile; otherwise sends prefer the effective + * sending-domain default, then company default, then the first company reply + * profile. */ replyTo?: string; + /** + * Body param: Display name for a bare replyTo address. Requires replyTo and is + * mutually exclusive with replyProfileId. Does not create a profile. + */ + replyToName?: string; + + /** + * Body param: Existing verified sender profile ID. Mutually exclusive with + * fromEmail, fromName and from. Selects that identity and its sending route; does + * not create a profile. + */ + senderProfileId?: string; + /** * Body param: Canonical slug of the transactional email template to use (mutually * exclusive with direct content). @@ -504,10 +560,10 @@ export interface TransactionalSendParams { templateId?: string; /** - * Body param: Per-send tracking opt-outs. Each field defaults to `true`, meaning - * your account's tracking settings apply; set a field to `false` to disable that - * tracking for this send only. These fields can only opt out; they cannot enable - * tracking that is disabled for your account. + * Body param: Per-send tracking opt-outs. Omitted fields follow the company + * Transactional API open/click defaults. Set false to disable tracking for this + * send. Neither true nor omission can enable tracking disabled by account-wide or + * Transactional API settings. */ trackingSettings?: TransactionalSendParams.TrackingSettings; @@ -570,10 +626,10 @@ export namespace TransactionalSendParams { } /** - * Per-send tracking opt-outs. Each field defaults to `true`, meaning your - * account's tracking settings apply; set a field to `false` to disable that - * tracking for this send only. These fields can only opt out; they cannot enable - * tracking that is disabled for your account. + * Per-send tracking opt-outs. Omitted fields follow the company Transactional API + * open/click defaults. Set false to disable tracking for this send. Neither true + * nor omission can enable tracking disabled by account-wide or Transactional API + * settings. */ export interface TrackingSettings { /** diff --git a/tests/api-resources/transactional.test.ts b/tests/api-resources/transactional.test.ts index 80ff1bc..1e70613 100644 --- a/tests/api-resources/transactional.test.ts +++ b/tests/api-resources/transactional.test.ts @@ -67,9 +67,14 @@ describe('resource transactional', () => { cc: 'manager@example.com', emailType: 'marketing', from: 'Notifications ', + fromEmail: 'fromEmail', + fromName: 'fromName', html: '

Welcome!

Thanks for signing up.

', preview: 'Welcome to our platform', + replyProfileId: 'replyProfileId', replyTo: 'Support ', + replyToName: 'replyToName', + senderProfileId: 'senderProfileId', slug: 'welcome-email', subject: 'Welcome to our platform!', subscriberExternalId: 'user_123', From aac1c666a55a5099c593a0a77a4bc8eaedd9eff4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 8 Sep 2026 05:27:36 +0000 Subject: [PATCH 2/2] release: 0.53.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ package.json | 2 +- src/version.ts | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index acba76f..2ffa421 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.52.0" + ".": "0.53.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 53421d4..8904537 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.53.0 (2026-09-08) + +Full Changelog: [v0.52.0...v0.53.0](https://github.com/Sequenzy/sequenzy-typescript/compare/v0.52.0...v0.53.0) + +### Features + +* **api:** api update ([98b5237](https://github.com/Sequenzy/sequenzy-typescript/commit/98b523735bc15a6132f5bcb09dd7751bf3118bcd)) + ## 0.52.0 (2026-09-07) Full Changelog: [v0.51.0...v0.52.0](https://github.com/Sequenzy/sequenzy-typescript/compare/v0.51.0...v0.52.0) diff --git a/package.json b/package.json index 77e7b02..62eede2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sequenzy", - "version": "0.52.0", + "version": "0.53.0", "description": "The official TypeScript library for the Sequenzy API", "author": "Sequenzy ", "types": "dist/index.d.ts", diff --git a/src/version.ts b/src/version.ts index 612bdd2..16fa1b4 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.52.0'; // x-release-please-version +export const VERSION = '0.53.0'; // x-release-please-version