UNPKG

@ericblade/mws-advanced

Version:

Modern, fully featured, very opinionated node javascript Amazon MWS API based on @ericblade/mws-simple

164 lines (157 loc) 5.54 kB
/** * Constants for endpoint handling code. Mostly report generation functions use these. * @module endpoints/constants * @private */ /** * List of all valid request report types. * This should probably be a hash map from sane values into values that Amazon understands, * but we don't really have reporting done very well yet. */ const REQUEST_REPORT_TYPES = [ // Inventory Reports -- see http://docs.developer.amazonservices.com/en_US/reports/Reports_ReportType.html '_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_CONVERGED_FLAT_FILE_SOLD_LISTINGS_DATA_', '_GET_MERCHANT_LISTINGS_DEFECT_DATA_', '_GET_PAN_EU_OFFER_STATUS_', '_GET_MFN_PAN_EU_OFFER_STATUS_', // Order Reports '_GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_', '_GET_CONVERGED_FLAT_FILE_ORDER_REPORT_DATA_', // Order Tracking Reports '_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_', // Pending Order Reports '_GET_FLAT_FILE_PENDING_ORDERS_DATA_', '_GET_PENDING_ORDERS_DATA_', '_GET_CONVERGED_FLAT_FILE_PENDING_ORDERS_DATA_', // Performance Reports '_GET_SELLER_FEEDBACK_DATA_', '_GET_V1_SELLER_PERFORMANCE_REPORT_', '_GET_AMAZON_FULFILLED_SHIPMENTS_DATA_', // FBA Reports - Sales '_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_', // FBA Reports - Inventory '_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_FBA_FULFILLMENT_CROSS_BORDER_INVENTORY_MOVEMENT_DATA_', '_GET_RESTOCK_INVENTORY_RECOMMENDATIONS_REPORT_', '_GET_FBA_FULFILLMENT_INBOUND_NONCOMPILANCE_DATA_', '_GET_STRANDED_INVENTORY_UI_DATA_', '_GET_STRANDED_INVENTORY_LOADER_DATA_', '_GET_FBA_INVENTORY_AGED_DATA_', '_GET_EXCESS_INVENTORY_DATA_', '_GET_FBA_UNO_INVENTORY_DATA_', // Small & Light Inventory report '_GET_FBA_RECONCILIATION_REPORT_DATA_', // Inventory Reconciliation // FBA Payments Reports '_GET_FBA_ESTIMATED_FBA_FEES_TXT_DATA_', '_GET_FBA_REIMBURSEMENTS_DATA_', // FBA Customer Concessions Reports '_GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA_', '_GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_REPLACEMENT_DATA_', // FBA Removals Reports '_GET_FBA_RECOMMENDED_REMOVAL_DATA_', '_GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA_', '_GET_FBA_FULFILLMENT_REMOVAL_SHIPMENT_DETAIL_DATA_', // Tax Reports '_GET_FLAT_FILE_SALES_TAX_DATA_', '_SC_VAT_TAX_REPORT_', // Browse Tree Reports '_GET_XML_BROWSE_TREE_DATA_', ]; /** * Report types that can only be accessed via Scheduling. These reports cannot be requested * via any report request function. * @private */ const SCHEDULED_REPORT_TYPES = [ '_GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_', '_GET_ORDERS_DATA_', '_GET_FLAT_FILE_ORDERS_DATA_', '_GET_CONVERGED_FLAT_FILE_ORDER_REPORT_DATA_', ]; /** * reports that can ONLY be retrieved with GetReport - MWS runs them automatically * @private */ const NOREQUEST_REPORT_TYPES = [ '_GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE_', '_GET_V2_SETTLEMENT_REPORT_DATA_XML_', '_GET_V2_SETTLEMENT_REPORT_DATA_FILE_FILE_V2_', 'FeedSummaryReport', // Results of a Feed Upload. These may show up as pure text, or as JSON // data inside a AmazonEnvelope {} structure /* Feed Processing Summary: Number of records processed 1 Number of records successful 1 */ /* AmazonEnvelope: { MessageType, StatusCode, ProcessingReport: { ProcessingSummary: { * MessagesProcessed, * MessagesSuccessful, * MessagesWithError, * MessagesWithWarning, * }} */ ]; /** * status indicators for report processing status updates */ const REPORT_PROCESSING_STATUS_TYPES = [ '_SUBMITTED_', '_IN_PROGRESS_', '_CANCELLED_', '_DONE_', '_DONE_NO_DATA_', ]; /** * constants for configuring mws report generation scheduling * @private */ const SCHEDULE_TYPES = [ '_15_MINUTES_', '_30_MINUTES_', '_1_HOUR_', '_2_HOURS_', '_4_HOURS_', '_8_HOURS_', '_12_HOURS_', '_1_DAY_', '_2_DAYS_', '_72_HOURS_', '_1_WEEK_', '_14_DAYS_', '_15_DAYS_', '_30_DAYS_', '_NEVER_', ]; module.exports = { REQUEST_REPORT_TYPES, SCHEDULED_REPORT_TYPES, NOREQUEST_REPORT_TYPES, REPORT_PROCESSING_STATUS_TYPES, SCHEDULE_TYPES, };