zavudev 0.15.0 → 0.16.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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +7 -7
  4. data/lib/zavudev/models/broadcast_channel.rb +0 -3
  5. data/lib/zavudev/models/channel.rb +5 -1
  6. data/lib/zavudev/models/contact_channel.rb +1 -0
  7. data/lib/zavudev/models/contact_create_params.rb +1 -0
  8. data/lib/zavudev/models/contacts/channel_add_params.rb +1 -0
  9. data/lib/zavudev/models/message.rb +12 -8
  10. data/lib/zavudev/models/message_list_params.rb +40 -7
  11. data/lib/zavudev/models/phone_number_type.rb +1 -1
  12. data/lib/zavudev/models/url_list_verified_params.rb +1 -0
  13. data/lib/zavudev/models/verified_url.rb +1 -0
  14. data/lib/zavudev/models.rb +0 -12
  15. data/lib/zavudev/resources/exports.rb +0 -75
  16. data/lib/zavudev/resources/messages.rb +2 -2
  17. data/lib/zavudev/resources/plan.rb +0 -19
  18. data/lib/zavudev/resources/usage.rb +0 -19
  19. data/lib/zavudev/version.rb +1 -1
  20. data/lib/zavudev.rb +0 -10
  21. data/rbi/zavudev/models/broadcast_channel.rbi +0 -3
  22. data/rbi/zavudev/models/channel.rbi +5 -1
  23. data/rbi/zavudev/models/contact_channel.rbi +2 -0
  24. data/rbi/zavudev/models/contact_create_params.rbi +5 -0
  25. data/rbi/zavudev/models/contacts/channel_add_params.rbi +5 -0
  26. data/rbi/zavudev/models/message.rbi +16 -8
  27. data/rbi/zavudev/models/message_list_params.rbi +74 -10
  28. data/rbi/zavudev/models/phone_number_type.rbi +1 -1
  29. data/rbi/zavudev/models/url_list_verified_params.rbi +5 -0
  30. data/rbi/zavudev/models/verified_url.rbi +2 -0
  31. data/rbi/zavudev/models.rbi +0 -12
  32. data/rbi/zavudev/resources/exports.rbi +0 -50
  33. data/rbi/zavudev/resources/messages.rbi +4 -3
  34. data/rbi/zavudev/resources/plan.rbi +0 -10
  35. data/rbi/zavudev/resources/usage.rbi +0 -10
  36. data/sig/zavudev/models/broadcast_channel.rbs +1 -12
  37. data/sig/zavudev/models/channel.rbs +2 -0
  38. data/sig/zavudev/models/contact_channel.rbs +3 -1
  39. data/sig/zavudev/models/contact_create_params.rbs +8 -1
  40. data/sig/zavudev/models/contacts/channel_add_params.rbs +8 -1
  41. data/sig/zavudev/models/message_list_params.rbs +54 -11
  42. data/sig/zavudev/models/phone_number_type.rbs +2 -2
  43. data/sig/zavudev/models/url_list_verified_params.rbs +2 -1
  44. data/sig/zavudev/models/verified_url.rbs +2 -1
  45. data/sig/zavudev/models.rbs +0 -12
  46. data/sig/zavudev/resources/exports.rbs +0 -19
  47. data/sig/zavudev/resources/messages.rbs +2 -2
  48. data/sig/zavudev/resources/plan.rbs +0 -4
  49. data/sig/zavudev/resources/usage.rbs +0 -4
  50. metadata +2 -32
  51. data/lib/zavudev/models/data_export.rb +0 -122
  52. data/lib/zavudev/models/export_create_params.rb +0 -54
  53. data/lib/zavudev/models/export_create_response.rb +0 -16
  54. data/lib/zavudev/models/export_list_params.rb +0 -49
  55. data/lib/zavudev/models/export_retrieve_params.rb +0 -20
  56. data/lib/zavudev/models/export_retrieve_response.rb +0 -16
  57. data/lib/zavudev/models/plan_retrieve_params.rb +0 -14
  58. data/lib/zavudev/models/plan_retrieve_response.rb +0 -155
  59. data/lib/zavudev/models/usage_retrieve_params.rb +0 -14
  60. data/lib/zavudev/models/usage_retrieve_response.rb +0 -77
  61. data/rbi/zavudev/models/data_export.rbi +0 -151
  62. data/rbi/zavudev/models/export_create_params.rbi +0 -106
  63. data/rbi/zavudev/models/export_create_response.rbi +0 -31
  64. data/rbi/zavudev/models/export_list_params.rbi +0 -89
  65. data/rbi/zavudev/models/export_retrieve_params.rbi +0 -35
  66. data/rbi/zavudev/models/export_retrieve_response.rbi +0 -31
  67. data/rbi/zavudev/models/plan_retrieve_params.rbi +0 -27
  68. data/rbi/zavudev/models/plan_retrieve_response.rbi +0 -306
  69. data/rbi/zavudev/models/usage_retrieve_params.rbi +0 -27
  70. data/rbi/zavudev/models/usage_retrieve_response.rbi +0 -150
  71. data/sig/zavudev/models/data_export.rbs +0 -102
  72. data/sig/zavudev/models/export_create_params.rbs +0 -59
  73. data/sig/zavudev/models/export_create_response.rbs +0 -13
  74. data/sig/zavudev/models/export_list_params.rbs +0 -57
  75. data/sig/zavudev/models/export_retrieve_params.rbs +0 -23
  76. data/sig/zavudev/models/export_retrieve_response.rbs +0 -13
  77. data/sig/zavudev/models/plan_retrieve_params.rbs +0 -15
  78. data/sig/zavudev/models/plan_retrieve_response.rbs +0 -158
  79. data/sig/zavudev/models/usage_retrieve_params.rbs +0 -15
  80. data/sig/zavudev/models/usage_retrieve_response.rbs +0 -69
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c47655af05e478984221142dbae0a305261b0e154bda36ba6d11370540f4b159
4
- data.tar.gz: 61f9fb898a158c74137d0222bea09e68257115df2d451cf2b9d152bc76348000
3
+ metadata.gz: 8dd10ff9ca84c30d11bb953aa432150b013477e826ce1f23c0e03f751e97bb8f
4
+ data.tar.gz: e36f8e76c1c90c54b66c061b9e9ca3320566955505dd361e160b1f98e1cf3a74
5
5
  SHA512:
6
- metadata.gz: 037ef7d5bd90239e10bf70596a6bf95041d0b80ca05f3086281e97e117464559ca1607cab6a6a315b541dcfeae46371c3adec06aff60dd4fc835e8d0715ee17d
7
- data.tar.gz: 9a81cc375e69f7280ce8e49677582bf3d1cb1d227bf05f37c87ef697d8446af7b1b3ed61571cbc8a8973c128263a95850519ad2bbb3d33d2195515cbba8ba70e
6
+ metadata.gz: cca22267fd9aea296726f3be4e762a41a8e5c5ef3de9e20b6d39cf991d3392acf965913190928bd3dedd2bb21a23d2569ca98eb5a625b752c76c58a9da5f99e3
7
+ data.tar.gz: 62472e6e4ae3c6b4223f48ad80ad5b8444d0754d0740911a67b48b60137dbdbccec54279710966a3bc35fdb7fa176049c72ca5654f0252805b4fb235cb330d99
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.16.0 (2026-07-07)
4
+
5
+ Full Changelog: [v0.15.0...v0.16.0](https://github.com/zavudev/sdk-ruby/compare/v0.15.0...v0.16.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([cd49564](https://github.com/zavudev/sdk-ruby/commit/cd49564f9c54a8aef2de33ad0b484cc6bd6c7ae3))
10
+ * **api:** api update ([676212b](https://github.com/zavudev/sdk-ruby/commit/676212b365d2860826b55a8106ea129faaa533ed))
11
+
3
12
  ## 0.15.0 (2026-07-05)
4
13
 
5
14
  Full Changelog: [v0.14.0...v0.15.0](https://github.com/zavudev/sdk-ruby/compare/v0.14.0...v0.15.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.15.0"
29
+ gem "zavudev", "~> 0.16.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -235,11 +235,11 @@ zavudev.messages.send_(**params)
235
235
  Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
236
236
 
237
237
  ```ruby
238
- # :auto
239
- puts(Zavudev::Channel::AUTO)
238
+ # :sms
239
+ puts(Zavudev::MessageListParams::Channel::SMS)
240
240
 
241
- # Revealed type: `T.all(Zavudev::Channel, Symbol)`
242
- T.reveal_type(Zavudev::Channel::AUTO)
241
+ # Revealed type: `T.all(Zavudev::MessageListParams::Channel, Symbol)`
242
+ T.reveal_type(Zavudev::MessageListParams::Channel::SMS)
243
243
  ```
244
244
 
245
245
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
@@ -247,13 +247,13 @@ Enum parameters have a "relaxed" type, so you can either pass in enum constants
247
247
  ```ruby
248
248
  # Using the enum constants preserves the tagged type information:
249
249
  zavudev.messages.list(
250
- channel: Zavudev::Channel::AUTO,
250
+ channel: Zavudev::MessageListParams::Channel::SMS,
251
251
  # …
252
252
  )
253
253
 
254
254
  # Literal values are also permissible:
255
255
  zavudev.messages.list(
256
- channel: :auto,
256
+ channel: :sms,
257
257
  # …
258
258
  )
259
259
  ```
@@ -12,9 +12,6 @@ module Zavudev
12
12
  WHATSAPP = :whatsapp
13
13
  TELEGRAM = :telegram
14
14
  EMAIL = :email
15
- INSTAGRAM = :instagram
16
- MESSENGER = :messenger
17
- VOICE = :voice
18
15
 
19
16
  # @!method self.values
20
17
  # @return [Array<Symbol>]
@@ -2,7 +2,10 @@
2
2
 
3
3
  module Zavudev
4
4
  module Models
5
- # Delivery channel. Use 'auto' for intelligent routing.
5
+ # Delivery channel. Use 'auto' for intelligent routing. `whatsapp_alt` is the
6
+ # QR-linked WhatsApp channel and is only accepted for teams with the WhatsApp
7
+ # Alternative feature enabled; the sender must have a connected whatsapp_alt
8
+ # session.
6
9
  module Channel
7
10
  extend Zavudev::Internal::Type::Enum
8
11
 
@@ -10,6 +13,7 @@ module Zavudev
10
13
  SMS = :sms
11
14
  SMS_ONEWAY = :sms_oneway
12
15
  WHATSAPP = :whatsapp
16
+ WHATSAPP_ALT = :whatsapp_alt
13
17
  TELEGRAM = :telegram
14
18
  EMAIL = :email
15
19
  INSTAGRAM = :instagram
@@ -108,6 +108,7 @@ module Zavudev
108
108
  WHATSAPP = :whatsapp
109
109
  EMAIL = :email
110
110
  TELEGRAM = :telegram
111
+ INSTAGRAM = :instagram
111
112
  MESSENGER = :messenger
112
113
  VOICE = :voice
113
114
 
@@ -88,6 +88,7 @@ module Zavudev
88
88
  WHATSAPP = :whatsapp
89
89
  EMAIL = :email
90
90
  TELEGRAM = :telegram
91
+ INSTAGRAM = :instagram
91
92
  MESSENGER = :messenger
92
93
  VOICE = :voice
93
94
 
@@ -66,6 +66,7 @@ module Zavudev
66
66
  WHATSAPP = :whatsapp
67
67
  EMAIL = :email
68
68
  TELEGRAM = :telegram
69
+ INSTAGRAM = :instagram
69
70
  MESSENGER = :messenger
70
71
  VOICE = :voice
71
72
 
@@ -10,7 +10,10 @@ module Zavudev
10
10
  required :id, String
11
11
 
12
12
  # @!attribute channel
13
- # Delivery channel. Use 'auto' for intelligent routing.
13
+ # Delivery channel. Use 'auto' for intelligent routing. `whatsapp_alt` is the
14
+ # QR-linked WhatsApp channel and is only accepted for teams with the WhatsApp
15
+ # Alternative feature enabled; the sender must have a connected whatsapp_alt
16
+ # session.
14
17
  #
15
18
  # @return [Symbol, Zavudev::Models::Channel]
16
19
  required :channel, enum: -> { Zavudev::Channel }
@@ -44,19 +47,20 @@ module Zavudev
44
47
  optional :content, -> { Zavudev::MessageContent }
45
48
 
46
49
  # @!attribute cost
47
- # MAU cost in USD (charged for first contact of the month).
50
+ # Zavu platform charge in USD for this message. Messaging is billed against your
51
+ # plan's monthly limits plus usage-based overage.
48
52
  #
49
53
  # @return [Float, nil]
50
54
  optional :cost, Float, nil?: true
51
55
 
52
56
  # @!attribute cost_provider
53
- # Provider cost in USD (Telnyx, SES, etc.).
57
+ # Carrier and delivery cost in USD.
54
58
  #
55
59
  # @return [Float, nil]
56
60
  optional :cost_provider, Float, api_name: :costProvider, nil?: true
57
61
 
58
62
  # @!attribute cost_total
59
- # Total cost in USD (MAU + provider cost).
63
+ # Total cost in USD (platform charge + delivery cost).
60
64
  #
61
65
  # @return [Float, nil]
62
66
  optional :cost_total, Float, api_name: :costTotal, nil?: true
@@ -109,7 +113,7 @@ module Zavudev
109
113
  #
110
114
  # @param id [String]
111
115
  #
112
- # @param channel [Symbol, Zavudev::Models::Channel] Delivery channel. Use 'auto' for intelligent routing.
116
+ # @param channel [Symbol, Zavudev::Models::Channel] Delivery channel. Use 'auto' for intelligent routing. `whatsapp_alt` is the QR-l
113
117
  #
114
118
  # @param created_at [Time]
115
119
  #
@@ -121,11 +125,11 @@ module Zavudev
121
125
  #
122
126
  # @param content [Zavudev::Models::MessageContent] Content for non-text message types (WhatsApp and Telegram).
123
127
  #
124
- # @param cost [Float, nil] MAU cost in USD (charged for first contact of the month).
128
+ # @param cost [Float, nil] Zavu platform charge in USD for this message. Messaging is billed against your p
125
129
  #
126
- # @param cost_provider [Float, nil] Provider cost in USD (Telnyx, SES, etc.).
130
+ # @param cost_provider [Float, nil] Carrier and delivery cost in USD.
127
131
  #
128
- # @param cost_total [Float, nil] Total cost in USD (MAU + provider cost).
132
+ # @param cost_total [Float, nil] Total cost in USD (platform charge + delivery cost).
129
133
  #
130
134
  # @param error_code [String, nil]
131
135
  #
@@ -8,10 +8,10 @@ module Zavudev
8
8
  include Zavudev::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute channel
11
- # Delivery channel. Use 'auto' for intelligent routing.
11
+ # Filter by delivery channel.
12
12
  #
13
- # @return [Symbol, Zavudev::Models::Channel, nil]
14
- optional :channel, enum: -> { Zavudev::Channel }
13
+ # @return [Symbol, Zavudev::Models::MessageListParams::Channel, nil]
14
+ optional :channel, enum: -> { Zavudev::MessageListParams::Channel }
15
15
 
16
16
  # @!attribute cursor
17
17
  #
@@ -24,9 +24,10 @@ module Zavudev
24
24
  optional :limit, Integer
25
25
 
26
26
  # @!attribute status
27
+ # Filter by status. Not all stored statuses are filterable.
27
28
  #
28
- # @return [Symbol, Zavudev::Models::MessageStatus, nil]
29
- optional :status, enum: -> { Zavudev::MessageStatus }
29
+ # @return [Symbol, Zavudev::Models::MessageListParams::Status, nil]
30
+ optional :status, enum: -> { Zavudev::MessageListParams::Status }
30
31
 
31
32
  # @!attribute to
32
33
  #
@@ -34,17 +35,49 @@ module Zavudev
34
35
  optional :to, String
35
36
 
36
37
  # @!method initialize(channel: nil, cursor: nil, limit: nil, status: nil, to: nil, request_options: {})
37
- # @param channel [Symbol, Zavudev::Models::Channel] Delivery channel. Use 'auto' for intelligent routing.
38
+ # @param channel [Symbol, Zavudev::Models::MessageListParams::Channel] Filter by delivery channel.
38
39
  #
39
40
  # @param cursor [String]
40
41
  #
41
42
  # @param limit [Integer]
42
43
  #
43
- # @param status [Symbol, Zavudev::Models::MessageStatus]
44
+ # @param status [Symbol, Zavudev::Models::MessageListParams::Status] Filter by status. Not all stored statuses are filterable.
44
45
  #
45
46
  # @param to [String]
46
47
  #
47
48
  # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
49
+
50
+ # Filter by delivery channel.
51
+ module Channel
52
+ extend Zavudev::Internal::Type::Enum
53
+
54
+ SMS = :sms
55
+ SMS_ONEWAY = :sms_oneway
56
+ WHATSAPP = :whatsapp
57
+ EMAIL = :email
58
+ TELEGRAM = :telegram
59
+ INSTAGRAM = :instagram
60
+ MESSENGER = :messenger
61
+ VOICE = :voice
62
+
63
+ # @!method self.values
64
+ # @return [Array<Symbol>]
65
+ end
66
+
67
+ # Filter by status. Not all stored statuses are filterable.
68
+ module Status
69
+ extend Zavudev::Internal::Type::Enum
70
+
71
+ QUEUED = :queued
72
+ SENDING = :sending
73
+ SENT = :sent
74
+ DELIVERED = :delivered
75
+ FAILED = :failed
76
+ RECEIVED = :received
77
+
78
+ # @!method self.values
79
+ # @return [Array<Symbol>]
80
+ end
48
81
  end
49
82
  end
50
83
  end
@@ -6,7 +6,7 @@ module Zavudev
6
6
  extend Zavudev::Internal::Type::Enum
7
7
 
8
8
  LOCAL = :local
9
- MOBILE = :mobile
9
+ NATIONAL = :national
10
10
  TOLL_FREE = :tollFree
11
11
 
12
12
  # @!method self.values
@@ -39,6 +39,7 @@ module Zavudev
39
39
  PENDING = :pending
40
40
  APPROVED = :approved
41
41
  REJECTED = :rejected
42
+ ESCALATED = :escalated
42
43
  MALICIOUS = :malicious
43
44
 
44
45
  # @!method self.values
@@ -67,6 +67,7 @@ module Zavudev
67
67
  PENDING = :pending
68
68
  APPROVED = :approved
69
69
  REJECTED = :rejected
70
+ ESCALATED = :escalated
70
71
  MALICIOUS = :malicious
71
72
 
72
73
  # @!method self.values
@@ -119,14 +119,6 @@ module Zavudev
119
119
 
120
120
  ContactUpdateParams = Zavudev::Models::ContactUpdateParams
121
121
 
122
- DataExport = Zavudev::Models::DataExport
123
-
124
- ExportCreateParams = Zavudev::Models::ExportCreateParams
125
-
126
- ExportListParams = Zavudev::Models::ExportListParams
127
-
128
- ExportRetrieveParams = Zavudev::Models::ExportRetrieveParams
129
-
130
122
  FunctionCreateParams = Zavudev::Models::FunctionCreateParams
131
123
 
132
124
  FunctionDeleteParams = Zavudev::Models::FunctionDeleteParams
@@ -207,8 +199,6 @@ module Zavudev
207
199
 
208
200
  PhoneNumberUpdateParams = Zavudev::Models::PhoneNumberUpdateParams
209
201
 
210
- PlanRetrieveParams = Zavudev::Models::PlanRetrieveParams
211
-
212
202
  RegulatoryDocument = Zavudev::Models::RegulatoryDocument
213
203
 
214
204
  RegulatoryDocumentCreateParams = Zavudev::Models::RegulatoryDocumentCreateParams
@@ -287,8 +277,6 @@ module Zavudev
287
277
 
288
278
  URLSubmitForVerificationParams = Zavudev::Models::URLSubmitForVerificationParams
289
279
 
290
- UsageRetrieveParams = Zavudev::Models::UsageRetrieveParams
291
-
292
280
  VerifiedURL = Zavudev::Models::VerifiedURL
293
281
 
294
282
  WebhookEvent = Zavudev::Models::WebhookEvent
@@ -3,81 +3,6 @@
3
3
  module Zavudev
4
4
  module Resources
5
5
  class Exports
6
- # Create a new data export job. The export will be processed asynchronously and
7
- # the download URL will be available when status is 'completed'. Export links
8
- # expire after 24 hours.
9
- #
10
- # @overload create(data_types:, date_from: nil, date_to: nil, request_options: {})
11
- #
12
- # @param data_types [Array<Symbol, Zavudev::Models::ExportCreateParams::DataType>] List of data types to include in the export.
13
- #
14
- # @param date_from [Time] Start date for data to export (inclusive).
15
- #
16
- # @param date_to [Time] End date for data to export (inclusive).
17
- #
18
- # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
19
- #
20
- # @return [Zavudev::Models::ExportCreateResponse]
21
- #
22
- # @see Zavudev::Models::ExportCreateParams
23
- def create(params)
24
- parsed, options = Zavudev::ExportCreateParams.dump_request(params)
25
- @client.request(
26
- method: :post,
27
- path: "v1/exports",
28
- body: parsed,
29
- model: Zavudev::Models::ExportCreateResponse,
30
- options: options
31
- )
32
- end
33
-
34
- # Get details of a specific data export, including download URL when completed.
35
- #
36
- # @overload retrieve(export_id, request_options: {})
37
- #
38
- # @param export_id [String]
39
- # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
40
- #
41
- # @return [Zavudev::Models::ExportRetrieveResponse]
42
- #
43
- # @see Zavudev::Models::ExportRetrieveParams
44
- def retrieve(export_id, params = {})
45
- @client.request(
46
- method: :get,
47
- path: ["v1/exports/%1$s", export_id],
48
- model: Zavudev::Models::ExportRetrieveResponse,
49
- options: params[:request_options]
50
- )
51
- end
52
-
53
- # List data exports for this project.
54
- #
55
- # @overload list(cursor: nil, limit: nil, status: nil, request_options: {})
56
- #
57
- # @param cursor [String]
58
- #
59
- # @param limit [Integer]
60
- #
61
- # @param status [Symbol, Zavudev::Models::ExportListParams::Status] Status of a data export job.
62
- #
63
- # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
64
- #
65
- # @return [Zavudev::Internal::Cursor<Zavudev::Models::DataExport>]
66
- #
67
- # @see Zavudev::Models::ExportListParams
68
- def list(params = {})
69
- parsed, options = Zavudev::ExportListParams.dump_request(params)
70
- query = Zavudev::Internal::Util.encode_query_params(parsed)
71
- @client.request(
72
- method: :get,
73
- path: "v1/exports",
74
- query: query,
75
- page: Zavudev::Internal::Cursor,
76
- model: Zavudev::DataExport,
77
- options: options
78
- )
79
- end
80
-
81
6
  # @api private
82
7
  #
83
8
  # @param client [Zavudev::Client]
@@ -26,13 +26,13 @@ module Zavudev
26
26
  #
27
27
  # @overload list(channel: nil, cursor: nil, limit: nil, status: nil, to: nil, request_options: {})
28
28
  #
29
- # @param channel [Symbol, Zavudev::Models::Channel] Delivery channel. Use 'auto' for intelligent routing.
29
+ # @param channel [Symbol, Zavudev::Models::MessageListParams::Channel] Filter by delivery channel.
30
30
  #
31
31
  # @param cursor [String]
32
32
  #
33
33
  # @param limit [Integer]
34
34
  #
35
- # @param status [Symbol, Zavudev::Models::MessageStatus]
35
+ # @param status [Symbol, Zavudev::Models::MessageListParams::Status] Filter by status. Not all stored statuses are filterable.
36
36
  #
37
37
  # @param to [String]
38
38
  #
@@ -3,25 +3,6 @@
3
3
  module Zavudev
4
4
  module Resources
5
5
  class Plan
6
- # Get the current subscription plan for the API key's team, including tier,
7
- # billing interval, and period dates.
8
- #
9
- # @overload retrieve(request_options: {})
10
- #
11
- # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
12
- #
13
- # @return [Zavudev::Models::PlanRetrieveResponse]
14
- #
15
- # @see Zavudev::Models::PlanRetrieveParams
16
- def retrieve(params = {})
17
- @client.request(
18
- method: :get,
19
- path: "v1/plan",
20
- model: Zavudev::Models::PlanRetrieveResponse,
21
- options: params[:request_options]
22
- )
23
- end
24
-
25
6
  # @api private
26
7
  #
27
8
  # @param client [Zavudev::Client]
@@ -3,25 +3,6 @@
3
3
  module Zavudev
4
4
  module Resources
5
5
  class Usage
6
- # Get the current month's usage counters for A2P messages and emails, along with
7
- # the tier limits.
8
- #
9
- # @overload retrieve(request_options: {})
10
- #
11
- # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
12
- #
13
- # @return [Zavudev::Models::UsageRetrieveResponse]
14
- #
15
- # @see Zavudev::Models::UsageRetrieveParams
16
- def retrieve(params = {})
17
- @client.request(
18
- method: :get,
19
- path: "v1/usage",
20
- model: Zavudev::Models::UsageRetrieveResponse,
21
- options: params[:request_options]
22
- )
23
- end
24
-
25
6
  # @api private
26
7
  #
27
8
  # @param client [Zavudev::Client]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zavudev
4
- VERSION = "0.15.0"
4
+ VERSION = "0.16.0"
5
5
  end
data/lib/zavudev.rb CHANGED
@@ -113,12 +113,6 @@ require_relative "zavudev/models/contacts/channel_set_primary_response"
113
113
  require_relative "zavudev/models/contacts/channel_update_params"
114
114
  require_relative "zavudev/models/contacts/channel_update_response"
115
115
  require_relative "zavudev/models/contact_update_params"
116
- require_relative "zavudev/models/data_export"
117
- require_relative "zavudev/models/export_create_params"
118
- require_relative "zavudev/models/export_create_response"
119
- require_relative "zavudev/models/export_list_params"
120
- require_relative "zavudev/models/export_retrieve_params"
121
- require_relative "zavudev/models/export_retrieve_response"
122
116
  require_relative "zavudev/models/function_create_params"
123
117
  require_relative "zavudev/models/function_create_response"
124
118
  require_relative "zavudev/models/function_delete_params"
@@ -214,8 +208,6 @@ require_relative "zavudev/models/phone_number_status"
214
208
  require_relative "zavudev/models/phone_number_type"
215
209
  require_relative "zavudev/models/phone_number_update_params"
216
210
  require_relative "zavudev/models/phone_number_update_response"
217
- require_relative "zavudev/models/plan_retrieve_params"
218
- require_relative "zavudev/models/plan_retrieve_response"
219
211
  require_relative "zavudev/models/regulatory_document"
220
212
  require_relative "zavudev/models/regulatory_document_create_params"
221
213
  require_relative "zavudev/models/regulatory_document_create_response"
@@ -332,8 +324,6 @@ require_relative "zavudev/models/url_retrieve_details_params"
332
324
  require_relative "zavudev/models/url_retrieve_details_response"
333
325
  require_relative "zavudev/models/url_submit_for_verification_params"
334
326
  require_relative "zavudev/models/url_submit_for_verification_response"
335
- require_relative "zavudev/models/usage_retrieve_params"
336
- require_relative "zavudev/models/usage_retrieve_response"
337
327
  require_relative "zavudev/models/verified_url"
338
328
  require_relative "zavudev/models/webhook_event"
339
329
  require_relative "zavudev/models/webhook_secret_response"
@@ -15,9 +15,6 @@ module Zavudev
15
15
  WHATSAPP = T.let(:whatsapp, Zavudev::BroadcastChannel::TaggedSymbol)
16
16
  TELEGRAM = T.let(:telegram, Zavudev::BroadcastChannel::TaggedSymbol)
17
17
  EMAIL = T.let(:email, Zavudev::BroadcastChannel::TaggedSymbol)
18
- INSTAGRAM = T.let(:instagram, Zavudev::BroadcastChannel::TaggedSymbol)
19
- MESSENGER = T.let(:messenger, Zavudev::BroadcastChannel::TaggedSymbol)
20
- VOICE = T.let(:voice, Zavudev::BroadcastChannel::TaggedSymbol)
21
18
 
22
19
  sig do
23
20
  override.returns(T::Array[Zavudev::BroadcastChannel::TaggedSymbol])
@@ -2,7 +2,10 @@
2
2
 
3
3
  module Zavudev
4
4
  module Models
5
- # Delivery channel. Use 'auto' for intelligent routing.
5
+ # Delivery channel. Use 'auto' for intelligent routing. `whatsapp_alt` is the
6
+ # QR-linked WhatsApp channel and is only accepted for teams with the WhatsApp
7
+ # Alternative feature enabled; the sender must have a connected whatsapp_alt
8
+ # session.
6
9
  module Channel
7
10
  extend Zavudev::Internal::Type::Enum
8
11
 
@@ -13,6 +16,7 @@ module Zavudev
13
16
  SMS = T.let(:sms, Zavudev::Channel::TaggedSymbol)
14
17
  SMS_ONEWAY = T.let(:sms_oneway, Zavudev::Channel::TaggedSymbol)
15
18
  WHATSAPP = T.let(:whatsapp, Zavudev::Channel::TaggedSymbol)
19
+ WHATSAPP_ALT = T.let(:whatsapp_alt, Zavudev::Channel::TaggedSymbol)
16
20
  TELEGRAM = T.let(:telegram, Zavudev::Channel::TaggedSymbol)
17
21
  EMAIL = T.let(:email, Zavudev::Channel::TaggedSymbol)
18
22
  INSTAGRAM = T.let(:instagram, Zavudev::Channel::TaggedSymbol)
@@ -146,6 +146,8 @@ module Zavudev
146
146
  EMAIL = T.let(:email, Zavudev::ContactChannel::Channel::TaggedSymbol)
147
147
  TELEGRAM =
148
148
  T.let(:telegram, Zavudev::ContactChannel::Channel::TaggedSymbol)
149
+ INSTAGRAM =
150
+ T.let(:instagram, Zavudev::ContactChannel::Channel::TaggedSymbol)
149
151
  MESSENGER =
150
152
  T.let(:messenger, Zavudev::ContactChannel::Channel::TaggedSymbol)
151
153
  VOICE = T.let(:voice, Zavudev::ContactChannel::Channel::TaggedSymbol)
@@ -169,6 +169,11 @@ module Zavudev
169
169
  :telegram,
170
170
  Zavudev::ContactCreateParams::Channel::Channel::TaggedSymbol
171
171
  )
172
+ INSTAGRAM =
173
+ T.let(
174
+ :instagram,
175
+ Zavudev::ContactCreateParams::Channel::Channel::TaggedSymbol
176
+ )
172
177
  MESSENGER =
173
178
  T.let(
174
179
  :messenger,
@@ -120,6 +120,11 @@ module Zavudev
120
120
  :telegram,
121
121
  Zavudev::Contacts::ChannelAddParams::Channel::TaggedSymbol
122
122
  )
123
+ INSTAGRAM =
124
+ T.let(
125
+ :instagram,
126
+ Zavudev::Contacts::ChannelAddParams::Channel::TaggedSymbol
127
+ )
123
128
  MESSENGER =
124
129
  T.let(
125
130
  :messenger,
@@ -9,7 +9,10 @@ module Zavudev
9
9
  sig { returns(String) }
10
10
  attr_accessor :id
11
11
 
12
- # Delivery channel. Use 'auto' for intelligent routing.
12
+ # Delivery channel. Use 'auto' for intelligent routing. `whatsapp_alt` is the
13
+ # QR-linked WhatsApp channel and is only accepted for teams with the WhatsApp
14
+ # Alternative feature enabled; the sender must have a connected whatsapp_alt
15
+ # session.
13
16
  sig { returns(Zavudev::Channel::TaggedSymbol) }
14
17
  attr_accessor :channel
15
18
 
@@ -34,15 +37,16 @@ module Zavudev
34
37
  sig { params(content: Zavudev::MessageContent::OrHash).void }
35
38
  attr_writer :content
36
39
 
37
- # MAU cost in USD (charged for first contact of the month).
40
+ # Zavu platform charge in USD for this message. Messaging is billed against your
41
+ # plan's monthly limits plus usage-based overage.
38
42
  sig { returns(T.nilable(Float)) }
39
43
  attr_accessor :cost
40
44
 
41
- # Provider cost in USD (Telnyx, SES, etc.).
45
+ # Carrier and delivery cost in USD.
42
46
  sig { returns(T.nilable(Float)) }
43
47
  attr_accessor :cost_provider
44
48
 
45
- # Total cost in USD (MAU + provider cost).
49
+ # Total cost in USD (platform charge + delivery cost).
46
50
  sig { returns(T.nilable(Float)) }
47
51
  attr_accessor :cost_total
48
52
 
@@ -114,7 +118,10 @@ module Zavudev
114
118
  end
115
119
  def self.new(
116
120
  id:,
117
- # Delivery channel. Use 'auto' for intelligent routing.
121
+ # Delivery channel. Use 'auto' for intelligent routing. `whatsapp_alt` is the
122
+ # QR-linked WhatsApp channel and is only accepted for teams with the WhatsApp
123
+ # Alternative feature enabled; the sender must have a connected whatsapp_alt
124
+ # session.
118
125
  channel:,
119
126
  created_at:,
120
127
  # Type of message. Non-text types are supported by WhatsApp and Telegram (varies
@@ -124,11 +131,12 @@ module Zavudev
124
131
  to:,
125
132
  # Content for non-text message types (WhatsApp and Telegram).
126
133
  content: nil,
127
- # MAU cost in USD (charged for first contact of the month).
134
+ # Zavu platform charge in USD for this message. Messaging is billed against your
135
+ # plan's monthly limits plus usage-based overage.
128
136
  cost: nil,
129
- # Provider cost in USD (Telnyx, SES, etc.).
137
+ # Carrier and delivery cost in USD.
130
138
  cost_provider: nil,
131
- # Total cost in USD (MAU + provider cost).
139
+ # Total cost in USD (platform charge + delivery cost).
132
140
  cost_total: nil,
133
141
  error_code: nil,
134
142
  error_message: nil,