diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 3f63a672..7f3f5c84 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.22.1" + ".": "0.23.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index cd23aeae..3d6e5e60 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 40 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent/sent-dm-ed2d25d8fc35788cd5a487e5041365c3d269407578e74930a2bab21152dcd082.yml -openapi_spec_hash: f2858e2f82502940c623e8705564ac83 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent/sent-dm-1106fdaad5fe7a7d2eecc598cebbbcd80bd040ba2c5b1217d421835a5511c65a.yml +openapi_spec_hash: 4205363fafa1cde6864a4691441463c2 config_hash: 32929c7d4b1344f5bbf67df044a518af diff --git a/CHANGELOG.md b/CHANGELOG.md index 331abd4a..13f8c200 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 0.23.0 (2026-06-29) + +Full Changelog: [v0.22.1...v0.23.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.22.1...v0.23.0) + +### Features + +* **api:** api update ([441c4bd](https://github.com/sentdm/sent-dm-ruby/commit/441c4bdaabc474360f4ad3efd5a1805948e95686)) +* **api:** api update ([702b196](https://github.com/sentdm/sent-dm-ruby/commit/702b196e3037740b8980f60bc4c67719d582d261)) + ## 0.22.1 (2026-06-18) Full Changelog: [v0.22.0...v0.22.1](https://github.com/sentdm/sent-dm-ruby/compare/v0.22.0...v0.22.1) diff --git a/Gemfile.lock b/Gemfile.lock index 47d4f65c..121664d8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - sentdm (0.22.1) + sentdm (0.23.0) cgi connection_pool diff --git a/README.md b/README.md index e239f0f0..0b169867 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "sentdm", "~> 0.22.1" +gem "sentdm", "~> 0.23.0" ``` diff --git a/lib/sentdm/models/message_send_params.rb b/lib/sentdm/models/message_send_params.rb index c4cd7aa9..af5a02f9 100644 --- a/lib/sentdm/models/message_send_params.rb +++ b/lib/sentdm/models/message_send_params.rb @@ -27,7 +27,13 @@ class MessageSendParams < Sentdm::Internal::Type::BaseModel # parameters. # # @return [Sentdm::Models::MessageSendParams::Template, nil] - optional :template, -> { Sentdm::MessageSendParams::Template } + optional :template, -> { Sentdm::MessageSendParams::Template }, nil?: true + + # @!attribute text + # Plain-text (free-form) message body. Provide either Template or this. + # + # @return [String, nil] + optional :text, String, nil?: true # @!attribute to # List of recipient phone numbers in E.164 format (multi-recipient fan-out) @@ -45,7 +51,7 @@ class MessageSendParams < Sentdm::Internal::Type::BaseModel # @return [String, nil] optional :x_profile_id, String - # @!method initialize(channel: nil, sandbox: nil, template: nil, to: nil, idempotency_key: nil, x_profile_id: nil, request_options: {}) + # @!method initialize(channel: nil, sandbox: nil, template: nil, text: nil, to: nil, idempotency_key: nil, x_profile_id: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Sentdm::Models::MessageSendParams} for more details. # @@ -53,7 +59,9 @@ class MessageSendParams < Sentdm::Internal::Type::BaseModel # # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects # - # @param template [Sentdm::Models::MessageSendParams::Template] SDK-style template reference: resolve by ID or by name, with optional parameters + # @param template [Sentdm::Models::MessageSendParams::Template, nil] SDK-style template reference: resolve by ID or by name, with optional parameters + # + # @param text [String, nil] Plain-text (free-form) message body. Provide either Template or this. # # @param to [Array] List of recipient phone numbers in E.164 format (multi-recipient fan-out) # diff --git a/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb b/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb index b4f06d52..451a69b6 100644 --- a/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb +++ b/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb @@ -47,6 +47,16 @@ class TcrCampaignWithUseCases < Sentdm::Models::Profiles::BaseDto # @return [String, nil] optional :description, String + # @!attribute has_submission_transaction + # True when this campaign already has a billing transaction of reference type + # TCR_CAMPAIGN_SUBMISSION (the one-time submission fee was charged). Populated + # only by the campaigns-list path; defaults false on other responses. + # + # @return [Boolean, nil] + optional :has_submission_transaction, + Sentdm::Internal::Type::Boolean, + api_name: :hasSubmissionTransaction + # @!attribute help_keywords # # @return [String, nil] @@ -162,36 +172,70 @@ class TcrCampaignWithUseCases < Sentdm::Models::Profiles::BaseDto -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::TcrCampaignWithUseCases::UseCase] }, api_name: :useCases - # @!method initialize(billed_date: nil, brand_id: nil, cost: nil, csp_id: nil, customer_id: nil, dca_elections_complete: nil, dca_elections_completed_at: nil, description: nil, help_keywords: nil, help_message: nil, kyc_submission_form_id: nil, message_flow: nil, name: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, reseller_id: nil, sharing_status: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_campaign_id: nil, tcr_sync_error: nil, telnyx_campaign_id: nil, terms_and_conditions_link: nil, type: nil, upstream_cnp_id: nil, use_cases: nil) + # @!method initialize(billed_date: nil, brand_id: nil, cost: nil, csp_id: nil, customer_id: nil, dca_elections_complete: nil, dca_elections_completed_at: nil, description: nil, has_submission_transaction: nil, help_keywords: nil, help_message: nil, kyc_submission_form_id: nil, message_flow: nil, name: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, reseller_id: nil, sharing_status: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_campaign_id: nil, tcr_sync_error: nil, telnyx_campaign_id: nil, terms_and_conditions_link: nil, type: nil, upstream_cnp_id: nil, use_cases: nil) + # Some parameter documentations has been truncated, see + # {Sentdm::Models::Profiles::TcrCampaignWithUseCases} for more details. + # # @param billed_date [Time, nil] + # # @param brand_id [String, nil] + # # @param cost [Float, nil] + # # @param csp_id [String, nil] + # # @param customer_id [String] + # # @param dca_elections_complete [Boolean, nil] + # # @param dca_elections_completed_at [Time, nil] + # # @param description [String] + # + # @param has_submission_transaction [Boolean] True when this campaign already has a billing transaction of reference type + # # @param help_keywords [String, nil] + # # @param help_message [String, nil] + # # @param kyc_submission_form_id [String, nil] + # # @param message_flow [String, nil] + # # @param name [String] + # # @param optin_keywords [String, nil] + # # @param optin_message [String, nil] + # # @param optout_keywords [String, nil] + # # @param optout_message [String, nil] + # # @param privacy_policy_link [String, nil] + # # @param reseller_id [String, nil] + # # @param sharing_status [Symbol, Sentdm::Models::Profiles::TcrCampaignWithUseCases::SharingStatus, nil] + # # @param status [Symbol, Sentdm::Models::Profiles::TcrCampaignWithUseCases::Status, nil] + # # @param submitted_at [Time, nil] + # # @param submitted_to_tcr [Boolean] + # # @param tcr_campaign_id [String, nil] + # # @param tcr_sync_error [String, nil] + # # @param telnyx_campaign_id [String, nil] + # # @param terms_and_conditions_link [String, nil] + # # @param type [String] + # # @param upstream_cnp_id [String, nil] + # # @param use_cases [Array] module SharingStatus diff --git a/lib/sentdm/resources/messages.rb b/lib/sentdm/resources/messages.rb index bb7ec5cc..9d1def11 100644 --- a/lib/sentdm/resources/messages.rb +++ b/lib/sentdm/resources/messages.rb @@ -69,13 +69,15 @@ def retrieve_status(id, params = {}) # Returns immediately with per-recipient message IDs for async tracking via # webhooks or the GET /messages/{id} endpoint. # - # @overload send_(channel: nil, sandbox: nil, template: nil, to: nil, idempotency_key: nil, x_profile_id: nil, request_options: {}) + # @overload send_(channel: nil, sandbox: nil, template: nil, text: nil, to: nil, idempotency_key: nil, x_profile_id: nil, request_options: {}) # # @param channel [Array, nil] Body param: Channels to broadcast on, e.g. ["whatsapp", "sms"]. # # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef # - # @param template [Sentdm::Models::MessageSendParams::Template] Body param: SDK-style template reference: resolve by ID or by name, with optiona + # @param template [Sentdm::Models::MessageSendParams::Template, nil] Body param: SDK-style template reference: resolve by ID or by name, with optiona + # + # @param text [String, nil] Body param: Plain-text (free-form) message body. Provide either Template or this # # @param to [Array] Body param: List of recipient phone numbers in E.164 format (multi-recipient fan # diff --git a/lib/sentdm/version.rb b/lib/sentdm/version.rb index c694c55f..d1ffd12d 100644 --- a/lib/sentdm/version.rb +++ b/lib/sentdm/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Sentdm - VERSION = "0.22.1" + VERSION = "0.23.0" end diff --git a/rbi/sentdm/models/message_send_params.rbi b/rbi/sentdm/models/message_send_params.rbi index ebeb5ec3..30830f9d 100644 --- a/rbi/sentdm/models/message_send_params.rbi +++ b/rbi/sentdm/models/message_send_params.rbi @@ -30,9 +30,17 @@ module Sentdm sig { returns(T.nilable(Sentdm::MessageSendParams::Template)) } attr_reader :template - sig { params(template: Sentdm::MessageSendParams::Template::OrHash).void } + sig do + params( + template: T.nilable(Sentdm::MessageSendParams::Template::OrHash) + ).void + end attr_writer :template + # Plain-text (free-form) message body. Provide either Template or this. + sig { returns(T.nilable(String)) } + attr_accessor :text + # List of recipient phone numbers in E.164 format (multi-recipient fan-out) sig { returns(T.nilable(T::Array[String])) } attr_reader :to @@ -56,7 +64,8 @@ module Sentdm params( channel: T.nilable(T::Array[String]), sandbox: T::Boolean, - template: Sentdm::MessageSendParams::Template::OrHash, + template: T.nilable(Sentdm::MessageSendParams::Template::OrHash), + text: T.nilable(String), to: T::Array[String], idempotency_key: String, x_profile_id: String, @@ -74,6 +83,8 @@ module Sentdm # SDK-style template reference: resolve by ID or by name, with optional # parameters. template: nil, + # Plain-text (free-form) message body. Provide either Template or this. + text: nil, # List of recipient phone numbers in E.164 format (multi-recipient fan-out) to: nil, idempotency_key: nil, @@ -87,7 +98,8 @@ module Sentdm { channel: T.nilable(T::Array[String]), sandbox: T::Boolean, - template: Sentdm::MessageSendParams::Template, + template: T.nilable(Sentdm::MessageSendParams::Template), + text: T.nilable(String), to: T::Array[String], idempotency_key: String, x_profile_id: String, diff --git a/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi b/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi index 045e1eb9..78cd71eb 100644 --- a/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +++ b/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi @@ -42,6 +42,15 @@ module Sentdm sig { params(description: String).void } attr_writer :description + # True when this campaign already has a billing transaction of reference type + # TCR_CAMPAIGN_SUBMISSION (the one-time submission fee was charged). Populated + # only by the campaigns-list path; defaults false on other responses. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :has_submission_transaction + + sig { params(has_submission_transaction: T::Boolean).void } + attr_writer :has_submission_transaction + sig { returns(T.nilable(String)) } attr_accessor :help_keywords @@ -155,6 +164,7 @@ module Sentdm dca_elections_complete: T.nilable(T::Boolean), dca_elections_completed_at: T.nilable(Time), description: String, + has_submission_transaction: T::Boolean, help_keywords: T.nilable(String), help_message: T.nilable(String), kyc_submission_form_id: T.nilable(String), @@ -197,6 +207,10 @@ module Sentdm dca_elections_complete: nil, dca_elections_completed_at: nil, description: nil, + # True when this campaign already has a billing transaction of reference type + # TCR_CAMPAIGN_SUBMISSION (the one-time submission fee was charged). Populated + # only by the campaigns-list path; defaults false on other responses. + has_submission_transaction: nil, help_keywords: nil, help_message: nil, kyc_submission_form_id: nil, @@ -233,6 +247,7 @@ module Sentdm dca_elections_complete: T.nilable(T::Boolean), dca_elections_completed_at: T.nilable(Time), description: String, + has_submission_transaction: T::Boolean, help_keywords: T.nilable(String), help_message: T.nilable(String), kyc_submission_form_id: T.nilable(String), diff --git a/rbi/sentdm/resources/messages.rbi b/rbi/sentdm/resources/messages.rbi index 1442f583..ac399408 100644 --- a/rbi/sentdm/resources/messages.rbi +++ b/rbi/sentdm/resources/messages.rbi @@ -51,7 +51,8 @@ module Sentdm params( channel: T.nilable(T::Array[String]), sandbox: T::Boolean, - template: Sentdm::MessageSendParams::Template::OrHash, + template: T.nilable(Sentdm::MessageSendParams::Template::OrHash), + text: T.nilable(String), to: T::Array[String], idempotency_key: String, x_profile_id: String, @@ -69,6 +70,9 @@ module Sentdm # Body param: SDK-style template reference: resolve by ID or by name, with # optional parameters. template: nil, + # Body param: Plain-text (free-form) message body. Provide either Template or + # this. + text: nil, # Body param: List of recipient phone numbers in E.164 format (multi-recipient # fan-out) to: nil, diff --git a/sig/sentdm/models/message_send_params.rbs b/sig/sentdm/models/message_send_params.rbs index 3dd01487..2ca70dc9 100644 --- a/sig/sentdm/models/message_send_params.rbs +++ b/sig/sentdm/models/message_send_params.rbs @@ -4,7 +4,8 @@ module Sentdm { channel: ::Array[String]?, sandbox: bool, - template: Sentdm::MessageSendParams::Template, + template: Sentdm::MessageSendParams::Template?, + text: String?, to: ::Array[String], idempotency_key: String, x_profile_id: String @@ -21,11 +22,9 @@ module Sentdm def sandbox=: (bool) -> bool - attr_reader template: Sentdm::MessageSendParams::Template? + attr_accessor template: Sentdm::MessageSendParams::Template? - def template=: ( - Sentdm::MessageSendParams::Template - ) -> Sentdm::MessageSendParams::Template + attr_accessor text: String? attr_reader to: ::Array[String]? @@ -42,7 +41,8 @@ module Sentdm def initialize: ( ?channel: ::Array[String]?, ?sandbox: bool, - ?template: Sentdm::MessageSendParams::Template, + ?template: Sentdm::MessageSendParams::Template?, + ?text: String?, ?to: ::Array[String], ?idempotency_key: String, ?x_profile_id: String, @@ -52,7 +52,8 @@ module Sentdm def to_hash: -> { channel: ::Array[String]?, sandbox: bool, - template: Sentdm::MessageSendParams::Template, + template: Sentdm::MessageSendParams::Template?, + text: String?, to: ::Array[String], idempotency_key: String, x_profile_id: String, diff --git a/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs b/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs index 186420c2..1b477a4c 100644 --- a/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +++ b/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs @@ -11,6 +11,7 @@ module Sentdm dca_elections_complete: bool?, dca_elections_completed_at: Time?, description: String, + has_submission_transaction: bool, help_keywords: String?, help_message: String?, kyc_submission_form_id: String?, @@ -68,6 +69,10 @@ module Sentdm def description=: (String _) -> String + def has_submission_transaction: -> bool? + + def has_submission_transaction=: (bool _) -> bool + def help_keywords: -> String? def help_keywords=: (String? _) -> String? @@ -171,6 +176,7 @@ module Sentdm ?dca_elections_complete: bool?, ?dca_elections_completed_at: Time?, ?description: String, + ?has_submission_transaction: bool, ?help_keywords: String?, ?help_message: String?, ?kyc_submission_form_id: String?, @@ -204,6 +210,7 @@ module Sentdm dca_elections_complete: bool?, dca_elections_completed_at: Time?, description: String, + has_submission_transaction: bool, help_keywords: String?, help_message: String?, kyc_submission_form_id: String?, diff --git a/sig/sentdm/resources/messages.rbs b/sig/sentdm/resources/messages.rbs index 11038026..a31242ab 100644 --- a/sig/sentdm/resources/messages.rbs +++ b/sig/sentdm/resources/messages.rbs @@ -16,7 +16,8 @@ module Sentdm def send_: ( ?channel: ::Array[String]?, ?sandbox: bool, - ?template: Sentdm::MessageSendParams::Template, + ?template: Sentdm::MessageSendParams::Template?, + ?text: String?, ?to: ::Array[String], ?idempotency_key: String, ?x_profile_id: String,