如果您熟悉Zendesk Support中的占位符,那么您已经对Liquid m亚博arkup有所了解。这是我们用来启用它们的模板语言。占位符用于自动化、宏、目标、触发器和小部件中,作为动态生成的票据和用户数据的容器。关于Liquid标记,您可能不知道的是,您还可以使用它来自定义如何选择该数据并将其显示为输出。这是因为Liquid还允许您创建简单的编程逻辑,例如case语句、if语句、for循环等等。
通过直接在宏中的注释/描述操作和自动化和触发器中的电子邮件用户操作中编写简单的控制语句,您可以在一个自动化、宏或触发器中完成您过去必须在多个自动化、宏和触发器中完成的工作。您还可以自定义注释文本的显示方式。
你可以在这里找到Liquid文档设计师专用液体。详细描述了该语言的所有元素。然而,这里是对其工作原理的简要介绍。
Liquid是一种用于呈现电子邮件和HTML的模板语言。Liquid是使用占位符在评论和电子邮件通知中自动放置数据的机制。
Liquid中有两种类型的标记:
- 输出,这是包含在双花括号中的文本输出。
- 标记,其中包含确定如何用占位符表示数据的编程逻辑。
如果你简单地把输出与占位符,你大概了解了液体是什么以及它是如何使用的一半。但是,对于Liquid输出,您可能不知道的是,除了表示票据和用户数据之外,还有一些方法可用于操作文本字符串和数组。在Liquid中,这些方法被称为过滤器。例如,您可以使用过滤器将文本转换为大写字符。但这是过滤器最简单的用途之一。有关更多信息,请参阅Liquid文档。
了解如何使用Liquid的另一半来自于了解标签是什么以及如何使用它们。标记提供可用于选择和显示数据的编程逻辑。
使用Liquid标签你可以创建:
- If else语句
- 情况报表
- for循环
- 周期
- 变量赋值
有关如何使用Liquid标记的更多示例,请参阅以下文章:
36个评论
我在自动回复客户时添加了KB文章的链接。但是我不知道请求者是否点击了链接。
是否有任何方法或技巧与液体找出这个链接是否已被客户点击(查看)?
嘿@……,
关于使用Liquid来跟踪文章链接浏览量的好问题。可悲的是,液体标记往往是一种视觉语言,它会根据某些条件改变文本外观,所以我们可能没有选择跟踪链接活动的方式,但是:
跟踪链接视图,使用类似回答机器人将是完美的,因为文章建议回答机器人能够有他们的活动跟踪,包括链接视图。当Answer Bot向票据请求者推荐文章时,将生成票据事件,让您和您的代理知道请求者实际上已经查看了这些文章,请求者可能还标记了这些文章是否有帮助:
否则,如果你更喜欢只跟踪你嵌入在自动回复中的特定文章链接,而不是离开建议的回答机器人文章,启用和集成谷歌分析看起来很有希望,您可以在帮助中心添加一些事件侦听器来跟踪访问者的“引用URL”,并更好地了解您的知识库文章视图是从哪里被重定向/引用的。
希望这对你有帮助!
嗨,奥斯丁,
谢谢你的回答。在我们的例子中,我们嵌入了一些特定的文章链接,当典型的关键字在请求中(使用液体)时,这些链接就会显示出来。
我还没试过Google分析,不过以后会试试的。这是唯一的选择吗?
是否还会有一个HTML选项(例如,当请求者点击时,嵌入一个“触发”一些动作的按钮)?
有时,我们可能会在不将票据分配给实际代理的情况下解决票据。在这种情况下,我们不希望在c-sat触发器中插入空白名称。如果我理解液体,我会在自动化的电子邮件正文中插入这个:
嗨,团队!
我们有一个触发器,用来设置票据的主题。我有3个自定义字段,我们评估和依赖于空/非空值在每个字段,我们有一个稍微不同的主题。
任何人都可以评估我的液体代码,因为它实际上并没有更新主题,即使触发器正在发射。
嘿院长Kongslie!
超级固体的液体块在那里-非常感谢分享。语法和格式似乎坚实到目前为止,我可以看到。
触发器触发后,您是否碰巧看到您的票务目标出现任何失败你的目标失败选项卡在这里?
触发器仍然可以运行并通知它们的目标,但你和我只需要确保这些主题有效载荷被我们的API接受。如果你不看到你的目标的任何失败,或者如果你看到了,但不确定目标的失败意味着什么,告诉我,我可以在这个问题上更紧密地合作。
再次感谢迪恩,如果你还需要什么,请告诉我们!
奥斯汀Killey我刚才还算出了这个。我意识到这是因为我用了分页符来使代码更干净。我需要将整个主题代码放在一行上,以便JSON能够正确推送。
我还有一个问题。在一个相关的触发器上,我已经击中了相同的webhook,这是一个PUT到端点/api/v2/tickets/{{ticket.id}}。Json并发送一些液态代码。自定义字段是一个复选框,我想评估它是真还是假。问题是当我输入{% if票。Ticket_field_4412877472404 %}它的计算结果总是true。复选框有什么我需要知道的吗?
院长Kongslie-太棒了!很好地抓住了断行抛出液体输出。
这也是一个很好的问题如果条件下,我们将评估复选框字段是否存在任何值。如果复选框处于活动状态并应用于票证,则它们只能为真或假(1或0),因此,如果始终存在这些值中的任何一个,则您的如果语句将始终返回true。
考虑到这一点,请随意复制下面的if/else条件,并按照您认为合适的方式使用!需要注意的是,这个代码片段还具有换行符,使其看起来美观整洁,因此当您准备在有效负载中使用它时,可以将所有这些合并到一行中,就像您的票务主题标记一样。
奥斯汀Killey非常感谢。我曾经尝试过类似的东西,但我没有意识到我需要做包含1或0,因为JSON读取的是真或假。
谢谢你的帮助。
院长Kongslie
我正试图找出一种方法,让一个触发器在提交后立即更改票证的主题行,以便更新为标准格式,从3个不同的自定义字段中选择值,你能在你的帖子中分享你引用的触发器吗?我看不出如何使用触发器来设置主题行
威廉。格罗特
作为触发动作的一部分,你需要包括“通知活动Webhook”。然后选择您想要使用的webhook(稍后会详细介绍),并粘贴将通过webhook发送的JSON来更新您的票务主题。下面是一个例子:
替换票面末尾的1、2和3。带有适当字段id的Ticket_field。
这里有一个创建webhook的链接。你需要为这个特性创建一个ticket PUT webhook:https://support.亚博zendesk.com/hc/en-us/articles/4408839108378-Creating-webhooks-in-Admin-Center
你好,
1.是否有一种方法来“转义”,或者用什么来代替if else条件中的单引号?
例如:
{%如果ticket.brand.name == 'XYZ' %}
2.“else if”有效吗?
谢谢,
Riah
Riah老挝我不肯定,因为我还没有在Liquid中这样做,但在SQL中,例如,你会添加第二个报价。所以你的if语句看起来像这样:
Riah老挝是的,你可以在这里使用双引号,Else If也可以。
你会找到更多的信息液体文档>控制流程
我们本来有一个翻译语言的触发器,但突然间它就不能为法国用户翻译成法语了。我们尝试在Marco中创建这个功能,但最终用户收到的邮件正文是英语的,但邮件主题是法语的。任何帮助都将非常感激。
% case ticket.request .language %}
{%当'法语'%}
雪儿(e) {{ticket.requester.name}},
“你知道,我要你帮忙,我要你帮忙,我要你帮忙。”标题}}" #{{票。id}}:
现在你的回忆倒给我一个建议。信息传输不受 - - - - - - - - - - - - - - -的影响。Pour le suivet avoir + d'information sur ce subject, n' hsamsitez pass ' vous address ' votre CSM。
Cordialement,
投票支持
{% else %}
亲爱的{{ticket.requester.name}},
您要求我们就以下主题“{{票”提供帮助。标题}}" # {{ticket.id}}:
谢谢你的建议。我们将把问题转发给我们的产品团队,并关闭订单。有关此主题的跟进和更多信息,请与您的CSM联系。
真诚地,
您的支持团队
{% endcase %}
嘿,约翰,
看起来你漏掉了左花括号{
在
% case ticket.request .language %}
应该是:
{% case ticket.request .language %}
看看有没有帮助。
雅各布·克里斯坦森-我错过了它在切割和过去进入这个线程-我们已经测试了触发器和宏,似乎没有任何工作。
雅各布·克里斯坦森
我很想知道它是作为票证字段“请求者”传递的。语言”,如果它会出现在报告中,但它没有。在报告中显示的是Requester。区域设置-如果您将代码更改为下面的New code,它就会像冠军一样工作-刚刚经过测试。不知道为什么它不能在Language中工作——一年前我们设置它的时候它工作得很好
{% case ticket.request .language %}
{%当'法语' %}
{% case ticket.request .locale %}
{当'fr' %}时的%
这是一个很好的解决方案!
我仍然不知道为什么这种语言不起作用,我过去用过。但是locale应该可以正常工作。
雅各布·克里斯坦森-我们给技术支持发了一张票-我想知道他们是否弃用了语言,因为它没有像Locale那样出现在票务报告上
请告诉我他们有什么发现。
我不认为它已经被弃用了,更可能的是我认为它与表示语言的字符串有关-我记得几年前有一个类似的问题。
在这篇文章中,英语和意大利语都被用来指定语言,这是令人困惑的:
https://support.亚博zendesk.com/hc/en-us/articles/4408842967578-Using-Liquid-markup-to-support-multiple-languages-in-automations-macros-and-triggers
雅各布·克里斯坦森和约翰DiGregorio语言仍然像预期的那样工作,尽管不是上面描述的那样。
在你的例子中:
该语言被翻译为接收用户的配置文件语言设置。
因此它会呈现为"法国对于英语用户来说,但是法语一位法国用户说。(示例:向英国代理和法国客户发送通知)
正如您所描述的,区域设置是自定义这些时的安全方法。
奥斯汀Killey我目前试图在组织自定义字段上使用带有复选框的液体标记。但是不管复选框是否被选中,它总是默认为“No”。
我不知道为什么会这样。这段片段的信息是我从哪里找到的https://support.亚博zendesk.com/hc/en-us/articles/4408887218330-Using-placeholders#topic_nfn_yxq_j2b
调整你的液体,这样应该可以工作:
嘿@……
我已经做了你建议的改变,但不幸的是,我们仍然看到同样的结果,它总是默认为no。因此,当选中复选框时,它不满足第一个if语句。
在Zendesk的支持下,亚博我也尝试了类似的结果。
嘿亚当和@……,我尝试了一下并找到了解决方案(证明如下)。下面将为您的示例工作:
为了测试这些,我创建了2个Org复选框字段:
将我的测试票的组织的“真布尔值”设置为检查,并将“假布尔值”设置为未检查。
我在测试宏中使用了以下代码:
它在上述测试票据上返回这个宏预览,确认这些工作如预期的那样:
我可以确认这很有效。谢谢你们俩的帮助。
唯一有效的品牌占位符是ticket.brand.name;品牌id没有占位符——看亚博Zendesk支持占位符参考。
请登录留下评论。