@easyedu/js-lsm-api 1.115.0 → 1.117.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 (158) hide show
  1. package/.openapi-generator/FILES +48 -0
  2. package/README.md +40 -2
  3. package/dist/apis/IntegrationApi.d.ts +257 -0
  4. package/dist/apis/IntegrationApi.js +708 -1
  5. package/dist/esm/apis/IntegrationApi.d.ts +257 -0
  6. package/dist/esm/apis/IntegrationApi.js +707 -0
  7. package/dist/esm/models/CustomWebhookIntegration.d.ts +83 -0
  8. package/dist/esm/models/CustomWebhookIntegration.js +79 -0
  9. package/dist/esm/models/GetZapierCourses.d.ts +51 -0
  10. package/dist/esm/models/GetZapierCourses.js +56 -0
  11. package/dist/esm/models/GetZapierShopifyCourseMappings.d.ts +33 -0
  12. package/dist/esm/models/GetZapierShopifyCourseMappings.js +44 -0
  13. package/dist/esm/models/GetZapierUsers.d.ts +33 -0
  14. package/dist/esm/models/GetZapierUsers.js +44 -0
  15. package/dist/esm/models/IntegrationEvent.d.ts +98 -0
  16. package/dist/esm/models/IntegrationEvent.js +92 -0
  17. package/dist/esm/models/IntegrationEventCertificate.d.ts +78 -0
  18. package/dist/esm/models/IntegrationEventCertificate.js +76 -0
  19. package/dist/esm/models/IntegrationEventCourse.d.ts +38 -0
  20. package/dist/esm/models/IntegrationEventCourse.js +47 -0
  21. package/dist/esm/models/IntegrationEventData.d.ts +61 -0
  22. package/dist/esm/models/IntegrationEventData.js +64 -0
  23. package/dist/esm/models/IntegrationEventEnrollment.d.ts +71 -0
  24. package/dist/esm/models/IntegrationEventEnrollment.js +71 -0
  25. package/dist/esm/models/IntegrationEventLearner.d.ts +50 -0
  26. package/dist/esm/models/IntegrationEventLearner.js +55 -0
  27. package/dist/esm/models/IntegrationEventPortal.d.ts +44 -0
  28. package/dist/esm/models/IntegrationEventPortal.js +51 -0
  29. package/dist/esm/models/PostCustomWebhookIntegration.d.ts +65 -0
  30. package/dist/esm/models/PostCustomWebhookIntegration.js +65 -0
  31. package/dist/esm/models/PostZapierEnrollment.d.ts +76 -0
  32. package/dist/esm/models/PostZapierEnrollment.js +64 -0
  33. package/dist/esm/models/PostZapierShopifyCourseMapping.d.ts +50 -0
  34. package/dist/esm/models/PostZapierShopifyCourseMapping.js +53 -0
  35. package/dist/esm/models/PostZapierShopifyEnrollment.d.ts +100 -0
  36. package/dist/esm/models/PostZapierShopifyEnrollment.js +82 -0
  37. package/dist/esm/models/PostZapierShopifyEnrollmentResponse.d.ts +47 -0
  38. package/dist/esm/models/PostZapierShopifyEnrollmentResponse.js +54 -0
  39. package/dist/esm/models/PostZapierSubscription.d.ts +53 -0
  40. package/dist/esm/models/PostZapierSubscription.js +57 -0
  41. package/dist/esm/models/PostZapierUser.d.ts +44 -0
  42. package/dist/esm/models/PostZapierUser.js +51 -0
  43. package/dist/esm/models/PutCustomWebhookIntegration.d.ts +65 -0
  44. package/dist/esm/models/PutCustomWebhookIntegration.js +57 -0
  45. package/dist/esm/models/ZapierCourse.d.ts +50 -0
  46. package/dist/esm/models/ZapierCourse.js +55 -0
  47. package/dist/esm/models/ZapierEnrollment.d.ts +74 -0
  48. package/dist/esm/models/ZapierEnrollment.js +69 -0
  49. package/dist/esm/models/ZapierShopifyCourseMapping.d.ts +69 -0
  50. package/dist/esm/models/ZapierShopifyCourseMapping.js +66 -0
  51. package/dist/esm/models/ZapierSubscription.d.ts +53 -0
  52. package/dist/esm/models/ZapierSubscription.js +59 -0
  53. package/dist/esm/models/ZapierUser.d.ts +56 -0
  54. package/dist/esm/models/ZapierUser.js +59 -0
  55. package/dist/esm/models/index.d.ts +24 -0
  56. package/dist/esm/models/index.js +24 -0
  57. package/dist/models/CustomWebhookIntegration.d.ts +83 -0
  58. package/dist/models/CustomWebhookIntegration.js +87 -0
  59. package/dist/models/GetZapierCourses.d.ts +51 -0
  60. package/dist/models/GetZapierCourses.js +63 -0
  61. package/dist/models/GetZapierShopifyCourseMappings.d.ts +33 -0
  62. package/dist/models/GetZapierShopifyCourseMappings.js +51 -0
  63. package/dist/models/GetZapierUsers.d.ts +33 -0
  64. package/dist/models/GetZapierUsers.js +51 -0
  65. package/dist/models/IntegrationEvent.d.ts +98 -0
  66. package/dist/models/IntegrationEvent.js +100 -0
  67. package/dist/models/IntegrationEventCertificate.d.ts +78 -0
  68. package/dist/models/IntegrationEventCertificate.js +84 -0
  69. package/dist/models/IntegrationEventCourse.d.ts +38 -0
  70. package/dist/models/IntegrationEventCourse.js +54 -0
  71. package/dist/models/IntegrationEventData.d.ts +61 -0
  72. package/dist/models/IntegrationEventData.js +71 -0
  73. package/dist/models/IntegrationEventEnrollment.d.ts +71 -0
  74. package/dist/models/IntegrationEventEnrollment.js +79 -0
  75. package/dist/models/IntegrationEventLearner.d.ts +50 -0
  76. package/dist/models/IntegrationEventLearner.js +62 -0
  77. package/dist/models/IntegrationEventPortal.d.ts +44 -0
  78. package/dist/models/IntegrationEventPortal.js +58 -0
  79. package/dist/models/PostCustomWebhookIntegration.d.ts +65 -0
  80. package/dist/models/PostCustomWebhookIntegration.js +73 -0
  81. package/dist/models/PostZapierEnrollment.d.ts +76 -0
  82. package/dist/models/PostZapierEnrollment.js +72 -0
  83. package/dist/models/PostZapierShopifyCourseMapping.d.ts +50 -0
  84. package/dist/models/PostZapierShopifyCourseMapping.js +60 -0
  85. package/dist/models/PostZapierShopifyEnrollment.d.ts +100 -0
  86. package/dist/models/PostZapierShopifyEnrollment.js +90 -0
  87. package/dist/models/PostZapierShopifyEnrollmentResponse.d.ts +47 -0
  88. package/dist/models/PostZapierShopifyEnrollmentResponse.js +61 -0
  89. package/dist/models/PostZapierSubscription.d.ts +53 -0
  90. package/dist/models/PostZapierSubscription.js +65 -0
  91. package/dist/models/PostZapierUser.d.ts +44 -0
  92. package/dist/models/PostZapierUser.js +58 -0
  93. package/dist/models/PutCustomWebhookIntegration.d.ts +65 -0
  94. package/dist/models/PutCustomWebhookIntegration.js +65 -0
  95. package/dist/models/ZapierCourse.d.ts +50 -0
  96. package/dist/models/ZapierCourse.js +62 -0
  97. package/dist/models/ZapierEnrollment.d.ts +74 -0
  98. package/dist/models/ZapierEnrollment.js +76 -0
  99. package/dist/models/ZapierShopifyCourseMapping.d.ts +69 -0
  100. package/dist/models/ZapierShopifyCourseMapping.js +73 -0
  101. package/dist/models/ZapierSubscription.d.ts +53 -0
  102. package/dist/models/ZapierSubscription.js +67 -0
  103. package/dist/models/ZapierUser.d.ts +56 -0
  104. package/dist/models/ZapierUser.js +66 -0
  105. package/dist/models/index.d.ts +24 -0
  106. package/dist/models/index.js +24 -0
  107. package/docs/CustomWebhookIntegration.md +48 -0
  108. package/docs/GetZapierCourses.md +40 -0
  109. package/docs/GetZapierShopifyCourseMappings.md +34 -0
  110. package/docs/GetZapierUsers.md +34 -0
  111. package/docs/IntegrationApi.md +1060 -30
  112. package/docs/IntegrationEvent.md +49 -0
  113. package/docs/IntegrationEventCertificate.md +46 -0
  114. package/docs/IntegrationEventCourse.md +36 -0
  115. package/docs/IntegrationEventData.md +42 -0
  116. package/docs/IntegrationEventEnrollment.md +44 -0
  117. package/docs/IntegrationEventLearner.md +40 -0
  118. package/docs/IntegrationEventPortal.md +38 -0
  119. package/docs/PostCustomWebhookIntegration.md +42 -0
  120. package/docs/PostZapierEnrollment.md +46 -0
  121. package/docs/PostZapierShopifyCourseMapping.md +40 -0
  122. package/docs/PostZapierShopifyEnrollment.md +54 -0
  123. package/docs/PostZapierShopifyEnrollmentResponse.md +38 -0
  124. package/docs/PostZapierSubscription.md +38 -0
  125. package/docs/PostZapierUser.md +38 -0
  126. package/docs/PutCustomWebhookIntegration.md +42 -0
  127. package/docs/ZapierCourse.md +40 -0
  128. package/docs/ZapierEnrollment.md +48 -0
  129. package/docs/ZapierShopifyCourseMapping.md +46 -0
  130. package/docs/ZapierSubscription.md +38 -0
  131. package/docs/ZapierUser.md +42 -0
  132. package/package.json +1 -1
  133. package/src/apis/IntegrationApi.ts +1104 -61
  134. package/src/models/CustomWebhookIntegration.ts +141 -0
  135. package/src/models/GetZapierCourses.ts +101 -0
  136. package/src/models/GetZapierShopifyCourseMappings.ts +74 -0
  137. package/src/models/GetZapierUsers.ts +74 -0
  138. package/src/models/IntegrationEvent.ts +165 -0
  139. package/src/models/IntegrationEventCertificate.ts +133 -0
  140. package/src/models/IntegrationEventCourse.ts +75 -0
  141. package/src/models/IntegrationEventData.ts +138 -0
  142. package/src/models/IntegrationEventEnrollment.ts +123 -0
  143. package/src/models/IntegrationEventLearner.ts +93 -0
  144. package/src/models/IntegrationEventPortal.ts +84 -0
  145. package/src/models/PostCustomWebhookIntegration.ts +113 -0
  146. package/src/models/PostZapierEnrollment.ts +126 -0
  147. package/src/models/PostZapierShopifyCourseMapping.ts +92 -0
  148. package/src/models/PostZapierShopifyEnrollment.ts +163 -0
  149. package/src/models/PostZapierShopifyEnrollmentResponse.ts +106 -0
  150. package/src/models/PostZapierSubscription.ts +95 -0
  151. package/src/models/PostZapierUser.ts +84 -0
  152. package/src/models/PutCustomWebhookIntegration.ts +109 -0
  153. package/src/models/ZapierCourse.ts +93 -0
  154. package/src/models/ZapierEnrollment.ts +128 -0
  155. package/src/models/ZapierShopifyCourseMapping.ts +127 -0
  156. package/src/models/ZapierSubscription.ts +96 -0
  157. package/src/models/ZapierUser.ts +102 -0
  158. package/src/models/index.ts +24 -0
@@ -4,14 +4,95 @@ All URIs are relative to *https://sbzw93t49b.execute-api.us-east-2.amazonaws.com
4
4
 
5
5
  | Method | HTTP request | Description |
6
6
  |------------- | ------------- | -------------|
7
+ | [**deleteCustomWebhookIntegration**](IntegrationApi.md#deletecustomwebhookintegration) | **DELETE** /integrations/webhooks/{webhookIntegrationId} | Delete a custom webhook destination |
7
8
  | [**deleteZapierSetup**](IntegrationApi.md#deletezapiersetup) | **DELETE** /integrations/zapier/setup/{zapierIntegrationId} | Revoke a Zapier connection and its API key |
9
+ | [**deleteZapierSubscription**](IntegrationApi.md#deletezapiersubscription) | **DELETE** /integrations/zapier/subscriptions/{subscriptionId} | Unsubscribe a Zap from an Edaxu lifecycle event |
10
+ | [**getCustomWebhookIntegrations**](IntegrationApi.md#getcustomwebhookintegrations) | **GET** /integrations/webhooks | List custom webhook destinations for the selected portal |
11
+ | [**getZapierCourses**](IntegrationApi.md#getzapiercourses) | **GET** /integrations/zapier/courses | List published courses available to a Zapier connection |
12
+ | [**getZapierEvents**](IntegrationApi.md#getzapierevents) | **GET** /integrations/zapier/events | List recent lifecycle events for Zapier trigger setup |
8
13
  | [**getZapierMe**](IntegrationApi.md#getzapierme) | **GET** /integrations/zapier/me | Test a Zapier API key and return its portal and enabled permissions |
9
14
  | [**getZapierSetup**](IntegrationApi.md#getzapiersetup) | **GET** /integrations/zapier/setup | List Zapier connections and permissions available to the selected portal |
15
+ | [**getZapierShopifyCourseMappings**](IntegrationApi.md#getzapiershopifycoursemappings) | **GET** /integrations/zapier/shopify/course-mappings | List Shopify variant-to-course mappings |
16
+ | [**getZapierUsers**](IntegrationApi.md#getzapierusers) | **GET** /integrations/zapier/users | Find a learner by exact email address |
17
+ | [**postCustomWebhookIntegration**](IntegrationApi.md#postcustomwebhookintegration) | **POST** /integrations/webhooks | Create a custom webhook destination for lifecycle events |
18
+ | [**postZapierEnrollment**](IntegrationApi.md#postzapierenrollment) | **POST** /integrations/zapier/enrollments | Enroll an existing learner in a course |
10
19
  | [**postZapierSetup**](IntegrationApi.md#postzapiersetup) | **POST** /integrations/zapier/setup | Create a Zapier connection and API key for the selected portal |
20
+ | [**postZapierShopifyCourseMapping**](IntegrationApi.md#postzapiershopifycoursemapping) | **POST** /integrations/zapier/shopify/course-mappings | Create or update a Shopify variant-to-course mapping |
21
+ | [**postZapierShopifyEnrollment**](IntegrationApi.md#postzapiershopifyenrollment) | **POST** /integrations/zapier/shopify/enrollments | Find or invite a Shopify customer and enroll them using the purchased variant mapping |
22
+ | [**postZapierSubscription**](IntegrationApi.md#postzapiersubscription) | **POST** /integrations/zapier/subscriptions | Subscribe a Zap to an Edaxu lifecycle event |
23
+ | [**postZapierUser**](IntegrationApi.md#postzapieruser) | **POST** /integrations/zapier/users | Find or invite a learner to the connected portal |
24
+ | [**putCustomWebhookIntegration**](IntegrationApi.md#putcustomwebhookintegration) | **PUT** /integrations/webhooks/{webhookIntegrationId} | Update a custom webhook destination |
11
25
  | [**putZapierSetup**](IntegrationApi.md#putzapiersetup) | **PUT** /integrations/zapier/setup/{zapierIntegrationId} | Update a Zapier connection\'s name or permissions |
12
26
 
13
27
 
14
28
 
29
+ ## deleteCustomWebhookIntegration
30
+
31
+ > deleteCustomWebhookIntegration(webhookIntegrationId)
32
+
33
+ Delete a custom webhook destination
34
+
35
+ ### Example
36
+
37
+ ```ts
38
+ import {
39
+ Configuration,
40
+ IntegrationApi,
41
+ } from '@easyedu/js-lsm-api';
42
+ import type { DeleteCustomWebhookIntegrationRequest } from '@easyedu/js-lsm-api';
43
+
44
+ async function example() {
45
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
46
+ const api = new IntegrationApi();
47
+
48
+ const body = {
49
+ // string
50
+ webhookIntegrationId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
51
+ } satisfies DeleteCustomWebhookIntegrationRequest;
52
+
53
+ try {
54
+ const data = await api.deleteCustomWebhookIntegration(body);
55
+ console.log(data);
56
+ } catch (error) {
57
+ console.error(error);
58
+ }
59
+ }
60
+
61
+ // Run the test
62
+ example().catch(console.error);
63
+ ```
64
+
65
+ ### Parameters
66
+
67
+
68
+ | Name | Type | Description | Notes |
69
+ |------------- | ------------- | ------------- | -------------|
70
+ | **webhookIntegrationId** | `string` | | [Defaults to `undefined`] |
71
+
72
+ ### Return type
73
+
74
+ `void` (Empty response body)
75
+
76
+ ### Authorization
77
+
78
+ No authorization required
79
+
80
+ ### HTTP request headers
81
+
82
+ - **Content-Type**: Not defined
83
+ - **Accept**: Not defined
84
+
85
+
86
+ ### HTTP response details
87
+ | Status code | Description | Response headers |
88
+ |-------------|-------------|------------------|
89
+ | **204** | Custom webhook destination deleted | - |
90
+ | **403** | Forbidden | - |
91
+ | **404** | Custom webhook destination not found | - |
92
+
93
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
94
+
95
+
15
96
  ## deleteZapierSetup
16
97
 
17
98
  > deleteZapierSetup(zapierIntegrationId)
@@ -79,11 +160,11 @@ No authorization required
79
160
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
80
161
 
81
162
 
82
- ## getZapierMe
163
+ ## deleteZapierSubscription
83
164
 
84
- > GetZapierMe getZapierMe(xAPIKEY, xPORTALSUBDOMAIN)
165
+ > deleteZapierSubscription(subscriptionId, xAPIKEY, xPORTALSUBDOMAIN)
85
166
 
86
- Test a Zapier API key and return its portal and enabled permissions
167
+ Unsubscribe a Zap from an Edaxu lifecycle event
87
168
 
88
169
  ### Example
89
170
 
@@ -92,21 +173,23 @@ import {
92
173
  Configuration,
93
174
  IntegrationApi,
94
175
  } from '@easyedu/js-lsm-api';
95
- import type { GetZapierMeRequest } from '@easyedu/js-lsm-api';
176
+ import type { DeleteZapierSubscriptionRequest } from '@easyedu/js-lsm-api';
96
177
 
97
178
  async function example() {
98
179
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
99
180
  const api = new IntegrationApi();
100
181
 
101
182
  const body = {
183
+ // string
184
+ subscriptionId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
102
185
  // string
103
186
  xAPIKEY: xAPIKEY_example,
104
187
  // string
105
188
  xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
106
- } satisfies GetZapierMeRequest;
189
+ } satisfies DeleteZapierSubscriptionRequest;
107
190
 
108
191
  try {
109
- const data = await api.getZapierMe(body);
192
+ const data = await api.deleteZapierSubscription(body);
110
193
  console.log(data);
111
194
  } catch (error) {
112
195
  console.error(error);
@@ -122,12 +205,13 @@ example().catch(console.error);
122
205
 
123
206
  | Name | Type | Description | Notes |
124
207
  |------------- | ------------- | ------------- | -------------|
208
+ | **subscriptionId** | `string` | | [Defaults to `undefined`] |
125
209
  | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
126
210
  | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
127
211
 
128
212
  ### Return type
129
213
 
130
- [**GetZapierMe**](GetZapierMe.md)
214
+ `void` (Empty response body)
131
215
 
132
216
  ### Authorization
133
217
 
@@ -136,24 +220,23 @@ No authorization required
136
220
  ### HTTP request headers
137
221
 
138
222
  - **Content-Type**: Not defined
139
- - **Accept**: `application/json`
223
+ - **Accept**: Not defined
140
224
 
141
225
 
142
226
  ### HTTP response details
143
227
  | Status code | Description | Response headers |
144
228
  |-------------|-------------|------------------|
145
- | **200** | Connected Zapier account details | - |
229
+ | **204** | Subscription is inactive | - |
146
230
  | **401** | Missing, invalid, or revoked API key | - |
147
- | **403** | API key does not belong to the supplied portal subdomain | - |
148
231
 
149
232
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
150
233
 
151
234
 
152
- ## getZapierSetup
235
+ ## getCustomWebhookIntegrations
153
236
 
154
- > GetZapierSetup getZapierSetup()
237
+ > Array<CustomWebhookIntegration> getCustomWebhookIntegrations()
155
238
 
156
- List Zapier connections and permissions available to the selected portal
239
+ List custom webhook destinations for the selected portal
157
240
 
158
241
  ### Example
159
242
 
@@ -162,14 +245,14 @@ import {
162
245
  Configuration,
163
246
  IntegrationApi,
164
247
  } from '@easyedu/js-lsm-api';
165
- import type { GetZapierSetupRequest } from '@easyedu/js-lsm-api';
248
+ import type { GetCustomWebhookIntegrationsRequest } from '@easyedu/js-lsm-api';
166
249
 
167
250
  async function example() {
168
251
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
169
252
  const api = new IntegrationApi();
170
253
 
171
254
  try {
172
- const data = await api.getZapierSetup();
255
+ const data = await api.getCustomWebhookIntegrations();
173
256
  console.log(data);
174
257
  } catch (error) {
175
258
  console.error(error);
@@ -186,7 +269,7 @@ This endpoint does not need any parameter.
186
269
 
187
270
  ### Return type
188
271
 
189
- [**GetZapierSetup**](GetZapierSetup.md)
272
+ [**Array<CustomWebhookIntegration>**](CustomWebhookIntegration.md)
190
273
 
191
274
  ### Authorization
192
275
 
@@ -201,17 +284,17 @@ No authorization required
201
284
  ### HTTP response details
202
285
  | Status code | Description | Response headers |
203
286
  |-------------|-------------|------------------|
204
- | **200** | Zapier setup details | - |
287
+ | **200** | Custom webhook destinations | - |
205
288
  | **403** | Forbidden | - |
206
289
 
207
290
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
208
291
 
209
292
 
210
- ## postZapierSetup
293
+ ## getZapierCourses
211
294
 
212
- > PostZapierSetupResponse postZapierSetup(postZapierSetup)
295
+ > GetZapierCourses getZapierCourses(xAPIKEY, xPORTALSUBDOMAIN, page, pageSize, search)
213
296
 
214
- Create a Zapier connection and API key for the selected portal
297
+ List published courses available to a Zapier connection
215
298
 
216
299
  ### Example
217
300
 
@@ -220,19 +303,27 @@ import {
220
303
  Configuration,
221
304
  IntegrationApi,
222
305
  } from '@easyedu/js-lsm-api';
223
- import type { PostZapierSetupRequest } from '@easyedu/js-lsm-api';
306
+ import type { GetZapierCoursesRequest } from '@easyedu/js-lsm-api';
224
307
 
225
308
  async function example() {
226
309
  console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
227
310
  const api = new IntegrationApi();
228
311
 
229
312
  const body = {
230
- // PostZapierSetup
231
- postZapierSetup: ...,
232
- } satisfies PostZapierSetupRequest;
313
+ // string
314
+ xAPIKEY: xAPIKEY_example,
315
+ // string
316
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
317
+ // number (optional)
318
+ page: 56,
319
+ // number (optional)
320
+ pageSize: 56,
321
+ // string (optional)
322
+ search: search_example,
323
+ } satisfies GetZapierCoursesRequest;
233
324
 
234
325
  try {
235
- const data = await api.postZapierSetup(body);
326
+ const data = await api.getZapierCourses(body);
236
327
  console.log(data);
237
328
  } catch (error) {
238
329
  console.error(error);
@@ -248,11 +339,15 @@ example().catch(console.error);
248
339
 
249
340
  | Name | Type | Description | Notes |
250
341
  |------------- | ------------- | ------------- | -------------|
251
- | **postZapierSetup** | [PostZapierSetup](PostZapierSetup.md) | | |
342
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
343
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
344
+ | **page** | `number` | | [Optional] [Defaults to `1`] |
345
+ | **pageSize** | `number` | | [Optional] [Defaults to `100`] |
346
+ | **search** | `string` | | [Optional] [Defaults to `undefined`] |
252
347
 
253
348
  ### Return type
254
349
 
255
- [**PostZapierSetupResponse**](PostZapierSetupResponse.md)
350
+ [**GetZapierCourses**](GetZapierCourses.md)
256
351
 
257
352
  ### Authorization
258
353
 
@@ -260,16 +355,951 @@ No authorization required
260
355
 
261
356
  ### HTTP request headers
262
357
 
263
- - **Content-Type**: `application/json`
358
+ - **Content-Type**: Not defined
264
359
  - **Accept**: `application/json`
265
360
 
266
361
 
267
362
  ### HTTP response details
268
363
  | Status code | Description | Response headers |
269
364
  |-------------|-------------|------------------|
270
- | **201** | Zapier connection created; the API key is returned only once | - |
271
- | **400** | Invalid name or permission selection | - |
365
+ | **200** | Published courses available to the connection | - |
366
+ | **401** | Missing, invalid, or revoked API key | - |
367
+ | **403** | The API key does not have course:list | - |
368
+
369
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
370
+
371
+
372
+ ## getZapierEvents
373
+
374
+ > Array<IntegrationEvent> getZapierEvents(xAPIKEY, xPORTALSUBDOMAIN, eventType, pageSize)
375
+
376
+ List recent lifecycle events for Zapier trigger setup
377
+
378
+ ### Example
379
+
380
+ ```ts
381
+ import {
382
+ Configuration,
383
+ IntegrationApi,
384
+ } from '@easyedu/js-lsm-api';
385
+ import type { GetZapierEventsRequest } from '@easyedu/js-lsm-api';
386
+
387
+ async function example() {
388
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
389
+ const api = new IntegrationApi();
390
+
391
+ const body = {
392
+ // string
393
+ xAPIKEY: xAPIKEY_example,
394
+ // string
395
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
396
+ // 'com.edaxu.enrollment.enrolled.v1' | 'com.edaxu.enrollment.completed.v1' | 'com.edaxu.certificate.issued.v1'
397
+ eventType: eventType_example,
398
+ // number (optional)
399
+ pageSize: 56,
400
+ } satisfies GetZapierEventsRequest;
401
+
402
+ try {
403
+ const data = await api.getZapierEvents(body);
404
+ console.log(data);
405
+ } catch (error) {
406
+ console.error(error);
407
+ }
408
+ }
409
+
410
+ // Run the test
411
+ example().catch(console.error);
412
+ ```
413
+
414
+ ### Parameters
415
+
416
+
417
+ | Name | Type | Description | Notes |
418
+ |------------- | ------------- | ------------- | -------------|
419
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
420
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
421
+ | **eventType** | `com.edaxu.enrollment.enrolled.v1`, `com.edaxu.enrollment.completed.v1`, `com.edaxu.certificate.issued.v1` | | [Defaults to `undefined`] [Enum: com.edaxu.enrollment.enrolled.v1, com.edaxu.enrollment.completed.v1, com.edaxu.certificate.issued.v1] |
422
+ | **pageSize** | `number` | | [Optional] [Defaults to `3`] |
423
+
424
+ ### Return type
425
+
426
+ [**Array<IntegrationEvent>**](IntegrationEvent.md)
427
+
428
+ ### Authorization
429
+
430
+ No authorization required
431
+
432
+ ### HTTP request headers
433
+
434
+ - **Content-Type**: Not defined
435
+ - **Accept**: `application/json`
436
+
437
+
438
+ ### HTTP response details
439
+ | Status code | Description | Response headers |
440
+ |-------------|-------------|------------------|
441
+ | **200** | Recent matching events, newest first | - |
442
+ | **400** | Unsupported event type | - |
443
+ | **401** | Missing, invalid, or revoked API key | - |
444
+ | **403** | The API key lacks the permission required for the event type | - |
445
+
446
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
447
+
448
+
449
+ ## getZapierMe
450
+
451
+ > GetZapierMe getZapierMe(xAPIKEY, xPORTALSUBDOMAIN)
452
+
453
+ Test a Zapier API key and return its portal and enabled permissions
454
+
455
+ ### Example
456
+
457
+ ```ts
458
+ import {
459
+ Configuration,
460
+ IntegrationApi,
461
+ } from '@easyedu/js-lsm-api';
462
+ import type { GetZapierMeRequest } from '@easyedu/js-lsm-api';
463
+
464
+ async function example() {
465
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
466
+ const api = new IntegrationApi();
467
+
468
+ const body = {
469
+ // string
470
+ xAPIKEY: xAPIKEY_example,
471
+ // string
472
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
473
+ } satisfies GetZapierMeRequest;
474
+
475
+ try {
476
+ const data = await api.getZapierMe(body);
477
+ console.log(data);
478
+ } catch (error) {
479
+ console.error(error);
480
+ }
481
+ }
482
+
483
+ // Run the test
484
+ example().catch(console.error);
485
+ ```
486
+
487
+ ### Parameters
488
+
489
+
490
+ | Name | Type | Description | Notes |
491
+ |------------- | ------------- | ------------- | -------------|
492
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
493
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
494
+
495
+ ### Return type
496
+
497
+ [**GetZapierMe**](GetZapierMe.md)
498
+
499
+ ### Authorization
500
+
501
+ No authorization required
502
+
503
+ ### HTTP request headers
504
+
505
+ - **Content-Type**: Not defined
506
+ - **Accept**: `application/json`
507
+
508
+
509
+ ### HTTP response details
510
+ | Status code | Description | Response headers |
511
+ |-------------|-------------|------------------|
512
+ | **200** | Connected Zapier account details | - |
513
+ | **401** | Missing, invalid, or revoked API key | - |
514
+ | **403** | API key does not belong to the supplied portal subdomain | - |
515
+
516
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
517
+
518
+
519
+ ## getZapierSetup
520
+
521
+ > GetZapierSetup getZapierSetup()
522
+
523
+ List Zapier connections and permissions available to the selected portal
524
+
525
+ ### Example
526
+
527
+ ```ts
528
+ import {
529
+ Configuration,
530
+ IntegrationApi,
531
+ } from '@easyedu/js-lsm-api';
532
+ import type { GetZapierSetupRequest } from '@easyedu/js-lsm-api';
533
+
534
+ async function example() {
535
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
536
+ const api = new IntegrationApi();
537
+
538
+ try {
539
+ const data = await api.getZapierSetup();
540
+ console.log(data);
541
+ } catch (error) {
542
+ console.error(error);
543
+ }
544
+ }
545
+
546
+ // Run the test
547
+ example().catch(console.error);
548
+ ```
549
+
550
+ ### Parameters
551
+
552
+ This endpoint does not need any parameter.
553
+
554
+ ### Return type
555
+
556
+ [**GetZapierSetup**](GetZapierSetup.md)
557
+
558
+ ### Authorization
559
+
560
+ No authorization required
561
+
562
+ ### HTTP request headers
563
+
564
+ - **Content-Type**: Not defined
565
+ - **Accept**: `application/json`
566
+
567
+
568
+ ### HTTP response details
569
+ | Status code | Description | Response headers |
570
+ |-------------|-------------|------------------|
571
+ | **200** | Zapier setup details | - |
572
+ | **403** | Forbidden | - |
573
+
574
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
575
+
576
+
577
+ ## getZapierShopifyCourseMappings
578
+
579
+ > GetZapierShopifyCourseMappings getZapierShopifyCourseMappings(xAPIKEY, xPORTALSUBDOMAIN, shopDomain)
580
+
581
+ List Shopify variant-to-course mappings
582
+
583
+ ### Example
584
+
585
+ ```ts
586
+ import {
587
+ Configuration,
588
+ IntegrationApi,
589
+ } from '@easyedu/js-lsm-api';
590
+ import type { GetZapierShopifyCourseMappingsRequest } from '@easyedu/js-lsm-api';
591
+
592
+ async function example() {
593
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
594
+ const api = new IntegrationApi();
595
+
596
+ const body = {
597
+ // string
598
+ xAPIKEY: xAPIKEY_example,
599
+ // string
600
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
601
+ // string (optional)
602
+ shopDomain: shopDomain_example,
603
+ } satisfies GetZapierShopifyCourseMappingsRequest;
604
+
605
+ try {
606
+ const data = await api.getZapierShopifyCourseMappings(body);
607
+ console.log(data);
608
+ } catch (error) {
609
+ console.error(error);
610
+ }
611
+ }
612
+
613
+ // Run the test
614
+ example().catch(console.error);
615
+ ```
616
+
617
+ ### Parameters
618
+
619
+
620
+ | Name | Type | Description | Notes |
621
+ |------------- | ------------- | ------------- | -------------|
622
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
623
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
624
+ | **shopDomain** | `string` | | [Optional] [Defaults to `undefined`] |
625
+
626
+ ### Return type
627
+
628
+ [**GetZapierShopifyCourseMappings**](GetZapierShopifyCourseMappings.md)
629
+
630
+ ### Authorization
631
+
632
+ No authorization required
633
+
634
+ ### HTTP request headers
635
+
636
+ - **Content-Type**: Not defined
637
+ - **Accept**: `application/json`
638
+
639
+
640
+ ### HTTP response details
641
+ | Status code | Description | Response headers |
642
+ |-------------|-------------|------------------|
643
+ | **200** | Shopify course mappings for the connected portal | - |
644
+ | **401** | Missing, invalid, or revoked API key | - |
645
+ | **403** | The API key does not have course:list | - |
646
+
647
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
648
+
649
+
650
+ ## getZapierUsers
651
+
652
+ > GetZapierUsers getZapierUsers(xAPIKEY, xPORTALSUBDOMAIN, email)
653
+
654
+ Find a learner by exact email address
655
+
656
+ ### Example
657
+
658
+ ```ts
659
+ import {
660
+ Configuration,
661
+ IntegrationApi,
662
+ } from '@easyedu/js-lsm-api';
663
+ import type { GetZapierUsersRequest } from '@easyedu/js-lsm-api';
664
+
665
+ async function example() {
666
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
667
+ const api = new IntegrationApi();
668
+
669
+ const body = {
670
+ // string
671
+ xAPIKEY: xAPIKEY_example,
672
+ // string
673
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
674
+ // string
675
+ email: email_example,
676
+ } satisfies GetZapierUsersRequest;
677
+
678
+ try {
679
+ const data = await api.getZapierUsers(body);
680
+ console.log(data);
681
+ } catch (error) {
682
+ console.error(error);
683
+ }
684
+ }
685
+
686
+ // Run the test
687
+ example().catch(console.error);
688
+ ```
689
+
690
+ ### Parameters
691
+
692
+
693
+ | Name | Type | Description | Notes |
694
+ |------------- | ------------- | ------------- | -------------|
695
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
696
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
697
+ | **email** | `string` | | [Defaults to `undefined`] |
698
+
699
+ ### Return type
700
+
701
+ [**GetZapierUsers**](GetZapierUsers.md)
702
+
703
+ ### Authorization
704
+
705
+ No authorization required
706
+
707
+ ### HTTP request headers
708
+
709
+ - **Content-Type**: Not defined
710
+ - **Accept**: `application/json`
711
+
712
+
713
+ ### HTTP response details
714
+ | Status code | Description | Response headers |
715
+ |-------------|-------------|------------------|
716
+ | **200** | Zero or one exact learner match | - |
717
+ | **401** | Missing, invalid, or revoked API key | - |
718
+ | **403** | The API key does not have user:read_any | - |
719
+
720
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
721
+
722
+
723
+ ## postCustomWebhookIntegration
724
+
725
+ > CustomWebhookIntegration postCustomWebhookIntegration(postCustomWebhookIntegration)
726
+
727
+ Create a custom webhook destination for lifecycle events
728
+
729
+ ### Example
730
+
731
+ ```ts
732
+ import {
733
+ Configuration,
734
+ IntegrationApi,
735
+ } from '@easyedu/js-lsm-api';
736
+ import type { PostCustomWebhookIntegrationRequest } from '@easyedu/js-lsm-api';
737
+
738
+ async function example() {
739
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
740
+ const api = new IntegrationApi();
741
+
742
+ const body = {
743
+ // PostCustomWebhookIntegration
744
+ postCustomWebhookIntegration: ...,
745
+ } satisfies PostCustomWebhookIntegrationRequest;
746
+
747
+ try {
748
+ const data = await api.postCustomWebhookIntegration(body);
749
+ console.log(data);
750
+ } catch (error) {
751
+ console.error(error);
752
+ }
753
+ }
754
+
755
+ // Run the test
756
+ example().catch(console.error);
757
+ ```
758
+
759
+ ### Parameters
760
+
761
+
762
+ | Name | Type | Description | Notes |
763
+ |------------- | ------------- | ------------- | -------------|
764
+ | **postCustomWebhookIntegration** | [PostCustomWebhookIntegration](PostCustomWebhookIntegration.md) | | |
765
+
766
+ ### Return type
767
+
768
+ [**CustomWebhookIntegration**](CustomWebhookIntegration.md)
769
+
770
+ ### Authorization
771
+
772
+ No authorization required
773
+
774
+ ### HTTP request headers
775
+
776
+ - **Content-Type**: `application/json`
777
+ - **Accept**: `application/json`
778
+
779
+
780
+ ### HTTP response details
781
+ | Status code | Description | Response headers |
782
+ |-------------|-------------|------------------|
783
+ | **201** | Custom webhook destination created | - |
784
+ | **400** | Invalid destination, token, or event selection | - |
785
+ | **403** | Forbidden | - |
786
+
787
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
788
+
789
+
790
+ ## postZapierEnrollment
791
+
792
+ > ZapierEnrollment postZapierEnrollment(xAPIKEY, xPORTALSUBDOMAIN, postZapierEnrollment)
793
+
794
+ Enroll an existing learner in a course
795
+
796
+ ### Example
797
+
798
+ ```ts
799
+ import {
800
+ Configuration,
801
+ IntegrationApi,
802
+ } from '@easyedu/js-lsm-api';
803
+ import type { PostZapierEnrollmentRequest } from '@easyedu/js-lsm-api';
804
+
805
+ async function example() {
806
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
807
+ const api = new IntegrationApi();
808
+
809
+ const body = {
810
+ // string
811
+ xAPIKEY: xAPIKEY_example,
812
+ // string
813
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
814
+ // PostZapierEnrollment
815
+ postZapierEnrollment: ...,
816
+ } satisfies PostZapierEnrollmentRequest;
817
+
818
+ try {
819
+ const data = await api.postZapierEnrollment(body);
820
+ console.log(data);
821
+ } catch (error) {
822
+ console.error(error);
823
+ }
824
+ }
825
+
826
+ // Run the test
827
+ example().catch(console.error);
828
+ ```
829
+
830
+ ### Parameters
831
+
832
+
833
+ | Name | Type | Description | Notes |
834
+ |------------- | ------------- | ------------- | -------------|
835
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
836
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
837
+ | **postZapierEnrollment** | [PostZapierEnrollment](PostZapierEnrollment.md) | | |
838
+
839
+ ### Return type
840
+
841
+ [**ZapierEnrollment**](ZapierEnrollment.md)
842
+
843
+ ### Authorization
844
+
845
+ No authorization required
846
+
847
+ ### HTTP request headers
848
+
849
+ - **Content-Type**: `application/json`
850
+ - **Accept**: `application/json`
851
+
852
+
853
+ ### HTTP response details
854
+ | Status code | Description | Response headers |
855
+ |-------------|-------------|------------------|
856
+ | **200** | Existing idempotent enrollment result returned | - |
857
+ | **201** | Learner enrolled | - |
858
+ | **400** | Invalid enrollment input | - |
859
+ | **401** | Missing, invalid, or revoked API key | - |
860
+ | **403** | The API key does not have enrollment:create | - |
861
+ | **404** | Course or learner not found in the connected portal | - |
862
+ | **409** | Enrollment conflicts with the current course or portal state | - |
863
+
864
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
865
+
866
+
867
+ ## postZapierSetup
868
+
869
+ > PostZapierSetupResponse postZapierSetup(postZapierSetup)
870
+
871
+ Create a Zapier connection and API key for the selected portal
872
+
873
+ ### Example
874
+
875
+ ```ts
876
+ import {
877
+ Configuration,
878
+ IntegrationApi,
879
+ } from '@easyedu/js-lsm-api';
880
+ import type { PostZapierSetupRequest } from '@easyedu/js-lsm-api';
881
+
882
+ async function example() {
883
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
884
+ const api = new IntegrationApi();
885
+
886
+ const body = {
887
+ // PostZapierSetup
888
+ postZapierSetup: ...,
889
+ } satisfies PostZapierSetupRequest;
890
+
891
+ try {
892
+ const data = await api.postZapierSetup(body);
893
+ console.log(data);
894
+ } catch (error) {
895
+ console.error(error);
896
+ }
897
+ }
898
+
899
+ // Run the test
900
+ example().catch(console.error);
901
+ ```
902
+
903
+ ### Parameters
904
+
905
+
906
+ | Name | Type | Description | Notes |
907
+ |------------- | ------------- | ------------- | -------------|
908
+ | **postZapierSetup** | [PostZapierSetup](PostZapierSetup.md) | | |
909
+
910
+ ### Return type
911
+
912
+ [**PostZapierSetupResponse**](PostZapierSetupResponse.md)
913
+
914
+ ### Authorization
915
+
916
+ No authorization required
917
+
918
+ ### HTTP request headers
919
+
920
+ - **Content-Type**: `application/json`
921
+ - **Accept**: `application/json`
922
+
923
+
924
+ ### HTTP response details
925
+ | Status code | Description | Response headers |
926
+ |-------------|-------------|------------------|
927
+ | **201** | Zapier connection created; the API key is returned only once | - |
928
+ | **400** | Invalid name or permission selection | - |
929
+ | **403** | Forbidden | - |
930
+
931
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
932
+
933
+
934
+ ## postZapierShopifyCourseMapping
935
+
936
+ > ZapierShopifyCourseMapping postZapierShopifyCourseMapping(xAPIKEY, xPORTALSUBDOMAIN, postZapierShopifyCourseMapping)
937
+
938
+ Create or update a Shopify variant-to-course mapping
939
+
940
+ ### Example
941
+
942
+ ```ts
943
+ import {
944
+ Configuration,
945
+ IntegrationApi,
946
+ } from '@easyedu/js-lsm-api';
947
+ import type { PostZapierShopifyCourseMappingRequest } from '@easyedu/js-lsm-api';
948
+
949
+ async function example() {
950
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
951
+ const api = new IntegrationApi();
952
+
953
+ const body = {
954
+ // string
955
+ xAPIKEY: xAPIKEY_example,
956
+ // string
957
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
958
+ // PostZapierShopifyCourseMapping
959
+ postZapierShopifyCourseMapping: ...,
960
+ } satisfies PostZapierShopifyCourseMappingRequest;
961
+
962
+ try {
963
+ const data = await api.postZapierShopifyCourseMapping(body);
964
+ console.log(data);
965
+ } catch (error) {
966
+ console.error(error);
967
+ }
968
+ }
969
+
970
+ // Run the test
971
+ example().catch(console.error);
972
+ ```
973
+
974
+ ### Parameters
975
+
976
+
977
+ | Name | Type | Description | Notes |
978
+ |------------- | ------------- | ------------- | -------------|
979
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
980
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
981
+ | **postZapierShopifyCourseMapping** | [PostZapierShopifyCourseMapping](PostZapierShopifyCourseMapping.md) | | |
982
+
983
+ ### Return type
984
+
985
+ [**ZapierShopifyCourseMapping**](ZapierShopifyCourseMapping.md)
986
+
987
+ ### Authorization
988
+
989
+ No authorization required
990
+
991
+ ### HTTP request headers
992
+
993
+ - **Content-Type**: `application/json`
994
+ - **Accept**: `application/json`
995
+
996
+
997
+ ### HTTP response details
998
+ | Status code | Description | Response headers |
999
+ |-------------|-------------|------------------|
1000
+ | **200** | Mapping created or updated | - |
1001
+ | **400** | Invalid Shopify mapping | - |
1002
+ | **401** | Missing, invalid, or revoked API key | - |
1003
+ | **403** | The API key lacks a required permission | - |
1004
+ | **404** | Course not found in the connected portal | - |
1005
+
1006
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1007
+
1008
+
1009
+ ## postZapierShopifyEnrollment
1010
+
1011
+ > PostZapierShopifyEnrollmentResponse postZapierShopifyEnrollment(xAPIKEY, xPORTALSUBDOMAIN, postZapierShopifyEnrollment)
1012
+
1013
+ Find or invite a Shopify customer and enroll them using the purchased variant mapping
1014
+
1015
+ ### Example
1016
+
1017
+ ```ts
1018
+ import {
1019
+ Configuration,
1020
+ IntegrationApi,
1021
+ } from '@easyedu/js-lsm-api';
1022
+ import type { PostZapierShopifyEnrollmentRequest } from '@easyedu/js-lsm-api';
1023
+
1024
+ async function example() {
1025
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1026
+ const api = new IntegrationApi();
1027
+
1028
+ const body = {
1029
+ // string
1030
+ xAPIKEY: xAPIKEY_example,
1031
+ // string
1032
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
1033
+ // PostZapierShopifyEnrollment
1034
+ postZapierShopifyEnrollment: ...,
1035
+ } satisfies PostZapierShopifyEnrollmentRequest;
1036
+
1037
+ try {
1038
+ const data = await api.postZapierShopifyEnrollment(body);
1039
+ console.log(data);
1040
+ } catch (error) {
1041
+ console.error(error);
1042
+ }
1043
+ }
1044
+
1045
+ // Run the test
1046
+ example().catch(console.error);
1047
+ ```
1048
+
1049
+ ### Parameters
1050
+
1051
+
1052
+ | Name | Type | Description | Notes |
1053
+ |------------- | ------------- | ------------- | -------------|
1054
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
1055
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
1056
+ | **postZapierShopifyEnrollment** | [PostZapierShopifyEnrollment](PostZapierShopifyEnrollment.md) | | |
1057
+
1058
+ ### Return type
1059
+
1060
+ [**PostZapierShopifyEnrollmentResponse**](PostZapierShopifyEnrollmentResponse.md)
1061
+
1062
+ ### Authorization
1063
+
1064
+ No authorization required
1065
+
1066
+ ### HTTP request headers
1067
+
1068
+ - **Content-Type**: `application/json`
1069
+ - **Accept**: `application/json`
1070
+
1071
+
1072
+ ### HTTP response details
1073
+ | Status code | Description | Response headers |
1074
+ |-------------|-------------|------------------|
1075
+ | **200** | Existing idempotent Shopify enrollment result returned | - |
1076
+ | **201** | Shopify customer enrolled | - |
1077
+ | **400** | Invalid Shopify order data | - |
1078
+ | **401** | Missing, invalid, or revoked API key | - |
1079
+ | **403** | The API key lacks a required permission | - |
1080
+ | **404** | Shopify variant mapping or course not found | - |
1081
+ | **409** | Enrollment conflicts with the current course or portal state | - |
1082
+
1083
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1084
+
1085
+
1086
+ ## postZapierSubscription
1087
+
1088
+ > ZapierSubscription postZapierSubscription(xAPIKEY, xPORTALSUBDOMAIN, postZapierSubscription)
1089
+
1090
+ Subscribe a Zap to an Edaxu lifecycle event
1091
+
1092
+ ### Example
1093
+
1094
+ ```ts
1095
+ import {
1096
+ Configuration,
1097
+ IntegrationApi,
1098
+ } from '@easyedu/js-lsm-api';
1099
+ import type { PostZapierSubscriptionRequest } from '@easyedu/js-lsm-api';
1100
+
1101
+ async function example() {
1102
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1103
+ const api = new IntegrationApi();
1104
+
1105
+ const body = {
1106
+ // string
1107
+ xAPIKEY: xAPIKEY_example,
1108
+ // string
1109
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
1110
+ // PostZapierSubscription
1111
+ postZapierSubscription: ...,
1112
+ } satisfies PostZapierSubscriptionRequest;
1113
+
1114
+ try {
1115
+ const data = await api.postZapierSubscription(body);
1116
+ console.log(data);
1117
+ } catch (error) {
1118
+ console.error(error);
1119
+ }
1120
+ }
1121
+
1122
+ // Run the test
1123
+ example().catch(console.error);
1124
+ ```
1125
+
1126
+ ### Parameters
1127
+
1128
+
1129
+ | Name | Type | Description | Notes |
1130
+ |------------- | ------------- | ------------- | -------------|
1131
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
1132
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
1133
+ | **postZapierSubscription** | [PostZapierSubscription](PostZapierSubscription.md) | | |
1134
+
1135
+ ### Return type
1136
+
1137
+ [**ZapierSubscription**](ZapierSubscription.md)
1138
+
1139
+ ### Authorization
1140
+
1141
+ No authorization required
1142
+
1143
+ ### HTTP request headers
1144
+
1145
+ - **Content-Type**: `application/json`
1146
+ - **Accept**: `application/json`
1147
+
1148
+
1149
+ ### HTTP response details
1150
+ | Status code | Description | Response headers |
1151
+ |-------------|-------------|------------------|
1152
+ | **200** | Existing matching subscription returned | - |
1153
+ | **201** | Zapier event subscription created | - |
1154
+ | **400** | Unsupported event type or target URL | - |
1155
+ | **401** | Missing, invalid, or revoked API key | - |
1156
+ | **403** | The API key lacks the permission required for the event type | - |
1157
+
1158
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1159
+
1160
+
1161
+ ## postZapierUser
1162
+
1163
+ > ZapierUser postZapierUser(xAPIKEY, xPORTALSUBDOMAIN, postZapierUser)
1164
+
1165
+ Find or invite a learner to the connected portal
1166
+
1167
+ ### Example
1168
+
1169
+ ```ts
1170
+ import {
1171
+ Configuration,
1172
+ IntegrationApi,
1173
+ } from '@easyedu/js-lsm-api';
1174
+ import type { PostZapierUserRequest } from '@easyedu/js-lsm-api';
1175
+
1176
+ async function example() {
1177
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1178
+ const api = new IntegrationApi();
1179
+
1180
+ const body = {
1181
+ // string
1182
+ xAPIKEY: xAPIKEY_example,
1183
+ // string
1184
+ xPORTALSUBDOMAIN: xPORTALSUBDOMAIN_example,
1185
+ // PostZapierUser
1186
+ postZapierUser: ...,
1187
+ } satisfies PostZapierUserRequest;
1188
+
1189
+ try {
1190
+ const data = await api.postZapierUser(body);
1191
+ console.log(data);
1192
+ } catch (error) {
1193
+ console.error(error);
1194
+ }
1195
+ }
1196
+
1197
+ // Run the test
1198
+ example().catch(console.error);
1199
+ ```
1200
+
1201
+ ### Parameters
1202
+
1203
+
1204
+ | Name | Type | Description | Notes |
1205
+ |------------- | ------------- | ------------- | -------------|
1206
+ | **xAPIKEY** | `string` | | [Defaults to `undefined`] |
1207
+ | **xPORTALSUBDOMAIN** | `string` | | [Defaults to `undefined`] |
1208
+ | **postZapierUser** | [PostZapierUser](PostZapierUser.md) | | |
1209
+
1210
+ ### Return type
1211
+
1212
+ [**ZapierUser**](ZapierUser.md)
1213
+
1214
+ ### Authorization
1215
+
1216
+ No authorization required
1217
+
1218
+ ### HTTP request headers
1219
+
1220
+ - **Content-Type**: `application/json`
1221
+ - **Accept**: `application/json`
1222
+
1223
+
1224
+ ### HTTP response details
1225
+ | Status code | Description | Response headers |
1226
+ |-------------|-------------|------------------|
1227
+ | **200** | Existing learner returned | - |
1228
+ | **201** | Learner created and invitation queued | - |
1229
+ | **401** | Missing, invalid, or revoked API key | - |
1230
+ | **403** | The API key does not have portal:invite_user | - |
1231
+ | **409** | Email belongs to another portal in the hosted organization | - |
1232
+
1233
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1234
+
1235
+
1236
+ ## putCustomWebhookIntegration
1237
+
1238
+ > CustomWebhookIntegration putCustomWebhookIntegration(webhookIntegrationId, putCustomWebhookIntegration)
1239
+
1240
+ Update a custom webhook destination
1241
+
1242
+ ### Example
1243
+
1244
+ ```ts
1245
+ import {
1246
+ Configuration,
1247
+ IntegrationApi,
1248
+ } from '@easyedu/js-lsm-api';
1249
+ import type { PutCustomWebhookIntegrationRequest } from '@easyedu/js-lsm-api';
1250
+
1251
+ async function example() {
1252
+ console.log("🚀 Testing @easyedu/js-lsm-api SDK...");
1253
+ const api = new IntegrationApi();
1254
+
1255
+ const body = {
1256
+ // string
1257
+ webhookIntegrationId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
1258
+ // PutCustomWebhookIntegration
1259
+ putCustomWebhookIntegration: ...,
1260
+ } satisfies PutCustomWebhookIntegrationRequest;
1261
+
1262
+ try {
1263
+ const data = await api.putCustomWebhookIntegration(body);
1264
+ console.log(data);
1265
+ } catch (error) {
1266
+ console.error(error);
1267
+ }
1268
+ }
1269
+
1270
+ // Run the test
1271
+ example().catch(console.error);
1272
+ ```
1273
+
1274
+ ### Parameters
1275
+
1276
+
1277
+ | Name | Type | Description | Notes |
1278
+ |------------- | ------------- | ------------- | -------------|
1279
+ | **webhookIntegrationId** | `string` | | [Defaults to `undefined`] |
1280
+ | **putCustomWebhookIntegration** | [PutCustomWebhookIntegration](PutCustomWebhookIntegration.md) | | |
1281
+
1282
+ ### Return type
1283
+
1284
+ [**CustomWebhookIntegration**](CustomWebhookIntegration.md)
1285
+
1286
+ ### Authorization
1287
+
1288
+ No authorization required
1289
+
1290
+ ### HTTP request headers
1291
+
1292
+ - **Content-Type**: `application/json`
1293
+ - **Accept**: `application/json`
1294
+
1295
+
1296
+ ### HTTP response details
1297
+ | Status code | Description | Response headers |
1298
+ |-------------|-------------|------------------|
1299
+ | **200** | Custom webhook destination updated | - |
1300
+ | **400** | Invalid destination, token, event selection, or empty update | - |
272
1301
  | **403** | Forbidden | - |
1302
+ | **404** | Custom webhook destination not found | - |
273
1303
 
274
1304
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
275
1305