Skip to main content

TypeAlias.ProductImportItem

type ProductImportItem = {
certifiedPaths?: string[];
externalId?: string;
fields: {
[key: string]: unknown;
};
name: string;
passportsFields?: (
| {
default?: number;
label?: string;
max?: number;
min?: number;
name: string;
required?: boolean;
type: "number";
}
| {
default?: string;
label?: string;
maxLength?: number;
minLength?: number;
name: string;
required?: boolean;
type: "string";
}
| {
default?: string;
label?: string;
name: string;
required?: boolean;
type: "url";
}
| {
default?: string;
label?: string;
name: string;
required?: boolean;
type: "image";
}
| {
default?: string;
label?: string;
name: string;
required?: boolean;
type: "text";
}
| {
default?: boolean;
label?: string;
name: string;
required?: boolean;
type: "boolean";
}
| {
default?: string;
label?: string;
max?: string;
min?: string;
name: string;
required?: boolean;
type: "date";
}
| {
default?: string;
label?: string;
name: string;
required?: boolean;
type: "enum";
variants: string[];
}
| {
default?: JSONType;
label?: string;
name: string;
required?: boolean;
type: "json";
}
| {
default?: any[];
itemsType: {
name: "[]";
} & { name: string; type: "number"; label?: string | undefined; required?: boolean | undefined; min?: number | undefined; max?: number | undefined; default?: number | undefined; } | { name: string; ... 5 more ...; default?: string | undefined; } | ... 8 more ... | { ...; };
label?: string;
maxLength?: number;
minLength?: number;
name: string;
required?: boolean;
type: "array";
}
| {
default?: Record<string, never>;
fields: ({ name: string; type: "number"; label?: string | undefined; required?: boolean | undefined; min?: number | undefined; max?: number | undefined; default?: number | undefined; } | { name: string; ... 5 more ...; default?: string | undefined; } | ... 8 more ... | { ...; })[];
label?: string;
name: string;
required?: boolean;
type: "object";
})[];
productFields?: (
| {
default?: number;
label?: string;
max?: number;
min?: number;
name: string;
required?: boolean;
type: "number";
}
| {
default?: string;
label?: string;
maxLength?: number;
minLength?: number;
name: string;
required?: boolean;
type: "string";
}
| {
default?: string;
label?: string;
name: string;
required?: boolean;
type: "url";
}
| {
default?: string;
label?: string;
name: string;
required?: boolean;
type: "image";
}
| {
default?: string;
label?: string;
name: string;
required?: boolean;
type: "text";
}
| {
default?: boolean;
label?: string;
name: string;
required?: boolean;
type: "boolean";
}
| {
default?: string;
label?: string;
max?: string;
min?: string;
name: string;
required?: boolean;
type: "date";
}
| {
default?: string;
label?: string;
name: string;
required?: boolean;
type: "enum";
variants: string[];
}
| {
default?: JSONType;
label?: string;
name: string;
required?: boolean;
type: "json";
}
| {
default?: any[];
itemsType: {
name: "[]";
} & { name: string; type: "number"; label?: string | undefined; required?: boolean | undefined; min?: number | undefined; max?: number | undefined; default?: number | undefined; } | { name: string; ... 5 more ...; default?: string | undefined; } | ... 8 more ... | { ...; };
label?: string;
maxLength?: number;
minLength?: number;
name: string;
required?: boolean;
type: "array";
}
| {
default?: Record<string, never>;
fields: ({ name: string; type: "number"; label?: string | undefined; required?: boolean | undefined; min?: number | undefined; max?: number | undefined; default?: number | undefined; } | { name: string; ... 5 more ...; default?: string | undefined; } | ... 8 more ... | { ...; })[];
label?: string;
name: string;
required?: boolean;
type: "object";
})[];
status?: "ACTIVE" | "ARCHIVED" | "DRAFT" | "UNLISTED";
};

Single product item for bulk import.

Represents a product to be imported via the bulk import API.

Type Declaration

NameType
certifiedPaths?string[]
externalId?string
fields{ [key: string]: unknown; }
namestring
passportsFields?( | { default?: number; label?: string; max?: number; min?: number; name: string; required?: boolean; type: "number"; } | { default?: string; label?: string; maxLength?: number; minLength?: number; name: string; required?: boolean; type: "string"; } | { default?: string; label?: string; name: string; required?: boolean; type: "url"; } | { default?: string; label?: string; name: string; required?: boolean; type: "image"; } | { default?: string; label?: string; name: string; required?: boolean; type: "text"; } | { default?: boolean; label?: string; name: string; required?: boolean; type: "boolean"; } | { default?: string; label?: string; max?: string; min?: string; name: string; required?: boolean; type: "date"; } | { default?: string; label?: string; name: string; required?: boolean; type: "enum"; variants: string[]; } | { default?: JSONType; label?: string; name: string; required?: boolean; type: "json"; } | { default?: any[]; itemsType: { name: "[]"; } & { name: string; type: "number"; label?: string | undefined; required?: boolean | undefined; min?: number | undefined; max?: number | undefined; default?: number | undefined; } | { name: string; ... 5 more ...; default?: string | undefined; } | ... 8 more ... | { ...; }; label?: string; maxLength?: number; minLength?: number; name: string; required?: boolean; type: "array"; } | { default?: Record<string, never>; fields: ({ name: string; type: "number"; label?: string | undefined; required?: boolean | undefined; min?: number | undefined; max?: number | undefined; default?: number | undefined; } | { name: string; ... 5 more ...; default?: string | undefined; } | ... 8 more ... | { ...; })[]; label?: string; name: string; required?: boolean; type: "object"; })[]
productFields?( | { default?: number; label?: string; max?: number; min?: number; name: string; required?: boolean; type: "number"; } | { default?: string; label?: string; maxLength?: number; minLength?: number; name: string; required?: boolean; type: "string"; } | { default?: string; label?: string; name: string; required?: boolean; type: "url"; } | { default?: string; label?: string; name: string; required?: boolean; type: "image"; } | { default?: string; label?: string; name: string; required?: boolean; type: "text"; } | { default?: boolean; label?: string; name: string; required?: boolean; type: "boolean"; } | { default?: string; label?: string; max?: string; min?: string; name: string; required?: boolean; type: "date"; } | { default?: string; label?: string; name: string; required?: boolean; type: "enum"; variants: string[]; } | { default?: JSONType; label?: string; name: string; required?: boolean; type: "json"; } | { default?: any[]; itemsType: { name: "[]"; } & { name: string; type: "number"; label?: string | undefined; required?: boolean | undefined; min?: number | undefined; max?: number | undefined; default?: number | undefined; } | { name: string; ... 5 more ...; default?: string | undefined; } | ... 8 more ... | { ...; }; label?: string; maxLength?: number; minLength?: number; name: string; required?: boolean; type: "array"; } | { default?: Record<string, never>; fields: ({ name: string; type: "number"; label?: string | undefined; required?: boolean | undefined; min?: number | undefined; max?: number | undefined; default?: number | undefined; } | { name: string; ... 5 more ...; default?: string | undefined; } | ... 8 more ... | { ...; })[]; label?: string; name: string; required?: boolean; type: "object"; })[]
status?"ACTIVE" | "ARCHIVED" | "DRAFT" | "UNLISTED"

Example

const item: ProductImportItem = {
externalId: "SKU-12345",
name: "Organic T-Shirt",
status: DppProductStatus.Active,
fields: { color: "blue", size: "M" },
certifiedPaths: ["/materials/organic"]
};