2017-02-06 3 views
0

API를 통해 Freshdesk에 첨부 파일이있는 티켓을 추가하고 싶습니다. 첨부 파일없이 티켓을 추가하는 방법을 알고 있으며 정상적으로 작동합니다. 그러나 첨부 파일이있는 티켓을 추가하는 방법을 모르겠습니다. 나는 이것을 JSON으로하고 싶다. 내 파일 바이트 배열을Freshdesk API 첨부 파일이있는 티켓 추가

string json = $"{{\"helpdesk_ticket\": {{\"subject\":\"{subject}\",\"description_html\":\"{fullDescription}\",\"name\":\"{user}\",\"attachments\":{{\"\":[{{\"resource\":\"{bytes}\"}}]}}}}}}"; 

바이트 필드에 : 나는 이런 식으로 뭔가를 시도했다. 하지만 작동하지 않습니다. JSON으로 파일을 Freshdesk API에 전달할 수 있습니까?

+0

난 아직도 티켓을 전송 고민하고 있습니다. 코드를 공유 할 수 있습니까? 이 https://github.com/freshdesk/fresh-samples/blob/v1/jquery_samples/create_ticket.html이 작동하지 않습니다. – CodeSlave

답변

0

나는 RestSharp와 함께이 문제를 해결. 이것은 REST API에 대한 간단한 도구입니다. 내가 첨부 파일로 티켓을 보내고있을 때 나는이 코드를 사용합니다

 var client = new RestClient(_freshdeskUrl); 
     client.Authenticator = new HttpBasicAuthenticator(_apiKey, "X"); 
     var request = new RestRequest("", Method.POST); 

     request.AddHeader("Accept", "application/json"); 
     request.AddHeader("Content-Type", "multipart/form-data"); 
     request.AddParameter("email", "[email protected]"); 
     request.AddParameter("subject", "Subject"); 
     request.AddParameter("description", "Description"); 
     request.AddParameter("name", "Name"); 
     request.AddParameter("status", "2"); 
     request.AddParameter("priority", "1"); 
     request.AddFile("attachments[]", bytes, "Logs.txt", "text/plain"); 

     var response = client.Execute(request); 

을 그리고 내가 첨부하지 않고 티켓을 보내고있을 때 나는이 코드를 사용합니다

 RestClient client = new RestClient(_freshdeskUrl); 
     client.Authenticator = new HttpBasicAuthenticator(_apiKey, "X"); 
     RestRequest request = new RestRequest("", Method.POST); 

     request.AddHeader("Accept", "application/json"); 

     request.AddJsonBody(new 
     { 
      email = "[email protected]", 
      subject = "Subject", 
      description = "Description", 
      name = "Name", 
      status = 2, 
      priority = 1 
     }); 

     var response = client.Execute(request);