| GET | /v1/product/metadata |
|---|
"use strict";
export class ProductMetadata extends ProductMetadata {
/** @param {{title?:string,author?:string,url?:string,description?:string,retailer?:string,productImages?:{ [index:string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
export class GetProductMetadataResponse {
/** @param {{productMetadata?:ProductMetadata,isSupported?:boolean,responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ProductMetadata} */
productMetadata;
/** @type {boolean} */
isSupported;
/** @type {ResponseStatus} */
responseStatus;
}
export class GetProductMetadataRequest {
/** @param {{url?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
url;
}
export class ProductMetadata {
/** @param {{title?:string,author?:string,url?:string,description?:string,retailer?:string,productImages?:{ [index:string]: string; }}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
title;
/** @type {string} */
author;
/** @type {string} */
url;
/** @type {string} */
description;
/** @type {string} */
retailer;
/** @type {{ [index:string]: string; }} */
productImages;
}
JavaScript GetProductMetadataRequest 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/product/metadata HTTP/1.1 Host: api.booklinker.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
productMetadata:
{
title: String,
author: String,
description: String,
retailer: String
},
isSupported: False,
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}