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

v2.ads.create_manual_product_ads

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.ads.create_manual_product_ads

Use this API to create Manual Selection Product Ads

#

§2 Overview

Overview

FieldValue
ModuleAds
API typeShop
HTTP methodPOST
Path/api/v2/ads/create_manual_product_ads
Production URLhttps://partner.shopeemobile.com/api/v2/ads/create_manual_product_ads
Sandbox URLhttps://partner.test-stable.shopeemobile.com/api/v2/ads/create_manual_product_ads
PermissionSeller In House System; Ads Service; Ads Service App ; Ads Facil
#

§3 Request parameters

Request parameters

NameTypeRequiredSampleDescription
reference_idstringYesasdf-1234-qwertyA random string used to prevent duplicate ads. If an ads is created successfully, subsequent request using the same reference id will fail
budgetfloatYes10.50The budget set for the Auto Product Ads
start_datestringYes11-11-2023the start date per campaign. please kindly note that if you want to set unlimited date, you can just pass today's date as the start date
end_datestringNothe end date of each campaign. please kindly note that if you want to set an unlimited campaign, you can keep empty for the end date field
bidding_methodstringYesautoauto, manual
item_idint64Yes111222Product ID
roas_targetfloatNo1.20the ROAS target for each campaign with auto bidding. If 0, GMV Max / ROI feature is not enabled
selected_keywordsobject[]Noselected keywords, required for manual bidding mode
selected_keywords.keywordstringYesapplebid keyword for each campaign
selected_keywords.match_typestringYesexactexact, broad
selected_keywords.bid_price_per_clickfloatYes11.20the bid price of keyword
discovery_ads_locationsobject[]Nothe location settings for manual bidding method
discovery_ads_locations.locationstringYesdaily_discoverdaily_discover, you_may_also_like
discovery_ads_locations.bid_pricefloatYes10.50bid price of the location
enhanced_cpcbooleanNotrueEnhanced CPC functionality toggle
smart_creative_settingstringNodefaultWhether to use default or set on/off Smart Creative for this ad. Supported Values: "", "default", "on", "off". Empty string treated as default.
#

§4 Response parameters

Response parameters

NameTypeRequiredSampleDescription
errorstringError code, empty when no error returned
messagestringerror description
warningstringIf some data cannot respond normally, set the warning
request_idstring6f235f4a343e4feb8a9ed74c439f6663request id is unique for each request
responseobject[]response body
response.campaign_idint64123The unique identifier for a campaign
#

§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 Payload

Payload

{
	"reference_id": "asdf-1234-qwerty",
	"budget": 10.5,
	"start_date": "11-11-2023",
	"end_date": "",
	"bidding_method": "auto",
	"item_id": 111222,
	"roas_target": 1.2,
	"selected_keywords": [
		{
			"keyword": "apple",
			"match_type": "exact",
			"bid_price_per_click": 11.2
		}
	],
	"discovery_ads_locations": [
		{
			"location": "daily_discover",
			"bid_price": 10.5
		}
	],
	"enhanced_cpc": true,
	"smart_creative_setting": "default"
}
#

§8 Java

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.test.shopeemobile.com/api/v2/ads/create_manual_product_ads?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp")
.header("Content-Type","application/json")
.body("{
   \"bidding_method\": \"auto\",
   \"budget\": 10.5,
   \"discovery_ads_locations\": [
      {
         \"bid_price\": 10.5,
         \"location\": \"daily_discover\"
      }
   ],
   \"end_date\": \"-\",
   \"enhanced_cpc\": true,
   \"item_id\": 111222,
   \"reference_id\": \"asdf-1234-qwerty\",
   \"roas_target\": 1.2,
   \"selected_keywords\": [
      {
         \"bid_price_per_click\": 11.2,
         \"keyword\": \"apple\",
         \"match_type\": \"exact\"
      }
   ],
   \"smart_creative_setting\": false,
   \"start_date\": \"11-11-2023\"
}")
.asString();
#

§9 PHP

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://partner.test.shopeemobile.com/api/v2/ads/create_manual_product_ads?access_token=access_token&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 => 'POST',
  CURLOPT_POSTFIELDS => '{
    "bidding_method": "auto",
    "budget": 10.5,
    "discovery_ads_locations": [
        {
            "bid_price": 10.5,
            "location": "daily_discover"
        }
    ],
    "end_date": "-",
    "enhanced_cpc": true,
    "item_id": 111222,
    "reference_id": "asdf-1234-qwerty",
    "roas_target": 1.2,
    "selected_keywords": [
        {
            "bid_price_per_click": 11.2,
            "keyword": "apple",
            "match_type": "exact"
        }
    ],
    "smart_creative_setting": false,
    "start_date": "11-11-2023"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
#

§10 cURL

cURL

curl --location --request POST 'https://partner.test.shopeemobile.com/api/v2/ads/create_manual_product_ads?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp' \
--header 'Content-Type: application/json' \
--data-raw '{
   "bidding_method": "auto",
   "budget": 10.5,
   "discovery_ads_locations": [
      {
         "bid_price": 10.5,
         "location": "daily_discover"
      }
   ],
   "end_date": "-",
   "enhanced_cpc": true,
   "item_id": 111222,
   "reference_id": "asdf-1234-qwerty",
   "roas_target": 1.2,
   "selected_keywords": [
      {
         "bid_price_per_click": 11.2,
         "keyword": "apple",
         "match_type": "exact"
      }
   ],
   "smart_creative_setting": false,
   "start_date": "11-11-2023"
}'
#

§11 Python

Python

import requests
import json

url = "https://partner.test.shopeemobile.com/api/v2/ads/create_manual_product_ads?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp"

payload=json.dumps({
  "bidding_method": "auto",
  "budget": 10.5,
  "discovery_ads_locations": [
    {
      "bid_price": 10.5,
      "location": "daily_discover"
    }
  ],
  "end_date": "-",
  "enhanced_cpc": True,
  "item_id": 111222,
  "reference_id": "asdf-1234-qwerty",
  "roas_target": 1.2,
  "selected_keywords": [
    {
      "bid_price_per_click": 11.2,
      "keyword": "apple",
      "match_type": "exact"
    }
  ],
  "smart_creative_setting": False,
  "start_date": "11-11-2023"
})
headers = {
  'Content-Type': 'application/json'
}
response = requests.RPCRequest("POST",url,headers=headers, data=payload, allow_redirects=False)

print(response.text)
#

§12 Response sample

Response sample

#

§13 JSON

JSON

{
	"error": "",
	"message": "",
	"warning": "",
	"request_id": "6f235f4a343e4feb8a9ed74c439f6663",
	"response": [
		{
			"campaign_id": 123
		}
	]
}
#

§14 Error example

Error example

#

§15 JSON

JSON

{
	"request_id": "6f235f4a343e4feb8a9ed74c439f6663",
	"error": "error_server",
	"message": "Something wrong. Please try later.",
	"warning": ""
}
#

§16 Errors

Errors

ErrorDescriptionSolution
ads.account.status_not_normalAccount status is not normal.
ads.item.adult_itemItem is an adult item cannot have this campaign setting.
ads.campaign.error_daily_budget_rangeThe budget set is invalid.
ads.campaign.error_date_settingThe start/end date of campaign should be larger or equal to today. End date to be empty for unlimited duration.
error_not_foundThe information you queried is not found.
error_paramWrong parameters.
error_serverSomething wrong. Please try later.
ads.api.http_method_not_allowedOnly the supported HTTP method for the API is allowed.
ads.ads_account.invalid_statusAds account status is Invalid.
ads.item.invalid_statusItem status is invalid.
ads.campaign.invalid_start_dateThe start date has to be today for no end date (unlimited duration).
ads.item.blocked_for_promotionItem is blocked for promotion.
ads.item.sold_outItem is sold out.
ads.keyword.is_blacklistedKeyword is Blacklisted.
ads.keyword.is_reservedKeyword is reserved.
ads.keyword.not_foundKeyword is not found.
ads.keyword.price_too_highPrice of Keyword is too high.
ads.keyword.price_too_lowPrice of Keyword is too low.
ads.rate_limit.campaign_levelToo many requests at the moment, please try again later.
ads.rate_limit.exceed_partner_apiToo many requests, please reduce the request rate and try again later.
ads.rate_limit.exceed_shop_apiToo many requests for the shop at the moment, please try again later.
ads.rate_limit.exceed_apiToo many requests at the moment, please try again later.
ads.shop.in_holiday_modeShop is in holiday mode.
ads.shop.status_not_normalShop status is not normal.
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
#

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

§18 Update log

Update log

DateChange
2024-10-21New API
#