-
Notifications
You must be signed in to change notification settings - Fork 7
/
product-type-definition.ts
108 lines (100 loc) · 4.35 KB
/
product-type-definition.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/* tslint:disable */
/* eslint-disable */
/**
* Selling Partner API for Product Type Definitions
* The Selling Partner API for Product Type Definitions provides programmatic access to attribute and data requirements for product types in the Amazon catalog. Use this API to return the JSON Schema for a product type that you can then use with other Selling Partner APIs, such as the Selling Partner API for Listings Items, the Selling Partner API for Catalog Items, and the Selling Partner API for Feeds (for JSON-based listing feeds). For more information, see the [Product Type Definitions API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/product-type-api-use-case-guide).
*
* The version of the OpenAPI document: 2020-09-01
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import { ProductTypeVersion } from './product-type-version';
// May contain unused imports in some cases
// @ts-ignore
import { PropertyGroup } from './property-group';
// May contain unused imports in some cases
// @ts-ignore
import { SchemaLink } from './schema-link';
/**
* A product type definition represents the attributes and data requirements for a product type in the Amazon catalog. Product type definitions are used interchangeably between the Selling Partner API for Listings Items, Selling Partner API for Catalog Items, and JSON-based listings feeds in the Selling Partner API for Feeds.
* @export
* @interface ProductTypeDefinition
*/
export interface ProductTypeDefinition {
/**
*
* @type {SchemaLink}
* @memberof ProductTypeDefinition
*/
'metaSchema'?: SchemaLink;
/**
*
* @type {SchemaLink}
* @memberof ProductTypeDefinition
*/
'schema': SchemaLink;
/**
* Name of the requirements set represented in this product type definition.
* @type {string}
* @memberof ProductTypeDefinition
*/
'requirements': ProductTypeDefinitionRequirementsEnum;
/**
* Identifies if the required attributes for a requirements set are enforced by the product type definition schema. Non-enforced requirements enable structural validation of individual attributes without all of the required attributes being present (such as for partial updates).
* @type {string}
* @memberof ProductTypeDefinition
*/
'requirementsEnforced': ProductTypeDefinitionRequirementsEnforcedEnum;
/**
* Mapping of property group names to property groups. Property groups represent logical groupings of schema properties that can be used for display or informational purposes.
* @type {{ [key: string]: PropertyGroup; }}
* @memberof ProductTypeDefinition
*/
'propertyGroups': { [key: string]: PropertyGroup; };
/**
* Locale of the display elements contained in the product type definition.
* @type {string}
* @memberof ProductTypeDefinition
*/
'locale': string;
/**
* Amazon marketplace identifiers for which the product type definition is applicable.
* @type {Array<string>}
* @memberof ProductTypeDefinition
*/
'marketplaceIds': Array<string>;
/**
* The name of the Amazon product type that this product type definition applies to.
* @type {string}
* @memberof ProductTypeDefinition
*/
'productType': string;
/**
* Human-readable and localized description of the Amazon product type.
* @type {string}
* @memberof ProductTypeDefinition
*/
'displayName': string;
/**
*
* @type {ProductTypeVersion}
* @memberof ProductTypeDefinition
*/
'productTypeVersion': ProductTypeVersion;
}
export const ProductTypeDefinitionRequirementsEnum = {
Listing: 'LISTING',
ListingProductOnly: 'LISTING_PRODUCT_ONLY',
ListingOfferOnly: 'LISTING_OFFER_ONLY'
} as const;
export type ProductTypeDefinitionRequirementsEnum = typeof ProductTypeDefinitionRequirementsEnum[keyof typeof ProductTypeDefinitionRequirementsEnum];
export const ProductTypeDefinitionRequirementsEnforcedEnum = {
Enforced: 'ENFORCED',
NotEnforced: 'NOT_ENFORCED'
} as const;
export type ProductTypeDefinitionRequirementsEnforcedEnum = typeof ProductTypeDefinitionRequirementsEnforcedEnum[keyof typeof ProductTypeDefinitionRequirementsEnforcedEnum];