7

我正在使用 Zendesk_v2(使用 nuget 包上传)在 ASP.NET MVC5 中开发一个应用程序。我拥有子域 easynext.zendesk.com 的管理员权限。

这是我创建票证的代码:

private static string requestUri = "https://easynext.zendesk.com/api/v2/tickets.json"; 
private static string _username = "gbalasel@easynext.be"; 
private static string _password = "MYPASSWORD"; 
private static ZendeskApi apiZendesk = new ZendeskApi(requestUri, _username, _password, "");

private void CréerTicketZendesk() { 
  var myTicket = apiZendesk.Tickets.CreateTicket(new Ticket() 
  { 
    Subject = "test ticket", 
    Priority = TicketPriorities.Low 
  });
}

此代码向我发送了一个422 Unprocessable Entity错误。

我还在 Zendesk 中为客户创建了一个测试帐户,该方法运行良好,票证是在 Zendesk 中创建的,我也在我的电子邮件帐户中收到了它。

4

5 回答 5

4

状态 422 很可能是由您的语义错误引起的。根据我的经验,ZD 在两种情况下最常返回 422:

  1. 尝试对状态已关闭的工单进行更新时。在这种情况下,如果可能,您需要创建新工单或后续工单。
  2. 在工单对象或工单子对象的某些属性上设置无效值。调试起来可能特别乏味,因为 ZD 响应通常不会告诉您哪个属性具有无效值。您应该检查您在工单上设置的所有整数值。例如,在沙盒系统上进行开发时,我曾因使用生产 Zendesk 中的组 ID 而被烧毁(它们很可能对所有事物都有完全不同的 ID,包括自定义字段、组、用户等)。

如果您通过 POST 创建新票证,请务必检查您设置的所有值,如我上面的第二个要点。

于 2014-12-31T02:32:50.933 回答
1

这告诉你你还没有形成一个它可以处理的请求;目标脚本存在(否则您会看到 404),正在处理请求(否则您会收到 400 错误)并且它已正确编码(或者您会收到 415 错误)但实际指令可以' t 进行。

看看这个以获取更多信息。 错误列表

于 2014-06-18T16:01:09.173 回答
1

是的,我今天遇到同样的问题并解决了它。问题是您需要在票证结构中添加评论和正文部分。

所以这就是它的样子(在 PHP 中):

$ticket = [
    'group_id'       => '35135',
    'title'          => 'Title',
    'subject'        => 'Subject',
    'type'           => 'ticket',
    'comment'        => ['body' => 'Comment text.'],
    'priority'       => 'normal',
    'ticket_form_id' => '454524',
    'custom_fields'  => [
        '51325351' => 'test',
    ],
];

看看这里: https ://developer.zendesk.com/rest_api/docs/core/tickets

于 2018-07-12T14:57:38.930 回答
1

如果有人遇到同样的问题,只是为了添加到解决方案中。

requester_id在发布票证 json 时是强制性的。

样本票 json -

{
  "ticket": {   
    "subject": "My printer is on fire!",
    "requester_id": 123,
    "assignee_id": 456,
    "type": "incident",
    "subject": "Help, my printer is on fire!",
    "description": "The fire is very colorful.",
    "priority": "High",
    "status": "open",
    "custom_fields": [
      {
        "id":    111, // custom field ID
        "value": "500.23"
      }
    ]
  }
}

谢谢

于 2017-09-06T23:51:49.520 回答
0

我在尝试创建票证时遇到了 Zendesk API 抛出 422 的问题。所有参数都正确,问题是为其创建票证的受让人不属于该组。

我通过使用 FIDLER 查看请求响应发现了这个错误。

于 2018-11-15T16:21:09.407 回答