UNPKG

@lorenstuff/amazon-selling-partner-api

Version:

A package for interacting with the Amazon Selling Partner API.

315 lines 11.2 kB
// // Imports // import { AmazonSellingPartnerAPIError } from "./AmazonSellingPartnerAPIError.js"; // // Class // /** A client for v2020-11-01 of the A+ Content endpoints of the Amazon Selling Partner API. */ export class AmazonSellingPartnerAPlusContentAPIClient { amazonSellingPartnerApiClient; constructor(amazonSellingPartnerApiClient) { this.amazonSellingPartnerApiClient = amazonSellingPartnerApiClient; } async createContentDocument(query, postContentDocumentRequest) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "POST", path: "/aplus/2020-11-01/contentDocuments", searchParams, body: JSON.stringify(postContentDocumentRequest), }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } async getContentDocument(contentReferenceKey, query) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } { if (query.includedDataSet.length < 1) { throw new Error("Invalid includedDataSet."); } searchParams.set("includedDataSet", query.includedDataSet.join(",")); } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "GET", path: "/aplus/2020-11-01/contentDocuments/" + contentReferenceKey, searchParams, }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } async listContentDocumentAsinRelations(contentReferenceKey, query) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); if (!("pageToken" in query)) { { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } if (query.includedDataSet != null) { searchParams.set("includedDataSet", query.includedDataSet.join(",")); } if (query.asinSet != null) { searchParams.set("asinSet", query.asinSet.join(",")); } } else { { if (query.pageToken.length < 1) { throw new Error("Invalid pageToken."); } searchParams.set("pageToken", query.pageToken); } } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "GET", path: "/aplus/2020-11-01/contentDocuments/" + contentReferenceKey + "/asins", searchParams, }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } async postContentDocumentApprovalSubmission(contentReferenceKey, query) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "POST", path: "/aplus/2020-11-01/contentDocuments/" + contentReferenceKey + "/approvalSubmissions", searchParams, }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } async postContentDocumentAsinRelations(contentReferenceKey, query, postContentDocumentAsinRelationsRequest) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "POST", path: "/aplus/2020-11-01/contentDocuments/" + contentReferenceKey + "/asins", searchParams, body: JSON.stringify(postContentDocumentAsinRelationsRequest), }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } async postContentDocumentSuspendSubmission(contentReferenceKey, query) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "POST", path: "/aplus/2020-11-01/contentDocuments/" + contentReferenceKey + "/suspendSubmissions", searchParams, }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } async searchContentDocuments(query) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); if (!("pageToken" in query)) { { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } } else { { if (query.pageToken.length < 1) { throw new Error("Invalid pageToken."); } searchParams.set("pageToken", query.pageToken); } } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "GET", path: "/aplus/2020-11-01/contentDocuments", searchParams, }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } async searchContentPublishRecords(query) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); if (!("pageToken" in query)) { { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } { if (query.asin.length < 10) { throw new Error("Invalid asin."); } searchParams.set("asin", query.asin); } } else { searchParams.set("pageToken", query.pageToken); } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "GET", path: "/aplus/2020-11-01/contentPublishRecords", searchParams, }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } async updateContentDocument(contentReferenceKey, query, postContentDocumentRequest) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "POST", path: "/aplus/2020-11-01/contentDocuments/" + contentReferenceKey, searchParams, body: JSON.stringify(postContentDocumentRequest), }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } async validateContentDocumentAsinRelations(query, postContentDocumentRequest) { // // Build & Validate Search Params // const searchParams = new URLSearchParams(); { if (query.marketplaceId.length < 1) { throw new Error("Invalid marketplaceId."); } searchParams.set("marketplaceId", query.marketplaceId); } if (query.asinSet != null) { searchParams.set("asinSet", query.asinSet.join(",")); } // // Do Request // const response = await this.amazonSellingPartnerApiClient.request({ method: "POST", path: "/aplus/2020-11-01/contentAsinValidations", searchParams, body: JSON.stringify(postContentDocumentRequest), }); const responseData = await response.json(); if ("errors" in responseData) { throw new AmazonSellingPartnerAPIError(response, responseData.errors); } return responseData; } } //# sourceMappingURL=AmazonSellingPartnerAPlusContentAPIClient.js.map