@proveanything/smartlinks 1.9.1 → 1.9.3
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/dist/api/product.d.ts +2 -7
- package/dist/api/product.js +2 -11
- package/dist/api/products.d.ts +0 -3
- package/dist/api/products.js +0 -28
- package/dist/docs/API_SUMMARY.md +3 -24
- package/dist/openapi.yaml +8 -142
- package/dist/types/product.d.ts +2 -18
- package/docs/API_SUMMARY.md +3 -24
- package/openapi.yaml +8 -142
- package/package.json +1 -1
package/dist/api/product.d.ts
CHANGED
|
@@ -37,7 +37,6 @@ export declare namespace product {
|
|
|
37
37
|
* name: 'Wine Bottle',
|
|
38
38
|
* description: 'Premium red wine',
|
|
39
39
|
* heroImage: 'https://example.com/wine.jpg', // Auto-fetched!
|
|
40
|
-
* tags: {},
|
|
41
40
|
* data: {}
|
|
42
41
|
* });
|
|
43
42
|
* ```
|
|
@@ -83,15 +82,11 @@ export declare namespace product {
|
|
|
83
82
|
*/
|
|
84
83
|
function remove(collectionId: string, productId: string): Promise<void>;
|
|
85
84
|
/**
|
|
86
|
-
* @deprecated Use `products.query(...)
|
|
87
|
-
*/
|
|
88
|
-
function query(collectionId: string, body: ProductQueryRequest): Promise<ProductQueryResponse>;
|
|
89
|
-
/**
|
|
90
|
-
* @deprecated Use `products.find(...)` for admin or `products.publicFind(...)` for public access.
|
|
85
|
+
* @deprecated Legacy compatibility endpoint only. Use `products.query(...)` for new integrations.
|
|
91
86
|
*/
|
|
92
87
|
function find(collectionId: string, body: ProductQueryRequest): Promise<ProductQueryResponse>;
|
|
93
88
|
/**
|
|
94
|
-
* @deprecated Use `products.
|
|
89
|
+
* @deprecated Legacy compatibility endpoint only. Use `products.get(...)` when the product id is known.
|
|
95
90
|
*/
|
|
96
91
|
function publicFind(collectionId: string, params?: ProductPublicFindParams): Promise<ProductResponse[]>;
|
|
97
92
|
/**
|
package/dist/api/product.js
CHANGED
|
@@ -48,7 +48,6 @@ export var product;
|
|
|
48
48
|
* name: 'Wine Bottle',
|
|
49
49
|
* description: 'Premium red wine',
|
|
50
50
|
* heroImage: 'https://example.com/wine.jpg', // Auto-fetched!
|
|
51
|
-
* tags: {},
|
|
52
51
|
* data: {}
|
|
53
52
|
* });
|
|
54
53
|
* ```
|
|
@@ -106,15 +105,7 @@ export var product;
|
|
|
106
105
|
}
|
|
107
106
|
product.remove = remove;
|
|
108
107
|
/**
|
|
109
|
-
* @deprecated Use `products.query(...)
|
|
110
|
-
*/
|
|
111
|
-
async function query(collectionId, body) {
|
|
112
|
-
const path = `/admin/collection/${encodeURIComponent(collectionId)}/product/query`;
|
|
113
|
-
return post(path, body);
|
|
114
|
-
}
|
|
115
|
-
product.query = query;
|
|
116
|
-
/**
|
|
117
|
-
* @deprecated Use `products.find(...)` for admin or `products.publicFind(...)` for public access.
|
|
108
|
+
* @deprecated Legacy compatibility endpoint only. Use `products.query(...)` for new integrations.
|
|
118
109
|
*/
|
|
119
110
|
async function find(collectionId, body) {
|
|
120
111
|
const path = `/admin/collection/${encodeURIComponent(collectionId)}/product/find`;
|
|
@@ -122,7 +113,7 @@ export var product;
|
|
|
122
113
|
}
|
|
123
114
|
product.find = find;
|
|
124
115
|
/**
|
|
125
|
-
* @deprecated Use `products.
|
|
116
|
+
* @deprecated Legacy compatibility endpoint only. Use `products.get(...)` when the product id is known.
|
|
126
117
|
*/
|
|
127
118
|
async function publicFind(collectionId, params) {
|
|
128
119
|
const searchParams = new URLSearchParams();
|
package/dist/api/products.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { JsonValue, ProductClaimCreateRequestBody, ProductCreateRequest, ProductQueryRequest, ProductQueryResponse, ProductResponse, ProductUpdateRequest } from "../types/product";
|
|
2
|
-
export type ProductPublicFindParams = Record<string, string | number | boolean | null | undefined | Array<string | number | boolean>>;
|
|
3
2
|
export declare namespace products {
|
|
4
3
|
function get(collectionId: string, productId: string, admin?: boolean): Promise<ProductResponse>;
|
|
5
4
|
function list(collectionId: string, admin?: boolean): Promise<ProductResponse[]>;
|
|
@@ -7,8 +6,6 @@ export declare namespace products {
|
|
|
7
6
|
function update(collectionId: string, productId: string, data: ProductUpdateRequest): Promise<ProductResponse>;
|
|
8
7
|
function remove(collectionId: string, productId: string): Promise<void>;
|
|
9
8
|
function query(collectionId: string, body: ProductQueryRequest): Promise<ProductQueryResponse>;
|
|
10
|
-
function find(collectionId: string, body: ProductQueryRequest | Record<string, JsonValue>): Promise<ProductQueryResponse>;
|
|
11
|
-
function publicFind(collectionId: string, params?: ProductPublicFindParams): Promise<ProductResponse[]>;
|
|
12
9
|
function clone(collectionId: string, productId: string, body?: Record<string, JsonValue>): Promise<ProductResponse>;
|
|
13
10
|
function listAssets(collectionId: string, productId: string, admin?: boolean): Promise<unknown>;
|
|
14
11
|
function createClaimWindow(collectionId: string, productId: string, body: Record<string, JsonValue>): Promise<unknown>;
|
package/dist/api/products.js
CHANGED
|
@@ -1,22 +1,4 @@
|
|
|
1
1
|
import { del, post, put, request } from "../http";
|
|
2
|
-
function buildQueryString(params) {
|
|
3
|
-
if (!params)
|
|
4
|
-
return '';
|
|
5
|
-
const searchParams = new URLSearchParams();
|
|
6
|
-
for (const [key, value] of Object.entries(params)) {
|
|
7
|
-
if (value === undefined || value === null)
|
|
8
|
-
continue;
|
|
9
|
-
if (Array.isArray(value)) {
|
|
10
|
-
for (const item of value) {
|
|
11
|
-
searchParams.append(key, String(item));
|
|
12
|
-
}
|
|
13
|
-
continue;
|
|
14
|
-
}
|
|
15
|
-
searchParams.set(key, String(value));
|
|
16
|
-
}
|
|
17
|
-
const query = searchParams.toString();
|
|
18
|
-
return query ? `?${query}` : '';
|
|
19
|
-
}
|
|
20
2
|
export var products;
|
|
21
3
|
(function (products) {
|
|
22
4
|
async function get(collectionId, productId, admin) {
|
|
@@ -51,16 +33,6 @@ export var products;
|
|
|
51
33
|
return post(path, body);
|
|
52
34
|
}
|
|
53
35
|
products.query = query;
|
|
54
|
-
async function find(collectionId, body) {
|
|
55
|
-
const path = `/admin/collection/${encodeURIComponent(collectionId)}/products/find`;
|
|
56
|
-
return post(path, body);
|
|
57
|
-
}
|
|
58
|
-
products.find = find;
|
|
59
|
-
async function publicFind(collectionId, params) {
|
|
60
|
-
const path = `/public/collection/${encodeURIComponent(collectionId)}/products/find${buildQueryString(params)}`;
|
|
61
|
-
return request(path);
|
|
62
|
-
}
|
|
63
|
-
products.publicFind = publicFind;
|
|
64
36
|
async function clone(collectionId, productId, body = {}) {
|
|
65
37
|
const path = `/admin/collection/${encodeURIComponent(collectionId)}/products/${encodeURIComponent(productId)}/clone`;
|
|
66
38
|
return post(path, body);
|
package/dist/docs/API_SUMMARY.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Smartlinks API Summary
|
|
2
2
|
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.3 | Generated: 2026-03-23T18:12:23.239Z
|
|
4
4
|
|
|
5
5
|
This is a concise summary of all available API functions and types.
|
|
6
6
|
|
|
@@ -5849,10 +5849,6 @@ interface ProductQueryRequest {
|
|
|
5849
5849
|
query?: {
|
|
5850
5850
|
search?: string
|
|
5851
5851
|
status?: string[]
|
|
5852
|
-
category?: string[]
|
|
5853
|
-
type?: string[]
|
|
5854
|
-
schemaType?: string[]
|
|
5855
|
-
tags?: string[]
|
|
5856
5852
|
productIds?: string[]
|
|
5857
5853
|
sku?: string
|
|
5858
5854
|
gtin?: string
|
|
@@ -5885,17 +5881,13 @@ interface ProductWriteInput {
|
|
|
5885
5881
|
ownGtin?: boolean | null
|
|
5886
5882
|
additionalGtins?: AdditionalGtin[]
|
|
5887
5883
|
sku?: string | null
|
|
5888
|
-
schemaType?: string | null
|
|
5889
|
-
type?: string | null
|
|
5890
|
-
category?: string | null
|
|
5891
5884
|
label?: string | null
|
|
5892
5885
|
status?: string | null
|
|
5893
5886
|
sortOrder?: number | null
|
|
5894
5887
|
heroImage?: ProductImage | ProductImageUrlInput | string | null
|
|
5895
5888
|
facets?: ProductFacetMap
|
|
5896
|
-
tags?: Record<string, boolean>
|
|
5897
5889
|
data?: Record<string, JsonValue>
|
|
5898
|
-
admin?:
|
|
5890
|
+
admin?: Record<string, JsonValue>
|
|
5899
5891
|
extra?: Record<string, JsonValue>
|
|
5900
5892
|
validCollections?: string[]
|
|
5901
5893
|
}
|
|
@@ -6420,10 +6412,6 @@ type VerifyTokenResponse = {
|
|
|
6420
6412
|
}
|
|
6421
6413
|
```
|
|
6422
6414
|
|
|
6423
|
-
### products (api)
|
|
6424
|
-
|
|
6425
|
-
**ProductPublicFindParams** = `Record<`
|
|
6426
|
-
|
|
6427
6415
|
## API Functions
|
|
6428
6416
|
|
|
6429
6417
|
### analytics.admin
|
|
@@ -7836,7 +7824,7 @@ List all Product Items for a Collection.
|
|
|
7836
7824
|
|
|
7837
7825
|
**create**(collectionId: string,
|
|
7838
7826
|
data: ProductCreateRequest) → `Promise<ProductResponse>`
|
|
7839
|
-
Create a new product for a collection (admin only). The `data` payload follows the same shape as ProductResponse minus `id` and `collectionId`. **Hero Image Auto-Fetch:** You can pass `heroImage` as either: - A full asset object: `{ url: '...', thumbnails: {...} }` - A string URL: The system automatically fetches and stores the image ```typescript // Using a URL - auto-fetched and stored const product = await product.create(collectionId, { name: 'Wine Bottle', description: 'Premium red wine', heroImage: 'https://example.com/wine.jpg', // Auto-fetched!
|
|
7827
|
+
Create a new product for a collection (admin only). The `data` payload follows the same shape as ProductResponse minus `id` and `collectionId`. **Hero Image Auto-Fetch:** You can pass `heroImage` as either: - A full asset object: `{ url: '...', thumbnails: {...} }` - A string URL: The system automatically fetches and stores the image ```typescript // Using a URL - auto-fetched and stored const product = await product.create(collectionId, { name: 'Wine Bottle', description: 'Premium red wine', heroImage: 'https://example.com/wine.jpg', // Auto-fetched! data: {} }); ```
|
|
7840
7828
|
|
|
7841
7829
|
**update**(collectionId: string,
|
|
7842
7830
|
productId: string,
|
|
@@ -7847,9 +7835,6 @@ Update a product for a collection (admin only). The `data` payload is a partial
|
|
|
7847
7835
|
productId: string) → `Promise<void>`
|
|
7848
7836
|
Delete a product for a collection (admin only).
|
|
7849
7837
|
|
|
7850
|
-
**query**(collectionId: string,
|
|
7851
|
-
body: ProductQueryRequest) → `Promise<ProductQueryResponse>`
|
|
7852
|
-
|
|
7853
7838
|
**find**(collectionId: string,
|
|
7854
7839
|
body: ProductQueryRequest) → `Promise<ProductQueryResponse>`
|
|
7855
7840
|
|
|
@@ -7917,12 +7902,6 @@ Look up a serial number by code for a product (admin only).
|
|
|
7917
7902
|
**query**(collectionId: string,
|
|
7918
7903
|
body: ProductQueryRequest) → `Promise<ProductQueryResponse>`
|
|
7919
7904
|
|
|
7920
|
-
**find**(collectionId: string,
|
|
7921
|
-
body: ProductQueryRequest | Record<string, JsonValue>) → `Promise<ProductQueryResponse>`
|
|
7922
|
-
|
|
7923
|
-
**publicFind**(collectionId: string,
|
|
7924
|
-
params?: ProductPublicFindParams) → `Promise<ProductResponse[]>`
|
|
7925
|
-
|
|
7926
7905
|
**clone**(collectionId: string,
|
|
7927
7906
|
productId: string,
|
|
7928
7907
|
body: Record<string, JsonValue> = {}) → `Promise<ProductResponse>`
|
package/dist/openapi.yaml
CHANGED
|
@@ -5433,7 +5433,7 @@ paths:
|
|
|
5433
5433
|
post:
|
|
5434
5434
|
tags:
|
|
5435
5435
|
- product
|
|
5436
|
-
summary: product.
|
|
5436
|
+
summary: Create a new product for a collection (admin only).
|
|
5437
5437
|
operationId: product_create
|
|
5438
5438
|
security:
|
|
5439
5439
|
- bearerAuth: []
|
|
@@ -5495,39 +5495,6 @@ paths:
|
|
|
5495
5495
|
application/json:
|
|
5496
5496
|
schema:
|
|
5497
5497
|
$ref: "#/components/schemas/ProductQueryRequest"
|
|
5498
|
-
/admin/collection/{collectionId}/product/query:
|
|
5499
|
-
post:
|
|
5500
|
-
tags:
|
|
5501
|
-
- product
|
|
5502
|
-
summary: Delete a product for a collection (admin only).
|
|
5503
|
-
operationId: product_query
|
|
5504
|
-
security:
|
|
5505
|
-
- bearerAuth: []
|
|
5506
|
-
parameters:
|
|
5507
|
-
- name: collectionId
|
|
5508
|
-
in: path
|
|
5509
|
-
required: true
|
|
5510
|
-
schema:
|
|
5511
|
-
type: string
|
|
5512
|
-
responses:
|
|
5513
|
-
200:
|
|
5514
|
-
description: Success
|
|
5515
|
-
content:
|
|
5516
|
-
application/json:
|
|
5517
|
-
schema:
|
|
5518
|
-
$ref: "#/components/schemas/ProductQueryResponse"
|
|
5519
|
-
400:
|
|
5520
|
-
description: Bad request
|
|
5521
|
-
401:
|
|
5522
|
-
description: Unauthorized
|
|
5523
|
-
404:
|
|
5524
|
-
description: Not found
|
|
5525
|
-
requestBody:
|
|
5526
|
-
required: true
|
|
5527
|
-
content:
|
|
5528
|
-
application/json:
|
|
5529
|
-
schema:
|
|
5530
|
-
$ref: "#/components/schemas/ProductQueryRequest"
|
|
5531
5498
|
/admin/collection/{collectionId}/product/{productId}:
|
|
5532
5499
|
put:
|
|
5533
5500
|
tags:
|
|
@@ -6231,40 +6198,6 @@ paths:
|
|
|
6231
6198
|
application/json:
|
|
6232
6199
|
schema:
|
|
6233
6200
|
$ref: "#/components/schemas/ProductCreateRequest"
|
|
6234
|
-
/admin/collection/{collectionId}/products/find:
|
|
6235
|
-
post:
|
|
6236
|
-
tags:
|
|
6237
|
-
- products
|
|
6238
|
-
summary: products.find
|
|
6239
|
-
operationId: products_find
|
|
6240
|
-
security:
|
|
6241
|
-
- bearerAuth: []
|
|
6242
|
-
parameters:
|
|
6243
|
-
- name: collectionId
|
|
6244
|
-
in: path
|
|
6245
|
-
required: true
|
|
6246
|
-
schema:
|
|
6247
|
-
type: string
|
|
6248
|
-
responses:
|
|
6249
|
-
200:
|
|
6250
|
-
description: Success
|
|
6251
|
-
content:
|
|
6252
|
-
application/json:
|
|
6253
|
-
schema:
|
|
6254
|
-
$ref: "#/components/schemas/ProductQueryResponse"
|
|
6255
|
-
400:
|
|
6256
|
-
description: Bad request
|
|
6257
|
-
401:
|
|
6258
|
-
description: Unauthorized
|
|
6259
|
-
404:
|
|
6260
|
-
description: Not found
|
|
6261
|
-
requestBody:
|
|
6262
|
-
required: true
|
|
6263
|
-
content:
|
|
6264
|
-
application/json:
|
|
6265
|
-
schema:
|
|
6266
|
-
type: object
|
|
6267
|
-
additionalProperties: true
|
|
6268
6201
|
/admin/collection/{collectionId}/products/query:
|
|
6269
6202
|
post:
|
|
6270
6203
|
tags:
|
|
@@ -10005,7 +9938,7 @@ paths:
|
|
|
10005
9938
|
get:
|
|
10006
9939
|
tags:
|
|
10007
9940
|
- product
|
|
10008
|
-
summary: "/ export async function
|
|
9941
|
+
summary: "/ export async function find( collectionId: string, body: ProductQueryRequest ): Promise<ProductQueryResponse> { const p"
|
|
10009
9942
|
operationId: product_publicFind
|
|
10010
9943
|
security: []
|
|
10011
9944
|
parameters:
|
|
@@ -10496,34 +10429,6 @@ paths:
|
|
|
10496
10429
|
application/json:
|
|
10497
10430
|
schema:
|
|
10498
10431
|
$ref: "#/components/schemas/ProofClaimRequest"
|
|
10499
|
-
/public/collection/{collectionId}/products/find:
|
|
10500
|
-
get:
|
|
10501
|
-
tags:
|
|
10502
|
-
- products
|
|
10503
|
-
summary: products.publicFind
|
|
10504
|
-
operationId: products_publicFind
|
|
10505
|
-
security: []
|
|
10506
|
-
parameters:
|
|
10507
|
-
- name: collectionId
|
|
10508
|
-
in: path
|
|
10509
|
-
required: true
|
|
10510
|
-
schema:
|
|
10511
|
-
type: string
|
|
10512
|
-
responses:
|
|
10513
|
-
200:
|
|
10514
|
-
description: Success
|
|
10515
|
-
content:
|
|
10516
|
-
application/json:
|
|
10517
|
-
schema:
|
|
10518
|
-
type: array
|
|
10519
|
-
items:
|
|
10520
|
-
$ref: "#/components/schemas/ProductResponse"
|
|
10521
|
-
400:
|
|
10522
|
-
description: Bad request
|
|
10523
|
-
401:
|
|
10524
|
-
description: Unauthorized
|
|
10525
|
-
404:
|
|
10526
|
-
description: Not found
|
|
10527
10432
|
/public/collection/{collectionId}/products/{productId}/createClaim:
|
|
10528
10433
|
post:
|
|
10529
10434
|
tags:
|
|
@@ -20140,22 +20045,6 @@ components:
|
|
|
20140
20045
|
type: array
|
|
20141
20046
|
items:
|
|
20142
20047
|
type: string
|
|
20143
|
-
category:
|
|
20144
|
-
type: array
|
|
20145
|
-
items:
|
|
20146
|
-
type: string
|
|
20147
|
-
type:
|
|
20148
|
-
type: array
|
|
20149
|
-
items:
|
|
20150
|
-
type: string
|
|
20151
|
-
schemaType:
|
|
20152
|
-
type: array
|
|
20153
|
-
items:
|
|
20154
|
-
type: string
|
|
20155
|
-
tags:
|
|
20156
|
-
type: array
|
|
20157
|
-
items:
|
|
20158
|
-
type: string
|
|
20159
20048
|
productIds:
|
|
20160
20049
|
type: array
|
|
20161
20050
|
items:
|
|
@@ -20200,13 +20089,6 @@ components:
|
|
|
20200
20089
|
required:
|
|
20201
20090
|
- field
|
|
20202
20091
|
- direction
|
|
20203
|
-
ProductAdminData:
|
|
20204
|
-
type: object
|
|
20205
|
-
properties:
|
|
20206
|
-
allowAutoGenerateClaims:
|
|
20207
|
-
type: boolean
|
|
20208
|
-
lastSerialId:
|
|
20209
|
-
type: number
|
|
20210
20092
|
Product:
|
|
20211
20093
|
type: object
|
|
20212
20094
|
properties:
|
|
@@ -20226,12 +20108,6 @@ components:
|
|
|
20226
20108
|
$ref: "#/components/schemas/AdditionalGtin"
|
|
20227
20109
|
sku:
|
|
20228
20110
|
type: string
|
|
20229
|
-
schemaType:
|
|
20230
|
-
type: string
|
|
20231
|
-
type:
|
|
20232
|
-
type: string
|
|
20233
|
-
category:
|
|
20234
|
-
type: string
|
|
20235
20111
|
label:
|
|
20236
20112
|
type: string
|
|
20237
20113
|
status:
|
|
@@ -20242,16 +20118,14 @@ components:
|
|
|
20242
20118
|
$ref: "#/components/schemas/ProductImage"
|
|
20243
20119
|
facets:
|
|
20244
20120
|
$ref: "#/components/schemas/ProductFacetMap"
|
|
20245
|
-
tags:
|
|
20246
|
-
type: object
|
|
20247
|
-
additionalProperties:
|
|
20248
|
-
type: boolean
|
|
20249
20121
|
data:
|
|
20250
20122
|
type: object
|
|
20251
20123
|
additionalProperties:
|
|
20252
20124
|
$ref: "#/components/schemas/JsonValue"
|
|
20253
20125
|
admin:
|
|
20254
|
-
|
|
20126
|
+
type: object
|
|
20127
|
+
additionalProperties:
|
|
20128
|
+
$ref: "#/components/schemas/JsonValue"
|
|
20255
20129
|
extra:
|
|
20256
20130
|
type: object
|
|
20257
20131
|
additionalProperties:
|
|
@@ -20293,12 +20167,6 @@ components:
|
|
|
20293
20167
|
$ref: "#/components/schemas/AdditionalGtin"
|
|
20294
20168
|
sku:
|
|
20295
20169
|
type: string
|
|
20296
|
-
schemaType:
|
|
20297
|
-
type: string
|
|
20298
|
-
type:
|
|
20299
|
-
type: string
|
|
20300
|
-
category:
|
|
20301
|
-
type: string
|
|
20302
20170
|
label:
|
|
20303
20171
|
type: string
|
|
20304
20172
|
status:
|
|
@@ -20310,16 +20178,14 @@ components:
|
|
|
20310
20178
|
additionalProperties: true
|
|
20311
20179
|
facets:
|
|
20312
20180
|
$ref: "#/components/schemas/ProductFacetMap"
|
|
20313
|
-
tags:
|
|
20314
|
-
type: object
|
|
20315
|
-
additionalProperties:
|
|
20316
|
-
type: boolean
|
|
20317
20181
|
data:
|
|
20318
20182
|
type: object
|
|
20319
20183
|
additionalProperties:
|
|
20320
20184
|
$ref: "#/components/schemas/JsonValue"
|
|
20321
20185
|
admin:
|
|
20322
|
-
|
|
20186
|
+
type: object
|
|
20187
|
+
additionalProperties:
|
|
20188
|
+
$ref: "#/components/schemas/JsonValue"
|
|
20323
20189
|
extra:
|
|
20324
20190
|
type: object
|
|
20325
20191
|
additionalProperties:
|
package/dist/types/product.d.ts
CHANGED
|
@@ -54,10 +54,6 @@ export interface ProductQueryRequest {
|
|
|
54
54
|
query?: {
|
|
55
55
|
search?: string;
|
|
56
56
|
status?: string[];
|
|
57
|
-
category?: string[];
|
|
58
|
-
type?: string[];
|
|
59
|
-
schemaType?: string[];
|
|
60
|
-
tags?: string[];
|
|
61
57
|
productIds?: string[];
|
|
62
58
|
sku?: string;
|
|
63
59
|
gtin?: string;
|
|
@@ -78,10 +74,6 @@ export interface ProductQueryRequest {
|
|
|
78
74
|
};
|
|
79
75
|
includeDeleted?: boolean;
|
|
80
76
|
}
|
|
81
|
-
export interface ProductAdminData extends Record<string, JsonValue | undefined> {
|
|
82
|
-
allowAutoGenerateClaims?: boolean;
|
|
83
|
-
lastSerialId?: number;
|
|
84
|
-
}
|
|
85
77
|
export interface Product extends ProductKey {
|
|
86
78
|
orgId?: string | null;
|
|
87
79
|
name: string;
|
|
@@ -90,17 +82,13 @@ export interface Product extends ProductKey {
|
|
|
90
82
|
ownGtin?: boolean | null;
|
|
91
83
|
additionalGtins?: AdditionalGtin[];
|
|
92
84
|
sku?: string | null;
|
|
93
|
-
schemaType?: string | null;
|
|
94
|
-
type?: string | null;
|
|
95
|
-
category?: string | null;
|
|
96
85
|
label?: string | null;
|
|
97
86
|
status?: string | null;
|
|
98
87
|
sortOrder?: number | null;
|
|
99
88
|
heroImage?: ProductImage | null;
|
|
100
89
|
facets?: ProductFacetMap;
|
|
101
|
-
tags?: Record<string, boolean>;
|
|
102
90
|
data?: Record<string, JsonValue>;
|
|
103
|
-
admin?:
|
|
91
|
+
admin?: Record<string, JsonValue>;
|
|
104
92
|
extra?: Record<string, JsonValue>;
|
|
105
93
|
validCollections?: string[];
|
|
106
94
|
group?: boolean | null;
|
|
@@ -119,17 +107,13 @@ export interface ProductWriteInput {
|
|
|
119
107
|
ownGtin?: boolean | null;
|
|
120
108
|
additionalGtins?: AdditionalGtin[];
|
|
121
109
|
sku?: string | null;
|
|
122
|
-
schemaType?: string | null;
|
|
123
|
-
type?: string | null;
|
|
124
|
-
category?: string | null;
|
|
125
110
|
label?: string | null;
|
|
126
111
|
status?: string | null;
|
|
127
112
|
sortOrder?: number | null;
|
|
128
113
|
heroImage?: ProductImage | ProductImageUrlInput | string | null;
|
|
129
114
|
facets?: ProductFacetMap;
|
|
130
|
-
tags?: Record<string, boolean>;
|
|
131
115
|
data?: Record<string, JsonValue>;
|
|
132
|
-
admin?:
|
|
116
|
+
admin?: Record<string, JsonValue>;
|
|
133
117
|
extra?: Record<string, JsonValue>;
|
|
134
118
|
validCollections?: string[];
|
|
135
119
|
}
|
package/docs/API_SUMMARY.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Smartlinks API Summary
|
|
2
2
|
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.3 | Generated: 2026-03-23T18:12:23.239Z
|
|
4
4
|
|
|
5
5
|
This is a concise summary of all available API functions and types.
|
|
6
6
|
|
|
@@ -5849,10 +5849,6 @@ interface ProductQueryRequest {
|
|
|
5849
5849
|
query?: {
|
|
5850
5850
|
search?: string
|
|
5851
5851
|
status?: string[]
|
|
5852
|
-
category?: string[]
|
|
5853
|
-
type?: string[]
|
|
5854
|
-
schemaType?: string[]
|
|
5855
|
-
tags?: string[]
|
|
5856
5852
|
productIds?: string[]
|
|
5857
5853
|
sku?: string
|
|
5858
5854
|
gtin?: string
|
|
@@ -5885,17 +5881,13 @@ interface ProductWriteInput {
|
|
|
5885
5881
|
ownGtin?: boolean | null
|
|
5886
5882
|
additionalGtins?: AdditionalGtin[]
|
|
5887
5883
|
sku?: string | null
|
|
5888
|
-
schemaType?: string | null
|
|
5889
|
-
type?: string | null
|
|
5890
|
-
category?: string | null
|
|
5891
5884
|
label?: string | null
|
|
5892
5885
|
status?: string | null
|
|
5893
5886
|
sortOrder?: number | null
|
|
5894
5887
|
heroImage?: ProductImage | ProductImageUrlInput | string | null
|
|
5895
5888
|
facets?: ProductFacetMap
|
|
5896
|
-
tags?: Record<string, boolean>
|
|
5897
5889
|
data?: Record<string, JsonValue>
|
|
5898
|
-
admin?:
|
|
5890
|
+
admin?: Record<string, JsonValue>
|
|
5899
5891
|
extra?: Record<string, JsonValue>
|
|
5900
5892
|
validCollections?: string[]
|
|
5901
5893
|
}
|
|
@@ -6420,10 +6412,6 @@ type VerifyTokenResponse = {
|
|
|
6420
6412
|
}
|
|
6421
6413
|
```
|
|
6422
6414
|
|
|
6423
|
-
### products (api)
|
|
6424
|
-
|
|
6425
|
-
**ProductPublicFindParams** = `Record<`
|
|
6426
|
-
|
|
6427
6415
|
## API Functions
|
|
6428
6416
|
|
|
6429
6417
|
### analytics.admin
|
|
@@ -7836,7 +7824,7 @@ List all Product Items for a Collection.
|
|
|
7836
7824
|
|
|
7837
7825
|
**create**(collectionId: string,
|
|
7838
7826
|
data: ProductCreateRequest) → `Promise<ProductResponse>`
|
|
7839
|
-
Create a new product for a collection (admin only). The `data` payload follows the same shape as ProductResponse minus `id` and `collectionId`. **Hero Image Auto-Fetch:** You can pass `heroImage` as either: - A full asset object: `{ url: '...', thumbnails: {...} }` - A string URL: The system automatically fetches and stores the image ```typescript // Using a URL - auto-fetched and stored const product = await product.create(collectionId, { name: 'Wine Bottle', description: 'Premium red wine', heroImage: 'https://example.com/wine.jpg', // Auto-fetched!
|
|
7827
|
+
Create a new product for a collection (admin only). The `data` payload follows the same shape as ProductResponse minus `id` and `collectionId`. **Hero Image Auto-Fetch:** You can pass `heroImage` as either: - A full asset object: `{ url: '...', thumbnails: {...} }` - A string URL: The system automatically fetches and stores the image ```typescript // Using a URL - auto-fetched and stored const product = await product.create(collectionId, { name: 'Wine Bottle', description: 'Premium red wine', heroImage: 'https://example.com/wine.jpg', // Auto-fetched! data: {} }); ```
|
|
7840
7828
|
|
|
7841
7829
|
**update**(collectionId: string,
|
|
7842
7830
|
productId: string,
|
|
@@ -7847,9 +7835,6 @@ Update a product for a collection (admin only). The `data` payload is a partial
|
|
|
7847
7835
|
productId: string) → `Promise<void>`
|
|
7848
7836
|
Delete a product for a collection (admin only).
|
|
7849
7837
|
|
|
7850
|
-
**query**(collectionId: string,
|
|
7851
|
-
body: ProductQueryRequest) → `Promise<ProductQueryResponse>`
|
|
7852
|
-
|
|
7853
7838
|
**find**(collectionId: string,
|
|
7854
7839
|
body: ProductQueryRequest) → `Promise<ProductQueryResponse>`
|
|
7855
7840
|
|
|
@@ -7917,12 +7902,6 @@ Look up a serial number by code for a product (admin only).
|
|
|
7917
7902
|
**query**(collectionId: string,
|
|
7918
7903
|
body: ProductQueryRequest) → `Promise<ProductQueryResponse>`
|
|
7919
7904
|
|
|
7920
|
-
**find**(collectionId: string,
|
|
7921
|
-
body: ProductQueryRequest | Record<string, JsonValue>) → `Promise<ProductQueryResponse>`
|
|
7922
|
-
|
|
7923
|
-
**publicFind**(collectionId: string,
|
|
7924
|
-
params?: ProductPublicFindParams) → `Promise<ProductResponse[]>`
|
|
7925
|
-
|
|
7926
7905
|
**clone**(collectionId: string,
|
|
7927
7906
|
productId: string,
|
|
7928
7907
|
body: Record<string, JsonValue> = {}) → `Promise<ProductResponse>`
|
package/openapi.yaml
CHANGED
|
@@ -5433,7 +5433,7 @@ paths:
|
|
|
5433
5433
|
post:
|
|
5434
5434
|
tags:
|
|
5435
5435
|
- product
|
|
5436
|
-
summary: product.
|
|
5436
|
+
summary: Create a new product for a collection (admin only).
|
|
5437
5437
|
operationId: product_create
|
|
5438
5438
|
security:
|
|
5439
5439
|
- bearerAuth: []
|
|
@@ -5495,39 +5495,6 @@ paths:
|
|
|
5495
5495
|
application/json:
|
|
5496
5496
|
schema:
|
|
5497
5497
|
$ref: "#/components/schemas/ProductQueryRequest"
|
|
5498
|
-
/admin/collection/{collectionId}/product/query:
|
|
5499
|
-
post:
|
|
5500
|
-
tags:
|
|
5501
|
-
- product
|
|
5502
|
-
summary: Delete a product for a collection (admin only).
|
|
5503
|
-
operationId: product_query
|
|
5504
|
-
security:
|
|
5505
|
-
- bearerAuth: []
|
|
5506
|
-
parameters:
|
|
5507
|
-
- name: collectionId
|
|
5508
|
-
in: path
|
|
5509
|
-
required: true
|
|
5510
|
-
schema:
|
|
5511
|
-
type: string
|
|
5512
|
-
responses:
|
|
5513
|
-
200:
|
|
5514
|
-
description: Success
|
|
5515
|
-
content:
|
|
5516
|
-
application/json:
|
|
5517
|
-
schema:
|
|
5518
|
-
$ref: "#/components/schemas/ProductQueryResponse"
|
|
5519
|
-
400:
|
|
5520
|
-
description: Bad request
|
|
5521
|
-
401:
|
|
5522
|
-
description: Unauthorized
|
|
5523
|
-
404:
|
|
5524
|
-
description: Not found
|
|
5525
|
-
requestBody:
|
|
5526
|
-
required: true
|
|
5527
|
-
content:
|
|
5528
|
-
application/json:
|
|
5529
|
-
schema:
|
|
5530
|
-
$ref: "#/components/schemas/ProductQueryRequest"
|
|
5531
5498
|
/admin/collection/{collectionId}/product/{productId}:
|
|
5532
5499
|
put:
|
|
5533
5500
|
tags:
|
|
@@ -6231,40 +6198,6 @@ paths:
|
|
|
6231
6198
|
application/json:
|
|
6232
6199
|
schema:
|
|
6233
6200
|
$ref: "#/components/schemas/ProductCreateRequest"
|
|
6234
|
-
/admin/collection/{collectionId}/products/find:
|
|
6235
|
-
post:
|
|
6236
|
-
tags:
|
|
6237
|
-
- products
|
|
6238
|
-
summary: products.find
|
|
6239
|
-
operationId: products_find
|
|
6240
|
-
security:
|
|
6241
|
-
- bearerAuth: []
|
|
6242
|
-
parameters:
|
|
6243
|
-
- name: collectionId
|
|
6244
|
-
in: path
|
|
6245
|
-
required: true
|
|
6246
|
-
schema:
|
|
6247
|
-
type: string
|
|
6248
|
-
responses:
|
|
6249
|
-
200:
|
|
6250
|
-
description: Success
|
|
6251
|
-
content:
|
|
6252
|
-
application/json:
|
|
6253
|
-
schema:
|
|
6254
|
-
$ref: "#/components/schemas/ProductQueryResponse"
|
|
6255
|
-
400:
|
|
6256
|
-
description: Bad request
|
|
6257
|
-
401:
|
|
6258
|
-
description: Unauthorized
|
|
6259
|
-
404:
|
|
6260
|
-
description: Not found
|
|
6261
|
-
requestBody:
|
|
6262
|
-
required: true
|
|
6263
|
-
content:
|
|
6264
|
-
application/json:
|
|
6265
|
-
schema:
|
|
6266
|
-
type: object
|
|
6267
|
-
additionalProperties: true
|
|
6268
6201
|
/admin/collection/{collectionId}/products/query:
|
|
6269
6202
|
post:
|
|
6270
6203
|
tags:
|
|
@@ -10005,7 +9938,7 @@ paths:
|
|
|
10005
9938
|
get:
|
|
10006
9939
|
tags:
|
|
10007
9940
|
- product
|
|
10008
|
-
summary: "/ export async function
|
|
9941
|
+
summary: "/ export async function find( collectionId: string, body: ProductQueryRequest ): Promise<ProductQueryResponse> { const p"
|
|
10009
9942
|
operationId: product_publicFind
|
|
10010
9943
|
security: []
|
|
10011
9944
|
parameters:
|
|
@@ -10496,34 +10429,6 @@ paths:
|
|
|
10496
10429
|
application/json:
|
|
10497
10430
|
schema:
|
|
10498
10431
|
$ref: "#/components/schemas/ProofClaimRequest"
|
|
10499
|
-
/public/collection/{collectionId}/products/find:
|
|
10500
|
-
get:
|
|
10501
|
-
tags:
|
|
10502
|
-
- products
|
|
10503
|
-
summary: products.publicFind
|
|
10504
|
-
operationId: products_publicFind
|
|
10505
|
-
security: []
|
|
10506
|
-
parameters:
|
|
10507
|
-
- name: collectionId
|
|
10508
|
-
in: path
|
|
10509
|
-
required: true
|
|
10510
|
-
schema:
|
|
10511
|
-
type: string
|
|
10512
|
-
responses:
|
|
10513
|
-
200:
|
|
10514
|
-
description: Success
|
|
10515
|
-
content:
|
|
10516
|
-
application/json:
|
|
10517
|
-
schema:
|
|
10518
|
-
type: array
|
|
10519
|
-
items:
|
|
10520
|
-
$ref: "#/components/schemas/ProductResponse"
|
|
10521
|
-
400:
|
|
10522
|
-
description: Bad request
|
|
10523
|
-
401:
|
|
10524
|
-
description: Unauthorized
|
|
10525
|
-
404:
|
|
10526
|
-
description: Not found
|
|
10527
10432
|
/public/collection/{collectionId}/products/{productId}/createClaim:
|
|
10528
10433
|
post:
|
|
10529
10434
|
tags:
|
|
@@ -20140,22 +20045,6 @@ components:
|
|
|
20140
20045
|
type: array
|
|
20141
20046
|
items:
|
|
20142
20047
|
type: string
|
|
20143
|
-
category:
|
|
20144
|
-
type: array
|
|
20145
|
-
items:
|
|
20146
|
-
type: string
|
|
20147
|
-
type:
|
|
20148
|
-
type: array
|
|
20149
|
-
items:
|
|
20150
|
-
type: string
|
|
20151
|
-
schemaType:
|
|
20152
|
-
type: array
|
|
20153
|
-
items:
|
|
20154
|
-
type: string
|
|
20155
|
-
tags:
|
|
20156
|
-
type: array
|
|
20157
|
-
items:
|
|
20158
|
-
type: string
|
|
20159
20048
|
productIds:
|
|
20160
20049
|
type: array
|
|
20161
20050
|
items:
|
|
@@ -20200,13 +20089,6 @@ components:
|
|
|
20200
20089
|
required:
|
|
20201
20090
|
- field
|
|
20202
20091
|
- direction
|
|
20203
|
-
ProductAdminData:
|
|
20204
|
-
type: object
|
|
20205
|
-
properties:
|
|
20206
|
-
allowAutoGenerateClaims:
|
|
20207
|
-
type: boolean
|
|
20208
|
-
lastSerialId:
|
|
20209
|
-
type: number
|
|
20210
20092
|
Product:
|
|
20211
20093
|
type: object
|
|
20212
20094
|
properties:
|
|
@@ -20226,12 +20108,6 @@ components:
|
|
|
20226
20108
|
$ref: "#/components/schemas/AdditionalGtin"
|
|
20227
20109
|
sku:
|
|
20228
20110
|
type: string
|
|
20229
|
-
schemaType:
|
|
20230
|
-
type: string
|
|
20231
|
-
type:
|
|
20232
|
-
type: string
|
|
20233
|
-
category:
|
|
20234
|
-
type: string
|
|
20235
20111
|
label:
|
|
20236
20112
|
type: string
|
|
20237
20113
|
status:
|
|
@@ -20242,16 +20118,14 @@ components:
|
|
|
20242
20118
|
$ref: "#/components/schemas/ProductImage"
|
|
20243
20119
|
facets:
|
|
20244
20120
|
$ref: "#/components/schemas/ProductFacetMap"
|
|
20245
|
-
tags:
|
|
20246
|
-
type: object
|
|
20247
|
-
additionalProperties:
|
|
20248
|
-
type: boolean
|
|
20249
20121
|
data:
|
|
20250
20122
|
type: object
|
|
20251
20123
|
additionalProperties:
|
|
20252
20124
|
$ref: "#/components/schemas/JsonValue"
|
|
20253
20125
|
admin:
|
|
20254
|
-
|
|
20126
|
+
type: object
|
|
20127
|
+
additionalProperties:
|
|
20128
|
+
$ref: "#/components/schemas/JsonValue"
|
|
20255
20129
|
extra:
|
|
20256
20130
|
type: object
|
|
20257
20131
|
additionalProperties:
|
|
@@ -20293,12 +20167,6 @@ components:
|
|
|
20293
20167
|
$ref: "#/components/schemas/AdditionalGtin"
|
|
20294
20168
|
sku:
|
|
20295
20169
|
type: string
|
|
20296
|
-
schemaType:
|
|
20297
|
-
type: string
|
|
20298
|
-
type:
|
|
20299
|
-
type: string
|
|
20300
|
-
category:
|
|
20301
|
-
type: string
|
|
20302
20170
|
label:
|
|
20303
20171
|
type: string
|
|
20304
20172
|
status:
|
|
@@ -20310,16 +20178,14 @@ components:
|
|
|
20310
20178
|
additionalProperties: true
|
|
20311
20179
|
facets:
|
|
20312
20180
|
$ref: "#/components/schemas/ProductFacetMap"
|
|
20313
|
-
tags:
|
|
20314
|
-
type: object
|
|
20315
|
-
additionalProperties:
|
|
20316
|
-
type: boolean
|
|
20317
20181
|
data:
|
|
20318
20182
|
type: object
|
|
20319
20183
|
additionalProperties:
|
|
20320
20184
|
$ref: "#/components/schemas/JsonValue"
|
|
20321
20185
|
admin:
|
|
20322
|
-
|
|
20186
|
+
type: object
|
|
20187
|
+
additionalProperties:
|
|
20188
|
+
$ref: "#/components/schemas/JsonValue"
|
|
20323
20189
|
extra:
|
|
20324
20190
|
type: object
|
|
20325
20191
|
additionalProperties:
|