UNPKG

amazon-seller-mcp

Version:

Model Context Protocol (MCP) client for Amazon Selling Partner API

238 lines (237 loc) 6.39 kB
/** * Reports API client for Amazon Selling Partner API */ import { BaseApiClient } from './base-client.js'; import { AuthConfig } from '../types/auth.js'; /** * Report processing status */ export type ReportProcessingStatus = 'CANCELLED' | 'DONE' | 'FATAL' | 'IN_PROGRESS' | 'IN_QUEUE'; /** * Report type */ export type ReportType = 'GET_FLAT_FILE_OPEN_LISTINGS_DATA' | 'GET_MERCHANT_LISTINGS_ALL_DATA' | 'GET_MERCHANT_LISTINGS_DATA' | 'GET_MERCHANT_LISTINGS_INACTIVE_DATA' | 'GET_MERCHANT_LISTINGS_DATA_BACK_COMPAT' | 'GET_MERCHANT_LISTINGS_DATA_LITE' | 'GET_MERCHANT_LISTINGS_DATA_LITER' | 'GET_MERCHANT_CANCELLED_LISTINGS_DATA' | 'GET_MERCHANT_LISTINGS_DEFECT_DATA' | 'GET_PAN_EU_OFFER_STATUS' | 'GET_FLAT_FILE_ORDERS_DATA' | 'GET_ORDERS_DATA' | 'GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE' | 'GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE' | 'GET_XML_ALL_ORDERS_DATA_BY_LAST_UPDATE' | 'GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE' | 'GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_SALES_DATA' | 'GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_PROMOTION_DATA' | 'GET_FBA_FULFILLMENT_CUSTOMER_TAXES_DATA' | 'GET_AFN_INVENTORY_DATA' | 'GET_AFN_INVENTORY_DATA_BY_COUNTRY' | 'GET_FBA_FULFILLMENT_CURRENT_INVENTORY_DATA' | 'GET_FBA_FULFILLMENT_MONTHLY_INVENTORY_DATA' | 'GET_FBA_FULFILLMENT_INVENTORY_RECEIPTS_DATA' | 'GET_RESERVED_INVENTORY_DATA' | 'GET_FBA_FULFILLMENT_INVENTORY_SUMMARY_DATA' | 'GET_FBA_FULFILLMENT_INVENTORY_ADJUSTMENTS_DATA' | 'GET_FBA_FULFILLMENT_INVENTORY_HEALTH_DATA' | 'GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA' | 'GET_FBA_MYI_ALL_INVENTORY_DATA' | 'GET_RESTOCK_INVENTORY_RECOMMENDATIONS_REPORT' | 'GET_SELLER_FEEDBACK_DATA' | 'GET_V1_SELLER_PERFORMANCE_REPORT' | 'GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE' | 'GET_V2_SETTLEMENT_REPORT_DATA_XML' | 'GET_AMAZON_FULFILLED_SHIPMENTS_DATA' | 'GET_FBA_INVENTORY_PLANNING_DATA' | 'GET_SALES_AND_TRAFFIC_REPORT'; /** * Report */ export interface Report { /** * Report ID */ reportId: string; /** * Report type */ reportType: ReportType; /** * Processing status */ processingStatus: ReportProcessingStatus; /** * Marketplace IDs */ marketplaceIds?: string[]; /** * Created time */ createdTime: string; /** * Processing start time */ processingStartTime?: string; /** * Processing end time */ processingEndTime?: string; /** * Report document ID */ reportDocumentId?: string; /** * Data start time */ dataStartTime?: string; /** * Data end time */ dataEndTime?: string; } /** * Report document */ export interface ReportDocument { /** * Report document ID */ reportDocumentId: string; /** * URL to download the report */ url: string; /** * Compression algorithm */ compressionAlgorithm?: 'GZIP'; } /** * Parameters for creating a report */ export interface CreateReportParams { /** * Report type */ reportType: ReportType; /** * Marketplace IDs */ marketplaceIds: string[]; /** * Data start time */ dataStartTime?: string; /** * Data end time */ dataEndTime?: string; /** * Report options */ reportOptions?: Record<string, string>; } /** * Parameters for getting a report */ export interface GetReportParams { /** * Report ID */ reportId: string; } /** * Parameters for getting a report document */ export interface GetReportDocumentParams { /** * Report document ID */ reportDocumentId: string; } /** * Parameters for getting reports */ export interface GetReportsParams { /** * Report types */ reportTypes?: ReportType[]; /** * Processing statuses */ processingStatuses?: ReportProcessingStatus[]; /** * Marketplace IDs */ marketplaceIds?: string[]; /** * Page size */ pageSize?: number; /** * Created since */ createdSince?: string; /** * Created until */ createdUntil?: string; /** * Next token for pagination */ nextToken?: string; } /** * Create report result */ export interface CreateReportResult { /** * Report ID */ reportId: string; } /** * Get reports result */ export interface GetReportsResult { /** * Reports */ reports: Report[]; /** * Next token for pagination */ nextToken?: string; } /** * Reports API client for Amazon Selling Partner API */ export declare class ReportsClient extends BaseApiClient { /** * API version */ private readonly apiVersion; /** * Create a new ReportsClient instance * * @param authConfig Authentication configuration */ constructor(authConfig: AuthConfig); /** * Create a report * * @param params Parameters for creating a report * @returns Promise resolving to the create report result */ createReport(params: CreateReportParams): Promise<CreateReportResult>; /** * Get a report * * @param params Parameters for getting a report * @returns Promise resolving to the report */ getReport(params: GetReportParams): Promise<Report>; /** * Get a report document * * @param params Parameters for getting a report document * @returns Promise resolving to the report document */ getReportDocument(params: GetReportDocumentParams): Promise<ReportDocument>; /** * Get reports * * @param params Parameters for getting reports * @returns Promise resolving to the get reports result */ getReports(params?: GetReportsParams): Promise<GetReportsResult>; /** * Cancel a report * * @param params Parameters for canceling a report * @returns Promise resolving to void */ cancelReport(params: GetReportParams): Promise<void>; /** * Download a report document * * @param reportDocumentId Report document ID * @returns Promise resolving to the report content */ downloadReportDocument(reportDocumentId: string): Promise<string>; /** * Validate create report parameters * * @param params Parameters to validate * @throws Error if validation fails */ private validateCreateReportParams; }