接口说明
根据客户 ID、项目 ID、素材类型等条件,获取投放项目下的素材信息,支持多种素材类型的查询和筛选。
获取投放项目下素材
请求地址
https://api.oceanengine.com/open_api/v3.0/oc_project/material/get/可视化调试SDK下载
请求方法
GET
Header
| 字段 |
类型 |
必填 |
描述 |
Access-Token |
string |
必填 |
授权access_token,可以通过【获取Access token】接口获取 |
请求参数
| 字段 |
类型 |
必填 |
描述 |
advertiser_id |
number |
必填 |
客户id |
project_id |
number |
必填 |
项目id |
filtering(object,必填) — 过滤器
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `material_type` | string | 必填 | 素材类型,可选值,单次仅支持传入一个:- `VIDEO` 视频
- `TITLE` 标题
- `IMAGE` 图片
- `CAROUSEL` 图文
- `TRIAL_PLAY_MATERIAL`试玩素材
- `INSTANT_PLAY_MATERIAL`直玩素材
- `MINI_PROGRAM_INFO` 字节小程序&小游戏信息
- `OTHER` 其他素材类型(包括产品信息、短剧专辑链接、落地页、行动号召等)
|
| `search_keyword` | string | 否 | 搜索关键词,支持根据视频mid进行搜索,当且仅当material_type=`VIDEO` 视频、`IMAGE` 图片、`CAROUSEL` 图文时支持传入 |
| `material_status_first` | string | 否 | 素材一级状态过滤,可选值:
- `STATUS_DELETE` 已删除
- `STATUS_DISABLE` 未投放
- `STATUS_FROZEN` 已终止
- `STATUS_OK` 投放中
- `STATUS_TIME_DONE` 已完成 |
| `material_status_second` | string | 否 | 素材二级状态过滤,可选值:- `MATERIAL_STATUS_OFFLINE_AUDIT`审核不通过
- `MATERIAL_STATUS_AUDIT`新建审核中
- `MATERIAL_STATUS_DISABLE`手动暂停
- `MATERIAL_STATUS_PROCEDURAL_DISABLE` 系统暂停
- `DOUYIN_ITEM_NOT_AVAILABLE_FOR_DELIVERY` 关联抖音视频不可投
- `GUIDE_VIDEO_NOT_EXIST`引导视频不存在 |
| 字段 |
类型 |
必填 |
描述 |
page |
number |
否 |
页码,默认值:1,当且仅当material_type=VIDEO 视频、IMAGE 图片、CAROUSEL 图文、TRIAL_PLAY_MATERIAL试玩素材时支持传入 |
page_size |
number |
否 |
页面大小,允许值:10, 20, 50, 100,默认值:10,仅material_type=VIDEO 视频时支持传入 |
python
# coding=utf-8
import json
import requests
from six import string_types
from six.moves.urllib.parse import urlencode, urlunparse # noqa
ACCESS_TOKEN = "xxx"
PATH = "/open_api/v3.0/uni_project/material/get/"
def build_url(path, query=""):
# type: (str, str) -> str
"""
Build request URL
:param path: Request path
:param query: Querystring
:return: Request URL
"""
scheme, netloc = "https", "api.oceanengine.com"
return urlunparse((scheme, netloc, path, "", query, ""))
def get(json_str):
# type: (str) -> dict
"""
Send GET request
:param json_str: Args in JSON format
:return: Response in JSON format
"""
args = json.loads(json_str)
query_string = urlencode({k: v if isinstance(v, string_types) else json.dumps(v) for k, v in args.items()})
url = build_url(PATH, query_string)
headers = {
"Access-Token": ACCESS_TOKEN,
}
rsp = requests.get(url, headers=headers)
return rsp.json()
if __name__ == '__main__':
advertiser_id = ADVERTISER_ID
project_id = PROJECT_ID
material_type = MATERIAL_TYPE
material_status_frist = MATERIAL_STATUS_FRIST
search_keyword = SEARCH_KEYWORD
page = PAGE
page_size = PAGE_SIZE
# Args in JSON format
my_args = "{\"advertiser_id\": \"%s\", \"project_id\": \"%s\", \"filtering\": {\"material_type\": \"%s\", \"material_status_frist\": \"%s\", \"search_keyword\": \"%s\"}, \"page\": \"%s\", \"page_size\": \"%s\"}" % (advertiser_id, project_id, material_type, material_status_frist, search_keyword, page, page_size)
print(get(my_args))
java
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import okhttp3.*;
import org.apache.http.client.utils.URIBuilder;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Demo {
private static final String ACCESS_TOKEN = "xxx";
private static final String PATH = "/open_api/v3.0/uni_project/material/get/";
private static final ObjectMapper mapper = new ObjectMapper();
/**
* Build request URL
*
* @param path Request path
* @return Request URL
*/
private static String buildUrl(String path) throws URISyntaxException {
URI uri = new URI("https", "api.oceanengine.com", path, "", "");
return uri.toString();
}
/**
* Send GET request
*
* @param jsonStr:Args in JSON format
* @return Response in JSON format
*/
private static String get(String jsonStr) throws IOException, URISyntaxException {
OkHttpClient client = new OkHttpClient().newBuilder().build();
URIBuilder ub = new URIBuilder(buildUrl(PATH));
Map< String, Object > map = mapper.readValue(jsonStr, Map.class);
map.forEach((k, v) -> {
try {
ub.addParameter(k, v instanceof String ? (String) v : mapper.writeValueAsString(v));
} catch (JsonProcessingException e) {
e.printStackTrace();
}
});
URL url = ub.build().toURL();
Request request = new Request.Builder()
.url(url)
.method("GET", null)
.addHeader("Access-Token", ACCESS_TOKEN)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
public static void main(String[] args) throws IOException, URISyntaxException {
Long advertiser_id = ADVERTISER_ID;
Long project_id = PROJECT_ID;
String material_type = MATERIAL_TYPE;
String material_status_frist = MATERIAL_STATUS_FRIST;
String search_keyword = SEARCH_KEYWORD;
Long page = PAGE;
Long page_size = PAGE_SIZE;
// Args in JSON format
String myArgs = String.format("{\"advertiser_id\": \"%s\", \"project_id\": \"%s\", \"filtering\": {\"material_type\": \"%s\", \"material_status_frist\": \"%s\", \"search_keyword\": \"%s\"}, \"page\": \"%s\", \"page_size\": \"%s\"}",advertiser_id, project_id, material_type, material_status_frist, search_keyword, page, page_size);
System.out.println(get(myArgs));
}
}
php
$ACCESS_TOKEN = "xxx";
$PATH = "/open_api/v3.0/uni_project/material/get/";
/**
* Build request URL
* @param $path : Request path
* @return string
*/
function build_url($path)
{
return "https://api.oceanengine.com" . $path;
}
/**
* Send GET request
* @param $json_str : Args in JSON format
* @return bool|string : Response in JSON format
*/
function get($json_str)
{
global $ACCESS_TOKEN, $PATH;
$curl = curl_init();
$args = json_decode($json_str, true);
/* Values of querystring is also in JSON format */
foreach ($args as $key => $value) {
$args[$key] = is_string($value) ? $value : json_encode($value);
}
$url = build_url($PATH) . "?" . http_build_query(
$args
);
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
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(
"Access-Token: " . $ACCESS_TOKEN,
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
$advertiser_id = ADVERTISER_ID;
$project_id = PROJECT_ID;
$material_type = MATERIAL_TYPE;
$material_status_frist = MATERIAL_STATUS_FRIST;
$search_keyword = SEARCH_KEYWORD;
$page = PAGE;
$page_size = PAGE_SIZE;
/* Args in JSON format */
$my_args = sprintf("{\"advertiser_id\": \"%s\", \"project_id\": \"%s\", \"filtering\": {\"material_type\": \"%s\", \"material_status_frist\": \"%s\", \"search_keyword\": \"%s\"}, \"page\": \"%s\", \"page_size\": \"%s\"}", $advertiser_id, $project_id, $material_type, $material_status_frist, $search_keyword, $page, $page_size);
echo get($my_args);
curl
curl --get -H "Access-Token:xxx" \
--data-urlencode "advertiser_id=ADVERTISER_ID" \
--data-urlencode "project_id=PROJECT_ID" \
--data-urlencode "filtering={\"material_type\": \"MATERIAL_TYPE\", \"material_status_frist\": \"MATERIAL_STATUS_FRIST\", \"search_keyword\": \"SEARCH_KEYWORD\"}" \
--data-urlencode "page=PAGE" \
--data-urlencode "page_size=PAGE_SIZE" \
https://api.oceanengine.com/open_api/v3.0/uni_project/material/get/
应答字段
data(json,否) — json返回值
video_material_list(object[],否) — 视频素材信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `video_id` | string | 否 | 视频id |
| `video_cover_uri` | string | 否 | 视频封面图片ID |
| `material_id` | number | 否 | 素材id |
| `material_opt_status` | string | 否 | 视频素材操作状态,枚举值:- `DISABLE` 暂停
- `ENABLE` 启用 |
| `material_status_frist` | string | 否 | 可选值:
- `STATUS_DELETE` 已删除
- `STATUS_DISABLE` 未投放
- `STATUS_FROZEN` 已终止
- `STATUS_OK` 投放中
- `STATUS_TIME_DONE` 已完成 |
| `material_status_second` | string[] | 否 | 可选值:
- `MATERIAL_STATUS_AUDIT` 未投放-新建审核中
- `MATERIAL_STATUS_AWEME_ACCOUNT_OFFLINE` 抖音账号不可投放
- `MATERIAL_STATUS_DELETE` 已删除-素材已删除
- `MATERIAL_STATUS_DISABLE` 已暂停
- `MATERIAL_STATUS_NO_SCHEDULE` 不在投放时段
- `MATERIAL_STATUS_OFFLINE_AUDIT` 未投放-审核不通过
- `MATERIAL_STATUS_OFFLINE_BALANCE` 账户余额不足
- `MATERIAL_STATUS_OFFLINE_BUDGET` 账户超出预算
- `MATERIAL_STATUS_PRODUCT_OFFLINE` 商品不可投放
- `MATERIAL_STATUS_PROJECT_DISABLE` 项目已暂停
- `MATERIAL_STATUS_PROJECT_OFFLINE_BUDGET` 项目超出预算
- `MATERIAL_STATUS_TIME_NO_REACH` 未达投放时间
- `PROJECT_STATUS_DELETE` 已删除-项目已删除
- `PROJECT_STATUS_FROZEN` 已终止-项目已终止
- `PROJECT_STATUS_REAUDIT` 未投放-修改审核中 |
| `image_mode` | string | 否 | 可选值:
- `CREATIVE_IMAGE_MODE_CALIBRATION_FREE_VIDEO` 穿山甲免校验
- `CREATIVE_IMAGE_MODE_UNION_SPLASH_VIDEO` 互动创意
- `CREATIVE_IMAGE_MODE_VIDEO` 视频
- `CREATIVE_IMAGE_MODE_VIDEO_VERTICAL` 抖音&火山竖版视频素材 |
| `item_id` | number | 否 | 抖音主页视频id |
image_material_list(object[],否) — 图片素材信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `image_mode` | string | 否 | 素材类型,可选值:
- `CREATIVE_IMAGE_MODE_LARGE`
- `CREATIVE_IMAGE_MODE_LARGE_VERTICAL` 大图竖版图
- `CREATIVE_IMAGE_MODE_SMALL`
- `SEARCH_AD_SMALL_IMAGE` 搜索小图
- `TOUTIAO_SEARCH_AD_IMAGE` 搜索大图 |
| `image_ids` | string[] | 否 | 图片id |
| `material_id` | number | 否 | 素材id |
| `material_status_frist` | string | 否 | 素材一级状态,可选值:
- `STATUS_DELETE` 已删除
- `STATUS_DISABLE` 未投放
- `STATUS_FROZEN` 已终止
- `STATUS_OK` 投放中
- `STATUS_TIME_DONE` 已完成 |
| `material_status_second` | string[] | 否 | 素材二级状态,可选值:- PROJECT_STATUS_DELETE 项目已删除
- MATERIAL_STATUS_DELETE 素材已删除
- PROJECT_STATUS_FROZEN 项目已终止
- MATERIAL_STATUS_FROZEN 素材已终止
- MATERIAL_STATUS_OFFLINE_AUDIT 审核不通过
- MATERIAL_STATUS_AUDIT 新建审核中
- MATERIAL_STATUS_DISABLE 手动暂停
- MATERIAL_STATUS_PROCEDURAL_DISABLE 系统暂停
- DOUYIN_ITEM_NOT_AVAILABLE_FOR_DELIVERY 关联抖音视频不可投
- GUIDE_VIDEO_NOT_EXIST 引导视频不存在
- MATERIAL_STATUS_PROJECT_DISABLE 项目已暂停
- LACK_BASIC_MATERIAL_STATUS项目素材待补充
- PROJECT_STATUS_AUDIT 项目新建审核中
- PROJECT_STATUS_REAUDIT 项目修改审核中
- PROJECT_AUDIT_REJECTED 项目审核不通过
- MATERIAL_STATUS_OFFLINE_BALANCE 账户余额不足
- MATERIAL_STATUS_OFFLINE_BUDGET 账户超出预算
- SHARED_WALLET_EXCEEDS_BUDGET 共享钱包超出预算
- MATERIAL_STATUS_PROJECT_OFFLINE_BUDGET 项目超出预算
- MATERIAL_STATUS_TIME_NO_REACH 项目未达投放时间
- PROJECT_REACHED_DELIVERY_DURATION 项目已达投放时长
- MATERIAL_STATUS_NO_SCHEDULE 项目不在投放时段
- LIVE_ROOM_NOT_AVAILABLE_FOR_DELIVERY 关联直播间不可投
- MATERIAL_STATUS_PRODUCT_OFFLINE 商品不可投放
- APP_NOT_AVAILABLE_FOR_DELIVERY 应用不可投
- ACCOUNT_AVATAR_NOT_AVAILABLE_FOR_DELIVERY 账户头像不可投
- MATERIAL_STATUS_AWEME_ACCOUNT_OFFLINE 抖音账号不可投放 |
carousel_material_list(object[],否) — 图文素材信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `carousel_id` | number | 否 | 图文id |
| `item_id` | number | 否 | 抖音主页图文id |
| `video_hp_visibility` | string | 否 | 可选值:
- `ALWAYS_VISIBLE` 主页始终可见
- `HIDE_VIDEO_ON_HP` 主页隐藏 默认值: `HIDE_VIDEO_ON_HP` |
| `material_status_frist` | string | 否 | 可选值:
- `STATUS_DELETE` 已删除
- `STATUS_DISABLE` 未投放
- `STATUS_FROZEN` 已终止
- `STATUS_OK` 投放中
- `STATUS_TIME_DONE` 已完成 |
| `material_status_second` | string[] | 否 | 可选值:
- `ACCOUNT_AVATAR_NOT_AVAILABLE_FOR_DELIVERY` 账户头像不可投放
- `ACCOUNT_EXCEEDS_BUDGET` 账户超出预算
- `ALL_KEYWORDS_DELETED` 关键词均删除
- `ALL_MATERIALS_DELETED` 素材均删除
- `APP_NOT_AVAILABLE_FOR_DELIVERY` 应用不可投放
- `AUDIT_REJECTED` 审核不通过
- `DOUYIN_ACCOUNT_NOT_AVAILABLE_FOR_DELIVERY` 抖音账户不可投放
- `GOODS_NOT_AVAILABLE_FOR_DELIVERY` 商品不可投放
- `LIVE_ROOM_NOT_AVAILABLE_FOR_DELIVERY` 直播间不可投放
- `LIVE_ROOM_NOT_STARTED` 直播间未开播
- `MANUAL_PAUSE` 手动暂停
- `MODIFY_AUDITING` 修改审核中
- `NEW_CREATED_AUDITING` 新建审核中
- `PAUSED` 已暂停
- `PROJECT_AUDIENCE_SETTING_CONFLICT` 与项目定向设置冲突
- `PROJECT_AUDIT_REJECTED` 项目审核不通过
- `PROJECT_BALANCE_INSUFFICIENT` 项目余额不足
- `PROJECT_COMPLETED` 项目已完成
- `PROJECT_DELETED` 项目已删除
- `PROJECT_EXCEEDS_BUDGET` 项目超出预算
- `PROJECT_MODIFY_AUDITING` 项目修改审核中
- `PROJECT_NEW_CREATED_AUDITING` 项目新建审核中
- `PROJECT_NOT_IN_DELIVERY_PERIOD` 项目不在投放时段
- `PROJECT_NOT_REACH_DELIVERY_TIME` 项目未达投放时间
- `PROJECT_PAUSED` 项目已暂停
- `PROJECT_REACHED_DELIVERY_DURATION` 项目已达投放时长
- `PROJECT_TERMINATED` 项目已终止
- `REACHED_REGULATION_BUDGET_UPPER_LIMIT` 到达调控预算上限
- `SHARED_WALLET_EXCEEDS_BUDGET` 共享钱包超出预算
- `TASK_BID_EXCEEDS_PROJECT_BUDGET` 不满足出价或预算规则
- `TASK_DELETED` 任务已删除
- `TASK_REACHED_REGULATION_DURATION` 任务已达调控时长
- `TASK_TERMINATED` 任务已终止 |
trial_play_material_list(object[],否) — 试玩素材信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `app_play_uri` | string | 否 | 试玩素材uri |
| `guide_video_id` | string | 否 | 引导视频ID |
| `image_mode` | string | 否 | 可选值:
- `CREATIVE_IMAGE_MODE_TRIAL_PLAY_LARGE` 试玩横屏
- `CREATIVE_IMAGE_MODE_TRIAL_PLAY_VERTICAL` 试玩竖屏 |
| `app_play_version` | string | 否 | 试玩素材版本号 |
| `file_name` | string | 否 | 素材名称 |
| `material_id` | number | 否 | 素材id |
| `material_status_frist` | string | 否 | 可选值:
- `STATUS_DELETE` 已删除
- `STATUS_DISABLE` 未投放
- `STATUS_FROZEN` 已终止
- `STATUS_OK` 投放中
- `STATUS_TIME_DONE` 已完成 |
| `material_status_second` | string[] | 否 | 可选值:
- `ACCOUNT_AVATAR_NOT_AVAILABLE_FOR_DELIVERY` 账户头像不可投放
- `APP_NOT_AVAILABLE_FOR_DELIVERY` 应用不可投放
- `DOUYIN_ITEM_NOT_AVAILABLE_FOR_DELIVERY` 抖音素材不可投放
- `GUIDE_VIDEO_NOT_EXIST` 引导视频不存在
- `LACK_BASIC_MATERIAL_STATUS` 项目素材待补充
- `LIVE_ROOM_NOT_AVAILABLE_FOR_DELIVERY` 直播间不可投放
- `MATERIAL_STATUS_AUDIT` 新建审核中
- `MATERIAL_STATUS_AWEME_ACCOUNT_OFFLINE` 抖音账号不可投放
- `MATERIAL_STATUS_DELETE` 素材已删除
- `MATERIAL_STATUS_DISABLE` 手动暂停
- `MATERIAL_STATUS_FROZEN` 素材已终止
- `MATERIAL_STATUS_NO_SCHEDULE` 项目不在投放时段
- `MATERIAL_STATUS_OFFLINE_AUDIT` 审核不通过
- `MATERIAL_STATUS_OFFLINE_BALANCE` 账户余额不足
- `MATERIAL_STATUS_OFFLINE_BUDGET` 账户超出预算
- `MATERIAL_STATUS_PROCEDURAL_DISABLE` 系统暂停
- `MATERIAL_STATUS_PRODUCT_OFFLINE` 商品不可投放
- `MATERIAL_STATUS_PROJECT_DISABLE` 项目已暂停
- `MATERIAL_STATUS_PROJECT_OFFLINE_BUDGET` 项目超出预算
- `MATERIAL_STATUS_TIME_NO_REACH` 项目未达投放时间
- `PROJECT_AUDIT_REJECTED` 项目审核不通过
- `PROJECT_REACHED_DELIVERY_DURATION` 项目已达投放时长
- `PROJECT_STATUS_AUDIT` 项目新建审核中
- `PROJECT_STATUS_DELETE` 项目已删除
- `PROJECT_STATUS_FROZEN` 项目已终止
- `PROJECT_STATUS_REAUDIT` 项目修改审核中
- `SHARED_WALLET_EXCEEDS_BUDGET` 共享钱包超出预算 |
title_material_list(object[],否) — 标题素材信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `title` | string | 否 | 创意标题 |
| `material_id` | number | 否 | 创意id |
product_info(object,否) — 产品信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `titles` | string[] | 否 | 产品名称 |
| `image_ids` | string[] | 否 | 产品主图 |
| `selling_points` | string[] | 否 | 产品卖点 |
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `call_to_action_buttons` | string[] | 否 | 行动号召 |
playlet_series_url_info(object[],否) — 短剧专辑链接信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `playlet_series_url_type` | string | 否 | 短剧专辑类型,可选值:
- `IAA`
- `IAP` |
| `playlet_series_url` | string | 否 | 短剧专辑链接 |
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `external_url_material_list` | string[] | 否 | 普通落地页链接素材 |
| `web_url_material_list` | string[] | 否 | 应用下载详情页 |
component_material_list(object[],否) — 创意组件信息。数量上限为2
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `component_id` | number | 否 | 组件id |
anchor_material_list(object[],否) — 原生锚点素材
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `anchor_id` | string | 否 | 原生锚点id |
| `anchor_type` | string | 否 | 可选值:
- `APP_GAME` 应用下载-游戏锚点
- `APP_INTERNET_SERVICE` 应用下载-网服锚点
- `APP_SHOP` 应用下载-电商锚点
- `INSURANCE` 保险锚点
- `ONLINE_SUBSCRIBE` 通用锚点
- `PRIVATE_CHAT` 私信锚点
- `SHOPPING_CART` 购物车锚点 |
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `anchor_related_type` | string | 否 | 可选值:
- `AUTO` 自动生成
- `OFF` 不启用
- `SELECT` 手动选择 |
| `open_url` | string | 否 | 直达链接 |
| `ulink_url_type` | string | 否 | 直达链接备用链接类型,可选值:
- `UNIVERSAL_LINK`
- `APPLINK` |
| `ulink_url` | string | 否 | 直达链接备用链接 |
instant_play_material_list(object[],否) — 直玩素材信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `app_play_uri` | string | 否 | 直玩素材uri |
| `image_mode` | string | 否 | 直玩素材类型,可选值:
- `CREATIVE_IMAGE_MODE_INSTANT_PLAY` 直玩 |
| `cover_uri` | string | 否 | 封面图 |
| `file_name` | string | 否 | 封面名称 |
| `material_id` | number | 否 | 素材id |
| `material_status_frist` | string | 否 | 可选值:
- `STATUS_DELETE` 已删除
- `STATUS_DISABLE` 未投放
- `STATUS_FROZEN` 已终止
- `STATUS_OK` 投放中
- `STATUS_TIME_DONE` 已完成 |
| `material_status_second` | string[] | 否 | 可选值:
- `ACCOUNT_AVATAR_NOT_AVAILABLE_FOR_DELIVERY` 账户头像不可投放
- `APP_NOT_AVAILABLE_FOR_DELIVERY` 应用不可投放
- `DOUYIN_ITEM_NOT_AVAILABLE_FOR_DELIVERY` 抖音素材不可投放
- `GUIDE_VIDEO_NOT_EXIST` 引导视频不存在
- `LACK_BASIC_MATERIAL_STATUS` 项目素材待补充
- `LIVE_ROOM_NOT_AVAILABLE_FOR_DELIVERY` 直播间不可投放
- `MATERIAL_STATUS_AUDIT` 新建审核中
- `MATERIAL_STATUS_AWEME_ACCOUNT_OFFLINE` 抖音账号不可投放
- `MATERIAL_STATUS_DELETE` 素材已删除
- `MATERIAL_STATUS_DISABLE` 手动暂停
- `MATERIAL_STATUS_FROZEN` 素材已终止
- `MATERIAL_STATUS_NO_SCHEDULE` 项目不在投放时段
- `MATERIAL_STATUS_OFFLINE_AUDIT` 审核不通过
- `MATERIAL_STATUS_OFFLINE_BALANCE` 账户余额不足
- `MATERIAL_STATUS_OFFLINE_BUDGET` 账户超出预算
- `MATERIAL_STATUS_PROCEDURAL_DISABLE` 系统暂停
- `MATERIAL_STATUS_PRODUCT_OFFLINE` 商品不可投放
- `MATERIAL_STATUS_PROJECT_DISABLE` 项目已暂停
- `MATERIAL_STATUS_PROJECT_OFFLINE_BUDGET` 项目超出预算
- `MATERIAL_STATUS_TIME_NO_REACH` 项目未达投放时间
- `PROJECT_AUDIT_REJECTED` 项目审核不通过
- `PROJECT_REACHED_DELIVERY_DURATION` 项目已达投放时长
- `PROJECT_STATUS_AUDIT` 项目新建审核中
- `PROJECT_STATUS_DELETE` 项目已删除
- `PROJECT_STATUS_FROZEN` 项目已终止
- `PROJECT_STATUS_REAUDIT` 项目修改审核中
- `SHARED_WALLET_EXCEEDS_BUDGET` 共享钱包超出预算 |
mini_program_info(object,否) — 字节小程序&小游戏信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `url` | string | 否 | 字节小程序&小游戏调起链接 |
| `app_id` | string | 否 | 小程序/小游戏原始id |
| `start_path` | string | 否 | 启动路径 |
| `params` | string | 否 | 页面检测参数 |
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `playlet_series_url_list` | string[] | 否 | 短剧合集链接url |
| `open_urls` | string[] | 否 | 多直达链接 |
page_info(object,否) — 分页信息
| 字段 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `page` | number | 否 | 页码 |
| `page_size` | number | 否 | 页面大小 |
| `total_number` | number | 否 | 总数 |
| `total_page` | number | 否 | 总页数 |
| 字段 |
类型 |
必填 |
描述 |
request_id |
string |
否 |
请求日志id |
应答示例
HTTPS/1.1 200 OK
{
"message": "OK",
"code": 0,
"data": {}
}
业务错误码
仅披露当前接口高频的参数校验报错,更多常见报错详见「返回码」文档