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 は次の 2 つの状況で最も頻繁に 422 を返します。

  1. ステータスがクローズされているチケットに更新を PUT しようとしたとき。その場合、可能であれば、新しいチケットまたはフォローアップ チケットを作成する必要があります。
  2. チケット オブジェクトまたはチケットのサブオブジェクトの一部の属性に無効な値を設定しています。通常、ZD 応答ではどの属性に無効な値があるかがわからないため、これをデバッグするのは特に面倒です。チケットに設定しているすべての整数値を確認する必要があります。たとえば、サンドボックス システムで開発しているときに、Zendesk の本番環境のグループ ID を使用してやけどを負ったことがあります (カスタム フィールド、グループ、ユーザーなどを含むすべての ID がまったく異なる可能性が高いです)。

POST 経由で新しいチケットを作成する場合は、上記の 2 番目の箇条書きに従って、設定しているすべての値を確認してください。

于 2014-12-31T02:32:50.933 に答える
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 に答える