surge_api 0.16.0 → 0.18.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.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +56 -21
  4. data/lib/surge_api/client.rb +22 -1
  5. data/lib/surge_api/internal/cursor.rb +2 -2
  6. data/lib/surge_api/internal/transport/base_client.rb +5 -0
  7. data/lib/surge_api/internal/util.rb +22 -7
  8. data/lib/surge_api/models/account_archive_params.rb +9 -1
  9. data/lib/surge_api/models/account_list_params.rb +34 -0
  10. data/lib/surge_api/models/account_retrieve_status_params.rb +9 -1
  11. data/lib/surge_api/models/account_update_params.rb +9 -1
  12. data/lib/surge_api/models/attachment_get_file_params.rb +9 -1
  13. data/lib/surge_api/models/audience_add_contact_params.rb +9 -1
  14. data/lib/surge_api/models/audience_create_params.rb +9 -1
  15. data/lib/surge_api/models/audience_list_contacts_params.rb +9 -1
  16. data/lib/surge_api/models/blast_create_params.rb +9 -1
  17. data/lib/surge_api/models/campaign_create_params.rb +6 -10
  18. data/lib/surge_api/models/campaign_list_params.rb +9 -1
  19. data/lib/surge_api/models/campaign_retrieve_params.rb +9 -1
  20. data/lib/surge_api/models/campaign_update_params.rb +6 -10
  21. data/lib/surge_api/models/contact_create_params.rb +9 -1
  22. data/lib/surge_api/models/contact_list_params.rb +9 -1
  23. data/lib/surge_api/models/contact_retrieve_params.rb +9 -1
  24. data/lib/surge_api/models/contact_update_params.rb +9 -1
  25. data/lib/surge_api/models/message.rb +1 -0
  26. data/lib/surge_api/models/message_create_params.rb +6 -11
  27. data/lib/surge_api/models/message_delivered_webhook_event.rb +1 -0
  28. data/lib/surge_api/models/message_failed_webhook_event.rb +1 -0
  29. data/lib/surge_api/models/message_list_params.rb +9 -1
  30. data/lib/surge_api/models/message_params.rb +74 -2
  31. data/lib/surge_api/models/message_received_webhook_event.rb +1 -0
  32. data/lib/surge_api/models/message_retrieve_params.rb +9 -1
  33. data/lib/surge_api/models/message_sent_webhook_event.rb +1 -0
  34. data/lib/surge_api/models/phone_number.rb +1 -1
  35. data/lib/surge_api/models/phone_number_list_params.rb +9 -1
  36. data/lib/surge_api/models/phone_number_purchase_params.rb +9 -1
  37. data/lib/surge_api/models/phone_number_release_params.rb +22 -0
  38. data/lib/surge_api/models/phone_number_update_params.rb +38 -0
  39. data/lib/surge_api/models/recording_delete_params.rb +9 -1
  40. data/lib/surge_api/models/recording_get_file_params.rb +9 -1
  41. data/lib/surge_api/models/recording_list_params.rb +9 -1
  42. data/lib/surge_api/models/recording_retrieve_params.rb +9 -1
  43. data/lib/surge_api/models/user_create_params.rb +9 -1
  44. data/lib/surge_api/models/user_create_token_params.rb +9 -1
  45. data/lib/surge_api/models/user_delete_params.rb +9 -1
  46. data/lib/surge_api/models/user_list_params.rb +9 -1
  47. data/lib/surge_api/models/user_retrieve_params.rb +9 -1
  48. data/lib/surge_api/models/user_update_params.rb +9 -1
  49. data/lib/surge_api/models/verification_check_params.rb +9 -1
  50. data/lib/surge_api/models/verification_create_params.rb +9 -1
  51. data/lib/surge_api/models.rb +6 -0
  52. data/lib/surge_api/resources/accounts.rb +29 -0
  53. data/lib/surge_api/resources/campaigns.rb +4 -14
  54. data/lib/surge_api/resources/messages.rb +6 -7
  55. data/lib/surge_api/resources/phone_numbers.rb +46 -0
  56. data/lib/surge_api/resources/verifications.rb +7 -4
  57. data/lib/surge_api/resources/webhooks.rb +11 -1
  58. data/lib/surge_api/version.rb +1 -1
  59. data/lib/surge_api.rb +4 -0
  60. data/rbi/surge_api/client.rbi +6 -0
  61. data/rbi/surge_api/internal/util.rbi +8 -0
  62. data/rbi/surge_api/models/account_archive_params.rbi +18 -5
  63. data/rbi/surge_api/models/account_list_params.rbi +59 -0
  64. data/rbi/surge_api/models/account_retrieve_status_params.rbi +8 -0
  65. data/rbi/surge_api/models/account_update_params.rbi +8 -0
  66. data/rbi/surge_api/models/attachment_get_file_params.rbi +18 -5
  67. data/rbi/surge_api/models/audience_add_contact_params.rbi +12 -1
  68. data/rbi/surge_api/models/audience_create_params.rbi +12 -1
  69. data/rbi/surge_api/models/audience_list_contacts_params.rbi +8 -0
  70. data/rbi/surge_api/models/blast_create_params.rbi +8 -0
  71. data/rbi/surge_api/models/campaign_create_params.rbi +7 -27
  72. data/rbi/surge_api/models/campaign_list_params.rbi +8 -0
  73. data/rbi/surge_api/models/campaign_retrieve_params.rbi +18 -5
  74. data/rbi/surge_api/models/campaign_update_params.rbi +7 -27
  75. data/rbi/surge_api/models/contact_create_params.rbi +8 -0
  76. data/rbi/surge_api/models/contact_list_params.rbi +8 -0
  77. data/rbi/surge_api/models/contact_retrieve_params.rbi +18 -5
  78. data/rbi/surge_api/models/contact_update_params.rbi +8 -0
  79. data/rbi/surge_api/models/message.rbi +2 -0
  80. data/rbi/surge_api/models/message_create_params.rbi +7 -29
  81. data/rbi/surge_api/models/message_delivered_webhook_event.rbi +5 -0
  82. data/rbi/surge_api/models/message_failed_webhook_event.rbi +5 -0
  83. data/rbi/surge_api/models/message_list_params.rbi +8 -0
  84. data/rbi/surge_api/models/message_params.rbi +225 -6
  85. data/rbi/surge_api/models/message_received_webhook_event.rbi +5 -0
  86. data/rbi/surge_api/models/message_retrieve_params.rbi +18 -5
  87. data/rbi/surge_api/models/message_sent_webhook_event.rbi +5 -0
  88. data/rbi/surge_api/models/phone_number_list_params.rbi +8 -0
  89. data/rbi/surge_api/models/phone_number_purchase_params.rbi +8 -0
  90. data/rbi/surge_api/models/phone_number_release_params.rbi +40 -0
  91. data/rbi/surge_api/models/phone_number_update_params.rbi +65 -0
  92. data/rbi/surge_api/models/recording_delete_params.rbi +18 -5
  93. data/rbi/surge_api/models/recording_get_file_params.rbi +18 -5
  94. data/rbi/surge_api/models/recording_list_params.rbi +8 -0
  95. data/rbi/surge_api/models/recording_retrieve_params.rbi +18 -5
  96. data/rbi/surge_api/models/user_create_params.rbi +8 -0
  97. data/rbi/surge_api/models/user_create_token_params.rbi +8 -0
  98. data/rbi/surge_api/models/user_delete_params.rbi +18 -5
  99. data/rbi/surge_api/models/user_list_params.rbi +8 -0
  100. data/rbi/surge_api/models/user_retrieve_params.rbi +18 -5
  101. data/rbi/surge_api/models/user_update_params.rbi +8 -0
  102. data/rbi/surge_api/models/verification_check_params.rbi +12 -1
  103. data/rbi/surge_api/models/verification_create_params.rbi +12 -1
  104. data/rbi/surge_api/models.rbi +6 -0
  105. data/rbi/surge_api/resources/accounts.rbi +18 -0
  106. data/rbi/surge_api/resources/campaigns.rbi +10 -2
  107. data/rbi/surge_api/resources/messages.rbi +9 -1
  108. data/rbi/surge_api/resources/phone_numbers.rbi +34 -0
  109. data/rbi/surge_api/resources/verifications.rbi +5 -1
  110. data/rbi/surge_api/resources/webhooks.rbi +10 -2
  111. data/sig/surge_api/client.rbs +3 -0
  112. data/sig/surge_api/internal/util.rbs +4 -0
  113. data/sig/surge_api/models/account_archive_params.rbs +8 -3
  114. data/sig/surge_api/models/account_list_params.rbs +32 -0
  115. data/sig/surge_api/models/account_retrieve_status_params.rbs +5 -0
  116. data/sig/surge_api/models/account_update_params.rbs +5 -0
  117. data/sig/surge_api/models/attachment_get_file_params.rbs +11 -3
  118. data/sig/surge_api/models/audience_add_contact_params.rbs +10 -2
  119. data/sig/surge_api/models/audience_create_params.rbs +6 -1
  120. data/sig/surge_api/models/audience_list_contacts_params.rbs +5 -1
  121. data/sig/surge_api/models/blast_create_params.rbs +5 -0
  122. data/sig/surge_api/models/campaign_create_params.rbs +4 -9
  123. data/sig/surge_api/models/campaign_list_params.rbs +5 -1
  124. data/sig/surge_api/models/campaign_retrieve_params.rbs +8 -3
  125. data/sig/surge_api/models/campaign_update_params.rbs +4 -12
  126. data/sig/surge_api/models/contact_create_params.rbs +5 -0
  127. data/sig/surge_api/models/contact_list_params.rbs +5 -1
  128. data/sig/surge_api/models/contact_retrieve_params.rbs +8 -3
  129. data/sig/surge_api/models/contact_update_params.rbs +5 -0
  130. data/sig/surge_api/models/message.rbs +2 -1
  131. data/sig/surge_api/models/message_create_params.rbs +4 -9
  132. data/sig/surge_api/models/message_delivered_webhook_event.rbs +2 -1
  133. data/sig/surge_api/models/message_failed_webhook_event.rbs +2 -1
  134. data/sig/surge_api/models/message_list_params.rbs +5 -1
  135. data/sig/surge_api/models/message_params.rbs +88 -6
  136. data/sig/surge_api/models/message_received_webhook_event.rbs +2 -1
  137. data/sig/surge_api/models/message_retrieve_params.rbs +8 -3
  138. data/sig/surge_api/models/message_sent_webhook_event.rbs +2 -1
  139. data/sig/surge_api/models/phone_number_list_params.rbs +5 -1
  140. data/sig/surge_api/models/phone_number_purchase_params.rbs +5 -0
  141. data/sig/surge_api/models/phone_number_release_params.rbs +20 -0
  142. data/sig/surge_api/models/phone_number_update_params.rbs +36 -0
  143. data/sig/surge_api/models/recording_delete_params.rbs +8 -3
  144. data/sig/surge_api/models/recording_get_file_params.rbs +11 -3
  145. data/sig/surge_api/models/recording_list_params.rbs +5 -1
  146. data/sig/surge_api/models/recording_retrieve_params.rbs +8 -3
  147. data/sig/surge_api/models/user_create_params.rbs +5 -0
  148. data/sig/surge_api/models/user_create_token_params.rbs +5 -1
  149. data/sig/surge_api/models/user_delete_params.rbs +8 -3
  150. data/sig/surge_api/models/user_list_params.rbs +5 -1
  151. data/sig/surge_api/models/user_retrieve_params.rbs +8 -3
  152. data/sig/surge_api/models/user_update_params.rbs +5 -0
  153. data/sig/surge_api/models/verification_check_params.rbs +6 -1
  154. data/sig/surge_api/models/verification_create_params.rbs +6 -1
  155. data/sig/surge_api/models.rbs +6 -0
  156. data/sig/surge_api/resources/accounts.rbs +6 -0
  157. data/sig/surge_api/resources/campaigns.rbs +2 -2
  158. data/sig/surge_api/resources/messages.rbs +1 -1
  159. data/sig/surge_api/resources/phone_numbers.rbs +12 -0
  160. data/sig/surge_api/resources/verifications.rbs +1 -0
  161. data/sig/surge_api/resources/webhooks.rbs +3 -1
  162. metadata +25 -2
@@ -1,20 +1,25 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type audience_create_params =
4
- { name: String } & SurgeAPI::Internal::Type::request_parameters
4
+ { account_id: String, name: String }
5
+ & SurgeAPI::Internal::Type::request_parameters
5
6
 
6
7
  class AudienceCreateParams < SurgeAPI::Internal::Type::BaseModel
7
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
9
  include SurgeAPI::Internal::Type::RequestParameters
9
10
 
11
+ attr_accessor account_id: String
12
+
10
13
  attr_accessor name: String
11
14
 
12
15
  def initialize: (
16
+ account_id: String,
13
17
  name: String,
14
18
  ?request_options: SurgeAPI::request_opts
15
19
  ) -> void
16
20
 
17
21
  def to_hash: -> {
22
+ account_id: String,
18
23
  name: String,
19
24
  request_options: SurgeAPI::RequestOptions
20
25
  }
@@ -1,13 +1,15 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type audience_list_contacts_params =
4
- { after: String, before: String }
4
+ { audience_id: String, after: String, before: String }
5
5
  & SurgeAPI::Internal::Type::request_parameters
6
6
 
7
7
  class AudienceListContactsParams < SurgeAPI::Internal::Type::BaseModel
8
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
9
  include SurgeAPI::Internal::Type::RequestParameters
10
10
 
11
+ attr_accessor audience_id: String
12
+
11
13
  attr_reader after: String?
12
14
 
13
15
  def after=: (String) -> String
@@ -17,12 +19,14 @@ module SurgeAPI
17
19
  def before=: (String) -> String
18
20
 
19
21
  def initialize: (
22
+ audience_id: String,
20
23
  ?after: String,
21
24
  ?before: String,
22
25
  ?request_options: SurgeAPI::request_opts
23
26
  ) -> void
24
27
 
25
28
  def to_hash: -> {
29
+ audience_id: String,
26
30
  after: String,
27
31
  before: String,
28
32
  request_options: SurgeAPI::RequestOptions
@@ -2,6 +2,7 @@ module SurgeAPI
2
2
  module Models
3
3
  type blast_create_params =
4
4
  {
5
+ account_id: String,
5
6
  attachments: ::Array[SurgeAPI::BlastCreateParams::Attachment],
6
7
  body: String?,
7
8
  contacts: ::Array[String],
@@ -17,6 +18,8 @@ module SurgeAPI
17
18
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
18
19
  include SurgeAPI::Internal::Type::RequestParameters
19
20
 
21
+ attr_accessor account_id: String
22
+
20
23
  attr_reader attachments: ::Array[SurgeAPI::BlastCreateParams::Attachment]?
21
24
 
22
25
  def attachments=: (
@@ -50,6 +53,7 @@ module SurgeAPI
50
53
  def to=: (::Array[String]) -> ::Array[String]
51
54
 
52
55
  def initialize: (
56
+ account_id: String,
53
57
  ?attachments: ::Array[SurgeAPI::BlastCreateParams::Attachment],
54
58
  ?body: String?,
55
59
  ?contacts: ::Array[String],
@@ -62,6 +66,7 @@ module SurgeAPI
62
66
  ) -> void
63
67
 
64
68
  def to_hash: -> {
69
+ account_id: String,
65
70
  attachments: ::Array[SurgeAPI::BlastCreateParams::Attachment],
66
71
  body: String?,
67
72
  contacts: ::Array[String],
@@ -1,26 +1,21 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type campaign_create_params =
4
- { campaign_params: SurgeAPI::Models::campaign_params }
5
- & SurgeAPI::Internal::Type::request_parameters
4
+ { account_id: String } & SurgeAPI::Internal::Type::request_parameters
6
5
 
7
6
  class CampaignCreateParams < SurgeAPI::Internal::Type::BaseModel
8
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
8
  include SurgeAPI::Internal::Type::RequestParameters
10
9
 
11
- def campaign_params: -> SurgeAPI::Models::campaign_params
12
-
13
- def campaign_params=: (
14
- SurgeAPI::Models::campaign_params _
15
- ) -> SurgeAPI::Models::campaign_params
10
+ attr_accessor account_id: String
16
11
 
17
12
  def initialize: (
18
- campaign_params: SurgeAPI::Models::campaign_params,
13
+ account_id: String,
19
14
  ?request_options: SurgeAPI::request_opts
20
15
  ) -> void
21
16
 
22
17
  def to_hash: -> {
23
- campaign_params: SurgeAPI::Models::campaign_params,
18
+ account_id: String,
24
19
  request_options: SurgeAPI::RequestOptions
25
20
  }
26
21
  end
@@ -1,13 +1,15 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type campaign_list_params =
4
- { after: String, before: String }
4
+ { account_id: String, after: String, before: String }
5
5
  & SurgeAPI::Internal::Type::request_parameters
6
6
 
7
7
  class CampaignListParams < SurgeAPI::Internal::Type::BaseModel
8
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
9
  include SurgeAPI::Internal::Type::RequestParameters
10
10
 
11
+ attr_accessor account_id: String
12
+
11
13
  attr_reader after: String?
12
14
 
13
15
  def after=: (String) -> String
@@ -17,12 +19,14 @@ module SurgeAPI
17
19
  def before=: (String) -> String
18
20
 
19
21
  def initialize: (
22
+ account_id: String,
20
23
  ?after: String,
21
24
  ?before: String,
22
25
  ?request_options: SurgeAPI::request_opts
23
26
  ) -> void
24
27
 
25
28
  def to_hash: -> {
29
+ account_id: String,
26
30
  after: String,
27
31
  before: String,
28
32
  request_options: SurgeAPI::RequestOptions
@@ -1,15 +1,20 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type campaign_retrieve_params =
4
- { } & SurgeAPI::Internal::Type::request_parameters
4
+ { id: String } & SurgeAPI::Internal::Type::request_parameters
5
5
 
6
6
  class CampaignRetrieveParams < SurgeAPI::Internal::Type::BaseModel
7
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
8
  include SurgeAPI::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: SurgeAPI::request_opts) -> void
10
+ attr_accessor id: String
11
11
 
12
- def to_hash: -> { request_options: SurgeAPI::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: SurgeAPI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
13
18
  end
14
19
  end
15
20
  end
@@ -1,28 +1,20 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type campaign_update_params =
4
- { campaign_params: SurgeAPI::Models::campaign_params }
5
- & SurgeAPI::Internal::Type::request_parameters
4
+ { id: String } & SurgeAPI::Internal::Type::request_parameters
6
5
 
7
6
  class CampaignUpdateParams < SurgeAPI::Internal::Type::BaseModel
8
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
8
  include SurgeAPI::Internal::Type::RequestParameters
10
9
 
11
- def campaign_params: -> SurgeAPI::Models::campaign_params
12
-
13
- def campaign_params=: (
14
- SurgeAPI::Models::campaign_params _
15
- ) -> SurgeAPI::Models::campaign_params
10
+ attr_accessor id: String
16
11
 
17
12
  def initialize: (
18
- campaign_params: SurgeAPI::Models::campaign_params,
13
+ id: String,
19
14
  ?request_options: SurgeAPI::request_opts
20
15
  ) -> void
21
16
 
22
- def to_hash: -> {
23
- campaign_params: SurgeAPI::Models::campaign_params,
24
- request_options: SurgeAPI::RequestOptions
25
- }
17
+ def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
26
18
  end
27
19
  end
28
20
  end
@@ -2,6 +2,7 @@ module SurgeAPI
2
2
  module Models
3
3
  type contact_create_params =
4
4
  {
5
+ account_id: String,
5
6
  phone_number: String,
6
7
  email: String,
7
8
  first_name: String,
@@ -14,6 +15,8 @@ module SurgeAPI
14
15
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
15
16
  include SurgeAPI::Internal::Type::RequestParameters
16
17
 
18
+ attr_accessor account_id: String
19
+
17
20
  attr_accessor phone_number: String
18
21
 
19
22
  attr_reader email: String?
@@ -33,6 +36,7 @@ module SurgeAPI
33
36
  def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
34
37
 
35
38
  def initialize: (
39
+ account_id: String,
36
40
  phone_number: String,
37
41
  ?email: String,
38
42
  ?first_name: String,
@@ -42,6 +46,7 @@ module SurgeAPI
42
46
  ) -> void
43
47
 
44
48
  def to_hash: -> {
49
+ account_id: String,
45
50
  phone_number: String,
46
51
  email: String,
47
52
  first_name: String,
@@ -1,13 +1,15 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type contact_list_params =
4
- { after: String, before: String }
4
+ { account_id: String, after: String, before: String }
5
5
  & SurgeAPI::Internal::Type::request_parameters
6
6
 
7
7
  class ContactListParams < SurgeAPI::Internal::Type::BaseModel
8
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
9
  include SurgeAPI::Internal::Type::RequestParameters
10
10
 
11
+ attr_accessor account_id: String
12
+
11
13
  attr_reader after: String?
12
14
 
13
15
  def after=: (String) -> String
@@ -17,12 +19,14 @@ module SurgeAPI
17
19
  def before=: (String) -> String
18
20
 
19
21
  def initialize: (
22
+ account_id: String,
20
23
  ?after: String,
21
24
  ?before: String,
22
25
  ?request_options: SurgeAPI::request_opts
23
26
  ) -> void
24
27
 
25
28
  def to_hash: -> {
29
+ account_id: String,
26
30
  after: String,
27
31
  before: String,
28
32
  request_options: SurgeAPI::RequestOptions
@@ -1,15 +1,20 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type contact_retrieve_params =
4
- { } & SurgeAPI::Internal::Type::request_parameters
4
+ { id: String } & SurgeAPI::Internal::Type::request_parameters
5
5
 
6
6
  class ContactRetrieveParams < SurgeAPI::Internal::Type::BaseModel
7
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
8
  include SurgeAPI::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: SurgeAPI::request_opts) -> void
10
+ attr_accessor id: String
11
11
 
12
- def to_hash: -> { request_options: SurgeAPI::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: SurgeAPI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
13
18
  end
14
19
  end
15
20
  end
@@ -2,6 +2,7 @@ module SurgeAPI
2
2
  module Models
3
3
  type contact_update_params =
4
4
  {
5
+ id: String,
5
6
  phone_number: String,
6
7
  email: String,
7
8
  first_name: String,
@@ -14,6 +15,8 @@ module SurgeAPI
14
15
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
15
16
  include SurgeAPI::Internal::Type::RequestParameters
16
17
 
18
+ attr_accessor id: String
19
+
17
20
  attr_accessor phone_number: String
18
21
 
19
22
  attr_reader email: String?
@@ -33,6 +36,7 @@ module SurgeAPI
33
36
  def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
34
37
 
35
38
  def initialize: (
39
+ id: String,
36
40
  phone_number: String,
37
41
  ?email: String,
38
42
  ?first_name: String,
@@ -42,6 +46,7 @@ module SurgeAPI
42
46
  ) -> void
43
47
 
44
48
  def to_hash: -> {
49
+ id: String,
45
50
  phone_number: String,
46
51
  email: String,
47
52
  first_name: String,
@@ -87,7 +87,7 @@ module SurgeAPI
87
87
  url: String
88
88
  }
89
89
 
90
- type type_ = :file | :image | :link | :video
90
+ type type_ = :file | :image | :link | :contact | :video
91
91
 
92
92
  module Type
93
93
  extend SurgeAPI::Internal::Type::Enum
@@ -95,6 +95,7 @@ module SurgeAPI
95
95
  FILE: :file
96
96
  IMAGE: :image
97
97
  LINK: :link
98
+ CONTACT: :contact
98
99
  VIDEO: :video
99
100
 
100
101
  def self?.values: -> ::Array[SurgeAPI::Models::Message::Attachment::type_]
@@ -1,26 +1,21 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type message_create_params =
4
- { message_params: SurgeAPI::Models::message_params }
5
- & SurgeAPI::Internal::Type::request_parameters
4
+ { account_id: String } & SurgeAPI::Internal::Type::request_parameters
6
5
 
7
6
  class MessageCreateParams < SurgeAPI::Internal::Type::BaseModel
8
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
8
  include SurgeAPI::Internal::Type::RequestParameters
10
9
 
11
- def message_params: -> SurgeAPI::Models::message_params
12
-
13
- def message_params=: (
14
- SurgeAPI::Models::message_params _
15
- ) -> SurgeAPI::Models::message_params
10
+ attr_accessor account_id: String
16
11
 
17
12
  def initialize: (
18
- message_params: SurgeAPI::Models::message_params,
13
+ account_id: String,
19
14
  ?request_options: SurgeAPI::request_opts
20
15
  ) -> void
21
16
 
22
17
  def to_hash: -> {
23
- message_params: SurgeAPI::Models::message_params,
18
+ account_id: String,
24
19
  request_options: SurgeAPI::RequestOptions
25
20
  }
26
21
  end
@@ -136,7 +136,7 @@ module SurgeAPI
136
136
  url: String
137
137
  }
138
138
 
139
- type type_ = :file | :image | :link | :video
139
+ type type_ = :file | :image | :link | :contact | :video
140
140
 
141
141
  module Type
142
142
  extend SurgeAPI::Internal::Type::Enum
@@ -144,6 +144,7 @@ module SurgeAPI
144
144
  FILE: :file
145
145
  IMAGE: :image
146
146
  LINK: :link
147
+ CONTACT: :contact
147
148
  VIDEO: :video
148
149
 
149
150
  def self?.values: -> ::Array[SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::Attachment::type_]
@@ -141,7 +141,7 @@ module SurgeAPI
141
141
  url: String
142
142
  }
143
143
 
144
- type type_ = :file | :image | :link | :video
144
+ type type_ = :file | :image | :link | :contact | :video
145
145
 
146
146
  module Type
147
147
  extend SurgeAPI::Internal::Type::Enum
@@ -149,6 +149,7 @@ module SurgeAPI
149
149
  FILE: :file
150
150
  IMAGE: :image
151
151
  LINK: :link
152
+ CONTACT: :contact
152
153
  VIDEO: :video
153
154
 
154
155
  def self?.values: -> ::Array[SurgeAPI::Models::MessageFailedWebhookEvent::Data::Attachment::type_]
@@ -1,13 +1,15 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type message_list_params =
4
- { after: String, before: String }
4
+ { account_id: String, after: String, before: String }
5
5
  & SurgeAPI::Internal::Type::request_parameters
6
6
 
7
7
  class MessageListParams < SurgeAPI::Internal::Type::BaseModel
8
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
9
  include SurgeAPI::Internal::Type::RequestParameters
10
10
 
11
+ attr_accessor account_id: String
12
+
11
13
  attr_reader after: String?
12
14
 
13
15
  def after=: (String) -> String
@@ -17,12 +19,14 @@ module SurgeAPI
17
19
  def before=: (String) -> String
18
20
 
19
21
  def initialize: (
22
+ account_id: String,
20
23
  ?after: String,
21
24
  ?before: String,
22
25
  ?request_options: SurgeAPI::request_opts
23
26
  ) -> void
24
27
 
25
28
  def to_hash: -> {
29
+ account_id: String,
26
30
  after: String,
27
31
  before: String,
28
32
  request_options: SurgeAPI::RequestOptions
@@ -13,7 +13,8 @@ module SurgeAPI
13
13
  attachments: ::Array[SurgeAPI::MessageParams::MessageParamsWithConversation::Attachment],
14
14
  body: String,
15
15
  metadata: ::Hash[Symbol, String],
16
- send_at: Time
16
+ send_at: Time,
17
+ settings: SurgeAPI::MessageParams::MessageParamsWithConversation::Settings
17
18
  }
18
19
 
19
20
  class MessageParamsWithConversation < SurgeAPI::Internal::Type::BaseModel
@@ -37,12 +38,19 @@ module SurgeAPI
37
38
 
38
39
  def send_at=: (Time) -> Time
39
40
 
41
+ attr_reader settings: SurgeAPI::MessageParams::MessageParamsWithConversation::Settings?
42
+
43
+ def settings=: (
44
+ SurgeAPI::MessageParams::MessageParamsWithConversation::Settings
45
+ ) -> SurgeAPI::MessageParams::MessageParamsWithConversation::Settings
46
+
40
47
  def initialize: (
41
48
  conversation: SurgeAPI::MessageParams::MessageParamsWithConversation::Conversation,
42
49
  ?attachments: ::Array[SurgeAPI::MessageParams::MessageParamsWithConversation::Attachment],
43
50
  ?body: String,
44
51
  ?metadata: ::Hash[Symbol, String],
45
- ?send_at: Time
52
+ ?send_at: Time,
53
+ ?settings: SurgeAPI::MessageParams::MessageParamsWithConversation::Settings
46
54
  ) -> void
47
55
 
48
56
  def to_hash: -> {
@@ -50,7 +58,8 @@ module SurgeAPI
50
58
  attachments: ::Array[SurgeAPI::MessageParams::MessageParamsWithConversation::Attachment],
51
59
  body: String,
52
60
  metadata: ::Hash[Symbol, String],
53
- send_at: Time
61
+ send_at: Time,
62
+ settings: SurgeAPI::MessageParams::MessageParamsWithConversation::Settings
54
63
  }
55
64
 
56
65
  type conversation =
@@ -131,6 +140,38 @@ module SurgeAPI
131
140
 
132
141
  def to_hash: -> { url: String }
133
142
  end
143
+
144
+ type settings =
145
+ {
146
+ link_shortening: SurgeAPI::Models::MessageParams::MessageParamsWithConversation::Settings::link_shortening
147
+ }
148
+
149
+ class Settings < SurgeAPI::Internal::Type::BaseModel
150
+ attr_reader link_shortening: SurgeAPI::Models::MessageParams::MessageParamsWithConversation::Settings::link_shortening?
151
+
152
+ def link_shortening=: (
153
+ SurgeAPI::Models::MessageParams::MessageParamsWithConversation::Settings::link_shortening
154
+ ) -> SurgeAPI::Models::MessageParams::MessageParamsWithConversation::Settings::link_shortening
155
+
156
+ def initialize: (
157
+ ?link_shortening: SurgeAPI::Models::MessageParams::MessageParamsWithConversation::Settings::link_shortening
158
+ ) -> void
159
+
160
+ def to_hash: -> {
161
+ link_shortening: SurgeAPI::Models::MessageParams::MessageParamsWithConversation::Settings::link_shortening
162
+ }
163
+
164
+ type link_shortening = :enabled | :disabled
165
+
166
+ module LinkShortening
167
+ extend SurgeAPI::Internal::Type::Enum
168
+
169
+ ENABLED: :enabled
170
+ DISABLED: :disabled
171
+
172
+ def self?.values: -> ::Array[SurgeAPI::Models::MessageParams::MessageParamsWithConversation::Settings::link_shortening]
173
+ end
174
+ end
134
175
  end
135
176
 
136
177
  type simple_message_params =
@@ -140,7 +181,8 @@ module SurgeAPI
140
181
  body: String,
141
182
  from: String,
142
183
  metadata: ::Hash[Symbol, String],
143
- send_at: Time
184
+ send_at: Time,
185
+ settings: SurgeAPI::MessageParams::SimpleMessageParams::Settings
144
186
  }
145
187
 
146
188
  class SimpleMessageParams < SurgeAPI::Internal::Type::BaseModel
@@ -168,13 +210,20 @@ module SurgeAPI
168
210
 
169
211
  def send_at=: (Time) -> Time
170
212
 
213
+ attr_reader settings: SurgeAPI::MessageParams::SimpleMessageParams::Settings?
214
+
215
+ def settings=: (
216
+ SurgeAPI::MessageParams::SimpleMessageParams::Settings
217
+ ) -> SurgeAPI::MessageParams::SimpleMessageParams::Settings
218
+
171
219
  def initialize: (
172
220
  to: String,
173
221
  ?attachments: ::Array[SurgeAPI::MessageParams::SimpleMessageParams::Attachment],
174
222
  ?body: String,
175
223
  ?from: String,
176
224
  ?metadata: ::Hash[Symbol, String],
177
- ?send_at: Time
225
+ ?send_at: Time,
226
+ ?settings: SurgeAPI::MessageParams::SimpleMessageParams::Settings
178
227
  ) -> void
179
228
 
180
229
  def to_hash: -> {
@@ -183,7 +232,8 @@ module SurgeAPI
183
232
  body: String,
184
233
  from: String,
185
234
  metadata: ::Hash[Symbol, String],
186
- send_at: Time
235
+ send_at: Time,
236
+ settings: SurgeAPI::MessageParams::SimpleMessageParams::Settings
187
237
  }
188
238
 
189
239
  type attachment = { url: String }
@@ -195,6 +245,38 @@ module SurgeAPI
195
245
 
196
246
  def to_hash: -> { url: String }
197
247
  end
248
+
249
+ type settings =
250
+ {
251
+ link_shortening: SurgeAPI::Models::MessageParams::SimpleMessageParams::Settings::link_shortening
252
+ }
253
+
254
+ class Settings < SurgeAPI::Internal::Type::BaseModel
255
+ attr_reader link_shortening: SurgeAPI::Models::MessageParams::SimpleMessageParams::Settings::link_shortening?
256
+
257
+ def link_shortening=: (
258
+ SurgeAPI::Models::MessageParams::SimpleMessageParams::Settings::link_shortening
259
+ ) -> SurgeAPI::Models::MessageParams::SimpleMessageParams::Settings::link_shortening
260
+
261
+ def initialize: (
262
+ ?link_shortening: SurgeAPI::Models::MessageParams::SimpleMessageParams::Settings::link_shortening
263
+ ) -> void
264
+
265
+ def to_hash: -> {
266
+ link_shortening: SurgeAPI::Models::MessageParams::SimpleMessageParams::Settings::link_shortening
267
+ }
268
+
269
+ type link_shortening = :enabled | :disabled
270
+
271
+ module LinkShortening
272
+ extend SurgeAPI::Internal::Type::Enum
273
+
274
+ ENABLED: :enabled
275
+ DISABLED: :disabled
276
+
277
+ def self?.values: -> ::Array[SurgeAPI::Models::MessageParams::SimpleMessageParams::Settings::link_shortening]
278
+ end
279
+ end
198
280
  end
199
281
 
200
282
  def self?.variants: -> ::Array[SurgeAPI::Models::message_params]
@@ -136,7 +136,7 @@ module SurgeAPI
136
136
  url: String
137
137
  }
138
138
 
139
- type type_ = :file | :image | :link | :video
139
+ type type_ = :file | :image | :link | :contact | :video
140
140
 
141
141
  module Type
142
142
  extend SurgeAPI::Internal::Type::Enum
@@ -144,6 +144,7 @@ module SurgeAPI
144
144
  FILE: :file
145
145
  IMAGE: :image
146
146
  LINK: :link
147
+ CONTACT: :contact
147
148
  VIDEO: :video
148
149
 
149
150
  def self?.values: -> ::Array[SurgeAPI::Models::MessageReceivedWebhookEvent::Data::Attachment::type_]
@@ -1,15 +1,20 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type message_retrieve_params =
4
- { } & SurgeAPI::Internal::Type::request_parameters
4
+ { id: String } & SurgeAPI::Internal::Type::request_parameters
5
5
 
6
6
  class MessageRetrieveParams < SurgeAPI::Internal::Type::BaseModel
7
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
8
  include SurgeAPI::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: SurgeAPI::request_opts) -> void
10
+ attr_accessor id: String
11
11
 
12
- def to_hash: -> { request_options: SurgeAPI::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: SurgeAPI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
13
18
  end
14
19
  end
15
20
  end
@@ -136,7 +136,7 @@ module SurgeAPI
136
136
  url: String
137
137
  }
138
138
 
139
- type type_ = :file | :image | :link | :video
139
+ type type_ = :file | :image | :link | :contact | :video
140
140
 
141
141
  module Type
142
142
  extend SurgeAPI::Internal::Type::Enum
@@ -144,6 +144,7 @@ module SurgeAPI
144
144
  FILE: :file
145
145
  IMAGE: :image
146
146
  LINK: :link
147
+ CONTACT: :contact
147
148
  VIDEO: :video
148
149
 
149
150
  def self?.values: -> ::Array[SurgeAPI::Models::MessageSentWebhookEvent::Data::Attachment::type_]