生成个性化推荐,可基于请求终端用户画像与推荐场景动态生成个性化推荐物品列表。在返回推荐物品列表的同时,支持灵活配置,可按需返回物品的详细字段信息。
{application_id}/{scene_id} {application_id}:在控制台创建应用后,系统指定的应用唯一标识,可在控制台查看。{scene_id}: 在控制台创建推荐场景后,系统指定的场景唯一标识(格式为: scene{id},例如: sceneR01asDfs)。用户可在控制台「推荐体验」- 「场景 ID」复制场景 ID。
可使用 API Key 或 Access Key 鉴权,详情参考 API 鉴权机制说明。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
user | User | 是 | 见下:User | 用户信息,可上传用户 pseudo ID(需通过用户系统获取并确保唯一),用于明确是哪一位具体的用户触发了本次 API 调用。用户信息对象,包含用户唯一标识(_user_id) |
page_size | Integer | 否 | 10 | 最高返回数量:决定返回的推荐物品数量。如未传入,则使用当前场景在控制台中配置的返回数量。不支持分页,返回结果为单批次。 说明 实际返回数量不一定等于 |
parent_items | Array<Item> | 部分场景必须 | 见下:Item | 在「详情页推荐」场景中,必须传入当前详情页物品的唯一标识(需从物品数据集中获取,即物品的_id字段值)。 |
session_id | String | 否 | "GrrZCRhlYyxQOiSf0qG6MgJX3qb7Jgm6s8e1" | 用户会话的唯一标识,用于判断推荐场景中置顶推荐物品的 24 小时内重复生效情况。当推荐场景配置并生效了置顶推荐物品配置且关闭了**「每次刷新时重复推荐」**时,产品通过session_id判断是否当天已经置顶过。若未提供此参数,则不做24小时内的重复置顶判断。如果session_id已经在24小时内出现,skipped = true,详情请见 |
filter | Object<Filter> | 否 | 见下:Filter | 如果您在推荐范围中配置了「动态参数过滤」且该过滤条件为必填,则必须通过这个字段传入参数值。平台会自动利用值来填充参数的过滤条件,并自动忽略缺失的动态过滤条件。 |
output_fields | Array | 否 | ["title", "price", "category"] | 指定推荐物品列表的'display_fields'返回中,选择物品数据集数据中的哪些字段来返回展示,如果不传则返回所有字段。
|
context | Object<Context> | 否 | 见下:Context | 支持配置请求上下文(context),影响推荐物品召回处理逻辑和返回物品的结果 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
_user_id | String | 是 |
| 代表最终用户的唯一标识符。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
_id | String | 是 |
| 在「详情页推荐」场景中,必须传入当前详情页物品的唯一标识。该唯一标识需存在于物品数据集中,否则召回过程将自动忽略该物品。 |
参数 | 示例值 | 描述 |
|---|---|---|
配置的参数 |
|
注意 参数值的数据类型必须与过滤字段相同。若数据格式不对齐,由于规则不合法,会被自动忽略。 |
参数 | 示例值 | 描述 |
|---|---|---|
location |
|
|
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
request_id | String |
| 用于唯一标识一次请求,可根据 request_id 快速定位一次请求的执行。 |
rec_results | Array<RecommendResults> | 见下: RecommendResults | 推荐物品列表。 |
extra_info | Object<ExtraInfo> | 见下: ExtraInfo | 单次请求中携带的额外信息对象,用于指定生效的业务逻辑(如示例中的个性化推荐),帮助理解返回推荐物品列表的生成逻辑 |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
_id | String | "item_1003" | 该物品在物品数据集中的主键来源于您在上传物品数据集时指定为唯一标识字段的值。 |
display_fields | Object |
| 返回中的字段与您导入数据时的字段一致。您可以在请求中指定要返回的字段,若未指定,则默认返回所有字段。 |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
forced_item_info | Object<ForcedItems> | 见下: ForcedItems | 当推荐场景配置并生效了置顶推荐物品配置,参数会返回置顶物品 ID 和生效状态,以便您检查是否符合预期。 |
omitted_params | Array |
| 为确保推荐接口总能返回结果,当动态过滤条件不合法或为空时,平台会自动忽略该条件。此参数会列出本次请求中所有被忽略的 Filter 参数名。 |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
item_ids | Array |
| 成功置顶的物品 ID |
skipped | Boolean |
| 置顶是否生效: |
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/application/${application_id}/${scene_id}' -H 'Content-Type: application/json' -H 'Authorization: Bearer <API Key>' -d '{ "user": { "_user_id": "user_199432" }, "page_size": 10, "session_id": "GrrZCRhlYyxQOiSf0qG6MgJX3qb7Jgm6s8e1", "filter": { "category": "shoes", "max_price": 100.50 }, "output_fields": ["allow_search","item_count","update_time","item_id","main_sku","sale_rule","item_category","sku_id"], "context":{ "location": { "latitude": "+12.12", "longitude": "+012.12" } } }'
{ "request_id": "25ee998a-5462-9385-9f18-035f1da7a6e5", "rec_results": [ { "_id": "688932914577129760", "display_fields": { "allow_search": "1", "item_count": 1234, "update_time": 1752238692193, "item_id": "item_1004", "main_sku": "default", "sale_rule": "1,2", "item_category": [ "3","5","12" ], "sku_id": "default" } }, { "_id": "528424731470549718", "display_fields": { "allow_search": "1", "inner_item_count": 1234, "update_time": 1752238693295, "item_id": "item_1003", "main_sku": "default", "sale_rule": "1,2", "item_category": [ "5","6" ], "sku_id": "default" } } ], "extra_info": { "forced_item_info": { "item_ids": [ "60493", "52937" ], "skipped": false }, "omitted_params": ["max_price"] } }
本接口错误码请参见公共错误码文档。