摘要
OTTO Market 的 Sponsored Product Ads:广告活动、推广的 SKU (目标)、关键词和出价,以及面向 otto.de 广告主的 SPA 报告 (按广告活动和商品的 KPI、CSV 报告)。使用带广告 scope 的 OAuth 2.0 客户端凭证。
引导式设置
2 分钟将 OTTO Sponsored Product Ads 连接到 Microsoft Copilot
开始 AnythingMCP Cloud 免费试用,在引导式设置中连接 OTTO Sponsored Product Ads,再把你的 MCP URL 添加到 Microsoft Copilot。无需代码,也无需自行运行服务器。
无需信用卡 · 7 天试用 · 提供自托管方案
试试这样问
OTTO Sponsored Product Ads 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → OTTO Sponsored Product Ads、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
OTTO Sponsored Product Ads + Microsoft Copilot
OTTO Market 的 Sponsored Product Ads:广告活动、推广的 SKU (目标)、关键词和出价,以及面向 otto.de 广告主的 SPA 报告 (按广告活动和商品的 KPI、CSV 报告)。使用带广告 scope 的 OAuth 2.0 客户端凭证。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
OTTO_ADS_CLIENT_ID, OTTO_ADS_CLIENT_SECRET
步骤 1 — 获取凭证
设置大约需要 5 分钟。你需要一个已投放 Sponsored Product Ads 的 OTTO Market 合作伙伴账号,以及 OTTO Partner Connect 中的一个应用。不需要用户登录:连接器使用客户端凭证。
- 在 OTTO Partner Connect 中为你自己的账号创建一个应用 (或打开你已经用于 Partner API 的应用),并启用 Sponsored Product Ads 接口。
- 复制该应用的 client id 和 client secret。secret 只在创建时显示一次;如果已经找不到,请在 OTTO Partner Connect 中轮换。
- 把 client id 粘贴到
OTTO_ADS_CLIENT_ID,secret 粘贴到OTTO_ADS_CLIENT_SECRET。AnythingMCP 会以advertising-servicesscope 执行 OTTO 的客户端凭证流程;令牌有效期 30 分钟,过期后会自动重新获取。 - 安装连接器并运行
otto_ads_list_campaigns:它会列出你的广告活动及其状态、类型和预算。
与 OTTO Market 连接器分开:Sponsored Product Ads 有自己的 OAuth scope。订单、商品、库存和退货仍在 OTTO Market 连接器中处理;把广告分开后,没有广告接口的应用在那里也能继续使用。
可读取的内容:广告活动的状态、类型 (AUTOMATIC 或 MANUAL)、预算、预算类型、投放节奏和起止日期;推广的 SKU (目标) 及其出价;每个目标的关键词及其匹配类型、正向或否定和出价;按广告活动和按 SKU 的 KPI (浏览量、点击量、花费、归因销售额、下单 SKU 数、点击率、单次点击费用和广告支出回报率);以及按广告活动、按关键词 (包含买家实际输入的搜索词) 和按商品的 CSV 报告。
金额以欧分为单位:预算、出价和花费以 {"amount": 160, "currency": "EUR"} 的形式返回,即 1.60 欧元。出价和预算的最低金额为 20 (0.20 欧元)。报告中的 TOTAL_COSTS 和 TOTAL_SALES 列也是欧分。
出价在两个地方:AUTOMATIC 广告活动按目标 (SKU) 出价,MANUAL 广告活动按正向关键词出价。否定关键词 (不出价) 两种都适用,并且属于某一个目标:要在整个广告活动中排除某个搜索词,AI 会把它加到每个目标上。
报告:KPI 最多覆盖最近 90 天,且从不包含当天;不指定日期时,OTTO 使用最近 7 天。OTTO 会把点击后 14 天内的销售额归因到广告,包括同一品牌的其他商品,所以最近几天的数据还会变化。生成 CSV 报告时,AI 先提交请求,用 otto_ads_get_report_status 查询直到状态为 READY,再用 otto_ads_download_report 下载。文件保留 24 小时。请求报告不会改变任何广告活动。
每次修改前都会询问:otto_ads_create_campaign、otto_ads_update_campaign、otto_ads_add_targets、otto_ads_update_target_bids、otto_ads_add_keywords 和 otto_ads_update_keywords 会改变正在投放的广告并产生花费。AI 会向你展示广告活动、目标或关键词以及欧元金额,和你确认金额,等你同意后才执行。写入是异步的:OTTO 返回一个变更请求,AI 用 otto_ads_get_change_request 跟踪,直到状态为 ACCEPTED 或 REJECTED (附原因)。
安装时关闭:otto_ads_delete_keywords。它会删除某个目标下的 1 到 50 个关键词,且无法撤销;很多时候降低出价是更好的选择。管理员可以有意开启它。
限制:OTTO 在 24 小时内最多允许 200 份报告,所有报告类型合计,即使报告不改变任何内容也会计入。每个广告活动同一时间只能有一个待处理的变更请求。列表按页返回,每页最多 1000 条,AI 用 nextCursor 翻页。查询变更请求时,AI 每次都会多等一会儿 (1 秒、2 秒、4 秒),以避免 429。
常见错误:如果令牌被拒绝,说明 client id 或 secret 有误,或者应用没有启用 Sponsored Product Ads 接口:请在 OTTO Partner Connect 中检查该应用。409 表示同一广告活动还有另一个变更在等待处理。类似 "Invalid status transition PAUSED to PAUSED" 的拒绝表示广告活动已经是该状态。KPI 返回 404 "Data not found" 表示该广告活动在此期间没有展示;下载时 404 表示报告尚未就绪,410 表示已过期。
该连接器不会读取订单、商品、库存或退货 (这些由 OTTO Market 连接器负责),不会显示当天或 90 天以前的数据,也不会删除广告活动或目标。
步骤 2 — 安装 adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
步骤 3 — 在 Microsoft Copilot 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
Microsoft Copilot 通过在 Copilot Studio 中构建的智能体使用 MCP 服务器:把 AnythingMCP 作为工具添加到智能体,然后把智能体发布到 Microsoft 365 Copilot 和 Teams。Copilot Studio 从 Microsoft 的云端通过 Streamable HTTP 连接,AnythingMCP 支持这种方式。
- 在 Copilot Studio 中打开你的智能体(或新建一个),进入 Tools,选择 Add a tool → New tool → Model Context Protocol。
- 填写 Server name(例如
AnythingMCP)、说明连接器用途的 Server description,以及 Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID。Copilot Studio 根据描述决定何时调用该服务器。 - 身份验证选择 API key,把 Type 设为 Header,请求头名称填
X-API-Key,然后选择 Create。 - 在 Add tool 中选择 Create a new connection,粘贴 AnythingMCP 的 MCP API 密钥(MCP Servers → 你的服务器 → API keys),然后选择 Add to agent。
- 在智能体的 Test 窗格中试一试:提出需要用到
OTTO Sponsored Product Ads的工具的请求。 - 选择 Publish,然后进入 Channels → Microsoft 365 and Microsoft Teams,保持勾选 Make agent available in Microsoft Copilot,再选择 Add channel。See agent in Teams 会为你安装该智能体;在 Microsoft 365 Copilot 中输入 @ 并选择该智能体。
希望每个用户各自登录?请选择 OAuth 2.0 → Dynamic discovery 代替 API 密钥:每个用户会在智能体首次调用时登录 AnythingMCP。
自托管?请用你实例的公网 HTTPS 地址替换 https://cloud.anythingmcp.com。Copilot Studio 从 Microsoft 的云端连接,因此 localhost 无法使用。
可用工具
| Tool | What it does |
|---|---|
otto_ads_list_campaigns | List Sponsored Product Ads campaigns: campaignId, name, status (PENDING, WAITING, ACTIVE, PAUSED, ENDED, CANCELED), campaignType (AUTOMATIC… |
otto_ads_get_campaign | Read one campaign: status, type, budget (euro cents), budgetType, pacing and dates |
otto_ads_list_targets | List the targets (advertised SKUs) of a campaign with targetId, sku and bid |
otto_ads_get_target | Read one target (advertised SKU) of a campaign with its bid |
otto_ads_list_keywords | List the keywords of one target: keywordId, keyword, matchType (EXACT, PHRASE, BROAD), keywordType (POSITIVE or NEGATIVE) and bid (euro… |
otto_ads_get_change_request | Status of an asynchronous write: PENDING, ACCEPTED or REJECTED |
otto_ads_get_campaign_kpis | KPIs of one campaign for a date range: views, clicks, costs, attributed sales, ordered SKUs, click-through rate, cost per click and return… |
otto_ads_get_product_kpis | KPIs of one SKU inside one campaign for a date range, the same metrics as the campaign KPIs plus totalSalesSeller (attributed sales of… |
otto_ads_request_campaign_report | Start a CSV campaign report across campaigns and days |
otto_ads_request_keyword_report | Start a CSV keyword report: performance per keyword and per actual search term, the basis for new negative keywords and bid changes |
otto_ads_request_product_report | Start a CSV product report: performance per advertised SKU |
otto_ads_get_report_status | Status of a requested report: IN_PROGRESS, READY or FAILED (request a new one after FAILED). report_type must match the tool that requested… |
otto_ads_download_report | Download a READY report as CSV text. 404 means it is not ready yet, 410 that it expired (files are kept 24 hours) |
otto_ads_create_campaign | Create a campaign |
otto_ads_update_campaign | Change a campaign: status (ACTIVE, PAUSED, WAITING), budget (euro cents), pacing, name, start or end date |
otto_ads_add_targets | Add SKUs to a campaign |
otto_ads_update_target_bids | Change target bids in an AUTOMATIC campaign |
otto_ads_add_keywords | Add keywords to one target |
otto_ads_update_keywords | Change the bid (euro cents) or matchType of existing keywords of one target |
otto_ads_delete_keywords | Delete 1 to 50 keywords of one target by keywordId |
示例提示
- “最近 30 天里,我的哪个 OTTO 广告活动广告支出回报率最高?每个活动分别花了多少欧元?”
- “暂停广告活动 Gartenmöbel Sommer。先查一下它当前的状态,OTTO 接受变更后告诉我。”
- “把我的自动广告活动 Bettwäsche 中 SKU BL-4711 的出价提高到 0.80 欧元。修改前先给我看旧出价和新出价。”
- “请求一份最近 30 天的关键词报告,列出花了钱却没有带来销售的搜索词,作为否定关键词的候选。”
- “创建一个自动广告活动 Winterjacken,每日预算 25 欧元,均匀投放,下周一开始,并添加 SKU JK-100 和 JK-200,出价各 0.50 欧元。”
FAQ
这适用于哪个 Copilot? 适用于工作中的 Microsoft 365 Copilot,通过 Copilot Studio 的智能体实现。面向个人账户的 Microsoft Copilot 应用无法添加自己的 MCP 服务器。
我需要什么? 一个可以使用 Copilot Studio 的工作账户(许可证或试用版),用于构建智能体。在 Microsoft 365 Copilot 或 Teams 中使用它的人需要拥有该智能体的访问权限:把它共享给他们,或请管理员为整个组织发布。如果你的组织对 Power Platform 连接器设置了数据策略,这些策略同样适用于 MCP 服务器。
智能体不调用工具。 检查请求头名称是否正好是 X-API-Key,密钥是否属于与 URL 相同的 MCP 服务器,并把 Server description 写得具体:Copilot Studio 根据它决定何时调用服务器。每次修改后重新发布智能体;在已打开的对话中输入 "start over" 即可使用新版本。
下一步
这份指南对你有帮助吗?