@agnocon/piece-bigcommerce 0.1.11

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 (157) hide show
  1. package/LICENSE.MIT-AP +24 -0
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +86 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/actions/create-a-product.d.ts +14 -0
  7. package/dist/lib/actions/create-a-product.d.ts.map +1 -0
  8. package/dist/lib/actions/create-a-product.js +80 -0
  9. package/dist/lib/actions/create-a-product.js.map +1 -0
  10. package/dist/lib/actions/create-blog-post.d.ts +16 -0
  11. package/dist/lib/actions/create-blog-post.d.ts.map +1 -0
  12. package/dist/lib/actions/create-blog-post.js +87 -0
  13. package/dist/lib/actions/create-blog-post.js.map +1 -0
  14. package/dist/lib/actions/create-customer-address.d.ts +25 -0
  15. package/dist/lib/actions/create-customer-address.d.ts.map +1 -0
  16. package/dist/lib/actions/create-customer-address.js +85 -0
  17. package/dist/lib/actions/create-customer-address.js.map +1 -0
  18. package/dist/lib/actions/create-customer.d.ts +13 -0
  19. package/dist/lib/actions/create-customer.d.ts.map +1 -0
  20. package/dist/lib/actions/create-customer.js +70 -0
  21. package/dist/lib/actions/create-customer.js.map +1 -0
  22. package/dist/lib/actions/delete-a-product.d.ts +8 -0
  23. package/dist/lib/actions/delete-a-product.d.ts.map +1 -0
  24. package/dist/lib/actions/delete-a-product.js +36 -0
  25. package/dist/lib/actions/delete-a-product.js.map +1 -0
  26. package/dist/lib/actions/find-or-create-customer.d.ts +13 -0
  27. package/dist/lib/actions/find-or-create-customer.d.ts.map +1 -0
  28. package/dist/lib/actions/find-or-create-customer.js +82 -0
  29. package/dist/lib/actions/find-or-create-customer.js.map +1 -0
  30. package/dist/lib/actions/find-or-create-customers-address.d.ts +25 -0
  31. package/dist/lib/actions/find-or-create-customers-address.d.ts.map +1 -0
  32. package/dist/lib/actions/find-or-create-customers-address.js +100 -0
  33. package/dist/lib/actions/find-or-create-customers-address.js.map +1 -0
  34. package/dist/lib/actions/find-or-create-product.d.ts +14 -0
  35. package/dist/lib/actions/find-or-create-product.d.ts.map +1 -0
  36. package/dist/lib/actions/find-or-create-product.js +84 -0
  37. package/dist/lib/actions/find-or-create-product.js.map +1 -0
  38. package/dist/lib/actions/get-order.d.ts +8 -0
  39. package/dist/lib/actions/get-order.d.ts.map +1 -0
  40. package/dist/lib/actions/get-order.js +36 -0
  41. package/dist/lib/actions/get-order.js.map +1 -0
  42. package/dist/lib/actions/list-categories.d.ts +8 -0
  43. package/dist/lib/actions/list-categories.d.ts.map +1 -0
  44. package/dist/lib/actions/list-categories.js +39 -0
  45. package/dist/lib/actions/list-categories.js.map +1 -0
  46. package/dist/lib/actions/list-orders.d.ts +9 -0
  47. package/dist/lib/actions/list-orders.d.ts.map +1 -0
  48. package/dist/lib/actions/list-orders.js +46 -0
  49. package/dist/lib/actions/list-orders.js.map +1 -0
  50. package/dist/lib/actions/search-customer-address.d.ts +17 -0
  51. package/dist/lib/actions/search-customer-address.d.ts.map +1 -0
  52. package/dist/lib/actions/search-customer-address.js +45 -0
  53. package/dist/lib/actions/search-customer-address.js.map +1 -0
  54. package/dist/lib/actions/search-customer.d.ts +10 -0
  55. package/dist/lib/actions/search-customer.d.ts.map +1 -0
  56. package/dist/lib/actions/search-customer.js +53 -0
  57. package/dist/lib/actions/search-customer.js.map +1 -0
  58. package/dist/lib/actions/search-product.d.ts +13 -0
  59. package/dist/lib/actions/search-product.d.ts.map +1 -0
  60. package/dist/lib/actions/search-product.js +77 -0
  61. package/dist/lib/actions/search-product.js.map +1 -0
  62. package/dist/lib/actions/update-a-product.d.ts +15 -0
  63. package/dist/lib/actions/update-a-product.d.ts.map +1 -0
  64. package/dist/lib/actions/update-a-product.js +81 -0
  65. package/dist/lib/actions/update-a-product.js.map +1 -0
  66. package/dist/lib/common/auth.d.ts +6 -0
  67. package/dist/lib/common/auth.d.ts.map +1 -0
  68. package/dist/lib/common/auth.js +50 -0
  69. package/dist/lib/common/auth.js.map +1 -0
  70. package/dist/lib/common/constants.d.ts +11 -0
  71. package/dist/lib/common/constants.d.ts.map +1 -0
  72. package/dist/lib/common/constants.js +14 -0
  73. package/dist/lib/common/constants.js.map +1 -0
  74. package/dist/lib/common/props.d.ts +23 -0
  75. package/dist/lib/common/props.d.ts.map +1 -0
  76. package/dist/lib/common/props.js +85 -0
  77. package/dist/lib/common/props.js.map +1 -0
  78. package/dist/lib/common/requests.d.ts +65 -0
  79. package/dist/lib/common/requests.d.ts.map +1 -0
  80. package/dist/lib/common/requests.js +179 -0
  81. package/dist/lib/common/requests.js.map +1 -0
  82. package/dist/lib/triggers/abandoned-cart.d.ts +19 -0
  83. package/dist/lib/triggers/abandoned-cart.d.ts.map +1 -0
  84. package/dist/lib/triggers/abandoned-cart.js +66 -0
  85. package/dist/lib/triggers/abandoned-cart.js.map +1 -0
  86. package/dist/lib/triggers/cart-created.d.ts +19 -0
  87. package/dist/lib/triggers/cart-created.d.ts.map +1 -0
  88. package/dist/lib/triggers/cart-created.js +68 -0
  89. package/dist/lib/triggers/cart-created.js.map +1 -0
  90. package/dist/lib/triggers/customer-address-created.d.ts +19 -0
  91. package/dist/lib/triggers/customer-address-created.d.ts.map +1 -0
  92. package/dist/lib/triggers/customer-address-created.js +68 -0
  93. package/dist/lib/triggers/customer-address-created.js.map +1 -0
  94. package/dist/lib/triggers/customer-address-updated.d.ts +19 -0
  95. package/dist/lib/triggers/customer-address-updated.d.ts.map +1 -0
  96. package/dist/lib/triggers/customer-address-updated.js +68 -0
  97. package/dist/lib/triggers/customer-address-updated.js.map +1 -0
  98. package/dist/lib/triggers/customer-created.d.ts +19 -0
  99. package/dist/lib/triggers/customer-created.d.ts.map +1 -0
  100. package/dist/lib/triggers/customer-created.js +70 -0
  101. package/dist/lib/triggers/customer-created.js.map +1 -0
  102. package/dist/lib/triggers/customer-updated.d.ts +19 -0
  103. package/dist/lib/triggers/customer-updated.d.ts.map +1 -0
  104. package/dist/lib/triggers/customer-updated.js +68 -0
  105. package/dist/lib/triggers/customer-updated.js.map +1 -0
  106. package/dist/lib/triggers/order-created.d.ts +19 -0
  107. package/dist/lib/triggers/order-created.d.ts.map +1 -0
  108. package/dist/lib/triggers/order-created.js +68 -0
  109. package/dist/lib/triggers/order-created.js.map +1 -0
  110. package/dist/lib/triggers/order-status-updated.d.ts +19 -0
  111. package/dist/lib/triggers/order-status-updated.d.ts.map +1 -0
  112. package/dist/lib/triggers/order-status-updated.js +68 -0
  113. package/dist/lib/triggers/order-status-updated.js.map +1 -0
  114. package/dist/lib/triggers/order-updated.d.ts +19 -0
  115. package/dist/lib/triggers/order-updated.d.ts.map +1 -0
  116. package/dist/lib/triggers/order-updated.js +68 -0
  117. package/dist/lib/triggers/order-updated.js.map +1 -0
  118. package/dist/lib/triggers/product-created.d.ts +19 -0
  119. package/dist/lib/triggers/product-created.d.ts.map +1 -0
  120. package/dist/lib/triggers/product-created.js +68 -0
  121. package/dist/lib/triggers/product-created.js.map +1 -0
  122. package/dist/lib/triggers/shipment-created.d.ts +19 -0
  123. package/dist/lib/triggers/shipment-created.d.ts.map +1 -0
  124. package/dist/lib/triggers/shipment-created.js +68 -0
  125. package/dist/lib/triggers/shipment-created.js.map +1 -0
  126. package/package.json +46 -0
  127. package/src/index.ts +81 -0
  128. package/src/lib/actions/create-a-product.ts +73 -0
  129. package/src/lib/actions/create-blog-post.ts +82 -0
  130. package/src/lib/actions/create-customer-address.ts +78 -0
  131. package/src/lib/actions/create-customer.ts +63 -0
  132. package/src/lib/actions/delete-a-product.ts +29 -0
  133. package/src/lib/actions/find-or-create-customer.ts +81 -0
  134. package/src/lib/actions/find-or-create-customers-address.ts +101 -0
  135. package/src/lib/actions/find-or-create-product.ts +81 -0
  136. package/src/lib/actions/get-order.ts +29 -0
  137. package/src/lib/actions/list-categories.ts +31 -0
  138. package/src/lib/actions/list-orders.ts +38 -0
  139. package/src/lib/actions/search-customer-address.ts +42 -0
  140. package/src/lib/actions/search-customer.ts +47 -0
  141. package/src/lib/actions/search-product.ts +69 -0
  142. package/src/lib/actions/update-a-product.ts +78 -0
  143. package/src/lib/common/auth.ts +44 -0
  144. package/src/lib/common/constants.ts +15 -0
  145. package/src/lib/common/props.ts +90 -0
  146. package/src/lib/common/requests.ts +252 -0
  147. package/src/lib/triggers/abandoned-cart.ts +58 -0
  148. package/src/lib/triggers/cart-created.ts +60 -0
  149. package/src/lib/triggers/customer-address-created.ts +60 -0
  150. package/src/lib/triggers/customer-address-updated.ts +60 -0
  151. package/src/lib/triggers/customer-created.ts +62 -0
  152. package/src/lib/triggers/customer-updated.ts +60 -0
  153. package/src/lib/triggers/order-created.ts +60 -0
  154. package/src/lib/triggers/order-status-updated.ts +60 -0
  155. package/src/lib/triggers/order-updated.ts +60 -0
  156. package/src/lib/triggers/product-created.ts +60 -0
  157. package/src/lib/triggers/shipment-created.ts +61 -0
@@ -0,0 +1,60 @@
1
+ import { createTrigger, TriggerStrategy } from '@agnocon/pieces-framework';
2
+ import { bigcommerceAuth } from '../common/auth';
3
+ import { bigCommerceApiService } from '../common/requests';
4
+
5
+ const TRIGGER_NAME = 'order status updated';
6
+ const CACHE_KEY = `${TRIGGER_NAME}-trigger-store-key`;
7
+ const TRIGGER_SCOPE = 'store/order/statusUpdated';
8
+
9
+ export const orderStatusUpdated = createTrigger({
10
+ auth: bigcommerceAuth,
11
+ name: 'orderStatusUpdated',
12
+ displayName: 'Order Status Updated',
13
+ description: 'Triggers when an order status has changed',
14
+ aiMetadata: {
15
+ description:
16
+ 'Fires specifically when an order’s status changes in the BigCommerce store (e.g. moves to shipped or completed). Use this instead of Order Updated when you only care about status transitions. The event identifies the affected order.',
17
+ },
18
+ props: {},
19
+ sampleData: {
20
+ producer: 'stores/xqcaklwsso',
21
+ hash: 'd7b899890f5e0e98a3e074f018b14b07d5d89360',
22
+ created_at: 1761808595,
23
+ store_id: '1003425529',
24
+ scope: 'store/order/statusUpdated',
25
+ data: {
26
+ type: 'order',
27
+ id: 2,
28
+ },
29
+ },
30
+ type: TriggerStrategy.WEBHOOK,
31
+ async onEnable(context) {
32
+ const webhook = await bigCommerceApiService.createWebhook({
33
+ auth: context.auth.props,
34
+ payload: {
35
+ scope: TRIGGER_SCOPE,
36
+ destination: context.webhookUrl,
37
+ is_active: true,
38
+ },
39
+ });
40
+
41
+ await context.store.put(CACHE_KEY, webhook.data.id);
42
+ },
43
+ async onDisable(context) {
44
+ const webhookId = (await context.store.get(CACHE_KEY)) as string;
45
+
46
+ if (webhookId) {
47
+ await bigCommerceApiService
48
+ .deleteWebhook({
49
+ auth: context.auth.props,
50
+ webhookId,
51
+ })
52
+ .then(async () => {
53
+ await context.store.delete(CACHE_KEY);
54
+ });
55
+ }
56
+ },
57
+ async run(context) {
58
+ return [context.payload.body];
59
+ },
60
+ });
@@ -0,0 +1,60 @@
1
+ import { createTrigger, TriggerStrategy } from '@agnocon/pieces-framework';
2
+ import { bigcommerceAuth } from '../common/auth';
3
+ import { bigCommerceApiService } from '../common/requests';
4
+
5
+ const TRIGGER_NAME = 'order updated';
6
+ const CACHE_KEY = `${TRIGGER_NAME}-trigger-store-key`;
7
+ const TRIGGER_SCOPE = 'store/order/updated';
8
+
9
+ export const orderUpdated = createTrigger({
10
+ auth: bigcommerceAuth,
11
+ name: 'orderUpdated',
12
+ displayName: 'Order Updated',
13
+ description: 'Triggers when an order is updated',
14
+ aiMetadata: {
15
+ description:
16
+ 'Fires when an existing order is updated in the BigCommerce store (any change to the order, not just its status). The event identifies the affected order; pair with Get Order for full details.',
17
+ },
18
+ props: {},
19
+ sampleData: {
20
+ producer: 'stores/xqcaklwsso',
21
+ hash: 'd7b899890f5e0e98a3e074f018b14b07d5d89360',
22
+ created_at: 1761808595,
23
+ store_id: '1003425529',
24
+ scope: 'store/order/updated',
25
+ data: {
26
+ type: 'order',
27
+ id: 2,
28
+ },
29
+ },
30
+ type: TriggerStrategy.WEBHOOK,
31
+ async onEnable(context) {
32
+ const webhook = await bigCommerceApiService.createWebhook({
33
+ auth: context.auth.props,
34
+ payload: {
35
+ scope: TRIGGER_SCOPE,
36
+ destination: context.webhookUrl,
37
+ is_active: true,
38
+ },
39
+ });
40
+
41
+ await context.store.put(CACHE_KEY, webhook.data.id);
42
+ },
43
+ async onDisable(context) {
44
+ const webhookId = (await context.store.get(CACHE_KEY)) as string;
45
+
46
+ if (webhookId) {
47
+ await bigCommerceApiService
48
+ .deleteWebhook({
49
+ auth: context.auth.props,
50
+ webhookId,
51
+ })
52
+ .then(async () => {
53
+ await context.store.delete(CACHE_KEY);
54
+ });
55
+ }
56
+ },
57
+ async run(context) {
58
+ return [context.payload.body];
59
+ },
60
+ });
@@ -0,0 +1,60 @@
1
+ import { createTrigger, TriggerStrategy } from '@agnocon/pieces-framework';
2
+ import { bigcommerceAuth } from '../common/auth';
3
+ import { bigCommerceApiService } from '../common/requests';
4
+
5
+ const TRIGGER_NAME = 'product created';
6
+ const CACHE_KEY = `${TRIGGER_NAME}-trigger-store-key`;
7
+ const TRIGGER_SCOPE = 'store/product/created';
8
+
9
+ export const productCreated = createTrigger({
10
+ auth: bigcommerceAuth,
11
+ name: 'productCreated',
12
+ displayName: 'Product Created',
13
+ description: 'Triggers when a new product is created',
14
+ aiMetadata: {
15
+ description:
16
+ 'Fires when a new product is added to the BigCommerce store catalog. The event identifies the new product.',
17
+ },
18
+ props: {},
19
+ sampleData: {
20
+ producer: 'stores/xqcaklwsso',
21
+ hash: 'c6db17090e98d2c58c0cb1988b5e9ace48215e22',
22
+ created_at: 1761808831,
23
+ store_id: '1003425529',
24
+ scope: 'store/product/created',
25
+ data: {
26
+ type: 'product',
27
+ id: 113,
28
+ },
29
+ },
30
+ type: TriggerStrategy.WEBHOOK,
31
+ async onEnable(context) {
32
+ const webhook = await bigCommerceApiService.createWebhook({
33
+ auth: context.auth.props,
34
+ payload: {
35
+ scope: TRIGGER_SCOPE,
36
+ destination: context.webhookUrl,
37
+ is_active: true,
38
+ },
39
+ });
40
+
41
+ await context.store.put(CACHE_KEY, webhook.data.id);
42
+ },
43
+ async onDisable(context) {
44
+ const webhookId = (await context.store.get(CACHE_KEY)) as string;
45
+
46
+ if (webhookId) {
47
+ await bigCommerceApiService
48
+ .deleteWebhook({
49
+ auth: context.auth.props,
50
+ webhookId,
51
+ })
52
+ .then(async () => {
53
+ await context.store.delete(CACHE_KEY);
54
+ });
55
+ }
56
+ },
57
+ async run(context) {
58
+ return [context.payload.body];
59
+ },
60
+ });
@@ -0,0 +1,61 @@
1
+ import { createTrigger, TriggerStrategy } from '@agnocon/pieces-framework';
2
+ import { bigcommerceAuth } from '../common/auth';
3
+ import { bigCommerceApiService } from '../common/requests';
4
+
5
+ const TRIGGER_NAME = 'shipment created';
6
+ const CACHE_KEY = `${TRIGGER_NAME}-trigger-store-key`;
7
+ const TRIGGER_SCOPE = 'store/shipment/created';
8
+
9
+ export const shipmentCreated = createTrigger({
10
+ auth: bigcommerceAuth,
11
+ name: 'shipmentCreated',
12
+ displayName: 'Shipment Created',
13
+ description: 'Triggers when a new shipment is created',
14
+ aiMetadata: {
15
+ description:
16
+ 'Fires when a new shipment is created for an order in the BigCommerce store (items are shipped/fulfilled). The event identifies the new shipment.',
17
+ },
18
+ props: {},
19
+ sampleData:{
20
+ producer: 'stores/xqcaklwsso',
21
+ hash: 'd7b899890f5e0e98a3e074f018b14b07d5d89360',
22
+ created_at: 1761808595,
23
+ store_id: '1003425529',
24
+ scope: 'store/shipment/created',
25
+ data: {
26
+ type: 'shipment',
27
+ id: 2,
28
+
29
+ },
30
+ },
31
+ type: TriggerStrategy.WEBHOOK,
32
+ async onEnable(context) {
33
+ const webhook = await bigCommerceApiService.createWebhook({
34
+ auth: context.auth.props,
35
+ payload: {
36
+ scope: TRIGGER_SCOPE,
37
+ destination: context.webhookUrl,
38
+ is_active: true,
39
+ },
40
+ });
41
+
42
+ await context.store.put(CACHE_KEY, webhook.data.id);
43
+ },
44
+ async onDisable(context) {
45
+ const webhookId = (await context.store.get(CACHE_KEY)) as string;
46
+
47
+ if (webhookId) {
48
+ await bigCommerceApiService
49
+ .deleteWebhook({
50
+ auth: context.auth.props,
51
+ webhookId,
52
+ })
53
+ .then(async () => {
54
+ await context.store.delete(CACHE_KEY);
55
+ });
56
+ }
57
+ },
58
+ async run(context) {
59
+ return [context.payload.body];
60
+ },
61
+ });