zavudev 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8dd10ff9ca84c30d11bb953aa432150b013477e826ce1f23c0e03f751e97bb8f
4
- data.tar.gz: e36f8e76c1c90c54b66c061b9e9ca3320566955505dd361e160b1f98e1cf3a74
3
+ metadata.gz: 915682fb433dfff5f6a3067d70fa4802770a48c6955177ff08197ff776356ddc
4
+ data.tar.gz: 4f0a420f38b36a96ff29b32c3918a1224ef77bc7ab5a3ee6ac57022fb722b406
5
5
  SHA512:
6
- metadata.gz: cca22267fd9aea296726f3be4e762a41a8e5c5ef3de9e20b6d39cf991d3392acf965913190928bd3dedd2bb21a23d2569ca98eb5a625b752c76c58a9da5f99e3
7
- data.tar.gz: 62472e6e4ae3c6b4223f48ad80ad5b8444d0754d0740911a67b48b60137dbdbccec54279710966a3bc35fdb7fa176049c72ca5654f0252805b4fb235cb330d99
6
+ metadata.gz: 03406dfe24ce80b30d357e7ee5a2d062d448c8749c6d2e02aa97ae99fa61797d547c6a35570b09ac77a13f397c227c64ff87142e12c14db4dcb013bd21658b13
7
+ data.tar.gz: 99287b8f44be9a45d6c8f4ff99a63a423718762b7508a4d5b1d2455c2e775a2c0cdc818273537d09e22ca096cea1d8cc7f3fd893f5f1f0f942f491abe3a71fd0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.0 (2026-07-12)
4
+
5
+ Full Changelog: [v0.16.0...v0.17.0](https://github.com/zavudev/sdk-ruby/compare/v0.16.0...v0.17.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([460ee29](https://github.com/zavudev/sdk-ruby/commit/460ee29ffefa9d16fc45c10b7c6c36bcfcccf962))
10
+ * **api:** api update ([3a8d027](https://github.com/zavudev/sdk-ruby/commit/3a8d027e3fa9e418246bdf464806c4abd2ba74c5))
11
+ * **api:** manual updates ([b6feb00](https://github.com/zavudev/sdk-ruby/commit/b6feb00d502e93f31a953438580f2420b3011482))
12
+
3
13
  ## 0.16.0 (2026-07-07)
4
14
 
5
15
  Full Changelog: [v0.15.0...v0.16.0](https://github.com/zavudev/sdk-ruby/compare/v0.15.0...v0.16.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "zavudev", "~> 0.16.0"
29
+ gem "zavudev", "~> 0.17.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -48,21 +48,12 @@ module Zavudev
48
48
  # @return [Zavudev::Resources::Invitations]
49
49
  attr_reader :invitations
50
50
 
51
- # @return [Zavudev::Resources::Exports]
52
- attr_reader :exports
53
-
54
51
  # @return [Zavudev::Resources::URLs]
55
52
  attr_reader :urls
56
53
 
57
54
  # @return [Zavudev::Resources::Balance]
58
55
  attr_reader :balance
59
56
 
60
- # @return [Zavudev::Resources::Plan]
61
- attr_reader :plan
62
-
63
- # @return [Zavudev::Resources::Usage]
64
- attr_reader :usage
65
-
66
57
  # @return [Zavudev::Resources::SubAccounts]
67
58
  attr_reader :sub_accounts
68
59
 
@@ -146,11 +137,8 @@ module Zavudev
146
137
  @addresses = Zavudev::Resources::Addresses.new(client: self)
147
138
  @regulatory_documents = Zavudev::Resources::RegulatoryDocuments.new(client: self)
148
139
  @invitations = Zavudev::Resources::Invitations.new(client: self)
149
- @exports = Zavudev::Resources::Exports.new(client: self)
150
140
  @urls = Zavudev::Resources::URLs.new(client: self)
151
141
  @balance = Zavudev::Resources::Balance.new(client: self)
152
- @plan = Zavudev::Resources::Plan.new(client: self)
153
- @usage = Zavudev::Resources::Usage.new(client: self)
154
142
  @sub_accounts = Zavudev::Resources::SubAccounts.new(client: self)
155
143
  @number_10dlc = Zavudev::Resources::Number10dlc.new(client: self)
156
144
  @me = Zavudev::Resources::Me.new(client: self)
@@ -25,6 +25,21 @@ module Zavudev
25
25
  # @return [Time, nil]
26
26
  optional :created_at, Time, api_name: :createdAt
27
27
 
28
+ # @!attribute email_address
29
+ # From-address for the email channel, if configured.
30
+ #
31
+ # @return [String, nil]
32
+ optional :email_address, String, api_name: :emailAddress
33
+
34
+ # @!attribute email_catch_all_enabled
35
+ # Whether catch-all receiving is enabled. When true (and emailReceivingEnabled is
36
+ # true), this sender receives email addressed to any local part at its domain, not
37
+ # just its own address. The original recipient is delivered in the message.inbound
38
+ # webhook's data.to.
39
+ #
40
+ # @return [Boolean, nil]
41
+ optional :email_catch_all_enabled, Zavudev::Internal::Type::Boolean, api_name: :emailCatchAllEnabled
42
+
28
43
  # @!attribute email_receiving_enabled
29
44
  # Whether inbound email receiving is enabled for this sender.
30
45
  #
@@ -54,7 +69,10 @@ module Zavudev
54
69
  # @return [Zavudev::Models::Sender::Whatsapp, nil]
55
70
  optional :whatsapp, -> { Zavudev::Sender::Whatsapp }
56
71
 
57
- # @!method initialize(id:, name:, phone_number:, created_at: nil, email_receiving_enabled: nil, is_default: nil, updated_at: nil, webhook: nil, whatsapp: nil)
72
+ # @!method initialize(id:, name:, phone_number:, created_at: nil, email_address: nil, email_catch_all_enabled: nil, email_receiving_enabled: nil, is_default: nil, updated_at: nil, webhook: nil, whatsapp: nil)
73
+ # Some parameter documentations has been truncated, see {Zavudev::Models::Sender}
74
+ # for more details.
75
+ #
58
76
  # @param id [String]
59
77
  #
60
78
  # @param name [String]
@@ -63,6 +81,10 @@ module Zavudev
63
81
  #
64
82
  # @param created_at [Time]
65
83
  #
84
+ # @param email_address [String] From-address for the email channel, if configured.
85
+ #
86
+ # @param email_catch_all_enabled [Boolean] Whether catch-all receiving is enabled. When true (and emailReceivingEnabled is
87
+ #
66
88
  # @param email_receiving_enabled [Boolean] Whether inbound email receiving is enabled for this sender.
67
89
  #
68
90
  # @param is_default [Boolean] Whether this sender is the project's default.
@@ -12,10 +12,40 @@ module Zavudev
12
12
  # @return [String]
13
13
  required :name, String
14
14
 
15
+ # @!attribute email_address
16
+ # From-address for the email channel (e.g. noreply@yourdomain.com). The address's
17
+ # domain must be a verified email domain in your project. Setting this attaches
18
+ # the email channel to the sender.
19
+ #
20
+ # @return [String, nil]
21
+ optional :email_address, String, api_name: :emailAddress
22
+
23
+ # @!attribute email_domain_id
24
+ # ID of the verified email domain to attach. Optional — resolved from
25
+ # `emailAddress`'s domain when omitted.
26
+ #
27
+ # @return [String, nil]
28
+ optional :email_domain_id, String, api_name: :emailDomainId
29
+
30
+ # @!attribute email_from_name
31
+ # Display name shown in the recipient's inbox for the email channel.
32
+ #
33
+ # @return [String, nil]
34
+ optional :email_from_name, String, api_name: :emailFromName
35
+
36
+ # @!attribute email_receiving_enabled
37
+ # Enable inbound email receiving on this sender. Requires a verified MX record on
38
+ # the domain; ignored otherwise.
39
+ #
40
+ # @return [Boolean, nil]
41
+ optional :email_receiving_enabled, Zavudev::Internal::Type::Boolean, api_name: :emailReceivingEnabled
42
+
15
43
  # @!attribute phone_number
44
+ # Phone number in E.164 format. Required for phone-based channels (SMS, WhatsApp).
45
+ # Omit for an email-only sender.
16
46
  #
17
- # @return [String]
18
- required :phone_number, String, api_name: :phoneNumber
47
+ # @return [String, nil]
48
+ optional :phone_number, String, api_name: :phoneNumber
19
49
 
20
50
  # @!attribute set_as_default
21
51
  #
@@ -36,10 +66,21 @@ module Zavudev
36
66
  # @return [String, nil]
37
67
  optional :webhook_url, String, api_name: :webhookUrl
38
68
 
39
- # @!method initialize(name:, phone_number:, set_as_default: nil, webhook_events: nil, webhook_url: nil, request_options: {})
69
+ # @!method initialize(name:, email_address: nil, email_domain_id: nil, email_from_name: nil, email_receiving_enabled: nil, phone_number: nil, set_as_default: nil, webhook_events: nil, webhook_url: nil, request_options: {})
70
+ # Some parameter documentations has been truncated, see
71
+ # {Zavudev::Models::SenderCreateParams} for more details.
72
+ #
40
73
  # @param name [String]
41
74
  #
42
- # @param phone_number [String]
75
+ # @param email_address [String] From-address for the email channel (e.g. noreply@yourdomain.com). The address's
76
+ #
77
+ # @param email_domain_id [String] ID of the verified email domain to attach. Optional — resolved from `emailAddres
78
+ #
79
+ # @param email_from_name [String] Display name shown in the recipient's inbox for the email channel.
80
+ #
81
+ # @param email_receiving_enabled [Boolean] Enable inbound email receiving on this sender. Requires a verified MX record on
82
+ #
83
+ # @param phone_number [String] Phone number in E.164 format. Required for phone-based channels (SMS, WhatsApp).
43
84
  #
44
85
  # @param set_as_default [Boolean]
45
86
  #
@@ -12,6 +12,34 @@ module Zavudev
12
12
  # @return [String]
13
13
  required :sender_id, String
14
14
 
15
+ # @!attribute email_address
16
+ # Attach or change the sender's email from-address (e.g. noreply@yourdomain.com).
17
+ # The domain must be a verified email domain in your project.
18
+ #
19
+ # @return [String, nil]
20
+ optional :email_address, String, api_name: :emailAddress
21
+
22
+ # @!attribute email_catch_all_enabled
23
+ # Enable or disable domain catch-all. When enabled (with emailReceivingEnabled
24
+ # true), this sender receives email for any address at its domain. Ignored
25
+ # (treated as false) if receiving is not enabled.
26
+ #
27
+ # @return [Boolean, nil]
28
+ optional :email_catch_all_enabled, Zavudev::Internal::Type::Boolean, api_name: :emailCatchAllEnabled
29
+
30
+ # @!attribute email_domain_id
31
+ # ID of the verified email domain to attach. Optional — resolved from
32
+ # `emailAddress`'s domain when omitted.
33
+ #
34
+ # @return [String, nil]
35
+ optional :email_domain_id, String, api_name: :emailDomainId
36
+
37
+ # @!attribute email_from_name
38
+ # Display name shown in the recipient's inbox for the email channel.
39
+ #
40
+ # @return [String, nil]
41
+ optional :email_from_name, String, api_name: :emailFromName
42
+
15
43
  # @!attribute email_receiving_enabled
16
44
  # Enable or disable inbound email receiving for this sender.
17
45
  #
@@ -48,9 +76,20 @@ module Zavudev
48
76
  # @return [String, nil]
49
77
  optional :webhook_url, String, api_name: :webhookUrl, nil?: true
50
78
 
51
- # @!method initialize(sender_id:, email_receiving_enabled: nil, name: nil, set_as_default: nil, webhook_active: nil, webhook_events: nil, webhook_url: nil, request_options: {})
79
+ # @!method initialize(sender_id:, email_address: nil, email_catch_all_enabled: nil, email_domain_id: nil, email_from_name: nil, email_receiving_enabled: nil, name: nil, set_as_default: nil, webhook_active: nil, webhook_events: nil, webhook_url: nil, request_options: {})
80
+ # Some parameter documentations has been truncated, see
81
+ # {Zavudev::Models::SenderUpdateParams} for more details.
82
+ #
52
83
  # @param sender_id [String]
53
84
  #
85
+ # @param email_address [String] Attach or change the sender's email from-address (e.g. noreply@yourdomain.com).
86
+ #
87
+ # @param email_catch_all_enabled [Boolean] Enable or disable domain catch-all. When enabled (with emailReceivingEnabled tru
88
+ #
89
+ # @param email_domain_id [String] ID of the verified email domain to attach. Optional — resolved from `emailAddres
90
+ #
91
+ # @param email_from_name [String] Display name shown in the recipient's inbox for the email channel.
92
+ #
54
93
  # @param email_receiving_enabled [Boolean] Enable or disable inbound email receiving for this sender.
55
94
  #
56
95
  # @param name [String]
@@ -9,13 +9,24 @@ module Zavudev
9
9
  # @return [Zavudev::Resources::Senders::WhatsappSync]
10
10
  attr_reader :whatsapp_sync
11
11
 
12
+ # Some parameter documentations has been truncated, see
13
+ # {Zavudev::Models::SenderCreateParams} for more details.
14
+ #
12
15
  # Create sender
13
16
  #
14
- # @overload create(name:, phone_number:, set_as_default: nil, webhook_events: nil, webhook_url: nil, request_options: {})
17
+ # @overload create(name:, email_address: nil, email_domain_id: nil, email_from_name: nil, email_receiving_enabled: nil, phone_number: nil, set_as_default: nil, webhook_events: nil, webhook_url: nil, request_options: {})
15
18
  #
16
19
  # @param name [String]
17
20
  #
18
- # @param phone_number [String]
21
+ # @param email_address [String] From-address for the email channel (e.g. noreply@yourdomain.com). The address's
22
+ #
23
+ # @param email_domain_id [String] ID of the verified email domain to attach. Optional — resolved from `emailAddres
24
+ #
25
+ # @param email_from_name [String] Display name shown in the recipient's inbox for the email channel.
26
+ #
27
+ # @param email_receiving_enabled [Boolean] Enable inbound email receiving on this sender. Requires a verified MX record on
28
+ #
29
+ # @param phone_number [String] Phone number in E.164 format. Required for phone-based channels (SMS, WhatsApp).
19
30
  #
20
31
  # @param set_as_default [Boolean]
21
32
  #
@@ -58,12 +69,23 @@ module Zavudev
58
69
  )
59
70
  end
60
71
 
72
+ # Some parameter documentations has been truncated, see
73
+ # {Zavudev::Models::SenderUpdateParams} for more details.
74
+ #
61
75
  # Update sender
62
76
  #
63
- # @overload update(sender_id, email_receiving_enabled: nil, name: nil, set_as_default: nil, webhook_active: nil, webhook_events: nil, webhook_url: nil, request_options: {})
77
+ # @overload update(sender_id, email_address: nil, email_catch_all_enabled: nil, email_domain_id: nil, email_from_name: nil, email_receiving_enabled: nil, name: nil, set_as_default: nil, webhook_active: nil, webhook_events: nil, webhook_url: nil, request_options: {})
64
78
  #
65
79
  # @param sender_id [String]
66
80
  #
81
+ # @param email_address [String] Attach or change the sender's email from-address (e.g. noreply@yourdomain.com).
82
+ #
83
+ # @param email_catch_all_enabled [Boolean] Enable or disable domain catch-all. When enabled (with emailReceivingEnabled tru
84
+ #
85
+ # @param email_domain_id [String] ID of the verified email domain to attach. Optional — resolved from `emailAddres
86
+ #
87
+ # @param email_from_name [String] Display name shown in the recipient's inbox for the email channel.
88
+ #
67
89
  # @param email_receiving_enabled [Boolean] Enable or disable inbound email receiving for this sender.
68
90
  #
69
91
  # @param name [String]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zavudev
4
- VERSION = "0.16.0"
4
+ VERSION = "0.17.0"
5
5
  end
data/lib/zavudev.rb CHANGED
@@ -338,7 +338,6 @@ require_relative "zavudev/resources/broadcasts"
338
338
  require_relative "zavudev/resources/broadcasts/contacts"
339
339
  require_relative "zavudev/resources/contacts"
340
340
  require_relative "zavudev/resources/contacts/channels"
341
- require_relative "zavudev/resources/exports"
342
341
  require_relative "zavudev/resources/functions"
343
342
  require_relative "zavudev/resources/functions/secrets"
344
343
  require_relative "zavudev/resources/introspect"
@@ -350,7 +349,6 @@ require_relative "zavudev/resources/number_10dlc/brands"
350
349
  require_relative "zavudev/resources/number_10dlc/campaigns"
351
350
  require_relative "zavudev/resources/number_10dlc/campaigns/phone_numbers"
352
351
  require_relative "zavudev/resources/phone_numbers"
353
- require_relative "zavudev/resources/plan"
354
352
  require_relative "zavudev/resources/regulatory_documents"
355
353
  require_relative "zavudev/resources/senders"
356
354
  require_relative "zavudev/resources/senders/agent"
@@ -364,4 +362,3 @@ require_relative "zavudev/resources/sub_accounts"
364
362
  require_relative "zavudev/resources/sub_accounts/api_keys"
365
363
  require_relative "zavudev/resources/templates"
366
364
  require_relative "zavudev/resources/urls"
367
- require_relative "zavudev/resources/usage"
@@ -43,21 +43,12 @@ module Zavudev
43
43
  sig { returns(Zavudev::Resources::Invitations) }
44
44
  attr_reader :invitations
45
45
 
46
- sig { returns(Zavudev::Resources::Exports) }
47
- attr_reader :exports
48
-
49
46
  sig { returns(Zavudev::Resources::URLs) }
50
47
  attr_reader :urls
51
48
 
52
49
  sig { returns(Zavudev::Resources::Balance) }
53
50
  attr_reader :balance
54
51
 
55
- sig { returns(Zavudev::Resources::Plan) }
56
- attr_reader :plan
57
-
58
- sig { returns(Zavudev::Resources::Usage) }
59
- attr_reader :usage
60
-
61
52
  sig { returns(Zavudev::Resources::SubAccounts) }
62
53
  attr_reader :sub_accounts
63
54
 
@@ -22,6 +22,23 @@ module Zavudev
22
22
  sig { params(created_at: Time).void }
23
23
  attr_writer :created_at
24
24
 
25
+ # From-address for the email channel, if configured.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :email_address
28
+
29
+ sig { params(email_address: String).void }
30
+ attr_writer :email_address
31
+
32
+ # Whether catch-all receiving is enabled. When true (and emailReceivingEnabled is
33
+ # true), this sender receives email addressed to any local part at its domain, not
34
+ # just its own address. The original recipient is delivered in the message.inbound
35
+ # webhook's data.to.
36
+ sig { returns(T.nilable(T::Boolean)) }
37
+ attr_reader :email_catch_all_enabled
38
+
39
+ sig { params(email_catch_all_enabled: T::Boolean).void }
40
+ attr_writer :email_catch_all_enabled
41
+
25
42
  # Whether inbound email receiving is enabled for this sender.
26
43
  sig { returns(T.nilable(T::Boolean)) }
27
44
  attr_reader :email_receiving_enabled
@@ -62,6 +79,8 @@ module Zavudev
62
79
  name: String,
63
80
  phone_number: String,
64
81
  created_at: Time,
82
+ email_address: String,
83
+ email_catch_all_enabled: T::Boolean,
65
84
  email_receiving_enabled: T::Boolean,
66
85
  is_default: T::Boolean,
67
86
  updated_at: Time,
@@ -75,6 +94,13 @@ module Zavudev
75
94
  # Phone number in E.164 format.
76
95
  phone_number:,
77
96
  created_at: nil,
97
+ # From-address for the email channel, if configured.
98
+ email_address: nil,
99
+ # Whether catch-all receiving is enabled. When true (and emailReceivingEnabled is
100
+ # true), this sender receives email addressed to any local part at its domain, not
101
+ # just its own address. The original recipient is delivered in the message.inbound
102
+ # webhook's data.to.
103
+ email_catch_all_enabled: nil,
78
104
  # Whether inbound email receiving is enabled for this sender.
79
105
  email_receiving_enabled: nil,
80
106
  # Whether this sender is the project's default.
@@ -94,6 +120,8 @@ module Zavudev
94
120
  name: String,
95
121
  phone_number: String,
96
122
  created_at: Time,
123
+ email_address: String,
124
+ email_catch_all_enabled: T::Boolean,
97
125
  email_receiving_enabled: T::Boolean,
98
126
  is_default: T::Boolean,
99
127
  updated_at: Time,
@@ -14,8 +14,45 @@ module Zavudev
14
14
  sig { returns(String) }
15
15
  attr_accessor :name
16
16
 
17
- sig { returns(String) }
18
- attr_accessor :phone_number
17
+ # From-address for the email channel (e.g. noreply@yourdomain.com). The address's
18
+ # domain must be a verified email domain in your project. Setting this attaches
19
+ # the email channel to the sender.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :email_address
22
+
23
+ sig { params(email_address: String).void }
24
+ attr_writer :email_address
25
+
26
+ # ID of the verified email domain to attach. Optional — resolved from
27
+ # `emailAddress`'s domain when omitted.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :email_domain_id
30
+
31
+ sig { params(email_domain_id: String).void }
32
+ attr_writer :email_domain_id
33
+
34
+ # Display name shown in the recipient's inbox for the email channel.
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :email_from_name
37
+
38
+ sig { params(email_from_name: String).void }
39
+ attr_writer :email_from_name
40
+
41
+ # Enable inbound email receiving on this sender. Requires a verified MX record on
42
+ # the domain; ignored otherwise.
43
+ sig { returns(T.nilable(T::Boolean)) }
44
+ attr_reader :email_receiving_enabled
45
+
46
+ sig { params(email_receiving_enabled: T::Boolean).void }
47
+ attr_writer :email_receiving_enabled
48
+
49
+ # Phone number in E.164 format. Required for phone-based channels (SMS, WhatsApp).
50
+ # Omit for an email-only sender.
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :phone_number
53
+
54
+ sig { params(phone_number: String).void }
55
+ attr_writer :phone_number
19
56
 
20
57
  sig { returns(T.nilable(T::Boolean)) }
21
58
  attr_reader :set_as_default
@@ -42,6 +79,10 @@ module Zavudev
42
79
  sig do
43
80
  params(
44
81
  name: String,
82
+ email_address: String,
83
+ email_domain_id: String,
84
+ email_from_name: String,
85
+ email_receiving_enabled: T::Boolean,
45
86
  phone_number: String,
46
87
  set_as_default: T::Boolean,
47
88
  webhook_events: T::Array[Zavudev::WebhookEvent::OrSymbol],
@@ -51,7 +92,21 @@ module Zavudev
51
92
  end
52
93
  def self.new(
53
94
  name:,
54
- phone_number:,
95
+ # From-address for the email channel (e.g. noreply@yourdomain.com). The address's
96
+ # domain must be a verified email domain in your project. Setting this attaches
97
+ # the email channel to the sender.
98
+ email_address: nil,
99
+ # ID of the verified email domain to attach. Optional — resolved from
100
+ # `emailAddress`'s domain when omitted.
101
+ email_domain_id: nil,
102
+ # Display name shown in the recipient's inbox for the email channel.
103
+ email_from_name: nil,
104
+ # Enable inbound email receiving on this sender. Requires a verified MX record on
105
+ # the domain; ignored otherwise.
106
+ email_receiving_enabled: nil,
107
+ # Phone number in E.164 format. Required for phone-based channels (SMS, WhatsApp).
108
+ # Omit for an email-only sender.
109
+ phone_number: nil,
55
110
  set_as_default: nil,
56
111
  # Events to subscribe to.
57
112
  webhook_events: nil,
@@ -65,6 +120,10 @@ module Zavudev
65
120
  override.returns(
66
121
  {
67
122
  name: String,
123
+ email_address: String,
124
+ email_domain_id: String,
125
+ email_from_name: String,
126
+ email_receiving_enabled: T::Boolean,
68
127
  phone_number: String,
69
128
  set_as_default: T::Boolean,
70
129
  webhook_events: T::Array[Zavudev::WebhookEvent::OrSymbol],
@@ -14,6 +14,38 @@ module Zavudev
14
14
  sig { returns(String) }
15
15
  attr_accessor :sender_id
16
16
 
17
+ # Attach or change the sender's email from-address (e.g. noreply@yourdomain.com).
18
+ # The domain must be a verified email domain in your project.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :email_address
21
+
22
+ sig { params(email_address: String).void }
23
+ attr_writer :email_address
24
+
25
+ # Enable or disable domain catch-all. When enabled (with emailReceivingEnabled
26
+ # true), this sender receives email for any address at its domain. Ignored
27
+ # (treated as false) if receiving is not enabled.
28
+ sig { returns(T.nilable(T::Boolean)) }
29
+ attr_reader :email_catch_all_enabled
30
+
31
+ sig { params(email_catch_all_enabled: T::Boolean).void }
32
+ attr_writer :email_catch_all_enabled
33
+
34
+ # ID of the verified email domain to attach. Optional — resolved from
35
+ # `emailAddress`'s domain when omitted.
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :email_domain_id
38
+
39
+ sig { params(email_domain_id: String).void }
40
+ attr_writer :email_domain_id
41
+
42
+ # Display name shown in the recipient's inbox for the email channel.
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :email_from_name
45
+
46
+ sig { params(email_from_name: String).void }
47
+ attr_writer :email_from_name
48
+
17
49
  # Enable or disable inbound email receiving for this sender.
18
50
  sig { returns(T.nilable(T::Boolean)) }
19
51
  attr_reader :email_receiving_enabled
@@ -56,6 +88,10 @@ module Zavudev
56
88
  sig do
57
89
  params(
58
90
  sender_id: String,
91
+ email_address: String,
92
+ email_catch_all_enabled: T::Boolean,
93
+ email_domain_id: String,
94
+ email_from_name: String,
59
95
  email_receiving_enabled: T::Boolean,
60
96
  name: String,
61
97
  set_as_default: T::Boolean,
@@ -67,6 +103,18 @@ module Zavudev
67
103
  end
68
104
  def self.new(
69
105
  sender_id:,
106
+ # Attach or change the sender's email from-address (e.g. noreply@yourdomain.com).
107
+ # The domain must be a verified email domain in your project.
108
+ email_address: nil,
109
+ # Enable or disable domain catch-all. When enabled (with emailReceivingEnabled
110
+ # true), this sender receives email for any address at its domain. Ignored
111
+ # (treated as false) if receiving is not enabled.
112
+ email_catch_all_enabled: nil,
113
+ # ID of the verified email domain to attach. Optional — resolved from
114
+ # `emailAddress`'s domain when omitted.
115
+ email_domain_id: nil,
116
+ # Display name shown in the recipient's inbox for the email channel.
117
+ email_from_name: nil,
70
118
  # Enable or disable inbound email receiving for this sender.
71
119
  email_receiving_enabled: nil,
72
120
  name: nil,
@@ -85,6 +133,10 @@ module Zavudev
85
133
  override.returns(
86
134
  {
87
135
  sender_id: String,
136
+ email_address: String,
137
+ email_catch_all_enabled: T::Boolean,
138
+ email_domain_id: String,
139
+ email_from_name: String,
88
140
  email_receiving_enabled: T::Boolean,
89
141
  name: String,
90
142
  set_as_default: T::Boolean,
@@ -13,6 +13,10 @@ module Zavudev
13
13
  sig do
14
14
  params(
15
15
  name: String,
16
+ email_address: String,
17
+ email_domain_id: String,
18
+ email_from_name: String,
19
+ email_receiving_enabled: T::Boolean,
16
20
  phone_number: String,
17
21
  set_as_default: T::Boolean,
18
22
  webhook_events: T::Array[Zavudev::WebhookEvent::OrSymbol],
@@ -22,7 +26,21 @@ module Zavudev
22
26
  end
23
27
  def create(
24
28
  name:,
25
- phone_number:,
29
+ # From-address for the email channel (e.g. noreply@yourdomain.com). The address's
30
+ # domain must be a verified email domain in your project. Setting this attaches
31
+ # the email channel to the sender.
32
+ email_address: nil,
33
+ # ID of the verified email domain to attach. Optional — resolved from
34
+ # `emailAddress`'s domain when omitted.
35
+ email_domain_id: nil,
36
+ # Display name shown in the recipient's inbox for the email channel.
37
+ email_from_name: nil,
38
+ # Enable inbound email receiving on this sender. Requires a verified MX record on
39
+ # the domain; ignored otherwise.
40
+ email_receiving_enabled: nil,
41
+ # Phone number in E.164 format. Required for phone-based channels (SMS, WhatsApp).
42
+ # Omit for an email-only sender.
43
+ phone_number: nil,
26
44
  set_as_default: nil,
27
45
  # Events to subscribe to.
28
46
  webhook_events: nil,
@@ -46,6 +64,10 @@ module Zavudev
46
64
  sig do
47
65
  params(
48
66
  sender_id: String,
67
+ email_address: String,
68
+ email_catch_all_enabled: T::Boolean,
69
+ email_domain_id: String,
70
+ email_from_name: String,
49
71
  email_receiving_enabled: T::Boolean,
50
72
  name: String,
51
73
  set_as_default: T::Boolean,
@@ -57,6 +79,18 @@ module Zavudev
57
79
  end
58
80
  def update(
59
81
  sender_id,
82
+ # Attach or change the sender's email from-address (e.g. noreply@yourdomain.com).
83
+ # The domain must be a verified email domain in your project.
84
+ email_address: nil,
85
+ # Enable or disable domain catch-all. When enabled (with emailReceivingEnabled
86
+ # true), this sender receives email for any address at its domain. Ignored
87
+ # (treated as false) if receiving is not enabled.
88
+ email_catch_all_enabled: nil,
89
+ # ID of the verified email domain to attach. Optional — resolved from
90
+ # `emailAddress`'s domain when omitted.
91
+ email_domain_id: nil,
92
+ # Display name shown in the recipient's inbox for the email channel.
93
+ email_from_name: nil,
60
94
  # Enable or disable inbound email receiving for this sender.
61
95
  email_receiving_enabled: nil,
62
96
  name: nil,
@@ -30,16 +30,10 @@ module Zavudev
30
30
 
31
31
  attr_reader invitations: Zavudev::Resources::Invitations
32
32
 
33
- attr_reader exports: Zavudev::Resources::Exports
34
-
35
33
  attr_reader urls: Zavudev::Resources::URLs
36
34
 
37
35
  attr_reader balance: Zavudev::Resources::Balance
38
36
 
39
- attr_reader plan: Zavudev::Resources::Plan
40
-
41
- attr_reader usage: Zavudev::Resources::Usage
42
-
43
37
  attr_reader sub_accounts: Zavudev::Resources::SubAccounts
44
38
 
45
39
  attr_reader number_10dlc: Zavudev::Resources::Number10dlc
@@ -6,6 +6,8 @@ module Zavudev
6
6
  name: String,
7
7
  phone_number: String,
8
8
  created_at: Time,
9
+ email_address: String,
10
+ email_catch_all_enabled: bool,
9
11
  email_receiving_enabled: bool,
10
12
  is_default: bool,
11
13
  updated_at: Time,
@@ -24,6 +26,14 @@ module Zavudev
24
26
 
25
27
  def created_at=: (Time) -> Time
26
28
 
29
+ attr_reader email_address: String?
30
+
31
+ def email_address=: (String) -> String
32
+
33
+ attr_reader email_catch_all_enabled: bool?
34
+
35
+ def email_catch_all_enabled=: (bool) -> bool
36
+
27
37
  attr_reader email_receiving_enabled: bool?
28
38
 
29
39
  def email_receiving_enabled=: (bool) -> bool
@@ -49,6 +59,8 @@ module Zavudev
49
59
  name: String,
50
60
  phone_number: String,
51
61
  ?created_at: Time,
62
+ ?email_address: String,
63
+ ?email_catch_all_enabled: bool,
52
64
  ?email_receiving_enabled: bool,
53
65
  ?is_default: bool,
54
66
  ?updated_at: Time,
@@ -61,6 +73,8 @@ module Zavudev
61
73
  name: String,
62
74
  phone_number: String,
63
75
  created_at: Time,
76
+ email_address: String,
77
+ email_catch_all_enabled: bool,
64
78
  email_receiving_enabled: bool,
65
79
  is_default: bool,
66
80
  updated_at: Time,
@@ -3,6 +3,10 @@ module Zavudev
3
3
  type sender_create_params =
4
4
  {
5
5
  name: String,
6
+ email_address: String,
7
+ email_domain_id: String,
8
+ email_from_name: String,
9
+ email_receiving_enabled: bool,
6
10
  phone_number: String,
7
11
  set_as_default: bool,
8
12
  webhook_events: ::Array[Zavudev::Models::webhook_event],
@@ -16,7 +20,25 @@ module Zavudev
16
20
 
17
21
  attr_accessor name: String
18
22
 
19
- attr_accessor phone_number: String
23
+ attr_reader email_address: String?
24
+
25
+ def email_address=: (String) -> String
26
+
27
+ attr_reader email_domain_id: String?
28
+
29
+ def email_domain_id=: (String) -> String
30
+
31
+ attr_reader email_from_name: String?
32
+
33
+ def email_from_name=: (String) -> String
34
+
35
+ attr_reader email_receiving_enabled: bool?
36
+
37
+ def email_receiving_enabled=: (bool) -> bool
38
+
39
+ attr_reader phone_number: String?
40
+
41
+ def phone_number=: (String) -> String
20
42
 
21
43
  attr_reader set_as_default: bool?
22
44
 
@@ -34,7 +56,11 @@ module Zavudev
34
56
 
35
57
  def initialize: (
36
58
  name: String,
37
- phone_number: String,
59
+ ?email_address: String,
60
+ ?email_domain_id: String,
61
+ ?email_from_name: String,
62
+ ?email_receiving_enabled: bool,
63
+ ?phone_number: String,
38
64
  ?set_as_default: bool,
39
65
  ?webhook_events: ::Array[Zavudev::Models::webhook_event],
40
66
  ?webhook_url: String,
@@ -43,6 +69,10 @@ module Zavudev
43
69
 
44
70
  def to_hash: -> {
45
71
  name: String,
72
+ email_address: String,
73
+ email_domain_id: String,
74
+ email_from_name: String,
75
+ email_receiving_enabled: bool,
46
76
  phone_number: String,
47
77
  set_as_default: bool,
48
78
  webhook_events: ::Array[Zavudev::Models::webhook_event],
@@ -3,6 +3,10 @@ module Zavudev
3
3
  type sender_update_params =
4
4
  {
5
5
  sender_id: String,
6
+ email_address: String,
7
+ email_catch_all_enabled: bool,
8
+ email_domain_id: String,
9
+ email_from_name: String,
6
10
  email_receiving_enabled: bool,
7
11
  name: String,
8
12
  set_as_default: bool,
@@ -18,6 +22,22 @@ module Zavudev
18
22
 
19
23
  attr_accessor sender_id: String
20
24
 
25
+ attr_reader email_address: String?
26
+
27
+ def email_address=: (String) -> String
28
+
29
+ attr_reader email_catch_all_enabled: bool?
30
+
31
+ def email_catch_all_enabled=: (bool) -> bool
32
+
33
+ attr_reader email_domain_id: String?
34
+
35
+ def email_domain_id=: (String) -> String
36
+
37
+ attr_reader email_from_name: String?
38
+
39
+ def email_from_name=: (String) -> String
40
+
21
41
  attr_reader email_receiving_enabled: bool?
22
42
 
23
43
  def email_receiving_enabled=: (bool) -> bool
@@ -44,6 +64,10 @@ module Zavudev
44
64
 
45
65
  def initialize: (
46
66
  sender_id: String,
67
+ ?email_address: String,
68
+ ?email_catch_all_enabled: bool,
69
+ ?email_domain_id: String,
70
+ ?email_from_name: String,
47
71
  ?email_receiving_enabled: bool,
48
72
  ?name: String,
49
73
  ?set_as_default: bool,
@@ -55,6 +79,10 @@ module Zavudev
55
79
 
56
80
  def to_hash: -> {
57
81
  sender_id: String,
82
+ email_address: String,
83
+ email_catch_all_enabled: bool,
84
+ email_domain_id: String,
85
+ email_from_name: String,
58
86
  email_receiving_enabled: bool,
59
87
  name: String,
60
88
  set_as_default: bool,
@@ -7,7 +7,11 @@ module Zavudev
7
7
 
8
8
  def create: (
9
9
  name: String,
10
- phone_number: String,
10
+ ?email_address: String,
11
+ ?email_domain_id: String,
12
+ ?email_from_name: String,
13
+ ?email_receiving_enabled: bool,
14
+ ?phone_number: String,
11
15
  ?set_as_default: bool,
12
16
  ?webhook_events: ::Array[Zavudev::Models::webhook_event],
13
17
  ?webhook_url: String,
@@ -21,6 +25,10 @@ module Zavudev
21
25
 
22
26
  def update: (
23
27
  String sender_id,
28
+ ?email_address: String,
29
+ ?email_catch_all_enabled: bool,
30
+ ?email_domain_id: String,
31
+ ?email_from_name: String,
24
32
  ?email_receiving_enabled: bool,
25
33
  ?name: String,
26
34
  ?set_as_default: bool,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zavudev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zavudev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-07 00:00:00.000000000 Z
11
+ date: 2026-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -355,7 +355,6 @@ files:
355
355
  - lib/zavudev/resources/broadcasts/contacts.rb
356
356
  - lib/zavudev/resources/contacts.rb
357
357
  - lib/zavudev/resources/contacts/channels.rb
358
- - lib/zavudev/resources/exports.rb
359
358
  - lib/zavudev/resources/functions.rb
360
359
  - lib/zavudev/resources/functions/secrets.rb
361
360
  - lib/zavudev/resources/introspect.rb
@@ -367,7 +366,6 @@ files:
367
366
  - lib/zavudev/resources/number_10dlc/campaigns.rb
368
367
  - lib/zavudev/resources/number_10dlc/campaigns/phone_numbers.rb
369
368
  - lib/zavudev/resources/phone_numbers.rb
370
- - lib/zavudev/resources/plan.rb
371
369
  - lib/zavudev/resources/regulatory_documents.rb
372
370
  - lib/zavudev/resources/senders.rb
373
371
  - lib/zavudev/resources/senders/agent.rb
@@ -381,7 +379,6 @@ files:
381
379
  - lib/zavudev/resources/sub_accounts/api_keys.rb
382
380
  - lib/zavudev/resources/templates.rb
383
381
  - lib/zavudev/resources/urls.rb
384
- - lib/zavudev/resources/usage.rb
385
382
  - lib/zavudev/version.rb
386
383
  - manifest.yaml
387
384
  - rbi/zavudev/client.rbi
@@ -689,7 +686,6 @@ files:
689
686
  - rbi/zavudev/resources/broadcasts/contacts.rbi
690
687
  - rbi/zavudev/resources/contacts.rbi
691
688
  - rbi/zavudev/resources/contacts/channels.rbi
692
- - rbi/zavudev/resources/exports.rbi
693
689
  - rbi/zavudev/resources/functions.rbi
694
690
  - rbi/zavudev/resources/functions/secrets.rbi
695
691
  - rbi/zavudev/resources/introspect.rbi
@@ -701,7 +697,6 @@ files:
701
697
  - rbi/zavudev/resources/number_10dlc/campaigns.rbi
702
698
  - rbi/zavudev/resources/number_10dlc/campaigns/phone_numbers.rbi
703
699
  - rbi/zavudev/resources/phone_numbers.rbi
704
- - rbi/zavudev/resources/plan.rbi
705
700
  - rbi/zavudev/resources/regulatory_documents.rbi
706
701
  - rbi/zavudev/resources/senders.rbi
707
702
  - rbi/zavudev/resources/senders/agent.rbi
@@ -715,7 +710,6 @@ files:
715
710
  - rbi/zavudev/resources/sub_accounts/api_keys.rbi
716
711
  - rbi/zavudev/resources/templates.rbi
717
712
  - rbi/zavudev/resources/urls.rbi
718
- - rbi/zavudev/resources/usage.rbi
719
713
  - rbi/zavudev/version.rbi
720
714
  - sig/zavudev/client.rbs
721
715
  - sig/zavudev/errors.rbs
@@ -1022,7 +1016,6 @@ files:
1022
1016
  - sig/zavudev/resources/broadcasts/contacts.rbs
1023
1017
  - sig/zavudev/resources/contacts.rbs
1024
1018
  - sig/zavudev/resources/contacts/channels.rbs
1025
- - sig/zavudev/resources/exports.rbs
1026
1019
  - sig/zavudev/resources/functions.rbs
1027
1020
  - sig/zavudev/resources/functions/secrets.rbs
1028
1021
  - sig/zavudev/resources/introspect.rbs
@@ -1034,7 +1027,6 @@ files:
1034
1027
  - sig/zavudev/resources/number_10dlc/campaigns.rbs
1035
1028
  - sig/zavudev/resources/number_10dlc/campaigns/phone_numbers.rbs
1036
1029
  - sig/zavudev/resources/phone_numbers.rbs
1037
- - sig/zavudev/resources/plan.rbs
1038
1030
  - sig/zavudev/resources/regulatory_documents.rbs
1039
1031
  - sig/zavudev/resources/senders.rbs
1040
1032
  - sig/zavudev/resources/senders/agent.rbs
@@ -1048,7 +1040,6 @@ files:
1048
1040
  - sig/zavudev/resources/sub_accounts/api_keys.rbs
1049
1041
  - sig/zavudev/resources/templates.rbs
1050
1042
  - sig/zavudev/resources/urls.rbs
1051
- - sig/zavudev/resources/usage.rbs
1052
1043
  - sig/zavudev/version.rbs
1053
1044
  homepage: https://gemdocs.org/gems/zavudev
1054
1045
  licenses: []
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zavudev
4
- module Resources
5
- class Exports
6
- # @api private
7
- #
8
- # @param client [Zavudev::Client]
9
- def initialize(client:)
10
- @client = client
11
- end
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zavudev
4
- module Resources
5
- class Plan
6
- # @api private
7
- #
8
- # @param client [Zavudev::Client]
9
- def initialize(client:)
10
- @client = client
11
- end
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zavudev
4
- module Resources
5
- class Usage
6
- # @api private
7
- #
8
- # @param client [Zavudev::Client]
9
- def initialize(client:)
10
- @client = client
11
- end
12
- end
13
- end
14
- end
@@ -1,12 +0,0 @@
1
- # typed: strong
2
-
3
- module Zavudev
4
- module Resources
5
- class Exports
6
- # @api private
7
- sig { params(client: Zavudev::Client).returns(T.attached_class) }
8
- def self.new(client:)
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # typed: strong
2
-
3
- module Zavudev
4
- module Resources
5
- class Plan
6
- # @api private
7
- sig { params(client: Zavudev::Client).returns(T.attached_class) }
8
- def self.new(client:)
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # typed: strong
2
-
3
- module Zavudev
4
- module Resources
5
- class Usage
6
- # @api private
7
- sig { params(client: Zavudev::Client).returns(T.attached_class) }
8
- def self.new(client:)
9
- end
10
- end
11
- end
12
- end
@@ -1,7 +0,0 @@
1
- module Zavudev
2
- module Resources
3
- class Exports
4
- def initialize: (client: Zavudev::Client) -> void
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Zavudev
2
- module Resources
3
- class Plan
4
- def initialize: (client: Zavudev::Client) -> void
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Zavudev
2
- module Resources
3
- class Usage
4
- def initialize: (client: Zavudev::Client) -> void
5
- end
6
- end
7
- end