【泛知识】添加课程

更新时间 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-typeStringapplication/json
固定值"application/json"

请求参数

Body

名称字段类型是否必填示例描述
access_tokenString
调用生成的token

请求示例

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

名称字段类型是否必填示例描述
err_msgString"success"
错误内容
err_noInt320

错误码,0为成功,其余错误码详见错误码模块

log_idString"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状态码错误码错误码描述排查建议
20010000

系统错误

尝试重试,重复失败后联系ONCALL处理

20010001

无效的AccessToken

检查token是否过期失效

20010003

参数错误

检查是否存在未填参数