sentdm 0.42.1 → 0.44.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/CHANGELOG.md +14 -0
- data/README.md +5 -5
- data/lib/sentdm/internal/calls_page.rb +25 -1
- data/lib/sentdm/internal/contacts_page.rb +25 -1
- data/lib/sentdm/internal/conversations_page.rb +25 -1
- data/lib/sentdm/internal/templates_page.rb +25 -1
- data/lib/sentdm/internal/voice_agents_page.rb +25 -1
- data/lib/sentdm/internal/webhook_events_page.rb +25 -1
- data/lib/sentdm/internal/webhooks_page.rb +25 -1
- data/lib/sentdm/models/message_resend_params.rb +32 -0
- data/lib/sentdm/models/message_send_response.rb +3 -4
- data/lib/sentdm/models.rb +4 -0
- data/lib/sentdm/resources/messages.rb +62 -1
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +1 -0
- data/rbi/sentdm/internal/calls_page.rbi +51 -3
- data/rbi/sentdm/internal/contacts_page.rbi +51 -3
- data/rbi/sentdm/internal/conversations_page.rbi +51 -3
- data/rbi/sentdm/internal/templates_page.rbi +51 -3
- data/rbi/sentdm/internal/voice_agents_page.rbi +51 -3
- data/rbi/sentdm/internal/webhook_events_page.rbi +51 -3
- data/rbi/sentdm/internal/webhooks_page.rbi +51 -3
- data/rbi/sentdm/models/message_resend_params.rbi +59 -0
- data/rbi/sentdm/models/message_send_response.rbi +11 -22
- data/rbi/sentdm/models.rbi +4 -0
- data/rbi/sentdm/resources/messages.rbi +57 -1
- data/sig/sentdm/internal/calls_page.rbs +38 -3
- data/sig/sentdm/internal/contacts_page.rbs +38 -3
- data/sig/sentdm/internal/conversations_page.rbs +38 -3
- data/sig/sentdm/internal/templates_page.rbs +38 -3
- data/sig/sentdm/internal/voice_agents_page.rbs +38 -3
- data/sig/sentdm/internal/webhook_events_page.rbs +38 -3
- data/sig/sentdm/internal/webhooks_page.rbs +38 -3
- data/sig/sentdm/models/message_resend_params.rbs +38 -0
- data/sig/sentdm/models/message_send_response.rbs +10 -10
- data/sig/sentdm/models.rbs +4 -0
- data/sig/sentdm/resources/messages.rbs +9 -1
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 46c6f38c1bac617a9d4b5f114cf1315c0165581995884399707a19b74db1d1c7
|
|
4
|
+
data.tar.gz: 9fd166f6b0d86b2fe8bba638891c98bcf80f77bbdd6a035aa9524ec5a666c239
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e313815b9a52feac9bf9cc74368eec76805d90c4d4e83bdf01866e7ba837745fd8bb089b901ae602c3aec9041994aef97b66a74dae712ef5586b774f120eeb59
|
|
7
|
+
data.tar.gz: 473e10edb48f2d5c5c46df341966ca4db2bab6b024eb7e57369a474f816f8fa1490534287c58d3917d0a6c14b01a017ad329601d8ce0e052732ccfb5892ab953
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.44.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.43.0...v0.44.0) (2026-11-04)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **pagination:** expose page, page_size, total_count and total_pages on every page model ([2403928](https://github.com/sentdm/sent-dm-ruby/commit/24039285c1ed89e4e7b3ec22e71ac984b590dcf3))
|
|
9
|
+
|
|
10
|
+
## [0.43.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.42.1...v0.43.0) (2026-11-03)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **api:** add messages.resend to resend a message on its id ([9a2f65f](https://github.com/sentdm/sent-dm-ruby/commit/9a2f65f47bee3c3dc784eb32fcb9a081f242ef50))
|
|
16
|
+
|
|
3
17
|
## [0.42.1](https://github.com/sentdm/sent-dm-ruby/compare/v0.42.0...v0.42.1) (2026-10-30)
|
|
4
18
|
|
|
5
19
|
|
data/README.md
CHANGED
|
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
17
17
|
<!-- x-release-please-start-version -->
|
|
18
18
|
|
|
19
19
|
```ruby
|
|
20
|
-
gem "sentdm", "~> 0.
|
|
20
|
+
gem "sentdm", "~> 0.44.0"
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
<!-- x-release-please-end -->
|
|
@@ -32,7 +32,7 @@ sent = Sentdm::Client.new(
|
|
|
32
32
|
api_key: ENV["SENT_DM_API_KEY"] # This is the default and can be omitted
|
|
33
33
|
)
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
message_send_response = sent.messages.send_(
|
|
36
36
|
channel: ["sms", "whatsapp"],
|
|
37
37
|
template: {
|
|
38
38
|
id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
|
|
@@ -42,7 +42,7 @@ response = sent.messages.send_(
|
|
|
42
42
|
to: ["+14155551234", "+14155555678"]
|
|
43
43
|
)
|
|
44
44
|
|
|
45
|
-
puts(
|
|
45
|
+
puts(message_send_response.data)
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
### Pagination
|
|
@@ -192,7 +192,7 @@ You can send undocumented parameters to any endpoint, and read undocumented resp
|
|
|
192
192
|
Note: the `extra_` parameters of the same name overrides the documented parameters.
|
|
193
193
|
|
|
194
194
|
```ruby
|
|
195
|
-
|
|
195
|
+
message_send_response =
|
|
196
196
|
sent.messages.send_(
|
|
197
197
|
channel: ["sms"],
|
|
198
198
|
template: {
|
|
@@ -208,7 +208,7 @@ response =
|
|
|
208
208
|
}
|
|
209
209
|
)
|
|
210
210
|
|
|
211
|
-
puts(
|
|
211
|
+
puts(message_send_response[:my_undocumented_property])
|
|
212
212
|
```
|
|
213
213
|
|
|
214
214
|
#### Undocumented request params
|
|
@@ -106,8 +106,32 @@ module Sentdm
|
|
|
106
106
|
# @return [Boolean, nil]
|
|
107
107
|
optional :has_more, Sentdm::Internal::Type::Boolean
|
|
108
108
|
|
|
109
|
-
# @!
|
|
109
|
+
# @!attribute page
|
|
110
|
+
#
|
|
111
|
+
# @return [Integer, nil]
|
|
112
|
+
optional :page, Integer
|
|
113
|
+
|
|
114
|
+
# @!attribute page_size
|
|
115
|
+
#
|
|
116
|
+
# @return [Integer, nil]
|
|
117
|
+
optional :page_size, Integer
|
|
118
|
+
|
|
119
|
+
# @!attribute total_count
|
|
120
|
+
#
|
|
121
|
+
# @return [Integer, nil]
|
|
122
|
+
optional :total_count, Integer
|
|
123
|
+
|
|
124
|
+
# @!attribute total_pages
|
|
125
|
+
#
|
|
126
|
+
# @return [Integer, nil]
|
|
127
|
+
optional :total_pages, Integer
|
|
128
|
+
|
|
129
|
+
# @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
|
|
110
130
|
# @param has_more [Boolean]
|
|
131
|
+
# @param page [Integer]
|
|
132
|
+
# @param page_size [Integer]
|
|
133
|
+
# @param total_count [Integer]
|
|
134
|
+
# @param total_pages [Integer]
|
|
111
135
|
end
|
|
112
136
|
end
|
|
113
137
|
end
|
|
@@ -106,8 +106,32 @@ module Sentdm
|
|
|
106
106
|
# @return [Boolean, nil]
|
|
107
107
|
optional :has_more, Sentdm::Internal::Type::Boolean
|
|
108
108
|
|
|
109
|
-
# @!
|
|
109
|
+
# @!attribute page
|
|
110
|
+
#
|
|
111
|
+
# @return [Integer, nil]
|
|
112
|
+
optional :page, Integer
|
|
113
|
+
|
|
114
|
+
# @!attribute page_size
|
|
115
|
+
#
|
|
116
|
+
# @return [Integer, nil]
|
|
117
|
+
optional :page_size, Integer
|
|
118
|
+
|
|
119
|
+
# @!attribute total_count
|
|
120
|
+
#
|
|
121
|
+
# @return [Integer, nil]
|
|
122
|
+
optional :total_count, Integer
|
|
123
|
+
|
|
124
|
+
# @!attribute total_pages
|
|
125
|
+
#
|
|
126
|
+
# @return [Integer, nil]
|
|
127
|
+
optional :total_pages, Integer
|
|
128
|
+
|
|
129
|
+
# @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
|
|
110
130
|
# @param has_more [Boolean]
|
|
131
|
+
# @param page [Integer]
|
|
132
|
+
# @param page_size [Integer]
|
|
133
|
+
# @param total_count [Integer]
|
|
134
|
+
# @param total_pages [Integer]
|
|
111
135
|
end
|
|
112
136
|
end
|
|
113
137
|
end
|
|
@@ -106,8 +106,32 @@ module Sentdm
|
|
|
106
106
|
# @return [Boolean, nil]
|
|
107
107
|
optional :has_more, Sentdm::Internal::Type::Boolean
|
|
108
108
|
|
|
109
|
-
# @!
|
|
109
|
+
# @!attribute page
|
|
110
|
+
#
|
|
111
|
+
# @return [Integer, nil]
|
|
112
|
+
optional :page, Integer
|
|
113
|
+
|
|
114
|
+
# @!attribute page_size
|
|
115
|
+
#
|
|
116
|
+
# @return [Integer, nil]
|
|
117
|
+
optional :page_size, Integer
|
|
118
|
+
|
|
119
|
+
# @!attribute total_count
|
|
120
|
+
#
|
|
121
|
+
# @return [Integer, nil]
|
|
122
|
+
optional :total_count, Integer
|
|
123
|
+
|
|
124
|
+
# @!attribute total_pages
|
|
125
|
+
#
|
|
126
|
+
# @return [Integer, nil]
|
|
127
|
+
optional :total_pages, Integer
|
|
128
|
+
|
|
129
|
+
# @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
|
|
110
130
|
# @param has_more [Boolean]
|
|
131
|
+
# @param page [Integer]
|
|
132
|
+
# @param page_size [Integer]
|
|
133
|
+
# @param total_count [Integer]
|
|
134
|
+
# @param total_pages [Integer]
|
|
111
135
|
end
|
|
112
136
|
end
|
|
113
137
|
end
|
|
@@ -106,8 +106,32 @@ module Sentdm
|
|
|
106
106
|
# @return [Boolean, nil]
|
|
107
107
|
optional :has_more, Sentdm::Internal::Type::Boolean
|
|
108
108
|
|
|
109
|
-
# @!
|
|
109
|
+
# @!attribute page
|
|
110
|
+
#
|
|
111
|
+
# @return [Integer, nil]
|
|
112
|
+
optional :page, Integer
|
|
113
|
+
|
|
114
|
+
# @!attribute page_size
|
|
115
|
+
#
|
|
116
|
+
# @return [Integer, nil]
|
|
117
|
+
optional :page_size, Integer
|
|
118
|
+
|
|
119
|
+
# @!attribute total_count
|
|
120
|
+
#
|
|
121
|
+
# @return [Integer, nil]
|
|
122
|
+
optional :total_count, Integer
|
|
123
|
+
|
|
124
|
+
# @!attribute total_pages
|
|
125
|
+
#
|
|
126
|
+
# @return [Integer, nil]
|
|
127
|
+
optional :total_pages, Integer
|
|
128
|
+
|
|
129
|
+
# @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
|
|
110
130
|
# @param has_more [Boolean]
|
|
131
|
+
# @param page [Integer]
|
|
132
|
+
# @param page_size [Integer]
|
|
133
|
+
# @param total_count [Integer]
|
|
134
|
+
# @param total_pages [Integer]
|
|
111
135
|
end
|
|
112
136
|
end
|
|
113
137
|
end
|
|
@@ -106,8 +106,32 @@ module Sentdm
|
|
|
106
106
|
# @return [Boolean, nil]
|
|
107
107
|
optional :has_more, Sentdm::Internal::Type::Boolean
|
|
108
108
|
|
|
109
|
-
# @!
|
|
109
|
+
# @!attribute page
|
|
110
|
+
#
|
|
111
|
+
# @return [Integer, nil]
|
|
112
|
+
optional :page, Integer
|
|
113
|
+
|
|
114
|
+
# @!attribute page_size
|
|
115
|
+
#
|
|
116
|
+
# @return [Integer, nil]
|
|
117
|
+
optional :page_size, Integer
|
|
118
|
+
|
|
119
|
+
# @!attribute total_count
|
|
120
|
+
#
|
|
121
|
+
# @return [Integer, nil]
|
|
122
|
+
optional :total_count, Integer
|
|
123
|
+
|
|
124
|
+
# @!attribute total_pages
|
|
125
|
+
#
|
|
126
|
+
# @return [Integer, nil]
|
|
127
|
+
optional :total_pages, Integer
|
|
128
|
+
|
|
129
|
+
# @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
|
|
110
130
|
# @param has_more [Boolean]
|
|
131
|
+
# @param page [Integer]
|
|
132
|
+
# @param page_size [Integer]
|
|
133
|
+
# @param total_count [Integer]
|
|
134
|
+
# @param total_pages [Integer]
|
|
111
135
|
end
|
|
112
136
|
end
|
|
113
137
|
end
|
|
@@ -106,8 +106,32 @@ module Sentdm
|
|
|
106
106
|
# @return [Boolean, nil]
|
|
107
107
|
optional :has_more, Sentdm::Internal::Type::Boolean
|
|
108
108
|
|
|
109
|
-
# @!
|
|
109
|
+
# @!attribute page
|
|
110
|
+
#
|
|
111
|
+
# @return [Integer, nil]
|
|
112
|
+
optional :page, Integer
|
|
113
|
+
|
|
114
|
+
# @!attribute page_size
|
|
115
|
+
#
|
|
116
|
+
# @return [Integer, nil]
|
|
117
|
+
optional :page_size, Integer
|
|
118
|
+
|
|
119
|
+
# @!attribute total_count
|
|
120
|
+
#
|
|
121
|
+
# @return [Integer, nil]
|
|
122
|
+
optional :total_count, Integer
|
|
123
|
+
|
|
124
|
+
# @!attribute total_pages
|
|
125
|
+
#
|
|
126
|
+
# @return [Integer, nil]
|
|
127
|
+
optional :total_pages, Integer
|
|
128
|
+
|
|
129
|
+
# @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
|
|
110
130
|
# @param has_more [Boolean]
|
|
131
|
+
# @param page [Integer]
|
|
132
|
+
# @param page_size [Integer]
|
|
133
|
+
# @param total_count [Integer]
|
|
134
|
+
# @param total_pages [Integer]
|
|
111
135
|
end
|
|
112
136
|
end
|
|
113
137
|
end
|
|
@@ -106,8 +106,32 @@ module Sentdm
|
|
|
106
106
|
# @return [Boolean, nil]
|
|
107
107
|
optional :has_more, Sentdm::Internal::Type::Boolean
|
|
108
108
|
|
|
109
|
-
# @!
|
|
109
|
+
# @!attribute page
|
|
110
|
+
#
|
|
111
|
+
# @return [Integer, nil]
|
|
112
|
+
optional :page, Integer
|
|
113
|
+
|
|
114
|
+
# @!attribute page_size
|
|
115
|
+
#
|
|
116
|
+
# @return [Integer, nil]
|
|
117
|
+
optional :page_size, Integer
|
|
118
|
+
|
|
119
|
+
# @!attribute total_count
|
|
120
|
+
#
|
|
121
|
+
# @return [Integer, nil]
|
|
122
|
+
optional :total_count, Integer
|
|
123
|
+
|
|
124
|
+
# @!attribute total_pages
|
|
125
|
+
#
|
|
126
|
+
# @return [Integer, nil]
|
|
127
|
+
optional :total_pages, Integer
|
|
128
|
+
|
|
129
|
+
# @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
|
|
110
130
|
# @param has_more [Boolean]
|
|
131
|
+
# @param page [Integer]
|
|
132
|
+
# @param page_size [Integer]
|
|
133
|
+
# @param total_count [Integer]
|
|
134
|
+
# @param total_pages [Integer]
|
|
111
135
|
end
|
|
112
136
|
end
|
|
113
137
|
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::Messages#resend
|
|
6
|
+
class MessageResendParams < Sentdm::Models::MutationRequest
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute id
|
|
11
|
+
#
|
|
12
|
+
# @return [String]
|
|
13
|
+
required :id, String
|
|
14
|
+
|
|
15
|
+
# @!attribute idempotency_key
|
|
16
|
+
#
|
|
17
|
+
# @return [String, nil]
|
|
18
|
+
optional :idempotency_key, String
|
|
19
|
+
|
|
20
|
+
# @!attribute x_profile_id
|
|
21
|
+
#
|
|
22
|
+
# @return [String, nil]
|
|
23
|
+
optional :x_profile_id, String
|
|
24
|
+
|
|
25
|
+
# @!method initialize(id:, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
26
|
+
# @param id [String]
|
|
27
|
+
# @param idempotency_key [String]
|
|
28
|
+
# @param x_profile_id [String]
|
|
29
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
# @see Sentdm::Resources::Messages#
|
|
5
|
+
# @see Sentdm::Resources::Messages#resend
|
|
6
6
|
class MessageSendResponse < Sentdm::Internal::Type::BaseModel
|
|
7
7
|
# @!attribute data
|
|
8
8
|
# The result of a multi-recipient send.
|
|
@@ -19,7 +19,7 @@ module Sentdm
|
|
|
19
19
|
# which of the two to answer with. From always returns this type.
|
|
20
20
|
#
|
|
21
21
|
# @return [Sentdm::Models::MessageSendResponse::Data, nil]
|
|
22
|
-
optional :data, -> { Sentdm::
|
|
22
|
+
optional :data, -> { Sentdm::MessageSendResponse::Data }, nil?: true
|
|
23
23
|
|
|
24
24
|
# @!attribute error
|
|
25
25
|
# Error information
|
|
@@ -58,8 +58,7 @@ module Sentdm
|
|
|
58
58
|
# @!attribute recipients
|
|
59
59
|
#
|
|
60
60
|
# @return [Array<Sentdm::Models::MessageSendResponse::Data::Recipient>, nil]
|
|
61
|
-
optional :recipients,
|
|
62
|
-
-> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::MessageSendResponse::Data::Recipient] }
|
|
61
|
+
optional :recipients, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::MessageSendResponse::Data::Recipient] }
|
|
63
62
|
|
|
64
63
|
# @!attribute status
|
|
65
64
|
# QUEUED: the batch is accepted. A request that carried scheduled_at is QUEUED
|
data/lib/sentdm/models.rb
CHANGED
|
@@ -117,12 +117,16 @@ module Sentdm
|
|
|
117
117
|
|
|
118
118
|
MessageEventPayload = Sentdm::Models::MessageEventPayload
|
|
119
119
|
|
|
120
|
+
MessageResendParams = Sentdm::Models::MessageResendParams
|
|
121
|
+
|
|
120
122
|
MessageRetrieveActivitiesParams = Sentdm::Models::MessageRetrieveActivitiesParams
|
|
121
123
|
|
|
122
124
|
MessageRetrieveStatusParams = Sentdm::Models::MessageRetrieveStatusParams
|
|
123
125
|
|
|
124
126
|
MessageSendParams = Sentdm::Models::MessageSendParams
|
|
125
127
|
|
|
128
|
+
MessageSendResponse = Sentdm::Models::MessageSendResponse
|
|
129
|
+
|
|
126
130
|
MutationRequest = Sentdm::Models::MutationRequest
|
|
127
131
|
|
|
128
132
|
NumberLookupParams = Sentdm::Models::NumberLookupParams
|
|
@@ -25,6 +25,67 @@ module Sentdm
|
|
|
25
25
|
# released yet. Cancelling is free, fires `message.cancelled`, and is final — a
|
|
26
26
|
# cancelled message cannot be resent.
|
|
27
27
|
class Messages
|
|
28
|
+
# Some parameter documentations has been truncated, see
|
|
29
|
+
# {Sentdm::Models::MessageResendParams} for more details.
|
|
30
|
+
#
|
|
31
|
+
# Resends a message you already sent, on the same message id, without rebuilding
|
|
32
|
+
# the request. The typical use is recovering a BLOCKED message — for example one
|
|
33
|
+
# refused for insufficient balance — after the account has been topped up.
|
|
34
|
+
#
|
|
35
|
+
# **A resend bills again.** Each accepted resend is a new delivery attempt and
|
|
36
|
+
# records a new charge against the same message id; a client that resends on every
|
|
37
|
+
# failure is charged on every loop.
|
|
38
|
+
#
|
|
39
|
+
# **Every policy runs again.** The resend goes back through the full send pipeline
|
|
40
|
+
# — consent, balance, KYC and channel quota, template approval, quiet hours and
|
|
41
|
+
# channel health — so it can land on BLOCKED, FILTERED or SCHEDULED again rather
|
|
42
|
+
# than being sent, exactly as a fresh send would. Status webhooks (message.sent,
|
|
43
|
+
# message.blocked, message.filtered, message.failed) fire again for the same
|
|
44
|
+
# message id, so consumers keyed on the id will see repeated transitions.
|
|
45
|
+
#
|
|
46
|
+
# **What can be resent.** A message in a terminal state — DELIVERED, FAILED, READ
|
|
47
|
+
# or BLOCKED — or one stuck at SENT for more than 15 minutes. A FILTERED message
|
|
48
|
+
# can never be resent: the recipient opted out or a routing rule refused the send.
|
|
49
|
+
# A message still in flight (QUEUED, PROCESSED, ROUTED), held for quiet hours
|
|
50
|
+
# (SCHEDULED), or SENT less than 15 minutes ago returns 409. Two concurrent
|
|
51
|
+
# resends of one id are serialised: one is accepted, the other gets 409.
|
|
52
|
+
#
|
|
53
|
+
# The resend keeps the channel the message was originally requested on; the
|
|
54
|
+
# channel cannot be changed on a resend — send a new message instead.
|
|
55
|
+
# `Idempotency-Key` is honoured, so a retried request replays the first accepted
|
|
56
|
+
# response instead of resending twice.
|
|
57
|
+
#
|
|
58
|
+
# The response has the same shape as `POST /v3/messages`: `recipients` has a
|
|
59
|
+
# single entry whose `message_id` is the id you resent.
|
|
60
|
+
#
|
|
61
|
+
# @overload resend(id, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
62
|
+
#
|
|
63
|
+
# @param id [String] Path param: Message ID
|
|
64
|
+
#
|
|
65
|
+
# @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
|
|
66
|
+
#
|
|
67
|
+
# @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
68
|
+
#
|
|
69
|
+
# @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
|
|
70
|
+
#
|
|
71
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
72
|
+
#
|
|
73
|
+
# @return [Sentdm::Models::MessageSendResponse]
|
|
74
|
+
#
|
|
75
|
+
# @see Sentdm::Models::MessageResendParams
|
|
76
|
+
def resend(id, params = {})
|
|
77
|
+
parsed, options = Sentdm::MessageResendParams.dump_request(params)
|
|
78
|
+
header_params = {idempotency_key: "idempotency-key", x_profile_id: "x-profile-id"}
|
|
79
|
+
@client.request(
|
|
80
|
+
method: :post,
|
|
81
|
+
path: ["v3/messages/%1$s/resend", id],
|
|
82
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
83
|
+
body: parsed.except(*header_params.keys),
|
|
84
|
+
model: Sentdm::MessageSendResponse,
|
|
85
|
+
options: options
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
|
|
28
89
|
# Some parameter documentations has been truncated, see
|
|
29
90
|
# {Sentdm::Models::MessageRetrieveActivitiesParams} for more details.
|
|
30
91
|
#
|
|
@@ -163,7 +224,7 @@ module Sentdm
|
|
|
163
224
|
path: "v3/messages",
|
|
164
225
|
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
165
226
|
body: parsed.except(*header_params.keys),
|
|
166
|
-
model: Sentdm::
|
|
227
|
+
model: Sentdm::MessageSendResponse,
|
|
167
228
|
options: options
|
|
168
229
|
)
|
|
169
230
|
end
|
data/lib/sentdm/version.rb
CHANGED
data/lib/sentdm.rb
CHANGED
|
@@ -118,6 +118,7 @@ require_relative "sentdm/models/me_retrieve_params"
|
|
|
118
118
|
require_relative "sentdm/models/me_retrieve_response"
|
|
119
119
|
require_relative "sentdm/models/message_event"
|
|
120
120
|
require_relative "sentdm/models/message_event_payload"
|
|
121
|
+
require_relative "sentdm/models/message_resend_params"
|
|
121
122
|
require_relative "sentdm/models/message_retrieve_activities_params"
|
|
122
123
|
require_relative "sentdm/models/message_retrieve_activities_response"
|
|
123
124
|
require_relative "sentdm/models/message_retrieve_status_params"
|
|
@@ -57,11 +57,59 @@ module Sentdm
|
|
|
57
57
|
sig { params(has_more: T::Boolean).void }
|
|
58
58
|
attr_writer :has_more
|
|
59
59
|
|
|
60
|
-
sig {
|
|
61
|
-
|
|
60
|
+
sig { returns(T.nilable(Integer)) }
|
|
61
|
+
attr_reader :page
|
|
62
|
+
|
|
63
|
+
sig { params(page: Integer).void }
|
|
64
|
+
attr_writer :page
|
|
65
|
+
|
|
66
|
+
sig { returns(T.nilable(Integer)) }
|
|
67
|
+
attr_reader :page_size
|
|
68
|
+
|
|
69
|
+
sig { params(page_size: Integer).void }
|
|
70
|
+
attr_writer :page_size
|
|
71
|
+
|
|
72
|
+
sig { returns(T.nilable(Integer)) }
|
|
73
|
+
attr_reader :total_count
|
|
74
|
+
|
|
75
|
+
sig { params(total_count: Integer).void }
|
|
76
|
+
attr_writer :total_count
|
|
77
|
+
|
|
78
|
+
sig { returns(T.nilable(Integer)) }
|
|
79
|
+
attr_reader :total_pages
|
|
80
|
+
|
|
81
|
+
sig { params(total_pages: Integer).void }
|
|
82
|
+
attr_writer :total_pages
|
|
83
|
+
|
|
84
|
+
sig do
|
|
85
|
+
params(
|
|
86
|
+
has_more: T::Boolean,
|
|
87
|
+
page: Integer,
|
|
88
|
+
page_size: Integer,
|
|
89
|
+
total_count: Integer,
|
|
90
|
+
total_pages: Integer
|
|
91
|
+
).returns(T.attached_class)
|
|
92
|
+
end
|
|
93
|
+
def self.new(
|
|
94
|
+
has_more: nil,
|
|
95
|
+
page: nil,
|
|
96
|
+
page_size: nil,
|
|
97
|
+
total_count: nil,
|
|
98
|
+
total_pages: nil
|
|
99
|
+
)
|
|
62
100
|
end
|
|
63
101
|
|
|
64
|
-
sig
|
|
102
|
+
sig do
|
|
103
|
+
override.returns(
|
|
104
|
+
{
|
|
105
|
+
has_more: T::Boolean,
|
|
106
|
+
page: Integer,
|
|
107
|
+
page_size: Integer,
|
|
108
|
+
total_count: Integer,
|
|
109
|
+
total_pages: Integer
|
|
110
|
+
}
|
|
111
|
+
)
|
|
112
|
+
end
|
|
65
113
|
def to_hash
|
|
66
114
|
end
|
|
67
115
|
end
|
|
@@ -57,11 +57,59 @@ module Sentdm
|
|
|
57
57
|
sig { params(has_more: T::Boolean).void }
|
|
58
58
|
attr_writer :has_more
|
|
59
59
|
|
|
60
|
-
sig {
|
|
61
|
-
|
|
60
|
+
sig { returns(T.nilable(Integer)) }
|
|
61
|
+
attr_reader :page
|
|
62
|
+
|
|
63
|
+
sig { params(page: Integer).void }
|
|
64
|
+
attr_writer :page
|
|
65
|
+
|
|
66
|
+
sig { returns(T.nilable(Integer)) }
|
|
67
|
+
attr_reader :page_size
|
|
68
|
+
|
|
69
|
+
sig { params(page_size: Integer).void }
|
|
70
|
+
attr_writer :page_size
|
|
71
|
+
|
|
72
|
+
sig { returns(T.nilable(Integer)) }
|
|
73
|
+
attr_reader :total_count
|
|
74
|
+
|
|
75
|
+
sig { params(total_count: Integer).void }
|
|
76
|
+
attr_writer :total_count
|
|
77
|
+
|
|
78
|
+
sig { returns(T.nilable(Integer)) }
|
|
79
|
+
attr_reader :total_pages
|
|
80
|
+
|
|
81
|
+
sig { params(total_pages: Integer).void }
|
|
82
|
+
attr_writer :total_pages
|
|
83
|
+
|
|
84
|
+
sig do
|
|
85
|
+
params(
|
|
86
|
+
has_more: T::Boolean,
|
|
87
|
+
page: Integer,
|
|
88
|
+
page_size: Integer,
|
|
89
|
+
total_count: Integer,
|
|
90
|
+
total_pages: Integer
|
|
91
|
+
).returns(T.attached_class)
|
|
92
|
+
end
|
|
93
|
+
def self.new(
|
|
94
|
+
has_more: nil,
|
|
95
|
+
page: nil,
|
|
96
|
+
page_size: nil,
|
|
97
|
+
total_count: nil,
|
|
98
|
+
total_pages: nil
|
|
99
|
+
)
|
|
62
100
|
end
|
|
63
101
|
|
|
64
|
-
sig
|
|
102
|
+
sig do
|
|
103
|
+
override.returns(
|
|
104
|
+
{
|
|
105
|
+
has_more: T::Boolean,
|
|
106
|
+
page: Integer,
|
|
107
|
+
page_size: Integer,
|
|
108
|
+
total_count: Integer,
|
|
109
|
+
total_pages: Integer
|
|
110
|
+
}
|
|
111
|
+
)
|
|
112
|
+
end
|
|
65
113
|
def to_hash
|
|
66
114
|
end
|
|
67
115
|
end
|
|
@@ -57,11 +57,59 @@ module Sentdm
|
|
|
57
57
|
sig { params(has_more: T::Boolean).void }
|
|
58
58
|
attr_writer :has_more
|
|
59
59
|
|
|
60
|
-
sig {
|
|
61
|
-
|
|
60
|
+
sig { returns(T.nilable(Integer)) }
|
|
61
|
+
attr_reader :page
|
|
62
|
+
|
|
63
|
+
sig { params(page: Integer).void }
|
|
64
|
+
attr_writer :page
|
|
65
|
+
|
|
66
|
+
sig { returns(T.nilable(Integer)) }
|
|
67
|
+
attr_reader :page_size
|
|
68
|
+
|
|
69
|
+
sig { params(page_size: Integer).void }
|
|
70
|
+
attr_writer :page_size
|
|
71
|
+
|
|
72
|
+
sig { returns(T.nilable(Integer)) }
|
|
73
|
+
attr_reader :total_count
|
|
74
|
+
|
|
75
|
+
sig { params(total_count: Integer).void }
|
|
76
|
+
attr_writer :total_count
|
|
77
|
+
|
|
78
|
+
sig { returns(T.nilable(Integer)) }
|
|
79
|
+
attr_reader :total_pages
|
|
80
|
+
|
|
81
|
+
sig { params(total_pages: Integer).void }
|
|
82
|
+
attr_writer :total_pages
|
|
83
|
+
|
|
84
|
+
sig do
|
|
85
|
+
params(
|
|
86
|
+
has_more: T::Boolean,
|
|
87
|
+
page: Integer,
|
|
88
|
+
page_size: Integer,
|
|
89
|
+
total_count: Integer,
|
|
90
|
+
total_pages: Integer
|
|
91
|
+
).returns(T.attached_class)
|
|
92
|
+
end
|
|
93
|
+
def self.new(
|
|
94
|
+
has_more: nil,
|
|
95
|
+
page: nil,
|
|
96
|
+
page_size: nil,
|
|
97
|
+
total_count: nil,
|
|
98
|
+
total_pages: nil
|
|
99
|
+
)
|
|
62
100
|
end
|
|
63
101
|
|
|
64
|
-
sig
|
|
102
|
+
sig do
|
|
103
|
+
override.returns(
|
|
104
|
+
{
|
|
105
|
+
has_more: T::Boolean,
|
|
106
|
+
page: Integer,
|
|
107
|
+
page_size: Integer,
|
|
108
|
+
total_count: Integer,
|
|
109
|
+
total_pages: Integer
|
|
110
|
+
}
|
|
111
|
+
)
|
|
112
|
+
end
|
|
65
113
|
def to_hash
|
|
66
114
|
end
|
|
67
115
|
end
|