@congminh1254/shopee-sdk
Version:
Shopee SDK maintaining by community
1,356 lines (1,355 loc) • 42.4 kB
TypeScript
import { BaseResponse } from "./base.js";
/**
* Enum for logistics status
*/
export declare enum LogisticsStatus {
/** Initial status, order not ready for fulfillment */
LOGISTICS_NOT_START = "LOGISTICS_NOT_START",
/** Order arranged shipment */
LOGISTICS_REQUEST_CREATED = "LOGISTICS_REQUEST_CREATED",
/** Order handed over to 3PL */
LOGISTICS_PICKUP_DONE = "LOGISTICS_PICKUP_DONE",
/** Order pending 3PL retry pickup */
LOGISTICS_PICKUP_RETRY = "LOGISTICS_PICKUP_RETRY",
/** Order cancelled by 3PL due to failed pickup or picked up but not able to proceed with delivery */
LOGISTICS_PICKUP_FAILED = "LOGISTICS_PICKUP_FAILED",
/** Order successfully delivered */
LOGISTICS_DELIVERY_DONE = "LOGISTICS_DELIVERY_DONE",
/** Order cancelled due to 3PL delivery failed */
LOGISTICS_DELIVERY_FAILED = "LOGISTICS_DELIVERY_FAILED",
/** Order cancelled when order at LOGISTICS_REQUEST_CREATED */
LOGISTICS_REQUEST_CANCELED = "LOGISTICS_REQUEST_CANCELED",
/** Integrated logistics COD: Order rejected for COD */
LOGISTICS_COD_REJECTED = "LOGISTICS_COD_REJECTED",
/**
* Order ready for fulfilment from payment perspective:
* - non-COD: order paid
* - COD: order passed COD screening
*/
LOGISTICS_READY = "LOGISTICS_READY",
/** Order cancelled when order at LOGISTICS_READY */
LOGISTICS_INVALID = "LOGISTICS_INVALID",
/** Order cancelled due to 3PL lost the order */
LOGISTICS_LOST = "LOGISTICS_LOST",
/** Order logistics pending arrangement */
LOGISTICS_PENDING_ARRANGE = "LOGISTICS_PENDING_ARRANGE"
}
/**
* Enum for tracking logistics status
*/
export declare enum TrackingLogisticsStatus {
/** Initial state */
INITIAL = "INITIAL",
/** Order initialization */
ORDER_INIT = "ORDER_INIT",
/** Order has been submitted */
ORDER_SUBMITTED = "ORDER_SUBMITTED",
/** Order has been finalized */
ORDER_FINALIZED = "ORDER_FINALIZED",
/** Order has been created */
ORDER_CREATED = "ORDER_CREATED",
/** Pickup has been requested */
PICKUP_REQUESTED = "PICKUP_REQUESTED",
/** Pickup is pending */
PICKUP_PENDING = "PICKUP_PENDING",
/** Package has been picked up */
PICKED_UP = "PICKED_UP",
/** Delivery is pending */
DELIVERY_PENDING = "DELIVERY_PENDING",
/** Package has been delivered */
DELIVERED = "DELIVERED",
/** Retry pickup attempt */
PICKUP_RETRY = "PICKUP_RETRY",
/** Operation timed out */
TIMEOUT = "TIMEOUT",
/** Package is lost */
LOST = "LOST",
/** Status update */
UPDATE = "UPDATE",
/** Update has been submitted */
UPDATE_SUBMITTED = "UPDATE_SUBMITTED",
/** Update has been created */
UPDATE_CREATED = "UPDATE_CREATED",
/** Return process started */
RETURN_STARTED = "RETURN_STARTED",
/** Package has been returned */
RETURNED = "RETURNED",
/** Return is pending */
RETURN_PENDING = "RETURN_PENDING",
/** Return has been initiated */
RETURN_INITIATED = "RETURN_INITIATED",
/** Operation has expired */
EXPIRED = "EXPIRED",
/** Cancellation requested */
CANCEL = "CANCEL",
/** Cancellation has been created */
CANCEL_CREATED = "CANCEL_CREATED",
/** Order has been canceled */
CANCELED = "CANCELED",
/** Failed to initialize order */
FAILED_ORDER_INIT = "FAILED_ORDER_INIT",
/** Failed to submit order */
FAILED_ORDER_SUBMITTED = "FAILED_ORDER_SUBMITTED",
/** Failed to create order */
FAILED_ORDER_CREATED = "FAILED_ORDER_CREATED",
/** Failed to request pickup */
FAILED_PICKUP_REQUESTED = "FAILED_PICKUP_REQUESTED",
/** Failed to pick up package */
FAILED_PICKED_UP = "FAILED_PICKED_UP",
/** Failed to deliver package */
FAILED_DELIVERED = "FAILED_DELIVERED",
/** Failed to submit update */
FAILED_UPDATE_SUBMITTED = "FAILED_UPDATE_SUBMITTED",
/** Failed to create update */
FAILED_UPDATE_CREATED = "FAILED_UPDATE_CREATED",
/** Failed to start return */
FAILED_RETURN_STARTED = "FAILED_RETURN_STARTED",
/** Failed to return package */
FAILED_RETURNED = "FAILED_RETURNED",
/** Failed to create cancellation */
FAILED_CANCEL_CREATED = "FAILED_CANCEL_CREATED",
/** Failed to cancel order */
FAILED_CANCELED = "FAILED_CANCELED"
}
/**
* Parameters for getting tracking information
*/
export type GetTrackingInfoParams = {
/** Shopee's unique identifier for an order */
order_sn: string;
/**
* Shopee's unique identifier for the package under an order.
* You shouldn't fill the field with empty string when there isn't a package number.
*/
package_number?: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Tracking information details
*/
export interface TrackingInfo {
/** The time when logistics info has been updated */
update_time: number;
/** The description of order logistics tracking info */
description: string;
/**
* The Shopee logistics status for the order.
* Applicable values: See Data Definition- TrackingLogisticsStatus
*/
logistics_status: TrackingLogisticsStatus;
}
/**
* Response for get tracking info API
*/
export interface GetTrackingInfoResponse extends BaseResponse {
response: {
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number: string;
/**
* The Shopee logistics status for the order.
* Applicable values: See Data Definition- LogisticsStatus
*/
logistics_status: LogisticsStatus;
/** The tracking info of the order */
tracking_info: TrackingInfo[];
};
}
/**
* Weight limit for logistics channel
*/
export interface WeightLimit {
/** Max weight for an item on this logistic channel */
item_max_weight: number;
/** Min weight for an item on this logistic channel */
item_min_weight: number;
}
/**
* Dimension limit for logistics channel
*/
export interface ItemMaxDimension {
/** Max height limit */
height: number;
/** Max width limit */
width: number;
/** Max length limit */
length: number;
/** Unit for the limit */
unit: string;
/** Sum of the item's dimension */
dimension_sum: number;
}
/**
* Volume limit for logistics channel
*/
export interface VolumeLimit {
/** Max volume for an item on this logistic channel */
item_max_volume: number;
/** Min volume for an item on this logistic channel */
item_min_volume: number;
}
/**
* Size information for logistics channel
*/
export interface SizeInfo {
/** Identity of size */
size_id: string;
/** Name of size */
name: string;
/** Pre-defined shipping fee for the specific size */
default_price: number;
}
/**
* Logistics capability
*/
export interface LogisticsCapability {
/** Whether it's a Seller logistics channel */
seller_logistics: boolean;
}
/**
* Logistics channel information
*/
export interface LogisticsChannel {
/** Identity of logistic channel */
logistics_channel_id: number;
/** Name of logistic channel */
logistics_channel_name: string;
/** Whether this logistic channel supports COD */
cod_enabled: boolean;
/** Whether this logistic channel is enabled on shop level */
enabled: boolean;
/** Fee type: SIZE_SELECTION, SIZE_INPUT, FIXED_DEFAULT_PRICE, CUSTOM_PRICE */
fee_type: string;
/** List of sizes (only for fee_type SIZE_SELECTION) */
size_list: SizeInfo[];
/** Weight limit for this logistic channel */
weight_limit: WeightLimit;
/** Dimension limit for this logistic channel */
item_max_dimension: ItemMaxDimension;
/** Volume limit */
volume_limit: VolumeLimit;
/** Description of logistics channel */
logistics_description: string;
/** Whether the logistic channel is force enabled on Shop Level */
force_enable: boolean;
/** Parent logistic channel ID */
mask_channel_id: number;
/** Whether the channel is blocked to use seller cover shipping fee function */
block_seller_cover_shipping_fee?: boolean;
/** Whether this channel support cross border shipping */
support_cross_border?: boolean;
/** Whether seller has set the Seller logistics configuration */
seller_logistic_has_configuration?: boolean | null;
/** Capability of one logistic channel */
logistics_capability?: LogisticsCapability;
/** Whether this channel support pre-print AWB */
preprint?: boolean;
}
/**
* Response for get channel list API
*/
export interface GetChannelListResponse extends BaseResponse {
response: {
/** List of logistics channels */
logistics_channel_list: LogisticsChannel[];
};
}
/**
* Logistics channel pause status information
*/
export interface PauseStatus {
/** Indicates whether logistics channels are paused */
is_paused?: boolean;
/** Auto resume time when paused */
pause_end_time?: number;
/** Remaining daily pause quota in seconds when not paused */
remaining_pause_quota?: number;
}
/**
* Response for get pause status API
*/
export interface GetPauseStatusResponse extends BaseResponse {
response?: PauseStatus;
}
/**
* Parameters for set pause status
*/
export type SetPauseStatusParams = {
/** The target pause status */
is_paused: boolean;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for set pause status API
*/
export interface SetPauseStatusResponse extends BaseResponse {
response?: PauseStatus;
}
/**
* Pickup time slot information
*/
export interface PickupTimeSlot {
/** Date of pickup time (timestamp) */
date: number;
/** Text description of pickup time */
time_text?: string;
/** Identity of pickup time */
pickup_time_id: string;
/** Flags for recommended time slots */
flags?: string[];
}
/**
* Pickup address information
*/
export interface PickupAddress {
/** Identity of address */
address_id: number;
/** Region of address */
region: string;
/** State of address */
state: string;
/** City of address */
city: string;
/** District of address */
district: string;
/** Town of address */
town: string;
/** Address description */
address: string;
/** Zipcode of address */
zipcode: string;
/** Flags of shop address */
address_flag?: string[];
/** List of pickup time information */
time_slot_list?: PickupTimeSlot[];
}
/**
* Dropoff branch information
*/
export interface DropoffBranch {
/** Identity of logistics branch */
branch_id: number;
/** Region of address */
region: string;
/** State of address */
state: string;
/** City of address */
city: string;
/** Address description */
address: string;
/** Zipcode of address */
zipcode: string;
/** District of address */
district: string;
/** Town of address */
town: string;
}
/**
* Slug information for TW 3PL drop-off partners
*/
export interface SlugInfo {
/** Identity of slug */
slug: string;
/** Name of slug */
slug_name: string;
}
/**
* Info needed for shipping
*/
export interface InfoNeeded {
/** Dropoff requirements */
dropoff?: string[];
/** Pickup requirements */
pickup?: string[];
/** Non-integrated requirements */
non_integrated?: string[];
}
/**
* Dropoff information
*/
export interface DropoffInfo {
/** List of available dropoff branches */
branch_list?: DropoffBranch[];
/** List of available TW 3PL drop-off partners */
slug_list?: SlugInfo[];
}
/**
* Pickup information
*/
export interface PickupInfo {
/** List of available pickup addresses */
address_list?: PickupAddress[];
}
/**
* Parameters for getting shipping parameter
*/
export type GetShippingParameterParams = {
/** Shopee's unique identifier for an order */
order_sn: string;
/**
* Shopee's unique identifier for the package under an order.
* You shouldn't fill the field with empty string when there isn't a package number.
*/
package_number?: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get shipping parameter API
*/
export interface GetShippingParameterResponse extends BaseResponse {
response: {
/** Parameters required to initialize logistics */
info_needed?: InfoNeeded;
/** Logistics information for dropoff mode */
dropoff?: DropoffInfo;
/** Logistics information for pickup mode */
pickup?: PickupInfo;
};
}
/**
* Parameters for getting tracking number
*/
export type GetTrackingNumberParams = {
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number?: string;
/** Optional fields to include in response */
response_optional_fields?: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get tracking number API
*/
export interface GetTrackingNumberResponse extends BaseResponse {
response: {
/** The tracking number of this order */
tracking_number: string;
/** The unique identifier for package of BR correios */
plp_number?: string;
/** The first mile tracking number of the order (Cross Border Seller only) */
first_mile_tracking_number?: string;
/** The last mile tracking number of the order (Cross Border BR seller only) */
last_mile_tracking_number?: string;
/** Hint information if cannot get some fields under special scenarios */
hint?: string;
/** Pickup code for drivers (ID local orders using instant+sameday) */
pickup_code?: string;
};
}
/**
* Pickup information for ship order
*/
export interface ShipOrderPickup {
/** Identity of address */
address_id: number;
/** Pickup time id */
pickup_time_id?: string;
/** Tracking number from third-party shipping carrier */
tracking_number?: string;
}
/**
* Dropoff information for ship order
*/
export interface ShipOrderDropoff {
/** Identity of branch */
branch_id?: number;
/** Real name of sender */
sender_real_name?: string;
/** Tracking number from third-party shipping carrier */
tracking_number?: string;
/** Selected 3PL partner for drop-off */
slug?: string;
}
/**
* Non-integrated channel information for ship order
*/
export interface ShipOrderNonIntegrated {
/** Tracking number assigned by shipping carrier */
tracking_number?: string;
}
/**
* Parameters for ship order
*/
export type ShipOrderParams = {
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number?: string;
/** Pickup information (required if get_shipping_parameter returns "pickup") */
pickup?: ShipOrderPickup;
/** Dropoff information (required if get_shipping_parameter returns "dropoff") */
dropoff?: ShipOrderDropoff;
/** Non-integrated channel information */
non_integrated?: ShipOrderNonIntegrated;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for ship order API
*/
export interface ShipOrderResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Address information
*/
export interface Address {
/** Identity of address */
address_id: number;
/** Region of address */
region: string;
/** State of address */
state: string;
/** City of address */
city: string;
/** District of address */
district: string;
/** Town of address */
town: string;
/** Full address description */
address: string;
/** Zipcode */
zipcode: string;
/** Address type flags */
address_flag?: string[];
/** Address status */
address_status?: string;
/** Full address string */
full_address?: string;
}
/**
* Response for get address list API
*/
export interface GetAddressListResponse extends BaseResponse {
response: {
/** Whether to show pickup address */
show_pickup_address: boolean;
/** List of addresses */
address_list: Address[];
};
}
/**
* Order item for batch ship order
*/
export interface BatchShipOrderItem {
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number?: string;
/** Pickup information */
pickup?: ShipOrderPickup;
/** Dropoff information */
dropoff?: ShipOrderDropoff;
/** Non-integrated channel information */
non_integrated?: ShipOrderNonIntegrated;
}
/**
* Parameters for batch ship order
*/
export type BatchShipOrderParams = {
/** List of order items to ship */
order_list: BatchShipOrderItem[];
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Batch ship order result item
*/
export interface BatchShipOrderResultItem {
/** Order serial number */
order_sn: string;
/** Error code if failed */
error?: string;
/** Error message if failed */
message?: string;
}
/**
* Response for batch ship order API
*/
export interface BatchShipOrderResponse extends BaseResponse {
response?: {
/** List of results */
result_list?: BatchShipOrderResultItem[];
};
}
/**
* Parameters for mass ship order
*/
export type MassShipOrderParams = {
/** Logistics channel ID */
logistics_channel_id: number;
/** Product location ID */
product_location_id?: string;
/** List of packages */
package_list: Array<{
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number?: string;
}>;
/** Pickup information */
pickup?: ShipOrderPickup;
/** Dropoff information */
dropoff?: ShipOrderDropoff;
/** Non-integrated shipping information */
non_integrated?: ShipOrderNonIntegrated;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for mass ship order API
*/
export interface MassShipOrderResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for ship booking
*/
export type ShipBookingParams = {
/** Booking serial number */
booking_sn: string;
/** Pickup information */
pickup?: ShipOrderPickup;
/** Dropoff information */
dropoff?: ShipOrderDropoff;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for ship booking API
*/
export interface ShipBookingResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for get booking shipping parameter
*/
export type GetBookingShippingParameterParams = {
/** Booking serial number */
booking_sn: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get booking shipping parameter API
*/
export interface GetBookingShippingParameterResponse extends BaseResponse {
response: {
/** Parameters required to initialize logistics */
info_needed?: InfoNeeded;
/** Logistics information for dropoff mode */
dropoff?: DropoffInfo;
/** Logistics information for pickup mode */
pickup?: PickupInfo;
};
}
/**
* Parameters for get booking tracking info
*/
export type GetBookingTrackingInfoParams = {
/** Booking serial number */
booking_sn: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get booking tracking info API
*/
export interface GetBookingTrackingInfoResponse extends BaseResponse {
response: {
/** Booking serial number */
booking_sn: string;
/** Current logistics status */
logistics_status: LogisticsStatus;
/** Tracking info events */
tracking_info: TrackingInfo[];
};
}
/**
* Parameters for get booking tracking number
*/
export type GetBookingTrackingNumberParams = {
/** Booking serial number */
booking_sn: string;
/** Optional fields to include in response */
response_optional_fields?: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get booking tracking number API
*/
export interface GetBookingTrackingNumberResponse extends BaseResponse {
response: {
/** The tracking number */
tracking_number: string;
/** Hint information */
hint?: string;
};
}
/**
* Package item for mass shipping/tracking requests
*/
export type PackageListItem = {
/** Shopee's unique identifier for the package under an order */
package_number: string;
};
/**
* Parameters for get mass shipping parameter
*/
export type GetMassShippingParameterParams = {
/** Logistics channel ID (optional) */
logistics_channel_id?: number;
/** Product location ID (optional) */
product_location_id?: string;
/** List of packages to get shipping parameters for */
package_list: PackageListItem[];
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for get mass shipping parameter API
*/
export interface GetMassShippingParameterResponse extends BaseResponse {
response: {
/** Parameters required */
info_needed?: InfoNeeded;
/** Dropoff information */
dropoff?: DropoffInfo;
/** Pickup information */
pickup?: PickupInfo;
};
}
/**
* Parameters for get mass tracking number
*/
export type GetMassTrackingNumberParams = {
/** List of packages to get tracking numbers for */
package_list: PackageListItem[];
/** Optional response fields to include (e.g. "first_mile_tracking_number") */
response_optional_fields?: string;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Mass tracking success item
*/
export interface MassTrackingSuccessItem {
/** Shopee's unique identifier for the package under an order */
package_number: string;
/** The tracking number of this order */
tracking_number?: string;
/** The unique identifier for package of BR correios */
plp_number?: string;
/** The first mile tracking number of the order */
first_mile_tracking_number?: string;
/** The last mile tracking number of the order */
last_mile_tracking_number?: string;
/** Hint information */
hint?: string;
/** Pickup code for instant+sameday orders */
pickup_code?: string;
}
/**
* Mass tracking fail item
*/
export interface MassTrackingFailItem {
/** Shopee's unique identifier for the package under an order */
package_number: string;
/** Reason for failure */
fail_reason?: string;
}
/**
* Response for get mass tracking number API
*/
export interface GetMassTrackingNumberResponse extends BaseResponse {
response?: {
/** List of successfully retrieved tracking numbers */
success_list?: MassTrackingSuccessItem[];
/** List of packages that failed to get tracking numbers */
fail_list?: MassTrackingFailItem[];
};
}
/**
* Parameters for set address config
*/
export type SetAddressConfigParams = {
/** Whether to show pickup address */
show_pickup_address?: boolean;
/** Address type configuration */
address_type_config?: Array<{
/** Address type */
address_type?: string;
/** Address list */
address_list?: Array<{
/** Address ID */
address_id?: number;
}>;
}>;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for set address config API
*/
export interface SetAddressConfigResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for delete address
*/
export type DeleteAddressParams = {
/** Address ID to delete */
address_id: number;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for delete address API
*/
export interface DeleteAddressResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Shipping document type enum
*/
export declare enum ShippingDocumentType {
NORMAL_AIR_WAYBILL = "NORMAL_AIR_WAYBILL",
THERMAL_AIR_WAYBILL = "THERMAL_AIR_WAYBILL",
NORMAL_JOB_AIR_WAYBILL = "NORMAL_JOB_AIR_WAYBILL",
THERMAL_JOB_AIR_WAYBILL = "THERMAL_JOB_AIR_WAYBILL"
}
/**
* Parameters for create shipping document
*/
export type CreateShippingDocumentParams = {
/** List of orders to create shipping document for. limit [1, 50] */
order_list: Array<{
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number?: string;
/** The tracking number of the order. Required except for channels that allow printing before arrangement */
tracking_number?: string;
/** The type of shipping document */
shipping_document_type?: string;
}>;
/** Document type */
shipping_document_type?: string;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for create shipping document API
*/
export interface CreateShippingDocumentResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for download shipping document
*/
export type DownloadShippingDocumentParams = {
/** List of orders to download documents for */
order_list: Array<{
/** Order SN */
order_sn: string;
/** Package number (optional) */
package_number?: string;
}>;
/** Document type */
shipping_document_type: string;
};
/**
* Response for download shipping document API (returns raw binary PDF)
*/
export type DownloadShippingDocumentResponse = Buffer;
/**
* Parameters for get shipping document parameter
*/
export type GetShippingDocumentParameterParams = {
/** List of orders to get shipping document parameters for. limit [1, 50] */
order_list: Array<{
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number?: string;
}>;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for get shipping document parameter API
*/
export interface GetShippingDocumentParameterResponse extends BaseResponse {
response?: {
/** Suggested document type */
suggested_shipping_document_type?: string;
/** Selectable document types */
selectable_shipping_document_type?: string[];
};
}
/**
* Parameters for get shipping document result
*/
export type GetShippingDocumentResultParams = {
/** List of orders to query shipping document status for. limit [1, 50] */
order_list: Array<{
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number?: string;
/** The type of shipping document */
shipping_document_type?: string;
}>;
/** Document type */
shipping_document_type?: string;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Shipping document result item
*/
export interface ShippingDocumentResultItem {
/** Order serial number */
order_sn: string;
/** Result status */
status?: string;
/** Error message if failed */
error?: string;
}
/**
* Response for get shipping document result API
*/
export interface GetShippingDocumentResultResponse extends BaseResponse {
response?: {
/** List of results */
result_list?: ShippingDocumentResultItem[];
};
}
/**
* Parameters for get shipping document data info
*/
export type GetShippingDocumentDataInfoParams = {
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number?: string;
/** Recipient address information */
recipient_address_info?: object;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get shipping document data info API
*/
export interface GetShippingDocumentDataInfoResponse extends BaseResponse {
response?: {
/** Document data list */
data_list?: any[];
};
}
/**
* Parameters for create booking shipping document
*/
export type CreateBookingShippingDocumentParams = {
/** List of bookings */
booking_list: Array<{
/** Shopee's unique identifier for a booking */
booking_sn: string;
/** Tracking number */
tracking_number?: string;
/** Shipping document type */
shipping_document_type?: string;
}>;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for create booking shipping document API
*/
export interface CreateBookingShippingDocumentResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for download booking shipping document
*/
export type DownloadBookingShippingDocumentParams = {
/** List of bookings */
booking_list: Array<{
/** Shopee's unique identifier for a booking */
booking_sn: string;
}>;
/** Document type */
shipping_document_type: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for download booking shipping document API (returns raw binary PDF)
*/
export type DownloadBookingShippingDocumentResponse = Buffer;
/**
* Parameters for get booking shipping document parameter
*/
export type GetBookingShippingDocumentParameterParams = {
/** List of bookings */
booking_list: Array<{
/** Shopee's unique identifier for a booking */
booking_sn: string;
}>;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get booking shipping document parameter API
*/
export interface GetBookingShippingDocumentParameterResponse extends BaseResponse {
response?: {
/** Suggested document type */
suggested_shipping_document_type?: string;
/** Selectable document types */
selectable_shipping_document_type?: string[];
};
}
/**
* Parameters for get booking shipping document result
*/
export type GetBookingShippingDocumentResultParams = {
/** List of bookings */
booking_list: Array<{
/** Shopee's unique identifier for a booking */
booking_sn: string;
/** Shipping document type */
shipping_document_type?: string;
}>;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get booking shipping document result API
*/
export interface GetBookingShippingDocumentResultResponse extends BaseResponse {
response?: {
/** List of results */
result_list?: any[];
};
}
/**
* Parameters for get booking shipping document data info
*/
export type GetBookingShippingDocumentDataInfoParams = {
/** Shopee's unique identifier for a booking */
booking_sn: string;
/** Recipient address information */
recipient_address_info?: object;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get booking shipping document data info API
*/
export interface GetBookingShippingDocumentDataInfoResponse extends BaseResponse {
response?: {
/** Document data list */
data_list?: any[];
};
}
/**
* Parameters for create shipping document job
*/
export type CreateShippingDocumentJobParams = {
/** Shipping document type */
shipping_document_type: string;
/** Unpackaged SKU requests */
unpackaged_sku_requests?: object[];
/** Package list */
package_list: Array<{
/** Shopee's unique identifier for an order */
order_sn: string;
/** Shopee's unique identifier for the package under an order */
package_number?: string;
}>;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for create shipping document job API
*/
export interface CreateShippingDocumentJobResponse extends BaseResponse {
response?: {
/** Job ID */
job_id?: string;
};
}
/**
* Parameters for download shipping document job
*/
export type DownloadShippingDocumentJobParams = {
/** Job ID */
job_id: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for download shipping document job API
*/
export interface DownloadShippingDocumentJobResponse extends BaseResponse {
response?: {
/** Download URL */
result?: string;
};
}
/**
* Parameters for get shipping document job status
*/
export type GetShippingDocumentJobStatusParams = {
/** Job ID */
job_id: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get shipping document job status API
*/
export interface GetShippingDocumentJobStatusResponse extends BaseResponse {
response?: {
/** Job status */
status?: string;
/** Error message if failed */
error?: string;
};
}
/**
* Parameters for download to label
*/
export type DownloadToLabelParams = {
/** Sorting group */
sorting_group?: string;
/** Label quantity */
quantity?: number;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for download to label API
*/
export interface DownloadToLabelResponse extends BaseResponse {
response?: {
/** Download URL */
result?: string;
};
}
/**
* Parameters for update channel
*/
export type UpdateChannelParams = {
/** Logistics channel ID */
logistics_channel_id: number;
/** Whether to enable the channel */
enabled?: boolean;
/** COD enabled */
cod_enabled?: boolean;
/** Auto call driver setting */
auto_call_driver_setting?: object;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for update channel API
*/
export interface UpdateChannelResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for update shipping order
*/
export type UpdateShippingOrderParams = {
/** Order serial number */
order_sn: string;
/** Package number */
package_number?: string;
/** Pickup information */
pickup?: ShipOrderPickup;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for update shipping order API
*/
export interface UpdateShippingOrderResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for update tracking status
*/
export type UpdateTrackingStatusParams = {
/** Order serial number */
order_sn: string;
/** Tracking number */
tracking_number?: string;
/** Tracking URL */
tracking_url?: string;
/** Logistics status */
logistics_status?: string;
/** Failed reason */
failed_reason?: string;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for update tracking status API
*/
export interface UpdateTrackingStatusResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for update self collection order logistics
*/
export type UpdateSelfCollectionOrderLogisticsParams = {
/** Package number */
package_number: string;
/** Self collection logistics action */
self_collection_logistics_action?: string;
/** EPOC image list */
epoc_image_list?: string[];
/** PIN */
pin?: string;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for update self collection order logistics API
*/
export interface UpdateSelfCollectionOrderLogisticsResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for get operating hours
*/
export type GetOperatingHoursParams = Record<string, string | number | boolean | null | undefined>;
/**
* Response for get operating hours API
*/
export interface GetOperatingHoursResponse extends BaseResponse {
response?: {
/** Operating hours data */
operating_hours?: any[];
};
}
/**
* Parameters for update operating hours
*/
export type UpdateOperatingHoursParams = {
/** Regular operating hours */
regular_operating_hour?: any[];
/** Special operating hours */
special_operating_hour?: any[];
/** Instant operating hours */
instant_operating_hour?: any[];
/** Shop collection operating hours */
shop_collection_operating_hour?: any[];
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for update operating hours API
*/
export interface UpdateOperatingHoursResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for get operating hour restrictions
*/
export type GetOperatingHourRestrictionsParams = Record<string, string | number | boolean | null | undefined>;
/**
* Response for get operating hour restrictions API
*/
export interface GetOperatingHourRestrictionsResponse extends BaseResponse {
response?: {
/** Restrictions data */
restrictions?: any[];
};
}
/**
* Parameters for delete special operating hour
*/
export type DeleteSpecialOperatingHourParams = {
/** Name */
name?: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for delete special operating hour API
*/
export interface DeleteSpecialOperatingHourResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for get mart packaging info
*/
export type GetMartPackagingInfoParams = {
/** Order serial number */
order_sn: string;
} & Record<string, string | number | boolean | null | undefined>;
/**
* Response for get mart packaging info API
*/
export interface GetMartPackagingInfoResponse extends BaseResponse {
response?: {
/** Packaging info */
packaging_info?: any;
};
}
/**
* Parameters for set mart packaging info
*/
export type SetMartPackagingInfoParams = {
/** Enable mart packaging info */
enable?: boolean;
/** Packaging dimension */
dimension?: {
length?: number;
width?: number;
height?: number;
};
/** Packaging fee */
packaging_fee?: number;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for set mart packaging info API
*/
export interface SetMartPackagingInfoResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* TPF tracking status item
*/
export interface TPFTrackingStatusItem {
/** Package number */
package_number: string;
/** Tracking status */
tracking_status: string;
}
/**
* Parameters for batch update TPF warehouse tracking status
*/
export type BatchUpdateTPFWarehouseTrackingStatusParams = {
/** Third-party fulfillment name */
tpf_name?: string;
/** Third-party fulfillment tracking status */
tpf_tracking_status?: string;
/** Package list */
package_list: TPFTrackingStatusItem[];
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for batch update TPF warehouse tracking status API
*/
export interface BatchUpdateTPFWarehouseTrackingStatusResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for check polygon update status
*/
export type CheckPolygonUpdateStatusParams = {
/** ID that needs to be checked. Please pass the task_id returned via the v2.logistics.upload_serviceable_polygon. */
task_id: string;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for check polygon update status API
*/
export interface CheckPolygonUpdateStatusResponse extends BaseResponse {
response?: {
/** Serviceable polygon file upload status. 0: Task completed, 1: Task in progress, 2: KML file related errors */
status?: number;
/** Details of the upload status, e.g "task in progress" */
message?: string;
};
}
/**
* Parameters for update address
*/
export type UpdateAddressParams = {
/** Unique identifier for the address. You can get the address_id via v2.logistics.get_address_list. */
address_id: number;
/** The region of the address. Note: Do not allow to update the region of the address. */
region?: string;
/** The state of the address. */
state?: string;
/** The city of the address. */
city?: string;
/** The district of the address. */
district?: string;
/** The town of the address. */
town?: string;
/** The detailed address description of the address. */
address?: string;
/** The zipcode of the address. */
zipcode?: string;
/** Recipient's name at this address. */
name?: string;
/** Contact phone number for the recipient. */
phone?: string;
/** Geolocation information for the address. Type: JSON string. To clear existing geo info, pass "" or {}. To keep existing geo info, do not include this field. */
geo_info?: string;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for update address API
*/
export interface UpdateAddressResponse extends BaseResponse {
response?: Record<string, never>;
}
/**
* Parameters for upload serviceable polygon
*/
export type UploadServiceablePolygonParams = {
/** The .kml file to be uploaded to denote the serviceability area of the shops. */
file: File | Blob;
} & Record<string, string | number | boolean | object | null | undefined>;
/**
* Response for upload serviceable polygon API
*/
export interface UploadServiceablePolygonResponse extends BaseResponse {
response?: {
/** Use the task_id to call v2.logistics.check_polygon_update_status to check if the upload job has been completed. */
task_id?: string;
};
}