n8n-nodes-shopify-custom 2.0.36 → 2.0.38
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.
- package/README.md +14 -0
- package/dist/credentials/ShopifyCustomAdminApi.credentials.d.ts +2 -2
- package/dist/credentials/ShopifyCustomAdminApi.credentials.js +57 -27
- package/dist/credentials/ShopifyCustomAdminApi.credentials.js.map +1 -1
- package/dist/nodes/ShopifyCustom/config/operations/index.js +2 -0
- package/dist/nodes/ShopifyCustom/config/operations/index.js.map +1 -1
- package/dist/nodes/ShopifyCustom/config/operations/product.js +11 -0
- package/dist/nodes/ShopifyCustom/config/operations/product.js.map +1 -1
- package/dist/nodes/ShopifyCustom/config/operations/taxonomy.d.ts +2 -0
- package/dist/nodes/ShopifyCustom/config/operations/taxonomy.js +134 -0
- package/dist/nodes/ShopifyCustom/config/operations/taxonomy.js.map +1 -0
- package/dist/nodes/ShopifyCustom/config/operations/types.d.ts +2 -2
- package/dist/nodes/ShopifyCustom/config/resources.d.ts +1 -1
- package/dist/nodes/ShopifyCustom/config/resources.js +5 -0
- package/dist/nodes/ShopifyCustom/config/resources.js.map +1 -1
- package/dist/nodes/ShopifyCustom/shared/graphql/client.js +36 -14
- package/dist/nodes/ShopifyCustom/shared/graphql/client.js.map +1 -1
- package/dist/nodes/ShopifyCustom/shared/graphql/registry.js +79 -0
- package/dist/nodes/ShopifyCustom/shared/graphql/registry.js.map +1 -1
- package/dist/nodes/ShopifyCustom/shared/graphql/templates/product.d.ts +4 -3
- package/dist/nodes/ShopifyCustom/shared/graphql/templates/product.js +35 -1
- package/dist/nodes/ShopifyCustom/shared/graphql/templates/product.js.map +1 -1
- package/dist/nodes/ShopifyCustom/shared/graphql/templates/taxonomy.d.ts +4 -0
- package/dist/nodes/ShopifyCustom/shared/graphql/templates/taxonomy.js +83 -0
- package/dist/nodes/ShopifyCustom/shared/graphql/templates/taxonomy.js.map +1 -0
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,6 +49,7 @@ The single node **`Shopify Custom`** includes resource-based actions:
|
|
|
49
49
|
| Draft Order | ✔ |
|
|
50
50
|
| File | ✔ |
|
|
51
51
|
| Translation | ✔ |
|
|
52
|
+
| Taxonomy | ✔ |
|
|
52
53
|
| Metaobject | ✔ |
|
|
53
54
|
| Metafield Value | ✔ |
|
|
54
55
|
| Metafield Definition | ✔ |
|
|
@@ -69,7 +70,10 @@ Most resources support:
|
|
|
69
70
|
- **Products / Product Variants:**
|
|
70
71
|
- **Get / Get Many:**
|
|
71
72
|
- Allows you to get a list of your products
|
|
73
|
+
- Returns Shopify product taxonomy category details
|
|
72
74
|
- Allows you to get product metafields and their values together with products
|
|
75
|
+
- **Set Category:**
|
|
76
|
+
- Assign a Shopify Standard Product Taxonomy category to a product
|
|
73
77
|
- **Create / Update:**
|
|
74
78
|
- **Fields supported**
|
|
75
79
|
- **For products:**
|
|
@@ -162,6 +166,14 @@ Most resources support:
|
|
|
162
166
|
- For metafields, use translation `key` = `value`
|
|
163
167
|
- Register with the same key + digest; if original metafield value changes, fetch a new digest before next register
|
|
164
168
|
|
|
169
|
+
- **Taxonomy:**
|
|
170
|
+
- **Search Categories:**
|
|
171
|
+
- Search Shopify Standard Product Taxonomy categories by text for AI-assisted product classification
|
|
172
|
+
- **Get Root Categories / Get Children / Get Descendants:**
|
|
173
|
+
- Navigate the taxonomy tree by category ID
|
|
174
|
+
- **Get Category / Get Category Attributes:**
|
|
175
|
+
- Inspect a selected category and its taxonomy attributes
|
|
176
|
+
|
|
165
177
|
- **Metaobjects:**
|
|
166
178
|
- **Get / Get Many:**
|
|
167
179
|
- Get a single metaobject or a list by type
|
|
@@ -260,6 +272,8 @@ Create credential **Shopify Custom Admin API**:
|
|
|
260
272
|
| Admin API Version | default is fine |
|
|
261
273
|
| Admin Access Token | token from Shopify |
|
|
262
274
|
|
|
275
|
+
For **Client Credentials (Dev Dashboard)**, the app and store must belong to the same Shopify organization in the Dev Dashboard. If Shopify returns `shop_not_permitted`, create or move the development store under the same Dev Dashboard organization as the app.
|
|
276
|
+
|
|
263
277
|
After saving, the node is ready to use.
|
|
264
278
|
|
|
265
279
|
---
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IAuthenticate, ICredentialTestRequest, ICredentialType, IDataObject, IHttpRequestHelper, Icon, INodeProperties } from 'n8n-workflow';
|
|
2
2
|
export declare class ShopifyCustomAdminApi implements ICredentialType {
|
|
3
3
|
name: string;
|
|
4
4
|
displayName: string;
|
|
5
5
|
icon: Icon;
|
|
6
6
|
documentationUrl: string;
|
|
7
7
|
properties: INodeProperties[];
|
|
8
|
-
authenticate:
|
|
8
|
+
authenticate: IAuthenticate;
|
|
9
9
|
preAuthentication: (this: IHttpRequestHelper, credentials: IDataObject) => Promise<IDataObject>;
|
|
10
10
|
test: ICredentialTestRequest;
|
|
11
11
|
}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ShopifyCustomAdminApi = void 0;
|
|
4
|
+
function getHttpErrorMessage(error) {
|
|
5
|
+
var _a, _b, _c;
|
|
6
|
+
if (!error || typeof error !== 'object') {
|
|
7
|
+
return String(error);
|
|
8
|
+
}
|
|
9
|
+
const typedError = error;
|
|
10
|
+
const response = typedError.response;
|
|
11
|
+
const body = ((_b = (_a = response === null || response === void 0 ? void 0 : response.body) !== null && _a !== void 0 ? _a : typedError.body) !== null && _b !== void 0 ? _b : typedError.message);
|
|
12
|
+
if (typeof body === 'string') {
|
|
13
|
+
return body;
|
|
14
|
+
}
|
|
15
|
+
if (body && typeof body === 'object') {
|
|
16
|
+
return JSON.stringify(body);
|
|
17
|
+
}
|
|
18
|
+
return String((_c = typedError.message) !== null && _c !== void 0 ? _c : 'Unknown error');
|
|
19
|
+
}
|
|
4
20
|
class ShopifyCustomAdminApi {
|
|
5
21
|
constructor() {
|
|
6
22
|
this.name = 'shopifyCustomAdminApi';
|
|
@@ -29,7 +45,7 @@ class ShopifyCustomAdminApi {
|
|
|
29
45
|
{
|
|
30
46
|
name: 'Client Credentials (Dev Dashboard)',
|
|
31
47
|
value: 'clientCredentials',
|
|
32
|
-
description: 'Exchange Client ID and Client Secret for a short-lived Admin API access token.',
|
|
48
|
+
description: 'Exchange Client ID and Client Secret for a short-lived Admin API access token. Requires the app and store to be in the same Shopify organization.',
|
|
33
49
|
},
|
|
34
50
|
{
|
|
35
51
|
name: 'Admin Access Token (Legacy)',
|
|
@@ -99,13 +115,22 @@ class ShopifyCustomAdminApi {
|
|
|
99
115
|
description: 'Used to verify Shopify webhook signatures for trigger nodes. Leave empty to reuse Client Secret in Dev Dashboard mode.',
|
|
100
116
|
},
|
|
101
117
|
];
|
|
102
|
-
this.authenticate = {
|
|
103
|
-
|
|
104
|
-
|
|
118
|
+
this.authenticate = async (credentials, requestOptions) => {
|
|
119
|
+
var _a, _b;
|
|
120
|
+
if (credentials.authenticationMethod === 'clientCredentials') {
|
|
121
|
+
return requestOptions;
|
|
122
|
+
}
|
|
123
|
+
const accessToken = String((_a = credentials.accessToken) !== null && _a !== void 0 ? _a : '').trim();
|
|
124
|
+
if (!accessToken) {
|
|
125
|
+
return requestOptions;
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
...requestOptions,
|
|
105
129
|
headers: {
|
|
106
|
-
|
|
130
|
+
...((_b = requestOptions.headers) !== null && _b !== void 0 ? _b : {}),
|
|
131
|
+
'X-Shopify-Access-Token': accessToken,
|
|
107
132
|
},
|
|
108
|
-
}
|
|
133
|
+
};
|
|
109
134
|
};
|
|
110
135
|
this.preAuthentication = async function (credentials) {
|
|
111
136
|
var _a, _b, _c, _d;
|
|
@@ -121,23 +146,29 @@ class ShopifyCustomAdminApi {
|
|
|
121
146
|
if (!shopSubdomain || !clientId || !clientSecret) {
|
|
122
147
|
return credentials;
|
|
123
148
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
149
|
+
let response;
|
|
150
|
+
try {
|
|
151
|
+
response = (await this.helpers.httpRequest({
|
|
152
|
+
url: `https://${shopSubdomain}.myshopify.com/admin/oauth/access_token`,
|
|
153
|
+
method: 'POST',
|
|
154
|
+
headers: {
|
|
155
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
156
|
+
Accept: 'application/json',
|
|
157
|
+
},
|
|
158
|
+
body: new URLSearchParams({
|
|
159
|
+
grant_type: 'client_credentials',
|
|
160
|
+
client_id: clientId,
|
|
161
|
+
client_secret: clientSecret,
|
|
162
|
+
}).toString(),
|
|
163
|
+
json: true,
|
|
164
|
+
}));
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
throw new Error(`Shopify client credentials token exchange failed: ${getHttpErrorMessage(error)}`);
|
|
168
|
+
}
|
|
138
169
|
const accessToken = String((_d = response.access_token) !== null && _d !== void 0 ? _d : '').trim();
|
|
139
170
|
if (!accessToken) {
|
|
140
|
-
return credentials;
|
|
171
|
+
throw new Error('Shopify did not return an access token for the provided client credentials.');
|
|
141
172
|
}
|
|
142
173
|
return {
|
|
143
174
|
...credentials,
|
|
@@ -146,15 +177,14 @@ class ShopifyCustomAdminApi {
|
|
|
146
177
|
};
|
|
147
178
|
this.test = {
|
|
148
179
|
request: {
|
|
149
|
-
baseURL: '={{"https://" + $credentials.shopSubdomain.trim().replace(".myshopify
|
|
150
|
-
url: '
|
|
180
|
+
baseURL: '={{"https://" + String($credentials.shopSubdomain || "").trim().replace(/^https?:\\/\\//, "").replace(/\\.myshopify\\.com\\/?$/, "") + ".myshopify.com"}}',
|
|
181
|
+
url: '={{$credentials.authenticationMethod === "clientCredentials" ? "/admin/oauth/access_token" : "/admin/api/" + ($credentials.apiVersion || "2025-10") + "/graphql.json"}}',
|
|
151
182
|
method: 'POST',
|
|
152
183
|
headers: {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
body: {
|
|
156
|
-
query: 'query { shop { id name } }',
|
|
184
|
+
Accept: 'application/json',
|
|
185
|
+
'Content-Type': '={{$credentials.authenticationMethod === "clientCredentials" ? "application/x-www-form-urlencoded" : "application/json"}}',
|
|
157
186
|
},
|
|
187
|
+
body: '={{$credentials.authenticationMethod === "clientCredentials" ? "grant_type=client_credentials&client_id=" + encodeURIComponent(String($credentials.clientId || "").trim()) + "&client_secret=" + encodeURIComponent(String($credentials.clientSecret || "").trim()) : JSON.stringify({ query: "query { shop { id name } }" })}}',
|
|
158
188
|
},
|
|
159
189
|
};
|
|
160
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShopifyCustomAdminApi.credentials.js","sourceRoot":"","sources":["../../credentials/ShopifyCustomAdminApi.credentials.ts"],"names":[],"mappings":";;;AAUA,MAAa,qBAAqB;IAAlC;QACC,SAAI,GAAG,uBAAuB,CAAC;QAE/B,gBAAW,GAAG,0BAA0B,CAAC;QAEzC,SAAI,GAAS;YACZ,KAAK,EAAE,yCAAyC;YAChD,IAAI,EAAE,8CAA8C;SACpD,CAAC;QAEF,qBAAgB,GAAG,4CAA4C,CAAC;QAEhE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,8CAA8C;aAC3D;YACD;gBACC,WAAW,EAAE,uBAAuB;gBACpC,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,oCAAoC;wBAC1C,KAAK,EAAE,mBAAmB;wBAC1B,WAAW,
|
|
1
|
+
{"version":3,"file":"ShopifyCustomAdminApi.credentials.js","sourceRoot":"","sources":["../../credentials/ShopifyCustomAdminApi.credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ const order_1 = require("./order");
|
|
|
17
17
|
const product_1 = require("./product");
|
|
18
18
|
const productVariant_1 = require("./productVariant");
|
|
19
19
|
const service_1 = require("./service");
|
|
20
|
+
const taxonomy_1 = require("./taxonomy");
|
|
20
21
|
const translation_1 = require("./translation");
|
|
21
22
|
exports.SHOPIFY_OPERATION_CONFIGS = [
|
|
22
23
|
...product_1.PRODUCT_OPERATION_CONFIGS,
|
|
@@ -30,6 +31,7 @@ exports.SHOPIFY_OPERATION_CONFIGS = [
|
|
|
30
31
|
...inventory_1.INVENTORY_OPERATION_CONFIGS,
|
|
31
32
|
...file_1.FILE_OPERATION_CONFIGS,
|
|
32
33
|
...translation_1.TRANSLATION_OPERATION_CONFIGS,
|
|
34
|
+
...taxonomy_1.TAXONOMY_OPERATION_CONFIGS,
|
|
33
35
|
...metaobject_1.METAOBJECT_OPERATION_CONFIGS,
|
|
34
36
|
...metafieldValue_1.METAFIELD_VALUE_OPERATION_CONFIGS,
|
|
35
37
|
...metafieldDefinition_1.METAFIELD_DEFINITION_OPERATION_CONFIGS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/ShopifyCustom/config/operations/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/ShopifyCustom/config/operations/index.ts"],"names":[],"mappings":";;;AAgDA,sDAQC;AAED,gDAOC;AA/DD,uCAAsD;AACtD,iCAAgD;AAChD,6CAA4D;AAC5D,yCAAwD;AACxD,6CAA6D;AAC7D,iCAAgD;AAChD,2CAA0D;AAC1D,+DAA+E;AAC/E,qDAAqE;AACrE,6CAA4D;AAC5D,mCAAkD;AAClD,uCAAsD;AACtD,qDAAqE;AACrE,uCAAsD;AACtD,yCAAwD;AACxD,+CAA8D;AAGjD,QAAA,yBAAyB,GAA8B;IACnE,GAAG,mCAAyB;IAC5B,GAAG,kDAAiC;IACpC,GAAG,yCAA4B;IAC/B,GAAG,mCAAyB;IAC5B,GAAG,6BAAsB;IACzB,GAAG,qCAA0B;IAC7B,GAAG,+BAAuB;IAC1B,GAAG,0CAA6B;IAChC,GAAG,uCAA2B;IAC9B,GAAG,6BAAsB;IACzB,GAAG,2CAA6B;IAChC,GAAG,qCAA0B;IAC7B,GAAG,yCAA4B;IAC/B,GAAG,kDAAiC;IACpC,GAAG,4DAAsC;IACzC,GAAG,mCAAyB;CAC5B,CAAC;AAEW,QAAA,qBAAqB,GAAG,iCAAyB,CAAC,MAAM,CACpE,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE;;;IACxB,MAAA,GAAG,MAAC,eAAe,CAAC,QAAQ,qCAA5B,GAAG,OAA+B,EAAE,EAAC;IACrC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACZ,CAAC,EACD,EAA6D,CAC7D,CAAC;AAEF,SAAgB,qBAAqB,CAAC,QAA8B;;IACnE,MAAM,gBAAgB,GAAG,MAAA,6BAAqB,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;IAC/D,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,KAAK,EAAE,eAAe,CAAC,KAAK;QAC5B,WAAW,EAAE,eAAe,CAAC,WAAW;QACxC,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,KAAK,QAAQ,GAAG;KAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,kBAAkB,CACjC,QAA8B,EAC9B,SAAiB;IAEjB,OAAO,iCAAyB,CAAC,IAAI,CACpC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,KAAK,QAAQ,IAAI,eAAe,CAAC,KAAK,KAAK,SAAS,CACjG,CAAC;AACH,CAAC"}
|
|
@@ -106,6 +106,17 @@ exports.PRODUCT_OPERATION_CONFIGS = [
|
|
|
106
106
|
fields: productUpdateFields(),
|
|
107
107
|
supportsMetafields: true,
|
|
108
108
|
},
|
|
109
|
+
{
|
|
110
|
+
resource: 'product',
|
|
111
|
+
value: 'setCategory',
|
|
112
|
+
name: 'Set Category',
|
|
113
|
+
description: 'Set the Shopify product taxonomy category for a product',
|
|
114
|
+
registryKey: 'product.setCategory',
|
|
115
|
+
fields: [
|
|
116
|
+
(0, common_1.gidField)('productId', 'Product ID', 'Global product ID in Shopify'),
|
|
117
|
+
(0, common_1.gidField)('categoryId', 'Category ID', 'Global taxonomy category ID in Shopify'),
|
|
118
|
+
],
|
|
119
|
+
},
|
|
109
120
|
{
|
|
110
121
|
resource: 'product',
|
|
111
122
|
value: 'delete',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../../nodes/ShopifyCustom/config/operations/product.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../../nodes/ShopifyCustom/config/operations/product.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TAXONOMY_OPERATION_CONFIGS = void 0;
|
|
4
|
+
const common_1 = require("./common");
|
|
5
|
+
function taxonomyPaginationFields() {
|
|
6
|
+
return [
|
|
7
|
+
{
|
|
8
|
+
displayName: 'Get All',
|
|
9
|
+
name: 'getAll',
|
|
10
|
+
type: 'boolean',
|
|
11
|
+
default: false,
|
|
12
|
+
description: 'Whether to fetch all pages',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
displayName: 'Limit',
|
|
16
|
+
name: 'limit',
|
|
17
|
+
type: 'number',
|
|
18
|
+
description: 'Max number of results to return',
|
|
19
|
+
default: 50,
|
|
20
|
+
typeOptions: {
|
|
21
|
+
minValue: 1,
|
|
22
|
+
maxValue: 250,
|
|
23
|
+
},
|
|
24
|
+
displayOptions: {
|
|
25
|
+
show: {
|
|
26
|
+
getAll: [false],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
displayName: 'Options',
|
|
32
|
+
name: 'taxonomyOptions',
|
|
33
|
+
type: 'collection',
|
|
34
|
+
placeholder: 'Add option',
|
|
35
|
+
default: {},
|
|
36
|
+
options: [
|
|
37
|
+
{
|
|
38
|
+
displayName: 'Cursor',
|
|
39
|
+
name: 'afterCursor',
|
|
40
|
+
type: 'string',
|
|
41
|
+
default: '',
|
|
42
|
+
description: 'Use to continue from a specific cursor',
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
function taxonomyCategoryIdField(name = 'categoryId', displayName = 'Category ID') {
|
|
49
|
+
return (0, common_1.gidField)(name, displayName, 'Global taxonomy category ID in Shopify');
|
|
50
|
+
}
|
|
51
|
+
exports.TAXONOMY_OPERATION_CONFIGS = [
|
|
52
|
+
{
|
|
53
|
+
resource: 'taxonomy',
|
|
54
|
+
value: 'searchCategories',
|
|
55
|
+
name: 'Search Categories',
|
|
56
|
+
description: 'Search Shopify product taxonomy categories',
|
|
57
|
+
registryKey: 'taxonomy.searchCategories',
|
|
58
|
+
fields: [
|
|
59
|
+
{
|
|
60
|
+
displayName: 'Search Query',
|
|
61
|
+
name: 'search',
|
|
62
|
+
type: 'string',
|
|
63
|
+
default: '',
|
|
64
|
+
required: true,
|
|
65
|
+
description: 'Text to search in Shopify product taxonomy categories',
|
|
66
|
+
},
|
|
67
|
+
...taxonomyPaginationFields(),
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
resource: 'taxonomy',
|
|
72
|
+
value: 'getRootCategories',
|
|
73
|
+
name: 'Get Root Categories',
|
|
74
|
+
description: 'Get top-level Shopify product taxonomy categories',
|
|
75
|
+
registryKey: 'taxonomy.getRootCategories',
|
|
76
|
+
fields: taxonomyPaginationFields(),
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
resource: 'taxonomy',
|
|
80
|
+
value: 'getChildren',
|
|
81
|
+
name: 'Get Children',
|
|
82
|
+
description: 'Get child categories for a Shopify taxonomy category',
|
|
83
|
+
registryKey: 'taxonomy.getChildren',
|
|
84
|
+
fields: [taxonomyCategoryIdField(), ...taxonomyPaginationFields()],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
resource: 'taxonomy',
|
|
88
|
+
value: 'getDescendants',
|
|
89
|
+
name: 'Get Descendants',
|
|
90
|
+
description: 'Get descendant categories for a Shopify taxonomy category',
|
|
91
|
+
registryKey: 'taxonomy.getDescendants',
|
|
92
|
+
fields: [taxonomyCategoryIdField(), ...taxonomyPaginationFields()],
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
resource: 'taxonomy',
|
|
96
|
+
value: 'get',
|
|
97
|
+
name: 'Get Category',
|
|
98
|
+
description: 'Get a Shopify taxonomy category by ID',
|
|
99
|
+
registryKey: 'taxonomy.get',
|
|
100
|
+
fields: [taxonomyCategoryIdField()],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
resource: 'taxonomy',
|
|
104
|
+
value: 'getCategoryAttributes',
|
|
105
|
+
name: 'Get Category Attributes',
|
|
106
|
+
description: 'Get product attributes for a Shopify taxonomy category',
|
|
107
|
+
registryKey: 'taxonomy.getCategoryAttributes',
|
|
108
|
+
fields: [
|
|
109
|
+
taxonomyCategoryIdField(),
|
|
110
|
+
{
|
|
111
|
+
displayName: 'Attribute Limit',
|
|
112
|
+
name: 'attributeLimit',
|
|
113
|
+
type: 'number',
|
|
114
|
+
default: 50,
|
|
115
|
+
typeOptions: {
|
|
116
|
+
minValue: 1,
|
|
117
|
+
maxValue: 250,
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
displayName: 'Value Limit',
|
|
122
|
+
name: 'valueLimit',
|
|
123
|
+
type: 'number',
|
|
124
|
+
default: 50,
|
|
125
|
+
typeOptions: {
|
|
126
|
+
minValue: 1,
|
|
127
|
+
maxValue: 250,
|
|
128
|
+
},
|
|
129
|
+
description: 'Max number of values to return for choice-list attributes',
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
];
|
|
134
|
+
//# sourceMappingURL=taxonomy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../../../../nodes/ShopifyCustom/config/operations/taxonomy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { INodeProperties } from 'n8n-workflow';
|
|
2
2
|
import type { ShopifyResourceValue } from '../resources';
|
|
3
|
-
export type ShopifyOperationValue = 'create' | 'createUpload' | 'coverage' | 'get' | 'getMany' | 'update' | 'delete' | 'deleteUnusedImages' | 'set' | 'adjust' | 'resolveMetadata' | 'register' | 'remove' | 'list' | 'listDefinitionTypes';
|
|
4
|
-
export type ShopifyOperationKey = 'product.create' | 'product.get' | 'product.getMany' | 'product.update' | 'product.delete' | 'article.create' | 'article.get' | 'article.getMany' | 'article.update' | 'article.delete' | 'blog.create' | 'blog.get' | 'blog.getMany' | 'blog.update' | 'blog.delete' | 'productVariant.create' | 'productVariant.get' | 'productVariant.getMany' | 'productVariant.update' | 'productVariant.delete' | 'collection.create' | 'collection.get' | 'collection.getMany' | 'collection.update' | 'collection.delete' | 'customer.create' | 'customer.get' | 'customer.getMany' | 'customer.update' | 'customer.delete' | 'order.create' | 'order.get' | 'order.getMany' | 'order.update' | 'order.delete' | 'draftOrder.create' | 'draftOrder.get' | 'draftOrder.getMany' | 'draftOrder.update' | 'draftOrder.delete' | 'inventory.get' | 'inventory.getMany' | 'inventory.update' | 'inventory.set' | 'inventory.adjust' | 'file.create' | 'file.getMany' | 'file.update' | 'file.delete' | 'file.deleteUnusedImages' | 'translation.coverage' | 'translation.get' | 'translation.getMany' | 'translation.register' | 'translation.remove' | 'metaobject.create' | 'metaobject.get' | 'metaobject.getMany' | 'metaobject.update' | 'metaobject.delete' | 'metafieldValue.set' | 'metafieldValue.get' | 'metafieldValue.getMany' | 'metafieldValue.resolveMetadata' | 'metafieldValue.delete' | 'metafieldDefinition.list' | 'metafieldDefinition.get' | 'metafieldDefinition.create' | 'metafieldDefinition.update' | 'metafieldDefinition.delete' | 'service.listDefinitionTypes';
|
|
3
|
+
export type ShopifyOperationValue = 'create' | 'createUpload' | 'coverage' | 'get' | 'getMany' | 'update' | 'delete' | 'deleteUnusedImages' | 'getCategoryAttributes' | 'getChildren' | 'getDescendants' | 'getRootCategories' | 'searchCategories' | 'setCategory' | 'set' | 'adjust' | 'resolveMetadata' | 'register' | 'remove' | 'list' | 'listDefinitionTypes';
|
|
4
|
+
export type ShopifyOperationKey = 'product.create' | 'product.get' | 'product.getMany' | 'product.update' | 'product.delete' | 'product.setCategory' | 'article.create' | 'article.get' | 'article.getMany' | 'article.update' | 'article.delete' | 'blog.create' | 'blog.get' | 'blog.getMany' | 'blog.update' | 'blog.delete' | 'productVariant.create' | 'productVariant.get' | 'productVariant.getMany' | 'productVariant.update' | 'productVariant.delete' | 'collection.create' | 'collection.get' | 'collection.getMany' | 'collection.update' | 'collection.delete' | 'customer.create' | 'customer.get' | 'customer.getMany' | 'customer.update' | 'customer.delete' | 'order.create' | 'order.get' | 'order.getMany' | 'order.update' | 'order.delete' | 'draftOrder.create' | 'draftOrder.get' | 'draftOrder.getMany' | 'draftOrder.update' | 'draftOrder.delete' | 'inventory.get' | 'inventory.getMany' | 'inventory.update' | 'inventory.set' | 'inventory.adjust' | 'file.create' | 'file.getMany' | 'file.update' | 'file.delete' | 'file.deleteUnusedImages' | 'translation.coverage' | 'translation.get' | 'translation.getMany' | 'translation.register' | 'translation.remove' | 'taxonomy.searchCategories' | 'taxonomy.getRootCategories' | 'taxonomy.getChildren' | 'taxonomy.getDescendants' | 'taxonomy.get' | 'taxonomy.getCategoryAttributes' | 'metaobject.create' | 'metaobject.get' | 'metaobject.getMany' | 'metaobject.update' | 'metaobject.delete' | 'metafieldValue.set' | 'metafieldValue.get' | 'metafieldValue.getMany' | 'metafieldValue.resolveMetadata' | 'metafieldValue.delete' | 'metafieldDefinition.list' | 'metafieldDefinition.get' | 'metafieldDefinition.create' | 'metafieldDefinition.update' | 'metafieldDefinition.delete' | 'service.listDefinitionTypes';
|
|
5
5
|
export interface IShopifyOperationConfig {
|
|
6
6
|
resource: ShopifyResourceValue;
|
|
7
7
|
value: ShopifyOperationValue;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type ShopifyResourceValue = 'product' | 'productVariant' | 'collection' | 'article' | 'blog' | 'customer' | 'order' | 'draftOrder' | 'inventory' | 'file' | 'translation' | 'metaobject' | 'metafieldValue' | 'metafieldDefinition' | 'service';
|
|
1
|
+
export type ShopifyResourceValue = 'product' | 'productVariant' | 'collection' | 'article' | 'blog' | 'customer' | 'order' | 'draftOrder' | 'inventory' | 'file' | 'translation' | 'taxonomy' | 'metaobject' | 'metafieldValue' | 'metafieldDefinition' | 'service';
|
|
2
2
|
export type ShopifyMetafieldOwnerType = 'PRODUCT' | 'PRODUCTVARIANT' | 'COLLECTION' | 'ARTICLE' | 'BLOG' | 'CUSTOMER' | 'ORDER' | 'DRAFTORDER';
|
|
3
3
|
export interface IShopifyResourceDefinition {
|
|
4
4
|
value: ShopifyResourceValue;
|
|
@@ -65,6 +65,11 @@ exports.SHOPIFY_RESOURCE_DEFINITIONS = [
|
|
|
65
65
|
name: 'Translation',
|
|
66
66
|
description: 'Manage translated content for Shopify resources',
|
|
67
67
|
},
|
|
68
|
+
{
|
|
69
|
+
value: 'taxonomy',
|
|
70
|
+
name: 'Taxonomy',
|
|
71
|
+
description: 'Search and navigate Shopify product taxonomy categories',
|
|
72
|
+
},
|
|
68
73
|
{
|
|
69
74
|
value: 'metaobject',
|
|
70
75
|
name: 'Metaobject',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../nodes/ShopifyCustom/config/resources.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../nodes/ShopifyCustom/config/resources.ts"],"names":[],"mappings":";;;AAmCa,QAAA,4BAA4B,GAAiC;IACzE;QACC,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,0CAA0C;QACvD,SAAS,EAAE,SAAS;KACpB;IACD;QACC,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,kDAAkD;QAC/D,SAAS,EAAE,gBAAgB;KAC3B;IACD;QACC,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,4BAA4B;QACzC,SAAS,EAAE,YAAY;KACvB;IACD;QACC,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8BAA8B;QAC3C,SAAS,EAAE,SAAS;KACpB;IACD;QACC,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,MAAM;KACjB;IACD;QACC,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,UAAU;KACrB;IACD;QACC,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,OAAO;KAClB;IACD;QACC,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,qBAAqB;QAClC,SAAS,EAAE,YAAY;KACvB;IACD;QACC,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,uCAAuC;KACpD;IACD;QACC,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,uCAAuC;KACpD;IACD;QACC,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iDAAiD;KAC9D;IACD;QACC,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,yDAAyD;KACtE;IACD;QACC,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,4BAA4B;KACzC;IACD;QACC,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,uCAAuC;KACpD;IACD;QACC,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,uDAAuD;KACpE;IACD;QACC,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mBAAmB;KAChC;CACD,CAAC"}
|
|
@@ -118,6 +118,22 @@ function isAuthenticationError(error) {
|
|
|
118
118
|
const statusCode = (_b = (_a = typedError.statusCode) !== null && _a !== void 0 ? _a : typedError.httpCode) !== null && _b !== void 0 ? _b : typedError.responseCode;
|
|
119
119
|
return statusCode === 401 || statusCode === 403;
|
|
120
120
|
}
|
|
121
|
+
function getHttpErrorMessage(error) {
|
|
122
|
+
var _a, _b, _c;
|
|
123
|
+
if (!error || typeof error !== 'object') {
|
|
124
|
+
return String(error);
|
|
125
|
+
}
|
|
126
|
+
const typedError = error;
|
|
127
|
+
const response = typedError.response;
|
|
128
|
+
const body = ((_b = (_a = response === null || response === void 0 ? void 0 : response.body) !== null && _a !== void 0 ? _a : typedError.body) !== null && _b !== void 0 ? _b : typedError.message);
|
|
129
|
+
if (typeof body === 'string') {
|
|
130
|
+
return body;
|
|
131
|
+
}
|
|
132
|
+
if (body && typeof body === 'object') {
|
|
133
|
+
return JSON.stringify(body);
|
|
134
|
+
}
|
|
135
|
+
return String((_c = typedError.message) !== null && _c !== void 0 ? _c : 'Unknown error');
|
|
136
|
+
}
|
|
121
137
|
async function requestClientCredentialsAccessToken(context, credentials, itemIndex, forceRefresh = false) {
|
|
122
138
|
const clientId = toOptionalString(credentials.clientId);
|
|
123
139
|
const clientSecret = toOptionalString(credentials.clientSecret);
|
|
@@ -131,20 +147,26 @@ async function requestClientCredentialsAccessToken(context, credentials, itemInd
|
|
|
131
147
|
Date.now() < cachedEntry.expiresAt - ACCESS_TOKEN_TTL_SAFETY_MS) {
|
|
132
148
|
return cachedEntry.token;
|
|
133
149
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
150
|
+
let response;
|
|
151
|
+
try {
|
|
152
|
+
response = (await context.helpers.httpRequest({
|
|
153
|
+
url: buildAccessTokenUrl(credentials),
|
|
154
|
+
method: 'POST',
|
|
155
|
+
headers: {
|
|
156
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
157
|
+
Accept: 'application/json',
|
|
158
|
+
},
|
|
159
|
+
body: new URLSearchParams({
|
|
160
|
+
grant_type: 'client_credentials',
|
|
161
|
+
client_id: clientId,
|
|
162
|
+
client_secret: clientSecret,
|
|
163
|
+
}).toString(),
|
|
164
|
+
json: true,
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
throw new n8n_workflow_1.NodeOperationError(context.getNode(), `Shopify client credentials token exchange failed: ${getHttpErrorMessage(error)}`, { itemIndex });
|
|
169
|
+
}
|
|
148
170
|
const accessToken = toOptionalString(response.access_token);
|
|
149
171
|
if (!accessToken) {
|
|
150
172
|
throw new n8n_workflow_1.NodeOperationError(context.getNode(), 'Shopify did not return an access token for the provided client credentials.', { itemIndex });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../nodes/ShopifyCustom/shared/graphql/client.ts"],"names":[],"mappings":";;;AAwEA,wDAEC;AAWD,kEAgBC;AAED,8DAQC;AAED,sEAmBC;AAED,kEA0BC;AAED,0CAOC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../nodes/ShopifyCustom/shared/graphql/client.ts"],"names":[],"mappings":"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"}
|