---
document_id: agent.cookbook.product_details
schema_version: 2
parent_document_id: agent.cookbook
section: cookbook
---

<!-- Generated by scripts.build_agent_guide; do not edit. -->

# JD and Douyin marketplace product details / 京东与抖音商城商品详情

Read current JD or mainland Douyin marketplace product details from a known product ID. / 使用已知商品 ID 查询京东或中国大陆抖音商城的当前商品详情。

## Business questions / 商业问题

- What details and available variants does this known product provide?
  这个已知商品有哪些详情和可用规格？

## Approach / 方法

1. Use commerce.jd.product.detail (alias jd_product_detail_v3) for a known JD product, or commerce.douyin.product.detail (alias douyin_product_detail_v2) for a known mainland China Douyin marketplace product. Both take input.item_id, a string product ID; Douyin marketplace is separate from TikTok Shop.
   查询已知京东商品使用 commerce.jd.product.detail（别名 jd_product_detail_v3）；查询中国大陆抖音商城商品使用 commerce.douyin.product.detail（别名 douyin_product_detail_v2）。两者都传 input.item_id，值为字符串商品 ID；抖音商城与 TikTok Shop 是不同平台。
2. HTTP uses POST /v1/native/commerce/jd/products/detail or POST /v1/native/commerce/douyin/products/detail with Bearer authentication and a unique Idempotency-Key. The request body is {"input":{"item_id":"<product ID>"},"max_credits":60} for JD; use max_credits=24 for Douyin.
   HTTP 使用 POST /v1/native/commerce/jd/products/detail 或 POST /v1/native/commerce/douyin/products/detail，携带 Bearer 认证和唯一的 Idempotency-Key。京东请求体为 {"input":{"item_id":"<商品 ID>"},"max_credits":60}；抖音使用 max_credits=24。
3. JD costs 60 Credits and Douyin costs 24 Credits per successful request. Failed requests are free. HTTP reports the actual settlement in meta.credits_charged; Task returns its own billing summary. A budget limit does not itself authorize a Task.
   每次成功请求京东为 60 Credits，抖音为 24 Credits；失败不收费。HTTP 实际结算读取 meta.credits_charged；Task 读取其 billing 摘要。设置预算上限本身不代表已批准 Task。
4. For Task, inspect the operation with discover, then use run with the same operation, input.item_id, pages=1, max_credits and idempotency_key. Follow any returned approval control; after submission, use task with the returned task_ref to read status and results. Do not use Legacy Collection estimate_collection or start_collection for these operations.
   使用 Task 时先通过 discover 查看对应 operation，再使用 run 传 operation、input.item_id、pages=1、max_credits 和 idempotency_key。按返回的审批 control 操作；提交后用返回的 task_ref 调用 task 读取状态与结果。这两个操作不使用旧 Collection 的 estimate_collection 或 start_collection。
5. HTTP data retains the complete sanitized business response; the product body is data.data. Task returns one product in results[].data, with a title when provided and the complete sanitized product body in extended_data. Fields missing from the source are not filled with guessed values.
   HTTP 的 data 保留完整脱敏业务响应，商品主体位于 data.data。Task 在 results[].data 返回一个商品，可用时提供 title，完整脱敏商品主体保留在 extended_data。来源缺失的字段不会用猜测值补齐。
6. JD retains available prices, attributes, images, descriptions and SKU options. Douyin retains product, shop, sales and service data; this detail call does not include a separate SKU API request and does not guarantee per-SKU price or stock. Keep the requested product identity distinct from other variant/SKU or shop IDs in the response.
   京东保留来源实际提供的价格、属性、图片、描述和 SKU 选项。抖音保留商品、店铺、销售与服务信息；详情调用不包含额外的 SKU API 请求，不保证逐 SKU 价格或库存。应区分所请求商品与响应中的其他变体/SKU 或店铺 ID，不要随意替换商品身份。
7. Each operation reads one product with one source request and no pagination. Monthly sales datasets and query_metrics answer historical sales questions separately; product details do not establish monthly GMV or complete sales coverage.
   每个操作一次查询一个商品，只发起一次来源请求，不分页。月度销量数据集和 query_metrics 另用于历史销售分析；商品详情不代表月度 GMV，也不保证完整销量覆盖。
8. When HTTP returns a pending result, follow its saved-result URL under /v1/native/results/; Task recovery reads the original task_ref. Reuse the original idempotency key for the same request. Saved-result reads and terminal-message replays do not repeat the source call or charge; do not create a new paid request after an unknown outcome.
   HTTP 返回等待态时读取 /v1/native/results/ 下的原结果地址；Task 恢复时读取原 task_ref。同一次请求复用原幂等键。已保存结果读取和终态消息重放不重复查询来源或扣费；结果未知时不要新建付费请求。

## Boundaries / 边界

- Availability follows the regional public capability catalog and authenticated discover response. Call only exposed operations; CN availability does not imply Global availability. The document describes usage, while the current catalog and account permissions determine whether execution is available.
  可用性以本区公开能力目录及认证后的 discover 响应为准，只调用实际暴露的操作；CN 可用不代表 Global 可用。本文说明调用方法，当前目录及账户权限决定是否能够执行。
