快工助手跨境电商知识与商机助手

v2.order.get_package_detail

Shopee 官方资料 · Shopee Open Platform 接口参考 · 适合开发者

stable本次发布有变化全部展示

来自 Shopee 官方资料快照 ·

打开官方原文 ↗
  1. 当前资料结构化阅读页
  2. 固定快照已留存,可追溯
  3. 官方原文可核对
查看技术与溯源信息
平台 / profile
Shopee / profile.shopee.api_reference
语言
en-US
发布版本
cn-20260909-2
标签
zhuge/sourceplatform/shopeeaudience/developercategory/api_doctopic/apitopic/developer

资料正文

§1 v2.order.get_package_detail

Use this api to get package detail.

#

§2 Overview

Overview

FieldValue
ModuleOrder
API typeShop
HTTP methodGET
Path/api/v2/order/get_package_detail
Production URLhttps://partner.shopeemobile.com/api/v2/order/get_package_detail
Sandbox URLhttps://partner.test-stable.shopeemobile.com/api/v2/order/get_package_detail
PermissionERP System; Seller In House System; Order Management
#

§3 Request parameters

Request parameters

NameTypeRequiredSampleDescription
package_number_liststringYesOFG1156498731071468,OFG199593509207187The set of package_number. If there are multiple package_number, you need to use English comma to connect them. limit [1,50]
#

§4 Response parameters

Response parameters

NameTypeRequiredSampleDescription
errorstringIndicate error type if hit error. Empty if no error happened.
messagestringIndicate error details if hit error. Empty if no error happened.
request_idstring69ee3f61ec6f4e3f85836391e5b78dbcThe identifier for an API request for error tracking.
responseobjectDetail informations you are querying.
response.package_listobject[]The list of packages.
response.package_list.order_snstring220831EGF1JMXFShopee's unique identifier for an order.
response.package_list.package_numberstringOFG1156498731071468Shopee's unique identifier for the package under an order.
response.package_list.fulfillment_statusstringLOGISTICS_READYThe Shopee fulfillment status for the package. Applicable values: See V2.0 Data Definition - PackageFulfillmentStatus.
response.package_list.update_timeint641661950674Timestamp that indicates the last time that there was a change in value of package.
response.package_list.logistics_channel_idint6480008The identity of logistic channel.
response.package_list.shipping_carrierstringJNE Trucking (JTR) LPSThe logistics service provider that the buyer selected for the package to deliver items.; Note: If logistics_channel_id is 90021, 90025 or 90026, service_code will be appended, e.g., Entrega Turbo - M1020.
response.package_list.allow_self_design_awbbooleantrueTo indicate whether the package allows for self-designed AWB, if allow_self_design_awb returns false, it means that the package does not allow for self-designed AWB and only the system-AWB can be used.
response.package_list.days_to_shipint643Shipping preparation time set by the seller when listing item on Shopee.
response.package_list.ship_by_dateint641662209873The deadline to ship out the package.
response.package_list.pending_termsstring[]["SYSTEM_PENDING"]The list of pending terms. Applicable values: - SYSTEM_PENDING: Under Shopee internal processing.; - KYC_PENDING: Under KYC checking (TW CB order only).; - ARRANGE_SHIPMENT_PENDING: Temporarily held due to 3PL capacity constraints.
response.package_list.pending_descriptionstring[]["Order is being processed by Shopee"]The value of this field is the description of pending reason corresponding with pending terms. Applicable values: - For SYSTEM_PENDING: Order is being processed by Shopee.; - For KYC_PENDING: Order is pending buyer TW KYC pre-authorization.; - For ARRANGE_SHIPMENT_PENDING: Allocating delivery resources due to high order volume. Label print will be available within 4 days after buyer paid.
response.package_list.tracking_numberstringThe tracking number of this package.
response.package_list.tracking_number_expiration_dateint64[TW only] Tracking number expiration date
response.package_list.pickup_done_timeint64The timestamp when pickup is done.
response.package_list.is_split_upbooleanfalseTo indicate whether this parcel is split.
response.package_list.item_listobject[]The lis of items in the package.
response.package_list.item_list.item_idint642200149592Shopee's unique identifier for an item.
response.package_list.item_list.model_idint64Shopee's unique identifier for a model.
response.package_list.item_list.item_skustringA item SKU (stock keeping unit) is an identifier defined by a seller, sometimes called parent SKU. Item SKU can be assigned to an item in Shopee Listings.
response.package_list.item_list.model_skustringID of the model that belongs to the same item.
response.package_list.item_list.model_quantityint641The number of identical items/variations purchased at the same time by the same buyer from one listing/item.
response.package_list.item_list.is_fulfillment_mappingbooleanFlag indicating whether the item contains any bundle items configured with Fulfillment Mapping (FFM). Returns 'true' if the item uses FFM logic, 'false' otherwise. Field will only be returned if shop is whitelisted.
response.package_list.item_list.bundle_sku_idstringThe unique identifier (SKU ID) of the front-facing Bundle SKU purchased by the buyer on Shopee. Field will only be returned if shop is whitelisted and is_fulfillment_mapping returns true.
response.package_list.item_list.componentsobject[]List of underlying Parent SKUs (component level) associated with the mapped Bundle SKU, used by WMS/ERP for physical picking and fulfillment. If is_fulfillment_mapping returns 'false', this array will not be returned. Array will only be returned if shop is whitelisted and is_fulfillment_mapping returns true.
response.package_list.item_list.components.parent_sku_idstringThe unique identifier (SKU ID) of the underlying physical component item (Parent SKU).
response.package_list.item_list.components.barcode_upcstringThe physical barcode or UPC of the Parent SKU, used for scanning and inventory picking in the warehouse.
response.package_list.item_list.components.quantityint64The mapping ratio/quantity of this specific Parent SKU required for ONE unit of the Bundle SKU (e.g., if Bundle A contains 2 units of Parent SKU B, quantity = 2)
response.package_list.item_list.components.warehouse_idstringThe ID of the warehouse where the Parent SKU component is located/stored.
response.package_list.item_list.components.mapping_typestringThe structure/type of mapping defined for the bundle. Available values: 1: Group; 2: Lucky bag; 3: Mapping List
response.package_list.item_list.order_item_idint642200149592The identify of order item. For items in one same bundle deal promotion, the order_item_id should share the same id, such as 1,2. For items not in bundle deal promotion, the order_item_id should be the same as item_id.
response.package_list.item_list.promotion_group_idint64The identify of product promotion.
response.package_list.item_list.product_location_idstringThe warehouse ID of the item.
response.package_list.item_list.consultation_idstringAn identifier of teleconsultation session which buyer did to order this item. Empty if item is not ordered through teleconsultation session
response.package_list.item_list.is_prescription_itembooleanTo indicate if this item is a prescription item. Default false. Only for PH, TH, ID whitelist shops.
response.package_list.item_list.error_in_fetching_is_prescription_itembooleanTo indicate if there was an error when validating whether this item is prescription. Default false. If is_prescription_item=false and this field is true, the item's prescription status is uncertain (label service call failed). Only for PH, TH, ID whitelist shops.
response.package_list.item_list.prescription_check_statusint32Prescription check status. For ID, PH whitelisted sellers, the applicable values: 0: NONE; 1: PASSED; 2: FAILED; For TH whitelisted sellers, the applicable values: 0: NONE; 1: PASSED
response.package_list.item_list.prescription_reject_reasonstringReturn the reason why a prescription is rejected. If no rejection reason, return empty. Only for ID and PH whitelist sellers.
response.package_list.recipient_addressobjectThis object contains detailed breakdown for the recipient address. Different parameters might be masked according to each market and kind of seller. For TW region integrated channel orders will be all masked as "****". More details may refer the announcement.
response.package_list.recipient_address.namestringb***rRecipient's name for the address.
response.package_list.recipient_address.phonestring******78Recipient's phone number input when order was placed.; [Only for TW non-integrated channel] Will return "****" when the "virtual_contact_number" is available
response.package_list.recipient_address.townstring****The town of the recipient's address. Whether there is a town will depend on the region and/or country.
response.package_list.recipient_address.districtstring****The district of the recipient's address. Whether there is a district will depend on the region and/or country.
response.package_list.recipient_address.citystring****The city of the recipient's address. Whether there is a city will depend on the region and/or country.
response.package_list.recipient_address.statestring****The state/province of the recipient's address. Whether there is a state/province will depend on the region and/or country.
response.package_list.recipient_address.regionstring****The two-digit code representing the region of the Recipient.
response.package_list.recipient_address.zipcodestring****Recipient's postal code.
response.package_list.recipient_address.full_addressstring******11The full address of the recipient, including country, state, even street, and etc.
response.package_list.recipient_address.geolocationobjectGeolocation info. Only available for logistics_channel_id 90026.
response.package_list.recipient_address.geolocation.latitudefloat-23.567851Latitude.
response.package_list.recipient_address.geolocation.longitudefloat-46.6912611Longitude.
response.package_list.parcel_chargeable_weight_gramint64display weight used to calculate ASF for this parcel
response.package_list.group_shipment_idint64The common identifier for multiple orders combined in the same parcel.
response.package_list.virtual_contact_numberstring[Only for TW non-integrated channel] The virtual phone number to contact the recipient.
response.package_list.package_query_numberstringfalse[Only for TW non-integrated channel] The query number used in virtual phone number calls to contact the recipient of this package.
response.package_list.sorting_groupstringNorth[Only for TW 30029 channel] This field indicate the sorting group value of the package. This field is only available for logistics_channel_id = 30029 and after the package has been arranged for shipment.
response.package_list.is_shipment_arrangedbooleanfalseOnly effective when the package's logistics_status/fulfillment_status is LOGISTICS_READY.; This parameter further distinguishes between two scenarios: - true: Package shipment has been arranged (Seller has processed shipment, system is generating tracking number, not yet updated to LOGISTICS_REQUEST_CREATED, no duplicate action needed); - false: Package awaiting shipment arrangement (Seller hasn't processed shipment yet, shipping arrangement required)
response.package_list.status_info_tagobjectPackage shipping urgency tag information.
response.package_list.status_info_tag.tag_idint320Shipping urgency tag type, applicable values below: 0: No tag; 1: Will be cancelled within 1 day; 2: Must ship before the specified timestamp; 3: Shipment delayed; 4: Must ship within the current hour; 5: Will be cancelled at the specified timestamp
response.package_list.status_info_tag.timestamptimestamp0When tag_id is 2 or 5, returns specific timestamp (e.g., cancel time, shipment deadline); otherwise returns 0.
response.package_list.can_split_orderbooleanfalseThis field indicates whether this order can be split into multiple packages for separate shipment.; - true: Support splitting, can call v2.order.split_order to execute; - false: Does not support splitting
response.package_list.can_unsplit_orderbooleanfalseThis field indicates whether this order can be unsplit.; - true: Support unsplitting, can call v2.order.unsplit_order to execute; - false: Does not support unsplitting
response.package_list.is_pre_orderbooleanfalseThis field indicates whether this order is a pre-order.; - true: Pre-order; - false: Non pre-order
response.package_list.pharmacist_namestringName of the Pharmacist for Prescription Order.
response.package_list.prescription_imagesstring[]Return prescription images of this order, only for ID and PH whitelist sellers.; Please add the prefix to review: for ID: https://cf.shopee.co.id/file/+prescription_image; for PH: https://cf.shopee.ph/file/+prescription_image
response.package_list.prescription_approval_timetimestampTime of when the prescription is approved.
response.package_list.prescription_rejection_timetimestampTime of when the prescription is rejected.
response.package_list.is_buyer_shop_collectionbooleanTo indicate if this order is buyer self collection at store order.
response.package_list.buyer_proof_of_collectionstring[]The image url of the proof for buyer self collection at the store.
response.package_list.preparation_end_timetimestamp1772276400The system-calculated deadline for package preparation. When the package fulfillment_status/logistics_status changes to "LOGISTICS_READY", the system calculates this time based on the "Preparation Time" configured for the logistics channel of this package.; Notes: 1) Only effective for logistics channels that have Auto Call Driver enabled and Preparation Time configured.; 2) Seller needs to complete packing and waybill printing before this time to ensure the package is ready when the driver arrives.; 3) When this time is reached, the system will automatically arrange shipment and trigger driver dispatch: - If driver calling is successful, the package fulfillment_status/logistics_status will change from “LOGISTICS_READY” to “LOGISTICS_REQUEST_CREATED”.; - If driver calling fails, the package fulfillment_status/logistics_status will remain unchanged, and the seller must arrange shipment manually.
response.package_list.driver_infoobjectAfter the driver is successfully called, the driver's information will be returned.; Note: Data availability depends on the specific 3PL provider; certain fields may be omitted due to provider policies, PII restrictions, or data unavailability.
response.package_list.driver_info.driver_namestringDriver Name
response.package_list.driver_info.driver_phonestringDriver phone number
response.package_list.driver_info.vehicle_typestringDelivery vehicle type
response.package_list.driver_info.license_platestringLicense plate number
response.package_list.driver_info.courier_photostringURL of the driver's photo
response.package_list.driver_info.eta_start_timeint64Earliest estimated arrival time at pickup address
response.package_list.driver_info.eta_end_timeint64Latest estimated arrival time at pickup address
response.package_list.driver_info.driver_statusstringDriver is on the wayDriver status. Applicable values: - Allocating Driver - Driver assigned - Driver is on the way - Driver is arrived; - Driver should arrive by {starting_time} - {end_time}
response.package_list.can_full_cancel_orderbooleantrueIndicates whether the order can be full cancelled: - If this value is true, seller can cancel the entire order; - If the value is false, full order cancellation is not available for the order
response.package_list.can_partial_cancel_orderbooleanfalseIndicates whether the order is eligible for partial cancellation. This value is determined by both the system eligibility check and the buyer’s out-of-stock handling preference.; - If this value is true, seller can cancel selected out-of-stock item quantities while continuing to fulfill the remaining items.; - If this value is false, partial cancellation is not allowed.
response.package_list.buyer_preference_for_partial_cancellationint641Indicates the buyer’s preference for handling out-of-stock items in the order. Applicable values: 0 = Ship Available Items Only (The buyer allows the seller to cancel unavailable items and continue shipping the remaining available items); 1 = Cancel The Entire Order (The buyer does not allow partial cancellation. If any item is unavailable, the seller should cancel the entire order instead)
response.package_list.invoice_pendingobject
response.package_list.invoice_pending.statusstringThe invoice statuses should be: - valid (The invoice sent is valid); - pending (System is waiting to receive the invoice)
response.package_list.invoice_pending.pending_reasonstringIt's the failed reason if status is pending
warningstringIndicate warning message you should take care.
#

§5 Common parameters

Common parameters

NameTypeRequiredSampleDescription
partner_idint1Partner ID is assigned upon registration is successful. Required for all requests.
timestamptimestamp1610000000This is to indicate the timestamp of the request. Required for all requests. Expires in 5 minutes.
access_tokenstringc09222e3fc40ffb25fc947f738b1abf1The token for API access, using to identify your permission to the api. Valid for multiple use and expires in 4 hours.
shop_idint600000Shopee's unique identifier for a shop. Required param for most APIs.
signstringe318d3e932719916a9f9ebb57e2011961bd47abfa54a36e040d050d8931596e2Signature generated by partner_id, api path, timestamp, access_token, shop_id and partner_key via HMAC-SHA256 hashing algorithm. More details: https://open.shopee.com/documents?module=87&type=2&id=58&version=2
#

§6 Request samples

Request samples

#

§7 Java

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://partner.shopeemobile.com/api/v2/order/get_package_detail?access_token=access_token&package_number_list=OFG1156498731071468%2COFG199593509207187&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp")
.asString();
#

§8 PHP

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://partner.shopeemobile.com/api/v2/order/get_package_detail?access_token=access_token&package_number_list=OFG1156498731071468%2COFG199593509207187&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
#

§9 cURL

cURL

curl --location --request GET 'https://partner.shopeemobile.com/api/v2/order/get_package_detail?access_token=access_token&package_number_list=OFG1156498731071468%2COFG199593509207187&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp' 
#

§10 Python

Python

import requests

url = "https://partner.shopeemobile.com/api/v2/order/get_package_detail?access_token=access_token&package_number_list=OFG1156498731071468%2COFG199593509207187&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp"

payload={}
headers = {

}
response = requests.RPCRequest("GET",url,headers=headers, data=payload, allow_redirects=False)

print(response.text)
#

§11 Response sample

Response sample

#

§12 JSON

JSON

{
	"error": "-",
	"message": "-",
	"request_id": "69ee3f61ec6f4e3f85836391e5b78dbc",
	"response": {
		"package_list": [
			{
				"order_sn": "220831EGF1JMXF",
				"package_number": "OFG1156498731071468",
				"fulfillment_status": "LOGISTICS_READY",
				"update_time": 1661950674,
				"logistics_channel_id": 80008,
				"shipping_carrier": "JNE Trucking (JTR) LPS",
				"allow_self_design_awb": true,
				"days_to_ship": 3,
				"ship_by_date": 1662209873,
				"pending_terms": [
					"SYSTEM_PENDING"
				],
				"pending_description": [
					"Order is being processed by Shopee"
				],
				"tracking_number": "-",
				"tracking_number_expiration_date": 0,
				"pickup_done_time": 0,
				"is_split_up": false,
				"item_list": [
					{
						"item_id": 2200149592,
						"model_id": 0,
						"item_sku": "-",
						"model_sku": "-",
						"model_quantity": 1,
						"order_item_id": 2200149592,
						"promotion_group_id": 0,
						"product_location_id": "-",
						"consultation_id": "-"
					}
				],
				"recipient_address": {
					"name": "b***r",
					"phone": "******78",
					"town": "****",
					"district": "****",
					"city": "****",
					"state": "****",
					"region": "****",
					"zipcode": "****",
					"full_address": "******11",
					"geolocation": {
						"latitude": -23.567851,
						"longitude": -46.6912611
					}
				},
				"parcel_chargeable_weight_gram": 0,
				"group_shipment_id": 0,
				"virtual_contact_number": "-",
				"package_query_number": "false",
				"sorting_group": "North",
				"is_shipment_arranged": false,
				"status_info_tag": {
					"tag_id": 0,
					"timestamp": 0
				},
				"can_split_order": false,
				"can_unsplit_order": false,
				"is_pre_order": false,
				"prescription_images": [
					"-"
				],
				"pharmacist_name": "-",
				"prescription_approval_time": 1767679728656,
				"prescription_rejection_time": 1767679728656,
				"is_buyer_shop_collection": true,
				"buyer_proof_of_collection": [
					"-"
				],
				"preparation_end_time": 1772276400,
				"driver_info": {
					"driver_name": "",
					"driver_phone": "",
					"vehicle_type": "",
					"license_plate": "",
					"courier_photo": "",
					"eta_start_time": 0,
					"eta_end_time": 0,
					"driver_status": "Driver is on the way"
				}
			}
		]
	},
	"warning": "-"
}
#

§13 Errors

Errors

ErrorDescriptionSolution
error_not_foundWrong parameters, detail: {msg}.
error_paramWrong parameters, detail: {msg}.
error_permissionSorry you don't have the permission, detail: {msg}.
error_serverSystem error. Please try again later.
error_dataparse data failed
error_datadata not exist
error_paramparameter invalid
error_paramThe information you queried is not found.
error_paramWrong parameters, detail: {msg}.
error_serverSomething wrong. Please try later.
error_shopshopid is invalid
error_paramrequest not from gateway
#

§14 Common errors

Common errors

ErrorDescriptionSolution
error_authpartner_id is invalid
error_authThe App is deleted, and you'll be unable to make any API call.
error_authApp developer’s permissions for authorizations have been restricted. If you’re a seller, contact the developer for more information. If you’re the developer, refer to the Open Platform Console for details.
error_paramThere is no partner_id in query.
error_paramInvalid partner_id.
error_paramno timestamp
error_paramInvalid timestamp
error_paramThere is no sign in query.
error_signWrong sign.
invalid_partner_idInvalid partner_id, please have a check.
error_authNo permission to current api.
error_api_call_restrictedThe App permission for api call have been restricted. If you’re a seller, contact the developer for more information. If you’re the developer, refer to the Open Platform Console for details.
api_suspendedThe API is offline. Please call v2 API instead.
error_limitThe total API call number made by your APP has reached the daily API call limit, please try again after 00: 00 (UTC+08:00)
error_rate_limitToo many requests. You have reached the rate limit. Please try again later.
source_ip_undeclaredRequest Source IP ({ip}) is undeclared. Please declare all your IP addresses in the Shopee Open Platform Console > App list > IP Address Whitelist
error_paramPermission denied. This API is currently offline or the request path is incorrect.
error_paramPartner_id is invalid, should be an integer between 0 and 4294967295.
error_paramno timestamp.
error_paramTimestamp is invalid, should be an integer between 0 and 4294967295.
error_paramTimestamp is expired.
error_partner_key_expiredYour API partner key has expired, please reset the Live API Partner Key in Console to get a new valid partner key to call open api.
error_api_permissionThis app type has no permission to this API.
error_paramThere is no access_token in query.
error_authInvalid access_token.
error_authInvalid partner_id or shopid.
shop_no_linkedPartner and shop has no linked.
shop_bannedThe shop account has been banned. Permissions for shop authorization and API calls have been suspended until the shop account is restored.
invalid_acceess_tokenInvalid access_token, please have a check.
partner_shop_no_linkInvalid partner_id or shop_id, please have a check.
error_ashop_api_permissionThe shop is Affiliate shop has no permission to call this API.
error_kyc_authNo permission. Please inform the seller to complete the Seller Registration on Shopee Seller Center first, then this shop can call for this API.
error_authSystem error, please try again later.
error_paramThere is no shop_id in query.
error_paramshop_id is invalid, should be an integer between 0 and 4294967295.
#

§15 Update log

Update log

DateChange
2026-08-27Add "is_fulfillment_mapping""bundle_sku_id""components" as Response Parameter
2026-08-06Add invoice pending object
2026-06-17Add some new prescription fields including "is_prescription_item","error_in_fetching_is_prescription_item","prescription_check_status","prescription_reject_reason" into item list
2026-05-22Add can_full_cancel_order, can_partial_cancel_order, buyer_preference_for_partial_cancellation response parameters
2026-04-09Add new option for driver_status
#