sendly 3.15.2 → 3.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: 56c908f29c221c85c90e24d73b43066013f4d3cec54aba6fe7517fb227e045b4
4
- data.tar.gz: d128303727afab0708a108693a8effc1026296ade3b90e2de848286166d8eaea
3
+ metadata.gz: 15af9e5d9f56aa0bec8c4f3a10027bfc3df384346106b266b0105a2be3f22e10
4
+ data.tar.gz: 5c3d6188cce94d0473b4c37993cce1f2b38a182462de4bd3fab985fe869f2561
5
5
  SHA512:
6
- metadata.gz: ce1fa34f4d023c436c61fca5edd146f14eb57c8e7b881ed6e34f10d3aa1cfa18a0304fae311251c0c3dcb89ad86b0888ca74297d809d0f7863af6c808371f455
7
- data.tar.gz: 9b1f5393016e47ec383a5436942c4da13f34acf65b95bb764d32aff4b83f615f3394326213926ad56ca2aa3bcfcecb2320ee07286215f1f8c2d7939b2c2457f7
6
+ metadata.gz: 42099b42ad72620ea0c33c891711f2ef4f3bb26af55207aeceffc6151a510b83c7dd43f29db26665d186b62f3d4225c50604a4219e24d13e12efad52e75c5c55
7
+ data.tar.gz: f04793910474e643da575f141e47b0b102111a14e586143009bf5e420bce87b7035019295200520e9e9e079fce6e3ccc8474a5ea40b3f7fe4c0b82fb7bacd11e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sendly (3.15.2)
4
+ sendly (3.17.0)
5
5
  faraday (~> 2.0)
6
6
  faraday-retry (~> 2.0)
7
7
 
@@ -94,5 +94,15 @@ module Sendly
94
94
 
95
95
  @client.delete("/account/keys/#{key_id}")
96
96
  end
97
+
98
+ def transfer_credits(target_organization_id:, amount:)
99
+ raise ArgumentError, "Target organization ID is required" if target_organization_id.nil? || target_organization_id.empty?
100
+ raise ArgumentError, "Amount must be a positive integer" if !amount.is_a?(Integer) || amount <= 0
101
+
102
+ @client.post("/credits/transfer", {
103
+ targetOrganizationId: target_organization_id,
104
+ amount: amount
105
+ })
106
+ end
97
107
  end
98
108
  end
data/lib/sendly/types.rb CHANGED
@@ -51,11 +51,17 @@ module Sendly
51
51
  # @return [Time, nil] Delivery timestamp
52
52
  attr_reader :delivered_at
53
53
 
54
+ # @return [String, nil] Error code if delivery failed
55
+ attr_reader :error_code
56
+
57
+ # @return [Integer] Number of delivery retry attempts
58
+ attr_reader :retry_count
59
+
54
60
  # @return [Hash, nil] Custom metadata attached to the message
55
61
  attr_reader :metadata
56
62
 
57
63
  # Message status constants (sending removed - doesn't exist in database)
58
- STATUSES = %w[queued sent delivered failed bounced].freeze
64
+ STATUSES = %w[queued sent delivered failed bounced retrying].freeze
59
65
 
60
66
  # Sender type constants
61
67
  SENDER_TYPES = %w[number_pool alphanumeric sandbox].freeze
@@ -77,6 +83,8 @@ module Sendly
77
83
  @sender_note = data["senderNote"]
78
84
  @created_at = parse_time(data["createdAt"])
79
85
  @delivered_at = parse_time(data["deliveredAt"])
86
+ @error_code = data["errorCode"]
87
+ @retry_count = data["retryCount"] || 0
80
88
  @metadata = data["metadata"]
81
89
  end
82
90
 
@@ -118,6 +126,8 @@ module Sendly
118
126
  sender_note: sender_note,
119
127
  created_at: created_at&.iso8601,
120
128
  delivered_at: delivered_at&.iso8601,
129
+ error_code: error_code,
130
+ retry_count: retry_count,
121
131
  metadata: metadata
122
132
  }.compact
123
133
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sendly
4
- VERSION = "3.15.2"
4
+ VERSION = "3.17.0"
5
5
  end
@@ -101,6 +101,15 @@ module Sendly
101
101
  WebhookTestResult.new(response)
102
102
  end
103
103
 
104
+ # Reset the circuit breaker for a webhook
105
+ #
106
+ # @param webhook_id [String] Webhook ID
107
+ # @return [Hash] Reset confirmation with updated webhook
108
+ def reset_circuit(webhook_id)
109
+ validate_webhook_id!(webhook_id)
110
+ @client.post("/webhooks/#{webhook_id}/reset-circuit")
111
+ end
112
+
104
113
  # Rotate the webhook signing secret
105
114
  #
106
115
  # @param webhook_id [String] Webhook ID
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sendly
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.15.2
4
+ version: 3.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sendly
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-02-08 00:00:00.000000000 Z
11
+ date: 2026-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday