Skip to main content

Class: MetafieldsService

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/metafields.ts:20

Extends​

  • BaseService

Constructors​

Constructor​

new MetafieldsService(client): MetafieldsService

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:12

Parameters​

client​

TanqoryClient

Returns​

MetafieldsService

Inherited from​

BaseService.constructor

Properties​

client​

protected client: TanqoryClient

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:10

Inherited from​

BaseService.client

Methods​

buildQuery()​

protected buildQuery(options?): Record<string, any>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:26

Build query parameters

Parameters​

options?​

ListOptions

Returns​

Record<string, any>

Inherited from​

BaseService.buildQuery


checkKeyExists()​

checkKeyExists(storeId, namespace, key, resourceType): Promise<{ exists: boolean; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/metafields.ts:38

Check if a metafield key already exists

Parameters​

storeId​

string

namespace​

string

key​

string

resourceType​

string

Returns​

Promise<{ exists: boolean; }>


createMetafieldDefinition()​

createMetafieldDefinition(storeId, data): Promise<{ addedBy?: string; categoryAssignments?: string[]; createdAt: Date; customerAccountApiAccess: "none" | "read_only" | "read_and_write"; description?: string; filterOnOrderList: boolean; id: string; isList: boolean; isStandard: boolean; key: string; name: string; namespace: string; ownerType: "tanqory" | "app" | "merchant"; pinnedPosition?: number; resourceType: "customer" | "product" | "variant" | "company" | "order" | "draft_order" | "page" | "collection" | "blog" | "market" | "location" | "shop" | "blog_post" | "company_location"; standardNamespace?: string; storefrontAccess: boolean; storeId: string; type: "id" | "json" | "color" | "product" | "variant" | "dimension" | "date" | "money" | "weight" | "page" | "url" | "collection" | "file" | "integer" | "link" | "volume" | "single_line_text" | "multi_line_text" | "rich_text" | "decimal" | "rating" | "date_time" | "true_or_false" | "metaobject" | "mixed_reference"; updatedAt: Date; useAsProductFilter: boolean; useInSmartRules: boolean; validations?: { limitToPresetChoices?: boolean; maxCharacters?: number; maxDate?: string; maxMeasurement?: number; maxRating?: number; maxValue?: number; minCharacters?: number; minDate?: string; minMeasurement?: number; minRating?: number; minValue?: number; presetChoices?: string[]; regex?: string; required?: boolean; uniqueValues?: boolean; unit?: string; }; valuesCount: number; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/metafields.ts:81

Create a new metafield definition

Parameters​

storeId​

string

data​
categoryAssignments?​

string[]

customerAccountApiAccess​

"none" | "read_only" | "read_and_write"

description?​

string

filterOnOrderList​

boolean

isList​

boolean

key​

string

name​

string

namespace​

string

resourceType​

"customer" | "product" | "variant" | "company" | "order" | "draft_order" | "page" | "collection" | "blog" | "market" | "location" | "shop" | "blog_post" | "company_location"

storefrontAccess​

boolean

type​

"id" | "json" | "color" | "product" | "variant" | "dimension" | "date" | "money" | "weight" | "page" | "url" | "collection" | "file" | "integer" | "link" | "volume" | "single_line_text" | "multi_line_text" | "rich_text" | "decimal" | "rating" | "date_time" | "true_or_false" | "metaobject" | "mixed_reference"

useAsProductFilter​

boolean

useInSmartRules​

boolean

validations?​

{ limitToPresetChoices?: boolean; maxCharacters?: number; maxDate?: string; maxMeasurement?: number; maxRating?: number; maxValue?: number; minCharacters?: number; minDate?: string; minMeasurement?: number; minRating?: number; minValue?: number; presetChoices?: string[]; regex?: string; required?: boolean; uniqueValues?: boolean; unit?: string; }

validations.limitToPresetChoices?​

boolean

validations.maxCharacters?​

number

validations.maxDate?​

string

validations.maxMeasurement?​

number

validations.maxRating?​

number

validations.maxValue?​

number

validations.minCharacters?​

number

validations.minDate?​

string

validations.minMeasurement?​

number

validations.minRating?​

number

validations.minValue?​

number

validations.presetChoices?​

string[]

validations.regex?​

string

validations.required?​

boolean

validations.uniqueValues?​

boolean

validations.unit?​

string

Returns​

Promise<{ addedBy?: string; categoryAssignments?: string[]; createdAt: Date; customerAccountApiAccess: "none" | "read_only" | "read_and_write"; description?: string; filterOnOrderList: boolean; id: string; isList: boolean; isStandard: boolean; key: string; name: string; namespace: string; ownerType: "tanqory" | "app" | "merchant"; pinnedPosition?: number; resourceType: "customer" | "product" | "variant" | "company" | "order" | "draft_order" | "page" | "collection" | "blog" | "market" | "location" | "shop" | "blog_post" | "company_location"; standardNamespace?: string; storefrontAccess: boolean; storeId: string; type: "id" | "json" | "color" | "product" | "variant" | "dimension" | "date" | "money" | "weight" | "page" | "url" | "collection" | "file" | "integer" | "link" | "volume" | "single_line_text" | "multi_line_text" | "rich_text" | "decimal" | "rating" | "date_time" | "true_or_false" | "metaobject" | "mixed_reference"; updatedAt: Date; useAsProductFilter: boolean; useInSmartRules: boolean; validations?: { limitToPresetChoices?: boolean; maxCharacters?: number; maxDate?: string; maxMeasurement?: number; maxRating?: number; maxValue?: number; minCharacters?: number; minDate?: string; minMeasurement?: number; minRating?: number; minValue?: number; presetChoices?: string[]; regex?: string; required?: boolean; uniqueValues?: boolean; unit?: string; }; valuesCount: number; }>


deleteMetafieldDefinition()​

deleteMetafieldDefinition(storeId, id): Promise<{ deleted: true; id: string; object: "metafield_definition"; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/metafields.ts:108

Delete a metafield definition

Parameters​

storeId​

string

id​

string

Returns​

Promise<{ deleted: true; id: string; object: "metafield_definition"; }>


generateIdempotencyKey()​

protected generateIdempotencyKey(prefix): string

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:19

Generate idempotency key

Parameters​

prefix​

string

Returns​

string

Inherited from​

BaseService.generateIdempotencyKey


getExportMimeType()​

protected getExportMimeType(format): string

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:45

Get MIME type for export format

Parameters​

format​

string

Returns​

string

Inherited from​

BaseService.getExportMimeType


getMetafieldDefinition()​

getMetafieldDefinition(storeId, id): Promise<{ addedBy?: string; categoryAssignments?: string[]; createdAt: Date; customerAccountApiAccess: "none" | "read_only" | "read_and_write"; description?: string; filterOnOrderList: boolean; id: string; isList: boolean; isStandard: boolean; key: string; name: string; namespace: string; ownerType: "tanqory" | "app" | "merchant"; pinnedPosition?: number; resourceType: "customer" | "product" | "variant" | "company" | "order" | "draft_order" | "page" | "collection" | "blog" | "market" | "location" | "shop" | "blog_post" | "company_location"; standardNamespace?: string; storefrontAccess: boolean; storeId: string; type: "id" | "json" | "color" | "product" | "variant" | "dimension" | "date" | "money" | "weight" | "page" | "url" | "collection" | "file" | "integer" | "link" | "volume" | "single_line_text" | "multi_line_text" | "rich_text" | "decimal" | "rating" | "date_time" | "true_or_false" | "metaobject" | "mixed_reference"; updatedAt: Date; useAsProductFilter: boolean; useInSmartRules: boolean; validations?: { limitToPresetChoices?: boolean; maxCharacters?: number; maxDate?: string; maxMeasurement?: number; maxRating?: number; maxValue?: number; minCharacters?: number; minDate?: string; minMeasurement?: number; minRating?: number; minValue?: number; presetChoices?: string[]; regex?: string; required?: boolean; uniqueValues?: boolean; unit?: string; }; valuesCount: number; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/metafields.ts:74

Get a metafield definition by ID

Parameters​

storeId​

string

id​

string

Returns​

Promise<{ addedBy?: string; categoryAssignments?: string[]; createdAt: Date; customerAccountApiAccess: "none" | "read_only" | "read_and_write"; description?: string; filterOnOrderList: boolean; id: string; isList: boolean; isStandard: boolean; key: string; name: string; namespace: string; ownerType: "tanqory" | "app" | "merchant"; pinnedPosition?: number; resourceType: "customer" | "product" | "variant" | "company" | "order" | "draft_order" | "page" | "collection" | "blog" | "market" | "location" | "shop" | "blog_post" | "company_location"; standardNamespace?: string; storefrontAccess: boolean; storeId: string; type: "id" | "json" | "color" | "product" | "variant" | "dimension" | "date" | "money" | "weight" | "page" | "url" | "collection" | "file" | "integer" | "link" | "volume" | "single_line_text" | "multi_line_text" | "rich_text" | "decimal" | "rating" | "date_time" | "true_or_false" | "metaobject" | "mixed_reference"; updatedAt: Date; useAsProductFilter: boolean; useInSmartRules: boolean; validations?: { limitToPresetChoices?: boolean; maxCharacters?: number; maxDate?: string; maxMeasurement?: number; maxRating?: number; maxValue?: number; minCharacters?: number; minDate?: string; minMeasurement?: number; minRating?: number; minValue?: number; presetChoices?: string[]; regex?: string; required?: boolean; uniqueValues?: boolean; unit?: string; }; valuesCount: number; }>


getMetafieldDefinitions()​

getMetafieldDefinitions(storeId, options?): Promise<{ data: object[]; limit: number; page: number; total: number; total_pages: number; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/metafields.ts:60

List all metafield definitions

Parameters​

storeId​

string

options?​
hasCategories?​

boolean

isStandard?​

boolean

limit​

number

namespace?​

string

page​

number

resourceType?​

"customer" | "product" | "variant" | "company" | "order" | "draft_order" | "page" | "collection" | "blog" | "market" | "location" | "shop" | "blog_post" | "company_location"

string

sortBy?​

"name" | "createdAt" | "updatedAt" | "namespace" | "key" | "pinnedPosition" | "valuesCount"

sortOrder?​

"asc" | "desc"

type?​

"id" | "json" | "color" | "product" | "variant" | "dimension" | "date" | "money" | "weight" | "page" | "url" | "collection" | "file" | "integer" | "link" | "volume" | "single_line_text" | "multi_line_text" | "rich_text" | "decimal" | "rating" | "date_time" | "true_or_false" | "metaobject" | "mixed_reference"

useInSmartRules?​

boolean

Returns​

Promise<{ data: object[]; limit: number; page: number; total: number; total_pages: number; }>


getResourceTypes()​

getResourceTypes(storeId): Promise<object[]>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/metafields.ts:28

Get all resource types with their definition counts

Parameters​

storeId​

string

Returns​

Promise<object[]>


reorderMetafieldDefinitions()​

reorderMetafieldDefinitions(storeId, resourceType, definitionIds): Promise<object[]>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/metafields.ts:121

Reorder pinned definitions

Parameters​

storeId​

string

resourceType​

string

definitionIds​

string[]

Returns​

Promise<object[]>


updateMetafieldDefinition()​

updateMetafieldDefinition(storeId, id, data): Promise<{ addedBy?: string; categoryAssignments?: string[]; createdAt: Date; customerAccountApiAccess: "none" | "read_only" | "read_and_write"; description?: string; filterOnOrderList: boolean; id: string; isList: boolean; isStandard: boolean; key: string; name: string; namespace: string; ownerType: "tanqory" | "app" | "merchant"; pinnedPosition?: number; resourceType: "customer" | "product" | "variant" | "company" | "order" | "draft_order" | "page" | "collection" | "blog" | "market" | "location" | "shop" | "blog_post" | "company_location"; standardNamespace?: string; storefrontAccess: boolean; storeId: string; type: "id" | "json" | "color" | "product" | "variant" | "dimension" | "date" | "money" | "weight" | "page" | "url" | "collection" | "file" | "integer" | "link" | "volume" | "single_line_text" | "multi_line_text" | "rich_text" | "decimal" | "rating" | "date_time" | "true_or_false" | "metaobject" | "mixed_reference"; updatedAt: Date; useAsProductFilter: boolean; useInSmartRules: boolean; validations?: { limitToPresetChoices?: boolean; maxCharacters?: number; maxDate?: string; maxMeasurement?: number; maxRating?: number; maxValue?: number; minCharacters?: number; minDate?: string; minMeasurement?: number; minRating?: number; minValue?: number; presetChoices?: string[]; regex?: string; required?: boolean; uniqueValues?: boolean; unit?: string; }; valuesCount: number; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/metafields.ts:93

Update an existing metafield definition

Parameters​

storeId​

string

id​

string

data​
categoryAssignments?​

string[]

customerAccountApiAccess?​

"none" | "read_only" | "read_and_write"

description?​

string

expected_updated_at?​

string

filterOnOrderList?​

boolean

name?​

string

pinnedPosition?​

number

storefrontAccess?​

boolean

useAsProductFilter?​

boolean

useInSmartRules?​

boolean

validations?​

{ limitToPresetChoices?: boolean; maxCharacters?: number; maxDate?: string; maxMeasurement?: number; maxRating?: number; maxValue?: number; minCharacters?: number; minDate?: string; minMeasurement?: number; minRating?: number; minValue?: number; presetChoices?: string[]; regex?: string; required?: boolean; uniqueValues?: boolean; unit?: string; }

validations.limitToPresetChoices?​

boolean

validations.maxCharacters?​

number

validations.maxDate?​

string

validations.maxMeasurement?​

number

validations.maxRating?​

number

validations.maxValue?​

number

validations.minCharacters?​

number

validations.minDate?​

string

validations.minMeasurement?​

number

validations.minRating?​

number

validations.minValue?​

number

validations.presetChoices?​

string[]

validations.regex?​

string

validations.required?​

boolean

validations.uniqueValues?​

boolean

validations.unit?​

string

Returns​

Promise<{ addedBy?: string; categoryAssignments?: string[]; createdAt: Date; customerAccountApiAccess: "none" | "read_only" | "read_and_write"; description?: string; filterOnOrderList: boolean; id: string; isList: boolean; isStandard: boolean; key: string; name: string; namespace: string; ownerType: "tanqory" | "app" | "merchant"; pinnedPosition?: number; resourceType: "customer" | "product" | "variant" | "company" | "order" | "draft_order" | "page" | "collection" | "blog" | "market" | "location" | "shop" | "blog_post" | "company_location"; standardNamespace?: string; storefrontAccess: boolean; storeId: string; type: "id" | "json" | "color" | "product" | "variant" | "dimension" | "date" | "money" | "weight" | "page" | "url" | "collection" | "file" | "integer" | "link" | "volume" | "single_line_text" | "multi_line_text" | "rich_text" | "decimal" | "rating" | "date_time" | "true_or_false" | "metaobject" | "mixed_reference"; updatedAt: Date; useAsProductFilter: boolean; useInSmartRules: boolean; validations?: { limitToPresetChoices?: boolean; maxCharacters?: number; maxDate?: string; maxMeasurement?: number; maxRating?: number; maxValue?: number; minCharacters?: number; minDate?: string; minMeasurement?: number; minRating?: number; minValue?: number; presetChoices?: string[]; regex?: string; required?: boolean; uniqueValues?: boolean; unit?: string; }; valuesCount: number; }>