@busmarket/bmapi-js
Version:
BmApiJS | BusMarket API JS client
109 lines (94 loc) • 3.26 kB
JavaScript
;
const ErrorMessages = require('../error_messages/ErrorMessages');
const BmApiError = ErrorMessages.BmApiError;
function Product(client) {
this.get = client.get;
}
const URL = '/product';
Product.prototype = {
/***
* ✅ Получить ожидаемое количество товара
* 🔗 https://developer.bm.parts/api/v2/product.html#get-product-product-uuid-in-waiting
*/
inWaiting: function (options = {}) {
const statusError = BmApiError({
inputOptions: options,
requireParameters: ['product_uuid'],
url: {
base: URL,
hash: 'get-product-product-uuid-in-waiting'
}
});
if (!statusError)
return this.get(`${URL}/${options.product_uuid}/in_waiting`);
},
/***
* ✅ Получить остатки товара по всем складам
* 🔗 https://developer.bm.parts/api/v2/product.html#get-product-product-uuid-in-stocks
*
*/
inStocks: function (options = {}) {
const statusError = BmApiError({
inputOptions: options,
requireParameters: ['product_uuid'],
url: {
base: URL,
hash: 'get-product-product-uuid-in-stocks'
}
});
if (!statusError)
return this.get(`${URL}/${options.product_uuid}/in_stocks`);
},
/***
* ✅ Получить цену товара в основных валютах
* 🔗 https://developer.bm.parts/api/v2/product.html#get-product-product-uuid-prices
*
*/
prices: function (options = {}) {
const statusError = BmApiError({
inputOptions: options,
requireParameters: ['product_uuid'],
url: {
base: URL,
hash: 'get-product-product-uuid-prices'
}
});
if (!statusError)
return this.get(`${URL}/${options.product_uuid}/prices`);
},
/***
* ✅ Получить актуальную цену товара
* 🔗 https://developer.bm.parts/api/v2/product.html#get-product-product-uuid-price
*
*/
curPrice: function (options = {}) {
const statusError = BmApiError({
inputOptions: options,
requireParameters: ['product_uuid'],
url: {
base: URL,
hash: 'get-product-product-uuid-price'
}
});
if (!statusError)
return this.get(`${URL}/${options.product_uuid}/price`, options);
},
/**
* ✅ Получить информацию по товару
* 🔗 https://developer.bm.parts/api/v2/product.html#get-product-string-product-uuid
*
*/
details: function (options = {}) {
const statusError = BmApiError({
inputOptions: options,
requireParameters: ['product_uuid'],
url: {
base: URL,
hash: 'get-product-string-product-uuid'
}
});
if (!statusError)
return this.get(`${URL}/${options.product_uuid}`, {...{products_as: 'obj'}, ...options});
}
};
module.exports = Product;