@proveanything/smartlinks 1.9.14 → 1.9.15
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/config.d.ts +19 -0
- package/dist/api/config.js +27 -0
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.js +1 -0
- package/dist/docs/API_SUMMARY.md +94 -1
- package/dist/openapi.yaml +171 -0
- package/dist/types/config.d.ts +132 -0
- package/dist/types/config.js +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -0
- package/docs/API_SUMMARY.md +94 -1
- package/openapi.yaml +171 -0
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { FieldDefinition, ProofTypeDefinition } from "../types/config";
|
|
2
|
+
export declare namespace config {
|
|
3
|
+
/**
|
|
4
|
+
* Returns the full platform field catalog.
|
|
5
|
+
* Fields are used as building blocks for proof type templates — they define
|
|
6
|
+
* the input widgets shown when creating or editing products and proof items.
|
|
7
|
+
*
|
|
8
|
+
* **Endpoint:** `GET /api/v1/public/config/fields`
|
|
9
|
+
*/
|
|
10
|
+
function getFields(): Promise<FieldDefinition[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Returns all proof type definitions.
|
|
13
|
+
* Proof types are templates that specify which fields to show, which apps are
|
|
14
|
+
* pre-installed, and how the portal behaves for a given product category.
|
|
15
|
+
*
|
|
16
|
+
* **Endpoint:** `GET /api/v1/public/config/proofTypes`
|
|
17
|
+
*/
|
|
18
|
+
function getProofTypes(): Promise<ProofTypeDefinition[]>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// src/api/config.ts
|
|
2
|
+
import { request } from "../http";
|
|
3
|
+
export var config;
|
|
4
|
+
(function (config) {
|
|
5
|
+
/**
|
|
6
|
+
* Returns the full platform field catalog.
|
|
7
|
+
* Fields are used as building blocks for proof type templates — they define
|
|
8
|
+
* the input widgets shown when creating or editing products and proof items.
|
|
9
|
+
*
|
|
10
|
+
* **Endpoint:** `GET /api/v1/public/config/fields`
|
|
11
|
+
*/
|
|
12
|
+
async function getFields() {
|
|
13
|
+
return request("/public/config/fields");
|
|
14
|
+
}
|
|
15
|
+
config.getFields = getFields;
|
|
16
|
+
/**
|
|
17
|
+
* Returns all proof type definitions.
|
|
18
|
+
* Proof types are templates that specify which fields to show, which apps are
|
|
19
|
+
* pre-installed, and how the portal behaves for a given product category.
|
|
20
|
+
*
|
|
21
|
+
* **Endpoint:** `GET /api/v1/public/config/proofTypes`
|
|
22
|
+
*/
|
|
23
|
+
async function getProofTypes() {
|
|
24
|
+
return request("/public/config/proofTypes");
|
|
25
|
+
}
|
|
26
|
+
config.getProofTypes = getProofTypes;
|
|
27
|
+
})(config || (config = {}));
|
package/dist/api/index.d.ts
CHANGED
package/dist/api/index.js
CHANGED
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.15 | Generated: 2026-04-13T12:48:02.968Z
|
|
4
4
|
|
|
5
5
|
This is a concise summary of all available API functions and types.
|
|
6
6
|
|
|
@@ -103,6 +103,7 @@ The Smartlinks SDK is organized into the following namespaces:
|
|
|
103
103
|
- **async** - Functions for async operations
|
|
104
104
|
- **attestation** - Functions for attestation operations
|
|
105
105
|
- **attestations** - Functions for attestations operations
|
|
106
|
+
- **config** - Functions for config operations
|
|
106
107
|
- **containers** - Functions for containers operations
|
|
107
108
|
- **facets** - Functions for facets operations
|
|
108
109
|
- **jobs** - Functions for jobs operations
|
|
@@ -3745,6 +3746,90 @@ export interface TransactionalSendError {
|
|
|
3745
3746
|
|
|
3746
3747
|
export type TransactionalSendResult =`
|
|
3747
3748
|
|
|
3749
|
+
### config
|
|
3750
|
+
|
|
3751
|
+
**FieldOption** (interface)
|
|
3752
|
+
```typescript
|
|
3753
|
+
interface FieldOption {
|
|
3754
|
+
label: string
|
|
3755
|
+
value: string
|
|
3756
|
+
}
|
|
3757
|
+
```
|
|
3758
|
+
|
|
3759
|
+
**FieldDefinition** (interface)
|
|
3760
|
+
```typescript
|
|
3761
|
+
interface FieldDefinition {
|
|
3762
|
+
id: string
|
|
3763
|
+
label: string
|
|
3764
|
+
storageKey?: string
|
|
3765
|
+
type: FieldType
|
|
3766
|
+
options?: FieldOption[]
|
|
3767
|
+
required?: boolean
|
|
3768
|
+
col?: number
|
|
3769
|
+
placeholder?: string
|
|
3770
|
+
help?: string
|
|
3771
|
+
min?: number
|
|
3772
|
+
max?: number
|
|
3773
|
+
step?: number
|
|
3774
|
+
rows?: number
|
|
3775
|
+
autoGrow?: boolean
|
|
3776
|
+
accept?: string
|
|
3777
|
+
clearable?: boolean
|
|
3778
|
+
disabled?: boolean
|
|
3779
|
+
* Conditional visibility. If absent the field is always shown.
|
|
3780
|
+
* Object form: `{ field: 'someKey', equals: 'someValue' }` — show when `model[field] === equals`.
|
|
3781
|
+
showIf?: { field: string; equals: unknown }
|
|
3782
|
+
}
|
|
3783
|
+
```
|
|
3784
|
+
|
|
3785
|
+
**ProofTypeDefinition** (interface)
|
|
3786
|
+
```typescript
|
|
3787
|
+
interface ProofTypeDefinition {
|
|
3788
|
+
id: string
|
|
3789
|
+
name: string
|
|
3790
|
+
description?: string
|
|
3791
|
+
* Grouping used to organise proof types in the picker.
|
|
3792
|
+
* Examples: 'basic', 'retail', 'ownable', 'consumable', 'attendance',
|
|
3793
|
+
* 'qualification', 'creative', 'memories', 'safety', 'connected',
|
|
3794
|
+
* 'smartdocent', 'tradable'
|
|
3795
|
+
category?: string
|
|
3796
|
+
* Whether this proof type is shown to users.
|
|
3797
|
+
* Only types with `active === true` are returned to the public API
|
|
3798
|
+
* when the platform admin has filtered by "Only Active".
|
|
3799
|
+
active?: boolean
|
|
3800
|
+
group: boolean
|
|
3801
|
+
* The underlying proof mechanisms that products of this type can use.
|
|
3802
|
+
* Stored as `proofTypes` (plural) on the product document.
|
|
3803
|
+
proofTypes?: ProofMechanism[]
|
|
3804
|
+
proofType?: ProofMechanism
|
|
3805
|
+
* Field IDs (from the field catalog) shown when creating/editing the product group.
|
|
3806
|
+
* Ordered — rendered in this sequence.
|
|
3807
|
+
groupFields?: string[]
|
|
3808
|
+
* Field IDs shown when creating/editing an individual proof item within the group.
|
|
3809
|
+
* If absent, falls back to groupFields.
|
|
3810
|
+
proofFields?: string[]
|
|
3811
|
+
* Column definitions shown in the proof list view.
|
|
3812
|
+
* Keys are field IDs; value true means show the column.
|
|
3813
|
+
listFields?: Record<string, boolean>
|
|
3814
|
+
* App uniqueNames automatically installed (for free) when this proof type is selected.
|
|
3815
|
+
freeApps?: string[]
|
|
3816
|
+
* App uniqueNames shown as recommended paid add-ons for this proof type.
|
|
3817
|
+
apps?: string[]
|
|
3818
|
+
collection?: string
|
|
3819
|
+
action?: string
|
|
3820
|
+
bound?: 'soul'
|
|
3821
|
+
* UI translation overrides for this proof type.
|
|
3822
|
+
* Keys are source English words; values are replacement strings.
|
|
3823
|
+
* Example: `{ "Products": "Works" }`
|
|
3824
|
+
translations?: Record<string, string>
|
|
3825
|
+
hideProductTools?: boolean
|
|
3826
|
+
}
|
|
3827
|
+
```
|
|
3828
|
+
|
|
3829
|
+
**FieldType** = ``
|
|
3830
|
+
|
|
3831
|
+
**ProofMechanism** = ``
|
|
3832
|
+
|
|
3748
3833
|
### contact
|
|
3749
3834
|
|
|
3750
3835
|
**Contact** (interface)
|
|
@@ -7637,6 +7722,14 @@ Logging: Append a single communication event. POST /admin/collection/:collection
|
|
|
7637
7722
|
body: LogBulkCommunicationEventsBody | ({ sourceId: string; ids: string[]; idField?: 'userId'|'contactId'; [k: string]: any }) → `void`
|
|
7638
7723
|
Logging: Append many communication events for a list of IDs. POST /admin/collection/:collectionId/comm/log/bulk
|
|
7639
7724
|
|
|
7725
|
+
### config
|
|
7726
|
+
|
|
7727
|
+
**getFields**() → `Promise<FieldDefinition[]>`
|
|
7728
|
+
Returns the full platform field catalog. Fields are used as building blocks for proof type templates — they define the input widgets shown when creating or editing products and proof items. **Endpoint:** `GET /api/v1/public/config/fields`
|
|
7729
|
+
|
|
7730
|
+
**getProofTypes**() → `Promise<ProofTypeDefinition[]>`
|
|
7731
|
+
Returns all proof type definitions. Proof types are templates that specify which fields to show, which apps are pre-installed, and how the portal behaves for a given product category. **Endpoint:** `GET /api/v1/public/config/proofTypes`
|
|
7732
|
+
|
|
7640
7733
|
### contact
|
|
7641
7734
|
|
|
7642
7735
|
**create**(collectionId: string, data: ContactCreateRequest) → `Promise<ContactResponse>`
|
package/dist/openapi.yaml
CHANGED
|
@@ -32,6 +32,7 @@ tags:
|
|
|
32
32
|
- name: claimSet
|
|
33
33
|
- name: collection
|
|
34
34
|
- name: comms
|
|
35
|
+
- name: config
|
|
35
36
|
- name: contact
|
|
36
37
|
- name: containers
|
|
37
38
|
- name: crate
|
|
@@ -11831,6 +11832,50 @@ paths:
|
|
|
11831
11832
|
application/json:
|
|
11832
11833
|
schema:
|
|
11833
11834
|
$ref: "#/components/schemas/TranslationLookupRequest"
|
|
11835
|
+
/public/config/fields:
|
|
11836
|
+
get:
|
|
11837
|
+
tags:
|
|
11838
|
+
- config
|
|
11839
|
+
summary: Returns the full platform field catalog.
|
|
11840
|
+
operationId: config_getFields
|
|
11841
|
+
security: []
|
|
11842
|
+
responses:
|
|
11843
|
+
200:
|
|
11844
|
+
description: Success
|
|
11845
|
+
content:
|
|
11846
|
+
application/json:
|
|
11847
|
+
schema:
|
|
11848
|
+
type: array
|
|
11849
|
+
items:
|
|
11850
|
+
$ref: "#/components/schemas/FieldDefinition"
|
|
11851
|
+
400:
|
|
11852
|
+
description: Bad request
|
|
11853
|
+
401:
|
|
11854
|
+
description: Unauthorized
|
|
11855
|
+
404:
|
|
11856
|
+
description: Not found
|
|
11857
|
+
/public/config/proofTypes:
|
|
11858
|
+
get:
|
|
11859
|
+
tags:
|
|
11860
|
+
- config
|
|
11861
|
+
summary: Returns the full platform field catalog.
|
|
11862
|
+
operationId: config_getProofTypes
|
|
11863
|
+
security: []
|
|
11864
|
+
responses:
|
|
11865
|
+
200:
|
|
11866
|
+
description: Success
|
|
11867
|
+
content:
|
|
11868
|
+
application/json:
|
|
11869
|
+
schema:
|
|
11870
|
+
type: array
|
|
11871
|
+
items:
|
|
11872
|
+
$ref: "#/components/schemas/ProofTypeDefinition"
|
|
11873
|
+
400:
|
|
11874
|
+
description: Bad request
|
|
11875
|
+
401:
|
|
11876
|
+
description: Unauthorized
|
|
11877
|
+
404:
|
|
11878
|
+
description: Not found
|
|
11834
11879
|
/public/location/{locationId}:
|
|
11835
11880
|
get:
|
|
11836
11881
|
tags:
|
|
@@ -17691,6 +17736,132 @@ components:
|
|
|
17691
17736
|
required:
|
|
17692
17737
|
- ok
|
|
17693
17738
|
- error
|
|
17739
|
+
FieldOption:
|
|
17740
|
+
type: object
|
|
17741
|
+
properties:
|
|
17742
|
+
label:
|
|
17743
|
+
type: string
|
|
17744
|
+
value:
|
|
17745
|
+
type: string
|
|
17746
|
+
required:
|
|
17747
|
+
- label
|
|
17748
|
+
- value
|
|
17749
|
+
FieldDefinition:
|
|
17750
|
+
type: object
|
|
17751
|
+
properties:
|
|
17752
|
+
id:
|
|
17753
|
+
type: string
|
|
17754
|
+
label:
|
|
17755
|
+
type: string
|
|
17756
|
+
storageKey:
|
|
17757
|
+
type: string
|
|
17758
|
+
type:
|
|
17759
|
+
$ref: "#/components/schemas/FieldType"
|
|
17760
|
+
options:
|
|
17761
|
+
type: array
|
|
17762
|
+
items:
|
|
17763
|
+
$ref: "#/components/schemas/FieldOption"
|
|
17764
|
+
required:
|
|
17765
|
+
type: boolean
|
|
17766
|
+
col:
|
|
17767
|
+
type: number
|
|
17768
|
+
placeholder:
|
|
17769
|
+
type: string
|
|
17770
|
+
help:
|
|
17771
|
+
type: string
|
|
17772
|
+
min:
|
|
17773
|
+
type: number
|
|
17774
|
+
max:
|
|
17775
|
+
type: number
|
|
17776
|
+
step:
|
|
17777
|
+
type: number
|
|
17778
|
+
rows:
|
|
17779
|
+
type: number
|
|
17780
|
+
autoGrow:
|
|
17781
|
+
type: boolean
|
|
17782
|
+
accept:
|
|
17783
|
+
type: string
|
|
17784
|
+
clearable:
|
|
17785
|
+
type: boolean
|
|
17786
|
+
disabled:
|
|
17787
|
+
type: boolean
|
|
17788
|
+
showIf:
|
|
17789
|
+
type: object
|
|
17790
|
+
additionalProperties: true
|
|
17791
|
+
required:
|
|
17792
|
+
- id
|
|
17793
|
+
- label
|
|
17794
|
+
- type
|
|
17795
|
+
ProofTypeDefinition:
|
|
17796
|
+
type: object
|
|
17797
|
+
properties:
|
|
17798
|
+
id:
|
|
17799
|
+
type: string
|
|
17800
|
+
name:
|
|
17801
|
+
type: string
|
|
17802
|
+
description:
|
|
17803
|
+
type: string
|
|
17804
|
+
category:
|
|
17805
|
+
type: string
|
|
17806
|
+
active:
|
|
17807
|
+
type: boolean
|
|
17808
|
+
group:
|
|
17809
|
+
type: boolean
|
|
17810
|
+
proofTypes:
|
|
17811
|
+
type: array
|
|
17812
|
+
items:
|
|
17813
|
+
$ref: "#/components/schemas/ProofMechanism"
|
|
17814
|
+
proofType:
|
|
17815
|
+
$ref: "#/components/schemas/ProofMechanism"
|
|
17816
|
+
groupFields:
|
|
17817
|
+
type: array
|
|
17818
|
+
items:
|
|
17819
|
+
type: string
|
|
17820
|
+
proofFields:
|
|
17821
|
+
type: array
|
|
17822
|
+
items:
|
|
17823
|
+
type: string
|
|
17824
|
+
listFields:
|
|
17825
|
+
type: object
|
|
17826
|
+
additionalProperties:
|
|
17827
|
+
type: boolean
|
|
17828
|
+
freeApps:
|
|
17829
|
+
type: array
|
|
17830
|
+
items:
|
|
17831
|
+
type: string
|
|
17832
|
+
apps:
|
|
17833
|
+
type: array
|
|
17834
|
+
items:
|
|
17835
|
+
type: string
|
|
17836
|
+
collection:
|
|
17837
|
+
type: string
|
|
17838
|
+
action:
|
|
17839
|
+
type: string
|
|
17840
|
+
bound:
|
|
17841
|
+
type: string
|
|
17842
|
+
enum:
|
|
17843
|
+
- soul
|
|
17844
|
+
translations:
|
|
17845
|
+
type: object
|
|
17846
|
+
additionalProperties:
|
|
17847
|
+
type: string
|
|
17848
|
+
hideProductTools:
|
|
17849
|
+
type: boolean
|
|
17850
|
+
required:
|
|
17851
|
+
- id
|
|
17852
|
+
- name
|
|
17853
|
+
- group
|
|
17854
|
+
FieldType:
|
|
17855
|
+
type: array
|
|
17856
|
+
items:
|
|
17857
|
+
type: string
|
|
17858
|
+
enum:
|
|
17859
|
+
- text
|
|
17860
|
+
- email
|
|
17861
|
+
- url
|
|
17862
|
+
- textarea
|
|
17863
|
+
- number
|
|
17864
|
+
- select
|
|
17694
17865
|
Contact:
|
|
17695
17866
|
type: object
|
|
17696
17867
|
properties:
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/** Accepted input widget types for a FieldDefinition. */
|
|
2
|
+
export type FieldType = 'text' | 'email' | 'url' | 'textarea' | 'number' | 'select' | 'switch' | 'checkbox' | 'date' | 'json' | 'image-upload' | 'file-upload';
|
|
3
|
+
/** A label/value pair used when FieldDefinition.type === 'select'. */
|
|
4
|
+
export interface FieldOption {
|
|
5
|
+
label: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A single entry in the platform field catalog.
|
|
10
|
+
* Fields are referenced by their `id` inside ProofTypeDefinition.groupFields / proofFields arrays.
|
|
11
|
+
*/
|
|
12
|
+
export interface FieldDefinition {
|
|
13
|
+
/** Unique identifier, kebab-case. Auto-generated from `label` if omitted on create. */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Human-readable display label shown in forms. */
|
|
16
|
+
label: string;
|
|
17
|
+
/** Key used when storing the value on the product/proof document. Defaults to `id`. */
|
|
18
|
+
storageKey?: string;
|
|
19
|
+
/** Input widget type. */
|
|
20
|
+
type: FieldType;
|
|
21
|
+
/** Available choices — only relevant when type === 'select'. */
|
|
22
|
+
options?: FieldOption[];
|
|
23
|
+
/** Whether the field must be filled in. */
|
|
24
|
+
required?: boolean;
|
|
25
|
+
/** Column span (1–12) in a 12-column grid. */
|
|
26
|
+
col?: number;
|
|
27
|
+
/** Placeholder text shown inside the input. */
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
/** Descriptive hint shown below the input. */
|
|
30
|
+
help?: string;
|
|
31
|
+
/** Numeric minimum — only relevant when type === 'number'. */
|
|
32
|
+
min?: number;
|
|
33
|
+
/** Numeric maximum — only relevant when type === 'number'. */
|
|
34
|
+
max?: number;
|
|
35
|
+
/** Step increment — only relevant when type === 'number'. */
|
|
36
|
+
step?: number;
|
|
37
|
+
/** Number of visible rows — only relevant when type === 'textarea' or 'json'. */
|
|
38
|
+
rows?: number;
|
|
39
|
+
/** Auto-grow textarea height — only relevant when type === 'textarea'. */
|
|
40
|
+
autoGrow?: boolean;
|
|
41
|
+
/** Accept filter passed to the file input — only relevant when type === 'image-upload' or 'file-upload'. Examples: 'image/*', '.glb,.gltf,.fbx' */
|
|
42
|
+
accept?: string;
|
|
43
|
+
/** Whether the input has a clear (×) button (text/number fields). Default true. */
|
|
44
|
+
clearable?: boolean;
|
|
45
|
+
/** Disable this field regardless of model state. */
|
|
46
|
+
disabled?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Conditional visibility. If absent the field is always shown.
|
|
49
|
+
* Object form: `{ field: 'someKey', equals: 'someValue' }` — show when `model[field] === equals`.
|
|
50
|
+
*/
|
|
51
|
+
showIf?: {
|
|
52
|
+
field: string;
|
|
53
|
+
equals: unknown;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The base proof mechanism that items in a proof type use.
|
|
58
|
+
* Matches the `proofType` / `proofTypes` values stored on product documents.
|
|
59
|
+
*/
|
|
60
|
+
export type ProofMechanism = 'certificate' | 'ownable' | 'consumable' | 'timeline' | 'docent' | 'connected' | 'text' | 'image' | 'video';
|
|
61
|
+
/**
|
|
62
|
+
* A proof type defines a template for creating products.
|
|
63
|
+
* It specifies which fields to show, which apps are pre-installed,
|
|
64
|
+
* and how the portal should behave.
|
|
65
|
+
*/
|
|
66
|
+
export interface ProofTypeDefinition {
|
|
67
|
+
/** Unique identifier, kebab-case. Auto-generated from `name` if omitted on create. */
|
|
68
|
+
id: string;
|
|
69
|
+
/** Human-readable name shown in product-creation wizards. */
|
|
70
|
+
name: string;
|
|
71
|
+
/** Long description shown in the proof type picker UI. */
|
|
72
|
+
description?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Grouping used to organise proof types in the picker.
|
|
75
|
+
* Examples: 'basic', 'retail', 'ownable', 'consumable', 'attendance',
|
|
76
|
+
* 'qualification', 'creative', 'memories', 'safety', 'connected',
|
|
77
|
+
* 'smartdocent', 'tradable'
|
|
78
|
+
*/
|
|
79
|
+
category?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Whether this proof type is shown to users.
|
|
82
|
+
* Only types with `active === true` are returned to the public API
|
|
83
|
+
* when the platform admin has filtered by "Only Active".
|
|
84
|
+
*/
|
|
85
|
+
active?: boolean;
|
|
86
|
+
/** Whether this proof type produces a group of items (true) or a single item (false). */
|
|
87
|
+
group: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* The underlying proof mechanisms that products of this type can use.
|
|
90
|
+
* Stored as `proofTypes` (plural) on the product document.
|
|
91
|
+
*/
|
|
92
|
+
proofTypes?: ProofMechanism[];
|
|
93
|
+
/** Legacy single-value equivalent of proofTypes. */
|
|
94
|
+
proofType?: ProofMechanism;
|
|
95
|
+
/**
|
|
96
|
+
* Field IDs (from the field catalog) shown when creating/editing the product group.
|
|
97
|
+
* Ordered — rendered in this sequence.
|
|
98
|
+
*/
|
|
99
|
+
groupFields?: string[];
|
|
100
|
+
/**
|
|
101
|
+
* Field IDs shown when creating/editing an individual proof item within the group.
|
|
102
|
+
* If absent, falls back to groupFields.
|
|
103
|
+
*/
|
|
104
|
+
proofFields?: string[];
|
|
105
|
+
/**
|
|
106
|
+
* Column definitions shown in the proof list view.
|
|
107
|
+
* Keys are field IDs; value true means show the column.
|
|
108
|
+
*/
|
|
109
|
+
listFields?: Record<string, boolean>;
|
|
110
|
+
/**
|
|
111
|
+
* App uniqueNames automatically installed (for free) when this proof type is selected.
|
|
112
|
+
*/
|
|
113
|
+
freeApps?: string[];
|
|
114
|
+
/**
|
|
115
|
+
* App uniqueNames shown as recommended paid add-ons for this proof type.
|
|
116
|
+
*/
|
|
117
|
+
apps?: string[];
|
|
118
|
+
/** Collection-level slug that this proof type is scoped to (legacy, rarely used). */
|
|
119
|
+
collection?: string;
|
|
120
|
+
/** Action name used by the legacy proof action pipeline. */
|
|
121
|
+
action?: string;
|
|
122
|
+
/** Whether items are soul-bound (non-transferable by default). */
|
|
123
|
+
bound?: 'soul';
|
|
124
|
+
/**
|
|
125
|
+
* UI translation overrides for this proof type.
|
|
126
|
+
* Keys are source English words; values are replacement strings.
|
|
127
|
+
* Example: `{ "Products": "Works" }`
|
|
128
|
+
*/
|
|
129
|
+
translations?: Record<string, string>;
|
|
130
|
+
/** Whether product tools (edit, duplicate, etc.) are hidden in the console UI. */
|
|
131
|
+
hideProductTools?: boolean;
|
|
132
|
+
}
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/index.js
CHANGED
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.15 | Generated: 2026-04-13T12:48:02.968Z
|
|
4
4
|
|
|
5
5
|
This is a concise summary of all available API functions and types.
|
|
6
6
|
|
|
@@ -103,6 +103,7 @@ The Smartlinks SDK is organized into the following namespaces:
|
|
|
103
103
|
- **async** - Functions for async operations
|
|
104
104
|
- **attestation** - Functions for attestation operations
|
|
105
105
|
- **attestations** - Functions for attestations operations
|
|
106
|
+
- **config** - Functions for config operations
|
|
106
107
|
- **containers** - Functions for containers operations
|
|
107
108
|
- **facets** - Functions for facets operations
|
|
108
109
|
- **jobs** - Functions for jobs operations
|
|
@@ -3745,6 +3746,90 @@ export interface TransactionalSendError {
|
|
|
3745
3746
|
|
|
3746
3747
|
export type TransactionalSendResult =`
|
|
3747
3748
|
|
|
3749
|
+
### config
|
|
3750
|
+
|
|
3751
|
+
**FieldOption** (interface)
|
|
3752
|
+
```typescript
|
|
3753
|
+
interface FieldOption {
|
|
3754
|
+
label: string
|
|
3755
|
+
value: string
|
|
3756
|
+
}
|
|
3757
|
+
```
|
|
3758
|
+
|
|
3759
|
+
**FieldDefinition** (interface)
|
|
3760
|
+
```typescript
|
|
3761
|
+
interface FieldDefinition {
|
|
3762
|
+
id: string
|
|
3763
|
+
label: string
|
|
3764
|
+
storageKey?: string
|
|
3765
|
+
type: FieldType
|
|
3766
|
+
options?: FieldOption[]
|
|
3767
|
+
required?: boolean
|
|
3768
|
+
col?: number
|
|
3769
|
+
placeholder?: string
|
|
3770
|
+
help?: string
|
|
3771
|
+
min?: number
|
|
3772
|
+
max?: number
|
|
3773
|
+
step?: number
|
|
3774
|
+
rows?: number
|
|
3775
|
+
autoGrow?: boolean
|
|
3776
|
+
accept?: string
|
|
3777
|
+
clearable?: boolean
|
|
3778
|
+
disabled?: boolean
|
|
3779
|
+
* Conditional visibility. If absent the field is always shown.
|
|
3780
|
+
* Object form: `{ field: 'someKey', equals: 'someValue' }` — show when `model[field] === equals`.
|
|
3781
|
+
showIf?: { field: string; equals: unknown }
|
|
3782
|
+
}
|
|
3783
|
+
```
|
|
3784
|
+
|
|
3785
|
+
**ProofTypeDefinition** (interface)
|
|
3786
|
+
```typescript
|
|
3787
|
+
interface ProofTypeDefinition {
|
|
3788
|
+
id: string
|
|
3789
|
+
name: string
|
|
3790
|
+
description?: string
|
|
3791
|
+
* Grouping used to organise proof types in the picker.
|
|
3792
|
+
* Examples: 'basic', 'retail', 'ownable', 'consumable', 'attendance',
|
|
3793
|
+
* 'qualification', 'creative', 'memories', 'safety', 'connected',
|
|
3794
|
+
* 'smartdocent', 'tradable'
|
|
3795
|
+
category?: string
|
|
3796
|
+
* Whether this proof type is shown to users.
|
|
3797
|
+
* Only types with `active === true` are returned to the public API
|
|
3798
|
+
* when the platform admin has filtered by "Only Active".
|
|
3799
|
+
active?: boolean
|
|
3800
|
+
group: boolean
|
|
3801
|
+
* The underlying proof mechanisms that products of this type can use.
|
|
3802
|
+
* Stored as `proofTypes` (plural) on the product document.
|
|
3803
|
+
proofTypes?: ProofMechanism[]
|
|
3804
|
+
proofType?: ProofMechanism
|
|
3805
|
+
* Field IDs (from the field catalog) shown when creating/editing the product group.
|
|
3806
|
+
* Ordered — rendered in this sequence.
|
|
3807
|
+
groupFields?: string[]
|
|
3808
|
+
* Field IDs shown when creating/editing an individual proof item within the group.
|
|
3809
|
+
* If absent, falls back to groupFields.
|
|
3810
|
+
proofFields?: string[]
|
|
3811
|
+
* Column definitions shown in the proof list view.
|
|
3812
|
+
* Keys are field IDs; value true means show the column.
|
|
3813
|
+
listFields?: Record<string, boolean>
|
|
3814
|
+
* App uniqueNames automatically installed (for free) when this proof type is selected.
|
|
3815
|
+
freeApps?: string[]
|
|
3816
|
+
* App uniqueNames shown as recommended paid add-ons for this proof type.
|
|
3817
|
+
apps?: string[]
|
|
3818
|
+
collection?: string
|
|
3819
|
+
action?: string
|
|
3820
|
+
bound?: 'soul'
|
|
3821
|
+
* UI translation overrides for this proof type.
|
|
3822
|
+
* Keys are source English words; values are replacement strings.
|
|
3823
|
+
* Example: `{ "Products": "Works" }`
|
|
3824
|
+
translations?: Record<string, string>
|
|
3825
|
+
hideProductTools?: boolean
|
|
3826
|
+
}
|
|
3827
|
+
```
|
|
3828
|
+
|
|
3829
|
+
**FieldType** = ``
|
|
3830
|
+
|
|
3831
|
+
**ProofMechanism** = ``
|
|
3832
|
+
|
|
3748
3833
|
### contact
|
|
3749
3834
|
|
|
3750
3835
|
**Contact** (interface)
|
|
@@ -7637,6 +7722,14 @@ Logging: Append a single communication event. POST /admin/collection/:collection
|
|
|
7637
7722
|
body: LogBulkCommunicationEventsBody | ({ sourceId: string; ids: string[]; idField?: 'userId'|'contactId'; [k: string]: any }) → `void`
|
|
7638
7723
|
Logging: Append many communication events for a list of IDs. POST /admin/collection/:collectionId/comm/log/bulk
|
|
7639
7724
|
|
|
7725
|
+
### config
|
|
7726
|
+
|
|
7727
|
+
**getFields**() → `Promise<FieldDefinition[]>`
|
|
7728
|
+
Returns the full platform field catalog. Fields are used as building blocks for proof type templates — they define the input widgets shown when creating or editing products and proof items. **Endpoint:** `GET /api/v1/public/config/fields`
|
|
7729
|
+
|
|
7730
|
+
**getProofTypes**() → `Promise<ProofTypeDefinition[]>`
|
|
7731
|
+
Returns all proof type definitions. Proof types are templates that specify which fields to show, which apps are pre-installed, and how the portal behaves for a given product category. **Endpoint:** `GET /api/v1/public/config/proofTypes`
|
|
7732
|
+
|
|
7640
7733
|
### contact
|
|
7641
7734
|
|
|
7642
7735
|
**create**(collectionId: string, data: ContactCreateRequest) → `Promise<ContactResponse>`
|
package/openapi.yaml
CHANGED
|
@@ -32,6 +32,7 @@ tags:
|
|
|
32
32
|
- name: claimSet
|
|
33
33
|
- name: collection
|
|
34
34
|
- name: comms
|
|
35
|
+
- name: config
|
|
35
36
|
- name: contact
|
|
36
37
|
- name: containers
|
|
37
38
|
- name: crate
|
|
@@ -11831,6 +11832,50 @@ paths:
|
|
|
11831
11832
|
application/json:
|
|
11832
11833
|
schema:
|
|
11833
11834
|
$ref: "#/components/schemas/TranslationLookupRequest"
|
|
11835
|
+
/public/config/fields:
|
|
11836
|
+
get:
|
|
11837
|
+
tags:
|
|
11838
|
+
- config
|
|
11839
|
+
summary: Returns the full platform field catalog.
|
|
11840
|
+
operationId: config_getFields
|
|
11841
|
+
security: []
|
|
11842
|
+
responses:
|
|
11843
|
+
200:
|
|
11844
|
+
description: Success
|
|
11845
|
+
content:
|
|
11846
|
+
application/json:
|
|
11847
|
+
schema:
|
|
11848
|
+
type: array
|
|
11849
|
+
items:
|
|
11850
|
+
$ref: "#/components/schemas/FieldDefinition"
|
|
11851
|
+
400:
|
|
11852
|
+
description: Bad request
|
|
11853
|
+
401:
|
|
11854
|
+
description: Unauthorized
|
|
11855
|
+
404:
|
|
11856
|
+
description: Not found
|
|
11857
|
+
/public/config/proofTypes:
|
|
11858
|
+
get:
|
|
11859
|
+
tags:
|
|
11860
|
+
- config
|
|
11861
|
+
summary: Returns the full platform field catalog.
|
|
11862
|
+
operationId: config_getProofTypes
|
|
11863
|
+
security: []
|
|
11864
|
+
responses:
|
|
11865
|
+
200:
|
|
11866
|
+
description: Success
|
|
11867
|
+
content:
|
|
11868
|
+
application/json:
|
|
11869
|
+
schema:
|
|
11870
|
+
type: array
|
|
11871
|
+
items:
|
|
11872
|
+
$ref: "#/components/schemas/ProofTypeDefinition"
|
|
11873
|
+
400:
|
|
11874
|
+
description: Bad request
|
|
11875
|
+
401:
|
|
11876
|
+
description: Unauthorized
|
|
11877
|
+
404:
|
|
11878
|
+
description: Not found
|
|
11834
11879
|
/public/location/{locationId}:
|
|
11835
11880
|
get:
|
|
11836
11881
|
tags:
|
|
@@ -17691,6 +17736,132 @@ components:
|
|
|
17691
17736
|
required:
|
|
17692
17737
|
- ok
|
|
17693
17738
|
- error
|
|
17739
|
+
FieldOption:
|
|
17740
|
+
type: object
|
|
17741
|
+
properties:
|
|
17742
|
+
label:
|
|
17743
|
+
type: string
|
|
17744
|
+
value:
|
|
17745
|
+
type: string
|
|
17746
|
+
required:
|
|
17747
|
+
- label
|
|
17748
|
+
- value
|
|
17749
|
+
FieldDefinition:
|
|
17750
|
+
type: object
|
|
17751
|
+
properties:
|
|
17752
|
+
id:
|
|
17753
|
+
type: string
|
|
17754
|
+
label:
|
|
17755
|
+
type: string
|
|
17756
|
+
storageKey:
|
|
17757
|
+
type: string
|
|
17758
|
+
type:
|
|
17759
|
+
$ref: "#/components/schemas/FieldType"
|
|
17760
|
+
options:
|
|
17761
|
+
type: array
|
|
17762
|
+
items:
|
|
17763
|
+
$ref: "#/components/schemas/FieldOption"
|
|
17764
|
+
required:
|
|
17765
|
+
type: boolean
|
|
17766
|
+
col:
|
|
17767
|
+
type: number
|
|
17768
|
+
placeholder:
|
|
17769
|
+
type: string
|
|
17770
|
+
help:
|
|
17771
|
+
type: string
|
|
17772
|
+
min:
|
|
17773
|
+
type: number
|
|
17774
|
+
max:
|
|
17775
|
+
type: number
|
|
17776
|
+
step:
|
|
17777
|
+
type: number
|
|
17778
|
+
rows:
|
|
17779
|
+
type: number
|
|
17780
|
+
autoGrow:
|
|
17781
|
+
type: boolean
|
|
17782
|
+
accept:
|
|
17783
|
+
type: string
|
|
17784
|
+
clearable:
|
|
17785
|
+
type: boolean
|
|
17786
|
+
disabled:
|
|
17787
|
+
type: boolean
|
|
17788
|
+
showIf:
|
|
17789
|
+
type: object
|
|
17790
|
+
additionalProperties: true
|
|
17791
|
+
required:
|
|
17792
|
+
- id
|
|
17793
|
+
- label
|
|
17794
|
+
- type
|
|
17795
|
+
ProofTypeDefinition:
|
|
17796
|
+
type: object
|
|
17797
|
+
properties:
|
|
17798
|
+
id:
|
|
17799
|
+
type: string
|
|
17800
|
+
name:
|
|
17801
|
+
type: string
|
|
17802
|
+
description:
|
|
17803
|
+
type: string
|
|
17804
|
+
category:
|
|
17805
|
+
type: string
|
|
17806
|
+
active:
|
|
17807
|
+
type: boolean
|
|
17808
|
+
group:
|
|
17809
|
+
type: boolean
|
|
17810
|
+
proofTypes:
|
|
17811
|
+
type: array
|
|
17812
|
+
items:
|
|
17813
|
+
$ref: "#/components/schemas/ProofMechanism"
|
|
17814
|
+
proofType:
|
|
17815
|
+
$ref: "#/components/schemas/ProofMechanism"
|
|
17816
|
+
groupFields:
|
|
17817
|
+
type: array
|
|
17818
|
+
items:
|
|
17819
|
+
type: string
|
|
17820
|
+
proofFields:
|
|
17821
|
+
type: array
|
|
17822
|
+
items:
|
|
17823
|
+
type: string
|
|
17824
|
+
listFields:
|
|
17825
|
+
type: object
|
|
17826
|
+
additionalProperties:
|
|
17827
|
+
type: boolean
|
|
17828
|
+
freeApps:
|
|
17829
|
+
type: array
|
|
17830
|
+
items:
|
|
17831
|
+
type: string
|
|
17832
|
+
apps:
|
|
17833
|
+
type: array
|
|
17834
|
+
items:
|
|
17835
|
+
type: string
|
|
17836
|
+
collection:
|
|
17837
|
+
type: string
|
|
17838
|
+
action:
|
|
17839
|
+
type: string
|
|
17840
|
+
bound:
|
|
17841
|
+
type: string
|
|
17842
|
+
enum:
|
|
17843
|
+
- soul
|
|
17844
|
+
translations:
|
|
17845
|
+
type: object
|
|
17846
|
+
additionalProperties:
|
|
17847
|
+
type: string
|
|
17848
|
+
hideProductTools:
|
|
17849
|
+
type: boolean
|
|
17850
|
+
required:
|
|
17851
|
+
- id
|
|
17852
|
+
- name
|
|
17853
|
+
- group
|
|
17854
|
+
FieldType:
|
|
17855
|
+
type: array
|
|
17856
|
+
items:
|
|
17857
|
+
type: string
|
|
17858
|
+
enum:
|
|
17859
|
+
- text
|
|
17860
|
+
- email
|
|
17861
|
+
- url
|
|
17862
|
+
- textarea
|
|
17863
|
+
- number
|
|
17864
|
+
- select
|
|
17694
17865
|
Contact:
|
|
17695
17866
|
type: object
|
|
17696
17867
|
properties:
|