surge_api 0.4.0 → 0.6.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 +21 -0
- data/README.md +1 -1
- data/lib/surge_api/models/link_followed_webhook_event.rb +70 -0
- data/lib/surge_api/models/unwrap_webhook_event.rb +3 -1
- data/lib/surge_api/models/user_delete_params.rb +14 -0
- data/lib/surge_api/models.rb +4 -0
- data/lib/surge_api/resources/users.rb +24 -0
- data/lib/surge_api/resources/webhooks.rb +1 -1
- data/lib/surge_api/version.rb +1 -1
- data/lib/surge_api.rb +2 -0
- data/rbi/surge_api/models/link_followed_webhook_event.rbi +110 -0
- data/rbi/surge_api/models/unwrap_webhook_event.rbi +1 -0
- data/rbi/surge_api/models/user_delete_params.rbi +27 -0
- data/rbi/surge_api/models.rbi +4 -0
- data/rbi/surge_api/resources/users.rbi +18 -0
- data/rbi/surge_api/resources/webhooks.rbi +1 -0
- data/sig/surge_api/models/link_followed_webhook_event.rbs +49 -0
- data/sig/surge_api/models/unwrap_webhook_event.rbs +1 -0
- data/sig/surge_api/models/user_delete_params.rbs +15 -0
- data/sig/surge_api/models.rbs +4 -0
- data/sig/surge_api/resources/users.rbs +5 -0
- data/sig/surge_api/resources/webhooks.rbs +1 -0
- metadata +8 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2108433baa320b26048ee5f2141841a98866a135e46330a3cee4b4555eb85b67
|
|
4
|
+
data.tar.gz: 853d2d48b5b8981ba46ab3ab589bca43fd599ed8b6d9aa63cfcbe80eb5be2b7e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 075d2964cab7711b2edc152d89314b5d323bcf9fd5d645409d9cd7c7ccfccf7c5ddab2c471d828bff6ff61a78ededa51e34bc2bbcd6ab298444c79f5d8ffec50
|
|
7
|
+
data.tar.gz: 6c171b025eeaa2be398b7315e5280129e198917ca5477aba3d7ca4d570def52c0d3b59a7935057ccb2aa93e35184e13989daa0d5e26461efcbc045aa6c9b36ff
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.6.0 (2026-01-18)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.5.0...v0.6.0](https://github.com/surgeapi/ruby-sdk/compare/v0.5.0...v0.6.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([be3de20](https://github.com/surgeapi/ruby-sdk/commit/be3de209f18482fa76b1a447fd8e944efb56772f))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Chores
|
|
13
|
+
|
|
14
|
+
* **internal:** update `actions/checkout` version ([3d4be8e](https://github.com/surgeapi/ruby-sdk/commit/3d4be8e99c4f71d93e66a2d830d23e1008490abc))
|
|
15
|
+
|
|
16
|
+
## 0.5.0 (2026-01-15)
|
|
17
|
+
|
|
18
|
+
Full Changelog: [v0.4.0...v0.5.0](https://github.com/surgeapi/ruby-sdk/compare/v0.4.0...v0.5.0)
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **api:** add delete user endpoint ([424ea71](https://github.com/surgeapi/ruby-sdk/commit/424ea7107c3039b175ccdc6066d04dec9d094dfd))
|
|
23
|
+
|
|
3
24
|
## 0.4.0 (2026-01-10)
|
|
4
25
|
|
|
5
26
|
Full Changelog: [v0.3.0...v0.4.0](https://github.com/surgeapi/ruby-sdk/compare/v0.3.0...v0.4.0)
|
data/README.md
CHANGED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module SurgeAPI
|
|
4
|
+
module Models
|
|
5
|
+
class LinkFollowedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute account_id
|
|
7
|
+
# The ID of the account in which this event occurred
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :account_id, String
|
|
11
|
+
|
|
12
|
+
# @!attribute data
|
|
13
|
+
# The data associated with the event
|
|
14
|
+
#
|
|
15
|
+
# @return [SurgeAPI::Models::LinkFollowedWebhookEvent::Data]
|
|
16
|
+
required :data, -> { SurgeAPI::LinkFollowedWebhookEvent::Data }
|
|
17
|
+
|
|
18
|
+
# @!attribute timestamp
|
|
19
|
+
# The timestamp when this event occurred, in ISO8601 format
|
|
20
|
+
#
|
|
21
|
+
# @return [Time]
|
|
22
|
+
required :timestamp, Time
|
|
23
|
+
|
|
24
|
+
# @!attribute type
|
|
25
|
+
# The type of the event. Always `link.followed` for this event.
|
|
26
|
+
#
|
|
27
|
+
# @return [Symbol, :"link.followed"]
|
|
28
|
+
required :type, const: :"link.followed"
|
|
29
|
+
|
|
30
|
+
# @!method initialize(account_id:, data:, timestamp:, type: :"link.followed")
|
|
31
|
+
# @param account_id [String] The ID of the account in which this event occurred
|
|
32
|
+
#
|
|
33
|
+
# @param data [SurgeAPI::Models::LinkFollowedWebhookEvent::Data] The data associated with the event
|
|
34
|
+
#
|
|
35
|
+
# @param timestamp [Time] The timestamp when this event occurred, in ISO8601 format
|
|
36
|
+
#
|
|
37
|
+
# @param type [Symbol, :"link.followed"] The type of the event. Always `link.followed` for this event.
|
|
38
|
+
|
|
39
|
+
# @see SurgeAPI::Models::LinkFollowedWebhookEvent#data
|
|
40
|
+
class Data < SurgeAPI::Internal::Type::BaseModel
|
|
41
|
+
# @!attribute id
|
|
42
|
+
# The unique identifier for the link
|
|
43
|
+
#
|
|
44
|
+
# @return [String]
|
|
45
|
+
required :id, String
|
|
46
|
+
|
|
47
|
+
# @!attribute message_id
|
|
48
|
+
# The unique identifier for the message that contained the link
|
|
49
|
+
#
|
|
50
|
+
# @return [String]
|
|
51
|
+
required :message_id, String
|
|
52
|
+
|
|
53
|
+
# @!attribute url
|
|
54
|
+
# The original URL that was shortened
|
|
55
|
+
#
|
|
56
|
+
# @return [String]
|
|
57
|
+
required :url, String
|
|
58
|
+
|
|
59
|
+
# @!method initialize(id:, message_id:, url:)
|
|
60
|
+
# The data associated with the event
|
|
61
|
+
#
|
|
62
|
+
# @param id [String] The unique identifier for the link
|
|
63
|
+
#
|
|
64
|
+
# @param message_id [String] The unique identifier for the message that contained the link
|
|
65
|
+
#
|
|
66
|
+
# @param url [String] The original URL that was shortened
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -17,6 +17,8 @@ module SurgeAPI
|
|
|
17
17
|
|
|
18
18
|
variant :"conversation.created", -> { SurgeAPI::ConversationCreatedWebhookEvent }
|
|
19
19
|
|
|
20
|
+
variant :"link.followed", -> { SurgeAPI::LinkFollowedWebhookEvent }
|
|
21
|
+
|
|
20
22
|
variant :"message.delivered", -> { SurgeAPI::MessageDeliveredWebhookEvent }
|
|
21
23
|
|
|
22
24
|
variant :"message.failed", -> { SurgeAPI::MessageFailedWebhookEvent }
|
|
@@ -26,7 +28,7 @@ module SurgeAPI
|
|
|
26
28
|
variant :"message.sent", -> { SurgeAPI::MessageSentWebhookEvent }
|
|
27
29
|
|
|
28
30
|
# @!method self.variants
|
|
29
|
-
# @return [Array(SurgeAPI::Models::CallEndedWebhookEvent, SurgeAPI::Models::CampaignApprovedWebhookEvent, SurgeAPI::Models::ContactOptedInWebhookEvent, SurgeAPI::Models::ContactOptedOutWebhookEvent, SurgeAPI::Models::ConversationCreatedWebhookEvent, SurgeAPI::Models::MessageDeliveredWebhookEvent, SurgeAPI::Models::MessageFailedWebhookEvent, SurgeAPI::Models::MessageReceivedWebhookEvent, SurgeAPI::Models::MessageSentWebhookEvent)]
|
|
31
|
+
# @return [Array(SurgeAPI::Models::CallEndedWebhookEvent, SurgeAPI::Models::CampaignApprovedWebhookEvent, SurgeAPI::Models::ContactOptedInWebhookEvent, SurgeAPI::Models::ContactOptedOutWebhookEvent, SurgeAPI::Models::ConversationCreatedWebhookEvent, SurgeAPI::Models::LinkFollowedWebhookEvent, SurgeAPI::Models::MessageDeliveredWebhookEvent, SurgeAPI::Models::MessageFailedWebhookEvent, SurgeAPI::Models::MessageReceivedWebhookEvent, SurgeAPI::Models::MessageSentWebhookEvent)]
|
|
30
32
|
end
|
|
31
33
|
end
|
|
32
34
|
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module SurgeAPI
|
|
4
|
+
module Models
|
|
5
|
+
# @see SurgeAPI::Resources::Users#delete
|
|
6
|
+
class UserDeleteParams < SurgeAPI::Internal::Type::BaseModel
|
|
7
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!method initialize(request_options: {})
|
|
11
|
+
# @param request_options [SurgeAPI::RequestOptions, Hash{Symbol=>Object}]
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
data/lib/surge_api/models.rb
CHANGED
|
@@ -81,6 +81,8 @@ module SurgeAPI
|
|
|
81
81
|
|
|
82
82
|
Error = SurgeAPI::Models::Error
|
|
83
83
|
|
|
84
|
+
LinkFollowedWebhookEvent = SurgeAPI::Models::LinkFollowedWebhookEvent
|
|
85
|
+
|
|
84
86
|
Message = SurgeAPI::Models::Message
|
|
85
87
|
|
|
86
88
|
MessageCreateParams = SurgeAPI::Models::MessageCreateParams
|
|
@@ -111,6 +113,8 @@ module SurgeAPI
|
|
|
111
113
|
|
|
112
114
|
UserCreateTokenParams = SurgeAPI::Models::UserCreateTokenParams
|
|
113
115
|
|
|
116
|
+
UserDeleteParams = SurgeAPI::Models::UserDeleteParams
|
|
117
|
+
|
|
114
118
|
UserRetrieveParams = SurgeAPI::Models::UserRetrieveParams
|
|
115
119
|
|
|
116
120
|
UserTokenResponse = SurgeAPI::Models::UserTokenResponse
|
|
@@ -83,6 +83,30 @@ module SurgeAPI
|
|
|
83
83
|
)
|
|
84
84
|
end
|
|
85
85
|
|
|
86
|
+
# Deletes a user.
|
|
87
|
+
#
|
|
88
|
+
# Once a user has been deleted, they will no longer be permitted to access any of
|
|
89
|
+
# the embedded components. Attempting to access a deleted user will return a 404
|
|
90
|
+
# Not Found error.
|
|
91
|
+
#
|
|
92
|
+
# @overload delete(id, request_options: {})
|
|
93
|
+
#
|
|
94
|
+
# @param id [String] The ID of the user to delete.
|
|
95
|
+
#
|
|
96
|
+
# @param request_options [SurgeAPI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
97
|
+
#
|
|
98
|
+
# @return [SurgeAPI::Models::User]
|
|
99
|
+
#
|
|
100
|
+
# @see SurgeAPI::Models::UserDeleteParams
|
|
101
|
+
def delete(id, params = {})
|
|
102
|
+
@client.request(
|
|
103
|
+
method: :delete,
|
|
104
|
+
path: ["users/%1$s", id],
|
|
105
|
+
model: SurgeAPI::User,
|
|
106
|
+
options: params[:request_options]
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
|
|
86
110
|
# Provides a mechanism for having Surge create a signed token for embeds instead
|
|
87
111
|
# of signing with your own signing key.
|
|
88
112
|
#
|
|
@@ -5,7 +5,7 @@ module SurgeAPI
|
|
|
5
5
|
class Webhooks
|
|
6
6
|
# @param payload [String] The raw webhook payload as a string
|
|
7
7
|
#
|
|
8
|
-
# @return [SurgeAPI::Models::CallEndedWebhookEvent, SurgeAPI::Models::CampaignApprovedWebhookEvent, SurgeAPI::Models::ContactOptedInWebhookEvent, SurgeAPI::Models::ContactOptedOutWebhookEvent, SurgeAPI::Models::ConversationCreatedWebhookEvent, SurgeAPI::Models::MessageDeliveredWebhookEvent, SurgeAPI::Models::MessageFailedWebhookEvent, SurgeAPI::Models::MessageReceivedWebhookEvent, SurgeAPI::Models::MessageSentWebhookEvent]
|
|
8
|
+
# @return [SurgeAPI::Models::CallEndedWebhookEvent, SurgeAPI::Models::CampaignApprovedWebhookEvent, SurgeAPI::Models::ContactOptedInWebhookEvent, SurgeAPI::Models::ContactOptedOutWebhookEvent, SurgeAPI::Models::ConversationCreatedWebhookEvent, SurgeAPI::Models::LinkFollowedWebhookEvent, SurgeAPI::Models::MessageDeliveredWebhookEvent, SurgeAPI::Models::MessageFailedWebhookEvent, SurgeAPI::Models::MessageReceivedWebhookEvent, SurgeAPI::Models::MessageSentWebhookEvent]
|
|
9
9
|
def unwrap(payload)
|
|
10
10
|
parsed = JSON.parse(payload, symbolize_names: true)
|
|
11
11
|
SurgeAPI::Internal::Type::Converter.coerce(SurgeAPI::Models::UnwrapWebhookEvent, parsed)
|
data/lib/surge_api/version.rb
CHANGED
data/lib/surge_api.rb
CHANGED
|
@@ -74,6 +74,7 @@ require_relative "surge_api/models/contact_retrieve_params"
|
|
|
74
74
|
require_relative "surge_api/models/contact_update_params"
|
|
75
75
|
require_relative "surge_api/models/conversation_created_webhook_event"
|
|
76
76
|
require_relative "surge_api/models/error"
|
|
77
|
+
require_relative "surge_api/models/link_followed_webhook_event"
|
|
77
78
|
require_relative "surge_api/models/message"
|
|
78
79
|
require_relative "surge_api/models/message_create_params"
|
|
79
80
|
require_relative "surge_api/models/message_delivered_webhook_event"
|
|
@@ -88,6 +89,7 @@ require_relative "surge_api/models/unwrap_webhook_event"
|
|
|
88
89
|
require_relative "surge_api/models/user"
|
|
89
90
|
require_relative "surge_api/models/user_create_params"
|
|
90
91
|
require_relative "surge_api/models/user_create_token_params"
|
|
92
|
+
require_relative "surge_api/models/user_delete_params"
|
|
91
93
|
require_relative "surge_api/models/user_retrieve_params"
|
|
92
94
|
require_relative "surge_api/models/user_token_response"
|
|
93
95
|
require_relative "surge_api/models/user_update_params"
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SurgeAPI
|
|
4
|
+
module Models
|
|
5
|
+
class LinkFollowedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(SurgeAPI::LinkFollowedWebhookEvent, SurgeAPI::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The ID of the account in which this event occurred
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :account_id
|
|
14
|
+
|
|
15
|
+
# The data associated with the event
|
|
16
|
+
sig { returns(SurgeAPI::LinkFollowedWebhookEvent::Data) }
|
|
17
|
+
attr_reader :data
|
|
18
|
+
|
|
19
|
+
sig do
|
|
20
|
+
params(data: SurgeAPI::LinkFollowedWebhookEvent::Data::OrHash).void
|
|
21
|
+
end
|
|
22
|
+
attr_writer :data
|
|
23
|
+
|
|
24
|
+
# The timestamp when this event occurred, in ISO8601 format
|
|
25
|
+
sig { returns(Time) }
|
|
26
|
+
attr_accessor :timestamp
|
|
27
|
+
|
|
28
|
+
# The type of the event. Always `link.followed` for this event.
|
|
29
|
+
sig { returns(Symbol) }
|
|
30
|
+
attr_accessor :type
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
account_id: String,
|
|
35
|
+
data: SurgeAPI::LinkFollowedWebhookEvent::Data::OrHash,
|
|
36
|
+
timestamp: Time,
|
|
37
|
+
type: Symbol
|
|
38
|
+
).returns(T.attached_class)
|
|
39
|
+
end
|
|
40
|
+
def self.new(
|
|
41
|
+
# The ID of the account in which this event occurred
|
|
42
|
+
account_id:,
|
|
43
|
+
# The data associated with the event
|
|
44
|
+
data:,
|
|
45
|
+
# The timestamp when this event occurred, in ISO8601 format
|
|
46
|
+
timestamp:,
|
|
47
|
+
# The type of the event. Always `link.followed` for this event.
|
|
48
|
+
type: :"link.followed"
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
sig do
|
|
53
|
+
override.returns(
|
|
54
|
+
{
|
|
55
|
+
account_id: String,
|
|
56
|
+
data: SurgeAPI::LinkFollowedWebhookEvent::Data,
|
|
57
|
+
timestamp: Time,
|
|
58
|
+
type: Symbol
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
def to_hash
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
class Data < SurgeAPI::Internal::Type::BaseModel
|
|
66
|
+
OrHash =
|
|
67
|
+
T.type_alias do
|
|
68
|
+
T.any(
|
|
69
|
+
SurgeAPI::LinkFollowedWebhookEvent::Data,
|
|
70
|
+
SurgeAPI::Internal::AnyHash
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# The unique identifier for the link
|
|
75
|
+
sig { returns(String) }
|
|
76
|
+
attr_accessor :id
|
|
77
|
+
|
|
78
|
+
# The unique identifier for the message that contained the link
|
|
79
|
+
sig { returns(String) }
|
|
80
|
+
attr_accessor :message_id
|
|
81
|
+
|
|
82
|
+
# The original URL that was shortened
|
|
83
|
+
sig { returns(String) }
|
|
84
|
+
attr_accessor :url
|
|
85
|
+
|
|
86
|
+
# The data associated with the event
|
|
87
|
+
sig do
|
|
88
|
+
params(id: String, message_id: String, url: String).returns(
|
|
89
|
+
T.attached_class
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
def self.new(
|
|
93
|
+
# The unique identifier for the link
|
|
94
|
+
id:,
|
|
95
|
+
# The unique identifier for the message that contained the link
|
|
96
|
+
message_id:,
|
|
97
|
+
# The original URL that was shortened
|
|
98
|
+
url:
|
|
99
|
+
)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
sig do
|
|
103
|
+
override.returns({ id: String, message_id: String, url: String })
|
|
104
|
+
end
|
|
105
|
+
def to_hash
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
|
@@ -13,6 +13,7 @@ module SurgeAPI
|
|
|
13
13
|
SurgeAPI::ContactOptedInWebhookEvent,
|
|
14
14
|
SurgeAPI::ContactOptedOutWebhookEvent,
|
|
15
15
|
SurgeAPI::ConversationCreatedWebhookEvent,
|
|
16
|
+
SurgeAPI::LinkFollowedWebhookEvent,
|
|
16
17
|
SurgeAPI::MessageDeliveredWebhookEvent,
|
|
17
18
|
SurgeAPI::MessageFailedWebhookEvent,
|
|
18
19
|
SurgeAPI::MessageReceivedWebhookEvent,
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SurgeAPI
|
|
4
|
+
module Models
|
|
5
|
+
class UserDeleteParams < SurgeAPI::Internal::Type::BaseModel
|
|
6
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(SurgeAPI::UserDeleteParams, SurgeAPI::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig do
|
|
15
|
+
params(request_options: SurgeAPI::RequestOptions::OrHash).returns(
|
|
16
|
+
T.attached_class
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
def self.new(request_options: {})
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ request_options: SurgeAPI::RequestOptions }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/rbi/surge_api/models.rbi
CHANGED
|
@@ -44,6 +44,8 @@ module SurgeAPI
|
|
|
44
44
|
|
|
45
45
|
Error = SurgeAPI::Models::Error
|
|
46
46
|
|
|
47
|
+
LinkFollowedWebhookEvent = SurgeAPI::Models::LinkFollowedWebhookEvent
|
|
48
|
+
|
|
47
49
|
Message = SurgeAPI::Models::Message
|
|
48
50
|
|
|
49
51
|
MessageCreateParams = SurgeAPI::Models::MessageCreateParams
|
|
@@ -74,6 +76,8 @@ module SurgeAPI
|
|
|
74
76
|
|
|
75
77
|
UserCreateTokenParams = SurgeAPI::Models::UserCreateTokenParams
|
|
76
78
|
|
|
79
|
+
UserDeleteParams = SurgeAPI::Models::UserDeleteParams
|
|
80
|
+
|
|
77
81
|
UserRetrieveParams = SurgeAPI::Models::UserRetrieveParams
|
|
78
82
|
|
|
79
83
|
UserTokenResponse = SurgeAPI::Models::UserTokenResponse
|
|
@@ -69,6 +69,24 @@ module SurgeAPI
|
|
|
69
69
|
)
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
+
# Deletes a user.
|
|
73
|
+
#
|
|
74
|
+
# Once a user has been deleted, they will no longer be permitted to access any of
|
|
75
|
+
# the embedded components. Attempting to access a deleted user will return a 404
|
|
76
|
+
# Not Found error.
|
|
77
|
+
sig do
|
|
78
|
+
params(
|
|
79
|
+
id: String,
|
|
80
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
|
81
|
+
).returns(SurgeAPI::User)
|
|
82
|
+
end
|
|
83
|
+
def delete(
|
|
84
|
+
# The ID of the user to delete.
|
|
85
|
+
id,
|
|
86
|
+
request_options: {}
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
|
|
72
90
|
# Provides a mechanism for having Surge create a signed token for embeds instead
|
|
73
91
|
# of signing with your own signing key.
|
|
74
92
|
sig do
|
|
@@ -11,6 +11,7 @@ module SurgeAPI
|
|
|
11
11
|
SurgeAPI::ContactOptedInWebhookEvent,
|
|
12
12
|
SurgeAPI::ContactOptedOutWebhookEvent,
|
|
13
13
|
SurgeAPI::ConversationCreatedWebhookEvent,
|
|
14
|
+
SurgeAPI::LinkFollowedWebhookEvent,
|
|
14
15
|
SurgeAPI::MessageDeliveredWebhookEvent,
|
|
15
16
|
SurgeAPI::MessageFailedWebhookEvent,
|
|
16
17
|
SurgeAPI::MessageReceivedWebhookEvent,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module SurgeAPI
|
|
2
|
+
module Models
|
|
3
|
+
type link_followed_webhook_event =
|
|
4
|
+
{
|
|
5
|
+
account_id: String,
|
|
6
|
+
data: SurgeAPI::LinkFollowedWebhookEvent::Data,
|
|
7
|
+
timestamp: Time,
|
|
8
|
+
type: :"link.followed"
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
class LinkFollowedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
|
|
12
|
+
attr_accessor account_id: String
|
|
13
|
+
|
|
14
|
+
attr_accessor data: SurgeAPI::LinkFollowedWebhookEvent::Data
|
|
15
|
+
|
|
16
|
+
attr_accessor timestamp: Time
|
|
17
|
+
|
|
18
|
+
attr_accessor type: :"link.followed"
|
|
19
|
+
|
|
20
|
+
def initialize: (
|
|
21
|
+
account_id: String,
|
|
22
|
+
data: SurgeAPI::LinkFollowedWebhookEvent::Data,
|
|
23
|
+
timestamp: Time,
|
|
24
|
+
?type: :"link.followed"
|
|
25
|
+
) -> void
|
|
26
|
+
|
|
27
|
+
def to_hash: -> {
|
|
28
|
+
account_id: String,
|
|
29
|
+
data: SurgeAPI::LinkFollowedWebhookEvent::Data,
|
|
30
|
+
timestamp: Time,
|
|
31
|
+
type: :"link.followed"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
type data = { id: String, message_id: String, url: String }
|
|
35
|
+
|
|
36
|
+
class Data < SurgeAPI::Internal::Type::BaseModel
|
|
37
|
+
attr_accessor id: String
|
|
38
|
+
|
|
39
|
+
attr_accessor message_id: String
|
|
40
|
+
|
|
41
|
+
attr_accessor url: String
|
|
42
|
+
|
|
43
|
+
def initialize: (id: String, message_id: String, url: String) -> void
|
|
44
|
+
|
|
45
|
+
def to_hash: -> { id: String, message_id: String, url: String }
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -6,6 +6,7 @@ module SurgeAPI
|
|
|
6
6
|
| SurgeAPI::ContactOptedInWebhookEvent
|
|
7
7
|
| SurgeAPI::ContactOptedOutWebhookEvent
|
|
8
8
|
| SurgeAPI::ConversationCreatedWebhookEvent
|
|
9
|
+
| SurgeAPI::LinkFollowedWebhookEvent
|
|
9
10
|
| SurgeAPI::MessageDeliveredWebhookEvent
|
|
10
11
|
| SurgeAPI::MessageFailedWebhookEvent
|
|
11
12
|
| SurgeAPI::MessageReceivedWebhookEvent
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module SurgeAPI
|
|
2
|
+
module Models
|
|
3
|
+
type user_delete_params =
|
|
4
|
+
{ } & SurgeAPI::Internal::Type::request_parameters
|
|
5
|
+
|
|
6
|
+
class UserDeleteParams < SurgeAPI::Internal::Type::BaseModel
|
|
7
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
def initialize: (?request_options: SurgeAPI::request_opts) -> void
|
|
11
|
+
|
|
12
|
+
def to_hash: -> { request_options: SurgeAPI::RequestOptions }
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
data/sig/surge_api/models.rbs
CHANGED
|
@@ -41,6 +41,8 @@ module SurgeAPI
|
|
|
41
41
|
|
|
42
42
|
class Error = SurgeAPI::Models::Error
|
|
43
43
|
|
|
44
|
+
class LinkFollowedWebhookEvent = SurgeAPI::Models::LinkFollowedWebhookEvent
|
|
45
|
+
|
|
44
46
|
class Message = SurgeAPI::Models::Message
|
|
45
47
|
|
|
46
48
|
class MessageCreateParams = SurgeAPI::Models::MessageCreateParams
|
|
@@ -71,6 +73,8 @@ module SurgeAPI
|
|
|
71
73
|
|
|
72
74
|
class UserCreateTokenParams = SurgeAPI::Models::UserCreateTokenParams
|
|
73
75
|
|
|
76
|
+
class UserDeleteParams = SurgeAPI::Models::UserDeleteParams
|
|
77
|
+
|
|
74
78
|
class UserRetrieveParams = SurgeAPI::Models::UserRetrieveParams
|
|
75
79
|
|
|
76
80
|
class UserTokenResponse = SurgeAPI::Models::UserTokenResponse
|
|
@@ -24,6 +24,11 @@ module SurgeAPI
|
|
|
24
24
|
?request_options: SurgeAPI::request_opts
|
|
25
25
|
) -> SurgeAPI::User
|
|
26
26
|
|
|
27
|
+
def delete: (
|
|
28
|
+
String id,
|
|
29
|
+
?request_options: SurgeAPI::request_opts
|
|
30
|
+
) -> SurgeAPI::User
|
|
31
|
+
|
|
27
32
|
def create_token: (
|
|
28
33
|
String user_id,
|
|
29
34
|
?duration_seconds: Integer,
|
|
@@ -8,6 +8,7 @@ module SurgeAPI
|
|
|
8
8
|
| SurgeAPI::ContactOptedInWebhookEvent
|
|
9
9
|
| SurgeAPI::ContactOptedOutWebhookEvent
|
|
10
10
|
| SurgeAPI::ConversationCreatedWebhookEvent
|
|
11
|
+
| SurgeAPI::LinkFollowedWebhookEvent
|
|
11
12
|
| SurgeAPI::MessageDeliveredWebhookEvent
|
|
12
13
|
| SurgeAPI::MessageFailedWebhookEvent
|
|
13
14
|
| SurgeAPI::MessageReceivedWebhookEvent
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: surge_api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Surge
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-01-
|
|
11
|
+
date: 2026-01-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|
|
@@ -90,6 +90,7 @@ files:
|
|
|
90
90
|
- lib/surge_api/models/contact_update_params.rb
|
|
91
91
|
- lib/surge_api/models/conversation_created_webhook_event.rb
|
|
92
92
|
- lib/surge_api/models/error.rb
|
|
93
|
+
- lib/surge_api/models/link_followed_webhook_event.rb
|
|
93
94
|
- lib/surge_api/models/message.rb
|
|
94
95
|
- lib/surge_api/models/message_create_params.rb
|
|
95
96
|
- lib/surge_api/models/message_delivered_webhook_event.rb
|
|
@@ -105,6 +106,7 @@ files:
|
|
|
105
106
|
- lib/surge_api/models/user.rb
|
|
106
107
|
- lib/surge_api/models/user_create_params.rb
|
|
107
108
|
- lib/surge_api/models/user_create_token_params.rb
|
|
109
|
+
- lib/surge_api/models/user_delete_params.rb
|
|
108
110
|
- lib/surge_api/models/user_retrieve_params.rb
|
|
109
111
|
- lib/surge_api/models/user_token_response.rb
|
|
110
112
|
- lib/surge_api/models/user_update_params.rb
|
|
@@ -165,6 +167,7 @@ files:
|
|
|
165
167
|
- rbi/surge_api/models/contact_update_params.rbi
|
|
166
168
|
- rbi/surge_api/models/conversation_created_webhook_event.rbi
|
|
167
169
|
- rbi/surge_api/models/error.rbi
|
|
170
|
+
- rbi/surge_api/models/link_followed_webhook_event.rbi
|
|
168
171
|
- rbi/surge_api/models/message.rbi
|
|
169
172
|
- rbi/surge_api/models/message_create_params.rbi
|
|
170
173
|
- rbi/surge_api/models/message_delivered_webhook_event.rbi
|
|
@@ -180,6 +183,7 @@ files:
|
|
|
180
183
|
- rbi/surge_api/models/user.rbi
|
|
181
184
|
- rbi/surge_api/models/user_create_params.rbi
|
|
182
185
|
- rbi/surge_api/models/user_create_token_params.rbi
|
|
186
|
+
- rbi/surge_api/models/user_delete_params.rbi
|
|
183
187
|
- rbi/surge_api/models/user_retrieve_params.rbi
|
|
184
188
|
- rbi/surge_api/models/user_token_response.rbi
|
|
185
189
|
- rbi/surge_api/models/user_update_params.rbi
|
|
@@ -239,6 +243,7 @@ files:
|
|
|
239
243
|
- sig/surge_api/models/contact_update_params.rbs
|
|
240
244
|
- sig/surge_api/models/conversation_created_webhook_event.rbs
|
|
241
245
|
- sig/surge_api/models/error.rbs
|
|
246
|
+
- sig/surge_api/models/link_followed_webhook_event.rbs
|
|
242
247
|
- sig/surge_api/models/message.rbs
|
|
243
248
|
- sig/surge_api/models/message_create_params.rbs
|
|
244
249
|
- sig/surge_api/models/message_delivered_webhook_event.rbs
|
|
@@ -254,6 +259,7 @@ files:
|
|
|
254
259
|
- sig/surge_api/models/user.rbs
|
|
255
260
|
- sig/surge_api/models/user_create_params.rbs
|
|
256
261
|
- sig/surge_api/models/user_create_token_params.rbs
|
|
262
|
+
- sig/surge_api/models/user_delete_params.rbs
|
|
257
263
|
- sig/surge_api/models/user_retrieve_params.rbs
|
|
258
264
|
- sig/surge_api/models/user_token_response.rbs
|
|
259
265
|
- sig/surge_api/models/user_update_params.rbs
|