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

v2.ads.edit_manual_product_ad_keywords

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.edit_manual_product_ad_keywords

Use this API to edit Manual Selection Product Ad Keywords

#

§2 Overview

Overview

FieldValue
ModuleAds
API typeShop
HTTP methodPOST
Path/api/v2/ads/edit_manual_product_ad_keywords
Production URLhttps://partner.shopeemobile.com/api/v2/ads/edit_manual_product_ad_keywords
Sandbox URLhttps://partner.test-stable.shopeemobile.com/api/v2/ads/edit_manual_product_ad_keywords
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
campaign_idint64Yes112233The unique identifier for a campaign
selected_keywordsobject[]Yesselected keywords, required for manual bidding mode.
selected_keywords.edit_actionstringYesaddThe update behaviours such as "add", "delete", "restore", "change_bid_price", "change_match_type"
selected_keywords.keywordstringYesapplebid keyword for each campaign
selected_keywords.match_typestringNoexactexact, broad; required if changing match type
selected_keywords.bid_price_per_clickfloatNo11.20the bid price of keyword; required if changing bid price
#

§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
response.failed_editsobject[]failed edits are mentioned here
response.failed_edits.keywordstringkeywordkeyword that failed to update
response.failed_edits.errorstringError code
response.failed_edits.messagestringerror description
#

§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",
	"campaign_id": 112233,
	"selected_keywords": [
		{
			"edit_action": "add",
			"keyword": "apple",
			"match_type": "exact",
			"bid_price_per_click": 11.2
		}
	]
}
#

§8 Java

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.test.shopeemobile.com/api/v2/ads/edit_manual_product_ad_keywords?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp")
.header("Content-Type","application/json")
.body("{
   \"campaign_id\": 112233,
   \"reference_id\": \"asdf-1234-qwerty\",
   \"selected_keywords\": [
      {
         \"bid_price_per_click\": 11.2,
         \"edit_action\": \"add\",
         \"keyword\": \"apple\",
         \"match_type\": \"exact\"
      }
   ]
}")
.asString();
#

§9 PHP

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://partner.test.shopeemobile.com/api/v2/ads/edit_manual_product_ad_keywords?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 => '{
    "campaign_id": 112233,
    "reference_id": "asdf-1234-qwerty",
    "selected_keywords": [
        {
            "bid_price_per_click": 11.2,
            "edit_action": "add",
            "keyword": "apple",
            "match_type": "exact"
        }
    ]
}',
  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/edit_manual_product_ad_keywords?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp' \
--header 'Content-Type: application/json' \
--data-raw '{
   "campaign_id": 112233,
   "reference_id": "asdf-1234-qwerty",
   "selected_keywords": [
      {
         "bid_price_per_click": 11.2,
         "edit_action": "add",
         "keyword": "apple",
         "match_type": "exact"
      }
   ]
}'
#

§11 Python

Python

import requests
import json

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

payload=json.dumps({
  "campaign_id": 112233,
  "reference_id": "asdf-1234-qwerty",
  "selected_keywords": [
    {
      "bid_price_per_click": 11.2,
      "edit_action": "add",
      "keyword": "apple",
      "match_type": "exact"
    }
  ]
})
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,
			"failed_edits": [
				{
					"keyword": "keyword",
					"error": "",
					"message": ""
				}
			]
		}
	]
}
#

§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.shop.campaign_not_matchInvalid campaign ID for this shop.
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.edit.invalid_actionEdit Action is invalid as per the current status of the campaign.
ads.item.invalid_statusItem status is invalid.
ads.keyword.already_existsKeyword already exists.
ads.keyword.is_blacklistedKeyword is Blacklisted.
ads.keyword.is_reservedKeyword is reserved.
ads.keyword.no_updateKeyword has no update.
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
#