| GET | /v1/links/list |
|---|
// @DataContract
export class PaginatedBaseRequest
{
// @DataMember(Name="skip")
public skip: number;
// @DataMember(Name="take")
public take: number;
public constructor(init?: Partial<PaginatedBaseRequest>) { (Object as any).assign(this, init); }
}
// @DataContract
export class LinkResult
{
// @DataMember(Name="baseCode")
public baseCode: string;
// @DataMember(Name="url")
public url: string;
// @DataMember(Name="originalUrl")
public originalUrl: string;
// @DataMember(Name="imageUrl")
public imageUrl: string;
// @DataMember(Name="retailer")
public retailer: string;
// @DataMember(Name="title")
public title: string;
// @DataMember(Name="author")
public author: string;
public constructor(init?: Partial<LinkResult>) { (Object as any).assign(this, init); }
}
// @DataContract
export class GetLinksResponse
{
// @DataMember(Name="allLinksLoaded")
public allLinksLoaded: boolean;
// @DataMember(Name="results")
public results: LinkResult[];
// @DataMember(Name="responseStatus")
public responseStatus: ResponseStatus;
public constructor(init?: Partial<GetLinksResponse>) { (Object as any).assign(this, init); }
}
// @DataContract
export class GetLinksRequest extends PaginatedBaseRequest
{
// @DataMember(Name="ids")
public ids: string[];
public constructor(init?: Partial<GetLinksRequest>) { super(init); (Object as any).assign(this, init); }
}
TypeScript GetLinksRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/links/list HTTP/1.1 Host: api.booklinker.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
allLinksLoaded: False,
results:
[
{
baseCode: String,
url: String,
originalUrl: String,
imageUrl: String,
retailer: String,
title: String,
author: String
}
],
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}