8.6 更新偶像资料【未授权拦截通过,待登录态联调】

PATCH /tieup/api/v1/artist/profile

鉴权:需要 Authorization: Bearer <access_token>,且当前账号必须已开通偶像端。

请求体:

{
  "avatar": "https://cdn.example.com/artist/avatar.png",
  "artist_name": "王心凌",
  "album_media": [
    {
      "type": "image",
      "url": "https://cdn.example.com/a.png"
    },
    {
      "type": "video",
      "url": "https://cdn.example.com/v.mp4",
      "cover_url": "https://cdn.example.com/v-cover.png",
      "duration": 58
    }
  ],
  "intro_type": "audio",
  "intro_text": "",
  "intro_audio_url": "https://cdn.example.com/intro.m4a",
  "intro_audio_duration": 58,
  "personal_intro": "大家好,我是王心凌。"
}

请求参数:

参数 类型 必填 说明
avatar string 否 艺人头像 URL,最大 500 字符;仅更新 tieup_artist.avatar,不反写 tieup_user.avatar
artist_name string 否 艺人对外展示名称,最大 100 字符
album_media array 否 艺人相册完整列表;未变化的已有项可省略 media_id,新项由服务端生成;全部状态均计入 album_photo_limit
album_media[].media_id string 否 服务端生成的稳定媒体标识,客户端不可修改
album_media[].status string 否 只读状态:pending、passed、rejected、failed、timeout
album_media[].type string 是 素材类型:image 或 video
album_media[].url string 是 素材 URL,最大 500 字符
album_media[].cover_url string 否 视频封面 URL,最大 500 字符,仅视频素材使用
album_media[].duration integer 否 视频时长,单位秒,最小 0,仅视频素材使用
intro_type string 否 短介绍类型:text、audio 或空字符串
intro_text string 否 一句话文字介绍,最大 255 字符;intro_type=text 时保存并清空语音字段
intro_audio_url string 否 一句话语音介绍 URL,最大 500 字符;intro_type=audio 时保存并清空文字短介绍
intro_audio_duration integer 否 语音介绍时长,单位秒,最小 0
personal_intro string 否 自我介绍,最大 5000 字符

响应字段:

字段 类型 说明
id integer 艺人 ID
user_id integer 绑定的 APP 用户 ID
rong_user_id string 艺人身份融云用户 ID,格式 tieup_artist_{artist_id}
artist_name string 艺人对外展示名称
avatar string 艺人头像 URL,来源 tieup_artist.avatar
album_media array 艺人本人资料中的全部相册素材,包含 media_id 和 status
album_media[].type string 素材类型:image 或 video
album_media[].url string 素材 URL
album_media[].cover_url string 视频封面 URL,仅视频素材返回
album_media[].duration integer 视频时长,单位秒,仅视频素材返回
album_media[].media_id string 服务端生成的稳定媒体标识,编辑提交已有项时必须回传
album_media[].status string pending、passed、rejected、failed 或 timeout,由服务端维护
intro_type string 短介绍类型:text、audio 或空字符串
intro_text string 一句话文字介绍
intro_audio_url string 一句话语音介绍 URL
intro_audio_duration integer 语音介绍时长,单位秒
intro_audio object/null 语音审核对象,包含 media_id、url、duration、status
gender integer 艺人性别,与绑定用户共用 tieup_user.gender:0=未知,1=男,2=女
artist_type integer 艺人类型
artist_category_id integer/null 艺人分类 ID
personal_intro string 自我介绍
related_experience string 相关经历或代表作品,当前资料编辑接口不支持修改
phone string 联系手机号,当前资料编辑接口不支持修改
settled_at string/null 入驻时间
withdrawable_amount string 可提现金额
follow_count integer 当前艺人的展示关注量,指定艺人按统一规则叠加展示增量
fans_count integer 当前艺人的展示粉丝数,始终等于调整后的 follow_count
subscription_count integer 当前艺人的展示有效订阅人数,指定艺人按统一规则叠加展示增量
cumulative_income_amount string 当前艺人的累计有效收益,单位元
profile_update object 本次或最新资料修订状态
profile_update.status string pending_review、applied、partial_applied、rejected、failed、timeout 或 superseded
profile_update.revision_no string/null 资料修订单号
profile_update.audit_no string/null 内容审核单号
profile_update.pending_fields array 尚未生效的字段名
profile_update.submitted_at string/null 修订提交时间
profile_update.deadline_at string/null 异步审核截止时间
profile_update.media_counts object 当前相册和语音各状态数量

响应示例:

{
  "code": 200,
  "message": "成功",
  "data": {
    "id": 20001,
    "user_id": 10001,
    "rong_user_id": "tieup_artist_20001",
    "artist_name": "王心凌",
    "avatar": "https://cdn.example.com/artist/avatar.png",
    "album_media": [
      {
        "media_id": "AM0123456789ABCDEF01234567",
        "type": "image",
        "url": "https://cdn.example.com/album/new-pending.png",
        "status": "pending"
      }
    ],
    "intro_audio": {
      "media_id": "AA0123456789ABCDEF01234567",
      "url": "https://cdn.example.com/intro.m4a",
      "duration": 58,
      "status": "pending"
    },
    "intro_type": "audio",
    "intro_text": "",
    "intro_audio_url": "https://cdn.example.com/intro.m4a",
    "intro_audio_duration": 58,
    "gender": 2,
    "artist_type": 1,
    "artist_category_id": 10,
    "personal_intro": "大家好,我是王心凌。",
    "related_experience": "相关经历",
    "phone": "13800138000",
    "settled_at": "2026-06-22 10:00:00",
    "withdrawable_amount": "0.00",
    "follow_count": 15000,
    "fans_count": 15000,
    "subscription_count": 6820,
    "cumulative_income_amount": "16000.00",
    "profile_update": {
      "status": "pending_review",
      "revision_no": "APR2000120260815100000A1B2C3D4",
      "audit_no": "APA2000120260815100000E5F6A7B8",
      "pending_fields": [
        "album_media",
        "intro_type",
        "intro_text",
        "intro_audio_url",
        "intro_audio_duration"
      ],
      "submitted_at": "2026-08-15 10:00:00",
      "deadline_at": "2026-08-15 10:03:00",
      "media_counts": {
        "pending": 2,
        "passed": 0,
        "rejected": 0,
        "failed": 0,
        "timeout": 0
      }
    }
  }
}

说明:

  • 文件本身仍通过 POST /tieup/api/v1/files 上传,本接口只保存上传后得到的 URL。
  • album_media 数量限制读取后台系统配置 tieup/business-config 的艺人设置 album_photo_limit;渠道存在覆盖配置时按渠道运行时配置生效,0 表示不限制。
  • 短介绍按文字和语音二选一保存:intro_type=text 时清空语音字段,intro_type=audio 时清空文字短介绍,空字符串表示清空短介绍。
  • 云上曲率内容审核配置开启时,艺名、头像、文字短介绍和个人介绍使用最多 18 秒的同步预算并按顺序审核;同步组任一素材明确违规后立即停止后续第三方调用,本次同步字段均不更新,响应体业务码为 422,data.audit_no 用于问题追踪,HTTP 状态仍保持 200 兼容旧 APP。
  • 相册图片、视频、视频封面和语音提交后立即写入主表并独立审核;未通过文件保留在艺人本人资料中,但不会出现在粉丝端列表和详情。机审通过后立即公开,人工拒绝可按媒体文件隐藏。
  • 同步审核达到 18 秒或第三方暂时未返回明确结论时,未完成素材转入同一修订的异步任务,不按违规处理。后台任务每次只调用一次第三方接口,约 2 秒后延迟续查,不在进程内无限轮询。
  • album_media 按完整列表提交,省略的旧媒体会从线上相册移除;未变化的已有媒体即使省略 media_id,服务端也会按内容匹配并复用原媒体标识和审核状态,不会重复审核。新媒体或内容发生变化的媒体由服务端生成新的 media_id 并进入审核。
  • 再次提交包含 album_media 的新修订会覆盖旧待审相册,旧任务即使随后完成也不能落地;未携带 album_media 的普通资料修改不会覆盖待审相册。album_media=[] 没有素材需要审核,会立即清空线上相册。
  • 偶像分类、星探、经纪公司归属由平台配置维护,APP 端不可直接修改;related_experience、phone 保留为响应字段,当前资料编辑接口不支持修改。

同步素材明确违规响应示例:

{
  "code": 422,
  "message": "内容包含违规信息,请修改后重试",
  "data": {
    "audit_no": "APA2000120260815100000E5F6A7B8"
  }
}