Javascript Zendesk应用程序错误&;Webhook Post延迟/失败
我正在构建一个Zendesk应用程序,它可以将各种信息发布到webhook。目前,我遇到两个问题。按下发送电子邮件按钮时,Javascript Zendesk应用程序错误&;Webhook Post延迟/失败,javascript,webhooks,zendesk,Javascript,Webhooks,Zendesk,我正在构建一个Zendesk应用程序,它可以将各种信息发布到webhook。目前,我遇到两个问题。按下发送电子邮件按钮时,client.invoke()函数表示它不是控制台中的函数。此外,有时按下按钮后,应用程序将成功发布到webhook,其他时候它根本不会发布。我无法缩小它发布时出现差异的原因。我不确定这是否与我构建的应用程序有关,或者与Zendesk交互的问题有关 以下是应用程序: var client=ZAFClient.init(); invoke('resize',{width:'
client.invoke()
函数表示它不是控制台中的函数。此外,有时按下按钮后,应用程序将成功发布到webhook,其他时候它根本不会发布。我无法缩小它发布时出现差异的原因。我不确定这是否与我构建的应用程序有关,或者与Zendesk交互的问题有关
以下是应用程序:
var client=ZAFClient.init();
invoke('resize',{width:'100%',height:'450px'});
client.get('ticket.brand.subdomain')。然后(
功能(数据){
var subdomain=data['ticket.brand.subdomain'];
log('Zendesk子域是'+子域);
document.getElementById('subdomainform')。value=subdomain;
}
);
client.get('ticket.organization.id')。然后(
功能(数据){
var org_id=data['ticket.organization.id'];
log('organid为'+organu-id');
document.getElementById('orgidform')。value=org\u id;
}
);
名字
姓
电子邮件
住宅的
商业的
单击以发送电子邮件
以下字段仅为准备好的字段,需要提交。如果您没有看到它们,请刷新应用程序
让内容=[];
const addDay1=(ev)=>{
让信息={
id:Date.now(),
firstName:document.getElementById('firstName')。值,
lastName:document.getElementById('lastName')。值,
电子邮件:document.getElementById('email')。值,
子域:document.getElementById('subdomainform')。值,
orgid:document.getElementById('orgidform')。值,
rescom:document.getElementById('rescom').value
}
内容。推送(内容);
document.forms[0].reset();
常量Url='{PLACEHOLDER}';
$.ajax({
url:“{WEBHOOK url}”,
类型:“POST”,
数据类型:“json”,
数据:{信息},
完成:函数(){alert(“Failure”)}
});
}
document.addEventListener('DOMContentLoaded',()=>{
document.getElementById('btn')。addEventListener('click',addDay1);
});
这是由Zendesk的社区经理解决的。见下文:
在尝试执行此操作之前,请确保ZAFClient已完全注册
后续的ZAFClient方法。比如:
client.on('app.registered', e => {
client.get('ticket.brand.subdomain').then(
function(data) {
var subdomain = data['ticket.brand.subdomain'];
console.log('Zendesk Subdomain is ' + subdomain);
document.getElementById('subdomainform').value = subdomain;
}
);
client.get('ticket.organization').then(
function(data) {
var org_id = data['ticket.organization.id'];
console.log('Org id is ' + org_id);
document.getElementById('orgidform').value = org_id;
}
);
}) The "not a function in the console" error is caused from the app's HTML page being resubmitted again when you click the button. In
Zendesk应用程序框架,来自应用程序的连接(使用
主代理窗口的ZAFClient.init())是通过参数完成的
在框架首次加载应用程序时传递给应用程序的。你可以
如果要查找以下内容,请在浏览器的“网络”选项卡中查看
“iframe.html?origin=https%3A%2F%2your_subdomain.zendesk.com&app_guid=ff7133010-abff-4f1c-a7bf-ff7133fff7133”
--建立连接需要使用origin和app_guid参数。重新提交页面时,将不再传递这些参数
重新加载新页面和对ZAFClient.init()的新调用不起作用
成功初始化。因此,导致错误时,现在无效
“客户端”对象正试图用于调用“调用”。你必须
将这些应用程序页面视为单页应用程序
呸!尽管如此,您仍然可以使用HTML功能,
只是不要让它在按下按钮时重新提交整个页面
按下。您可以通过向按钮标签添加type=“button”来完成此操作
单击以发送电子邮件
另请参见:不提交表单的HTML按钮
希望这能让你上路
这是由Zendesk的社区经理解决的。见下文: 在尝试执行此操作之前,请确保ZAFClient已完全注册 后续的ZAFClient方法。比如:
client.on('app.registered', e => {
client.get('ticket.brand.subdomain').then(
function(data) {
var subdomain = data['ticket.brand.subdomain'];
console.log('Zendesk Subdomain is ' + subdomain);
document.getElementById('subdomainform').value = subdomain;
}
);
client.get('ticket.organization').then(
function(data) {
var org_id = data['ticket.organization.id'];
console.log('Org id is ' + org_id);
document.getElementById('orgidform').value = org_id;
}
);
}) The "not a function in the console" error is caused from the app's HTML page being resubmitted again when you click the button. In
Zendesk应用程序框架,来自应用程序的连接(使用
主代理窗口的ZAFClient.init())是通过参数完成的
在框架首次加载应用程序时传递给应用程序的。你可以
如果要查找以下内容,请在浏览器的“网络”选项卡中查看
“iframe.html?origin=https%3A%2F%2your_subdomain.zendesk.com&app_guid=ff7133010-abff-4f1c-a7bf-ff7133fff7133”
--建立连接需要使用origin和app_guid参数。重新提交页面时,将不再传递这些参数
重新加载新页面和对ZAFClient.init()的新调用不起作用
成功初始化。因此,导致错误时,现在无效
“客户端”对象正试图用于调用“调用”。你必须
将这些应用程序页面视为单页应用程序
呸!尽管如此,您仍然可以使用HTML功能,
只是不要让它在按下按钮时重新提交整个页面
按下。您可以通过向按钮标签添加type=“button”来完成此操作
单击以发送电子邮件
另请参见:不提交表单的HTML按钮
希望这能让你上路