2017-11-08 9 views
0

infusionsoft CRM에는 연락처 메모를 추가하는 "Notes"라는 연락처 필드가 있습니다. xml-rpc protocol, java를 사용하여 연락처, 검색 또는 업데이트를 만들 수있었습니다. 나는 다음과 같은 방법으로 노트를 추가하려고했으나 (아래 코드를 참고할 것), 그렇게 할 수 없었다. 누군가가 자바에서 자신의 API를 사용하여 연락처에 대한 메모를 추가하는 방법에 대해 나를 도울 수 있습니까?infusionsoft crm api with java with 연락처를 추가하는 방법

내 접근이

:

XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); 
XmlRpcClient client = new XmlRpcClient(); 
config.setServerURL(new URL(uri)); //my app uri 
client.setConfig(config); 

List params=new ArrayList(); 
List customField=new ArrayList(); 
customField.add("this is new text1\n"); 
customField.add("this is text2\n"); 
customField.add("text3\n"); 
customField.add("text4\n"); 

params.add(api_key);   
params.add("ContactNotes");//found from contact Table-schema 
params.add(customField); 
params.add(contactId); //suppose that was an known contactId Integer. 
Integer responseCode=(Integer) client.execute("ContactService.add", params); 

코드를 실행, 그것은이 오류가 있습니다 :

org.apache.xmlrpc.XmlRpcException: No method matching arguments: java.lang.String, java.lang.String, [Ljava.lang.Object;, java.lang.Integer 
at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:197) 
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156) 
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143) 
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69) 
at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56) 
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167) 
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:158) 
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:147) 
at infusionsoft.ContactOperation.addNote(ContactOperation.java:123) 
at infusionsoft.Main.main(Main.java:80) 

답변

0

난 그냥 @Nicholas_Trecina에 의해 infusionsoft community post에서 알게을 CompletionDate 필드를 추가하고 일부를 만든 내 코드가 바뀐다. 그리고 그것은 작동합니다.

editedVersion :

List params = new ArrayList();  
Map noteData = new HashMap(); 

noteData.put("ContactId", contactId); 
noteData.put("ActionDescription", "My Note Title"); 
noteData.put("isAppointment", 0); 
noteData.put("ActionDate","20170803T08:00:00"); 
noteData.put("CompletionDate","20171109"); 
noteData.put("CreationNotes", "Note data- what i want to save as note: bla bla bla.."); 

params.add(api_key);   
params.add("ContactAction");    
params.add(noteData); 

Integer responseCode = (Integer) client.execute(
       "DataService.add", params);