// Copyright © 2022-2026 Partium, Inc. DBA Partium /** * The image of the part data. */ export interface PartDataImage { /** * The partium id of the image. */ partiumId: string; /** * The description of the image. */ description: string; /** * The URLs of the image. */ urls: Record; /** * The expiration date of the image. */ expireAt?: string | null; } /** * The supplier discovery status of the part data. */ export declare enum PartDataSupplierDiscoveryStatus { NOT_TRIGGERED = "not_triggered", IN_PROGRESS = "in_progress", COMPLETED = "completed", ERROR = "error", NO_DATA = "no_data" } /** * Machine-readable code describing why the latest part-data job did not produce results for a part. */ export declare enum PartDataPartErrorCode { /** * The part had no usable UPIs (identifiers) needed for the job. */ NO_UPIS_AVAILABLE = "no_upis_available" } /** * The supplier discovery data of a part. */ export interface PartDataSupplierDiscoveryResponse { /** * The status of supplier discovery for the part. */ supplierDiscoveryStatus: PartDataSupplierDiscoveryStatus; /** * The supplier discovery data for the part. */ supplierDiscoveryData: string | null; /** * The timestamp of the latest supplier discovery execution. */ lastExecutedAt: string | null; /** * Code describing why the latest supplier discovery job did not produce results for the part, * when applicable. */ errorCode?: PartDataPartErrorCode | null; } /** * The identifiers status of the part data. */ export declare enum PartDataIdentifiersStatus { NOT_REQUESTED = "not_requested", SUCCESS = "success" } /** * The identifiers label of a part. */ export declare enum PartDataIdentifierLabel { UPC = "upc", SUPPLIER_NAME = "supplier_name", SUPPLIER_ID = "supplier_id", STANDARD = "standard", SKU = "sku", SERIAL_NUMBER = "serial_number", OPM_NAME = "opm_name", OPM_ID = "opm_id", OEM_NAME = "oem_name", OEM_ID = "oem_id", MANUFACTURER_PART_NUMBER = "manufacturer_part_number", MANUFACTURER_NAME = "manufacturer_name", IDENTIFIER = "identifier", EAN = "ean", ARTICLE_BRAND = "article_brand", ARTICLE_NUMBER = "article_number" } /** * The identifiers origin of a part. */ export declare enum PartDataIdentifierOrigin { INGESTED = "ingested", EXTRACTED_FROM_PART_DATA = "extracted_from_part_data", EXTRACTED_FROM_ENRICHMENT = "extracted_from_enrichment" } /** * The identifier entry for a part. */ export interface PartDataIdentifierEntry { /** * The unique part identifier. */ upi: string; /** * The labels for the identifier. */ labels: PartDataIdentifierLabel[]; /** * The origin of the identifier. */ origin: PartDataIdentifierOrigin; /** * The article brand for the identifier. */ articleBrand?: string | null; /** * The article number for the identifier. */ articleNumber?: string | null; } /** * The identifiers data of a part. */ export interface PartDataIdentifiersResponse { /** * The status of identifiers for the part. */ identifiersStatus: PartDataIdentifiersStatus; /** * The identifiers for the part. */ identifiers: PartDataIdentifierEntry[]; } /** * The enrichment status of enriched attributes for the part. */ export declare enum PartDataEnrichmentStatus { NOT_TRIGGERED = "not_triggered", IN_PROGRESS = "in_progress", COMPLETED = "completed", ERROR = "error", NO_RESULTS = "no_results" } /** * A single enriched attribute entry for the part. */ export interface PartDataAttributeEntry { /** * Unique identifier for the attribute. */ attributeId: string; /** * Display name of the attribute. */ name?: string | null; /** * Enriched values for the attribute. */ values: Array; } /** * The enriched attributes payload of a part. */ export interface PartDataAttributesResponse { /** * The enrichment status for enriched attributes. */ enrichmentStatus: PartDataEnrichmentStatus; /** * The enriched attributes for the part. */ attributes: PartDataAttributeEntry[]; /** * The timestamp of the latest enrichment execution. */ lastExecutedAt: string | null; /** * Code describing why the latest enrichment job did not produce results for the part, * when applicable. */ errorCode?: PartDataPartErrorCode | null; } /** * The data of a part. */ export interface PartData { /** * The id of the part. */ id: string; /** * The partium id of the part. */ partiumId?: string; /** * The images of the part. */ images?: PartDataImage[]; /** * The supplier discovery data of the part. */ supplierDiscovery?: PartDataSupplierDiscoveryResponse; /** * The identifiers data of the part. */ identifiers?: PartDataIdentifiersResponse; /** * The enriched attributes data of the part. */ enrichedAttributes?: PartDataAttributesResponse; }