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,122 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type campaign =
|
4
|
+
{
|
5
|
+
id: String,
|
6
|
+
consent_flow: String,
|
7
|
+
description: String,
|
8
|
+
includes: ::Array[SurgeAPI::Models::Campaign::include_],
|
9
|
+
message_samples: ::Array[String],
|
10
|
+
privacy_policy_url: String,
|
11
|
+
use_cases: ::Array[SurgeAPI::Models::Campaign::use_case],
|
12
|
+
volume: SurgeAPI::Models::Campaign::volume,
|
13
|
+
link_sample: String,
|
14
|
+
terms_and_conditions_url: String
|
15
|
+
}
|
16
|
+
|
17
|
+
class Campaign < SurgeAPI::Internal::Type::BaseModel
|
18
|
+
attr_accessor id: String
|
19
|
+
|
20
|
+
attr_accessor consent_flow: String
|
21
|
+
|
22
|
+
attr_accessor description: String
|
23
|
+
|
24
|
+
attr_accessor includes: ::Array[SurgeAPI::Models::Campaign::include_]
|
25
|
+
|
26
|
+
attr_accessor message_samples: ::Array[String]
|
27
|
+
|
28
|
+
attr_accessor privacy_policy_url: String
|
29
|
+
|
30
|
+
attr_accessor use_cases: ::Array[SurgeAPI::Models::Campaign::use_case]
|
31
|
+
|
32
|
+
attr_accessor volume: SurgeAPI::Models::Campaign::volume
|
33
|
+
|
34
|
+
attr_reader link_sample: String?
|
35
|
+
|
36
|
+
def link_sample=: (String) -> String
|
37
|
+
|
38
|
+
attr_reader terms_and_conditions_url: String?
|
39
|
+
|
40
|
+
def terms_and_conditions_url=: (String) -> String
|
41
|
+
|
42
|
+
def initialize: (
|
43
|
+
id: String,
|
44
|
+
consent_flow: String,
|
45
|
+
description: String,
|
46
|
+
includes: ::Array[SurgeAPI::Models::Campaign::include_],
|
47
|
+
message_samples: ::Array[String],
|
48
|
+
privacy_policy_url: String,
|
49
|
+
use_cases: ::Array[SurgeAPI::Models::Campaign::use_case],
|
50
|
+
volume: SurgeAPI::Models::Campaign::volume,
|
51
|
+
?link_sample: String,
|
52
|
+
?terms_and_conditions_url: String
|
53
|
+
) -> void
|
54
|
+
|
55
|
+
def to_hash: -> {
|
56
|
+
id: String,
|
57
|
+
consent_flow: String,
|
58
|
+
description: String,
|
59
|
+
includes: ::Array[SurgeAPI::Models::Campaign::include_],
|
60
|
+
message_samples: ::Array[String],
|
61
|
+
privacy_policy_url: String,
|
62
|
+
use_cases: ::Array[SurgeAPI::Models::Campaign::use_case],
|
63
|
+
volume: SurgeAPI::Models::Campaign::volume,
|
64
|
+
link_sample: String,
|
65
|
+
terms_and_conditions_url: String
|
66
|
+
}
|
67
|
+
|
68
|
+
type include_ = :links | :phone_numbers | :age_gated | :direct_lending
|
69
|
+
|
70
|
+
module Include
|
71
|
+
extend SurgeAPI::Internal::Type::Enum
|
72
|
+
|
73
|
+
LINKS: :links
|
74
|
+
PHONE_NUMBERS: :phone_numbers
|
75
|
+
AGE_GATED: :age_gated
|
76
|
+
DIRECT_LENDING: :direct_lending
|
77
|
+
|
78
|
+
def self?.values: -> ::Array[SurgeAPI::Models::Campaign::include_]
|
79
|
+
end
|
80
|
+
|
81
|
+
type use_case =
|
82
|
+
:account_notification
|
83
|
+
| :customer_care
|
84
|
+
| :delivery_notification
|
85
|
+
| :fraud_alert
|
86
|
+
| :higher_education
|
87
|
+
| :marketing
|
88
|
+
| :polling_voting
|
89
|
+
| :public_service_announcement
|
90
|
+
| :security_alert
|
91
|
+
| :two_factor_authentication
|
92
|
+
|
93
|
+
module UseCase
|
94
|
+
extend SurgeAPI::Internal::Type::Enum
|
95
|
+
|
96
|
+
ACCOUNT_NOTIFICATION: :account_notification
|
97
|
+
CUSTOMER_CARE: :customer_care
|
98
|
+
DELIVERY_NOTIFICATION: :delivery_notification
|
99
|
+
FRAUD_ALERT: :fraud_alert
|
100
|
+
HIGHER_EDUCATION: :higher_education
|
101
|
+
MARKETING: :marketing
|
102
|
+
POLLING_VOTING: :polling_voting
|
103
|
+
PUBLIC_SERVICE_ANNOUNCEMENT: :public_service_announcement
|
104
|
+
SECURITY_ALERT: :security_alert
|
105
|
+
TWO_FACTOR_AUTHENTICATION: :two_factor_authentication
|
106
|
+
|
107
|
+
def self?.values: -> ::Array[SurgeAPI::Models::Campaign::use_case]
|
108
|
+
end
|
109
|
+
|
110
|
+
type volume = :high | :low
|
111
|
+
|
112
|
+
module Volume
|
113
|
+
extend SurgeAPI::Internal::Type::Enum
|
114
|
+
|
115
|
+
HIGH: :high
|
116
|
+
LOW: :low
|
117
|
+
|
118
|
+
def self?.values: -> ::Array[SurgeAPI::Models::Campaign::volume]
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type campaign_approved_webhook_event =
|
4
|
+
{
|
5
|
+
account_id: String,
|
6
|
+
data: SurgeAPI::CampaignApprovedWebhookEvent::Data,
|
7
|
+
timestamp: Time,
|
8
|
+
type: :"campaign.approved"
|
9
|
+
}
|
10
|
+
|
11
|
+
class CampaignApprovedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
|
12
|
+
attr_accessor account_id: String
|
13
|
+
|
14
|
+
attr_accessor data: SurgeAPI::CampaignApprovedWebhookEvent::Data
|
15
|
+
|
16
|
+
attr_accessor timestamp: Time
|
17
|
+
|
18
|
+
attr_accessor type: :"campaign.approved"
|
19
|
+
|
20
|
+
def initialize: (
|
21
|
+
account_id: String,
|
22
|
+
data: SurgeAPI::CampaignApprovedWebhookEvent::Data,
|
23
|
+
timestamp: Time,
|
24
|
+
?type: :"campaign.approved"
|
25
|
+
) -> void
|
26
|
+
|
27
|
+
def to_hash: -> {
|
28
|
+
account_id: String,
|
29
|
+
data: SurgeAPI::CampaignApprovedWebhookEvent::Data,
|
30
|
+
timestamp: Time,
|
31
|
+
type: :"campaign.approved"
|
32
|
+
}
|
33
|
+
|
34
|
+
type data =
|
35
|
+
{
|
36
|
+
id: String,
|
37
|
+
status: SurgeAPI::Models::CampaignApprovedWebhookEvent::Data::status
|
38
|
+
}
|
39
|
+
|
40
|
+
class Data < SurgeAPI::Internal::Type::BaseModel
|
41
|
+
attr_accessor id: String
|
42
|
+
|
43
|
+
attr_accessor status: SurgeAPI::Models::CampaignApprovedWebhookEvent::Data::status
|
44
|
+
|
45
|
+
def initialize: (
|
46
|
+
id: String,
|
47
|
+
status: SurgeAPI::Models::CampaignApprovedWebhookEvent::Data::status
|
48
|
+
) -> void
|
49
|
+
|
50
|
+
def to_hash: -> {
|
51
|
+
id: String,
|
52
|
+
status: SurgeAPI::Models::CampaignApprovedWebhookEvent::Data::status
|
53
|
+
}
|
54
|
+
|
55
|
+
type status = :active
|
56
|
+
|
57
|
+
module Status
|
58
|
+
extend SurgeAPI::Internal::Type::Enum
|
59
|
+
|
60
|
+
ACTIVE: :active
|
61
|
+
|
62
|
+
def self?.values: -> ::Array[SurgeAPI::Models::CampaignApprovedWebhookEvent::Data::status]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,127 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type campaign_create_params =
|
4
|
+
{
|
5
|
+
consent_flow: String,
|
6
|
+
description: String,
|
7
|
+
message_samples: ::Array[String],
|
8
|
+
privacy_policy_url: String,
|
9
|
+
use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case],
|
10
|
+
volume: SurgeAPI::Models::CampaignCreateParams::volume,
|
11
|
+
includes: ::Array[SurgeAPI::Models::CampaignCreateParams::include_],
|
12
|
+
link_sample: String,
|
13
|
+
terms_and_conditions_url: String
|
14
|
+
}
|
15
|
+
& SurgeAPI::Internal::Type::request_parameters
|
16
|
+
|
17
|
+
class CampaignCreateParams < SurgeAPI::Internal::Type::BaseModel
|
18
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
19
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
20
|
+
|
21
|
+
attr_accessor consent_flow: String
|
22
|
+
|
23
|
+
attr_accessor description: String
|
24
|
+
|
25
|
+
attr_accessor message_samples: ::Array[String]
|
26
|
+
|
27
|
+
attr_accessor privacy_policy_url: String
|
28
|
+
|
29
|
+
attr_accessor use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case]
|
30
|
+
|
31
|
+
attr_accessor volume: SurgeAPI::Models::CampaignCreateParams::volume
|
32
|
+
|
33
|
+
attr_reader includes: ::Array[SurgeAPI::Models::CampaignCreateParams::include_]?
|
34
|
+
|
35
|
+
def includes=: (
|
36
|
+
::Array[SurgeAPI::Models::CampaignCreateParams::include_]
|
37
|
+
) -> ::Array[SurgeAPI::Models::CampaignCreateParams::include_]
|
38
|
+
|
39
|
+
attr_reader link_sample: String?
|
40
|
+
|
41
|
+
def link_sample=: (String) -> String
|
42
|
+
|
43
|
+
attr_reader terms_and_conditions_url: String?
|
44
|
+
|
45
|
+
def terms_and_conditions_url=: (String) -> String
|
46
|
+
|
47
|
+
def initialize: (
|
48
|
+
consent_flow: String,
|
49
|
+
description: String,
|
50
|
+
message_samples: ::Array[String],
|
51
|
+
privacy_policy_url: String,
|
52
|
+
use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case],
|
53
|
+
volume: SurgeAPI::Models::CampaignCreateParams::volume,
|
54
|
+
?includes: ::Array[SurgeAPI::Models::CampaignCreateParams::include_],
|
55
|
+
?link_sample: String,
|
56
|
+
?terms_and_conditions_url: String,
|
57
|
+
?request_options: SurgeAPI::request_opts
|
58
|
+
) -> void
|
59
|
+
|
60
|
+
def to_hash: -> {
|
61
|
+
consent_flow: String,
|
62
|
+
description: String,
|
63
|
+
message_samples: ::Array[String],
|
64
|
+
privacy_policy_url: String,
|
65
|
+
use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case],
|
66
|
+
volume: SurgeAPI::Models::CampaignCreateParams::volume,
|
67
|
+
includes: ::Array[SurgeAPI::Models::CampaignCreateParams::include_],
|
68
|
+
link_sample: String,
|
69
|
+
terms_and_conditions_url: String,
|
70
|
+
request_options: SurgeAPI::RequestOptions
|
71
|
+
}
|
72
|
+
|
73
|
+
type use_case =
|
74
|
+
:account_notification
|
75
|
+
| :customer_care
|
76
|
+
| :delivery_notification
|
77
|
+
| :fraud_alert
|
78
|
+
| :higher_education
|
79
|
+
| :marketing
|
80
|
+
| :polling_voting
|
81
|
+
| :public_service_announcement
|
82
|
+
| :security_alert
|
83
|
+
| :two_factor_authentication
|
84
|
+
|
85
|
+
module UseCase
|
86
|
+
extend SurgeAPI::Internal::Type::Enum
|
87
|
+
|
88
|
+
ACCOUNT_NOTIFICATION: :account_notification
|
89
|
+
CUSTOMER_CARE: :customer_care
|
90
|
+
DELIVERY_NOTIFICATION: :delivery_notification
|
91
|
+
FRAUD_ALERT: :fraud_alert
|
92
|
+
HIGHER_EDUCATION: :higher_education
|
93
|
+
MARKETING: :marketing
|
94
|
+
POLLING_VOTING: :polling_voting
|
95
|
+
PUBLIC_SERVICE_ANNOUNCEMENT: :public_service_announcement
|
96
|
+
SECURITY_ALERT: :security_alert
|
97
|
+
TWO_FACTOR_AUTHENTICATION: :two_factor_authentication
|
98
|
+
|
99
|
+
def self?.values: -> ::Array[SurgeAPI::Models::CampaignCreateParams::use_case]
|
100
|
+
end
|
101
|
+
|
102
|
+
type volume = :high | :low
|
103
|
+
|
104
|
+
module Volume
|
105
|
+
extend SurgeAPI::Internal::Type::Enum
|
106
|
+
|
107
|
+
HIGH: :high
|
108
|
+
LOW: :low
|
109
|
+
|
110
|
+
def self?.values: -> ::Array[SurgeAPI::Models::CampaignCreateParams::volume]
|
111
|
+
end
|
112
|
+
|
113
|
+
type include_ = :links | :phone_numbers | :age_gated | :direct_lending
|
114
|
+
|
115
|
+
module Include
|
116
|
+
extend SurgeAPI::Internal::Type::Enum
|
117
|
+
|
118
|
+
LINKS: :links
|
119
|
+
PHONE_NUMBERS: :phone_numbers
|
120
|
+
AGE_GATED: :age_gated
|
121
|
+
DIRECT_LENDING: :direct_lending
|
122
|
+
|
123
|
+
def self?.values: -> ::Array[SurgeAPI::Models::CampaignCreateParams::include_]
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type contact =
|
4
|
+
{
|
5
|
+
id: String,
|
6
|
+
phone_number: String,
|
7
|
+
email: String,
|
8
|
+
first_name: String,
|
9
|
+
last_name: String,
|
10
|
+
metadata: ::Hash[Symbol, String]
|
11
|
+
}
|
12
|
+
|
13
|
+
class Contact < SurgeAPI::Internal::Type::BaseModel
|
14
|
+
attr_accessor id: String
|
15
|
+
|
16
|
+
attr_accessor phone_number: String
|
17
|
+
|
18
|
+
attr_reader email: String?
|
19
|
+
|
20
|
+
def email=: (String) -> String
|
21
|
+
|
22
|
+
attr_reader first_name: String?
|
23
|
+
|
24
|
+
def first_name=: (String) -> String
|
25
|
+
|
26
|
+
attr_reader last_name: String?
|
27
|
+
|
28
|
+
def last_name=: (String) -> String
|
29
|
+
|
30
|
+
attr_reader metadata: ::Hash[Symbol, String]?
|
31
|
+
|
32
|
+
def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
33
|
+
|
34
|
+
def initialize: (
|
35
|
+
id: String,
|
36
|
+
phone_number: String,
|
37
|
+
?email: String,
|
38
|
+
?first_name: String,
|
39
|
+
?last_name: String,
|
40
|
+
?metadata: ::Hash[Symbol, String]
|
41
|
+
) -> void
|
42
|
+
|
43
|
+
def to_hash: -> {
|
44
|
+
id: String,
|
45
|
+
phone_number: String,
|
46
|
+
email: String,
|
47
|
+
first_name: String,
|
48
|
+
last_name: String,
|
49
|
+
metadata: ::Hash[Symbol, String]
|
50
|
+
}
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type contact_create_params =
|
4
|
+
{
|
5
|
+
phone_number: String,
|
6
|
+
email: String,
|
7
|
+
first_name: String,
|
8
|
+
last_name: String,
|
9
|
+
metadata: ::Hash[Symbol, String]
|
10
|
+
}
|
11
|
+
& SurgeAPI::Internal::Type::request_parameters
|
12
|
+
|
13
|
+
class ContactCreateParams < SurgeAPI::Internal::Type::BaseModel
|
14
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
15
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
16
|
+
|
17
|
+
attr_accessor phone_number: String
|
18
|
+
|
19
|
+
attr_reader email: String?
|
20
|
+
|
21
|
+
def email=: (String) -> String
|
22
|
+
|
23
|
+
attr_reader first_name: String?
|
24
|
+
|
25
|
+
def first_name=: (String) -> String
|
26
|
+
|
27
|
+
attr_reader last_name: String?
|
28
|
+
|
29
|
+
def last_name=: (String) -> String
|
30
|
+
|
31
|
+
attr_reader metadata: ::Hash[Symbol, String]?
|
32
|
+
|
33
|
+
def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
34
|
+
|
35
|
+
def initialize: (
|
36
|
+
phone_number: String,
|
37
|
+
?email: String,
|
38
|
+
?first_name: String,
|
39
|
+
?last_name: String,
|
40
|
+
?metadata: ::Hash[Symbol, String],
|
41
|
+
?request_options: SurgeAPI::request_opts
|
42
|
+
) -> void
|
43
|
+
|
44
|
+
def to_hash: -> {
|
45
|
+
phone_number: String,
|
46
|
+
email: String,
|
47
|
+
first_name: String,
|
48
|
+
last_name: String,
|
49
|
+
metadata: ::Hash[Symbol, String],
|
50
|
+
request_options: SurgeAPI::RequestOptions
|
51
|
+
}
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type contact_retrieve_params =
|
4
|
+
{ } & SurgeAPI::Internal::Type::request_parameters
|
5
|
+
|
6
|
+
class ContactRetrieveParams < 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
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type contact_update_params =
|
4
|
+
{
|
5
|
+
phone_number: String,
|
6
|
+
email: String,
|
7
|
+
first_name: String,
|
8
|
+
last_name: String,
|
9
|
+
metadata: ::Hash[Symbol, String]
|
10
|
+
}
|
11
|
+
& SurgeAPI::Internal::Type::request_parameters
|
12
|
+
|
13
|
+
class ContactUpdateParams < SurgeAPI::Internal::Type::BaseModel
|
14
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
15
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
16
|
+
|
17
|
+
attr_accessor phone_number: String
|
18
|
+
|
19
|
+
attr_reader email: String?
|
20
|
+
|
21
|
+
def email=: (String) -> String
|
22
|
+
|
23
|
+
attr_reader first_name: String?
|
24
|
+
|
25
|
+
def first_name=: (String) -> String
|
26
|
+
|
27
|
+
attr_reader last_name: String?
|
28
|
+
|
29
|
+
def last_name=: (String) -> String
|
30
|
+
|
31
|
+
attr_reader metadata: ::Hash[Symbol, String]?
|
32
|
+
|
33
|
+
def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
34
|
+
|
35
|
+
def initialize: (
|
36
|
+
phone_number: String,
|
37
|
+
?email: String,
|
38
|
+
?first_name: String,
|
39
|
+
?last_name: String,
|
40
|
+
?metadata: ::Hash[Symbol, String],
|
41
|
+
?request_options: SurgeAPI::request_opts
|
42
|
+
) -> void
|
43
|
+
|
44
|
+
def to_hash: -> {
|
45
|
+
phone_number: String,
|
46
|
+
email: String,
|
47
|
+
first_name: String,
|
48
|
+
last_name: String,
|
49
|
+
metadata: ::Hash[Symbol, String],
|
50
|
+
request_options: SurgeAPI::RequestOptions
|
51
|
+
}
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type conversation_created_webhook_event =
|
4
|
+
{
|
5
|
+
account_id: String,
|
6
|
+
data: SurgeAPI::ConversationCreatedWebhookEvent::Data,
|
7
|
+
timestamp: Time,
|
8
|
+
type: :"conversation.created"
|
9
|
+
}
|
10
|
+
|
11
|
+
class ConversationCreatedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
|
12
|
+
attr_accessor account_id: String
|
13
|
+
|
14
|
+
attr_accessor data: SurgeAPI::ConversationCreatedWebhookEvent::Data
|
15
|
+
|
16
|
+
attr_accessor timestamp: Time
|
17
|
+
|
18
|
+
attr_accessor type: :"conversation.created"
|
19
|
+
|
20
|
+
def initialize: (
|
21
|
+
account_id: String,
|
22
|
+
data: SurgeAPI::ConversationCreatedWebhookEvent::Data,
|
23
|
+
timestamp: Time,
|
24
|
+
?type: :"conversation.created"
|
25
|
+
) -> void
|
26
|
+
|
27
|
+
def to_hash: -> {
|
28
|
+
account_id: String,
|
29
|
+
data: SurgeAPI::ConversationCreatedWebhookEvent::Data,
|
30
|
+
timestamp: Time,
|
31
|
+
type: :"conversation.created"
|
32
|
+
}
|
33
|
+
|
34
|
+
type data =
|
35
|
+
{
|
36
|
+
id: String,
|
37
|
+
contact: SurgeAPI::Contact,
|
38
|
+
phone_number: SurgeAPI::PhoneNumber
|
39
|
+
}
|
40
|
+
|
41
|
+
class Data < SurgeAPI::Internal::Type::BaseModel
|
42
|
+
attr_accessor id: String
|
43
|
+
|
44
|
+
attr_accessor contact: SurgeAPI::Contact
|
45
|
+
|
46
|
+
attr_accessor phone_number: SurgeAPI::PhoneNumber
|
47
|
+
|
48
|
+
def initialize: (
|
49
|
+
id: String,
|
50
|
+
contact: SurgeAPI::Contact,
|
51
|
+
phone_number: SurgeAPI::PhoneNumber
|
52
|
+
) -> void
|
53
|
+
|
54
|
+
def to_hash: -> {
|
55
|
+
id: String,
|
56
|
+
contact: SurgeAPI::Contact,
|
57
|
+
phone_number: SurgeAPI::PhoneNumber
|
58
|
+
}
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module SurgeAPI
|
2
|
+
module Models
|
3
|
+
type error = { message: String, type: String, detail: ::Hash[Symbol, top] }
|
4
|
+
|
5
|
+
class Error < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
attr_accessor message: String
|
7
|
+
|
8
|
+
attr_accessor type: String
|
9
|
+
|
10
|
+
attr_reader detail: ::Hash[Symbol, top]?
|
11
|
+
|
12
|
+
def detail=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
|
13
|
+
|
14
|
+
def initialize: (
|
15
|
+
message: String,
|
16
|
+
type: String,
|
17
|
+
?detail: ::Hash[Symbol, top]
|
18
|
+
) -> void
|
19
|
+
|
20
|
+
def to_hash: -> {
|
21
|
+
message: String,
|
22
|
+
type: String,
|
23
|
+
detail: ::Hash[Symbol, top]
|
24
|
+
}
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|