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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/sendly/account_resource.rb +10 -0
- data/lib/sendly/types.rb +11 -1
- data/lib/sendly/version.rb +1 -1
- data/lib/sendly/webhooks_resource.rb +9 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 15af9e5d9f56aa0bec8c4f3a10027bfc3df384346106b266b0105a2be3f22e10
|
|
4
|
+
data.tar.gz: 5c3d6188cce94d0473b4c37993cce1f2b38a182462de4bd3fab985fe869f2561
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 42099b42ad72620ea0c33c891711f2ef4f3bb26af55207aeceffc6151a510b83c7dd43f29db26665d186b62f3d4225c50604a4219e24d13e12efad52e75c5c55
|
|
7
|
+
data.tar.gz: f04793910474e643da575f141e47b0b102111a14e586143009bf5e420bce87b7035019295200520e9e9e079fce6e3ccc8474a5ea40b3f7fe4c0b82fb7bacd11e
|
data/Gemfile.lock
CHANGED
|
@@ -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
|
data/lib/sendly/version.rb
CHANGED
|
@@ -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.
|
|
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-
|
|
11
|
+
date: 2026-02-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|