klaviyo_sdk 1.0.0.20220329 → 1.0.3.20220329

Sign up to get free protection for your applications and to get access to all the features.
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