klaviyo_sdk 1.0.0.20220329 → 1.0.3.20220329

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 (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile +10 -0
  4. data/README.md +99 -99
  5. data/Rakefile +10 -0
  6. data/docs/Campaign.md +38 -0
  7. data/docs/CampaignsApi.md +707 -0
  8. data/docs/CheckMembershipRequest.md +22 -0
  9. data/docs/DataPrivacyApi.md +81 -0
  10. data/docs/DeleteEmail.md +18 -0
  11. data/docs/DeletePerson.md +18 -0
  12. data/docs/DeletePhone.md +18 -0
  13. data/docs/DeprecatedGetListResponse.md +30 -0
  14. data/docs/DeprecatedGetListResponseData.md +28 -0
  15. data/docs/GlobalExclusionResponseData.md +30 -0
  16. data/docs/IdentifyPayload.md +20 -0
  17. data/docs/IdentifyPayloadProperties.md +42 -0
  18. data/docs/InlineObject.md +18 -0
  19. data/docs/InlineObject3.md +18 -0
  20. data/docs/InlineObject4.md +18 -0
  21. data/docs/InlineObject5.md +22 -0
  22. data/docs/ListsSegmentsApi.md +1198 -0
  23. data/docs/Metric.md +28 -0
  24. data/docs/MetricExport.md +32 -0
  25. data/docs/MetricTimeline.md +24 -0
  26. data/docs/MetricTimelineData.md +34 -0
  27. data/docs/MetricsApi.md +329 -0
  28. data/docs/Person.md +56 -0
  29. data/docs/PrivacyEmail.md +18 -0
  30. data/docs/PrivacyId.md +18 -0
  31. data/docs/PrivacyPhone.md +18 -0
  32. data/docs/ProfilesApi.md +391 -0
  33. data/docs/RenderedTemplate.md +24 -0
  34. data/docs/Template.md +30 -0
  35. data/docs/TemplatesApi.md +541 -0
  36. data/docs/TrackIdentifyApi.md +267 -0
  37. data/docs/TrackPayload.md +24 -0
  38. data/docs/TrackPayloadCustomerProperties.md +20 -0
  39. data/docs/TrackPayloadProperties.md +22 -0
  40. data/git_push.sh +57 -0
  41. data/klaviyo_sdk-1.0.3.2022.03.29.gem +0 -0
  42. data/klaviyo_sdk.gemspec +6 -1
  43. data/lib/klaviyo_sdk/api/campaigns_api.rb +1 -1
  44. data/lib/klaviyo_sdk/api/data_privacy_api.rb +1 -1
  45. data/lib/klaviyo_sdk/api/lists_segments_api.rb +1 -1
  46. data/lib/klaviyo_sdk/api/metrics_api.rb +1 -1
  47. data/lib/klaviyo_sdk/api/profiles_api.rb +1 -1
  48. data/lib/klaviyo_sdk/api/templates_api.rb +1 -1
  49. data/lib/klaviyo_sdk/api/track_identify_api.rb +1 -1
  50. data/lib/klaviyo_sdk/api_client.rb +2 -2
  51. data/lib/klaviyo_sdk/api_error.rb +1 -1
  52. data/lib/klaviyo_sdk/configuration.rb +1 -1
  53. data/lib/klaviyo_sdk/models/campaign.rb +4 -4
  54. data/lib/klaviyo_sdk/models/check_membership_request.rb +4 -4
  55. data/lib/klaviyo_sdk/models/delete_email.rb +4 -4
  56. data/lib/klaviyo_sdk/models/delete_person.rb +4 -4
  57. data/lib/klaviyo_sdk/models/delete_phone.rb +4 -4
  58. data/lib/klaviyo_sdk/models/deprecated_get_list_response.rb +4 -4
  59. data/lib/klaviyo_sdk/models/deprecated_get_list_response_data.rb +4 -4
  60. data/lib/klaviyo_sdk/models/global_exclusion_response_data.rb +4 -4
  61. data/lib/klaviyo_sdk/models/identify_payload.rb +4 -4
  62. data/lib/klaviyo_sdk/models/identify_payload_properties.rb +4 -4
  63. data/lib/klaviyo_sdk/models/inline_object.rb +9 -4
  64. data/lib/klaviyo_sdk/models/inline_object3.rb +4 -4
  65. data/lib/klaviyo_sdk/models/inline_object4.rb +4 -4
  66. data/lib/klaviyo_sdk/models/inline_object5.rb +4 -4
  67. data/lib/klaviyo_sdk/models/metric.rb +4 -4
  68. data/lib/klaviyo_sdk/models/metric_export.rb +4 -4
  69. data/lib/klaviyo_sdk/models/metric_timeline.rb +4 -4
  70. data/lib/klaviyo_sdk/models/metric_timeline_data.rb +4 -4
  71. data/lib/klaviyo_sdk/models/person.rb +4 -4
  72. data/lib/klaviyo_sdk/models/person.rb.bak +4 -4
  73. data/lib/klaviyo_sdk/models/privacy_email.rb +4 -4
  74. data/lib/klaviyo_sdk/models/privacy_id.rb +4 -4
  75. data/lib/klaviyo_sdk/models/privacy_phone.rb +4 -4
  76. data/lib/klaviyo_sdk/models/rendered_template.rb +4 -4
  77. data/lib/klaviyo_sdk/models/template.rb +4 -4
  78. data/lib/klaviyo_sdk/models/track_payload.rb +4 -4
  79. data/lib/klaviyo_sdk/models/track_payload_customer_properties.rb +4 -4
  80. data/lib/klaviyo_sdk/models/track_payload_properties.rb +4 -4
  81. data/lib/klaviyo_sdk/version.rb +1 -1
  82. data/lib/klaviyo_sdk.rb +7 -7
  83. data/spec/api/campaigns_api_spec.rb +165 -0
  84. data/spec/api/data_privacy_api_spec.rb +47 -0
  85. data/spec/api/lists_segments_api_spec.rb +239 -0
  86. data/spec/api/metrics_api_spec.rb +96 -0
  87. data/spec/api/profiles_api_spec.rb +103 -0
  88. data/spec/api/templates_api_spec.rb +130 -0
  89. data/spec/api/track_identify_api_spec.rb +83 -0
  90. data/spec/api_client_spec.rb +226 -0
  91. data/spec/configuration_spec.rb +42 -0
  92. data/spec/models/campaign_spec.rb +94 -0
  93. data/spec/models/check_membership_request_spec.rb +46 -0
  94. data/spec/models/delete_email_spec.rb +34 -0
  95. data/spec/models/delete_person_spec.rb +34 -0
  96. data/spec/models/delete_phone_spec.rb +34 -0
  97. data/spec/models/deprecated_get_list_response_data_spec.rb +64 -0
  98. data/spec/models/deprecated_get_list_response_spec.rb +70 -0
  99. data/spec/models/global_exclusion_response_data_spec.rb +70 -0
  100. data/spec/models/identify_payload_properties_spec.rb +106 -0
  101. data/spec/models/identify_payload_spec.rb +40 -0
  102. data/spec/models/inline_object3_spec.rb +34 -0
  103. data/spec/models/inline_object4_spec.rb +34 -0
  104. data/spec/models/inline_object5_spec.rb +46 -0
  105. data/spec/models/inline_object_spec.rb +34 -0
  106. data/spec/models/metric_export_spec.rb +76 -0
  107. data/spec/models/metric_spec.rb +64 -0
  108. data/spec/models/metric_timeline_data_spec.rb +82 -0
  109. data/spec/models/metric_timeline_spec.rb +52 -0
  110. data/spec/models/person_spec.rb +148 -0
  111. data/spec/models/privacy_email_spec.rb +34 -0
  112. data/spec/models/privacy_id_spec.rb +34 -0
  113. data/spec/models/privacy_phone_spec.rb +34 -0
  114. data/spec/models/rendered_template_spec.rb +52 -0
  115. data/spec/models/template_spec.rb +70 -0
  116. data/spec/models/track_payload_customer_properties_spec.rb +40 -0
  117. data/spec/models/track_payload_properties_spec.rb +46 -0
  118. data/spec/models/track_payload_spec.rb +52 -0
  119. data/spec/spec_helper.rb +111 -0
  120. metadata +80 -3
@@ -0,0 +1,267 @@
1
+ # Klaviyo::TrackIdentifyApi
2
+
3
+ All URIs are relative to *https://a.klaviyo.com/api*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**identify_get**](TrackIdentifyApi.md#identify_get) | **GET** /identify | Identify Profile (Legacy) |
8
+ | [**identify_post**](TrackIdentifyApi.md#identify_post) | **POST** /identify | Identify Profile |
9
+ | [**track_get**](TrackIdentifyApi.md#track_get) | **GET** /track | Track Profile Activity (Legacy) |
10
+ | [**track_post**](TrackIdentifyApi.md#track_post) | **POST** /track | Track Profile Activity |
11
+
12
+
13
+ ## identify_get
14
+
15
+ > String identify_get(data)
16
+
17
+ Identify Profile (Legacy)
18
+
19
+ This endpoint is also used to identify a profile and update its properties without an associated event. It takes as input the same payload as the above POST request, but as a base64-encoded string passed as a query parameter. NOTE: This is offered for backwards compatibility; we recommend all new implementations use the POST approach above. **EXAMPLE:** ``` { \"token\": \"PUBLIC_KEY\", \"properties\": { \"$email\": \"abraham.lincoln@klaviyo.com\", \"$first_name\": \"Abraham\", \"$last_name\": \"Lincoln\", \"$city\": \"Springfield\", \"$region\": \"Illinois\" } } ``` Gets encoded into the following string, which is passed into the `data` parameter: `eyJ0b2tlbiI6ICJQVUJMSUNfS0VZIiwicHJvcGVydGllcyI6IHsiJGVtYWlsIjogImFicmFoYW0ubGluY29sbkBrbGF2aXlvLmNvbSIsIiRmaXJzdF9uYW1lIjogIkFicmFoYW0iLCIkbGFzdF9uYW1lIjogIkxpbmNvbG4iLCIkY2l0eSI6ICJTcHJpbmdmaWVsZCIsIiRyZWdpb24iOiAiSWxsaW5vaXMifX0K`
20
+
21
+ ### Examples
22
+
23
+ ```ruby
24
+ require 'time'
25
+ require 'klaviyo_sdk'
26
+
27
+ api_instance = Klaviyo::TrackIdentifyApi.new
28
+ data = 'BASE_64_STRING' # String | String representation of base64 encoded JSON object
29
+
30
+ begin
31
+ # Identify Profile (Legacy)
32
+ result = api_instance.identify_get(data)
33
+ p result
34
+ rescue Klaviyo::ApiError => e
35
+ puts "Error when calling TrackIdentifyApi->identify_get: #{e}"
36
+ end
37
+ ```
38
+
39
+ #### Using the identify_get_with_http_info variant
40
+
41
+ This returns an Array which contains the response data, status code and headers.
42
+
43
+ > <Array(String, Integer, Hash)> identify_get_with_http_info(data)
44
+
45
+ ```ruby
46
+ begin
47
+ # Identify Profile (Legacy)
48
+ data, status_code, headers = api_instance.identify_get_with_http_info(data)
49
+ p status_code # => 2xx
50
+ p headers # => { ... }
51
+ p data # => String
52
+ rescue Klaviyo::ApiError => e
53
+ puts "Error when calling TrackIdentifyApi->identify_get_with_http_info: #{e}"
54
+ end
55
+ ```
56
+
57
+ ### Parameters
58
+
59
+ | Name | Type | Description | Notes |
60
+ | ---- | ---- | ----------- | ----- |
61
+ | **data** | **String** | String representation of base64 encoded JSON object | [default to &#39;BASE_64_STRING&#39;] |
62
+
63
+ ### Return type
64
+
65
+ **String**
66
+
67
+ ### Authorization
68
+
69
+ No authorization required
70
+
71
+ ### HTTP request headers
72
+
73
+ - **Content-Type**: Not defined
74
+ - **Accept**: text/html
75
+
76
+
77
+ ## identify_post
78
+
79
+ > String identify_post(data)
80
+
81
+ Identify Profile
82
+
83
+ This endpoint is used to track and update properties about an individual without tracking an associated event. The following data is stored in a JSON object. **JSON OBJECT STRUCTURE:** __token: *string*__ This is your public API key. __properties: *JSON Object or null*__ Properties of the profile to track/update. You must identify the person by their email using a $email key (or by their phone number using a `$phone_number` key if you have SMS-only contacts). Other than that, you can include any data you want and it can then be used to create segments of people. For example, if you wanted to create a list of people on trial plans, include a person's plan type in this JSON object so you can use that information later. **SPECIAL FIELDS:** The Klaviyo CRM has the following special fields you can set for customer **properties** with the **Identify** endpoint, to unlock additional functionality: **$email:** _string_ **$first_name:** _string_ **$last_name:** _string_ **$phone_number:** _string; eg: \"+13239169023\"_ **$city:** _string_ **$region:** _string; state, or other region_ **$country:** _string_ **$zip:** _string_ **$image:** _string; url to a photo of a person_ **$consent:** _list of strings; eg: ['sms', 'email', 'web', 'directmail', 'mobile']_ **EXAMPLE:** ``` { \"token\": \"PUBLIC_KEY\", \"properties\": { \"$email\": \"abraham.lincoln@klaviyo.com\", \"$first_name\": \"Abraham\", \"$last_name\": \"Lincoln\", \"$city\": \"Springfield\", \"$region\": \"Illinois\" } }
84
+
85
+ ### Examples
86
+
87
+ ```ruby
88
+ require 'time'
89
+ require 'klaviyo_sdk'
90
+
91
+ api_instance = Klaviyo::TrackIdentifyApi.new
92
+ data = 'data_example' # String |
93
+
94
+ begin
95
+ # Identify Profile
96
+ result = api_instance.identify_post(data)
97
+ p result
98
+ rescue Klaviyo::ApiError => e
99
+ puts "Error when calling TrackIdentifyApi->identify_post: #{e}"
100
+ end
101
+ ```
102
+
103
+ #### Using the identify_post_with_http_info variant
104
+
105
+ This returns an Array which contains the response data, status code and headers.
106
+
107
+ > <Array(String, Integer, Hash)> identify_post_with_http_info(data)
108
+
109
+ ```ruby
110
+ begin
111
+ # Identify Profile
112
+ data, status_code, headers = api_instance.identify_post_with_http_info(data)
113
+ p status_code # => 2xx
114
+ p headers # => { ... }
115
+ p data # => String
116
+ rescue Klaviyo::ApiError => e
117
+ puts "Error when calling TrackIdentifyApi->identify_post_with_http_info: #{e}"
118
+ end
119
+ ```
120
+
121
+ ### Parameters
122
+
123
+ | Name | Type | Description | Notes |
124
+ | ---- | ---- | ----------- | ----- |
125
+ | **data** | **String** | | [default to &#39;{\&quot;token\&quot;: \&quot;PUBLIC_KEY\&quot;,\&quot;properties\&quot;: {\&quot;$email\&quot;:\&quot;ben.franklin@klaviyo.com\&quot;}}&#39;] |
126
+
127
+ ### Return type
128
+
129
+ **String**
130
+
131
+ ### Authorization
132
+
133
+ No authorization required
134
+
135
+ ### HTTP request headers
136
+
137
+ - **Content-Type**: application/x-www-form-urlencoded
138
+ - **Accept**: text/html
139
+
140
+
141
+ ## track_get
142
+
143
+ > String track_get(data)
144
+
145
+ Track Profile Activity (Legacy)
146
+
147
+ This endpoint is also used to track a profile's activity. It takes as input the same payload as the above POST request, but as a base64-encoded string passed as a query parameter. NOTE: This is offered for backwards compatibility; we recommend all new implementations use the POST approach above. **EXAMPLE:** ``` { \"token\": \"PUBLIC_KEY\", \"event\": \"Ordered Product\", \"customer_properties\": { \"$email\": \"abraham.lincoln@klaviyo.com\" }, \"properties\": { \"item_name\": \"Boots\", \"$value\": 100 } } ``` Gets encoded into the following string, which is passed into the `data` parameter: `eyJ0b2tlbiI6ICJQVUJMSUNfS0VZIiwiZXZlbnQiOiAiT3JkZXJlZEl0ZW0iLCJjdXN0b21lcl9wcm9wZXJ0aWVzIjogeyIkZW1haWwiOiAiYWJyYWhhbS5saW5jb2xuQGtsYXZpeW8uY29tIn0sInByb3BlcnRpZXMiOiB7Iml0ZW1fbmFtZSI6ICJCb290cyIsIiR2YWx1ZSI6IDEwMH19`
148
+
149
+ ### Examples
150
+
151
+ ```ruby
152
+ require 'time'
153
+ require 'klaviyo_sdk'
154
+
155
+ api_instance = Klaviyo::TrackIdentifyApi.new
156
+ data = 'BASE_64_STRING' # String | String representation of base64 encoded JSON object
157
+
158
+ begin
159
+ # Track Profile Activity (Legacy)
160
+ result = api_instance.track_get(data)
161
+ p result
162
+ rescue Klaviyo::ApiError => e
163
+ puts "Error when calling TrackIdentifyApi->track_get: #{e}"
164
+ end
165
+ ```
166
+
167
+ #### Using the track_get_with_http_info variant
168
+
169
+ This returns an Array which contains the response data, status code and headers.
170
+
171
+ > <Array(String, Integer, Hash)> track_get_with_http_info(data)
172
+
173
+ ```ruby
174
+ begin
175
+ # Track Profile Activity (Legacy)
176
+ data, status_code, headers = api_instance.track_get_with_http_info(data)
177
+ p status_code # => 2xx
178
+ p headers # => { ... }
179
+ p data # => String
180
+ rescue Klaviyo::ApiError => e
181
+ puts "Error when calling TrackIdentifyApi->track_get_with_http_info: #{e}"
182
+ end
183
+ ```
184
+
185
+ ### Parameters
186
+
187
+ | Name | Type | Description | Notes |
188
+ | ---- | ---- | ----------- | ----- |
189
+ | **data** | **String** | String representation of base64 encoded JSON object | [default to &#39;BASE_64_STRING&#39;] |
190
+
191
+ ### Return type
192
+
193
+ **String**
194
+
195
+ ### Authorization
196
+
197
+ No authorization required
198
+
199
+ ### HTTP request headers
200
+
201
+ - **Content-Type**: Not defined
202
+ - **Accept**: text/html
203
+
204
+
205
+ ## track_post
206
+
207
+ > String track_post(data)
208
+
209
+ Track Profile Activity
210
+
211
+ This endpoint is used to track a profile's activity. The following data is encoded in a JSON object. NOTE: an account can have up to 200 unique metrics (event types). This endpoint can accept payloads up to approximately 1MB. **JSON OBJECT STRUCTURE:** __token: *string*__ This is your public API key. __event: *string*__ Name of the event you want to track. __customer_properties: *JSON Object or null*__ Properties of the profile that triggered this event. You must identify the person by their email using a $email key (or by their phone number using a `$phone_number` key if you have SMS-only contacts). Other than that, you can include any data you want and it can then be used to create segments of people. For example, if you wanted to create a list of people on trial plans, include a person's plan type in this JSON object so you can use that information later. __properties: *optional; JSON Object or null*__ Properties of this event. Any properties included here can be used for creating segments later For example, if you track an event called \"Ordered Product\" you could include a property for item type (e.g. image, article, etc.), size, etc. __time: *optional; 10-digit UNIX timestamp or null*__ When this event occurred. By default, Klaviyo assumes events happen when a request is made. If you'd like to track an event that happened in past, use this property. **SPECIAL FIELDS:** The Klaviyo CRM has the following special fields you can set for **customer_properties** with the **Track** endpoint, to unlock additional functionality: **$email:** _string_ **$first_name:** _string_ **$last_name:** _string_ **$phone_number:** _string; eg: \"+13239169023\"_ **$city:** _string_ **$region:** _string; state, or other region_ **$country:** _string_ **$zip:** _string_ **$image:** _string; url to a photo of a person_ **$consent:** _list of strings; eg: ['sms', 'email', 'web', 'directmail', 'mobile']_ You can also set the following special fields in event **properties** with the **Track** endpoint: **$event_id:** _a unique identifier for an event_ **$value:** _a numeric value to associate with this event (e.g. the dollar value of a purchase)_ **EXAMPLE:** ``` { \"token\": \"PUBLIC_KEY\", \"event\": \"Ordered Product\", \"customer_properties\": { \"$email\": \"abraham.lincoln@klaviyo.com\" }, \"properties\": { \"item_name\": \"Boots\", \"$value\": 100 } }
212
+
213
+ ### Examples
214
+
215
+ ```ruby
216
+ require 'time'
217
+ require 'klaviyo_sdk'
218
+
219
+ api_instance = Klaviyo::TrackIdentifyApi.new
220
+ data = 'data_example' # String |
221
+
222
+ begin
223
+ # Track Profile Activity
224
+ result = api_instance.track_post(data)
225
+ p result
226
+ rescue Klaviyo::ApiError => e
227
+ puts "Error when calling TrackIdentifyApi->track_post: #{e}"
228
+ end
229
+ ```
230
+
231
+ #### Using the track_post_with_http_info variant
232
+
233
+ This returns an Array which contains the response data, status code and headers.
234
+
235
+ > <Array(String, Integer, Hash)> track_post_with_http_info(data)
236
+
237
+ ```ruby
238
+ begin
239
+ # Track Profile Activity
240
+ data, status_code, headers = api_instance.track_post_with_http_info(data)
241
+ p status_code # => 2xx
242
+ p headers # => { ... }
243
+ p data # => String
244
+ rescue Klaviyo::ApiError => e
245
+ puts "Error when calling TrackIdentifyApi->track_post_with_http_info: #{e}"
246
+ end
247
+ ```
248
+
249
+ ### Parameters
250
+
251
+ | Name | Type | Description | Notes |
252
+ | ---- | ---- | ----------- | ----- |
253
+ | **data** | **String** | | [default to &#39;{\&quot;token\&quot;: \&quot;PUBLIC_KEY\&quot;, \&quot;event\&quot;: \&quot;Ordered Product\&quot;, \&quot;customer_properties\&quot;: {\&quot;$email\&quot;: \&quot;abraham.lincoln@klaviyo.com\&quot;}, \&quot;properties\&quot;: {\&quot;item_name\&quot;: \&quot;Boots\&quot;,\&quot;$value\&quot;: 100}}&#39;] |
254
+
255
+ ### Return type
256
+
257
+ **String**
258
+
259
+ ### Authorization
260
+
261
+ No authorization required
262
+
263
+ ### HTTP request headers
264
+
265
+ - **Content-Type**: application/x-www-form-urlencoded
266
+ - **Accept**: text/html
267
+
@@ -0,0 +1,24 @@
1
+ # Klaviyo::TrackPayload
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **token** | **String** | | |
8
+ | **customer_properties** | [**TrackPayloadCustomerProperties**](TrackPayloadCustomerProperties.md) | | |
9
+ | **properties** | [**TrackPayloadProperties**](TrackPayloadProperties.md) | | |
10
+ | **time** | [**OneOfstringinteger**](OneOfstringinteger.md) | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'klaviyo_sdk'
16
+
17
+ instance = Klaviyo::TrackPayload.new(
18
+ token: null,
19
+ customer_properties: null,
20
+ properties: null,
21
+ time: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,20 @@
1
+ # Klaviyo::TrackPayloadCustomerProperties
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **_email** | **String** | | [optional] |
8
+ | **_phone_number** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'klaviyo_sdk'
14
+
15
+ instance = Klaviyo::TrackPayloadCustomerProperties.new(
16
+ _email: null,
17
+ _phone_number: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,22 @@
1
+ # Klaviyo::TrackPayloadProperties
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **event_id** | **String** | | [optional] |
8
+ | **value** | **String** | | [optional] |
9
+ | **your_custom_field** | [**OneOfstringintegernumberbooleanarray**](OneOfstringintegernumberbooleanarray.md) | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'klaviyo_sdk'
15
+
16
+ instance = Klaviyo::TrackPayloadProperties.new(
17
+ event_id: null,
18
+ value: null,
19
+ your_custom_field: null
20
+ )
21
+ ```
22
+
data/git_push.sh ADDED
@@ -0,0 +1,57 @@
1
+ #!/bin/sh
2
+ # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
3
+ #
4
+ # Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
5
+
6
+ git_user_id=$1
7
+ git_repo_id=$2
8
+ release_note=$3
9
+ git_host=$4
10
+
11
+ if [ "$git_host" = "" ]; then
12
+ git_host="github.com"
13
+ echo "[INFO] No command line input provided. Set \$git_host to $git_host"
14
+ fi
15
+
16
+ if [ "$git_user_id" = "" ]; then
17
+ git_user_id="GIT_USER_ID"
18
+ echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
19
+ fi
20
+
21
+ if [ "$git_repo_id" = "" ]; then
22
+ git_repo_id="GIT_REPO_ID"
23
+ echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
24
+ fi
25
+
26
+ if [ "$release_note" = "" ]; then
27
+ release_note="Minor update"
28
+ echo "[INFO] No command line input provided. Set \$release_note to $release_note"
29
+ fi
30
+
31
+ # Initialize the local directory as a Git repository
32
+ git init
33
+
34
+ # Adds the files in the local repository and stages them for commit.
35
+ git add .
36
+
37
+ # Commits the tracked changes and prepares them to be pushed to a remote repository.
38
+ git commit -m "$release_note"
39
+
40
+ # Sets the new remote
41
+ git_remote=$(git remote)
42
+ if [ "$git_remote" = "" ]; then # git remote not defined
43
+
44
+ if [ "$GIT_TOKEN" = "" ]; then
45
+ echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
46
+ git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
47
+ else
48
+ git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
49
+ fi
50
+
51
+ fi
52
+
53
+ git pull origin master
54
+
55
+ # Pushes (Forces) the changes in the local repository up to the remote repository
56
+ echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
57
+ git push origin master 2>&1 | grep -v 'To https'
Binary file
data/klaviyo_sdk.gemspec CHANGED
@@ -17,7 +17,7 @@ require "klaviyo_sdk/version"
17
17
 
18
18
  Gem::Specification.new do |s|
19
19
  s.name = "klaviyo_sdk"
20
- s.version = "1.0.0.20220329"
20
+ s.version = "1.0.3.20220329"
21
21
  s.authors = ['Klaviyo Team']
22
22
  s.email = ['libraries@klaviyo.com']
23
23
  s.summary = 'You heard us, a Ruby wrapper for the Klaviyo API'
@@ -32,4 +32,9 @@ Gem::Specification.new do |s|
32
32
  s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
33
33
  s.executables = []
34
34
  s.require_paths = ["lib"]
35
+
36
+ s.metadata = {
37
+ "changelog_uri" => "https://github.com/klaviyo/klaviyo-ruby-sdk/blob/main/CHANGELOG.md",
38
+ "documentation_uri" => "https://github.com/klaviyo/klaviyo-ruby-sdk/blob/main/README.md",
39
+ }
35
40
  end
@@ -12,7 +12,7 @@ OpenAPI Generator version: 5.4.0
12
12
 
13
13
  require 'cgi'
14
14
 
15
- module Client
15
+ module Klaviyo
16
16
  class CampaignsApi
17
17
  attr_accessor :api_client
18
18
 
@@ -12,7 +12,7 @@ OpenAPI Generator version: 5.4.0
12
12
 
13
13
  require 'cgi'
14
14
 
15
- module Client
15
+ module Klaviyo
16
16
  class DataPrivacyApi
17
17
  attr_accessor :api_client
18
18
 
@@ -12,7 +12,7 @@ OpenAPI Generator version: 5.4.0
12
12
 
13
13
  require 'cgi'
14
14
 
15
- module Client
15
+ module Klaviyo
16
16
  class ListsSegmentsApi
17
17
  attr_accessor :api_client
18
18
 
@@ -12,7 +12,7 @@ OpenAPI Generator version: 5.4.0
12
12
 
13
13
  require 'cgi'
14
14
 
15
- module Client
15
+ module Klaviyo
16
16
  class MetricsApi
17
17
  attr_accessor :api_client
18
18
 
@@ -12,7 +12,7 @@ OpenAPI Generator version: 5.4.0
12
12
 
13
13
  require 'cgi'
14
14
 
15
- module Client
15
+ module Klaviyo
16
16
  class ProfilesApi
17
17
  attr_accessor :api_client
18
18
 
@@ -12,7 +12,7 @@ OpenAPI Generator version: 5.4.0
12
12
 
13
13
  require 'cgi'
14
14
 
15
- module Client
15
+ module Klaviyo
16
16
  class TemplatesApi
17
17
  attr_accessor :api_client
18
18
 
@@ -12,7 +12,7 @@ OpenAPI Generator version: 5.4.0
12
12
 
13
13
  require 'cgi'
14
14
 
15
- module Client
15
+ module Klaviyo
16
16
  class TrackIdentifyApi
17
17
  attr_accessor :api_client
18
18
 
@@ -17,7 +17,7 @@ require 'tempfile'
17
17
  require 'time'
18
18
  require 'typhoeus'
19
19
 
20
- module Client
20
+ module Klaviyo
21
21
  class ApiClient
22
22
  # The Configuration object holding settings to be used in the API client.
23
23
  attr_accessor :config
@@ -31,7 +31,7 @@ module Client
31
31
  # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
32
32
  def initialize(config = Configuration.default)
33
33
  @config = config
34
- @user_agent = "klaviyo-ruby/1.0.0.20220329"
34
+ @user_agent = "klaviyo-ruby/1.0.3.20220329"
35
35
  @default_headers = {
36
36
  'Content-Type' => 'application/json',
37
37
  'User-Agent' => @user_agent
@@ -10,7 +10,7 @@ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
- module Client
13
+ module Klaviyo
14
14
  class ApiError < StandardError
15
15
  attr_reader :code, :response_headers, :response_body
16
16
 
@@ -10,7 +10,7 @@ OpenAPI Generator version: 5.4.0
10
10
 
11
11
  =end
12
12
 
13
- module Client
13
+ module Klaviyo
14
14
  class Configuration
15
15
  # Defines url scheme
16
16
  attr_accessor :scheme
@@ -13,7 +13,7 @@ OpenAPI Generator version: 5.4.0
13
13
  require 'date'
14
14
  require 'time'
15
15
 
16
- module Client
16
+ module Klaviyo
17
17
  class Campaign
18
18
  attr_accessor :object
19
19
 
@@ -86,13 +86,13 @@ module Client
86
86
  # @param [Hash] attributes Model attributes in the form of hash
87
87
  def initialize(attributes = {})
88
88
  if (!attributes.is_a?(Hash))
89
- fail ArgumentError, "The input argument (attributes) must be a hash in `Client::Campaign` initialize method"
89
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Klaviyo::Campaign` initialize method"
90
90
  end
91
91
 
92
92
  # check to see if the attribute exists and convert string to symbol for hash key
93
93
  attributes = attributes.each_with_object({}) { |(k, v), h|
94
94
  if (!self.class.attribute_map.key?(k.to_sym))
95
- fail ArgumentError, "`#{k}` is not a valid attribute in `Client::Campaign`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
95
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Klaviyo::Campaign`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
96
96
  end
97
97
  h[k.to_sym] = v
98
98
  }
@@ -254,7 +254,7 @@ module Client
254
254
  end
255
255
  else # model
256
256
  # models (e.g. Pet) or oneOf
257
- klass = Client.const_get(type)
257
+ klass = Klaviyo.const_get(type)
258
258
  klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
259
259
  end
260
260
  end
@@ -13,7 +13,7 @@ OpenAPI Generator version: 5.4.0
13
13
  require 'date'
14
14
  require 'time'
15
15
 
16
- module Client
16
+ module Klaviyo
17
17
  class CheckMembershipRequest
18
18
  # List of email addresses
19
19
  attr_accessor :emails
@@ -56,13 +56,13 @@ module Client
56
56
  # @param [Hash] attributes Model attributes in the form of hash
57
57
  def initialize(attributes = {})
58
58
  if (!attributes.is_a?(Hash))
59
- fail ArgumentError, "The input argument (attributes) must be a hash in `Client::CheckMembershipRequest` initialize method"
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Klaviyo::CheckMembershipRequest` initialize method"
60
60
  end
61
61
 
62
62
  # check to see if the attribute exists and convert string to symbol for hash key
63
63
  attributes = attributes.each_with_object({}) { |(k, v), h|
64
64
  if (!self.class.attribute_map.key?(k.to_sym))
65
- fail ArgumentError, "`#{k}` is not a valid attribute in `Client::CheckMembershipRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Klaviyo::CheckMembershipRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
66
66
  end
67
67
  h[k.to_sym] = v
68
68
  }
@@ -188,7 +188,7 @@ module Client
188
188
  end
189
189
  else # model
190
190
  # models (e.g. Pet) or oneOf
191
- klass = Client.const_get(type)
191
+ klass = Klaviyo.const_get(type)
192
192
  klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
193
193
  end
194
194
  end
@@ -13,7 +13,7 @@ OpenAPI Generator version: 5.4.0
13
13
  require 'date'
14
14
  require 'time'
15
15
 
16
- module Client
16
+ module Klaviyo
17
17
  class DeleteEmail
18
18
  attr_accessor :email
19
19
 
@@ -46,13 +46,13 @@ module Client
46
46
  # @param [Hash] attributes Model attributes in the form of hash
47
47
  def initialize(attributes = {})
48
48
  if (!attributes.is_a?(Hash))
49
- fail ArgumentError, "The input argument (attributes) must be a hash in `Client::DeleteEmail` initialize method"
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Klaviyo::DeleteEmail` initialize method"
50
50
  end
51
51
 
52
52
  # check to see if the attribute exists and convert string to symbol for hash key
53
53
  attributes = attributes.each_with_object({}) { |(k, v), h|
54
54
  if (!self.class.attribute_map.key?(k.to_sym))
55
- fail ArgumentError, "`#{k}` is not a valid attribute in `Client::DeleteEmail`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Klaviyo::DeleteEmail`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
56
  end
57
57
  h[k.to_sym] = v
58
58
  }
@@ -162,7 +162,7 @@ module Client
162
162
  end
163
163
  else # model
164
164
  # models (e.g. Pet) or oneOf
165
- klass = Client.const_get(type)
165
+ klass = Klaviyo.const_get(type)
166
166
  klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
167
167
  end
168
168
  end
@@ -13,7 +13,7 @@ OpenAPI Generator version: 5.4.0
13
13
  require 'date'
14
14
  require 'time'
15
15
 
16
- module Client
16
+ module Klaviyo
17
17
  class DeletePerson
18
18
  attr_accessor :person_id
19
19
 
@@ -46,13 +46,13 @@ module Client
46
46
  # @param [Hash] attributes Model attributes in the form of hash
47
47
  def initialize(attributes = {})
48
48
  if (!attributes.is_a?(Hash))
49
- fail ArgumentError, "The input argument (attributes) must be a hash in `Client::DeletePerson` initialize method"
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Klaviyo::DeletePerson` initialize method"
50
50
  end
51
51
 
52
52
  # check to see if the attribute exists and convert string to symbol for hash key
53
53
  attributes = attributes.each_with_object({}) { |(k, v), h|
54
54
  if (!self.class.attribute_map.key?(k.to_sym))
55
- fail ArgumentError, "`#{k}` is not a valid attribute in `Client::DeletePerson`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Klaviyo::DeletePerson`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
56
  end
57
57
  h[k.to_sym] = v
58
58
  }
@@ -162,7 +162,7 @@ module Client
162
162
  end
163
163
  else # model
164
164
  # models (e.g. Pet) or oneOf
165
- klass = Client.const_get(type)
165
+ klass = Klaviyo.const_get(type)
166
166
  klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
167
167
  end
168
168
  end