/* Options: Date: 2026-04-15 21:20:44 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://api.booklinker.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PostUnclaimedLinkCreationRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } // @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); } } // @DataContract export class AffiliateTokens { // @DataMember(Name="guid") public guid: string; // @DataMember(Name="programGuid") public programGuid: string; // @DataMember(Name="affiliateTokens") public affiliateTokens: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class PostLinkCreationRequestBase { // @DataMember(Name="url") // @ApiMember(IsRequired=true) public url: string; // @DataMember(Name="domain") public domain: string; // @DataMember(Name="parameterKeyValues") public parameterKeyValues: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ProductMetadata extends ProductMetadata { public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @DataContract export class ProductMetadata { // @DataMember(Name="title") public title: string; // @DataMember(Name="author") public author: string; // @DataMember(Name="url") public url: string; // @DataMember(Name="description") public description: string; // @DataMember(Name="retailer") public retailer: string; // @DataMember(Name="productImages") public productImages: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class PostLinkCreationResponse { // @DataMember(Name="success") public success: boolean; // @DataMember(Name="linkResult") public linkResult: string; // @DataMember(Name="destinations") public destinations: ProductMetadata[]; // @DataMember(Name="responseStatus") public responseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/links/unclaimed", "POST") export class PostUnclaimedLinkCreationRequest extends PostLinkCreationRequestBase implements IReturn { // @DataMember(Name="affiliatePrograms") public affiliatePrograms: AffiliateTokens[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'PostUnclaimedLinkCreationRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new PostLinkCreationResponse(); } }