抖音矩阵系统源码部署--企业号私信/群聊管理

抖音矩阵系统源码部署--企业号私信/群聊管理_第1张图片

能力图谱

能力名称

scope名

须用户授权

用户授权项

能力介绍

典型使用场景简介

私信管理

im.direct_message

(日调用次数上限:10w)

私信消息管理

接收和发送抖音私信消息

对于限定条件的抖音经营者账户,在其授权的情况下,允许其通过开发者的应用接收及发送抖音私信消息

  • 接收私信消息:可接收授权抖音号在端内收到的、端内或各应用发送的所有私信消息,并支持消息类型、是否本应用发出区分
  • 私信消息回复:在用户发消息后,开发者可调用该接口帮助企业客户进行消息回复
  • 主动触达:此外,在用户进入私信会话页场景,支持基于该接口主动发消息

群消息管理

im.group_message

(日调用次数上限:10w)

群消息管理

接收和发送抖音群聊消息

对于限定条件的抖音经营者账户,在其授权的情况下,允许其通过开发者的应用接收及发送抖音粉丝群消息

  • 接受群聊消息:可接收授权抖音号在端内收到的、端内或各应用发送的其粉丝群的所有消息
  • 群消息回复:在用户发消息后,开发者可调用该接口帮助企业客户进行消息回复
  • 主动发送群消息:在频控范围内,支持基于该接口主动发消息

消息卡片管理

im.message_card

(日调用次数上限:1w)

消息卡片管理

创建、查询、删除消息卡片

对于限定条件的抖音经营者账户,在其授权的情况下,允许其通过开发者的应用,在私信、群聊会话中发送消息卡片

  • 卡片类型:本次首先上线留资卡片,后续将陆续支持群聊邀请、企业号电话拨打等更多授权经营组件

抖音矩阵系统源码部署--企业号私信/群聊管理_第2张图片

 

小程序引导卡片

im.microapp_card

(日调用次数上限:1w)

-

在私信/群聊页面发送带有大图、小程序/小游戏(可为空)、标题、文案等信息,引导用户跳转小程序/抖音内其他页面

抖音矩阵系统源码部署--企业号私信/群聊管理_第3张图片

 

私信/群消息撤回

im.recall_message

(日调用次数上限:1w)

消息撤回管理

撤回私信、群聊消息

对于限定条件的抖音经营者账户,在其授权的情况下,允许其通过开发者的应用,撤回自己发出的私信/群消息

-

上传图片工具

tool.image.upload

(日调用次数上限:1w)

-

上传图片url换取media_id,可用于私信/群消息发送接口

  • 私信/群消息发送图片:需先上传图片,获取图片media_id,再通过发消息接口发出

接入流程

接入前准备

应用入驻

  • 开发者需要入驻抖音开放平台,创建一个以消息管理为核心功能场景之一的网站应用,获取应用clientkey

开发代码展示:

抖音矩阵系统源码部署--企业号私信/群聊管理_第4张图片

$daid = $this->request->getIntParam('daid', 0);
        //应用类型输出
        $where = [
            ['name' => 'cl_ds_id', 'oper' => '=', 'value' => $this->sid],
        ];
        if (!empty($daid)) {
            $where[] = ['name' => 'dl_qyh_uid', 'oper' => '=', 'value' => $daid];
        }
        $this->output['enter_id'] = $daid;
        $sort = ['cl_create_time' => 'DESC'];

        $chat_list_model = new App_Model_Douyin_MysqlChatListStorage();
        $chat_result = $chat_list_model->getList($where, $this->index, $this->count, $sort);

        $intent_model = new App_Model_Douyin_MysqlIntentUserStorage();
        #$account_model  = new App_Model_Douyin_MysqlDyAccountStorage();

        $chat_list = [];
        foreach ($chat_result as $item) {
            #$account    = $account_model->getRowByIdSid($item['cl_qyh_uid'], $this->sid);
            $intention = $intent_model->getUserByOpenId($this->sid, $item['cl_from_openid']);

            $each = [
                'user_nickname' => empty($intention) ? '匿名' : $intention['iu_nickname'],
                'user_avatar' => empty($intention) ? parent::TEMPLATE_PLACEHOLDER_IMAGE : $intention['iu_avatar'],
                'user_newmsg' => $item['cl_new_text'],
                'user_newtime' => date('Y-m-d H:i:s', $item['cl_new_time']),
                'user_openid' => $item['cl_from_openid'],
                'qyh_uid' => $item['cl_qyh_uid'],
                'undo_count' => $item['cl_undo_count'],
            ];
            array_push($chat_list, $each);
        }

        $this->displayJson($chat_list);

$from_openid = $this->request->getStrParam('from_openid');
        $qyh_uid = $this->request->getIntParam('qyh_uid');

        $letter_model = new App_Model_Douyin_MysqlLetterStorage();
        $detail_result = $letter_model->getChatListOrder($from_openid, $qyh_uid, $this->sid, $this->index, $this->count);

        $chat_detail = [];
        foreach ($detail_result as $item) {
            $each = [
                'msg_type' => $item['dl_msg_type'],
                'msg_content' => $item['dl_msg_content'],
                'msg_time' => date('Y-m-d H:i:s', $item['dl_create_time']),
                'send_receive' => intval($item['dl_send_receive']),    //1收到的消息,2发送的消息
            ];

            array_push($chat_detail, $each);
        }
        $account_model = new App_Model_Douyin_MysqlDyAccountStorage();
        $qyh_account = $account_model->getRowByIdSid($qyh_uid, $this->sid);
        $intent_model = new App_Model_Douyin_MysqlIntentUserStorage();
        $from_account = $intent_model->getUserByOpenId($this->sid, $from_openid, $qyh_uid);

        $return_data = [
            'from_user' => [
                'nickname' => empty($from_account) ? '匿名' : $from_account['iu_nickname'],
                'avatar' => empty($from_account) ? parent::TEMPLATE_PLACEHOLDER_IMAGE : $from_account['iu_avatar'],
                'openid' => $from_openid,
            ],
            'to_user' => [
                'nickname' => $qyh_account['da_nickname'],
                'avatar' => $qyh_account['da_avatar'],
                'qyh_uid' => $qyh_uid,
            ],
            'chat_detail' => $chat_detail
        ];
        $chat_list_model = new App_Model_Douyin_MysqlChatListStorage();
        $cl_where = [
            ['name' => 'cl_ds_id', 'oper' => '=', 'value' => $this->sid],
            ['name' => 'cl_qyh_uid', 'oper' => '=', 'value' => $qyh_uid],
            ['name' => 'cl_from_openid', 'oper' => '=', 'value' => $from_openid],
        ];
        $chat_list_model->updateValue(['cl_undo_count' => 0], $cl_where);
        $this->displayJson($return_data);

你可能感兴趣的:(视频批量剪辑,矩阵号系统源码开发,抖音矩阵号系统开发,开发语言,java,python,php)