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

v2.media.upload_image

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.media.upload_image

Use this API to upload images and support different business scenarios through business and scene parameters.

#

§2 Overview

Overview

FieldValue
ModuleMedia
API typePublic
HTTP methodPOST
Path/api/v2/media/upload_image
Production URLhttps://partner.shopeemobile.com/api/v2/media/upload_image
Sandbox URLhttps://partner.test-stable.shopeemobile.com/api/v2/media/upload_image
PermissionERP System; Seller In House System; Product Management; Order Management; Customer Service; Consignment Service System; Livestream Management
#

§3 Request parameters

Request parameters

NameTypeRequiredSampleDescription
businessint32Yes2Defines the business type of the uploaded image. Supported values: 2 = Returns
sceneint32Yes1Defines the purpose of the uploaded image under the specified business type. Supported values: - If business = 2 (Returns): 1 = Return Seller Self Arrange Pickup Proof Image
imagesfileYesThe image files to be uploaded. Rules and restrictions by business and scene: - If business = 2 (Returns) and scene = 1 (Return Seller Self Arrange Pickup Proof Image): Up to 3 images can be uploaded. Each image must not exceed 10MB. Supported formats: JPG, JPEG, PNG.
#

§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.
warningstringIndicate warning message you should take care.
request_idstringThe identifier for an API request for error tracking.
responseobject
response.image_listobject[]List of uploaded images.
response.image_list.image_idstringUnique ID of the uploaded image.
response.image_list.image_urlstringURL of the uploaded image.
#

§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.
signstringe318d3e932719916a9f9ebb57e2011961bd47abfa54a36e040d050d8931596e2Signature generated by partner_id, api path, timestamp 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 Payload

Payload

{
	"business": 2,
	"scene": 1,
	"images": "path/to/file"
}
#

§8 Java

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.shopeemobile.com/api/v2/media/upload_image?partner_id=partner_id&sign=sign&timestamp=timestamp")
.field("file", new File("/path/to/file"))  //replace the sample path with your file path
.asString();
#

§9 PHP

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://partner.shopeemobile.com/api/v2/media/upload_image?partner_id=partner_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 => 'POST',
  CURLOPT_POSTFIELDS => array('images'=> new CURLFILE('/path/to/file') /* Replace with actual file path */),
  CURLOPT_HTTPHEADER => array(
    'Content-Type: multipart/form-data'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
#

§10 cURL

cURL

curl --location --request POST 'https://partner.shopeemobile.com/api/v2/media/upload_image?partner_id=partner_id&sign=sign&timestamp=timestamp' \
--form 'images=@"/path/to/file"'  #replace the sample path with your file path
#

§11 Python

Python

import requests
import json

url = "https://partner.shopeemobile.com/api/v2/media/upload_image?partner_id=partner_id&sign=sign&timestamp=timestamp"

payload={}
files=[
  ('images',('images',open('/path/to/file','rb'),'application/octet-stream')) # Replace with actual file path
]
headers = {

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

print(response.text)
#

§12 Response sample

Response sample

#

§13 JSON

JSON

{
    "error": "",
    "message": "",
    "request_id": "e3e3e7f33e59c815329b4ac9cc52c501",
    "response": {
        "image_list": [
            {
                "image_id": "test_image_id",
                "image_url": "test_image_url"
            }
        ]
    },
    "warning": ""
}
#

§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.
#

§15 Update log

Update log

DateChange
2025-09-04New API
#