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.
- checksums.yaml +4 -4
- data/README.md +220 -81
- data/lib/sendx-ruby-sdk/api/campaign_api.rb +95 -143
- data/lib/sendx-ruby-sdk/api/contact_api.rb +129 -96
- data/lib/sendx-ruby-sdk/api/custom_field_api.rb +391 -0
- data/lib/sendx-ruby-sdk/api/email_sending_api.rb +158 -0
- data/lib/sendx-ruby-sdk/api/event_api.rb +91 -57
- data/lib/sendx-ruby-sdk/api/events_api.rb +158 -0
- data/lib/sendx-ruby-sdk/api/getting_started_api.rb +2 -2
- data/lib/sendx-ruby-sdk/api/list_api.rb +126 -91
- data/lib/sendx-ruby-sdk/api/post_api.rb +380 -0
- data/lib/sendx-ruby-sdk/api/post_category_api.rb +362 -0
- data/lib/sendx-ruby-sdk/api/post_tag_api.rb +362 -0
- data/lib/sendx-ruby-sdk/api/report_api.rb +90 -0
- data/lib/sendx-ruby-sdk/api/reports_api.rb +4 -4
- data/lib/sendx-ruby-sdk/api/sender_api.rb +28 -37
- data/lib/sendx-ruby-sdk/api/tag_api.rb +380 -0
- data/lib/sendx-ruby-sdk/api/tags_api.rb +8 -8
- data/lib/sendx-ruby-sdk/api/team_member_api.rb +147 -0
- data/lib/sendx-ruby-sdk/api/template_api.rb +391 -0
- data/lib/sendx-ruby-sdk/api/tracking_api.rb +158 -0
- data/lib/sendx-ruby-sdk/api/webhook_api.rb +362 -0
- data/lib/sendx-ruby-sdk/api_client.rb +10 -11
- data/lib/sendx-ruby-sdk/api_error.rb +3 -3
- data/lib/sendx-ruby-sdk/configuration.rb +6 -10
- data/lib/sendx-ruby-sdk/models/campaign.rb +23 -7
- data/lib/sendx-ruby-sdk/models/campaign_dashboard_data.rb +11 -5
- data/lib/sendx-ruby-sdk/models/campaign_request.rb +13 -41
- data/lib/sendx-ruby-sdk/models/contact.rb +11 -5
- data/lib/sendx-ruby-sdk/models/contact_request.rb +11 -5
- data/lib/sendx-ruby-sdk/models/create_response.rb +11 -5
- data/lib/sendx-ruby-sdk/models/custom_event_request.rb +37 -42
- data/lib/sendx-ruby-sdk/models/custom_field.rb +285 -0
- data/lib/sendx-ruby-sdk/models/customfield_customfield_id_delete200_response.rb +220 -0
- data/lib/sendx-ruby-sdk/models/dashboard_stats.rb +11 -5
- data/lib/sendx-ruby-sdk/models/delete_campaign200_response.rb +11 -5
- data/lib/sendx-ruby-sdk/models/delete_request.rb +11 -5
- data/lib/sendx-ruby-sdk/models/delete_response.rb +77 -13
- data/lib/sendx-ruby-sdk/models/e_custom_field.rb +295 -0
- data/lib/sendx-ruby-sdk/models/error_response.rb +288 -0
- data/lib/sendx-ruby-sdk/models/event_response.rb +13 -19
- data/lib/sendx-ruby-sdk/models/events_revenue_postback_get200_response.rb +229 -0
- data/lib/sendx-ruby-sdk/models/events_revenue_postback_get400_response.rb +220 -0
- data/lib/sendx-ruby-sdk/models/events_revenue_postback_get500_response.rb +220 -0
- data/lib/sendx-ruby-sdk/models/identify_error_response.rb +220 -0
- data/lib/sendx-ruby-sdk/models/identify_request.rb +52 -40
- data/lib/sendx-ruby-sdk/models/identify_response.rb +16 -19
- data/lib/sendx-ruby-sdk/models/last_sent_campaign_stat.rb +11 -5
- data/lib/sendx-ruby-sdk/models/link_stat.rb +232 -0
- data/lib/sendx-ruby-sdk/models/list_model.rb +11 -6
- data/lib/sendx-ruby-sdk/models/list_request.rb +11 -5
- data/lib/sendx-ruby-sdk/models/message_response.rb +229 -0
- data/lib/sendx-ruby-sdk/models/operation_response.rb +241 -0
- data/lib/sendx-ruby-sdk/models/postback_response.rb +229 -0
- data/lib/sendx-ruby-sdk/models/report_data.rb +11 -5
- data/lib/sendx-ruby-sdk/models/response.rb +11 -5
- data/lib/sendx-ruby-sdk/models/rest_e_campaign.rb +539 -0
- data/lib/sendx-ruby-sdk/models/rest_e_contact.rb +380 -0
- data/lib/sendx-ruby-sdk/models/rest_e_custom_field.rb +299 -0
- data/lib/sendx-ruby-sdk/models/rest_e_list.rb +238 -0
- data/lib/sendx-ruby-sdk/models/rest_e_post.rb +443 -0
- data/lib/sendx-ruby-sdk/models/rest_e_post_category.rb +238 -0
- data/lib/sendx-ruby-sdk/models/rest_e_post_tag.rb +238 -0
- data/lib/sendx-ruby-sdk/models/rest_e_sender.rb +265 -0
- data/lib/sendx-ruby-sdk/models/rest_e_tag.rb +238 -0
- data/lib/sendx-ruby-sdk/models/rest_e_template.rb +307 -0
- data/lib/sendx-ruby-sdk/models/rest_e_webhook.rb +349 -0
- data/lib/sendx-ruby-sdk/models/rest_r_campaign.rb +580 -0
- data/lib/sendx-ruby-sdk/models/rest_r_contact.rb +438 -0
- data/lib/sendx-ruby-sdk/models/rest_r_custom_field.rb +306 -0
- data/lib/sendx-ruby-sdk/models/rest_r_list.rb +291 -0
- data/lib/sendx-ruby-sdk/models/rest_r_member.rb +274 -0
- data/lib/sendx-ruby-sdk/models/rest_r_post.rb +384 -0
- data/lib/sendx-ruby-sdk/models/rest_r_post_category.rb +251 -0
- data/lib/sendx-ruby-sdk/models/rest_r_post_tag.rb +250 -0
- data/lib/sendx-ruby-sdk/models/rest_r_sender.rb +272 -0
- data/lib/sendx-ruby-sdk/models/rest_r_tag.rb +272 -0
- data/lib/sendx-ruby-sdk/models/rest_r_template.rb +366 -0
- data/lib/sendx-ruby-sdk/models/rest_r_webhook.rb +326 -0
- data/lib/sendx-ruby-sdk/models/rest_report_data.rb +312 -0
- data/lib/sendx-ruby-sdk/models/revenue_event_request.rb +37 -42
- data/lib/sendx-ruby-sdk/models/sender.rb +41 -5
- data/lib/sendx-ruby-sdk/models/sender_request.rb +31 -5
- data/lib/sendx-ruby-sdk/models/sender_response.rb +51 -5
- data/lib/sendx-ruby-sdk/models/tag.rb +11 -5
- data/lib/sendx-ruby-sdk/models/tag_request.rb +11 -5
- data/lib/sendx-ruby-sdk/models/template_email_message.rb +337 -0
- data/lib/sendx-ruby-sdk/models/track_request.rb +28 -20
- data/lib/sendx-ruby-sdk/models/track_response.rb +12 -6
- data/lib/sendx-ruby-sdk/models/webhook.rb +311 -0
- data/lib/sendx-ruby-sdk/models/webhook_object.rb +451 -0
- data/lib/sendx-ruby-sdk/models/webhook_request.rb +291 -0
- data/lib/sendx-ruby-sdk/models/x_attachment.rb +263 -0
- data/lib/sendx-ruby-sdk/models/x_email_message.rb +356 -0
- data/lib/sendx-ruby-sdk/models/x_email_response.rb +261 -0
- data/lib/sendx-ruby-sdk/models/x_from.rb +246 -0
- data/lib/sendx-ruby-sdk/models/x_reply_to.rb +246 -0
- data/lib/sendx-ruby-sdk/models/xto.rb +279 -0
- data/lib/sendx-ruby-sdk/version.rb +4 -4
- data/lib/sendx-ruby-sdk.rb +53 -25
- data/spec/api/custom_field_api_spec.rb +98 -0
- data/spec/api/email_sending_api_spec.rb +59 -0
- data/spec/api/events_api_spec.rb +59 -0
- data/spec/api/post_api_spec.rb +97 -0
- data/spec/api/post_category_api_spec.rb +95 -0
- data/spec/api/post_tag_api_spec.rb +95 -0
- data/spec/api/report_api_spec.rb +47 -0
- data/spec/api/tag_api_spec.rb +97 -0
- data/spec/api/team_member_api_spec.rb +58 -0
- data/spec/api/template_api_spec.rb +98 -0
- data/spec/api/tracking_api_spec.rb +59 -0
- data/spec/api/webhook_api_spec.rb +95 -0
- data/spec/models/custom_field_spec.rb +58 -0
- data/spec/models/customfield_customfield_id_delete200_response_spec.rb +36 -0
- data/spec/models/e_custom_field_spec.rb +64 -0
- data/spec/models/error_response_spec.rb +46 -0
- data/spec/models/events_revenue_postback_get200_response_spec.rb +42 -0
- data/spec/models/events_revenue_postback_get400_response_spec.rb +36 -0
- data/spec/models/events_revenue_postback_get500_response_spec.rb +36 -0
- data/spec/models/identify_error_response_spec.rb +36 -0
- data/spec/models/link_stat_spec.rb +42 -0
- data/spec/models/message_response_spec.rb +42 -0
- data/spec/models/operation_response_spec.rb +48 -0
- data/spec/models/postback_response_spec.rb +42 -0
- data/spec/models/rest_e_campaign_spec.rb +154 -0
- data/spec/models/rest_e_contact_spec.rb +78 -0
- data/spec/models/rest_e_custom_field_spec.rb +52 -0
- data/spec/models/rest_e_list_spec.rb +36 -0
- data/spec/models/rest_e_post_category_spec.rb +36 -0
- data/spec/models/rest_e_post_spec.rb +144 -0
- data/spec/models/rest_e_post_tag_spec.rb +36 -0
- data/spec/models/rest_e_sender_spec.rb +42 -0
- data/spec/models/rest_e_tag_spec.rb +36 -0
- data/spec/models/rest_e_template_spec.rb +66 -0
- data/spec/models/rest_e_webhook_spec.rb +84 -0
- data/spec/models/rest_r_campaign_spec.rb +178 -0
- data/spec/models/rest_r_contact_spec.rb +150 -0
- data/spec/models/rest_r_custom_field_spec.rb +58 -0
- data/spec/models/rest_r_list_spec.rb +64 -0
- data/spec/models/rest_r_member_spec.rb +72 -0
- data/spec/models/rest_r_post_category_spec.rb +54 -0
- data/spec/models/rest_r_post_spec.rb +144 -0
- data/spec/models/rest_r_post_tag_spec.rb +54 -0
- data/spec/models/rest_r_sender_spec.rb +54 -0
- data/spec/models/rest_r_tag_spec.rb +54 -0
- data/spec/models/rest_r_template_spec.rb +94 -0
- data/spec/models/rest_r_webhook_spec.rb +90 -0
- data/spec/models/rest_report_data_spec.rb +90 -0
- data/spec/models/template_email_message_spec.rb +72 -0
- data/spec/models/webhook_object_spec.rb +180 -0
- data/spec/models/webhook_request_spec.rb +78 -0
- data/spec/models/webhook_spec.rb +90 -0
- data/spec/models/x_attachment_spec.rb +42 -0
- data/spec/models/x_email_message_spec.rb +90 -0
- data/spec/models/x_email_response_spec.rb +60 -0
- data/spec/models/x_from_spec.rb +42 -0
- data/spec/models/x_reply_to_spec.rb +42 -0
- data/spec/models/xto_spec.rb +60 -0
- data/spec/spec_helper.rb +3 -3
- metadata +202 -28
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
#SendX REST API
|
3
3
|
|
4
|
-
## Introduction SendX is
|
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:
|
7
|
+
Contact: hello@sendx.io
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
Generator version: 7.
|
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
|
23
|
-
#
|
24
|
-
# @param
|
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 [
|
27
|
-
def create_list(
|
28
|
-
data, _status_code, _headers = create_list_with_http_info(
|
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
|
33
|
-
#
|
34
|
-
# @param
|
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<(
|
37
|
-
def create_list_with_http_info(
|
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 '
|
42
|
-
if @api_client.config.client_side_validation &&
|
43
|
-
fail ArgumentError, "Missing the required parameter '
|
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(
|
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] || '
|
68
|
+
return_type = opts[:debug_return_type] || 'RestRList'
|
69
69
|
|
70
70
|
# auth_names
|
71
|
-
auth_names = opts[:debug_auth_names] || ['
|
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
|
91
|
-
# Deletes a
|
92
|
-
# @param
|
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(
|
96
|
-
data, _status_code, _headers = delete_list_with_http_info(
|
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
|
101
|
-
# Deletes a
|
102
|
-
# @param
|
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(
|
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 '
|
110
|
-
if @api_client.config.client_side_validation &&
|
111
|
-
fail ArgumentError, "Missing the required parameter '
|
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/{
|
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] || ['
|
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
|
154
|
-
#
|
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
|
157
|
-
# @option opts [Integer] :limit
|
158
|
-
# @option opts [String] :search Search
|
159
|
-
# @return [Array<
|
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
|
166
|
-
#
|
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
|
169
|
-
# @option opts [Integer] :limit
|
170
|
-
# @option opts [String] :search Search
|
171
|
-
# @return [Array<(Array<
|
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<
|
222
|
+
return_type = opts[:debug_return_type] || 'Array<RestRList>'
|
198
223
|
|
199
224
|
# auth_names
|
200
|
-
auth_names = opts[:debug_auth_names] || ['
|
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
|
220
|
-
#
|
221
|
-
# @param
|
244
|
+
# Get list by ID
|
245
|
+
# Retrieves detailed information about a specific list.
|
246
|
+
# @param identifier [String] List identifier - `list_OcuxJHdiAvujmwQVJfd3ss`
|
222
247
|
# @param [Hash] opts the optional parameters
|
223
|
-
# @return [
|
224
|
-
def
|
225
|
-
data, _status_code, _headers =
|
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
|
230
|
-
#
|
231
|
-
# @param
|
254
|
+
# Get list by ID
|
255
|
+
# Retrieves detailed information about a specific list.
|
256
|
+
# @param identifier [String] List identifier - `list_OcuxJHdiAvujmwQVJfd3ss`
|
232
257
|
# @param [Hash] opts the optional parameters
|
233
|
-
# @return [Array<(
|
234
|
-
def
|
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.
|
261
|
+
@api_client.config.logger.debug 'Calling API: ListApi.get_list ...'
|
237
262
|
end
|
238
|
-
# verify the required parameter '
|
239
|
-
if @api_client.config.client_side_validation &&
|
240
|
-
fail ArgumentError, "Missing the required parameter '
|
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/{
|
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] || '
|
290
|
+
return_type = opts[:debug_return_type] || 'RestRList'
|
261
291
|
|
262
292
|
# auth_names
|
263
|
-
auth_names = opts[:debug_auth_names] || ['
|
293
|
+
auth_names = opts[:debug_auth_names] || ['TeamApiKey']
|
264
294
|
|
265
295
|
new_options = opts.merge(
|
266
|
-
:operation => :"ListApi.
|
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#
|
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
|
283
|
-
#
|
284
|
-
# @param
|
285
|
-
# @param
|
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 [
|
288
|
-
def update_list(
|
289
|
-
data, _status_code, _headers = update_list_with_http_info(
|
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
|
294
|
-
#
|
295
|
-
# @param
|
296
|
-
# @param
|
323
|
+
# Update list
|
324
|
+
# Updates an existing list'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<(
|
299
|
-
def update_list_with_http_info(
|
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 '
|
304
|
-
if @api_client.config.client_side_validation &&
|
305
|
-
fail ArgumentError, "Missing the required parameter '
|
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 '
|
308
|
-
if @api_client.config.client_side_validation &&
|
309
|
-
fail ArgumentError, "Missing the required parameter '
|
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/{
|
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(
|
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] || '
|
369
|
+
return_type = opts[:debug_return_type] || 'RestRList'
|
335
370
|
|
336
371
|
# auth_names
|
337
|
-
auth_names = opts[:debug_auth_names] || ['
|
372
|
+
auth_names = opts[:debug_auth_names] || ['TeamApiKey']
|
338
373
|
|
339
374
|
new_options = opts.merge(
|
340
375
|
:operation => :"ListApi.update_list",
|