- 小程序 OpenAPI SDK 总览
- OpenAPI 简介
- 用户登录态签名
- 签名算法
- 联合授权
- 接口调用凭证
- 登录
- 小程序码与小程序链接
- Web 化接入
- 私信和群聊
- 解决方案
- 线索组件
- 隐私协议
- 视频能力
- 搜索能力
- 任务能力
- 电商
- 生活服务
- 短剧行业
- 用户信息
- 分享
- 客服
- 交易工具
- 小程序券
- 交易系统
- 素材库
- 内容安全
- 泛知识
- 担保支付
- 评价
- 其它
- 订阅消息
- 小程序推广计划
- 挂载
- 分发
- 数据分析
- 服务类目
- 直播间能力
- 抖音开放能力
- 能力申请
- 页面结构自定义
- 普通二维码绑定
- 抖音号绑定
- 流量主
- 抖店绑定
【泛知识】添加课程
更新时间 2024-07-24 02:58:49
收藏
我的收藏API 说明
该接口用于添加新课程,调用成功后会返回课程唯一标识 product_id 且课程会进审,审核通过后课程上架。具体添加流程如下:
接口说明
该接口用于添加新课程,调用成功后会返回课程唯一标识 product_id 且课程会进审,审核通过后课程上架。
使用限制
前提条件
- 添加的课程必须为首次上传,若要修改已有课程请调用修改课程接口
- 资源 uri 类型的字段需要先调用资源上传接口,收到上传成功回调消息,或者调用查询资源上传状态接口确认状态为上传成功后才有效,否则会报"无效的 uri"错误
注意事项
- 审核通过后返回的 product_id 才生效,审核不通过返回的 product_id 失效,按照要求修改后需要重新调用添加课程接口上传获取新的 product_id
- 审核通过后自动上架,无需再调用上架课程接口
- 课程上传后会按序审核,常见审核失败问题可见泛知识课程库常见问题
- 调用添加接口后,如果需要对审核中的课程进行修改,请调用修改课程接口
- 若未做额外备注,string 类型的字段默认支持字符集为 utf-8
- 价格单位统一为分
基本信息
名称 | 描述 |
---|---|
HTTP URL | |
HTTP Method | POST |
Scope | developer.open.product.add |
权限要求 | 添加商品。 AccessToken鉴权 |
请求头
名称 | 字段类型 | 是否必填 | 示例 | 描述 |
---|---|---|---|---|
content-type | String | 是 | application/json | 固定值"application/json" |
请求参数
Body
请求示例
curl --location --request POST '/product/api/add' \
--header 'content-type: application/json' \
--data '{
"access_token": "0801121846756b44471029384758795958537a647053646f773d3d",
"product_type": 1,
"product": {
"common_product_params": {
"appid": "tt11fd1220e13bba1234",
"first_class": 10000,
"second_class": 10100,
"title": "python入门教程",
"purchase_precaution": "小程序内购买课程为课程兑换权益,购买成功后将自动兑换到您的账户内,可在****中重复学习观看",
"product_fulfillment_lst": [
{
"fulfillment_content": {
"fulfillment_uri": "product/resource/1001d044d41140d53ce9e57d793a4321",
"name": "第一节: python介绍"
},
"fulfillment_type": 3
}
],
"industry_type": 1,
"price_info": {
"unit": "节",
"price": 5000,
"real_price": 4900
},
"path_info_lst": [
{
"path": "page/index/index",
"query": {
"course_id": "29384759"
}
}
],
"product_detail_lst": [
{
"rich_text": {
"text": "<b><i>1. python安装步骤</i></b>"
}
}
],
"anchor_info": {
"video_anchor_info": {
"anchor_title": "python入门教程"
}
},
"product_img_uri": "tos-cn-i-b2i6zad4el/b0e72a2e9c5ee919c65a9b0276315cf9"
},
"course_params": {
"teacher_id": "T7283947392973",
"institution_id": "I1039473947393",
"course_num": 637,
"refund_label": {
"type": 1,
"day_before_use_info": {
"day": 7
}
},
"use_label": {
"valid_date": "2022-12-01"
},
"start_timestamp": 1649662751000,
"end_timestamp": 1681198751000
}
}
}
'
响应参数
Body
名称 | 字段类型 | 是否必填 | 示例 | 描述 |
---|---|---|---|---|
data | Struct | 否 | { "product_id": 7049216064080592940 "audit_id": "KNC202202090019433632267267" } | 返回数据,成功后返回课程id,开发者需要将id记录下来以管理该课程 注意返回的product_id是int64类型的,直接转换成javascript的number类型会导致精度缺失(如果id最后三位是000则大概率是精度缺失),详情请参考这里精度问题及解决方法 audit_id用于定位课程审核情况 |
err_msg | String | 否 | "success" | 错误内容 |
err_no | Int32 | 否 | 0 | 错误码,0为成功,其余错误码详见错误码模块 |
log_id | String | 否 | "101210271802130982251451520919C123" | 日志id,用于查询错误 |
响应示例
正常响应示例
{
"err_msg": "success",
"err_no": 0,
"log_id": "2021122721141201022513314212345678",
"data": {
"product_id": 6543216888019123000,
"audit_id": "KNC202202090019433632123456"
}
}
异常响应示例
{
"err_msg": "无效的AccessToken",
"err_no": 10001,
"log_id": "2021122721141201022513314212345678"
}
错误码
http状态码 | 错误码 | 错误码描述 | 排查建议 |
---|---|---|---|
200 | 10000 | 系统错误 | 尝试重试,重复失败后联系ONCALL处理 |
200 | 10001 | 无效的AccessToken | 检查token是否过期失效 |
200 | 10003 | 参数错误 | 检查是否存在未填参数 |
点击纠错