/* Options: Date: 2025-12-06 05:23:16 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://geniuslink-api-zane.dev.platform.georiot.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ProductMetadataLookupRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface IProductMetadataLookupRequest { url: string; } // @DataContract export class ProductIdentifiers { // @DataMember(Name="productGuid", EmitDefaultValue=false) public productGuid: string; // @DataMember(Name="gtins", EmitDefaultValue=false) public gtins: string[]; // @DataMember(Name="mpns", EmitDefaultValue=false) public mpns: string[]; // @DataMember(Name="ean8", EmitDefaultValue=false) public ean8: string[]; // @DataMember(Name="ean13", EmitDefaultValue=false) public ean13: string[]; // @DataMember(Name="isbn9", EmitDefaultValue=false) public isbn9: string[]; // @DataMember(Name="isbn10", EmitDefaultValue=false) public isbn10: string[]; // @DataMember(Name="isbn13", EmitDefaultValue=false) public isbn13: string[]; // @DataMember(Name="itf14", EmitDefaultValue=false) public itf14: string[]; // @DataMember(Name="upc12", EmitDefaultValue=false) public upc12: string[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class BookAttributes { // @DataMember(Name="authors", EmitDefaultValue=false) public authors: string[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class AudiobookAttributes extends BookAttributes { public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @DataContract export class EBookAttributes extends BookAttributes { public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @DataContract export class ItemAttributes { // @DataMember(Name="book", EmitDefaultValue=false) public book: BookAttributes; // @DataMember(Name="audiobook", EmitDefaultValue=false) public audiobook: AudiobookAttributes; // @DataMember(Name="ebook", EmitDefaultValue=false) public ebook: EBookAttributes; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ProductAttributes { // @DataMember(Name="retailer", EmitDefaultValue=false) public retailer: string; // @DataMember(Name="retailerGuid", EmitDefaultValue=false) public retailerGuid: string; // @DataMember(Name="storefront", EmitDefaultValue=false) public storefront: string; // @DataMember(Name="storefrontIso2", EmitDefaultValue=false) public storefrontIso2: string; // @DataMember(Name="storefrontGuid", EmitDefaultValue=false) public storefrontGuid: string; // @DataMember(Name="category", EmitDefaultValue=false) public category: string; // @DataMember(Name="categoryGuid", EmitDefaultValue=false) public categoryGuid: string; // @DataMember(Name="brand", EmitDefaultValue=false) public brand: string; // @DataMember(Name="brandGuid", EmitDefaultValue=false) public brandGuid: string; // @DataMember(Name="manufacturer", EmitDefaultValue=false) public manufacturer: string; // @DataMember(Name="manufacturerGuid", EmitDefaultValue=false) public manufacturerGuid: string; // @DataMember(Name="identifiers", EmitDefaultValue=false) public identifiers: ProductIdentifiers; // @DataMember(Name="itemAttributes", EmitDefaultValue=false) public itemAttributes: ItemAttributes; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class RetailerSpecificAttributes { // @DataMember(Name="name", EmitDefaultValue=false) public name: string; // @DataMember(Name="description", EmitDefaultValue=false) public description: string; // @DataMember(Name="skus", EmitDefaultValue=false) public skus: string[]; // @DataMember(Name="asin", EmitDefaultValue=false) public asin: string; // @DataMember(Name="url", EmitDefaultValue=false) public url: string; // @DataMember(Name="productImages", EmitDefaultValue=false) public productImages: { [index:string]: string; }; // @DataMember(Name="additionalData", EmitDefaultValue=false) public additionalData: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ProductData { // @DataMember(Name="attributes", EmitDefaultValue=false) public attributes: ProductAttributes; // @DataMember(Name="retailerSpecificAttributes", EmitDefaultValue=false) public retailerSpecificAttributes: RetailerSpecificAttributes; // @DataMember(Name="rawSourceData", EmitDefaultValue=false) public rawSourceData: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseError { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public fieldName: string; // @DataMember(Order=3) public message: string; // @DataMember(Order=4) public meta: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public message: string; // @DataMember(Order=3) public stackTrace: string; // @DataMember(Order=4) public errors: ResponseError[]; // @DataMember(Order=5) public meta: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IProductMetadataLookupResponse { // @DataMember(Name="productMetadata") productMetadata: ProductData; } export class ProductMetadataLookupResponse implements IProductMetadataLookupResponse { // @DataMember(Name="productMetadata") public productMetadata: ProductData; // @DataMember(Name="responseStatus") public responseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v3.5/product-metadata/lookup", "GET") // @DataContract export class ProductMetadataLookupRequest implements IReturn, IProductMetadataLookupRequest { // @DataMember(Name="url") public url: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'ProductMetadataLookupRequest'; } public getMethod() { return 'GET'; } public createResponse() { return new ProductMetadataLookupResponse(); } }