surge_api 0.1.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 +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +28 -0
- data/README.md +286 -0
- data/SECURITY.md +27 -0
- data/lib/surge_api/client.rb +106 -0
- data/lib/surge_api/errors.rb +228 -0
- data/lib/surge_api/file_part.rb +55 -0
- data/lib/surge_api/internal/transport/base_client.rb +567 -0
- data/lib/surge_api/internal/transport/pooled_net_requester.rb +201 -0
- data/lib/surge_api/internal/type/array_of.rb +168 -0
- data/lib/surge_api/internal/type/base_model.rb +531 -0
- data/lib/surge_api/internal/type/base_page.rb +55 -0
- data/lib/surge_api/internal/type/boolean.rb +77 -0
- data/lib/surge_api/internal/type/converter.rb +327 -0
- data/lib/surge_api/internal/type/enum.rb +131 -0
- data/lib/surge_api/internal/type/file_input.rb +108 -0
- data/lib/surge_api/internal/type/hash_of.rb +188 -0
- data/lib/surge_api/internal/type/request_parameters.rb +42 -0
- data/lib/surge_api/internal/type/union.rb +250 -0
- data/lib/surge_api/internal/type/unknown.rb +81 -0
- data/lib/surge_api/internal/util.rb +915 -0
- data/lib/surge_api/internal.rb +20 -0
- data/lib/surge_api/models/account.rb +60 -0
- data/lib/surge_api/models/account_create_params.rb +481 -0
- data/lib/surge_api/models/account_retrieve_status_params.rb +32 -0
- data/lib/surge_api/models/account_status.rb +104 -0
- data/lib/surge_api/models/account_update_params.rb +480 -0
- data/lib/surge_api/models/blast.rb +61 -0
- data/lib/surge_api/models/blast_create_params.rb +90 -0
- data/lib/surge_api/models/call_ended_webhook_event.rb +106 -0
- data/lib/surge_api/models/campaign.rb +208 -0
- data/lib/surge_api/models/campaign_approved_webhook_event.rb +74 -0
- data/lib/surge_api/models/campaign_create_params.rb +202 -0
- data/lib/surge_api/models/contact.rb +59 -0
- data/lib/surge_api/models/contact_create_params.rb +54 -0
- data/lib/surge_api/models/contact_retrieve_params.rb +14 -0
- data/lib/surge_api/models/contact_update_params.rb +54 -0
- data/lib/surge_api/models/conversation_created_webhook_event.rb +70 -0
- data/lib/surge_api/models/error.rb +34 -0
- data/lib/surge_api/models/message.rb +146 -0
- data/lib/surge_api/models/message_create_params.rb +153 -0
- data/lib/surge_api/models/message_delivered_webhook_event.rb +159 -0
- data/lib/surge_api/models/message_failed_webhook_event.rb +167 -0
- data/lib/surge_api/models/message_received_webhook_event.rb +159 -0
- data/lib/surge_api/models/message_sent_webhook_event.rb +159 -0
- data/lib/surge_api/models/organization.rb +419 -0
- data/lib/surge_api/models/phone_number.rb +48 -0
- data/lib/surge_api/models/phone_number_purchase_params.rb +65 -0
- data/lib/surge_api/models/unwrap_webhook_event.rb +26 -0
- data/lib/surge_api/models/user.rb +51 -0
- data/lib/surge_api/models/user_create_params.rb +46 -0
- data/lib/surge_api/models/user_create_token_params.rb +22 -0
- data/lib/surge_api/models/user_retrieve_params.rb +14 -0
- data/lib/surge_api/models/user_token_response.rb +19 -0
- data/lib/surge_api/models/user_update_params.rb +46 -0
- data/lib/surge_api/models/verification.rb +58 -0
- data/lib/surge_api/models/verification_check.rb +43 -0
- data/lib/surge_api/models/verification_check_params.rb +22 -0
- data/lib/surge_api/models/verification_create_params.rb +22 -0
- data/lib/surge_api/models/webhook_unwrap_params.rb +14 -0
- data/lib/surge_api/models.rb +117 -0
- data/lib/surge_api/request_options.rb +77 -0
- data/lib/surge_api/resources/accounts.rb +102 -0
- data/lib/surge_api/resources/blasts.rb +53 -0
- data/lib/surge_api/resources/campaigns.rb +57 -0
- data/lib/surge_api/resources/contacts.rb +99 -0
- data/lib/surge_api/resources/messages.rb +75 -0
- data/lib/surge_api/resources/phone_numbers.rb +48 -0
- data/lib/surge_api/resources/users.rb +119 -0
- data/lib/surge_api/resources/verifications.rb +60 -0
- data/lib/surge_api/resources/webhooks.rb +22 -0
- data/lib/surge_api/version.rb +5 -0
- data/lib/surge_api.rb +100 -0
- data/manifest.yaml +15 -0
- data/rbi/surge_api/client.rbi +73 -0
- data/rbi/surge_api/errors.rbi +205 -0
- data/rbi/surge_api/file_part.rbi +37 -0
- data/rbi/surge_api/internal/transport/base_client.rbi +292 -0
- data/rbi/surge_api/internal/transport/pooled_net_requester.rbi +79 -0
- data/rbi/surge_api/internal/type/array_of.rbi +104 -0
- data/rbi/surge_api/internal/type/base_model.rbi +302 -0
- data/rbi/surge_api/internal/type/base_page.rbi +42 -0
- data/rbi/surge_api/internal/type/boolean.rbi +58 -0
- data/rbi/surge_api/internal/type/converter.rbi +216 -0
- data/rbi/surge_api/internal/type/enum.rbi +82 -0
- data/rbi/surge_api/internal/type/file_input.rbi +59 -0
- data/rbi/surge_api/internal/type/hash_of.rbi +104 -0
- data/rbi/surge_api/internal/type/request_parameters.rbi +29 -0
- data/rbi/surge_api/internal/type/union.rbi +128 -0
- data/rbi/surge_api/internal/type/unknown.rbi +58 -0
- data/rbi/surge_api/internal/util.rbi +487 -0
- data/rbi/surge_api/internal.rbi +16 -0
- data/rbi/surge_api/models/account.rbi +83 -0
- data/rbi/surge_api/models/account_create_params.rbi +1104 -0
- data/rbi/surge_api/models/account_retrieve_status_params.rbi +96 -0
- data/rbi/surge_api/models/account_status.rbi +185 -0
- data/rbi/surge_api/models/account_update_params.rbi +1105 -0
- data/rbi/surge_api/models/blast.rbi +108 -0
- data/rbi/surge_api/models/blast_create_params.rbi +145 -0
- data/rbi/surge_api/models/call_ended_webhook_event.rbi +205 -0
- data/rbi/surge_api/models/campaign.rbi +331 -0
- data/rbi/surge_api/models/campaign_approved_webhook_event.rbi +149 -0
- data/rbi/surge_api/models/campaign_create_params.rbi +386 -0
- data/rbi/surge_api/models/contact.rbi +88 -0
- data/rbi/surge_api/models/contact_create_params.rbi +87 -0
- data/rbi/surge_api/models/contact_retrieve_params.rbi +27 -0
- data/rbi/surge_api/models/contact_update_params.rbi +87 -0
- data/rbi/surge_api/models/conversation_created_webhook_event.rbi +129 -0
- data/rbi/surge_api/models/error.rbi +51 -0
- data/rbi/surge_api/models/message.rbi +283 -0
- data/rbi/surge_api/models/message_create_params.rbi +281 -0
- data/rbi/surge_api/models/message_delivered_webhook_event.rbi +331 -0
- data/rbi/surge_api/models/message_failed_webhook_event.rbi +335 -0
- data/rbi/surge_api/models/message_received_webhook_event.rbi +331 -0
- data/rbi/surge_api/models/message_sent_webhook_event.rbi +322 -0
- data/rbi/surge_api/models/organization.rbi +649 -0
- data/rbi/surge_api/models/phone_number.rbi +72 -0
- data/rbi/surge_api/models/phone_number_purchase_params.rbi +122 -0
- data/rbi/surge_api/models/unwrap_webhook_event.rbi +26 -0
- data/rbi/surge_api/models/user.rbi +80 -0
- data/rbi/surge_api/models/user_create_params.rbi +76 -0
- data/rbi/surge_api/models/user_create_token_params.rbi +46 -0
- data/rbi/surge_api/models/user_retrieve_params.rbi +27 -0
- data/rbi/surge_api/models/user_token_response.rbi +31 -0
- data/rbi/surge_api/models/user_update_params.rbi +76 -0
- data/rbi/surge_api/models/verification.rbi +86 -0
- data/rbi/surge_api/models/verification_check.rbi +84 -0
- data/rbi/surge_api/models/verification_check_params.rbi +40 -0
- data/rbi/surge_api/models/verification_create_params.rbi +40 -0
- data/rbi/surge_api/models/webhook_unwrap_params.rbi +27 -0
- data/rbi/surge_api/models.rbi +80 -0
- data/rbi/surge_api/request_options.rbi +59 -0
- data/rbi/surge_api/resources/accounts.rbi +94 -0
- data/rbi/surge_api/resources/blasts.rbi +48 -0
- data/rbi/surge_api/resources/campaigns.rbi +115 -0
- data/rbi/surge_api/resources/contacts.rbi +85 -0
- data/rbi/surge_api/resources/messages.rbi +72 -0
- data/rbi/surge_api/resources/phone_numbers.rbi +43 -0
- data/rbi/surge_api/resources/users.rbi +96 -0
- data/rbi/surge_api/resources/verifications.rbi +43 -0
- data/rbi/surge_api/resources/webhooks.rbi +31 -0
- data/rbi/surge_api/version.rbi +5 -0
- data/sig/surge_api/client.rbs +42 -0
- data/sig/surge_api/errors.rbs +117 -0
- data/sig/surge_api/file_part.rbs +21 -0
- data/sig/surge_api/internal/transport/base_client.rbs +131 -0
- data/sig/surge_api/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/surge_api/internal/type/array_of.rbs +48 -0
- data/sig/surge_api/internal/type/base_model.rbs +102 -0
- data/sig/surge_api/internal/type/base_page.rbs +24 -0
- data/sig/surge_api/internal/type/boolean.rbs +26 -0
- data/sig/surge_api/internal/type/converter.rbs +79 -0
- data/sig/surge_api/internal/type/enum.rbs +32 -0
- data/sig/surge_api/internal/type/file_input.rbs +25 -0
- data/sig/surge_api/internal/type/hash_of.rbs +48 -0
- data/sig/surge_api/internal/type/request_parameters.rbs +17 -0
- data/sig/surge_api/internal/type/union.rbs +52 -0
- data/sig/surge_api/internal/type/unknown.rbs +26 -0
- data/sig/surge_api/internal/util.rbs +185 -0
- data/sig/surge_api/internal.rbs +9 -0
- data/sig/surge_api/models/account.rbs +40 -0
- data/sig/surge_api/models/account_create_params.rbs +433 -0
- data/sig/surge_api/models/account_retrieve_status_params.rbs +40 -0
- data/sig/surge_api/models/account_status.rbs +71 -0
- data/sig/surge_api/models/account_update_params.rbs +435 -0
- data/sig/surge_api/models/blast.rbs +64 -0
- data/sig/surge_api/models/blast_create_params.rbs +82 -0
- data/sig/surge_api/models/call_ended_webhook_event.rbs +99 -0
- data/sig/surge_api/models/campaign.rbs +122 -0
- data/sig/surge_api/models/campaign_approved_webhook_event.rbs +67 -0
- data/sig/surge_api/models/campaign_create_params.rbs +127 -0
- data/sig/surge_api/models/contact.rbs +53 -0
- data/sig/surge_api/models/contact_create_params.rbs +54 -0
- data/sig/surge_api/models/contact_retrieve_params.rbs +15 -0
- data/sig/surge_api/models/contact_update_params.rbs +54 -0
- data/sig/surge_api/models/conversation_created_webhook_event.rbs +62 -0
- data/sig/surge_api/models/error.rbs +27 -0
- data/sig/surge_api/models/message.rbs +138 -0
- data/sig/surge_api/models/message_create_params.rbs +140 -0
- data/sig/surge_api/models/message_delivered_webhook_event.rbs +143 -0
- data/sig/surge_api/models/message_failed_webhook_event.rbs +148 -0
- data/sig/surge_api/models/message_received_webhook_event.rbs +143 -0
- data/sig/surge_api/models/message_sent_webhook_event.rbs +143 -0
- data/sig/surge_api/models/organization.rbs +385 -0
- data/sig/surge_api/models/phone_number.rbs +37 -0
- data/sig/surge_api/models/phone_number_purchase_params.rbs +62 -0
- data/sig/surge_api/models/unwrap_webhook_event.rbs +18 -0
- data/sig/surge_api/models/user.rbs +48 -0
- data/sig/surge_api/models/user_create_params.rbs +47 -0
- data/sig/surge_api/models/user_create_token_params.rbs +26 -0
- data/sig/surge_api/models/user_retrieve_params.rbs +15 -0
- data/sig/surge_api/models/user_token_response.rbs +15 -0
- data/sig/surge_api/models/user_update_params.rbs +47 -0
- data/sig/surge_api/models/verification.rbs +48 -0
- data/sig/surge_api/models/verification_check.rbs +45 -0
- data/sig/surge_api/models/verification_check_params.rbs +23 -0
- data/sig/surge_api/models/verification_create_params.rbs +23 -0
- data/sig/surge_api/models/webhook_unwrap_params.rbs +15 -0
- data/sig/surge_api/models.rbs +77 -0
- data/sig/surge_api/request_options.rbs +34 -0
- data/sig/surge_api/resources/accounts.rbs +30 -0
- data/sig/surge_api/resources/blasts.rbs +19 -0
- data/sig/surge_api/resources/campaigns.rbs +21 -0
- data/sig/surge_api/resources/contacts.rbs +32 -0
- data/sig/surge_api/resources/messages.rbs +18 -0
- data/sig/surge_api/resources/phone_numbers.rbs +16 -0
- data/sig/surge_api/resources/users.rbs +36 -0
- data/sig/surge_api/resources/verifications.rbs +18 -0
- data/sig/surge_api/resources/webhooks.rbs +17 -0
- data/sig/surge_api/version.rbs +3 -0
- metadata +269 -0
@@ -0,0 +1,138 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type message =
|
4
|
+
{
|
5
|
+
id: String,
|
6
|
+
attachments: ::Array[SurgeAPI::Message::Attachment],
|
7
|
+
body: String,
|
8
|
+
conversation: SurgeAPI::Message::Conversation
|
9
|
+
}
|
10
|
+
|
11
|
+
class Message < SurgeAPI::Internal::Type::BaseModel
|
12
|
+
attr_reader id: String?
|
13
|
+
|
14
|
+
def id=: (String) -> String
|
15
|
+
|
16
|
+
attr_reader attachments: ::Array[SurgeAPI::Message::Attachment]?
|
17
|
+
|
18
|
+
def attachments=: (
|
19
|
+
::Array[SurgeAPI::Message::Attachment]
|
20
|
+
) -> ::Array[SurgeAPI::Message::Attachment]
|
21
|
+
|
22
|
+
attr_reader body: String?
|
23
|
+
|
24
|
+
def body=: (String) -> String
|
25
|
+
|
26
|
+
attr_reader conversation: SurgeAPI::Message::Conversation?
|
27
|
+
|
28
|
+
def conversation=: (
|
29
|
+
SurgeAPI::Message::Conversation
|
30
|
+
) -> SurgeAPI::Message::Conversation
|
31
|
+
|
32
|
+
def initialize: (
|
33
|
+
?id: String,
|
34
|
+
?attachments: ::Array[SurgeAPI::Message::Attachment],
|
35
|
+
?body: String,
|
36
|
+
?conversation: SurgeAPI::Message::Conversation
|
37
|
+
) -> void
|
38
|
+
|
39
|
+
def to_hash: -> {
|
40
|
+
id: String,
|
41
|
+
attachments: ::Array[SurgeAPI::Message::Attachment],
|
42
|
+
body: String,
|
43
|
+
conversation: SurgeAPI::Message::Conversation
|
44
|
+
}
|
45
|
+
|
46
|
+
type attachment = { id: String, type: String, url: String }
|
47
|
+
|
48
|
+
class Attachment < SurgeAPI::Internal::Type::BaseModel
|
49
|
+
attr_reader id: String?
|
50
|
+
|
51
|
+
def id=: (String) -> String
|
52
|
+
|
53
|
+
attr_reader type: String?
|
54
|
+
|
55
|
+
def type=: (String) -> String
|
56
|
+
|
57
|
+
attr_reader url: String?
|
58
|
+
|
59
|
+
def url=: (String) -> String
|
60
|
+
|
61
|
+
def initialize: (?id: String, ?type: String, ?url: String) -> void
|
62
|
+
|
63
|
+
def to_hash: -> { id: String, type: String, url: String }
|
64
|
+
end
|
65
|
+
|
66
|
+
type conversation =
|
67
|
+
{
|
68
|
+
id: String,
|
69
|
+
contact: SurgeAPI::Contact,
|
70
|
+
phone_number: SurgeAPI::Message::Conversation::PhoneNumber
|
71
|
+
}
|
72
|
+
|
73
|
+
class Conversation < SurgeAPI::Internal::Type::BaseModel
|
74
|
+
attr_accessor id: String
|
75
|
+
|
76
|
+
attr_accessor contact: SurgeAPI::Contact
|
77
|
+
|
78
|
+
attr_reader phone_number: SurgeAPI::Message::Conversation::PhoneNumber?
|
79
|
+
|
80
|
+
def phone_number=: (
|
81
|
+
SurgeAPI::Message::Conversation::PhoneNumber
|
82
|
+
) -> SurgeAPI::Message::Conversation::PhoneNumber
|
83
|
+
|
84
|
+
def initialize: (
|
85
|
+
id: String,
|
86
|
+
contact: SurgeAPI::Contact,
|
87
|
+
?phone_number: SurgeAPI::Message::Conversation::PhoneNumber
|
88
|
+
) -> void
|
89
|
+
|
90
|
+
def to_hash: -> {
|
91
|
+
id: String,
|
92
|
+
contact: SurgeAPI::Contact,
|
93
|
+
phone_number: SurgeAPI::Message::Conversation::PhoneNumber
|
94
|
+
}
|
95
|
+
|
96
|
+
type phone_number =
|
97
|
+
{
|
98
|
+
id: String,
|
99
|
+
number: String,
|
100
|
+
type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
|
101
|
+
}
|
102
|
+
|
103
|
+
class PhoneNumber < SurgeAPI::Internal::Type::BaseModel
|
104
|
+
attr_accessor id: String
|
105
|
+
|
106
|
+
attr_accessor number: String
|
107
|
+
|
108
|
+
attr_accessor type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
|
109
|
+
|
110
|
+
def initialize: (
|
111
|
+
id: String,
|
112
|
+
number: String,
|
113
|
+
type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
|
114
|
+
) -> void
|
115
|
+
|
116
|
+
def to_hash: -> {
|
117
|
+
id: String,
|
118
|
+
number: String,
|
119
|
+
type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
|
120
|
+
}
|
121
|
+
|
122
|
+
type type_ = :local | :toll_free | :short_code | :demo
|
123
|
+
|
124
|
+
module Type
|
125
|
+
extend SurgeAPI::Internal::Type::Enum
|
126
|
+
|
127
|
+
LOCAL: :local
|
128
|
+
TOLL_FREE: :toll_free
|
129
|
+
SHORT_CODE: :short_code
|
130
|
+
DEMO: :demo
|
131
|
+
|
132
|
+
def self?.values: -> ::Array[SurgeAPI::Models::Message::Conversation::PhoneNumber::type_]
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
@@ -0,0 +1,140 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type message_create_params =
|
4
|
+
{
|
5
|
+
conversation: SurgeAPI::MessageCreateParams::Conversation,
|
6
|
+
attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment],
|
7
|
+
body: String,
|
8
|
+
send_at: Time,
|
9
|
+
to: String,
|
10
|
+
from: String
|
11
|
+
}
|
12
|
+
& SurgeAPI::Internal::Type::request_parameters
|
13
|
+
|
14
|
+
class MessageCreateParams < SurgeAPI::Internal::Type::BaseModel
|
15
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
16
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
17
|
+
|
18
|
+
attr_accessor conversation: SurgeAPI::MessageCreateParams::Conversation
|
19
|
+
|
20
|
+
attr_reader attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment]?
|
21
|
+
|
22
|
+
def attachments=: (
|
23
|
+
::Array[SurgeAPI::MessageCreateParams::Attachment]
|
24
|
+
) -> ::Array[SurgeAPI::MessageCreateParams::Attachment]
|
25
|
+
|
26
|
+
attr_reader body: String?
|
27
|
+
|
28
|
+
def body=: (String) -> String
|
29
|
+
|
30
|
+
attr_reader send_at: Time?
|
31
|
+
|
32
|
+
def send_at=: (Time) -> Time
|
33
|
+
|
34
|
+
attr_accessor to: String
|
35
|
+
|
36
|
+
attr_reader from: String?
|
37
|
+
|
38
|
+
def from=: (String) -> String
|
39
|
+
|
40
|
+
def initialize: (
|
41
|
+
conversation: SurgeAPI::MessageCreateParams::Conversation,
|
42
|
+
to: String,
|
43
|
+
?attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment],
|
44
|
+
?body: String,
|
45
|
+
?send_at: Time,
|
46
|
+
?from: String,
|
47
|
+
?request_options: SurgeAPI::request_opts
|
48
|
+
) -> void
|
49
|
+
|
50
|
+
def to_hash: -> {
|
51
|
+
conversation: SurgeAPI::MessageCreateParams::Conversation,
|
52
|
+
attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment],
|
53
|
+
body: String,
|
54
|
+
send_at: Time,
|
55
|
+
to: String,
|
56
|
+
from: String,
|
57
|
+
request_options: SurgeAPI::RequestOptions
|
58
|
+
}
|
59
|
+
|
60
|
+
type conversation =
|
61
|
+
{
|
62
|
+
contact: SurgeAPI::MessageCreateParams::Conversation::Contact,
|
63
|
+
phone_number: String
|
64
|
+
}
|
65
|
+
|
66
|
+
class Conversation < SurgeAPI::Internal::Type::BaseModel
|
67
|
+
attr_accessor contact: SurgeAPI::MessageCreateParams::Conversation::Contact
|
68
|
+
|
69
|
+
attr_reader phone_number: String?
|
70
|
+
|
71
|
+
def phone_number=: (String) -> String
|
72
|
+
|
73
|
+
def initialize: (
|
74
|
+
contact: SurgeAPI::MessageCreateParams::Conversation::Contact,
|
75
|
+
?phone_number: String
|
76
|
+
) -> void
|
77
|
+
|
78
|
+
def to_hash: -> {
|
79
|
+
contact: SurgeAPI::MessageCreateParams::Conversation::Contact,
|
80
|
+
phone_number: String
|
81
|
+
}
|
82
|
+
|
83
|
+
type contact =
|
84
|
+
{
|
85
|
+
phone_number: String,
|
86
|
+
email: String,
|
87
|
+
first_name: String,
|
88
|
+
last_name: String,
|
89
|
+
metadata: ::Hash[Symbol, String]
|
90
|
+
}
|
91
|
+
|
92
|
+
class Contact < SurgeAPI::Internal::Type::BaseModel
|
93
|
+
attr_accessor phone_number: String
|
94
|
+
|
95
|
+
attr_reader email: String?
|
96
|
+
|
97
|
+
def email=: (String) -> String
|
98
|
+
|
99
|
+
attr_reader first_name: String?
|
100
|
+
|
101
|
+
def first_name=: (String) -> String
|
102
|
+
|
103
|
+
attr_reader last_name: String?
|
104
|
+
|
105
|
+
def last_name=: (String) -> String
|
106
|
+
|
107
|
+
attr_reader metadata: ::Hash[Symbol, String]?
|
108
|
+
|
109
|
+
def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
110
|
+
|
111
|
+
def initialize: (
|
112
|
+
phone_number: String,
|
113
|
+
?email: String,
|
114
|
+
?first_name: String,
|
115
|
+
?last_name: String,
|
116
|
+
?metadata: ::Hash[Symbol, String]
|
117
|
+
) -> void
|
118
|
+
|
119
|
+
def to_hash: -> {
|
120
|
+
phone_number: String,
|
121
|
+
email: String,
|
122
|
+
first_name: String,
|
123
|
+
last_name: String,
|
124
|
+
metadata: ::Hash[Symbol, String]
|
125
|
+
}
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
type attachment = { url: String }
|
130
|
+
|
131
|
+
class Attachment < SurgeAPI::Internal::Type::BaseModel
|
132
|
+
attr_accessor url: String
|
133
|
+
|
134
|
+
def initialize: (url: String) -> void
|
135
|
+
|
136
|
+
def to_hash: -> { url: String }
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
@@ -0,0 +1,143 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type message_delivered_webhook_event =
|
4
|
+
{
|
5
|
+
account_id: String,
|
6
|
+
data: SurgeAPI::MessageDeliveredWebhookEvent::Data,
|
7
|
+
timestamp: Time,
|
8
|
+
type: :"message.delivered"
|
9
|
+
}
|
10
|
+
|
11
|
+
class MessageDeliveredWebhookEvent < SurgeAPI::Internal::Type::BaseModel
|
12
|
+
attr_accessor account_id: String
|
13
|
+
|
14
|
+
attr_accessor data: SurgeAPI::MessageDeliveredWebhookEvent::Data
|
15
|
+
|
16
|
+
attr_accessor timestamp: Time
|
17
|
+
|
18
|
+
attr_accessor type: :"message.delivered"
|
19
|
+
|
20
|
+
def initialize: (
|
21
|
+
account_id: String,
|
22
|
+
data: SurgeAPI::MessageDeliveredWebhookEvent::Data,
|
23
|
+
timestamp: Time,
|
24
|
+
?type: :"message.delivered"
|
25
|
+
) -> void
|
26
|
+
|
27
|
+
def to_hash: -> {
|
28
|
+
account_id: String,
|
29
|
+
data: SurgeAPI::MessageDeliveredWebhookEvent::Data,
|
30
|
+
timestamp: Time,
|
31
|
+
type: :"message.delivered"
|
32
|
+
}
|
33
|
+
|
34
|
+
type data =
|
35
|
+
{
|
36
|
+
id: String,
|
37
|
+
body: String,
|
38
|
+
conversation: SurgeAPI::MessageDeliveredWebhookEvent::Data::Conversation,
|
39
|
+
delivered_at: Time,
|
40
|
+
attachments: ::Array[SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment]
|
41
|
+
}
|
42
|
+
|
43
|
+
class Data < SurgeAPI::Internal::Type::BaseModel
|
44
|
+
attr_accessor id: String
|
45
|
+
|
46
|
+
attr_accessor body: String
|
47
|
+
|
48
|
+
attr_accessor conversation: SurgeAPI::MessageDeliveredWebhookEvent::Data::Conversation
|
49
|
+
|
50
|
+
attr_accessor delivered_at: Time
|
51
|
+
|
52
|
+
attr_reader attachments: ::Array[SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment]?
|
53
|
+
|
54
|
+
def attachments=: (
|
55
|
+
::Array[SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment]
|
56
|
+
) -> ::Array[SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment]
|
57
|
+
|
58
|
+
def initialize: (
|
59
|
+
id: String,
|
60
|
+
body: String,
|
61
|
+
conversation: SurgeAPI::MessageDeliveredWebhookEvent::Data::Conversation,
|
62
|
+
delivered_at: Time,
|
63
|
+
?attachments: ::Array[SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment]
|
64
|
+
) -> void
|
65
|
+
|
66
|
+
def to_hash: -> {
|
67
|
+
id: String,
|
68
|
+
body: String,
|
69
|
+
conversation: SurgeAPI::MessageDeliveredWebhookEvent::Data::Conversation,
|
70
|
+
delivered_at: Time,
|
71
|
+
attachments: ::Array[SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment]
|
72
|
+
}
|
73
|
+
|
74
|
+
type conversation =
|
75
|
+
{
|
76
|
+
id: String,
|
77
|
+
contact: SurgeAPI::Contact,
|
78
|
+
phone_number: SurgeAPI::PhoneNumber
|
79
|
+
}
|
80
|
+
|
81
|
+
class Conversation < SurgeAPI::Internal::Type::BaseModel
|
82
|
+
attr_accessor id: String
|
83
|
+
|
84
|
+
attr_accessor contact: SurgeAPI::Contact
|
85
|
+
|
86
|
+
attr_accessor phone_number: SurgeAPI::PhoneNumber
|
87
|
+
|
88
|
+
def initialize: (
|
89
|
+
id: String,
|
90
|
+
contact: SurgeAPI::Contact,
|
91
|
+
phone_number: SurgeAPI::PhoneNumber
|
92
|
+
) -> void
|
93
|
+
|
94
|
+
def to_hash: -> {
|
95
|
+
id: String,
|
96
|
+
contact: SurgeAPI::Contact,
|
97
|
+
phone_number: SurgeAPI::PhoneNumber
|
98
|
+
}
|
99
|
+
end
|
100
|
+
|
101
|
+
type attachment =
|
102
|
+
{
|
103
|
+
id: String,
|
104
|
+
type: SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::Attachment::type_,
|
105
|
+
url: String
|
106
|
+
}
|
107
|
+
|
108
|
+
class Attachment < SurgeAPI::Internal::Type::BaseModel
|
109
|
+
attr_accessor id: String
|
110
|
+
|
111
|
+
attr_accessor type: SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::Attachment::type_
|
112
|
+
|
113
|
+
attr_accessor url: String
|
114
|
+
|
115
|
+
def initialize: (
|
116
|
+
id: String,
|
117
|
+
type: SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::Attachment::type_,
|
118
|
+
url: String
|
119
|
+
) -> void
|
120
|
+
|
121
|
+
def to_hash: -> {
|
122
|
+
id: String,
|
123
|
+
type: SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::Attachment::type_,
|
124
|
+
url: String
|
125
|
+
}
|
126
|
+
|
127
|
+
type type_ = :file | :image | :link | :video
|
128
|
+
|
129
|
+
module Type
|
130
|
+
extend SurgeAPI::Internal::Type::Enum
|
131
|
+
|
132
|
+
FILE: :file
|
133
|
+
IMAGE: :image
|
134
|
+
LINK: :link
|
135
|
+
VIDEO: :video
|
136
|
+
|
137
|
+
def self?.values: -> ::Array[SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::Attachment::type_]
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
@@ -0,0 +1,148 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type message_failed_webhook_event =
|
4
|
+
{
|
5
|
+
account_id: String,
|
6
|
+
data: SurgeAPI::MessageFailedWebhookEvent::Data,
|
7
|
+
timestamp: Time,
|
8
|
+
type: :"message.failed"
|
9
|
+
}
|
10
|
+
|
11
|
+
class MessageFailedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
|
12
|
+
attr_accessor account_id: String
|
13
|
+
|
14
|
+
attr_accessor data: SurgeAPI::MessageFailedWebhookEvent::Data
|
15
|
+
|
16
|
+
attr_accessor timestamp: Time
|
17
|
+
|
18
|
+
attr_accessor type: :"message.failed"
|
19
|
+
|
20
|
+
def initialize: (
|
21
|
+
account_id: String,
|
22
|
+
data: SurgeAPI::MessageFailedWebhookEvent::Data,
|
23
|
+
timestamp: Time,
|
24
|
+
?type: :"message.failed"
|
25
|
+
) -> void
|
26
|
+
|
27
|
+
def to_hash: -> {
|
28
|
+
account_id: String,
|
29
|
+
data: SurgeAPI::MessageFailedWebhookEvent::Data,
|
30
|
+
timestamp: Time,
|
31
|
+
type: :"message.failed"
|
32
|
+
}
|
33
|
+
|
34
|
+
type data =
|
35
|
+
{
|
36
|
+
id: String,
|
37
|
+
body: String,
|
38
|
+
conversation: SurgeAPI::MessageFailedWebhookEvent::Data::Conversation,
|
39
|
+
failed_at: Time,
|
40
|
+
failure_reason: String,
|
41
|
+
attachments: ::Array[SurgeAPI::MessageFailedWebhookEvent::Data::Attachment]
|
42
|
+
}
|
43
|
+
|
44
|
+
class Data < SurgeAPI::Internal::Type::BaseModel
|
45
|
+
attr_accessor id: String
|
46
|
+
|
47
|
+
attr_accessor body: String
|
48
|
+
|
49
|
+
attr_accessor conversation: SurgeAPI::MessageFailedWebhookEvent::Data::Conversation
|
50
|
+
|
51
|
+
attr_accessor failed_at: Time
|
52
|
+
|
53
|
+
attr_accessor failure_reason: String
|
54
|
+
|
55
|
+
attr_reader attachments: ::Array[SurgeAPI::MessageFailedWebhookEvent::Data::Attachment]?
|
56
|
+
|
57
|
+
def attachments=: (
|
58
|
+
::Array[SurgeAPI::MessageFailedWebhookEvent::Data::Attachment]
|
59
|
+
) -> ::Array[SurgeAPI::MessageFailedWebhookEvent::Data::Attachment]
|
60
|
+
|
61
|
+
def initialize: (
|
62
|
+
id: String,
|
63
|
+
body: String,
|
64
|
+
conversation: SurgeAPI::MessageFailedWebhookEvent::Data::Conversation,
|
65
|
+
failed_at: Time,
|
66
|
+
failure_reason: String,
|
67
|
+
?attachments: ::Array[SurgeAPI::MessageFailedWebhookEvent::Data::Attachment]
|
68
|
+
) -> void
|
69
|
+
|
70
|
+
def to_hash: -> {
|
71
|
+
id: String,
|
72
|
+
body: String,
|
73
|
+
conversation: SurgeAPI::MessageFailedWebhookEvent::Data::Conversation,
|
74
|
+
failed_at: Time,
|
75
|
+
failure_reason: String,
|
76
|
+
attachments: ::Array[SurgeAPI::MessageFailedWebhookEvent::Data::Attachment]
|
77
|
+
}
|
78
|
+
|
79
|
+
type conversation =
|
80
|
+
{
|
81
|
+
id: String,
|
82
|
+
contact: SurgeAPI::Contact,
|
83
|
+
phone_number: SurgeAPI::PhoneNumber
|
84
|
+
}
|
85
|
+
|
86
|
+
class Conversation < SurgeAPI::Internal::Type::BaseModel
|
87
|
+
attr_accessor id: String
|
88
|
+
|
89
|
+
attr_accessor contact: SurgeAPI::Contact
|
90
|
+
|
91
|
+
attr_accessor phone_number: SurgeAPI::PhoneNumber
|
92
|
+
|
93
|
+
def initialize: (
|
94
|
+
id: String,
|
95
|
+
contact: SurgeAPI::Contact,
|
96
|
+
phone_number: SurgeAPI::PhoneNumber
|
97
|
+
) -> void
|
98
|
+
|
99
|
+
def to_hash: -> {
|
100
|
+
id: String,
|
101
|
+
contact: SurgeAPI::Contact,
|
102
|
+
phone_number: SurgeAPI::PhoneNumber
|
103
|
+
}
|
104
|
+
end
|
105
|
+
|
106
|
+
type attachment =
|
107
|
+
{
|
108
|
+
id: String,
|
109
|
+
type: SurgeAPI::Models::MessageFailedWebhookEvent::Data::Attachment::type_,
|
110
|
+
url: String
|
111
|
+
}
|
112
|
+
|
113
|
+
class Attachment < SurgeAPI::Internal::Type::BaseModel
|
114
|
+
attr_accessor id: String
|
115
|
+
|
116
|
+
attr_accessor type: SurgeAPI::Models::MessageFailedWebhookEvent::Data::Attachment::type_
|
117
|
+
|
118
|
+
attr_accessor url: String
|
119
|
+
|
120
|
+
def initialize: (
|
121
|
+
id: String,
|
122
|
+
type: SurgeAPI::Models::MessageFailedWebhookEvent::Data::Attachment::type_,
|
123
|
+
url: String
|
124
|
+
) -> void
|
125
|
+
|
126
|
+
def to_hash: -> {
|
127
|
+
id: String,
|
128
|
+
type: SurgeAPI::Models::MessageFailedWebhookEvent::Data::Attachment::type_,
|
129
|
+
url: String
|
130
|
+
}
|
131
|
+
|
132
|
+
type type_ = :file | :image | :link | :video
|
133
|
+
|
134
|
+
module Type
|
135
|
+
extend SurgeAPI::Internal::Type::Enum
|
136
|
+
|
137
|
+
FILE: :file
|
138
|
+
IMAGE: :image
|
139
|
+
LINK: :link
|
140
|
+
VIDEO: :video
|
141
|
+
|
142
|
+
def self?.values: -> ::Array[SurgeAPI::Models::MessageFailedWebhookEvent::Data::Attachment::type_]
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
@@ -0,0 +1,143 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type message_received_webhook_event =
|
4
|
+
{
|
5
|
+
account_id: String,
|
6
|
+
data: SurgeAPI::MessageReceivedWebhookEvent::Data,
|
7
|
+
timestamp: Time,
|
8
|
+
type: :"message.received"
|
9
|
+
}
|
10
|
+
|
11
|
+
class MessageReceivedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
|
12
|
+
attr_accessor account_id: String
|
13
|
+
|
14
|
+
attr_accessor data: SurgeAPI::MessageReceivedWebhookEvent::Data
|
15
|
+
|
16
|
+
attr_accessor timestamp: Time
|
17
|
+
|
18
|
+
attr_accessor type: :"message.received"
|
19
|
+
|
20
|
+
def initialize: (
|
21
|
+
account_id: String,
|
22
|
+
data: SurgeAPI::MessageReceivedWebhookEvent::Data,
|
23
|
+
timestamp: Time,
|
24
|
+
?type: :"message.received"
|
25
|
+
) -> void
|
26
|
+
|
27
|
+
def to_hash: -> {
|
28
|
+
account_id: String,
|
29
|
+
data: SurgeAPI::MessageReceivedWebhookEvent::Data,
|
30
|
+
timestamp: Time,
|
31
|
+
type: :"message.received"
|
32
|
+
}
|
33
|
+
|
34
|
+
type data =
|
35
|
+
{
|
36
|
+
id: String,
|
37
|
+
body: String,
|
38
|
+
conversation: SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation,
|
39
|
+
received_at: Time,
|
40
|
+
attachments: ::Array[SurgeAPI::MessageReceivedWebhookEvent::Data::Attachment]
|
41
|
+
}
|
42
|
+
|
43
|
+
class Data < SurgeAPI::Internal::Type::BaseModel
|
44
|
+
attr_accessor id: String
|
45
|
+
|
46
|
+
attr_accessor body: String
|
47
|
+
|
48
|
+
attr_accessor conversation: SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation
|
49
|
+
|
50
|
+
attr_accessor received_at: Time
|
51
|
+
|
52
|
+
attr_reader attachments: ::Array[SurgeAPI::MessageReceivedWebhookEvent::Data::Attachment]?
|
53
|
+
|
54
|
+
def attachments=: (
|
55
|
+
::Array[SurgeAPI::MessageReceivedWebhookEvent::Data::Attachment]
|
56
|
+
) -> ::Array[SurgeAPI::MessageReceivedWebhookEvent::Data::Attachment]
|
57
|
+
|
58
|
+
def initialize: (
|
59
|
+
id: String,
|
60
|
+
body: String,
|
61
|
+
conversation: SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation,
|
62
|
+
received_at: Time,
|
63
|
+
?attachments: ::Array[SurgeAPI::MessageReceivedWebhookEvent::Data::Attachment]
|
64
|
+
) -> void
|
65
|
+
|
66
|
+
def to_hash: -> {
|
67
|
+
id: String,
|
68
|
+
body: String,
|
69
|
+
conversation: SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation,
|
70
|
+
received_at: Time,
|
71
|
+
attachments: ::Array[SurgeAPI::MessageReceivedWebhookEvent::Data::Attachment]
|
72
|
+
}
|
73
|
+
|
74
|
+
type conversation =
|
75
|
+
{
|
76
|
+
id: String,
|
77
|
+
contact: SurgeAPI::Contact,
|
78
|
+
phone_number: SurgeAPI::PhoneNumber
|
79
|
+
}
|
80
|
+
|
81
|
+
class Conversation < SurgeAPI::Internal::Type::BaseModel
|
82
|
+
attr_accessor id: String
|
83
|
+
|
84
|
+
attr_accessor contact: SurgeAPI::Contact
|
85
|
+
|
86
|
+
attr_accessor phone_number: SurgeAPI::PhoneNumber
|
87
|
+
|
88
|
+
def initialize: (
|
89
|
+
id: String,
|
90
|
+
contact: SurgeAPI::Contact,
|
91
|
+
phone_number: SurgeAPI::PhoneNumber
|
92
|
+
) -> void
|
93
|
+
|
94
|
+
def to_hash: -> {
|
95
|
+
id: String,
|
96
|
+
contact: SurgeAPI::Contact,
|
97
|
+
phone_number: SurgeAPI::PhoneNumber
|
98
|
+
}
|
99
|
+
end
|
100
|
+
|
101
|
+
type attachment =
|
102
|
+
{
|
103
|
+
id: String,
|
104
|
+
type: SurgeAPI::Models::MessageReceivedWebhookEvent::Data::Attachment::type_,
|
105
|
+
url: String
|
106
|
+
}
|
107
|
+
|
108
|
+
class Attachment < SurgeAPI::Internal::Type::BaseModel
|
109
|
+
attr_accessor id: String
|
110
|
+
|
111
|
+
attr_accessor type: SurgeAPI::Models::MessageReceivedWebhookEvent::Data::Attachment::type_
|
112
|
+
|
113
|
+
attr_accessor url: String
|
114
|
+
|
115
|
+
def initialize: (
|
116
|
+
id: String,
|
117
|
+
type: SurgeAPI::Models::MessageReceivedWebhookEvent::Data::Attachment::type_,
|
118
|
+
url: String
|
119
|
+
) -> void
|
120
|
+
|
121
|
+
def to_hash: -> {
|
122
|
+
id: String,
|
123
|
+
type: SurgeAPI::Models::MessageReceivedWebhookEvent::Data::Attachment::type_,
|
124
|
+
url: String
|
125
|
+
}
|
126
|
+
|
127
|
+
type type_ = :file | :image | :link | :video
|
128
|
+
|
129
|
+
module Type
|
130
|
+
extend SurgeAPI::Internal::Type::Enum
|
131
|
+
|
132
|
+
FILE: :file
|
133
|
+
IMAGE: :image
|
134
|
+
LINK: :link
|
135
|
+
VIDEO: :video
|
136
|
+
|
137
|
+
def self?.values: -> ::Array[SurgeAPI::Models::MessageReceivedWebhookEvent::Data::Attachment::type_]
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|