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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 38894a39717dc8728c8b8ed3378158e0519a994c3647a928f5c08e5db5f76126
4
- data.tar.gz: 9e2d5e999d7ddd8b4b02c0f85a4231034e756a886058c3f1612e07f52567f0d8
3
+ metadata.gz: 0c079c2e0f832e6e1c7c7a8c790a33b820a8a79c3be9a6c8992344c84621491d
4
+ data.tar.gz: 97677f8ca83e36f98dbefac98179196469571acb837b07771ac9f0dc1ff8beeb
5
5
  SHA512:
6
- metadata.gz: bd677afcec408905aeba611e444b3a2eb56d44acc1357df892a0c6d2691798a2e14c23d857c4e52c960d5370b5edf6af1bb60173a838c53177a3c008bf8274f2
7
- data.tar.gz: c6b1cdefe416359ac146ffe46b7f9c95bdc76f224905d2ded2d543402bfdc07ec67537df738b4942d4795ee35f3732b6203fa04685884e0e0e64aa9dc4399b57
6
+ metadata.gz: a6af99c6ad3600970f4e088461923f1e1366911129e792d55cffbd3a1b1e8896bd267581637b4ca4d27209bb29228f94a02a9b617011234aff372c1e26934878
7
+ data.tar.gz: cbfd7b5b332090fd4bcd57a135b68429ae236a9a37382718b2cf250bc60802e5e0fec02b48b31f5246716f326f9114c81edd999ee53e93243f0920a557ef34d2
data/README.md CHANGED
@@ -1,49 +1,133 @@
1
- # [SendX Ruby SDK](https://rubygems.org/gems/sendx-ruby-sdk)
2
- [![Gem Version](https://badge.fury.io/rb/sendx-ruby-sdk.svg)](https://badge.fury.io/rb/sendx-ruby-sdk)
1
+ # SendX Ruby SDK
3
2
 
4
- SendX - the Ruby gem for the SendX REST API
3
+ # SendX REST API Documentation
5
4
 
6
- ## Introduction
5
+ ## 🚀 Introduction
7
6
 
8
- 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.
7
+ 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.
9
8
 
10
- 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.
11
- The SendX Rest API doesn’t support bulk updates. You can work on only one object per request. <br>
9
+ **Key Features:**
10
+ - 🔒 **Security**: Team-based authentication with optional member-level access
11
+ - 🎯 **Resource-Oriented**: RESTful design with clear resource boundaries
12
+ - 📊 **Rich Data Models**: Three-layer model system (Input/Output/Internal)
13
+ - 🔗 **Relationships**: Automatic prefix handling for resource relationships
14
+ - 📈 **Scalable**: Built for high-volume email marketing operations
12
15
 
16
+ ## 🏗️ Architecture Overview
13
17
 
14
- ## Installation
18
+ SendX uses a three-layer model architecture:
15
19
 
16
- ### Build a gem
20
+ 1. **Input Models** (`RestE*`): For API requests
21
+ 2. **Output Models** (`RestR*`): For API responses with prefixed IDs
22
+ 3. **Internal Models**: Core business logic (not exposed in API)
17
23
 
24
+ ## 🔐 Security & Authentication
18
25
 
19
- To install the gem:
26
+ SendX uses API key authentication:
20
27
 
21
- Install via command line
22
- ```shell
23
- gem install sendx-ruby-sdk
28
+ ### Team API Key
29
+ ```http
30
+ X-Team-ApiKey: YOUR_TEAM_API_KEY
24
31
  ```
32
+ - **Required for all requests**
33
+ - Team-level access to resources
34
+ - Available in SendX Settings → Team API Key
25
35
 
26
- Install via Gemfile
36
+ ## 🆔 Encrypted ID System
27
37
 
28
- ```ruby
29
- source "https://rubygems.pkg.github.com/sendx" do
30
- gem "sendx-ruby-sdk", "1.1.0"
31
- end
38
+ SendX uses encrypted IDs for security and better developer experience:
39
+
40
+ - **Internal IDs**: Sequential integers (not exposed)
41
+ - **Encrypted IDs**: 22-character alphanumeric strings
42
+ - **Prefixed IDs**: Resource-type prefixes in API responses (`contact_<22-char-id>`)
43
+
44
+ ### ID Format
45
+
46
+ **All resource IDs follow this pattern:**
47
+ ```
48
+ <resource_prefix>_<22_character_alphanumeric_string>
32
49
  ```
33
50
 
51
+ **Example:**
52
+ ```json
53
+ {
54
+ "id": "contact_BnKjkbBBS500CoBCP0oChQ",
55
+ "lists": ["list_OcuxJHdiAvujmwQVJfd3ss", "list_0tOFLp5RgV7s3LNiHrjGYs"],
56
+ "tags": ["tag_UhsDkjL772Qbj5lWtT62VK", "tag_fL7t9lsnZ9swvx2HrtQ9wM"]
57
+ }
58
+ ```
34
59
 
35
- ### Install from Git
60
+ ## 📚 Resource Prefixes
61
+
62
+ | Resource | Prefix | Example |
63
+ |----------|--------|---------|
64
+ | Contact | `contact_` | `contact_BnKjkbBBS500CoBCP0oChQ` |
65
+ | Campaign | `campaign_` | `campaign_LUE9BTxmksSmqHWbh96zsn` |
66
+ | List | `list_` | `list_OcuxJHdiAvujmwQVJfd3ss` |
67
+ | Tag | `tag_` | `tag_UhsDkjL772Qbj5lWtT62VK` |
68
+ | Sender | `sender_` | `sender_4vK3WFhMgvOwUNyaL4QxCD` |
69
+ | Template | `template_` | `template_f3lJvTEhSjKGVb5Lwc5SWS` |
70
+ | Custom Field | `field_` | `field_MnuqBAG2NPLm7PZMWbjQxt` |
71
+ | Webhook | `webhook_` | `webhook_9l154iiXlZoPo7vngmamee` |
72
+ | Post | `post_` | `post_XyZ123aBc456DeF789GhI` |
73
+ | Post Category | `post_category_` | `post_category_YzS1wOU20yw87UUHKxMzwn` |
74
+ | Post Tag | `post_tag_` | `post_tag_123XyZ456AbC` |
75
+ | Member | `member_` | `member_JkL012MnO345PqR678` |
76
+
77
+ ## 🎯 Best Practices
78
+
79
+ ### Error Handling
80
+ - **Always check status codes**: 2xx = success, 4xx = client error, 5xx = server error
81
+ - **Read error messages**: Descriptive messages help debug issues
82
+ - **Handle rate limits**: Respect API rate limits for optimal performance
83
+
84
+ ### Data Validation
85
+ - **Email format**: Must be valid email addresses
86
+ - **Required fields**: Check documentation for mandatory fields
87
+ - **Field lengths**: Respect maximum length constraints
88
+
89
+ ### Performance
90
+ - **Pagination**: Use offset/limit for large datasets
91
+ - **Batch operations**: Process multiple items when supported
92
+ - **Caching**: Cache responses when appropriate
93
+
94
+ ## 🛠️ SDKs & Integration
95
+
96
+ Official SDKs available for:
97
+ - [Golang](https://github.com/sendx/sendx-go-sdk)
98
+ - [Python](https://github.com/sendx/sendx-python-sdk)
99
+ - [Ruby](https://github.com/sendx/sendx-ruby-sdk)
100
+ - [Java](https://github.com/sendx/sendx-java-sdk)
101
+ - [PHP](https://github.com/sendx/sendx-php-sdk)
102
+ - [JavaScript](https://github.com/sendx/sendx-javascript-sdk)
103
+
104
+ ## 📞 Support
105
+
106
+ Need help? Contact us:
107
+ - 💬 **Website Chat**: Available on sendx.io
108
+ - 📧 **Email**: hello@sendx.io
109
+ - 📚 **Documentation**: Full guides at help.sendx.io
110
+
111
+ ---
112
+
113
+ **API Endpoint:** `https://api.sendx.io/api/v1/rest`
36
114
 
37
- The Ruby gem is hosted at a git repository: https://github.com/sendx/sendx-ruby-sdk, add the following in the Gemfile:
115
+ ## Installation
38
116
 
39
- gem 'sendx-ruby-sdk', :git => 'https://github.com/sendx/sendx-ruby-sdk.git'
117
+ ### To install the gem:
40
118
 
41
- ### Include the Ruby code directly
119
+ Install via command line
42
120
 
43
- Include the Ruby code directly using `-I` as follows:
121
+ ```
122
+ gem install sendx-ruby-sdk
123
+ ```
124
+
125
+ Install via Gemfile
44
126
 
45
- ```shell
46
- ruby -Ilib script.rb
127
+ ```
128
+ source "https://rubygems.pkg.github.com/sendx" do
129
+ gem "sendx-ruby-sdk", "1.1.0"
130
+ end
47
131
  ```
48
132
 
49
133
  ## Getting Started
@@ -52,13 +136,14 @@ Please follow the [installation](#installation) procedure and then run the follo
52
136
 
53
137
  ```ruby
54
138
  # Load the gem
55
- require 'time'
56
139
  require 'sendx-ruby-sdk'
57
- # setup authorization
140
+
141
+ # Setup authorization
58
142
  SendX.configure do |config|
59
- # Configure API key authorization: apiKeyAuth
60
- config.api_key['apiKeyAuth'] = 'YOUR API KEY'
61
- config.server_index = 2
143
+ # Configure API key authorization: TeamApiKey
144
+ config.api_key['X-Team-ApiKey'] = 'YOUR API KEY'
145
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
146
+ # config.api_key_prefix['X-Team-ApiKey'] = 'Bearer'
62
147
  end
63
148
 
64
149
  api_instance = SendX::ContactApi.new
@@ -68,10 +153,10 @@ contact_request = SendX::ContactRequest.new(
68
153
  last_name: "Doe",
69
154
  company: "SendX",
70
155
  last_tracked_ip: "34.94.159.140",
71
- tags: ["MKdhTovsTJDetCyrJmRySL"],
156
+ tags: ["tag_MKdhTovsTJDetCyrJmRySL"],
72
157
  custom_fields: {
73
- 'fnwfnke23kn4kn' => "VIP",
74
- "9i0jinjn0ib0"=> "Subscribers"
158
+ 'custom_field_MKdhTovsTJDetCyrJmRySe' => "VIP",
159
+ "custom_field_MKdhTovsTFDetCyrJerRySL"=> "Subscribers"
75
160
  },
76
161
  )
77
162
 
@@ -91,72 +176,126 @@ All URIs are relative to *https://api.sendx.io/api/v1/rest*
91
176
 
92
177
  Class | Method | HTTP request | Description
93
178
  ------------ | ------------- | ------------- | -------------
94
- *SendX::CampaignApi* | [**create_campaign**](docs/CampaignApi.md#create_campaign) | **POST** /campaign | Create Campaign
95
- *SendX::CampaignApi* | [**delete_campaign**](docs/CampaignApi.md#delete_campaign) | **DELETE** /campaign/{campaignId} | Delete Campaign
96
- *SendX::CampaignApi* | [**edit_campaign**](docs/CampaignApi.md#edit_campaign) | **PUT** /campaign/{campaignId} | Edit Campaign
97
- *SendX::CampaignApi* | [**get_all_campaigns**](docs/CampaignApi.md#get_all_campaigns) | **GET** /campaign | Get All Campaigns
98
- *SendX::CampaignApi* | [**get_campaign_by_id**](docs/CampaignApi.md#get_campaign_by_id) | **GET** /campaign/{campaignId} | Get Campaign By Id
99
- *SendX::ContactApi* | [**create_contact**](docs/ContactApi.md#create_contact) | **POST** /contact | Create a contact
100
- *SendX::ContactApi* | [**delete_contact**](docs/ContactApi.md#delete_contact) | **DELETE** /contact/{identifier} | Delete Contact
101
- *SendX::ContactApi* | [**get_all_contacts**](docs/ContactApi.md#get_all_contacts) | **GET** /contact | Get All Contacts
102
- *SendX::ContactApi* | [**get_contact_by_id**](docs/ContactApi.md#get_contact_by_id) | **GET** /contact/{identifier} | Get Contact by Identifier
103
- *SendX::ContactApi* | [**unsubscribe_contact**](docs/ContactApi.md#unsubscribe_contact) | **POST** /contact/unsubscribe/{identifier} | Unsubscribe Contact
104
- *SendX::ContactApi* | [**update_contact**](docs/ContactApi.md#update_contact) | **PUT** /contact/{identifier} | Update Contact
105
- *SendX::EventApi* | [**create_revenue_event**](docs/EventApi.md#create_revenue_event) | **POST** /events/revenue | Record a revenue event for a specific contact
106
- *SendX::EventApi* | [**push_custom_event**](docs/EventApi.md#push_custom_event) | **POST** /events/custom | Push a custom event associated with a contact
107
- *SendX::GettingStartedApi* | [**identify_contact**](docs/GettingStartedApi.md#identify_contact) | **POST** /contact/identify | Identify contact
108
- *SendX::GettingStartedApi* | [**tracking_contact**](docs/GettingStartedApi.md#tracking_contact) | **POST** /contact/track | Add Tracking info
109
- *SendX::ListApi* | [**create_list**](docs/ListApi.md#create_list) | **POST** /list | Create List
110
- *SendX::ListApi* | [**delete_list**](docs/ListApi.md#delete_list) | **DELETE** /list/{listId} | Delete List
111
- *SendX::ListApi* | [**get_all_lists**](docs/ListApi.md#get_all_lists) | **GET** /list | Get All Lists
112
- *SendX::ListApi* | [**get_list_by_id**](docs/ListApi.md#get_list_by_id) | **GET** /list/{listId} | Get List
113
- *SendX::ListApi* | [**update_list**](docs/ListApi.md#update_list) | **PUT** /list/{listId} | Update List
114
- *SendX::ReportsApi* | [**get_campaign_report**](docs/ReportsApi.md#get_campaign_report) | **GET** /report/campaign/{campaignId} | Get CampaignReport Data
115
- *SendX::SenderApi* | [**create_sender**](docs/SenderApi.md#create_sender) | **POST** /sender | Create Sender
116
- *SendX::SenderApi* | [**get_all_senders**](docs/SenderApi.md#get_all_senders) | **GET** /sender | Get All Senders
117
- *SendX::TagsApi* | [**create_tag**](docs/TagsApi.md#create_tag) | **POST** /tag | Create a Tag
118
- *SendX::TagsApi* | [**delete_tag**](docs/TagsApi.md#delete_tag) | **DELETE** /tag/{tagId} | Delete a Tag
119
- *SendX::TagsApi* | [**get_all_tags**](docs/TagsApi.md#get_all_tags) | **GET** /tag | Get All Tags
120
- *SendX::TagsApi* | [**get_tag_by_id**](docs/TagsApi.md#get_tag_by_id) | **GET** /tag/{tagId} | Get a Tag by ID
121
- *SendX::TagsApi* | [**update_tag**](docs/TagsApi.md#update_tag) | **PUT** /tag/{tagId} | Update a Tag
179
+ *SendX::CampaignApi* | [**create_campaign**](docs/CampaignApi.md#create_campaign) | **POST** /campaign | Create campaign
180
+ *SendX::CampaignApi* | [**delete_campaign**](docs/CampaignApi.md#delete_campaign) | **DELETE** /campaign/{identifier} | Delete campaign
181
+ *SendX::CampaignApi* | [**get_all_campaigns**](docs/CampaignApi.md#get_all_campaigns) | **GET** /campaign | Get all campaigns
182
+ *SendX::CampaignApi* | [**get_campaign**](docs/CampaignApi.md#get_campaign) | **GET** /campaign/{identifier} | Get campaign by ID
183
+ *SendX::ContactApi* | [**create_contact**](docs/ContactApi.md#create_contact) | **POST** /contact | Create a new contact
184
+ *SendX::ContactApi* | [**delete_contact**](docs/ContactApi.md#delete_contact) | **DELETE** /contact/{identifier} | Delete contact
185
+ *SendX::ContactApi* | [**get_all_contacts**](docs/ContactApi.md#get_all_contacts) | **GET** /contact | Get all contacts
186
+ *SendX::ContactApi* | [**get_contact**](docs/ContactApi.md#get_contact) | **GET** /contact/{identifier} | Get contact by ID
187
+ *SendX::ContactApi* | [**unsubscribe_contact**](docs/ContactApi.md#unsubscribe_contact) | **POST** /contact/unsubscribe/{identifier} | Unsubscribe contact
188
+ *SendX::ContactApi* | [**update_contact**](docs/ContactApi.md#update_contact) | **PUT** /contact/{identifier} | Update contact
189
+ *SendX::CustomFieldApi* | [**create_custom_field**](docs/CustomFieldApi.md#create_custom_field) | **POST** /customfield | Create custom field
190
+ *SendX::CustomFieldApi* | [**delete_custom_field**](docs/CustomFieldApi.md#delete_custom_field) | **DELETE** /customfield/{identifier} | Delete custom field
191
+ *SendX::CustomFieldApi* | [**get_all_custom_fields**](docs/CustomFieldApi.md#get_all_custom_fields) | **GET** /customfield | Get all custom fields
192
+ *SendX::CustomFieldApi* | [**get_custom_field**](docs/CustomFieldApi.md#get_custom_field) | **GET** /customfield/{identifier} | Get custom field by ID
193
+ *SendX::CustomFieldApi* | [**update_custom_field**](docs/CustomFieldApi.md#update_custom_field) | **PUT** /customfield/{identifier} | Update custom field
194
+ *SendX::EmailSendingApi* | [**send_email**](docs/EmailSendingApi.md#send_email) | **POST** /send/email | Send transactional email
195
+ *SendX::EmailSendingApi* | [**send_email_with_template**](docs/EmailSendingApi.md#send_email_with_template) | **POST** /send/template | Send email using template
196
+ *SendX::EventApi* | [**events_custom_postback_get**](docs/EventApi.md#events_custom_postback_get) | **GET** /events/custom/postback | Custom Event Postback URL
197
+ *SendX::EventApi* | [**events_revenue_postback_get**](docs/EventApi.md#events_revenue_postback_get) | **GET** /events/revenue/postback | Revenue Event Postback URL
198
+ *SendX::EventsApi* | [**track_custom_event**](docs/EventsApi.md#track_custom_event) | **POST** /events/custom | Track custom event
199
+ *SendX::EventsApi* | [**track_revenue_event**](docs/EventsApi.md#track_revenue_event) | **POST** /events/revenue | Track revenue event
200
+ *SendX::ListApi* | [**create_list**](docs/ListApi.md#create_list) | **POST** /list | Create list
201
+ *SendX::ListApi* | [**delete_list**](docs/ListApi.md#delete_list) | **DELETE** /list/{identifier} | Delete list
202
+ *SendX::ListApi* | [**get_all_lists**](docs/ListApi.md#get_all_lists) | **GET** /list | Get all lists
203
+ *SendX::ListApi* | [**get_list**](docs/ListApi.md#get_list) | **GET** /list/{identifier} | Get list by ID
204
+ *SendX::ListApi* | [**update_list**](docs/ListApi.md#update_list) | **PUT** /list/{identifier} | Update list
205
+ *SendX::PostApi* | [**create_post**](docs/PostApi.md#create_post) | **POST** /post | Create blog post
206
+ *SendX::PostApi* | [**delete_post**](docs/PostApi.md#delete_post) | **DELETE** /post/{identifier} | Delete post
207
+ *SendX::PostApi* | [**get_all_posts**](docs/PostApi.md#get_all_posts) | **GET** /post | Get all posts
208
+ *SendX::PostApi* | [**get_post**](docs/PostApi.md#get_post) | **GET** /post/{identifier} | Get post by ID
209
+ *SendX::PostApi* | [**update_post**](docs/PostApi.md#update_post) | **PUT** /post/{identifier} | Update post
210
+ *SendX::PostCategoryApi* | [**create_post_category**](docs/PostCategoryApi.md#create_post_category) | **POST** /post/category | Create post category
211
+ *SendX::PostCategoryApi* | [**delete_post_category**](docs/PostCategoryApi.md#delete_post_category) | **DELETE** /post/category/{identifier} | Delete post category
212
+ *SendX::PostCategoryApi* | [**get_all_post_categories**](docs/PostCategoryApi.md#get_all_post_categories) | **GET** /post/category | Get all post categories
213
+ *SendX::PostCategoryApi* | [**get_post_category**](docs/PostCategoryApi.md#get_post_category) | **GET** /post/category/{identifier} | Get post category by ID
214
+ *SendX::PostCategoryApi* | [**update_post_category**](docs/PostCategoryApi.md#update_post_category) | **PUT** /post/category/{identifier} | Update post category
215
+ *SendX::PostTagApi* | [**create_post_tag**](docs/PostTagApi.md#create_post_tag) | **POST** /post/tag | Create post tag
216
+ *SendX::PostTagApi* | [**delete_post_tag**](docs/PostTagApi.md#delete_post_tag) | **DELETE** /post/tag/{identifier} | Delete post tag
217
+ *SendX::PostTagApi* | [**get_all_post_tags**](docs/PostTagApi.md#get_all_post_tags) | **GET** /post/tag | Get all post tags
218
+ *SendX::PostTagApi* | [**get_post_tag**](docs/PostTagApi.md#get_post_tag) | **GET** /post/tag/{identifier} | Get post tag by ID
219
+ *SendX::PostTagApi* | [**update_post_tag**](docs/PostTagApi.md#update_post_tag) | **PUT** /post/tag/{identifier} | Update post tag
220
+ *SendX::ReportApi* | [**get_campaign_report**](docs/ReportApi.md#get_campaign_report) | **GET** /report/campaign/{identifier} | Get campaign report
221
+ *SendX::SenderApi* | [**create_sender**](docs/SenderApi.md#create_sender) | **POST** /sender | Create sender
222
+ *SendX::SenderApi* | [**get_all_senders**](docs/SenderApi.md#get_all_senders) | **GET** /sender | Get all senders
223
+ *SendX::TagApi* | [**create_tag**](docs/TagApi.md#create_tag) | **POST** /tag | Create tag
224
+ *SendX::TagApi* | [**delete_tag**](docs/TagApi.md#delete_tag) | **DELETE** /tag/{identifier} | Delete tag
225
+ *SendX::TagApi* | [**get_all_tags**](docs/TagApi.md#get_all_tags) | **GET** /tag | Get all tags
226
+ *SendX::TagApi* | [**get_tag**](docs/TagApi.md#get_tag) | **GET** /tag/{identifier} | Get tag by ID
227
+ *SendX::TagApi* | [**update_tag**](docs/TagApi.md#update_tag) | **PUT** /tag/{identifier} | Update tag
228
+ *SendX::TeamMemberApi* | [**get_all_team_members**](docs/TeamMemberApi.md#get_all_team_members) | **GET** /team/member | Get all team members
229
+ *SendX::TeamMemberApi* | [**get_team_member**](docs/TeamMemberApi.md#get_team_member) | **GET** /team/member/{identifier} | Get a team member by ID
230
+ *SendX::TemplateApi* | [**create_email_template**](docs/TemplateApi.md#create_email_template) | **POST** /template/email | Create email template
231
+ *SendX::TemplateApi* | [**delete_email_template**](docs/TemplateApi.md#delete_email_template) | **DELETE** /template/email/{identifier} | Delete template
232
+ *SendX::TemplateApi* | [**get_all_email_templates**](docs/TemplateApi.md#get_all_email_templates) | **GET** /template/email | Get all templates
233
+ *SendX::TemplateApi* | [**get_email_template**](docs/TemplateApi.md#get_email_template) | **GET** /template/email/{identifier} | Get template by ID
234
+ *SendX::TemplateApi* | [**update_email_template**](docs/TemplateApi.md#update_email_template) | **PUT** /template/email/{identifier} | Update template
235
+ *SendX::TrackingApi* | [**identify_contact**](docs/TrackingApi.md#identify_contact) | **POST** /contact/identify | Identify contact
236
+ *SendX::TrackingApi* | [**track_contact**](docs/TrackingApi.md#track_contact) | **POST** /contact/track | Track contact
237
+ *SendX::WebhookApi* | [**create_webhook**](docs/WebhookApi.md#create_webhook) | **POST** /webhook | Create webhook
238
+ *SendX::WebhookApi* | [**delete_webhook**](docs/WebhookApi.md#delete_webhook) | **DELETE** /webhook/{identifier} | Delete webhook
239
+ *SendX::WebhookApi* | [**get_all_webhooks**](docs/WebhookApi.md#get_all_webhooks) | **GET** /webhook | Get all webhooks
240
+ *SendX::WebhookApi* | [**get_webhook**](docs/WebhookApi.md#get_webhook) | **GET** /webhook/{identifier} | Get webhook by ID
241
+ *SendX::WebhookApi* | [**update_webhook**](docs/WebhookApi.md#update_webhook) | **PUT** /webhook/{identifier} | Update webhook
122
242
 
123
243
 
124
244
  ## Documentation for Models
125
245
 
126
- - [SendX::Campaign](docs/Campaign.md)
127
- - [SendX::CampaignDashboardData](docs/CampaignDashboardData.md)
128
- - [SendX::CampaignRequest](docs/CampaignRequest.md)
129
- - [SendX::Contact](docs/Contact.md)
130
- - [SendX::ContactRequest](docs/ContactRequest.md)
131
- - [SendX::CreateResponse](docs/CreateResponse.md)
132
246
  - [SendX::CustomEventRequest](docs/CustomEventRequest.md)
133
- - [SendX::DashboardStats](docs/DashboardStats.md)
134
- - [SendX::DeleteCampaign200Response](docs/DeleteCampaign200Response.md)
135
- - [SendX::DeleteRequest](docs/DeleteRequest.md)
136
247
  - [SendX::DeleteResponse](docs/DeleteResponse.md)
248
+ - [SendX::ErrorResponse](docs/ErrorResponse.md)
137
249
  - [SendX::EventResponse](docs/EventResponse.md)
250
+ - [SendX::EventsRevenuePostbackGet200Response](docs/EventsRevenuePostbackGet200Response.md)
251
+ - [SendX::EventsRevenuePostbackGet400Response](docs/EventsRevenuePostbackGet400Response.md)
252
+ - [SendX::EventsRevenuePostbackGet500Response](docs/EventsRevenuePostbackGet500Response.md)
138
253
  - [SendX::IdentifyRequest](docs/IdentifyRequest.md)
139
254
  - [SendX::IdentifyResponse](docs/IdentifyResponse.md)
140
- - [SendX::LastSentCampaignStat](docs/LastSentCampaignStat.md)
141
- - [SendX::ListModel](docs/ListModel.md)
142
- - [SendX::ListRequest](docs/ListRequest.md)
143
- - [SendX::ReportData](docs/ReportData.md)
144
- - [SendX::Response](docs/Response.md)
255
+ - [SendX::LinkStat](docs/LinkStat.md)
256
+ - [SendX::MessageResponse](docs/MessageResponse.md)
257
+ - [SendX::PostbackResponse](docs/PostbackResponse.md)
258
+ - [SendX::RestECampaign](docs/RestECampaign.md)
259
+ - [SendX::RestEContact](docs/RestEContact.md)
260
+ - [SendX::RestECustomField](docs/RestECustomField.md)
261
+ - [SendX::RestEList](docs/RestEList.md)
262
+ - [SendX::RestEPost](docs/RestEPost.md)
263
+ - [SendX::RestEPostCategory](docs/RestEPostCategory.md)
264
+ - [SendX::RestEPostTag](docs/RestEPostTag.md)
265
+ - [SendX::RestESender](docs/RestESender.md)
266
+ - [SendX::RestETag](docs/RestETag.md)
267
+ - [SendX::RestETemplate](docs/RestETemplate.md)
268
+ - [SendX::RestEWebhook](docs/RestEWebhook.md)
269
+ - [SendX::RestRCampaign](docs/RestRCampaign.md)
270
+ - [SendX::RestRContact](docs/RestRContact.md)
271
+ - [SendX::RestRCustomField](docs/RestRCustomField.md)
272
+ - [SendX::RestRList](docs/RestRList.md)
273
+ - [SendX::RestRMember](docs/RestRMember.md)
274
+ - [SendX::RestRPost](docs/RestRPost.md)
275
+ - [SendX::RestRPostCategory](docs/RestRPostCategory.md)
276
+ - [SendX::RestRPostTag](docs/RestRPostTag.md)
277
+ - [SendX::RestRSender](docs/RestRSender.md)
278
+ - [SendX::RestRTag](docs/RestRTag.md)
279
+ - [SendX::RestRTemplate](docs/RestRTemplate.md)
280
+ - [SendX::RestRWebhook](docs/RestRWebhook.md)
281
+ - [SendX::RestReportData](docs/RestReportData.md)
145
282
  - [SendX::RevenueEventRequest](docs/RevenueEventRequest.md)
146
- - [SendX::Sender](docs/Sender.md)
147
- - [SendX::SenderRequest](docs/SenderRequest.md)
148
- - [SendX::SenderResponse](docs/SenderResponse.md)
149
- - [SendX::Tag](docs/Tag.md)
150
- - [SendX::TagRequest](docs/TagRequest.md)
283
+ - [SendX::TemplateEmailMessage](docs/TemplateEmailMessage.md)
151
284
  - [SendX::TrackRequest](docs/TrackRequest.md)
152
285
  - [SendX::TrackResponse](docs/TrackResponse.md)
286
+ - [SendX::WebhookObject](docs/WebhookObject.md)
287
+ - [SendX::XEmailMessage](docs/XEmailMessage.md)
288
+ - [SendX::XEmailResponse](docs/XEmailResponse.md)
289
+ - [SendX::XFrom](docs/XFrom.md)
290
+ - [SendX::XReplyTo](docs/XReplyTo.md)
291
+ - [SendX::XTo](docs/XTo.md)
153
292
 
154
293
 
155
294
  ## Documentation for Authorization
156
295
 
157
296
 
158
297
  Authentication schemes defined for the API:
159
- ### apiKeyAuth
298
+ ### TeamApiKey
160
299
 
161
300
 
162
301
  - **Type**: API key