SDK详细文档

如果您的网站集成的是通过Bothub后台生成的代码,您并不需要手动调用window.BH.init方法;因为我们的SDK已经帮你初始化,您可以直接使用SDK的能力;

包含User模块,Event模块,Weiget模块

快速使用

Bothub SDK 没有任何需要下载或安装的独立文件,而只需要在HTML中包含一小段常规 JavaScript 代码,它们会将 SDK 异步加载到您的页面中。 异步加载意味着它不会阻止加载页面的其他元素,随后就可以进行配置初始化了。

以下代码片段将提供 SDK 的基本版本,其中选项设置为最常见的默认值。

  1. 首先在需要添加插件的地方放置一个携带id属性的div,这里请确保遵循ID唯一的约定;
    <div id="bothub-widget-abc"></div>
    
  2. 在页面中直接插入这段脚本,这里 widgets 内的参数是sendtomessenger插件需要的参数:
    <script>
    window.bhAsyncInit = function() {
     window.BH.init({
         language: "en_US",
         pageId: '{your-page-id}',
         widgets: [{
             id: 'bothub-widget-abc',
             type: "Customerchat",
         }]
     });
    };
    </script>
    <script async defer src="https://sdk.bothub.ai/dist/sdk-2-latest.js"></script>
    
  3. 需要注意,bhAsyncInit参数是sdk加载完成后回掉的方法,确保您的后续代码不会覆盖它。同时bhAsyncInit也可以是一个Array,因此您可以将需要sdk加载完成后的回掉方法push进数组。
    <script>
    window.bhAsyncInit = [];
    window.bhAsyncInit.push(function() {
     window.BH.init({
         language: "en_US",
         pageId: '{your-page-id}',
         widgets: [{
             id: 'bothub-widget-abc',
             type: "Customerchat",
         }]
     });
    });
    </script>
    <script async defer src="https://sdk.bothub.ai/dist/sdk-2-latest.js"></script>
    

    高级用法

这里将会列举出所有的 SDK 方法和配置项。Bothub SDK 将会被挂载在全局的BH命名空间下,你可以通过window.BH来访问它。

window.BH.init()方法用于初始化设置 SDK。必须在此之后调用所有其他SDK方法,因为它们在您执行之前不会存在。

方法 描述
.init() 用于初始化和设置SDK。调用这个函数后才能调用所有其他 SDK 方法。

调用

window.BH.init(params);

参数说明

参数名称 类型 是否必填 默认值 描述
params object 必填 - 控制 SDK 设置的初始化参数
params.pageId string 必填 - 用户连接的 facebook 页面编号
params.customUserId string 可选 '' 当前用户的自定义编号
params.language `'zh_CN' 'zh_TW' 'en_US'` 可选 en_US 使用的语言
params.widgets array 可选 [] 页面插件属性描述
params.renderImmediately boolean 可选 true 初始化后是否立即渲染页面插件

params.renderImmediately参数如果设置为false,需要在你需要渲染的时候手动调用window.BH.Widget.render()方法

示例

window.BH.init({
    pageId: '{your-page-id}',
    language: 'en_US',
    renderImmediately: true,
});

User 模块

用户的自定义编号是 Bothub 用于记录用户事件的凭据,相同的用户编号就会认为是同一个用户的操作(但是同一个用户可以有很多不同的编号)

方法 描述
.User.getCustomUserId() 获取当前的用户自定义编号。
.User.changeCustomUserId() 变更并设置当前用户的自定义编号。

获取用户CustomUserId .User.getCustomUserId()

该方法可以获得当前用户的自定义编号。

示例

const user_id = window.BH.User.getCustomUserId();

说明

此接口将会返回用户编号的字符串。 如果当前没有设置用户编号,将会返回undefined(该情况一般不会出现)。

修改用户CustomUserId .User.changeCustomUserId()

点击查看如何使用


Event 模块

需要告知Bothub 当前用户触发的事件,在Bothub后台设置对应事件的处理;待用户触发相应事件后就可按照你设定的动作完成后续营销。

方法 描述
.Event.addedToCart() 当用户添加商品至购物车时,调用此事件。
.Event.addedToWishlist() 当用户添加商品至愿望单时,调用此事件。
.Event.initiatedCheckout() 当用户结算购物车时,调用此事件。
.Event.purchase() 当用户完成商品购买时,调用该事件。
.Event.logEvent() 需要自定义 Bothub 事件时调用。

添加购物车事件.Event.addedToCart()

当用户添加商品至购物车时,调用此事件。

调用

window.BH.Event.addedToCart(params);

参数说明

参数名称 类型 是否必填 默认值 描述
params object 可选 - 事件参数
params.sku string 必填 - 商品编号
params.name string 必填 - 商品名称
params.currency string 必填 - 商品货币单位
params.price number 必填 - 商品价格

示例

// 不带参数
window.BH.Event.addedToCart();

// 带参数
window.BH.Event.addedToCart({
    sku: '1000-1',
    name: 'T-shirt',
    currency: 'USD',
    price: 200,
});

添加愿望清单事件.Event.addedToWishlist()

当用户添加商品至愿望清单时,调用此事件。

调用

window.BH.Event.addedToWishlist(params);

参数说明

参数名称 类型 是否必填 默认值 描述
params object 可选 - 事件参数
params.sku string 必填 - 商品编号
params.name string 必填 - 商品名称
params.currency string 必填 - 商品货币单位
params.price number 必填 - 商品价格

示例

// 不带参数
window.BH.Event.addedToWishlist();

// 带参数
window.BH.Event.addedToWishlist({
    sku: '1000-1',
    name: 'T-shirt',
    currency: 'USD',
    price: 200,
});

购物车结算事件.Event.initiatedCheckout()

当用户结算购物车时,调用此事件。

调用

window.BH.Event.initiatedCheckout(params);

参数说明

参数名称 类型 是否必填 默认值 描述
params object 可选 - 事件参数
params.sku string 必填 - 商品编号
params.name string 必填 - 商品名称
params.currency string 必填 - 商品货币单位
params.quantity number 必填 - 商品数量
params.availablity `'0' '1'` 必填 - 商品是否可以付款的状态,0不能付款,1可以付款
params.totalPrice number 必填 - 购物车结算总价格

示例

// 不带参数
window.BH.Event.initiatedCheckout();

// 带参数
window.Event.initiatedCheckout({
    sku: '1000-1',
    name: 'T-shirt',
    currency: 'USD',
    quantity: 10,
    availablity: '1'
    price: 200,
});

完成购物事件.Event.purchase()

当用户完成购物时,调用此事件。

调用

window.BH.Event.purchase(params);

参数说明

参数名称 类型 是否必填 默认值 描述
params object 可选 - 事件参数
params.orderNumber string 必填 - 订单编号
params.source string 必填 - 商家来源
params.currency string 必填 - 商品货币单位
params.totalPrice number 必填 - 购物车结算总价格

示例

// 不带参数
window.BH.Event.purchase();

// 带参数
window.Event.purchase({
    sku: '1000-1',
    name: 'T-shirt',
    currency: 'USD',
    quantity: 10,
    availablity: '1'
    price: 200,
});

完成购物事件.Event.logEvent()

默认事件无法满足时,手动创建新的事件。

调用

window.BH.Event.logEvent(name);

window.BH.Event.logEvent(params);

参数说明

参数名称 类型 是否必填 默认值 描述
name string 可选 - 事件名称
params object 可选 - 事件参数
params.name string 可选 - 事件名称

示例

// 不带参数
window.BH.Event.logEvent();

// 带事件名称
window.BH.Event.logEvent('bind_facebook_id');

// 带参数
window.Event.logEvent({
    name: 'bind_facebook_id',
});

Widget 模块

插件相关方法

方法 描述
.Widget.setConfig()) 设置插件属性
.Widget.render()) 立即渲染插件
.Widget.destroy()) 销毁插件

设置插件属性 .Widget.setConfig()

window.BH.Widget.setConfig()方法用来设定插件的属性。

此操作并不会触发插件的重新渲染,需要用户手动调用window.BH.Widget.render()方法渲染。

如果当前设置的插件编号已经存在,则当前的属性将会和旧有的属性合并,新属性优先。 如果当前设置的插件编号不存在,则当前设置的插件将会直接添加到插件列表中。

调用

window.BH.Widget.setConfig(params);

参数说明

参数名称 类型 是否必填 默认值 描述
params object 必填 - 插件的属性
params.id string 必填 - 你想要设置的插件编号
params.[key in param] any 可选 - 插件参数,对于不同的插件会有不同的属性,详情请看插件属性说明。

示例

window.BH.Widget.setConfig({
    id: '{widget-id}',
    color : 'blue',
    rendered() {
        console.log('Widget loaded.');
    },
});

立即渲染插件 .Widget.render()

点击查看如何使用

销毁插件 .Widget.destroy()

window.BH.Widget.destroy()方法用来销毁插件。你可以指定销毁插件的编号,也可以什么都不填,这样将会默认销毁页面上的所有插件。

样例

window.BH.Widget.destroy();
window.BH.Widget.destroy('widget-abc');

results matching ""

    No results matching ""