@scaleleap/selling-partner-api-sdk
Version:
📦 A fully typed TypeScript and Node.js SDK library for Amazon Selling Partner API
1,748 lines • 158 kB
TypeScript
/**
* Selling Partner APIs for Fulfillment Outbound
* The Selling Partner API for Fulfillment Outbound lets you create applications that help a seller fulfill Multi-Channel Fulfillment orders using their inventory in Amazon\'s fulfillment network. You can get information on both potential and existing fulfillment orders.
*
* The version of the OpenAPI document: 2020-07-01
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { Configuration } from './configuration';
import { AxiosPromise, AxiosInstance } from 'axios';
import { RequestArgs, BaseAPI } from './base';
/**
* Additional location information.
* @export
* @enum {string}
*/
export declare enum AdditionalLocationInfo {
AsInstructed = "AS_INSTRUCTED",
Carport = "CARPORT",
CustomerPickup = "CUSTOMER_PICKUP",
Deck = "DECK",
DoorPerson = "DOOR_PERSON",
FrontDesk = "FRONT_DESK",
FrontDoor = "FRONT_DOOR",
Garage = "GARAGE",
Guard = "GUARD",
MailRoom = "MAIL_ROOM",
MailSlot = "MAIL_SLOT",
Mailbox = "MAILBOX",
McBoy = "MC_BOY",
McGirl = "MC_GIRL",
McMan = "MC_MAN",
McWoman = "MC_WOMAN",
Neighbor = "NEIGHBOR",
Office = "OFFICE",
Outbuilding = "OUTBUILDING",
Patio = "PATIO",
Porch = "PORCH",
RearDoor = "REAR_DOOR",
Receptionist = "RECEPTIONIST",
Receiver = "RECEIVER",
SecureLocation = "SECURE_LOCATION",
SideDoor = "SIDE_DOOR"
}
/**
* A physical address.
* @export
* @interface Address
*/
export interface Address {
/**
* The name of the person, business or institution at the address.
* @type {string}
* @memberof Address
*/
name: string;
/**
* The first line of the address.
* @type {string}
* @memberof Address
*/
addressLine1: string;
/**
* Additional address information, if required.
* @type {string}
* @memberof Address
*/
addressLine2?: string;
/**
* Additional address information, if required.
* @type {string}
* @memberof Address
*/
addressLine3?: string;
/**
* The city where the person, business, or institution is located. This property is required in all countries except Japan. It should not be used in Japan.
* @type {string}
* @memberof Address
*/
city?: string;
/**
* The district or county where the person, business, or institution is located.
* @type {string}
* @memberof Address
*/
districtOrCounty?: string;
/**
* The state or region where the person, business or institution is located.
* @type {string}
* @memberof Address
*/
stateOrRegion: string;
/**
* The postal code of the address.
* @type {string}
* @memberof Address
*/
postalCode: string;
/**
* The two digit country code. In ISO 3166-1 alpha-2 format.
* @type {string}
* @memberof Address
*/
countryCode: string;
/**
* The phone number of the person, business, or institution located at the address.
* @type {string}
* @memberof Address
*/
phone?: string;
}
/**
* A quantity based on unit of measure.
* @export
* @interface Amount
*/
export interface Amount {
/**
* The unit of measure for the amount.
* @type {string}
* @memberof Amount
*/
unitOfMeasure: AmountUnitOfMeasureEnum | 'Eaches';
/**
* A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation.
* @type {string}
* @memberof Amount
*/
value: string;
}
/**
* @export
* @enum {string}
*/
export declare enum AmountUnitOfMeasureEnum {
Eaches = "Eaches"
}
/**
* The COD (Cash On Delivery) charges that you associate with a COD fulfillment order.
* @export
* @interface CODSettings
*/
export interface CODSettings {
/**
* When true, this fulfillment order requires a COD (Cash On Delivery) payment.
* @type {boolean}
* @memberof CODSettings
*/
isCodRequired: boolean;
/**
*
* @type {Money}
* @memberof CODSettings
*/
codCharge?: Money;
/**
*
* @type {Money}
* @memberof CODSettings
*/
codChargeTax?: Money;
/**
*
* @type {Money}
* @memberof CODSettings
*/
shippingCharge?: Money;
/**
*
* @type {Money}
* @memberof CODSettings
*/
shippingChargeTax?: Money;
}
/**
* The response schema for the `cancelFulfillmentOrder` operation.
* @export
* @interface CancelFulfillmentOrderResponse
*/
export interface CancelFulfillmentOrderResponse {
/**
* A list of error responses returned when a request is unsuccessful.
* @type {Array<Error>}
* @memberof CancelFulfillmentOrderResponse
*/
errors?: Array<Error>;
}
/**
* Item information for creating a fulfillment order.
* @export
* @interface CreateFulfillmentOrderItem
*/
export interface CreateFulfillmentOrderItem {
/**
* The seller SKU of the item.
* @type {string}
* @memberof CreateFulfillmentOrderItem
*/
sellerSku: string;
/**
* A fulfillment order item identifier that the seller creates to track fulfillment order items. Used to disambiguate multiple fulfillment items that have the same `SellerSKU`. For example, the seller might assign different `SellerFulfillmentOrderItemId` values to two items in a fulfillment order that share the same `SellerSKU` but have different `GiftMessage` values.
* @type {string}
* @memberof CreateFulfillmentOrderItem
*/
sellerFulfillmentOrderItemId: string;
/**
* The item quantity.
* @type {number}
* @memberof CreateFulfillmentOrderItem
*/
quantity: number;
/**
* A message to the gift recipient, if applicable.
* @type {string}
* @memberof CreateFulfillmentOrderItem
*/
giftMessage?: string;
/**
* Item-specific text that displays in recipient-facing materials such as the outbound shipment packing slip.
* @type {string}
* @memberof CreateFulfillmentOrderItem
*/
displayableComment?: string;
/**
* Amazon\'s fulfillment network SKU of the item.
* @type {string}
* @memberof CreateFulfillmentOrderItem
*/
fulfillmentNetworkSku?: string;
/**
*
* @type {Money}
* @memberof CreateFulfillmentOrderItem
*/
perUnitDeclaredValue?: Money;
/**
*
* @type {Money}
* @memberof CreateFulfillmentOrderItem
*/
perUnitPrice?: Money;
/**
*
* @type {Money}
* @memberof CreateFulfillmentOrderItem
*/
perUnitTax?: Money;
}
/**
* The request body schema for the `createFulfillmentOrder` operation.
* @export
* @interface CreateFulfillmentOrderRequest
*/
export interface CreateFulfillmentOrderRequest {
/**
* The marketplace the fulfillment order is placed against.
* @type {string}
* @memberof CreateFulfillmentOrderRequest
*/
marketplaceId?: string;
/**
* A fulfillment order identifier that the seller creates to track their fulfillment order. The `SellerFulfillmentOrderId` must be unique for each fulfillment order that a seller creates. If the seller\'s system already creates unique order identifiers, then these might be good values for them to use.
* @type {string}
* @memberof CreateFulfillmentOrderRequest
*/
sellerFulfillmentOrderId: string;
/**
* A fulfillment order identifier that the seller creates. This value displays as the order identifier in recipient-facing materials such as the outbound shipment packing slip. The value of `DisplayableOrderId` should match the order identifier that the seller provides to the recipient. The seller can use the `SellerFulfillmentOrderId` for this value or they can specify an alternate value if they want the recipient to reference an alternate order identifier. The value must be an alpha-numeric or ISO 8859-1 compliant string from one to 40 characters in length. Cannot contain two spaces in a row. Leading and trailing white space is removed.
* @type {string}
* @memberof CreateFulfillmentOrderRequest
*/
displayableOrderId: string;
/**
* Date timestamp
* @type {string}
* @memberof CreateFulfillmentOrderRequest
*/
displayableOrderDate: string;
/**
* Order-specific text that appears in recipient-facing materials such as the outbound shipment packing slip.
* @type {string}
* @memberof CreateFulfillmentOrderRequest
*/
displayableOrderComment: string;
/**
*
* @type {ShippingSpeedCategory}
* @memberof CreateFulfillmentOrderRequest
*/
shippingSpeedCategory: ShippingSpeedCategory | 'Standard' | 'Expedited' | 'Priority' | 'ScheduledDelivery';
/**
*
* @type {DeliveryWindow}
* @memberof CreateFulfillmentOrderRequest
*/
deliveryWindow?: DeliveryWindow;
/**
*
* @type {Address}
* @memberof CreateFulfillmentOrderRequest
*/
destinationAddress: Address;
/**
*
* @type {DeliveryPreferences}
* @memberof CreateFulfillmentOrderRequest
*/
deliveryPreferences?: DeliveryPreferences;
/**
*
* @type {FulfillmentAction}
* @memberof CreateFulfillmentOrderRequest
*/
fulfillmentAction?: FulfillmentAction | 'Ship' | 'Hold';
/**
*
* @type {FulfillmentPolicy}
* @memberof CreateFulfillmentOrderRequest
*/
fulfillmentPolicy?: FulfillmentPolicy | 'FillOrKill' | 'FillAll' | 'FillAllAvailable';
/**
*
* @type {CODSettings}
* @memberof CreateFulfillmentOrderRequest
*/
codSettings?: CODSettings;
/**
* The two-character country code for the country from which the fulfillment order ships. Must be in ISO 3166-1 alpha-2 format.
* @type {string}
* @memberof CreateFulfillmentOrderRequest
*/
shipFromCountryCode?: string;
/**
* A list of email addresses that the seller provides that are used by Amazon to send ship-complete notifications to recipients on behalf of the seller.
* @type {Array<string>}
* @memberof CreateFulfillmentOrderRequest
*/
notificationEmails?: Array<string>;
/**
* A list of features and their fulfillment policies to apply to the order.
* @type {Array<FeatureSettings>}
* @memberof CreateFulfillmentOrderRequest
*/
featureConstraints?: Array<FeatureSettings>;
/**
* An array of item information for creating a fulfillment order.
* @type {Array<CreateFulfillmentOrderItem>}
* @memberof CreateFulfillmentOrderRequest
*/
items: Array<CreateFulfillmentOrderItem>;
/**
* An array of various payment attributes related to this fulfillment order.
* @type {Array<PaymentInformation>}
* @memberof CreateFulfillmentOrderRequest
*/
paymentInformation?: Array<PaymentInformation>;
}
/**
* The response schema for the `createFulfillmentOrder` operation.
* @export
* @interface CreateFulfillmentOrderResponse
*/
export interface CreateFulfillmentOrderResponse {
/**
* A list of error responses returned when a request is unsuccessful.
* @type {Array<Error>}
* @memberof CreateFulfillmentOrderResponse
*/
errors?: Array<Error>;
}
/**
* The `createFulfillmentReturn` operation creates a fulfillment return for items that were fulfilled using the `createFulfillmentOrder` operation. For calls to `createFulfillmentReturn`, you must include `ReturnReasonCode` values returned by a previous call to the `listReturnReasonCodes` operation.
* @export
* @interface CreateFulfillmentReturnRequest
*/
export interface CreateFulfillmentReturnRequest {
/**
* An array of items to be returned.
* @type {Array<CreateReturnItem>}
* @memberof CreateFulfillmentReturnRequest
*/
items: Array<CreateReturnItem>;
}
/**
* The response schema for the `createFulfillmentReturn` operation.
* @export
* @interface CreateFulfillmentReturnResponse
*/
export interface CreateFulfillmentReturnResponse {
/**
*
* @type {CreateFulfillmentReturnResult}
* @memberof CreateFulfillmentReturnResponse
*/
payload?: CreateFulfillmentReturnResult;
/**
* A list of error responses returned when a request is unsuccessful.
* @type {Array<Error>}
* @memberof CreateFulfillmentReturnResponse
*/
errors?: Array<Error>;
}
/**
* The result for the createFulfillmentReturn operation.
* @export
* @interface CreateFulfillmentReturnResult
*/
export interface CreateFulfillmentReturnResult {
/**
* An array of items that Amazon accepted for return. Returns empty if no items were accepted for return.
* @type {Array<ReturnItem>}
* @memberof CreateFulfillmentReturnResult
*/
returnItems?: Array<ReturnItem>;
/**
* An array of invalid return item information.
* @type {Array<InvalidReturnItem>}
* @memberof CreateFulfillmentReturnResult
*/
invalidReturnItems?: Array<InvalidReturnItem>;
/**
* An array of return authorization information.
* @type {Array<ReturnAuthorization>}
* @memberof CreateFulfillmentReturnResult
*/
returnAuthorizations?: Array<ReturnAuthorization>;
}
/**
* An item that Amazon accepted for return.
* @export
* @interface CreateReturnItem
*/
export interface CreateReturnItem {
/**
* An identifier assigned by the seller to the return item.
* @type {string}
* @memberof CreateReturnItem
*/
sellerReturnItemId: string;
/**
* The identifier assigned to the item by the seller when the fulfillment order was created.
* @type {string}
* @memberof CreateReturnItem
*/
sellerFulfillmentOrderItemId: string;
/**
* The identifier for the shipment that is associated with the return item.
* @type {string}
* @memberof CreateReturnItem
*/
amazonShipmentId: string;
/**
* The return reason code assigned to the return item by the seller.
* @type {string}
* @memberof CreateReturnItem
*/
returnReasonCode: string;
/**
* An optional comment about the return item.
* @type {string}
* @memberof CreateReturnItem
*/
returnComment?: string;
}
/**
* The current delivery status of the package.
* @export
* @enum {string}
*/
export declare enum CurrentStatus {
InTransit = "IN_TRANSIT",
Delivered = "DELIVERED",
Returning = "RETURNING",
Returned = "RETURNED",
Undeliverable = "UNDELIVERABLE",
Delayed = "DELAYED",
AvailableForPickup = "AVAILABLE_FOR_PICKUP",
CustomerAction = "CUSTOMER_ACTION",
Unknown = "UNKNOWN",
OutForDelivery = "OUT_FOR_DELIVERY",
DeliveryAttempted = "DELIVERY_ATTEMPTED",
PickupSuccessful = "PICKUP_SUCCESSFUL",
PickupCancelled = "PICKUP_CANCELLED",
PickupAttempted = "PICKUP_ATTEMPTED",
PickupScheduled = "PICKUP_SCHEDULED",
ReturnRequestAccepted = "RETURN_REQUEST_ACCEPTED",
RefundIssued = "REFUND_ISSUED",
ReturnReceivedInFc = "RETURN_RECEIVED_IN_FC"
}
/**
* The time range within which something (for example, a delivery) will occur.
* @export
* @interface DateRange
*/
export interface DateRange {
/**
* Date timestamp
* @type {string}
* @memberof DateRange
*/
earliest: string;
/**
* Date timestamp
* @type {string}
* @memberof DateRange
*/
latest: string;
}
/**
* A delivery document for a package.
* @export
* @interface DeliveryDocument
*/
export interface DeliveryDocument {
/**
* The delivery document type. Values are `SIGNATURE` and `DELIVERY_IMAGE`.
* @type {string}
* @memberof DeliveryDocument
*/
documentType: string;
/**
* A URL that you can use to download the document. This URL has a `Content-Type` header. Note that the URL expires after one hour. To get a new URL, you must call the API again.
* @type {string}
* @memberof DeliveryDocument
*/
url?: string;
}
/**
* The delivery information for the package. This information is available after the package is delivered.
* @export
* @interface DeliveryInformation
*/
export interface DeliveryInformation {
/**
* A list of delivery documents for a package.
* @type {Array<DeliveryDocument>}
* @memberof DeliveryInformation
*/
deliveryDocumentList?: Array<DeliveryDocument>;
/**
*
* @type {DropOffLocation}
* @memberof DeliveryInformation
*/
dropOffLocation?: DropOffLocation;
}
/**
* Localized messaging for a delivery offering.
* @export
* @interface DeliveryMessage
*/
export interface DeliveryMessage {
/**
* The message content for a delivery offering.
* @type {string}
* @memberof DeliveryMessage
*/
text?: string;
/**
* The locale for the message (for example, en_US).
* @type {string}
* @memberof DeliveryMessage
*/
locale?: string;
}
/**
* An available offer for delivery of a product.
* @export
* @interface DeliveryOffer
*/
export interface DeliveryOffer {
/**
* Date timestamp
* @type {string}
* @memberof DeliveryOffer
*/
expiresAt?: string;
/**
*
* @type {DateRange}
* @memberof DeliveryOffer
*/
dateRange?: DateRange;
/**
*
* @type {DeliveryPolicy}
* @memberof DeliveryOffer
*/
policy?: DeliveryPolicy;
}
/**
* The policy for a delivery offering.
* @export
* @interface DeliveryPolicy
*/
export interface DeliveryPolicy {
/**
*
* @type {DeliveryMessage}
* @memberof DeliveryPolicy
*/
message?: DeliveryMessage;
}
/**
* The delivery preferences applied to the destination address. These preferences are applied when possible and are best effort. This feature is currently supported only in the JP marketplace and not applicable for other marketplaces. For eligible orders, the default delivery preference will be to deliver the package unattended at the front door, unless you specify otherwise.
* @export
* @interface DeliveryPreferences
*/
export interface DeliveryPreferences {
/**
* Additional delivery instructions. For example, this could be instructions on how to enter a building, nearby landmark or navigation instructions, \'Beware of dogs\', etc.
* @type {string}
* @memberof DeliveryPreferences
*/
deliveryInstructions?: string;
/**
*
* @type {DropOffLocation}
* @memberof DeliveryPreferences
*/
dropOffLocation?: DropOffLocation;
}
/**
* The time range within which a Scheduled Delivery fulfillment order should be delivered. This is only available in the JP marketplace.
* @export
* @interface DeliveryWindow
*/
export interface DeliveryWindow {
/**
* Date timestamp
* @type {string}
* @memberof DeliveryWindow
*/
startDate: string;
/**
* Date timestamp
* @type {string}
* @memberof DeliveryWindow
*/
endDate: string;
}
/**
* The destination for the delivery offer.
* @export
* @interface Destination
*/
export interface Destination {
/**
*
* @type {VariablePrecisionAddress}
* @memberof Destination
*/
deliveryAddress?: VariablePrecisionAddress;
/**
* An IP Address.
* @type {string}
* @memberof Destination
*/
ipAddress?: string;
}
/**
* The preferred location to leave packages at the destination address.
* @export
* @interface DropOffLocation
*/
export interface DropOffLocation {
/**
* Specifies the preferred location to leave the package at the destination address.
* @type {string}
* @memberof DropOffLocation
*/
type: DropOffLocationTypeEnum | 'FRONT_DOOR' | 'DELIVERY_BOX' | 'GAS_METER_BOX' | 'BICYCLE_BASKET' | 'GARAGE' | 'RECEPTIONIST' | 'FALLBACK_NEIGHBOR_DELIVERY' | 'DO_NOT_LEAVE_UNATTENDED';
/**
* Additional information about the drop-off location that can vary depending on the type of drop-off location specified in the `type` field. If the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor.
* @type {{ [key: string]: string; }}
* @memberof DropOffLocation
*/
attributes?: {
[key: string]: string;
};
}
/**
* @export
* @enum {string}
*/
export declare enum DropOffLocationTypeEnum {
FrontDoor = "FRONT_DOOR",
DeliveryBox = "DELIVERY_BOX",
GasMeterBox = "GAS_METER_BOX",
BicycleBasket = "BICYCLE_BASKET",
Garage = "GARAGE",
Receptionist = "RECEPTIONIST",
FallbackNeighborDelivery = "FALLBACK_NEIGHBOR_DELIVERY",
DoNotLeaveUnattended = "DO_NOT_LEAVE_UNATTENDED"
}
/**
* The event code for the delivery event.
* @export
* @enum {string}
*/
export declare enum EventCode {
_101 = "EVENT_101",
_102 = "EVENT_102",
_201 = "EVENT_201",
_202 = "EVENT_202",
_203 = "EVENT_203",
_204 = "EVENT_204",
_205 = "EVENT_205",
_206 = "EVENT_206",
_301 = "EVENT_301",
_302 = "EVENT_302",
_304 = "EVENT_304",
_306 = "EVENT_306",
_307 = "EVENT_307",
_308 = "EVENT_308",
_309 = "EVENT_309",
_401 = "EVENT_401",
_402 = "EVENT_402",
_403 = "EVENT_403",
_404 = "EVENT_404",
_405 = "EVENT_405",
_406 = "EVENT_406",
_407 = "EVENT_407",
_408 = "EVENT_408",
_409 = "EVENT_409",
_411 = "EVENT_411",
_412 = "EVENT_412",
_413 = "EVENT_413",
_414 = "EVENT_414",
_415 = "EVENT_415",
_416 = "EVENT_416",
_417 = "EVENT_417",
_418 = "EVENT_418",
_419 = "EVENT_419"
}
/**
* A Multi-Channel Fulfillment feature.
* @export
* @interface Feature
*/
export interface Feature {
/**
* The feature name.
* @type {string}
* @memberof Feature
*/
featureName: string;
/**
* The feature description.
* @type {string}
* @memberof Feature
*/
featureDescription: string;
/**
* When true, indicates that the seller is eligible to use the feature.
* @type {boolean}
* @memberof Feature
*/
sellerEligible?: boolean;
}
/**
* `FeatureSettings` allows users to apply fulfillment features to an order. To block an order from being shipped using Amazon Logistics (AMZL) and an AMZL tracking number, use `featureName` as `BLOCK_AMZL` and `featureFulfillmentPolicy` as `Required`. Blocking AMZL will incur an additional fee surcharge on your MCF orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no alternative carriers available. Using `BLOCK_AMZL` in an order request will take precedence over your Seller Central account setting. To ship in non-Amazon branded packaging (blank boxes), use featureName `BLANK_BOX`.
* @export
* @interface FeatureSettings
*/
export interface FeatureSettings {
/**
* The name of the feature.
* @type {string}
* @memberof FeatureSettings
*/
featureName?: string;
/**
* Specifies the policy to use when fulfilling an order.
* @type {string}
* @memberof FeatureSettings
*/
featureFulfillmentPolicy?: FeatureSettingsFeatureFulfillmentPolicyEnum | 'Required' | 'NotRequired';
}
/**
* @export
* @enum {string}
*/
export declare enum FeatureSettingsFeatureFulfillmentPolicyEnum {
Required = "Required",
NotRequired = "NotRequired"
}
/**
* Information about an SKU, including the count available, identifiers, and a list of overlapping SKUs that share the same inventory pool.
* @export
* @interface FeatureSku
*/
export interface FeatureSku {
/**
* Used to identify an item in the given marketplace. `SellerSKU` is qualified by the seller\'s SellerId, which is included with every operation that you submit.
* @type {string}
* @memberof FeatureSku
*/
sellerSku?: string;
/**
* The unique SKU used by Amazon\'s fulfillment network.
* @type {string}
* @memberof FeatureSku
*/
fnSku?: string;
/**
* The Amazon Standard Identification Number (ASIN) of the item.
* @type {string}
* @memberof FeatureSku
*/
asin?: string;
/**
* The number of SKUs available for this service.
* @type {number}
* @memberof FeatureSku
*/
skuCount?: number;
/**
* Other seller SKUs that are shared across the same inventory.
* @type {Array<string>}
* @memberof FeatureSku
*/
overlappingSkus?: Array<string>;
}
/**
* Fee type and cost.
* @export
* @interface Fee
*/
export interface Fee {
/**
* The type of fee.
* @type {string}
* @memberof Fee
*/
name: FeeNameEnum | 'FBAPerUnitFulfillmentFee' | 'FBAPerOrderFulfillmentFee' | 'FBATransportationFee' | 'FBAFulfillmentCODFee';
/**
*
* @type {Money}
* @memberof Fee
*/
amount: Money;
}
/**
* @export
* @enum {string}
*/
export declare enum FeeNameEnum {
FbaPerUnitFulfillmentFee = "FBAPerUnitFulfillmentFee",
FbaPerOrderFulfillmentFee = "FBAPerOrderFulfillmentFee",
FbaTransportationFee = "FBATransportationFee",
FbaFulfillmentCodFee = "FBAFulfillmentCODFee"
}
/**
* Specifies whether the fulfillment order should ship now or have an order hold put on it.
* @export
* @enum {string}
*/
export declare enum FulfillmentAction {
Ship = "Ship",
Hold = "Hold"
}
/**
* General information about a fulfillment order, including its status.
* @export
* @interface FulfillmentOrder
*/
export interface FulfillmentOrder {
/**
* The fulfillment order identifier submitted with the `createFulfillmentOrder` operation.
* @type {string}
* @memberof FulfillmentOrder
*/
sellerFulfillmentOrderId: string;
/**
* The identifier for the marketplace the fulfillment order is placed against.
* @type {string}
* @memberof FulfillmentOrder
*/
marketplaceId: string;
/**
* A fulfillment order identifier submitted with the `createFulfillmentOrder` operation. Displays as the order identifier in recipient-facing materials such as the packing slip.
* @type {string}
* @memberof FulfillmentOrder
*/
displayableOrderId: string;
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentOrder
*/
displayableOrderDate: string;
/**
* A text block submitted with the `createFulfillmentOrder` operation. Displays in recipient-facing materials such as the packing slip.
* @type {string}
* @memberof FulfillmentOrder
*/
displayableOrderComment: string;
/**
*
* @type {ShippingSpeedCategory}
* @memberof FulfillmentOrder
*/
shippingSpeedCategory: ShippingSpeedCategory | 'Standard' | 'Expedited' | 'Priority' | 'ScheduledDelivery';
/**
*
* @type {DeliveryWindow}
* @memberof FulfillmentOrder
*/
deliveryWindow?: DeliveryWindow;
/**
*
* @type {Address}
* @memberof FulfillmentOrder
*/
destinationAddress: Address;
/**
*
* @type {FulfillmentAction}
* @memberof FulfillmentOrder
*/
fulfillmentAction?: FulfillmentAction | 'Ship' | 'Hold';
/**
*
* @type {FulfillmentPolicy}
* @memberof FulfillmentOrder
*/
fulfillmentPolicy?: FulfillmentPolicy | 'FillOrKill' | 'FillAll' | 'FillAllAvailable';
/**
*
* @type {CODSettings}
* @memberof FulfillmentOrder
*/
codSettings?: CODSettings;
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentOrder
*/
receivedDate: string;
/**
*
* @type {FulfillmentOrderStatus}
* @memberof FulfillmentOrder
*/
fulfillmentOrderStatus: FulfillmentOrderStatus | 'New' | 'Received' | 'Planning' | 'Processing' | 'Cancelled' | 'Complete' | 'CompletePartialled' | 'Unfulfillable' | 'Invalid';
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentOrder
*/
statusUpdatedDate: string;
/**
* A list of email addresses that the seller provides that are used by Amazon to send ship-complete notifications to recipients on behalf of the seller.
* @type {Array<string>}
* @memberof FulfillmentOrder
*/
notificationEmails?: Array<string>;
/**
* A list of features and their fulfillment policies to apply to the order.
* @type {Array<FeatureSettings>}
* @memberof FulfillmentOrder
*/
featureConstraints?: Array<FeatureSettings>;
}
/**
* Item information for a fulfillment order.
* @export
* @interface FulfillmentOrderItem
*/
export interface FulfillmentOrderItem {
/**
* The seller SKU of the item.
* @type {string}
* @memberof FulfillmentOrderItem
*/
sellerSku: string;
/**
* A fulfillment order item identifier submitted with a call to the `createFulfillmentOrder` operation.
* @type {string}
* @memberof FulfillmentOrderItem
*/
sellerFulfillmentOrderItemId: string;
/**
* The item quantity.
* @type {number}
* @memberof FulfillmentOrderItem
*/
quantity: number;
/**
* A message to the gift recipient, if applicable.
* @type {string}
* @memberof FulfillmentOrderItem
*/
giftMessage?: string;
/**
* Item-specific text that displays in recipient-facing materials such as the outbound shipment packing slip.
* @type {string}
* @memberof FulfillmentOrderItem
*/
displayableComment?: string;
/**
* Amazon\'s fulfillment network SKU of the item.
* @type {string}
* @memberof FulfillmentOrderItem
*/
fulfillmentNetworkSku?: string;
/**
* Indicates whether the item is sellable or unsellable.
* @type {string}
* @memberof FulfillmentOrderItem
*/
orderItemDisposition?: string;
/**
* The item quantity.
* @type {number}
* @memberof FulfillmentOrderItem
*/
cancelledQuantity: number;
/**
* The item quantity.
* @type {number}
* @memberof FulfillmentOrderItem
*/
unfulfillableQuantity: number;
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentOrderItem
*/
estimatedShipDate?: string;
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentOrderItem
*/
estimatedArrivalDate?: string;
/**
*
* @type {Money}
* @memberof FulfillmentOrderItem
*/
perUnitPrice?: Money;
/**
*
* @type {Money}
* @memberof FulfillmentOrderItem
*/
perUnitTax?: Money;
/**
*
* @type {Money}
* @memberof FulfillmentOrderItem
*/
perUnitDeclaredValue?: Money;
}
/**
* The current status of the fulfillment order.
* @export
* @enum {string}
*/
export declare enum FulfillmentOrderStatus {
New = "New",
Received = "Received",
Planning = "Planning",
Processing = "Processing",
Cancelled = "Cancelled",
Complete = "Complete",
CompletePartialled = "CompletePartialled",
Unfulfillable = "Unfulfillable",
Invalid = "Invalid"
}
/**
* The `FulfillmentPolicy` value specified when you submitted the `createFulfillmentOrder` operation.
* @export
* @enum {string}
*/
export declare enum FulfillmentPolicy {
FillOrKill = "FillOrKill",
FillAll = "FillAll",
FillAllAvailable = "FillAllAvailable"
}
/**
* Information about a fulfillment order preview, including delivery and fee information based on shipping method.
* @export
* @interface FulfillmentPreview
*/
export interface FulfillmentPreview {
/**
*
* @type {ShippingSpeedCategory}
* @memberof FulfillmentPreview
*/
shippingSpeedCategory: ShippingSpeedCategory | 'Standard' | 'Expedited' | 'Priority' | 'ScheduledDelivery';
/**
*
* @type {ScheduledDeliveryInfo}
* @memberof FulfillmentPreview
*/
scheduledDeliveryInfo?: ScheduledDeliveryInfo;
/**
* When true, this fulfillment order preview is fulfillable.
* @type {boolean}
* @memberof FulfillmentPreview
*/
isFulfillable: boolean;
/**
* When true, this fulfillment order preview is for COD (Cash On Delivery).
* @type {boolean}
* @memberof FulfillmentPreview
*/
isCODCapable: boolean;
/**
*
* @type {Weight}
* @memberof FulfillmentPreview
*/
estimatedShippingWeight?: Weight;
/**
* An array of fee type and cost pairs.
* @type {Array<Fee>}
* @memberof FulfillmentPreview
*/
estimatedFees?: Array<Fee>;
/**
* An array of fulfillment preview shipment information.
* @type {Array<FulfillmentPreviewShipment>}
* @memberof FulfillmentPreview
*/
fulfillmentPreviewShipments?: Array<FulfillmentPreviewShipment>;
/**
* An array of unfulfillable preview item information.
* @type {Array<UnfulfillablePreviewItem>}
* @memberof FulfillmentPreview
*/
unfulfillablePreviewItems?: Array<UnfulfillablePreviewItem>;
/**
* String list
* @type {Array<string>}
* @memberof FulfillmentPreview
*/
orderUnfulfillableReasons?: Array<string>;
/**
* The marketplace the fulfillment order is placed against.
* @type {string}
* @memberof FulfillmentPreview
*/
marketplaceId: string;
/**
* A list of features and their fulfillment policies to apply to the order.
* @type {Array<FeatureSettings>}
* @memberof FulfillmentPreview
*/
featureConstraints?: Array<FeatureSettings>;
}
/**
* Item information for a shipment in a fulfillment order preview.
* @export
* @interface FulfillmentPreviewItem
*/
export interface FulfillmentPreviewItem {
/**
* The seller SKU of the item.
* @type {string}
* @memberof FulfillmentPreviewItem
*/
sellerSku: string;
/**
* The item quantity.
* @type {number}
* @memberof FulfillmentPreviewItem
*/
quantity: number;
/**
* A fulfillment order item identifier that the seller created with a call to the `createFulfillmentOrder` operation.
* @type {string}
* @memberof FulfillmentPreviewItem
*/
sellerFulfillmentOrderItemId: string;
/**
*
* @type {Weight}
* @memberof FulfillmentPreviewItem
*/
estimatedShippingWeight?: Weight;
/**
* The method used to calculate the estimated shipping weight.
* @type {string}
* @memberof FulfillmentPreviewItem
*/
shippingWeightCalculationMethod?: FulfillmentPreviewItemShippingWeightCalculationMethodEnum | 'Package' | 'Dimensional';
}
/**
* @export
* @enum {string}
*/
export declare enum FulfillmentPreviewItemShippingWeightCalculationMethodEnum {
Package = "Package",
Dimensional = "Dimensional"
}
/**
* Delivery and item information for a shipment in a fulfillment order preview.
* @export
* @interface FulfillmentPreviewShipment
*/
export interface FulfillmentPreviewShipment {
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentPreviewShipment
*/
earliestShipDate?: string;
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentPreviewShipment
*/
latestShipDate?: string;
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentPreviewShipment
*/
earliestArrivalDate?: string;
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentPreviewShipment
*/
latestArrivalDate?: string;
/**
* Provides additional insight into the shipment timeline when exact delivery dates are not able to be precomputed.
* @type {Array<string>}
* @memberof FulfillmentPreviewShipment
*/
shippingNotes?: Array<string>;
/**
* An array of fulfillment preview item information.
* @type {Array<FulfillmentPreviewItem>}
* @memberof FulfillmentPreviewShipment
*/
fulfillmentPreviewItems: Array<FulfillmentPreviewItem>;
}
/**
* Indicates if the return item has been processed by a fulfillment center.
* @export
* @enum {string}
*/
export declare enum FulfillmentReturnItemStatus {
New = "New",
Processed = "Processed"
}
/**
* Delivery and item information for a shipment in a fulfillment order.
* @export
* @interface FulfillmentShipment
*/
export interface FulfillmentShipment {
/**
* A shipment identifier assigned by Amazon.
* @type {string}
* @memberof FulfillmentShipment
*/
amazonShipmentId: string;
/**
* An identifier for the fulfillment center that the shipment will be sent from.
* @type {string}
* @memberof FulfillmentShipment
*/
fulfillmentCenterId: string;
/**
* The current status of the shipment.
* @type {string}
* @memberof FulfillmentShipment
*/
fulfillmentShipmentStatus: FulfillmentShipmentFulfillmentShipmentStatusEnum | 'PENDING' | 'SHIPPED' | 'CANCELLED_BY_FULFILLER' | 'CANCELLED_BY_SELLER';
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentShipment
*/
shippingDate?: string;
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentShipment
*/
estimatedArrivalDate?: string;
/**
* Provides additional insight into shipment timeline. Primairly used to communicate that actual delivery dates aren\'t available.
* @type {Array<string>}
* @memberof FulfillmentShipment
*/
shippingNotes?: Array<string>;
/**
* An array of fulfillment shipment item information.
* @type {Array<FulfillmentShipmentItem>}
* @memberof FulfillmentShipment
*/
fulfillmentShipmentItem: Array<FulfillmentShipmentItem>;
/**
* An array of fulfillment shipment package information.
* @type {Array<FulfillmentShipmentPackage>}
* @memberof FulfillmentShipment
*/
fulfillmentShipmentPackage?: Array<FulfillmentShipmentPackage>;
}
/**
* @export
* @enum {string}
*/
export declare enum FulfillmentShipmentFulfillmentShipmentStatusEnum {
Pending = "PENDING",
Shipped = "SHIPPED",
CancelledByFulfiller = "CANCELLED_BY_FULFILLER",
CancelledBySeller = "CANCELLED_BY_SELLER"
}
/**
* Item information for a shipment in a fulfillment order.
* @export
* @interface FulfillmentShipmentItem
*/
export interface FulfillmentShipmentItem {
/**
* The seller SKU of the item.
* @type {string}
* @memberof FulfillmentShipmentItem
*/
sellerSku: string;
/**
* The fulfillment order item identifier that the seller created and submitted with a call to the `createFulfillmentOrder` operation.
* @type {string}
* @memberof FulfillmentShipmentItem
*/
sellerFulfillmentOrderItemId: string;
/**
* The item quantity.
* @type {number}
* @memberof FulfillmentShipmentItem
*/
quantity: number;
/**
* An identifier for the package that contains the item quantity.
* @type {number}
* @memberof FulfillmentShipmentItem
*/
packageNumber?: number;
/**
* The serial number of the shipped item.
* @type {string}
* @memberof FulfillmentShipmentItem
*/
serialNumber?: string;
/**
* String list
* @type {Array<string>}
* @memberof FulfillmentShipmentItem
*/
manufacturerLotCodes?: Array<string>;
}
/**
* Package information for a shipment in a fulfillment order.
* @export
* @interface FulfillmentShipmentPackage
*/
export interface FulfillmentShipmentPackage {
/**
* Identifies a package in a shipment.
* @type {number}
* @memberof FulfillmentShipmentPackage
*/
packageNumber: number;
/**
* Identifies the carrier who will deliver the shipment to the recipient.
* @type {string}
* @memberof FulfillmentShipmentPackage
*/
carrierCode: string;
/**
* The tracking number, if provided, can be used to obtain tracking and delivery information.
* @type {string}
* @memberof FulfillmentShipmentPackage
*/
trackingNumber?: string;
/**
* Date timestamp
* @type {string}
* @memberof FulfillmentShipmentPackage
*/
estimatedArrivalDate?: string;
/**
*
* @type {LockerDetails}
* @memberof FulfillmentShipmentPackage
*/
lockerDetails?: LockerDetails;
/**
*
* @type {DeliveryInformation}
* @memberof FulfillmentShipmentPackage
*/
deliveryInformation?: DeliveryInformation;
}
/**
* The product details for the delivery offer.
* @export
* @interface GetDeliveryOffersProduct
*/
export interface GetDeliveryOffersProduct {
/**
*
* @type {ProductIdentifier}
* @memberof GetDeliveryOffersProduct
*/
productIdentifier: ProductIdentifier;
/**
*
* @type {Amount}
* @memberof GetDeliveryOffersProduct
*/
amount?: Amount;
}
/**
* The request body schema for the getDeliveryOffers operation.
* @export
* @interface GetDeliveryOffersRequest
*/
export interface GetDeliveryOffersRequest {
/**
*
* @type {GetDeliveryOffersProduct}
* @memberof GetDeliveryOffersRequest
*/
product: GetDeliveryOffersProduct;
/**
*
* @type {GetDeliveryOffersTerms}
* @memberof GetDeliveryOffersRequest
*/
terms: GetDeliveryOffersTerms;
}
/**
* The response schema for the getDeliveryOffers operation.
* @export
* @interface GetDeliveryOffersResponse
*/
export interface GetDeliveryOffersResponse {
/**
*
* @type {GetDeliveryOffersResult}
* @memberof GetDeliveryOffersResponse
*/
payload?: GetDeliveryOffersResult;
/**
* A list of error responses returned when a request is unsuccessful.
* @type {Array<Error>}
* @memberof GetDeliveryOffersResponse
*/
errors?: Array<Error>;
}
/**
* A list of delivery offers, including offer expiration, earliest and latest date and time range, and the delivery offer policy.
* @export
* @interface GetDeliveryOffersResult
*/
export interface GetDeliveryOffersResult {
/**
* An array of delivery offer information.
* @type {Array<DeliveryOffer>}
* @memberof GetDeliveryOffersResult
*/
deliveryOffers?: Array<DeliveryOffer>;
}
/**
* The delivery terms for the delivery offer.
* @export
* @interface GetDeliveryOffersTerms
*/
export interface GetDeliveryOffersTerms {
/**
*
* @type {Origin}
* @memberof GetDeliveryOffersTerms
*/
origin: Origin;
/**
*
* @type {Destination}
* @memberof GetDeliveryOffersTerms
*/
destination: Destination;
}
/**
* The breakdown of eligibility inventory by feature.
* @export
* @interface GetFeatureInventoryResponse
*/
export interface GetFeatureInventoryResponse {
/**
*
* @type {GetFeatureInventoryResult}
* @memberof GetFeatureInventoryResponse
*/
payload?: GetFeatureInventoryResult;
/**
* A list of error responses returned when a request is unsuccessful.
* @type {Array<Error>}
* @memberof GetFeatureInventoryResponse
*/
errors?: Array<Error>;
}
/**
* The payload for the `getEligibileInventory` operation.
* @export
* @interface GetFeatureInventoryResult
*/
export interface GetFeatureInventoryResult {
/**
* The requested marketplace.
* @type {string}
* @memberof GetFeatureInventoryResult
*/
marketplaceId: string;
/**
* The name of the feature.
* @type {string}
* @memberof GetFeatureInventoryResult
*/
featureName: string;
/**
* When present and not empty, pass this string token in the next request to return the next response page.
* @type {string}
* @memberof GetFeatureInventoryResult
*/
nextToken?: string;
/**
* An array of SKUs eligible for this feature and the quantity available.
* @type {Array<FeatureSku>}
* @memberof GetFeatureInventoryResult
*/
featureSkus?: Array<FeatureSku>;
}
/**
* The response schema for the `getFeatureSKU` operation.
* @export
* @interface GetFeatureSkuResponse
*/
export interface GetFeatureSkuResponse {
/**
*
* @type {GetFeatureSkuResult}
* @memberof GetFeatureSkuResponse
*/
payload?: GetFeatureSkuResult;
/**
* A list of error responses returned when a request is unsuccessful.
* @type {Array<Error>}
* @memberof GetFeatureSkuResponse
*/
errors?: Array<Error>;
}
/**
* The payload for the `getFeatureSKU` operation.
* @export
* @interface GetFeatureSkuResult
*/
export interface GetFeatureSkuResult {
/**
* The requested marketplace.
* @type {string}
* @memberof GetFeatureSkuResult
*/
marketplaceId: string;
/**
* The name of the feature.
* @type {string}
* @memberof GetFeatureSkuResult
*/
featureName: string;
/**
* When true, the seller SKU is eligible for the requested feature.
* @type {boolean}
* @memberof GetFeatureSkuResult
*/
isEligible: boolean;
/**
* A list of one or more reasons that the seller SKU is ineligibile for the feature. Possible values: * `MERCHANT_NOT_ENROLLED` - The merchant isn\'t enrolled for the feature. * `SKU_NOT_ELIGIBLE` - The SKU doesn\'t reside in a warehouse that supports the feature. * `INVALID_SKU` - There is an issue with the SKU provided.
* @type {Array<string>}
* @memberof GetFeatureSkuResult
*/
ineligibleReasons?: Array<string>;
/**
*
* @type {FeatureSku}
* @memberof GetFeatureSkuResult
*/
skuInfo?: FeatureSku;
}
/**
* The response schema for the `getFeatures` operation.
* @export
* @interface GetFeaturesResponse
*/
export interface GetFeaturesResponse {
/**
*
* @type {GetFeaturesResult}
* @memberof GetFeaturesResponse
*/
payload?: GetFeaturesResult;
/**
* A list of error responses returned when a request is unsuccessful.
* @type {Array<Error>}
* @memberof GetFeaturesResponse
*/
errors?: Array<Error>;
}
/**
* The payload for the `getFeatures` operation.
* @export
* @interface GetFeaturesResult
*/
export interface GetFeaturesResult {
/**
* An array of features.
* @type {Array<Feature>}
* @memberof GetFeaturesResult
*/
features: Array<Feature>;
}
/**
* The response schema for the `getFulfillmentOrder` operation.
* @export
* @interface GetFulfillmentOrderResponse
*/
export interface GetFulfillmentOrderResponse {
/**
*
* @type {GetFulfillmentOrderResult}
* @memberof GetFulfillmentOrderResponse
*/
payload?: GetFulfillmentOrderResult;
/**
* A list of error responses returned when a request is unsuccessful.
* @type {Array<Error>}
* @memberof GetFulfillmentOrderResponse
*/
errors?: Array<Error>;
}
/**
* The request for the getFulfillmentOrder operation.
* @export
* @interface GetFulfillmentOrderResult
*/
export interface GetFulfillmentOrderResult {
/**
*
* @type {FulfillmentOrder}
* @memberof GetFulfillmentOrderResult
*/
fulfillmentOrder: FulfillmentOrder;
/**
* An array of fulfillment order item information.
* @type {Array<FulfillmentOrderItem>}
* @memberof GetFulfillmentOrderResult
*/
fulfillmentOrderItems: Array<FulfillmentOrderItem>;
/**
* An array of fulfillment shipment information.
* @type {Array<FulfillmentShipment>}
* @memberof GetFulfillmentOrderResult
*/
fulfillmentShipments?: Array<FulfillmentShipment>;
/**
* An array of items that Amazon accepted for return. Returns empty if no items were accepted for return.
* @type {Array<ReturnItem>}
* @memberof GetFulfillmentOrderResult
*/
returnItems: Array<ReturnItem>;
/**
* An array of return authorization information.
* @type {Array<ReturnAuthorization>}
* @memberof GetFulfillmentOrderResult
*/
returnAuthorizations: Array<ReturnAuthorization>;
/**
* An array of various payment attributes related to this fulfillment order.
* @type {Array<PaymentInformation>}
* @memberof GetFulfillmentOrderResult
*/
paymentInformation?: Array<PaymentInformation>;
}
/**
* Item information for a fulfillment order preview.
* @export
* @interface GetFulfillmentPreviewItem
*/
export interface GetFulfillmentPreviewItem {
/**
* The seller SKU of the item.
* @type {string}
* @memberof GetFulfillmentPreviewItem
*/
sellerSku: string;
/**
* The item quantity.
* @type {number}
* @memberof GetFulfillmentPreviewItem
*/
quantity: number;
/**
*
* @type {Money}
* @memberof GetFulfillmentPreviewItem
*/
perUnitDeclaredValue?: Money;
/**
* A fulfillment order item identifier that the seller creates to track items in the fulfillment preview.
* @type {string}
* @memberof GetFulfillmentPreviewItem
*/
sellerFulfillmentOrderItemId: string;
}
/**
* The request body schema for the `getFulfillmentPreview` operation.
* @export
* @interface GetFulfillmentPreviewRequest
*/
export interface GetFulfillmentPreviewRequest {
/**
* The marketplace the fulfillment order is placed against.
* @type {string}
* @memberof GetFulfillmentPreviewRequest
*/
marketplaceId?: string;
/**
*
* @type {Address}
* @memberof GetFulfillmentPreviewRequest
*/
address: Address;
/**
* An array of fulfillment preview item information.
* @type {Array<GetFulfillmentPreviewItem>}
* @memberof GetFulfillmentPreviewReque