UNPKG

@lemay/mws-api-lite

Version:

Lightweight Amazon MWS API Client

1,259 lines (1,229 loc) 605 kB
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.GoogleAppsScriptMWSClient = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var mws_info = require('@lemay/mws-api-info'); var xmljs = require('xml-js'); var api_mapping = { Feeds: { path: 'Feeds', version: '2009-01-01', }, Finances: { path: 'Finances', version: '2015-05-01', }, FulfillmentInboundShipment: { path: 'FulfillmentInboundShipment', version: '2010-10-01', }, FulfillmentInventory: { path: 'FulfillmentInventory', version: '2010-10-01', }, FulfillmentOutboundShipment: { path: 'FulfillmentOutboundShipment', version: '2010-10-01', }, MerchantFulfillment: { path: 'MerchantFulfillment', version: '2015-06-01', }, Orders: { path: 'Orders', version: '2013-09-01', }, Products: { path: 'Products', version: '2011-10-01', }, Recommendations: { path: 'Recommendations', version: '2013-04-01', }, Reports: { path: 'Reports', version: '2009-01-01', }, Sellers: { path: 'Sellers', version: '2011-07-01', }, Subscriptions: { path: 'Subscriptions', version: '2013-07-01', } }; var MWSClientBase = (function () { function MWSClientBase(marketplace, access_key, access_secret, seller_id, auth_token) { if (auth_token === void 0) { auth_token = ''; } var marketplace_info = this.getMarketplaceInfo(marketplace); this.useragent = null; this.marketplace = marketplace; this.marketplace_id = marketplace_info['id']; this.protocol = 'https'; this.endpoint = marketplace_info['mws_endpoint']; this.site_url = marketplace_info['site']; this.access_key = access_key; this.access_secret = access_secret; this.seller_id = seller_id; this.auth_token = auth_token; } MWSClientBase.version = function () { return "1.1.11"; }; MWSClientBase.escapeUserAgentFieldValue = function (v) { return v.replace(/[\\\/();=]/g, function (m) { return '\\' + m; }); }; MWSClientBase.getMarketplaceId = function (country_code) { country_code = country_code.toUpperCase(); if (!mws_info[country_code]) throw new Error("Invalid country code: " + country_code); return mws_info[country_code]['id']; }; MWSClientBase.parseResponseError = function (status, headers, body) { status = parseInt(status); if (status > 199 && status < 300) { if (headers['Content-MD5']) { throw new Error("Reponse content MD5 checksum not match!"); } return null; } else { var err = { status: status, headers: headers, quota: {}, body: body, }; if (headers['x-mws-quota-max']) err['quota']['max'] = parseInt(headers['x-mws-quota-max']); if (headers['x-mws-quota-remaining']) err['quota']['remaining'] = parseInt(headers['x-mws-quota-remaining']); if (headers['x-mws-quota-resetsOn'] || headers['x-mws-quota-resetson']) err['quota']['resetsOn'] = new Date(headers['x-mws-quota-resetsOn'] || headers['x-mws-quota-resetson']); if (headers['x-mws-request-id']) err['request-id'] = headers['x-mws-request-id']; if (headers['x-mws-response-context']) err['response-context'] = headers['x-mws-response-context']; if (headers['x-mws-timestamp']) err['timestamp'] = new Date(headers['x-mws-timestamp']); if (headers['Content-Type'] == 'text/xml' || headers['content-type'] == 'text/xml') { err['data'] = xmljs.xml2js(body); } else { err['data'] = body; } return err; } }; MWSClientBase.parseResponse = function (status, headers, body) { status = parseInt(status); if (status > 199 && status < 300) { var res = { status: status, headers: headers, body: body, quota: {} }; if (headers['x-mws-quota-max']) res['quota']['max'] = parseInt(headers['x-mws-quota-max']); if (headers['x-mws-quota-remaining']) res['quota']['remaining'] = parseInt(headers['x-mws-quota-remaining']); if (headers['x-mws-quota-resetsOn'] || headers['x-mws-quota-resetson']) res['quota']['resetsOn'] = new Date(headers['x-mws-quota-resetsOn'] || headers['x-mws-quota-resetson']); if (headers['x-mws-request-id']) res['request-id'] = headers['x-mws-request-id']; if (headers['x-mws-response-context']) res['response-context'] = headers['x-mws-response-context']; if (headers['x-mws-timestamp']) res['timestamp'] = new Date(headers['x-mws-timestamp']); if (headers['Content-Type'] == 'text/xml' || headers['content-type'] == 'text/xml') { res['data'] = xmljs.xml2js(body, { compact: true }); } else { res['data'] = body; } return res; } else { return null; } }; MWSClientBase.prototype.getMarketplaceInfo = function (country_code) { if (!mws_info[country_code]) throw new Error("Invalid country code: " + country_code); return mws_info[country_code]; }; MWSClientBase.prototype.urlEncode = function (str) { return encodeURIComponent(str).replace(/[!*()']/g, function (c) { return '%' + c.charCodeAt(0).toString(16); }); }; MWSClientBase.prototype.createQueryString = function (params) { var query_parts = []; var keys = Object.keys(params); for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { var k = keys_1[_i]; query_parts.push(k + '=' + this.urlEncode(params[k])); } var queryString = query_parts.join('&'); return queryString; }; MWSClientBase.prototype.calcSignature = function (endpoint, path, params) { var str = ''; var keys = Object.keys(params); keys = keys.sort(); for (var i = 0; i < keys.length; i++) { if (i != 0) str += '&'; str += keys[i] + '=' + this.urlEncode(params[keys[i]]); } var stringToSign = "POST\n" + endpoint + "\n" + path + "\n" + str; var hmac = this.calcHMAC(stringToSign, this.access_secret); return hmac; }; MWSClientBase.prototype.callApi = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var section = null; var version = null; var action = null; var params = {}; var feed = null; var cbk = null; var argc = arguments.length; if (argc < 4) { throw new Error("Invalid paramters, at least 4 parameter needed!"); } section = arguments[0]; version = arguments[1]; action = arguments[2]; if (argc == 4) { cbk = arguments[3]; } else if (argc == 5) { params = arguments[3]; cbk = arguments[4]; } else { params = arguments[3]; feed = arguments[4]; cbk = arguments[5]; } var headers = { "User-Agent": this.getUserAgent(), "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }; var requiredParams = { AWSAccessKeyId: this.access_key, Action: action, SellerId: this.seller_id, SignatureMethod: 'HmacSHA256', SignatureVersion: '2', Timestamp: new Date().toISOString(), Version: version, }; for (var k in params) { requiredParams[k] = params[k]; } if (this.auth_token) { requiredParams['MWSAuthToken'] = this.auth_token; } if (action == 'SubmitFeed') { if (params['FeedType'].indexOf('FLAT_FILE') > -1) { if (this.marketplace == 'CN') { headers['Content-Type'] = 'text/tab-separated-values; charset=utf-8'; feed = this.encodeContent(feed, 'utf8'); } else if (this.marketplace == 'JP') { headers['Content-Type'] = 'text/tab-separated-values; charset=Shift_JIS'; feed = this.encodeContent(feed, 'shift_jis'); } else { headers['Content-Type'] = 'text/tab-separated-values; charset=iso-8859-1'; feed = this.encodeContent(feed, 'iso-8859-1'); } } else { headers['Content-Type'] = 'text/xml'; feed = this.encodeContent(feed, 'utf8'); } requiredParams['ContentMD5Value'] = this.calcMD5(feed); } requiredParams['Signature'] = this.calcSignature(this.endpoint, '/' + section + '/' + version, requiredParams); var queryString = this.createQueryString(requiredParams); var url = this.protocol + '://' + this.endpoint + '/' + section + '/' + version; if (queryString) url = url + '?' + queryString; if (action == 'SubmitFeed') { this.makeHttpRequest('POST', url, headers, feed, cbk); } else { this.makeHttpRequest('POST', url, headers, null, cbk); } }; MWSClientBase.prototype._invokeApi = function (section, name) { var params = []; for (var _i = 2; _i < arguments.length; _i++) { params[_i - 2] = arguments[_i]; } if (!api_mapping[section]) throw new Error("Invalid MWS API Section name: " + section + "!"); return this.callApi.apply(this, [section, api_mapping[section].version, name].concat(params)); }; MWSClientBase.prototype.SubmitFeed = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Feeds', 'SubmitFeed'].concat(params)); }; MWSClientBase.prototype.GetFeedSubmissionList = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Feeds', 'GetFeedSubmissionList'].concat(params)); }; MWSClientBase.prototype.GetFeedSubmissionListByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Feeds', 'GetFeedSubmissionListByNextToken'].concat(params)); }; MWSClientBase.prototype.GetFeedSubmissionCount = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Feeds', 'GetFeedSubmissionCount'].concat(params)); }; MWSClientBase.prototype.CancelFeedSubmissions = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Feeds', 'CancelFeedSubmissions'].concat(params)); }; MWSClientBase.prototype.GetFeedSubmissionResult = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Feeds', 'GetFeedSubmissionResult'].concat(params)); }; MWSClientBase.prototype.ListFinancialEventGroups = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Finances', 'ListFinancialEventGroups'].concat(params)); }; MWSClientBase.prototype.ListFinancialEventGroupsByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Finances', 'ListFinancialEventGroupsByNextToken'].concat(params)); }; MWSClientBase.prototype.ListFinancialEvents = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Finances', 'ListFinancialEvents'].concat(params)); }; MWSClientBase.prototype.ListFinancialEventsByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Finances', 'ListFinancialEventsByNextToken'].concat(params)); }; MWSClientBase.prototype.GetInboundGuidanceForSKU = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetInboundGuidanceForSKU'].concat(params)); }; MWSClientBase.prototype.GetInboundGuidanceForASIN = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetInboundGuidanceForASIN'].concat(params)); }; MWSClientBase.prototype.CreateInboundShipmentPlan = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'CreateInboundShipmentPlan'].concat(params)); }; MWSClientBase.prototype.CreateInboundShipment = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'CreateInboundShipment'].concat(params)); }; MWSClientBase.prototype.UpdateInboundShipment = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'UpdateInboundShipment'].concat(params)); }; MWSClientBase.prototype.GetPreorderInfo = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetPreorderInfo'].concat(params)); }; MWSClientBase.prototype.ConfirmPreorder = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'ConfirmPreorder'].concat(params)); }; MWSClientBase.prototype.GetPrepInstructionsForSKU = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetPrepInstructionsForSKU'].concat(params)); }; MWSClientBase.prototype.GetPrepInstructionsForASIN = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetPrepInstructionsForASIN'].concat(params)); }; MWSClientBase.prototype.PutTransportContent = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'PutTransportContent'].concat(params)); }; MWSClientBase.prototype.EstimateTransportRequest = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'EstimateTransportRequest'].concat(params)); }; MWSClientBase.prototype.GetTransportContent = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetTransportContent'].concat(params)); }; MWSClientBase.prototype.ConfirmTransportRequest = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'ConfirmTransportRequest'].concat(params)); }; MWSClientBase.prototype.VoidTransportRequest = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'VoidTransportRequest'].concat(params)); }; MWSClientBase.prototype.GetPackageLabels = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetPackageLabels'].concat(params)); }; MWSClientBase.prototype.GetUniquePackageLabels = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetUniquePackageLabels'].concat(params)); }; MWSClientBase.prototype.GetPalletLabels = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetPalletLabels'].concat(params)); }; MWSClientBase.prototype.GetBillOfLading = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'GetBillOfLading'].concat(params)); }; MWSClientBase.prototype.ListInboundShipments = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'ListInboundShipments'].concat(params)); }; MWSClientBase.prototype.ListInboundShipmentsByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'ListInboundShipmentsByNextToken'].concat(params)); }; MWSClientBase.prototype.ListInboundShipmentItems = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'ListInboundShipmentItems'].concat(params)); }; MWSClientBase.prototype.ListInboundShipmentItemsByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInboundShipment', 'ListInboundShipmentItemsByNextToken'].concat(params)); }; MWSClientBase.prototype.ListInventorySupply = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInventory', 'ListInventorySupply'].concat(params)); }; MWSClientBase.prototype.ListInventorySupplyByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentInventory', 'ListInventorySupplyByNextToken'].concat(params)); }; MWSClientBase.prototype.GetFulfillmentPreview = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'GetFulfillmentPreview'].concat(params)); }; MWSClientBase.prototype.CreateFulfillmentOrder = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'CreateFulfillmentOrder'].concat(params)); }; MWSClientBase.prototype.UpdateFulfillmentOrder = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'UpdateFulfillmentOrder'].concat(params)); }; MWSClientBase.prototype.GetFulfillmentOrder = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'GetFulfillmentOrder'].concat(params)); }; MWSClientBase.prototype.ListAllFulfillmentOrders = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'ListAllFulfillmentOrders'].concat(params)); }; MWSClientBase.prototype.ListAllFulfillmentOrdersByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'ListAllFulfillmentOrdersByNextToken'].concat(params)); }; MWSClientBase.prototype.GetPackageTrackingDetails = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'GetPackageTrackingDetails'].concat(params)); }; MWSClientBase.prototype.CancelFulfillmentOrder = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'CancelFulfillmentOrder'].concat(params)); }; MWSClientBase.prototype.ListReturnReasonCodes = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'ListReturnReasonCodes'].concat(params)); }; MWSClientBase.prototype.CreateFulfillmentReturn = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'CreateFulfillmentReturn'].concat(params)); }; MWSClientBase.prototype.GetEligibleShippingServices = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['MerchantFulfillment', 'GetEligibleShippingServices'].concat(params)); }; MWSClientBase.prototype.CreateShipment = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['MerchantFulfillment', 'CreateShipment'].concat(params)); }; MWSClientBase.prototype.GetShipment = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'GetShipment'].concat(params)); }; MWSClientBase.prototype.CancelShipment = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['FulfillmentOutboundShipment', 'CancelShipment'].concat(params)); }; MWSClientBase.prototype.ListOrders = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Orders', 'ListOrders'].concat(params)); }; MWSClientBase.prototype.ListOrdersByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Orders', 'ListOrdersByNextToken'].concat(params)); }; MWSClientBase.prototype.GetOrder = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Orders', 'GetOrder'].concat(params)); }; MWSClientBase.prototype.ListOrderItems = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Orders', 'ListOrderItems'].concat(params)); }; MWSClientBase.prototype.ListOrderItemsByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Orders', 'ListOrderItemsByNextToken'].concat(params)); }; MWSClientBase.prototype.ListMatchingProducts = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'ListMatchingProducts'].concat(params)); }; MWSClientBase.prototype.GetMatchingProduct = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetMatchingProduct'].concat(params)); }; MWSClientBase.prototype.GetMatchingProductForId = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetMatchingProductForId'].concat(params)); }; MWSClientBase.prototype.GetCompetitivePricingForSKU = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetCompetitivePricingForSKU'].concat(params)); }; MWSClientBase.prototype.GetCompetitivePricingForASIN = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetCompetitivePricingForASIN'].concat(params)); }; MWSClientBase.prototype.GetLowestOfferListingsForSKU = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetLowestOfferListingsForSKU'].concat(params)); }; MWSClientBase.prototype.GetLowestOfferListingsForASIN = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetLowestOfferListingsForASIN'].concat(params)); }; MWSClientBase.prototype.GetLowestPricedOffersForSKU = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetLowestPricedOffersForSKU'].concat(params)); }; MWSClientBase.prototype.GetLowestPricedOffersForASIN = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetLowestPricedOffersForASIN'].concat(params)); }; MWSClientBase.prototype.GetMyFeesEstimate = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetMyFeesEstimate'].concat(params)); }; MWSClientBase.prototype.GetMyPriceForSKU = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetMyPriceForSKU'].concat(params)); }; MWSClientBase.prototype.GetMyPriceForASIN = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetMyPriceForASIN'].concat(params)); }; MWSClientBase.prototype.GetProductCategoriesForSKU = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetProductCategoriesForSKU'].concat(params)); }; MWSClientBase.prototype.GetProductCategoriesForASIN = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Products', 'GetProductCategoriesForASIN'].concat(params)); }; MWSClientBase.prototype.GetLastUpdatedTimeForRecommendations = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Recommendations', 'GetLastUpdatedTimeForRecommendations'].concat(params)); }; MWSClientBase.prototype.ListRecommendations = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Recommendations', 'ListRecommendations'].concat(params)); }; MWSClientBase.prototype.ListRecommendationsByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Recommendations', 'ListRecommendationsByNextToken'].concat(params)); }; MWSClientBase.prototype.RequestReport = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'RequestReport'].concat(params)); }; MWSClientBase.prototype.GetReportRequestList = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReportRequestList'].concat(params)); }; MWSClientBase.prototype.GetReportRequestListByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReportRequestListByNextToken'].concat(params)); }; MWSClientBase.prototype.GetReportRequestCount = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReportRequestCount'].concat(params)); }; MWSClientBase.prototype.CancelReportRequests = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'CancelReportRequests'].concat(params)); }; MWSClientBase.prototype.GetReportList = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReportList'].concat(params)); }; MWSClientBase.prototype.GetReportListByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReportListByNextToken'].concat(params)); }; MWSClientBase.prototype.GetReportCount = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReportCount'].concat(params)); }; MWSClientBase.prototype.GetReport = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReport'].concat(params)); }; MWSClientBase.prototype.ManageReportSchedule = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'ManageReportSchedule'].concat(params)); }; MWSClientBase.prototype.GetReportScheduleList = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReportScheduleList'].concat(params)); }; MWSClientBase.prototype.GetReportScheduleListByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReportScheduleListByNextToken'].concat(params)); }; MWSClientBase.prototype.GetReportScheduleCount = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'GetReportScheduleCount'].concat(params)); }; MWSClientBase.prototype.UpdateReportAcknowledgements = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Reports', 'UpdateReportAcknowledgements'].concat(params)); }; MWSClientBase.prototype.ListMarketplaceParticipations = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Sellers', 'ListMarketplaceParticipations'].concat(params)); }; MWSClientBase.prototype.ListMarketplaceParticipationsByNextToken = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Sellers', 'ListMarketplaceParticipationsByNextToken'].concat(params)); }; MWSClientBase.prototype.RegisterDestination = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Subscriptions', 'RegisterDestination'].concat(params)); }; MWSClientBase.prototype.DeregisterDestination = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Subscriptions', 'DeregisterDestination'].concat(params)); }; MWSClientBase.prototype.ListRegisteredDestinations = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Subscriptions', 'ListRegisteredDestinations'].concat(params)); }; MWSClientBase.prototype.SendTestNotificationToDestination = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Subscriptions', 'SendTestNotificationToDestination'].concat(params)); }; MWSClientBase.prototype.CreateSubscription = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Subscriptions', 'CreateSubscription'].concat(params)); }; MWSClientBase.prototype.GetSubscription = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Subscriptions', 'GetSubscription'].concat(params)); }; MWSClientBase.prototype.DeleteSubscription = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Subscriptions', 'DeleteSubscription'].concat(params)); }; MWSClientBase.prototype.ListSubscriptions = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Subscriptions', 'ListSubscriptions'].concat(params)); }; MWSClientBase.prototype.UpdateSubscription = function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } return this._invokeApi.apply(this, ['Subscriptions', 'UpdateSubscription'].concat(params)); }; MWSClientBase.prototype.GetServiceStatus = function (section) { var params = []; for (var _i = 1; _i < arguments.length; _i++) { params[_i - 1] = arguments[_i]; } return this._invokeApi.apply(this, [section, 'GetServiceStatus'].concat(params)); }; return MWSClientBase; }()); exports.MWSClientBase = MWSClientBase; },{"@lemay/mws-api-info":3,"xml-js":56}],2:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var base_1 = require("./base"); var iconv = require('iconv-lite'); var GoogleAppsScriptMWSClient = (function (_super) { __extends(GoogleAppsScriptMWSClient, _super); function GoogleAppsScriptMWSClient() { return _super !== null && _super.apply(this, arguments) || this; } GoogleAppsScriptMWSClient.prototype.calcMD5 = function (content) { var digest = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, content); return Utilities.base64Encode(digest); }; GoogleAppsScriptMWSClient.prototype.calcHMAC = function (content, secret) { var digest = Utilities.computeHmacSha256Signature(content, secret); return Utilities.base64Encode(digest); }; GoogleAppsScriptMWSClient.prototype.makeHttpRequest = function (method, url, headers, body, cbk) { var options = { method: method.toLowerCase(), contentType: headers['Content-Type'], headers: headers, payload: body }; try { var res = UrlFetchApp.fetch(url, options); cbk(base_1.MWSClientBase.parseResponseError(res.getResponseCode(), res.getAllHeaders(), res.getContentText()), base_1.MWSClientBase.parseResponse(res.getResponseCode(), res.getAllHeaders(), res.getContentText())); } catch (e) { cbk(e, null); } }; GoogleAppsScriptMWSClient.prototype.encodeContent = function (content, encoding) { return iconv.encode(content, encoding); }; GoogleAppsScriptMWSClient.prototype.getUserAgent = function () { return "LemayGoogleAppsScriptClient/" + base_1.MWSClientBase.version() + " (Language=Javascript)"; }; return GoogleAppsScriptMWSClient; }(base_1.MWSClientBase)); module.exports = GoogleAppsScriptMWSClient; },{"./base":1,"iconv-lite":27}],3:[function(require,module,exports){ module.exports={ "US": { "name": "Amazon United States", "site": "amazon.com", "id": "ATVPDKIKX0DER", "mws_endpoint": "mws.amazonservices.com", "region": "NA" }, "CA": { "name": "Amazon Canada", "site": "amazon.ca", "id": "A2EUQ1WTGCTBG2", "mws_endpoint": "mws.amazonservices.com", "region": "NA" }, "MX": { "name": "Amazon Mexico", "site": "amazon.com.mx", "id": "A1AM78C64UM0Y8", "mws_endpoint": "mws.amazonservices.com", "region": "NA" }, "DE": { "name": "Amazon Germany", "site": "amazon.de", "id": "A1PA6795UKMFR9", "mws_endpoint": "mws-eu.amazonservices.com", "region": "EU" }, "ES": { "name": "Amazon Spain", "site": "amazon.es", "id": "A1RKKUPIHCS9HS", "mws_endpoint": "mws-eu.amazonservices.com", "region": "EU" }, "FR": { "name": "Amazon France", "site": "amazon.fr", "id": "A13V1IB3VIYZZH", "mws_endpoint": "mws-eu.amazonservices.com", "region": "EU" }, "IT": { "name": "Amazon Italy", "site": "amazon.it", "id": "APJ6JRA9NG5V4", "mws_endpoint": "mws-eu.amazonservices.com", "region": "EU" }, "UK": { "name": "Amazon UK", "site": "amazon.co.uk", "id": "A1F83G8C2ARO7P", "mws_endpoint": "mws-eu.amazonservices.com", "region": "EU" }, "IN": { "name": "Amazon India", "site": "amazon.in", "id": "A21TJRUUN4KGV", "mws_endpoint": "mws.amazonservices.in", "region": "IN" }, "AU": { "name": "Amazon Australia", "site": "amazon.com.au", "id": "A39IBJ37TRP1C6", "mws_endpoint": "mws.amazonservices.com.au", "region": "FE" }, "JP": { "name": "Amazon Japan", "site": "amazon.co.jp", "id": "A1VC38T7YXB528", "mws_endpoint": "mws.amazonservices.jp", "region": "FE" }, "CN": { "name": "Amazon China", "site": "amazon.cn", "id": "AAHKV2X7AFYLW", "mws_endpoint": "mws.amazonservices.com.cn", "region": "CN" }, "BR": { "name": "Amazon Brazil", "site": "amazon.com.br", "id": "A2Q3Y263D00KWC", "mws_endpoint": "mws.amazonservices.com", "region": "BR" } } },{}],4:[function(require,module,exports){ 'use strict' exports.byteLength = byteLength exports.toByteArray = toByteArray exports.fromByteArray = fromByteArray var lookup = [] var revLookup = [] var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' for (var i = 0, len = code.length; i < len; ++i) { lookup[i] = code[i] revLookup[code.charCodeAt(i)] = i } // Support decoding URL-safe base64 strings, as Node.js does. // See: https://en.wikipedia.org/wiki/Base64#URL_applications revLookup['-'.charCodeAt(0)] = 62 revLookup['_'.charCodeAt(0)] = 63 function getLens (b64) { var len = b64.length if (len % 4 > 0) { throw new Error('Invalid string. Length must be a multiple of 4') } // Trim off extra bytes after placeholder bytes are found // See: https://github.com/beatgammit/base64-js/issues/42 var validLen = b64.indexOf('=') if (validLen === -1) validLen = len var placeHoldersLen = validLen === len ? 0 : 4 - (validLen % 4) return [validLen, placeHoldersLen] } // base64 is 4/3 + up to two characters of the original data function byteLength (b64) { var lens = getLens(b64) var validLen = lens[0] var placeHoldersLen = lens[1] return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen } function _byteLength (b64, validLen, placeHoldersLen) { return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen } function toByteArray (b64) { var tmp var lens = getLens(b64) var validLen = lens[0] var placeHoldersLen = lens[1] var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) var curByte = 0 // if there are placeholders, only get up to the last complete 4 chars var len = placeHoldersLen > 0 ? validLen - 4 : validLen for (var i = 0; i < len; i += 4) { tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] arr[curByte++] = (tmp >> 16) & 0xFF arr[curByte++] = (tmp >> 8) & 0xFF arr[curByte++] = tmp & 0xFF } if (placeHoldersLen === 2) { tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) arr[curByte++] = tmp & 0xFF } if (placeHoldersLen === 1) { tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) arr[curByte++] = (tmp >> 8) & 0xFF arr[curByte++] = tmp & 0xFF } return arr } function tripletToBase64 (num) { return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] } function encodeChunk (uint8, start, end) { var tmp var output = [] for (var i = start; i < end; i += 3) { tmp = ((uint8[i] << 16) & 0xFF0000) + ((uint8[i + 1] << 8) & 0xFF00) + (uint8[i + 2] & 0xFF) output.push(tripletToBase64(tmp)) } return output.join('') } function fromByteArray (uint8) { var tmp var len = uint8.length var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes var parts = [] var maxChunkLength = 16383 // must be multiple of 3 // go through the array every three bytes, we'll deal with trailing stuff later for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { parts.push(encodeChunk( uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) )) } // pad the end with zeros, but make sure to not forget the extra bytes if (extraBytes === 1) { tmp = uint8[len - 1] parts.push( lookup[tmp >> 2] + lookup[(tmp << 4) & 0x3F] + '==' ) } else if (extraBytes === 2) { tmp = (uint8[len - 2] << 8) + uint8[len - 1] parts.push( lookup[tmp >> 10] + lookup[(tmp >> 4) & 0x3F] + lookup[(tmp << 2) & 0x3F] + '=' ) } return parts.join('') } },{}],5:[function(require,module,exports){ },{}],6:[function(require,module,exports){ /*! * The buffer module f