UNPKG

@pfantato/printful-ts

Version:

Typescript SDK to integrate with Printful

760 lines (759 loc) 24.3 kB
import type { Options } from 'ky'; import { GetProductBlankMockupsSearchParams, GetProductMockupsSearchParams, GetProductMockupTemplatesSearchParams, GetProductSearchParams, GetProductSizeGuideSearchParams, GetProductStockAvailabilitySearchParams, GetVariantStockAvailabilitySearchParams, GetVarianttBlankMockupsSearchParams, Locale, ListProductCategoriesSearchParams, ListProductPricesSearchParams, ListProductsSearchParams, ListProductVariantPricesSearchParams } from '@printful-ts/schemas'; import { PrintfulApiService } from './printful-api.service'; export declare class CatalogProductsService extends PrintfulApiService { listProducts(params?: ListProductsSearchParams, options?: Options): Promise<{ _links?: { self?: { href?: string; }; first?: { href?: string; }; last?: { href?: string; }; next?: { href?: string; }; previous?: { href?: string; }; }; data?: { type?: string; description?: string; brand?: string; name?: string; id?: number; _links?: { self?: { href?: string; }; variants?: { href?: string; }; categories?: { href?: string; }; product_prices?: { href?: string; }; product_sizes?: { href?: string; }; product_images?: { href?: string; }; availability?: { href?: string; }; }; techniques?: { key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; display_name?: string; is_default?: boolean; }[]; placements?: { placement_options?: { values?: unknown[]; type?: string; name?: string; techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[]; }[]; layers?: { type?: string; layer_options?: { values?: unknown[]; type?: string; name?: string; techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[]; }[]; }[]; placement?: string; technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; print_area_width?: number; print_area_height?: number; conflicting_placements?: string[]; }[]; product_options?: { values?: unknown[]; type?: string; name?: string; techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[]; }[]; image?: string; main_category_id?: number; model?: string; variant_count?: number; is_discontinued?: boolean; sizes?: string[]; colors?: { value?: string; name?: string; }[]; }[]; paging?: { total?: number; offset?: number; limit?: number; }; }>; getProduct(product_id: number, params: GetProductSearchParams, options?: Options): Promise<{ data?: { type?: string; description?: string; brand?: string; name?: string; id?: number; _links?: { self?: { href?: string; }; variants?: { href?: string; }; categories?: { href?: string; }; product_prices?: { href?: string; }; product_sizes?: { href?: string; }; product_images?: { href?: string; }; availability?: { href?: string; }; }; techniques?: { key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; display_name?: string; is_default?: boolean; }[]; placements?: { placement_options?: { values?: unknown[]; type?: string; name?: string; techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[]; }[]; layers?: { type?: string; layer_options?: { values?: unknown[]; type?: string; name?: string; techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[]; }[]; }[]; placement?: string; technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; print_area_width?: number; print_area_height?: number; conflicting_placements?: string[]; }[]; product_options?: { values?: unknown[]; type?: string; name?: string; techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[]; }[]; image?: string; main_category_id?: number; model?: string; variant_count?: number; is_discontinued?: boolean; sizes?: string[]; colors?: { value?: string; name?: string; }[]; }; }>; listProductVariants(product_id: number, locale?: Locale, options?: Options): Promise<{ _links?: { self?: { href?: string; }; first?: { href?: string; }; last?: { href?: string; }; next?: { href?: string; }; previous?: { href?: string; }; product_details?: { href?: string; }; }; data?: { size?: string; name?: string; id?: number; _links?: { self?: { href?: string; }; product_details?: { href?: string; }; product_variants?: { href?: string; }; variant_prices?: { href?: string; }; variant_images?: { href?: string; }; variant_availability?: { href?: string; }; }; catalog_product_id?: number; image?: string; color?: string; color_code?: string; color_code2?: string; }[]; paging?: { total?: number; offset?: number; limit?: number; }; }>; getProductVariant(variant_id: number, locale?: Locale, options?: Options): Promise<{ _links?: { self?: { href?: string; }; product_details?: { href?: string; }; product_variants?: { href?: string; }; variant_prices?: { href?: string; }; variant_images?: { href?: string; }; }; data?: { size?: string; name?: string; id?: number; _links?: { self?: { href?: string; }; product_details?: { href?: string; }; product_variants?: { href?: string; }; variant_prices?: { href?: string; }; variant_images?: { href?: string; }; variant_availability?: { href?: string; }; }; catalog_product_id?: number; image?: string; color?: string; color_code?: string; color_code2?: string; }[]; }>; listProductCategories(product_id: number, params: ListProductCategoriesSearchParams, options?: Options): Promise<{ _links?: { self?: { href?: string; }; first?: { href?: string; }; last?: { href?: string; }; next?: { href?: string; }; previous?: { href?: string; }; all_categories?: { href?: string; }; }; data?: { title?: string; id?: number; parent_id?: number; image_url?: string; _links?: { self?: { href?: string; }; }; }[]; paging?: { total?: number; offset?: number; limit?: number; }; }>; listCategories(options?: Options): Promise<{ _links?: { self?: { href?: string; }; first?: { href?: string; }; last?: { href?: string; }; next?: { href?: string; }; previous?: { href?: string; }; }; data?: { title?: string; id?: number; parent_id?: number; image_url?: string; _links?: { self?: { href?: string; }; }; }[]; }>; getCategory(category_id: number, options?: Options): Promise<{ _links?: { all_categories?: { href?: string; }; }; data?: { title?: string; id?: number; parent_id?: number; image_url?: string; _links?: { self?: { href?: string; }; }; }; }>; getProductSizeGuide(product_id: number, params?: GetProductSizeGuideSearchParams, options?: Options): Promise<{ _links?: { self?: { href?: string; }; product_details?: { href?: string; }; }; data?: { catalog_product_id?: number; available_sizes?: string[]; size_tables?: { type?: "measure_yourself" | "product_measure" | "international"; description?: string; image_url?: string; unit?: "inches" | "cm"; image_description?: string; measurements?: { values?: ({ value?: string; size?: string; } | { size?: string; min_value?: string; max_value?: string; })[]; type_label?: string; unit?: "inches" | "cm"; }[]; }[]; }; }>; listProductPrices(product_id: number, params?: ListProductPricesSearchParams, options?: Options): Promise<{ _links?: { self?: { href?: string; }; first?: { href?: string; }; last?: { href?: string; }; next?: { href?: string; }; previous?: { href?: string; }; product_details?: { href?: string; }; }; data?: { currency?: string; product?: { id?: number; placements?: { type?: string; title?: string; price?: string; id?: string; technique_key?: string; discounted_price?: string; placement_options?: { values?: any[][]; type?: string; description?: string; name?: string; prices?: any; }[]; layers?: { type?: string; additional_price?: string; layer_options?: { values?: any[][]; type?: string; description?: string; name?: string; prices?: any; }[]; }[]; }[]; }; variants?: { id?: number; techniques?: { price?: string; technique_key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; discounted_price?: string; technique_display_name?: string; }[]; }[]; }[]; paging?: { total?: number; offset?: number; limit?: number; }; }>; listProductVariantPrices(variant_id: number, params?: ListProductVariantPricesSearchParams, options?: Options): Promise<{ _links?: { self?: { href?: string; }; first?: { href?: string; }; last?: { href?: string; }; next?: { href?: string; }; previous?: { href?: string; }; product_details?: { href?: string; }; product_prices?: { href?: string; }; }; data?: { currency?: string; product?: { id?: number; placements?: { type?: string; title?: string; price?: string; id?: string; technique_key?: string; discounted_price?: string; placement_options?: { values?: any[][]; type?: string; description?: string; name?: string; prices?: any; }[]; layers?: { type?: string; additional_price?: string; layer_options?: { values?: any[][]; type?: string; description?: string; name?: string; prices?: any; }[]; }[]; }[]; }; variant?: { id?: number; techniques?: { price?: string; technique_key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; discounted_price?: string; technique_display_name?: string; }[]; }; }[]; paging?: { total?: number; offset?: number; limit?: number; }; }>; getProductBlankMockups(product_id: number, params: GetProductBlankMockupsSearchParams, options: Options): Promise<{ _links?: { product_details?: { href?: string; }; _self?: { href?: string; }; }; data?: { catalog_variant_id?: number; color?: string; primary_hex_color?: string; secondary_hex_color?: string; images?: { image_url?: string; placement?: string; background_color?: string; background_image?: string; }[]; }[]; paging?: { total?: number; offset?: number; limit?: number; }; }>; getProductVariantBlankMockups(variant_id: number, params: GetVarianttBlankMockupsSearchParams, options: Options): Promise<{ _links?: { _self?: { href?: string; }; variant_details?: { href?: string; }; }; data?: { catalog_variant_id?: number; color?: string; primary_hex_color?: string; secondary_hex_color?: string; images?: { image_url?: string; placement?: string; background_color?: string; background_image?: string; }[]; }[]; }>; getProductMockups(product_id: number, params: GetProductMockupsSearchParams, options: Options): Promise<{ _links?: { self?: { href?: string; }; first?: { href?: string; }; last?: { href?: string; }; next?: { href?: string; }; previous?: { href?: string; }; product?: { href?: string; }; }; data?: { display_name?: string; placement?: string; technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; print_area_width?: number; print_area_height?: number; print_area_type?: "advanced" | "simple"; dpi?: number; mockup_styles?: { id?: number; category_name?: string; view_name?: string; restricted_to_variants?: any[][]; }[]; }[]; paging?: { total?: number; offset?: number; limit?: number; }; }>; getProductMockupTemplates(product_id: number, params: GetProductMockupTemplatesSearchParams, options: Options): Promise<{ _links?: { self?: { href?: string; }; first?: { href?: string; }; last?: { href?: string; }; next?: { href?: string; }; previous?: { href?: string; }; product?: { href?: string; }; }; data?: { image_url?: string; placement?: string; technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; print_area_width?: number; print_area_height?: number; catalog_variant_ids?: number[]; background_url?: string; background_color?: string; template_width?: number; template_height?: number; print_area_top?: number; print_area_left?: number; template_positioning?: "overlay" | "background"; orientation?: "horizontal" | "vertical" | "any"; template_type?: "custom" | "native" | "color_group" | "advanced"; }[]; paging?: { total?: number; offset?: number; limit?: number; }; }>; getProductStockAvailability(product_id: number, params?: GetProductStockAvailabilitySearchParams, options?: Options): Promise<{ _links?: { self?: { href?: string; }; first?: { href?: string; }; last?: { href?: string; }; next?: { href?: string; }; previous?: { href?: string; }; product?: { href?: string; }; }; data?: { _links?: { variant?: { href?: string; }; }; techniques?: { technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; selling_regions?: { name?: "worldwide" | "north_america" | "canada" | "europe" | "spain" | "latvia" | "uk" | "france" | "germany" | "australia" | "japan" | "new_zealand" | "italy" | "brazil" | "southeast_asia" | "republic_of_korea" | "english_speaking_regions" | "all"; availability?: "unknown" | "in stock" | "out of stock" | "not fulfillable"; placement_option_availability?: { name?: string; availability?: "unknown" | "in stock" | "out of stock" | "not fulfillable"; }[]; }[]; }[]; catalog_variant_id?: number; }[]; paging?: { total?: number; offset?: number; limit?: number; }; filter_settings?: { value?: string; name?: string; }; }>; getProductVariantStockAvailability(variant_id: number, params?: GetVariantStockAvailabilitySearchParams, options?: Options): Promise<{ _links?: { self?: { href?: string; }; variant?: { href?: string; }; }; data?: { _links?: { variant?: { href?: string; }; }; techniques?: { technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm"; selling_regions?: { name?: "worldwide" | "north_america" | "canada" | "europe" | "spain" | "latvia" | "uk" | "france" | "germany" | "australia" | "japan" | "new_zealand" | "italy" | "brazil" | "southeast_asia" | "republic_of_korea" | "english_speaking_regions" | "all"; availability?: "unknown" | "in stock" | "out of stock" | "not fulfillable"; placement_option_availability?: { name?: string; availability?: "unknown" | "in stock" | "out of stock" | "not fulfillable"; }[]; }[]; }[]; catalog_variant_id?: number; }; filter_settings?: { value?: string; name?: string; }; }>; }