JavaScript SDK 概述

Betalk提供JavaScript SDK的接口,使开发人员能够轻松地嵌入Betalk模块(聊天、会议、讨论组等)只需要嵌入几行代码到你的Web应用程序中。

操作步骤如下:

第一步:注册

通过在BeTalk中注册你的应用程序,你将提供一个独有的客户端ID和客户端密钥,用于初始化BeTalk SDK。

第二步:基本设置

在你的HTML加入如下Betalk JavaScript文件:

<script type="text/javascript" src="https://www.Betalk.com/api/js/Betalk-latest.js" 

第三步:验证用户

在调用Betalk SDK前,需验证用户的身份并获得访问令牌:

以下为验证用户的示例,具体地址以实际情况为准:

使用平台 API 认证,做一个简单的 HTTPS POST 请求:

  • https://apisandbox.Betalk.com/oauth/token(对于沙盒环境)
  • https://api.Betalk.com/oauth/token(用于生产环境)
POST /oauth/token
Host: https://apisandbox.Betalk.com
Content-Type: application/x-www-form-urlencoded

client_id=INSERT_CLIENT_ID&
client_secret=INSERT_CLIENT_SECRET&
grant_type=http://www.Betalk.com/auth_uniqueid&
uniqueid=INSERT_UNIQUE_USER_IDENTIFIER&
timestamp=TIMESTAMP&
firstname=INSERT_FIRST_NAME&
lastname=INSERT_LAST_NAME

成功认证和验证后,Betalk将访问令牌,返回一个JSON响应。

{
    "access_token": "F6YwMQAAATp7lE9TAACowENMLWNsaWVudCAgICAgICAgICAgICAgAAAAAw",
    "token_type": "bearer",
    "expires_in": 43199,
    "scope": "read write"
}

请求参数:

名称 类型 描述
CLIENT_ID String 必要:你从Betalk收到,当你登录的客户端ID
client_secret String 必要:你从Betalk收到,当你登录的客户端密钥
grant_type String 必要:应该始终设置为
UNIQUEID String 必要:唯一标识(例如 – 电子邮件地址,用户名,电话号码,用户ID,UID等),从用户管理,或识别系统
timestamp String 必要:UTC时间戳millseconds。 当前UTC时间(毫秒)
firstname String 可选:用户的名字
lastname String 可选:用户的姓氏
ORGID String 可选:Betalk组织(组织)的标识。此参数是唯一有效的,如果你正在创建每个Betalk客户账户的独立组织
pictureurl String 可选:用户的头像或个人资料图片的网址
timezone String 可选:根据TZ字符串中的时区信息数据库该用户的时区。例如,America/Los_Angeles, Asia/Shanghai
plancode String 可选:为组织分配的Betalk计划代码或程序包代码。可能不适用于大多数的情况下

响应参数:

名称 描述
access_token Token生成用于用户与Betalk API和软件开发工具包使用
token_type Token 类型 值:bearer
expires_in 访问Token的到期时间(秒)

有关此身份验证方法和使用其他方法,请参考下面的文档验证的详细信息:

  • Simplified SSO (推荐)
  • SSO using SAML
  • OAuth Based Authentication

第四步:初始化SDK对象

使用Betalk.init()初始化通用配置和参数:

名称 描述
mode “production” OR “sandbox” 必需:指定要使用的Betalk SDK和API的Betalk环境
CLIENT_ID Client ID 必需:替换从您的应用程序登记Betalk收到的实际客户端ID
partner_id Partner ID 可选:如果您的应用程序正在使用基于合作伙伴的SAML SSO此参数才是必需的
org_id Org ID 可选:此参数是必需的只有当您的应用程序正在使用组织为基础的SAML SSO
idp_id Identity Provider Entity Id 可选:此参数仅当您使用基于SAML SSO要求
access_token Access Token 可选:您可以选择设置访问令牌的值。如果该值设置在这里,你可以跳过通过这个为每个SDK的一个参数

Betalkinit()通过监听器处理的回调事件参数:

事件 描述 属性
invalid_token 当access_token到期触发 SESSION_ID

样例:JS代码初始化Betalk SDK:

function init() {
    var options = {
        mode: "sandbox", //for production environment change to "production"
        client_id: INSERT_CLIENT_ID,
        access_token: ACCESS_TOKEN, //valid access token from user authentication
        invalid_token: function(event) {
            alert("Access Token expired for session id: " + event.session_id);
        }
    };
    Betalk.init(options);
}