UNPKG

2.68 kBTypeScriptView Raw
1/* eslint-disable */
2/**
3 * This file was automatically generated by json-schema-to-typescript.
4 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5 * and run json-schema-to-typescript to regenerate this file.
6 */
7
8export type CollectionType =
9 | "long_tail_collection"
10 | "campaign"
11 | "category"
12 | "smart_pick"
13 | "style"
14 | "brand"
15 | "look";
16export type ContentPosition = "left" | "right" | "center";
17export type Type = "video";
18export type Url = string;
19export type Link = string | null;
20
21export interface GetListingResponse {
22 /**
23 * Depict ID of the listing.
24 */
25 listing_id: string;
26 /**
27 * ID of the listing in the merchant PIM, CMS or similar.
28 */
29 external_id?: string;
30 listing_type: CollectionType;
31 /**
32 * Show or hide this listing in navigation breadcrumbs.
33 */
34 show_in_breadcrumbs: boolean;
35 /**
36 * Show or hide this listing in quicklinks.
37 */
38 show_in_quicklinks: boolean;
39 /**
40 * List of image URLs for the listing.
41 */
42 image_urls: string[];
43 title: string;
44 slug?: string;
45 /**
46 * Ordered list of ancestors of the listing, useful for navigation breadcrumbs. The first element is the root listing.
47 */
48 ancestors: ProductListing[];
49 /**
50 * Siblings of the listing, i.e. listings that share the same parent, INCLUDING the listing itself. Sortet by title.
51 */
52 siblings: ProductListing[];
53 /**
54 * Children of the listing, i.e. listings that have the listing as their parent. Sorted by title.
55 */
56 children: ProductListing[];
57 /**
58 * List of content blocks to be displayed on the listing page. If none no content blocks should be displayed.
59 */
60 content_blocks: ContentBlock[];
61}
62/**
63 * Represents a product listing, e.g. a category or a collection.
64 */
65export interface ProductListing {
66 /**
67 * Depict ID of the listing.
68 */
69 listing_id: string;
70 /**
71 * ID of the listing in the merchant PIM, CMS or similar.
72 */
73 external_id?: string;
74 listing_type: CollectionType;
75 /**
76 * Show or hide this listing in navigation breadcrumbs.
77 */
78 show_in_breadcrumbs: boolean;
79 /**
80 * Show or hide this listing in quicklinks.
81 */
82 show_in_quicklinks: boolean;
83 /**
84 * List of image URLs for the listing.
85 */
86 image_urls: string[];
87 title: string;
88 slug?: string;
89}
90export interface ContentBlock {
91 span_columns: number;
92 span_rows: number;
93 position: ContentPosition;
94 row: number;
95 content: ImageContent | VideoContent;
96 [k: string]: unknown;
97}
98export interface ImageContent {
99 type?: "image";
100 url: string;
101 link: string;
102 [k: string]: unknown;
103}
104export interface VideoContent {
105 type?: Type;
106 url: Url;
107 link: Link;
108 [k: string]: unknown;
109}