sendx-ruby-sdk 1.1.0 → 2.0.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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +220 -81
  3. data/lib/sendx-ruby-sdk/api/campaign_api.rb +95 -143
  4. data/lib/sendx-ruby-sdk/api/contact_api.rb +129 -96
  5. data/lib/sendx-ruby-sdk/api/custom_field_api.rb +391 -0
  6. data/lib/sendx-ruby-sdk/api/email_sending_api.rb +158 -0
  7. data/lib/sendx-ruby-sdk/api/event_api.rb +91 -57
  8. data/lib/sendx-ruby-sdk/api/events_api.rb +158 -0
  9. data/lib/sendx-ruby-sdk/api/getting_started_api.rb +2 -2
  10. data/lib/sendx-ruby-sdk/api/list_api.rb +126 -91
  11. data/lib/sendx-ruby-sdk/api/post_api.rb +380 -0
  12. data/lib/sendx-ruby-sdk/api/post_category_api.rb +362 -0
  13. data/lib/sendx-ruby-sdk/api/post_tag_api.rb +362 -0
  14. data/lib/sendx-ruby-sdk/api/report_api.rb +90 -0
  15. data/lib/sendx-ruby-sdk/api/reports_api.rb +4 -4
  16. data/lib/sendx-ruby-sdk/api/sender_api.rb +28 -37
  17. data/lib/sendx-ruby-sdk/api/tag_api.rb +380 -0
  18. data/lib/sendx-ruby-sdk/api/tags_api.rb +8 -8
  19. data/lib/sendx-ruby-sdk/api/team_member_api.rb +147 -0
  20. data/lib/sendx-ruby-sdk/api/template_api.rb +391 -0
  21. data/lib/sendx-ruby-sdk/api/tracking_api.rb +158 -0
  22. data/lib/sendx-ruby-sdk/api/webhook_api.rb +362 -0
  23. data/lib/sendx-ruby-sdk/api_client.rb +10 -11
  24. data/lib/sendx-ruby-sdk/api_error.rb +3 -3
  25. data/lib/sendx-ruby-sdk/configuration.rb +6 -10
  26. data/lib/sendx-ruby-sdk/models/campaign.rb +23 -7
  27. data/lib/sendx-ruby-sdk/models/campaign_dashboard_data.rb +11 -5
  28. data/lib/sendx-ruby-sdk/models/campaign_request.rb +13 -41
  29. data/lib/sendx-ruby-sdk/models/contact.rb +11 -5
  30. data/lib/sendx-ruby-sdk/models/contact_request.rb +11 -5
  31. data/lib/sendx-ruby-sdk/models/create_response.rb +11 -5
  32. data/lib/sendx-ruby-sdk/models/custom_event_request.rb +37 -42
  33. data/lib/sendx-ruby-sdk/models/custom_field.rb +285 -0
  34. data/lib/sendx-ruby-sdk/models/customfield_customfield_id_delete200_response.rb +220 -0
  35. data/lib/sendx-ruby-sdk/models/dashboard_stats.rb +11 -5
  36. data/lib/sendx-ruby-sdk/models/delete_campaign200_response.rb +11 -5
  37. data/lib/sendx-ruby-sdk/models/delete_request.rb +11 -5
  38. data/lib/sendx-ruby-sdk/models/delete_response.rb +77 -13
  39. data/lib/sendx-ruby-sdk/models/e_custom_field.rb +295 -0
  40. data/lib/sendx-ruby-sdk/models/error_response.rb +288 -0
  41. data/lib/sendx-ruby-sdk/models/event_response.rb +13 -19
  42. data/lib/sendx-ruby-sdk/models/events_revenue_postback_get200_response.rb +229 -0
  43. data/lib/sendx-ruby-sdk/models/events_revenue_postback_get400_response.rb +220 -0
  44. data/lib/sendx-ruby-sdk/models/events_revenue_postback_get500_response.rb +220 -0
  45. data/lib/sendx-ruby-sdk/models/identify_error_response.rb +220 -0
  46. data/lib/sendx-ruby-sdk/models/identify_request.rb +52 -40
  47. data/lib/sendx-ruby-sdk/models/identify_response.rb +16 -19
  48. data/lib/sendx-ruby-sdk/models/last_sent_campaign_stat.rb +11 -5
  49. data/lib/sendx-ruby-sdk/models/link_stat.rb +232 -0
  50. data/lib/sendx-ruby-sdk/models/list_model.rb +11 -6
  51. data/lib/sendx-ruby-sdk/models/list_request.rb +11 -5
  52. data/lib/sendx-ruby-sdk/models/message_response.rb +229 -0
  53. data/lib/sendx-ruby-sdk/models/operation_response.rb +241 -0
  54. data/lib/sendx-ruby-sdk/models/postback_response.rb +229 -0
  55. data/lib/sendx-ruby-sdk/models/report_data.rb +11 -5
  56. data/lib/sendx-ruby-sdk/models/response.rb +11 -5
  57. data/lib/sendx-ruby-sdk/models/rest_e_campaign.rb +539 -0
  58. data/lib/sendx-ruby-sdk/models/rest_e_contact.rb +380 -0
  59. data/lib/sendx-ruby-sdk/models/rest_e_custom_field.rb +299 -0
  60. data/lib/sendx-ruby-sdk/models/rest_e_list.rb +238 -0
  61. data/lib/sendx-ruby-sdk/models/rest_e_post.rb +443 -0
  62. data/lib/sendx-ruby-sdk/models/rest_e_post_category.rb +238 -0
  63. data/lib/sendx-ruby-sdk/models/rest_e_post_tag.rb +238 -0
  64. data/lib/sendx-ruby-sdk/models/rest_e_sender.rb +265 -0
  65. data/lib/sendx-ruby-sdk/models/rest_e_tag.rb +238 -0
  66. data/lib/sendx-ruby-sdk/models/rest_e_template.rb +307 -0
  67. data/lib/sendx-ruby-sdk/models/rest_e_webhook.rb +349 -0
  68. data/lib/sendx-ruby-sdk/models/rest_r_campaign.rb +580 -0
  69. data/lib/sendx-ruby-sdk/models/rest_r_contact.rb +438 -0
  70. data/lib/sendx-ruby-sdk/models/rest_r_custom_field.rb +306 -0
  71. data/lib/sendx-ruby-sdk/models/rest_r_list.rb +291 -0
  72. data/lib/sendx-ruby-sdk/models/rest_r_member.rb +274 -0
  73. data/lib/sendx-ruby-sdk/models/rest_r_post.rb +384 -0
  74. data/lib/sendx-ruby-sdk/models/rest_r_post_category.rb +251 -0
  75. data/lib/sendx-ruby-sdk/models/rest_r_post_tag.rb +250 -0
  76. data/lib/sendx-ruby-sdk/models/rest_r_sender.rb +272 -0
  77. data/lib/sendx-ruby-sdk/models/rest_r_tag.rb +272 -0
  78. data/lib/sendx-ruby-sdk/models/rest_r_template.rb +366 -0
  79. data/lib/sendx-ruby-sdk/models/rest_r_webhook.rb +326 -0
  80. data/lib/sendx-ruby-sdk/models/rest_report_data.rb +312 -0
  81. data/lib/sendx-ruby-sdk/models/revenue_event_request.rb +37 -42
  82. data/lib/sendx-ruby-sdk/models/sender.rb +41 -5
  83. data/lib/sendx-ruby-sdk/models/sender_request.rb +31 -5
  84. data/lib/sendx-ruby-sdk/models/sender_response.rb +51 -5
  85. data/lib/sendx-ruby-sdk/models/tag.rb +11 -5
  86. data/lib/sendx-ruby-sdk/models/tag_request.rb +11 -5
  87. data/lib/sendx-ruby-sdk/models/template_email_message.rb +337 -0
  88. data/lib/sendx-ruby-sdk/models/track_request.rb +28 -20
  89. data/lib/sendx-ruby-sdk/models/track_response.rb +12 -6
  90. data/lib/sendx-ruby-sdk/models/webhook.rb +311 -0
  91. data/lib/sendx-ruby-sdk/models/webhook_object.rb +451 -0
  92. data/lib/sendx-ruby-sdk/models/webhook_request.rb +291 -0
  93. data/lib/sendx-ruby-sdk/models/x_attachment.rb +263 -0
  94. data/lib/sendx-ruby-sdk/models/x_email_message.rb +356 -0
  95. data/lib/sendx-ruby-sdk/models/x_email_response.rb +261 -0
  96. data/lib/sendx-ruby-sdk/models/x_from.rb +246 -0
  97. data/lib/sendx-ruby-sdk/models/x_reply_to.rb +246 -0
  98. data/lib/sendx-ruby-sdk/models/xto.rb +279 -0
  99. data/lib/sendx-ruby-sdk/version.rb +4 -4
  100. data/lib/sendx-ruby-sdk.rb +53 -25
  101. data/spec/api/custom_field_api_spec.rb +98 -0
  102. data/spec/api/email_sending_api_spec.rb +59 -0
  103. data/spec/api/events_api_spec.rb +59 -0
  104. data/spec/api/post_api_spec.rb +97 -0
  105. data/spec/api/post_category_api_spec.rb +95 -0
  106. data/spec/api/post_tag_api_spec.rb +95 -0
  107. data/spec/api/report_api_spec.rb +47 -0
  108. data/spec/api/tag_api_spec.rb +97 -0
  109. data/spec/api/team_member_api_spec.rb +58 -0
  110. data/spec/api/template_api_spec.rb +98 -0
  111. data/spec/api/tracking_api_spec.rb +59 -0
  112. data/spec/api/webhook_api_spec.rb +95 -0
  113. data/spec/models/custom_field_spec.rb +58 -0
  114. data/spec/models/customfield_customfield_id_delete200_response_spec.rb +36 -0
  115. data/spec/models/e_custom_field_spec.rb +64 -0
  116. data/spec/models/error_response_spec.rb +46 -0
  117. data/spec/models/events_revenue_postback_get200_response_spec.rb +42 -0
  118. data/spec/models/events_revenue_postback_get400_response_spec.rb +36 -0
  119. data/spec/models/events_revenue_postback_get500_response_spec.rb +36 -0
  120. data/spec/models/identify_error_response_spec.rb +36 -0
  121. data/spec/models/link_stat_spec.rb +42 -0
  122. data/spec/models/message_response_spec.rb +42 -0
  123. data/spec/models/operation_response_spec.rb +48 -0
  124. data/spec/models/postback_response_spec.rb +42 -0
  125. data/spec/models/rest_e_campaign_spec.rb +154 -0
  126. data/spec/models/rest_e_contact_spec.rb +78 -0
  127. data/spec/models/rest_e_custom_field_spec.rb +52 -0
  128. data/spec/models/rest_e_list_spec.rb +36 -0
  129. data/spec/models/rest_e_post_category_spec.rb +36 -0
  130. data/spec/models/rest_e_post_spec.rb +144 -0
  131. data/spec/models/rest_e_post_tag_spec.rb +36 -0
  132. data/spec/models/rest_e_sender_spec.rb +42 -0
  133. data/spec/models/rest_e_tag_spec.rb +36 -0
  134. data/spec/models/rest_e_template_spec.rb +66 -0
  135. data/spec/models/rest_e_webhook_spec.rb +84 -0
  136. data/spec/models/rest_r_campaign_spec.rb +178 -0
  137. data/spec/models/rest_r_contact_spec.rb +150 -0
  138. data/spec/models/rest_r_custom_field_spec.rb +58 -0
  139. data/spec/models/rest_r_list_spec.rb +64 -0
  140. data/spec/models/rest_r_member_spec.rb +72 -0
  141. data/spec/models/rest_r_post_category_spec.rb +54 -0
  142. data/spec/models/rest_r_post_spec.rb +144 -0
  143. data/spec/models/rest_r_post_tag_spec.rb +54 -0
  144. data/spec/models/rest_r_sender_spec.rb +54 -0
  145. data/spec/models/rest_r_tag_spec.rb +54 -0
  146. data/spec/models/rest_r_template_spec.rb +94 -0
  147. data/spec/models/rest_r_webhook_spec.rb +90 -0
  148. data/spec/models/rest_report_data_spec.rb +90 -0
  149. data/spec/models/template_email_message_spec.rb +72 -0
  150. data/spec/models/webhook_object_spec.rb +180 -0
  151. data/spec/models/webhook_request_spec.rb +78 -0
  152. data/spec/models/webhook_spec.rb +90 -0
  153. data/spec/models/x_attachment_spec.rb +42 -0
  154. data/spec/models/x_email_message_spec.rb +90 -0
  155. data/spec/models/x_email_response_spec.rb +60 -0
  156. data/spec/models/x_from_spec.rb +42 -0
  157. data/spec/models/x_reply_to_spec.rb +42 -0
  158. data/spec/models/xto_spec.rb +60 -0
  159. data/spec/spec_helper.rb +3 -3
  160. metadata +202 -28
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #SendX REST API
3
3
 
4
- ## Introduction SendX is an email marketing product. It helps you convert website visitors to customers, send them promotional emails, engage with them using drip sequences and craft custom journeys using powerful but simple automations. The SendX API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The SendX Rest API doesn’t support bulk updates. You can work on only one object per request. <br>
4
+ ## SendX REST API Documentation ## 🚀 Introduction The SendX API is organized around REST principles. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. **Key Features:** - 🔒 **Security**: Team-based authentication with optional member-level access - 🎯 **Resource-Oriented**: RESTful design with clear resource boundaries - 📊 **Rich Data Models**: Three-layer model system (Input/Output/Internal) - 🔗 **Relationships**: Automatic prefix handling for resource relationships - 📈 **Scalable**: Built for high-volume email marketing operations ## 🏗️ Architecture Overview SendX uses a three-layer model architecture: 1. **Input Models** (`RestE*`): For API requests 2. **Output Models** (`RestR*`): For API responses with prefixed IDs 3. **Internal Models**: Core business logic (not exposed in API) ## 🔐 Security & Authentication SendX uses API key authentication: ### Team API Key ```http X-Team-ApiKey: YOUR_TEAM_API_KEY ``` - **Required for all requests** - Team-level access to resources - Available in SendX Settings → Team API Key ## 🆔 Encrypted ID System SendX uses encrypted IDs for security and better developer experience: - **Internal IDs**: Sequential integers (not exposed) - **Encrypted IDs**: 22-character alphanumeric strings - **Prefixed IDs**: Resource-type prefixes in API responses (`contact_<22-char-id>`) ### ID Format **All resource IDs follow this pattern:** ``` <resource_prefix>_<22_character_alphanumeric_string> ``` **Example:** ```json { \"id\": \"contact_BnKjkbBBS500CoBCP0oChQ\", \"lists\": [\"list_OcuxJHdiAvujmwQVJfd3ss\", \"list_0tOFLp5RgV7s3LNiHrjGYs\"], \"tags\": [\"tag_UhsDkjL772Qbj5lWtT62VK\", \"tag_fL7t9lsnZ9swvx2HrtQ9wM\"] } ``` ## 📚 Resource Prefixes | Resource | Prefix | Example | |----------|--------|---------| | Contact | `contact_` | `contact_BnKjkbBBS500CoBCP0oChQ` | | Campaign | `campaign_` | `campaign_LUE9BTxmksSmqHWbh96zsn` | | List | `list_` | `list_OcuxJHdiAvujmwQVJfd3ss` | | Tag | `tag_` | `tag_UhsDkjL772Qbj5lWtT62VK` | | Sender | `sender_` | `sender_4vK3WFhMgvOwUNyaL4QxCD` | | Template | `template_` | `template_f3lJvTEhSjKGVb5Lwc5SWS` | | Custom Field | `field_` | `field_MnuqBAG2NPLm7PZMWbjQxt` | | Webhook | `webhook_` | `webhook_9l154iiXlZoPo7vngmamee` | | Post | `post_` | `post_XyZ123aBc456DeF789GhI` | | Post Category | `post_category_` | `post_category_YzS1wOU20yw87UUHKxMzwn` | | Post Tag | `post_tag_` | `post_tag_123XyZ456AbC` | | Member | `member_` | `member_JkL012MnO345PqR678` | ## 🎯 Best Practices ### Error Handling - **Always check status codes**: 2xx = success, 4xx = client error, 5xx = server error - **Read error messages**: Descriptive messages help debug issues - **Handle rate limits**: Respect API rate limits for optimal performance ### Data Validation - **Email format**: Must be valid email addresses - **Required fields**: Check documentation for mandatory fields - **Field lengths**: Respect maximum length constraints ### Performance - **Pagination**: Use offset/limit for large datasets - **Batch operations**: Process multiple items when supported - **Caching**: Cache responses when appropriate ## 🛠️ SDKs & Integration Official SDKs available for: - [Golang](https://github.com/sendx/sendx-go-sdk) - [Python](https://github.com/sendx/sendx-python-sdk) - [Ruby](https://github.com/sendx/sendx-ruby-sdk) - [Java](https://github.com/sendx/sendx-java-sdk) - [PHP](https://github.com/sendx/sendx-php-sdk) - [JavaScript](https://github.com/sendx/sendx-javascript-sdk) ## 📞 Support Need help? Contact us: - 💬 **Website Chat**: Available on sendx.io - 📧 **Email**: hello@sendx.io - 📚 **Documentation**: Full guides at help.sendx.io --- **API Endpoint:** `https://api.sendx.io/api/v1/rest` [<img src=\"https://run.pstmn.io/button.svg\" alt=\"Run In Postman\" style=\"width: 128px; height: 32px;\">](https://god.gw.postman.com/run-collection/33476323-44b198b0-5219-4619-a01f-cfc24d573885?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D33476323-44b198b0-5219-4619-a01f-cfc24d573885%26entityType%3Dcollection%26workspaceId%3D6b1e4f65-96a9-4136-9512-6266c852517e)
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
- Contact: support@sendx.io
7
+ Contact: hello@sendx.io
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.8.0
9
+ Generator version: 7.13.0
10
10
 
11
11
  =end
12
12
 
@@ -19,28 +19,28 @@ module SendX
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
- # Create List
23
- # Create a new list.
24
- # @param list_request [ListRequest]
22
+ # Create list
23
+ # Creates a new contact list.
24
+ # @param rest_e_list [RestEList]
25
25
  # @param [Hash] opts the optional parameters
26
- # @return [CreateResponse]
27
- def create_list(list_request, opts = {})
28
- data, _status_code, _headers = create_list_with_http_info(list_request, opts)
26
+ # @return [RestRList]
27
+ def create_list(rest_e_list, opts = {})
28
+ data, _status_code, _headers = create_list_with_http_info(rest_e_list, opts)
29
29
  data
30
30
  end
31
31
 
32
- # Create List
33
- # Create a new list.
34
- # @param list_request [ListRequest]
32
+ # Create list
33
+ # Creates a new contact list.
34
+ # @param rest_e_list [RestEList]
35
35
  # @param [Hash] opts the optional parameters
36
- # @return [Array<(CreateResponse, Integer, Hash)>] CreateResponse data, response status code and response headers
37
- def create_list_with_http_info(list_request, opts = {})
36
+ # @return [Array<(RestRList, Integer, Hash)>] RestRList data, response status code and response headers
37
+ def create_list_with_http_info(rest_e_list, opts = {})
38
38
  if @api_client.config.debugging
39
39
  @api_client.config.logger.debug 'Calling API: ListApi.create_list ...'
40
40
  end
41
- # verify the required parameter 'list_request' is set
42
- if @api_client.config.client_side_validation && list_request.nil?
43
- fail ArgumentError, "Missing the required parameter 'list_request' when calling ListApi.create_list"
41
+ # verify the required parameter 'rest_e_list' is set
42
+ if @api_client.config.client_side_validation && rest_e_list.nil?
43
+ fail ArgumentError, "Missing the required parameter 'rest_e_list' when calling ListApi.create_list"
44
44
  end
45
45
  # resource path
46
46
  local_var_path = '/list'
@@ -62,13 +62,13 @@ module SendX
62
62
  form_params = opts[:form_params] || {}
63
63
 
64
64
  # http body (model)
65
- post_body = opts[:debug_body] || @api_client.object_to_http_body(list_request)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(rest_e_list)
66
66
 
67
67
  # return_type
68
- return_type = opts[:debug_return_type] || 'CreateResponse'
68
+ return_type = opts[:debug_return_type] || 'RestRList'
69
69
 
70
70
  # auth_names
71
- auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
71
+ auth_names = opts[:debug_auth_names] || ['TeamApiKey']
72
72
 
73
73
  new_options = opts.merge(
74
74
  :operation => :"ListApi.create_list",
@@ -87,31 +87,36 @@ module SendX
87
87
  return data, status_code, headers
88
88
  end
89
89
 
90
- # Delete List
91
- # Deletes a specific list by its ID.
92
- # @param list_id [String] The ID of the list you want to delete
90
+ # Delete list
91
+ # Deletes a list.
92
+ # @param identifier [String] List identifier to delete
93
93
  # @param [Hash] opts the optional parameters
94
94
  # @return [DeleteResponse]
95
- def delete_list(list_id, opts = {})
96
- data, _status_code, _headers = delete_list_with_http_info(list_id, opts)
95
+ def delete_list(identifier, opts = {})
96
+ data, _status_code, _headers = delete_list_with_http_info(identifier, opts)
97
97
  data
98
98
  end
99
99
 
100
- # Delete List
101
- # Deletes a specific list by its ID.
102
- # @param list_id [String] The ID of the list you want to delete
100
+ # Delete list
101
+ # Deletes a list.
102
+ # @param identifier [String] List identifier to delete
103
103
  # @param [Hash] opts the optional parameters
104
104
  # @return [Array<(DeleteResponse, Integer, Hash)>] DeleteResponse data, response status code and response headers
105
- def delete_list_with_http_info(list_id, opts = {})
105
+ def delete_list_with_http_info(identifier, opts = {})
106
106
  if @api_client.config.debugging
107
107
  @api_client.config.logger.debug 'Calling API: ListApi.delete_list ...'
108
108
  end
109
- # verify the required parameter 'list_id' is set
110
- if @api_client.config.client_side_validation && list_id.nil?
111
- fail ArgumentError, "Missing the required parameter 'list_id' when calling ListApi.delete_list"
109
+ # verify the required parameter 'identifier' is set
110
+ if @api_client.config.client_side_validation && identifier.nil?
111
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling ListApi.delete_list"
112
112
  end
113
+ pattern = Regexp.new(/^(list_)?[a-zA-Z0-9]{22}$/)
114
+ if @api_client.config.client_side_validation && identifier !~ pattern
115
+ fail ArgumentError, "invalid value for 'identifier' when calling ListApi.delete_list, must conform to the pattern #{pattern}."
116
+ end
117
+
113
118
  # resource path
114
- local_var_path = '/list/{listId}'.sub('{' + 'listId' + '}', CGI.escape(list_id.to_s))
119
+ local_var_path = '/list/{identifier}'.sub('{' + 'identifier' + '}', CGI.escape(identifier.to_s))
115
120
 
116
121
  # query parameters
117
122
  query_params = opts[:query_params] || {}
@@ -131,7 +136,7 @@ module SendX
131
136
  return_type = opts[:debug_return_type] || 'DeleteResponse'
132
137
 
133
138
  # auth_names
134
- auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
139
+ auth_names = opts[:debug_auth_names] || ['TeamApiKey']
135
140
 
136
141
  new_options = opts.merge(
137
142
  :operation => :"ListApi.delete_list",
@@ -150,29 +155,49 @@ module SendX
150
155
  return data, status_code, headers
151
156
  end
152
157
 
153
- # Get All Lists
154
- # Retrieve all lists for the account.
158
+ # Get all lists
159
+ # Retrieves all contact lists in your team.
155
160
  # @param [Hash] opts the optional parameters
156
- # @option opts [Integer] :offset Offset for pagination.
157
- # @option opts [Integer] :limit Limit the number of results returned.
158
- # @option opts [String] :search Search term to filter lists.
159
- # @return [Array<ListModel>]
161
+ # @option opts [Integer] :offset Number of records to skip for pagination (default to 0)
162
+ # @option opts [Integer] :limit Maximum number of lists to return (max: 500) (default to 10)
163
+ # @option opts [String] :search Search lists by name
164
+ # @return [Array<RestRList>]
160
165
  def get_all_lists(opts = {})
161
166
  data, _status_code, _headers = get_all_lists_with_http_info(opts)
162
167
  data
163
168
  end
164
169
 
165
- # Get All Lists
166
- # Retrieve all lists for the account.
170
+ # Get all lists
171
+ # Retrieves all contact lists in your team.
167
172
  # @param [Hash] opts the optional parameters
168
- # @option opts [Integer] :offset Offset for pagination.
169
- # @option opts [Integer] :limit Limit the number of results returned.
170
- # @option opts [String] :search Search term to filter lists.
171
- # @return [Array<(Array<ListModel>, Integer, Hash)>] Array<ListModel> data, response status code and response headers
173
+ # @option opts [Integer] :offset Number of records to skip for pagination (default to 0)
174
+ # @option opts [Integer] :limit Maximum number of lists to return (max: 500) (default to 10)
175
+ # @option opts [String] :search Search lists by name
176
+ # @return [Array<(Array<RestRList>, Integer, Hash)>] Array<RestRList> data, response status code and response headers
172
177
  def get_all_lists_with_http_info(opts = {})
173
178
  if @api_client.config.debugging
174
179
  @api_client.config.logger.debug 'Calling API: ListApi.get_all_lists ...'
175
180
  end
181
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
182
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling ListApi.get_all_lists, must be greater than or equal to 0.'
183
+ end
184
+
185
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
186
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ListApi.get_all_lists, must be smaller than or equal to 100.'
187
+ end
188
+
189
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
190
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ListApi.get_all_lists, must be greater than or equal to 1.'
191
+ end
192
+
193
+ if @api_client.config.client_side_validation && !opts[:'search'].nil? && opts[:'search'].to_s.length > 100
194
+ fail ArgumentError, 'invalid value for "opts[:"search"]" when calling ListApi.get_all_lists, the character length must be smaller than or equal to 100.'
195
+ end
196
+
197
+ if @api_client.config.client_side_validation && !opts[:'search'].nil? && opts[:'search'].to_s.length < 2
198
+ fail ArgumentError, 'invalid value for "opts[:"search"]" when calling ListApi.get_all_lists, the character length must be great than or equal to 2.'
199
+ end
200
+
176
201
  # resource path
177
202
  local_var_path = '/list'
178
203
 
@@ -194,10 +219,10 @@ module SendX
194
219
  post_body = opts[:debug_body]
195
220
 
196
221
  # return_type
197
- return_type = opts[:debug_return_type] || 'Array<ListModel>'
222
+ return_type = opts[:debug_return_type] || 'Array<RestRList>'
198
223
 
199
224
  # auth_names
200
- auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
225
+ auth_names = opts[:debug_auth_names] || ['TeamApiKey']
201
226
 
202
227
  new_options = opts.merge(
203
228
  :operation => :"ListApi.get_all_lists",
@@ -216,31 +241,36 @@ module SendX
216
241
  return data, status_code, headers
217
242
  end
218
243
 
219
- # Get List
220
- # Retrieve a specific list by its ID.
221
- # @param list_id [String] The ID of the list you want to retrieve
244
+ # Get list by ID
245
+ # Retrieves detailed information about a specific list.
246
+ # @param identifier [String] List identifier - &#x60;list_OcuxJHdiAvujmwQVJfd3ss&#x60;
222
247
  # @param [Hash] opts the optional parameters
223
- # @return [ListModel]
224
- def get_list_by_id(list_id, opts = {})
225
- data, _status_code, _headers = get_list_by_id_with_http_info(list_id, opts)
248
+ # @return [RestRList]
249
+ def get_list(identifier, opts = {})
250
+ data, _status_code, _headers = get_list_with_http_info(identifier, opts)
226
251
  data
227
252
  end
228
253
 
229
- # Get List
230
- # Retrieve a specific list by its ID.
231
- # @param list_id [String] The ID of the list you want to retrieve
254
+ # Get list by ID
255
+ # Retrieves detailed information about a specific list.
256
+ # @param identifier [String] List identifier - &#x60;list_OcuxJHdiAvujmwQVJfd3ss&#x60;
232
257
  # @param [Hash] opts the optional parameters
233
- # @return [Array<(ListModel, Integer, Hash)>] ListModel data, response status code and response headers
234
- def get_list_by_id_with_http_info(list_id, opts = {})
258
+ # @return [Array<(RestRList, Integer, Hash)>] RestRList data, response status code and response headers
259
+ def get_list_with_http_info(identifier, opts = {})
235
260
  if @api_client.config.debugging
236
- @api_client.config.logger.debug 'Calling API: ListApi.get_list_by_id ...'
261
+ @api_client.config.logger.debug 'Calling API: ListApi.get_list ...'
237
262
  end
238
- # verify the required parameter 'list_id' is set
239
- if @api_client.config.client_side_validation && list_id.nil?
240
- fail ArgumentError, "Missing the required parameter 'list_id' when calling ListApi.get_list_by_id"
263
+ # verify the required parameter 'identifier' is set
264
+ if @api_client.config.client_side_validation && identifier.nil?
265
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling ListApi.get_list"
241
266
  end
267
+ pattern = Regexp.new(/^(list_)?[a-zA-Z0-9]{22}$/)
268
+ if @api_client.config.client_side_validation && identifier !~ pattern
269
+ fail ArgumentError, "invalid value for 'identifier' when calling ListApi.get_list, must conform to the pattern #{pattern}."
270
+ end
271
+
242
272
  # resource path
243
- local_var_path = '/list/{listId}'.sub('{' + 'listId' + '}', CGI.escape(list_id.to_s))
273
+ local_var_path = '/list/{identifier}'.sub('{' + 'identifier' + '}', CGI.escape(identifier.to_s))
244
274
 
245
275
  # query parameters
246
276
  query_params = opts[:query_params] || {}
@@ -257,13 +287,13 @@ module SendX
257
287
  post_body = opts[:debug_body]
258
288
 
259
289
  # return_type
260
- return_type = opts[:debug_return_type] || 'ListModel'
290
+ return_type = opts[:debug_return_type] || 'RestRList'
261
291
 
262
292
  # auth_names
263
- auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
293
+ auth_names = opts[:debug_auth_names] || ['TeamApiKey']
264
294
 
265
295
  new_options = opts.merge(
266
- :operation => :"ListApi.get_list_by_id",
296
+ :operation => :"ListApi.get_list",
267
297
  :header_params => header_params,
268
298
  :query_params => query_params,
269
299
  :form_params => form_params,
@@ -274,42 +304,47 @@ module SendX
274
304
 
275
305
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
276
306
  if @api_client.config.debugging
277
- @api_client.config.logger.debug "API called: ListApi#get_list_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
307
+ @api_client.config.logger.debug "API called: ListApi#get_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
278
308
  end
279
309
  return data, status_code, headers
280
310
  end
281
311
 
282
- # Update List
283
- # Update an existing list by its ID.
284
- # @param list_request [ListRequest]
285
- # @param list_id [String] The ID of the list to be updated.
312
+ # Update list
313
+ # Updates an existing list's settings.
314
+ # @param rest_e_list [RestEList]
315
+ # @param identifier [String] List identifier to update
286
316
  # @param [Hash] opts the optional parameters
287
- # @return [Response]
288
- def update_list(list_request, list_id, opts = {})
289
- data, _status_code, _headers = update_list_with_http_info(list_request, list_id, opts)
317
+ # @return [RestRList]
318
+ def update_list(rest_e_list, identifier, opts = {})
319
+ data, _status_code, _headers = update_list_with_http_info(rest_e_list, identifier, opts)
290
320
  data
291
321
  end
292
322
 
293
- # Update List
294
- # Update an existing list by its ID.
295
- # @param list_request [ListRequest]
296
- # @param list_id [String] The ID of the list to be updated.
323
+ # Update list
324
+ # Updates an existing list&#39;s settings.
325
+ # @param rest_e_list [RestEList]
326
+ # @param identifier [String] List identifier to update
297
327
  # @param [Hash] opts the optional parameters
298
- # @return [Array<(Response, Integer, Hash)>] Response data, response status code and response headers
299
- def update_list_with_http_info(list_request, list_id, opts = {})
328
+ # @return [Array<(RestRList, Integer, Hash)>] RestRList data, response status code and response headers
329
+ def update_list_with_http_info(rest_e_list, identifier, opts = {})
300
330
  if @api_client.config.debugging
301
331
  @api_client.config.logger.debug 'Calling API: ListApi.update_list ...'
302
332
  end
303
- # verify the required parameter 'list_request' is set
304
- if @api_client.config.client_side_validation && list_request.nil?
305
- fail ArgumentError, "Missing the required parameter 'list_request' when calling ListApi.update_list"
333
+ # verify the required parameter 'rest_e_list' is set
334
+ if @api_client.config.client_side_validation && rest_e_list.nil?
335
+ fail ArgumentError, "Missing the required parameter 'rest_e_list' when calling ListApi.update_list"
306
336
  end
307
- # verify the required parameter 'list_id' is set
308
- if @api_client.config.client_side_validation && list_id.nil?
309
- fail ArgumentError, "Missing the required parameter 'list_id' when calling ListApi.update_list"
337
+ # verify the required parameter 'identifier' is set
338
+ if @api_client.config.client_side_validation && identifier.nil?
339
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling ListApi.update_list"
310
340
  end
341
+ pattern = Regexp.new(/^(list_)?[a-zA-Z0-9]{22}$/)
342
+ if @api_client.config.client_side_validation && identifier !~ pattern
343
+ fail ArgumentError, "invalid value for 'identifier' when calling ListApi.update_list, must conform to the pattern #{pattern}."
344
+ end
345
+
311
346
  # resource path
312
- local_var_path = '/list/{listId}'.sub('{' + 'listId' + '}', CGI.escape(list_id.to_s))
347
+ local_var_path = '/list/{identifier}'.sub('{' + 'identifier' + '}', CGI.escape(identifier.to_s))
313
348
 
314
349
  # query parameters
315
350
  query_params = opts[:query_params] || {}
@@ -328,13 +363,13 @@ module SendX
328
363
  form_params = opts[:form_params] || {}
329
364
 
330
365
  # http body (model)
331
- post_body = opts[:debug_body] || @api_client.object_to_http_body(list_request)
366
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(rest_e_list)
332
367
 
333
368
  # return_type
334
- return_type = opts[:debug_return_type] || 'Response'
369
+ return_type = opts[:debug_return_type] || 'RestRList'
335
370
 
336
371
  # auth_names
337
- auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
372
+ auth_names = opts[:debug_auth_names] || ['TeamApiKey']
338
373
 
339
374
  new_options = opts.merge(
340
375
  :operation => :"ListApi.update_list",