前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云即时通信 IM 服务端 SDK for PHP

腾讯云即时通信 IM 服务端 SDK for PHP

作者头像
hedeqiang
发布2019-12-17 20:59:29
12.6K4
发布2019-12-17 20:59:29
举报
文章被收录于专栏:LaravelCodeLaravelCode

安装

代码语言:javascript
复制
$ composer require hedeqiang/ten-im -vvv

配置

使用本扩展前需要登录 即时通信 IM 控制台 创建应用,配置管理员、获取 app_id、Key 等关键信息

更多请查看并熟读 即时通信 IM 服务端API

REST API 接口列表

使用

获取用户在线状态

代码语言:javascript
复制
<?php

require __DIR__ .'/vendor/autoload.php';

use Hedeqiang\TenIM\IM;

$config = [
    'sdk_app_id' => '14002***',
    'identifier' => 'hedeqiang',
    'secret_key' => 'a56e6938cb1a8856d15*****',
];
$im = new IM($config);

$params = [
    'To_Account' => ['hedeqiang']
];

print_r($im->send('openim','querystate',$params));

返回示例

代码语言:javascript
复制
{
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0,
    "QueryResult": [{
        "To_Account": "1",
        "State": "Offline"
    }]
}

设置资料

代码语言:javascript
复制
$params = [
    'From_Account' => 'hedeqiang',
        'ProfileItem' => [
            ['Tag' => 'Tag_Profile_IM_Nick', 'Value' => 'hedeqiang'],
            ['Tag' => 'Tag_Profile_IM_Gender', 'Value' => 'Gender_Type_Male'],
            ['Tag' => 'Tag_Profile_IM_BirthDay', 'Value' => 19940410],
            ['Tag' => 'Tag_Profile_IM_SelfSignature', 'Value' => '程序人生的寂静欢喜'],
            ['Tag' => 'Tag_Profile_IM_Image', 'Value' => 'https://upyun.laravelcode.cn/upload/avatar/1524205770e4fbfbff-86ae-3bf9-b7b8-e0e70ce14553.png'],
        ],
];

print_r($im->send('profile','portrait_set',$params));

返回示例:

代码语言:javascript
复制
{
    "ActionStatus": "OK",
    "ErrorCode": 0,
    "ErrorInfo": "",
    "ErrorDisplay": ""
}

单发单聊消息

代码语言:javascript
复制
$params = [
    'SyncOtherMachine' => 1, // 消息不同步至发送方
    'From_Account' => '1',
    'To_Account' => '2',
    'MsgRandom' => 1287657,
    'MsgTimeStamp' => 1557387418,
    'MsgBody' => [
        [
            'MsgType' => 'TIMTextElem',
            'MsgContent' => [
                'Text' => '晚上去撸串啊'
            ]
        ]
    ]
];

print_r($im->send('openim','sendmsg',$params));

返回示例:

代码语言:javascript
复制
{
    "ActionStatus":"OK",
    "ErrorInfo":"",
    "ErrorCode":0,
    "MsgTime":1573179125,
    "MsgKey":"748144182_1287657_1573179125"
}

其中 send 方法接收三个参数。第一个参数 $servicename : 内部服务名,不同的 servicename 对应不同的服务类型;第二个参数 $command:命令字,与 servicename 组合用来标识具体的业务功能;第三个参数为请求包主体 示例:v4/im_open_login_svc/account_import,其中 im_open_login_svcservicenameaccount_importcommand

请求包示例:

代码语言:javascript
复制
{
    "From_Account":"id",
    "ProfileItem":
    [
        {
            "Tag":"Tag_Profile_IM_Nick",
            "Value":"MyNickName"
        }
    ]
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 配置
  • 使用
    • 获取用户在线状态
      • 设置资料
        • 单发单聊消息
        相关产品与服务
        即时通信 IM
        即时通信 IM(Instant Messaging)基于腾讯二十余年的 IM 技术积累,支持Android、iOS、Mac、Windows、Web、H5、小程序平台且跨终端互通,低代码 UI 组件助您30分钟集成单聊、群聊、关系链、消息漫游、群组管理、资料管理、直播弹幕和内容审核等能力。适用于直播互动、电商带货、客服咨询、社交沟通、在线课程、企业办公、互动游戏、医疗健康等场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档