核心应用程序API

以下核心事件、属性和操作可在所有支持Zendesk Apps框架的产品的所有位置使用:亚博

使用ZAF客户在应用程序中监听事件、访问属性或调用操作。

该API由支持应用程序API,聊天应用程序API,以及销售应用程序API

事件

请注意:窗口事件是防反跳因为性能原因。在下面的每个窗口事件的描述中都指出了反弹等待值。

app.registered

当应用程序加载时触发。它也会在应用程序重新加载时触发,比如当代理单击Reload All Apps按钮时。

app.activated

当应用程序激活时触发。根据地点的不同,这意味着不同的事情。例如,如果应用程序在ticket侧栏中,当用户切换到包含该应用程序实例的选项卡时,应用程序将成为活动的。

请注意:该事件与app.registered事件,它在应用程序激活时触发,而不是在应用程序加载时。使用app.registered监听加载事件。

app.deactivated

当应用程序变为非活动时触发。根据地点的不同,这意味着不同的事情。例如,如果应用程序在ticket侧栏中,当用户从包含该应用程序实例的选项卡切换时,应用程序将变为非活动状态。

app.expanded

当应用程序从崩溃状态展开时触发。此功能仅在侧栏位置可用,其中包括票侧边栏新票务边栏用户侧栏组织侧边栏而且聊天栏

app.collapsed

当应用程序从扩展状态崩溃时触发。此功能仅在侧栏位置可用,其中包括票侧边栏新票务边栏用户侧栏组织侧边栏而且聊天栏

instance.created

当你的应用程序的另一个实例被创建时触发。这在你想要从一个永久位置(比如Zendesk Support的后台位置)与临时位置(比如Zendesk Support的票务边栏)交互的情况下非常有用。亚博事件处理程序绑定到instance.created接收上下文刚刚创建的实例的数据。您可以使用instanceGuid的属性上下文要创建ZAFClient使用实例API。有关实例API的更多信息,请参见位置之间的消息传递

例子:

             
//背景位置客户端“instance.created”函数上下文如果上下文位置= = =“ticket_sidebar”varticketInstance客户端实例上下文instanceGuidticketInstance调用“comment.appendText”“最好的祝福!”

请注意:触发此事件时,该位置的SDK客户端可能尚未注册。如果您的应用程序只需要在SDK客户端注册后才需要做一些事情,请参阅instance.registered

instance.registered

加载应用程序实例并注册SDK客户端时触发。它也会在应用程序重新加载时触发,比如当代理单击Reload All Apps按钮时。

window.resize

当当前浏览器窗口大小被调整时触发。该事件最多每33(1000/30)毫秒触发一次。

当被此事件调用时,处理器函数接收一个事件对象作为它的第一个参数和以下附加参数:

  • 宽度,相当于window.innerWidth
  • 高度,相当于window.innerHeight

window.scroll

当当前浏览器窗口滚动到新位置时触发。该事件最多每16(1000/60)毫秒触发一次。

当被此事件调用时,处理器函数接收一个事件对象作为它的第一个参数和以下附加参数:

  • scrollTop,相当于window.scrollTop

属性

实例

表示应用程序的运行实例。每个iframe有一个实例。例如,如果在代理界面中打开了两个票据选项卡,并且应用程序在top_bar而且ticket_sidebar位置,应用程序将有三个实例。

您可以使用此API来建立跨位置通信和API调用。看到client.instance获取更多使用细节。

得到
             
客户端得到“实例”
返回
             
实例“9 e012b1f - 1397 - 484 - e - 8810 - c444b8085e55”instanceGuid“9 e012b1f - 1397 - 484 - e - 8810 - c444b8085e55”宿主“亚博zendesk”产品“支持”位置“ticket_sidebar”账户子域名“子域名”状态“注册”...

每个实例的键值都是instanceGuid.实例对象的内容等同于iframe的内容上下文.实例还包括状态属性后设置为“已创建”实例创建完成和“注册”后,iframe加载和SDK客户端注册

要求

返回一个包含requirement_id和一个requirement_type.有关更多信息,请参见指定应用程序需求

得到
             
客户端得到要求:标识符的
返回
             
“要求:标识符”“requirement_id”字符串/整数“requirement_type”资源类型

requirement_id可以返回一个字符串或整数,这取决于底层对象的ID。例如,ticket字段将返回一个整数,而webhooks将返回一个字符串。

注意:中列出了可用的资源类型指定应用程序需求

assetURL

返回一个完全限定的URL,指向应用程序中的文件资产目录中。

得到
             
客户端得到“assetURL:商标\ \ . png”
返回
             
“assetURL:商标\ . png”“https://.../logo.png”

注意:文件名中的点和逗号必须使用反斜杠进行转义。要在字符串文字中添加一个反斜杠,您需要使用“\ \”,因为第一个反斜杠转义第二个反斜杠。这可以通过console.log(“\ \”);

isCollapsed

返回应用程序的当前折叠状态。此属性仅对边栏位置可用,其中包括票侧边栏新票务边栏用户侧栏组织侧边栏而且聊天栏

得到
             
客户端得到“isCollapsed”
返回
             
“isCollapsed”真正的/

viewport.size

返回浏览器窗口视口的大小。

得到
             
客户端得到“viewport.size”
返回
             
“错误”“viewport.size”“宽度”1024“高度”768

行动

调整

调整应用程序的iframe尺寸。

调用
             
客户端调用“调整”宽度“300 px”高度“750 px”
参数
  • 对象,其中包含所需的维度(宽度而且高度px % vw/vh情态动词
返回

对象,其中包含合成维度

限制

调整API在某些地方有以下限制:

  • 票证、用户和组织边栏应用程序的宽度不能超过320px
  • 导航栏应用程序不能调整大小;它们总是占用最大的可用空间
  • 顶部栏应用程序不支持百分比值;使用像素值
  • 模态可以占视口的80% (80vh和80vw)

注意:确保始终调用调整每当app.activated如果你的应用在动态计算它的高度,核心事件就会被触发。这被认为是防止调整大小问题的最佳实践scrollHeightiframe将返回值为0当代理切换到另一个票据选项卡时,而原始选项卡中的应用程序仍在加载过程中。

当应用的宽度发生变化时,你可以使用resize事件监听器自动调整应用的高度票侧边栏新票务边栏.例如:

             
窗口addEventListener“调整”防反跳=>控制台日志“innerWidth”窗口innerWidthresizeApp200

instances.create

在指定位置创建应用程序的新iframe实例,例如模态在Ze亚博ndesk Support。看到模态.未来可能会提供更多的地点。

调用
             
客户端调用“instances.create”选项
参数
  • 选项:包含以下属性的对象:
    • 位置特定于产品的值。在Ze亚博ndesk Support中,需要设置为模态
    • url新iframe的URL。URL可以是绝对URL,也可以以资产/如果它是相对于上传的应用程序的资产目录。
    • 大小(可选)包含所需尺寸(宽度而且高度px % vw/vh情态动词
返回

承诺解析为包含新实例元数据的对象。

             
“instances.create”instanceGuid“9 e012b1f - 1397 - 484 - e - 8810 - c444b8085e55”...

一旦框架创建了实例,返回的promise就会解析。对于模态,只有当模态在屏幕上可见时才创建实例。如果另一个模式已经打开,它将被延迟,因为一次只能显示一个模式。

返回的数组总是有一个元素。在将来的位置,这个API可能会创建多个实例。在这种情况下,数组会更长。