← 返回
未分类 Key

B站三连广告-广告管理

Bilibili Sanlian Ads MAPI ad save and query service. Use for campaign, unit, and creative creation/update/query, strict hierarchy orchestration, copy workflows, unsupported batch-change fallback, and BVID-assisted creative creation.
Bilibili Sanlian Ads MAPI ad save and query service. Use for campaign, unit, and creative creation/update/query, strict hierarchy orchestration, copy workflows, unsupported batch-change fallback, and BVID-assisted creative creation.
本杰明
未分类 community v2.0.0 1 版本 96875 Key: 需要
★ 0
Stars
📥 31
下载
💾 0
安装
1
版本
#latest

概述

Bilibili Sanlian Ads MAPI Ad Management

Use this skill for the three core ad object levels: campaign, unit, and creative. It handles save/create/update, detail query, list query, creation orchestration, copy workflows, and safe fallback when batch operations do not support a requested change.

Use bilibili-sanlian-ads-metadata for selectable values and deliverable resources. Use bilibili-sanlian-ads-materials for image/video/archive material preparation. Use bilibili-sanlian-ads-batch-operations for supported batch updates and deletions.

Usage Rules

  • Confirm a valid access_token and advertiser account_id first. Use bilibili-sanlian-ads when either is missing.
  • Open the matching reference before composing any request. Required fields, conditional requirements, object structures, enum values, and examples live in references/.
  • Business APIs use https://cm.bilibili.com/takumi/api as the root path and usually require Authorization: Bearer {access_token}.
  • Every MAPI request must include X-Call-Source: sanlian-skills, even when a reference example omits it.
  • Pass fields in the exact location specified by the reference: query, JSON body, multipart form data, or form data.
  • Campaign support_auto is fixed to 1. Do not send it when creating a campaign; regardless of request value, the effective value is 1.

Hierarchy Model

  • Campaign, unit, and creative form a strict tree: campaign -> unit -> creative.
  • A unit must belong to one existing campaign. A creative must belong to one existing unit.
  • IDs at every level are globally unique, but uniqueness does not remove the hierarchy requirement.
  • When a user asks to create a unit, first confirm which campaign it belongs to. If the user has not clearly provided an existing campaign or requested a new campaign, ask whether to create a new campaign or use an existing campaign.
  • When a user asks to create a creative, first confirm which unit it belongs to. If the user has not clearly provided an existing unit or requested a new unit, ask whether to create a new unit or use an existing unit.
  • If the user asks to create a full campaign/unit/creative tree, create it in order and carry forward returned IDs from each save response.

Write Ordering

  • Do not call save APIs concurrently. Save calls must be serialized even if parallel execution looks faster.
  • Wait for each save response before starting the next dependent save. Use returned campaign_id, unit_id, and creative_id_list from the prior response.
  • Serial execution is slower, but it is more stable for these APIs and prevents one failed dependent call from obscuring the real failing step.
  • If a save step fails, stop the creation chain, report the failed level, request payload summary, API error code/message, and already-created upstream objects.

When To Use

User goalReferences
------
Save or update a campaignreferences/505_计划保存.md
Query campaign detail or campaign listreferences/506_计划查询.md, references/810_计划列表.md
Save or update a unitreferences/509_单元保存.md
Query unit detail or unit listreferences/510_单元查询.md, references/811_单元列表.md
Save or update a creativereferences/524_创意保存.md
Query creative detail or listreferences/525_创意查询.md, references/812_创意列表.md
Create a creative from a BVID or Bilibili video URLreferences/bilibili_公开稿件信息查询.md, plus bilibili-sanlian-ads-materials image URL import

Endpoint Map

ObjectOperationMethod and pathNotes
------------
CampaignSave/create/updatePOST /open_api/cpc/v3/campaign/saveNew campaign omits campaign_id; update requires it. Do not send support_auto on create.
CampaignGet detailGET /open_api/cpc/v3/campaign/getQuery one campaign by campaign_id.
CampaignListGET /open_api/cpc/v3/campaign/list_campaignsOnly returns new Sanlian adp_version=6; ID filter max 100; size range 1-100.
UnitSave/create/updatePOST /open_api/cpc/v3/unit/saveNew unit omits unit_id; update requires it.
UnitGet detailGET /open_api/cpc/v3/unit/getQuery one unit by unit_id; result contains unit_bo and unit_info_bo.
UnitListGET /open_api/cpc/v3/unit/list_unitsOnly returns new Sanlian adp_version=6; ID filter max 100; size range 1-100.
CreativeSave/create/updatePOST /open_api/cpc/v3/creative/saveFull replacement save at unit level. Always send all non-deleted creatives that should remain under the unit.
CreativeGet by unitGET /open_api/cpc/v3/creative/getQuery all creative details under one unit.
CreativeListGET /open_api/cpc/v3/creative/list_creativesPreferred batch creative query API. Only returns new Sanlian adp_version=6; ID filter max 100; size range 1-100.

Creation Policy

  • If the user specifies the ad type or creation target clearly, use the provided values directly and attempt creation.
  • Do not pre-block creation by exhaustively checking metadata when the user already gave clear parameters. If save fails, then query the relevant metadata APIs and tell the user what is currently available.
  • For campaigns, use metadata only when the promotion purpose or other selectable values are missing, ambiguous, or needed after a save error.
  • For units, use metadata only when promotion content, optimization targets, targeting, bid range, app/game/goods/live resources, or other selectable values are missing, ambiguous, or needed after a save error.
  • For creatives, if the user directly provides a target archive, video, image, material, title, or description, use it directly. If creative save fails because the resource is unavailable or invalid, report that result and ask the user how to proceed.

Delete And Cleanup

  • If the creation process creates the wrong campaign, unit, or creative, or if the user's task requires deleting created content, use bilibili-sanlian-ads-batch-operations.
  • Deletion is sensitive. Never delete without explicit user confirmation.
  • Before deleting, clearly list the exact objects to delete: level, name if known, ID, account ID, and why deletion is proposed.
  • After user confirmation, submit the batch delete operation, poll the batch task result, then re-query affected objects or task details and report the final result.

Batch Change Fallback

  • First check whether bilibili-sanlian-ads-batch-operations supports the requested batch change.
  • If the batch API supports it, use the batch API after a dry-run summary and explicit user confirmation.
  • If the user asks to batch modify a field that batch APIs do not support, modify objects one by one through save APIs.
  • For save-based fallback, always query the current object detail first, replace only the user-requested content, then reassemble the save request from the queried detail.
  • Because save APIs can behave like full saves and field structures are large, there is risk of dropping fields during reassembly. Be deliberately conservative.
  • After saving the first ad object in a fallback run, stop and ask the user to confirm that the logic and resulting object are correct before continuing.
  • After every account, or every 10 modified ads, stop again and ask the user to inspect before continuing.
  • After each save, re-query the object and verify that only the requested content changed. If any unrelated field changed, notify the user immediately.
  • If any API call errors or returns unexpected data, stop and ask the user to inspect or confirm next steps.
  • At completion, re-query all affected objects and produce an execution report covering target IDs, requested change, executed method, success/failure, API errors, verification result, and any unrelated field drift.

Copy Workflows

  • Copying an ad means: query the source object details -> extract fields needed for creation -> create a new object.
  • If the user asks to copy a campaign, clarify whether to also copy units and creatives unless the request already says so.
  • If the user asks to copy a unit, ask whether to copy it into an existing campaign or create/copy a campaign for it. Also ask whether to copy its creatives.
  • If the user asks to copy a creative, confirm the destination unit unless it is already provided.
  • Even when copied content is identical, creation can fail because accounts, campaigns, units, allowlists, materials, resources, or permissions differ.
  • If copy creation fails, report the API error clearly and ask the user what to do next. Do not silently substitute other assets or settings.

BVID Creative Flow

  • If the user provides only a BVID or Bilibili video URL like https://www.bilibili.com/video/{bvid} for creative creation, ask whether to reuse the video's cover, title, and UP name.
  • If the user does not want to reuse them, ask for the specific cover, title, description, and other required creative inputs.
  • If the user agrees to reuse them, call the public Bilibili video API in references/bilibili_公开稿件信息查询.md.
  • Use data.pic as the cover URL, then use bilibili-sanlian-ads-materials image URL import to obtain a material ID.
  • Use data.owner.name as the creative description and data.title as the creative title only after checking length, emoji, and unsupported characters.
  • Use data.aid as the archive ID for the creative. Preserve it as a string if the runtime may lose integer precision.
  • If title or UP name is too long or contains unsupported characters, ask the user whether to discard, shorten, replace, or provide custom text. Do not silently rewrite.

Query And Sync Guidance

  • Detail APIs (campaign/get, unit/get, creative/get) are best when an exact ID is known and the goal is edit-before-save, copy, or verification.
  • List APIs are best for sync. For full data, sync by day. For incremental data, filter by same-day mtime, but remember some returned fields may not update mtime.
  • start_ctime/end_ctime and start_mtime/end_mtime list filters use millisecond timestamps; each start/end span must not exceed 24 hours.
  • List ID filters are comma-separated strings. campaign_ids, unit_ids, and creative_ids allow at most 100 IDs in list APIs.
  • Query APIs can return long integer IDs. Preserve IDs as strings if the runtime may lose integer precision.

Source Document Index

DomainSource documentLocal referenceEndpoint summary
------------
Campaign计划管理/md/505_计划保存.mdreferences/505_计划保存.mdSave campaign: POST /open_api/cpc/v3/campaign/save
Campaign计划管理/md/506_计划查询.mdreferences/506_计划查询.mdGet campaign details: GET /open_api/cpc/v3/campaign/get
Campaign计划管理/md/810_计划列表.mdreferences/810_计划列表.mdList campaigns: GET /open_api/cpc/v3/campaign/list_campaigns
Unit单元管理/md/509_单元保存.mdreferences/509_单元保存.mdSave unit: POST /open_api/cpc/v3/unit/save
Unit单元管理/md/510_单元查询.mdreferences/510_单元查询.mdGet unit details: GET /open_api/cpc/v3/unit/get
Unit单元管理/md/811_单元列表.mdreferences/811_单元列表.mdList units: GET /open_api/cpc/v3/unit/list_units
Creative创意管理/md/524_创意保存.mdreferences/524_创意保存.mdSave creative: POST /open_api/cpc/v3/creative/save
Creative创意管理/md/525_创意查询.mdreferences/525_创意查询.mdGet creative details
Creative创意管理/md/812_创意列表.mdreferences/812_创意列表.mdList creatives
Public helperBilibili public video APIreferences/bilibili_公开稿件信息查询.mdQuery BVID video info: GET https://api.bilibili.com/x/web-interface/view

版本历史

共 1 个版本

  • v2.0.0 Initial release 当前
    2026-06-01 22:05 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

B站三连广告-账户资金相关

user_b0010d5c
Bilibili Sanlian Ads MAPI account finance service. Use for advertiser account budget, daily budget, next-day budget, cas
★ 0 📥 37

B站三连广告-报表

user_b0010d5c
Bilibili Sanlian Ads MAPI reporting service. Use for custom reports, delivery metrics, spend, impressions, clicks, conve
★ 0 📥 37

B站三连广告-素材上传

user_b0010d5c
Bilibili Sanlian Ads MAPI material management service. Use for image upload/import/list/delete, video signed URL upload,
★ 0 📥 38