在Zendesk应用中将自定义字段作为数组发送

时间:2018-10-12 10:05:21

标签: javascript zendesk zendesk-api zendesk-app

我正在Zendesk中开发一个应用程序。在某个时候,我正在创建新票证。这是相关代码:

createTicketValues: function(){
    var newTicket = {};
    newTicket.ticket = {};
    ...
    newTicket.ticket.custom_fields = [{id: 25064823, value: document.getElementById('25064823').value},{id: 360011962831, value: document.getElementById('360011962831').value}];
    ...
    app.createTicket( newTicket);
},
createTicket: function(ticketData){
    console.log(ticketData);
    var request = 
    {
        url: '/api/v2/tickets.json',
        type: 'POST',
        dataType: 'json',
        data: ticketData
    };

    client.request(request).then(function (data){
        app.addParentToProject();
    })
},

但是,新票证没有任何这些自定义字段。这很奇怪,因为:

我还添加了其他字段(机票表格ID,优先级...),这些字段可以正确保存

如果我只保存一个这样的字段:

    newTicket.ticket.custom_fields = {id: 25064823, value: document.getElementById('25064823').value};

或类似的

    newTicket.ticket.custom_fields = {id: 360011962831, value: document.getElementById('360011962831').value};

一个自定义字段可以正确保存(但我必须选择保存其中一个)

在声明数组时我做错什么了吗?

对我来说,它看起来与他们的文档(https://developer.zendesk.com/rest_api/docs/core/tickets#setting-custom-field-values)中描述的内容相同,但是我已经花了几个小时试图对其进行修复,但无法修复。

1 个答案:

答案 0 :(得分:0)

文档指出将id和value属性放在双引号中-您可以尝试一下吗?否则内容似乎还可以。

newTicket.ticket.custom_fields = [{"id": 25064823, "value": document.getElementById('25064823').value},{"id": 360011962831, "value": document.getElementById('360011962831').value}];