Java SDKのサンプルコード - レコードの操作

レコードの作成
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void create() throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Invoices",null); //To get ZCRMRecord instance,Invoices is a module api name, null is passed to the entity id 
        record.setFieldValue("Subject","Invoice"); //This function use to set FieldApiName and value similar to all other FieldApis and Custom field
        record.setFieldValue("Account_Name",35240330246560L);
       
       /** Following methods are being used only by Inventory modules **/

        ZCRMInventoryLineItem lineItem=ZCRMInventoryLineItem.getInstance(null); //To get ZCRMInventoryLineItem instance, null passed to entity id  
        lineItem.setDescription("Product_description"); //To set line item description
        lineItem.setDiscount(233.23); //To set line item discount
        lineItem.setListPrice(100.00); //To set line item list price
       
        ZCRMTax taxInstance1=ZCRMTax.getInstance("Sales Tax"); //To get ZCRMTax instance, "Sales Tax" is the tax name
        taxInstance1.setPercentage(2); //To set tax percentage
        taxInstance1.setValue(50); //To set tax value
        lineItem.addLineTax( taxInstance1); //To set line tax to line item
       
        ZCRMTax taxInstance2=ZCRMTax.getInstance("vat"); //To get ZCRMTax instance,"Vat" is the tax name
        taxInstance2.setPercentage(2); //To set tax percentage
        taxInstance2.setValue(50); //To set tax value
        lineItem.addLineTax( taxInstance2); //To set line tax to line item
        ZCRMRecord product =ZCRMRecord.getInstance("Products",35240330307001L);//product is a module api name,35240330307001L- record id of the product
        lineItem.setProduct(product); //To set product to line item
        lineItem.setQuantity(100.00); //To set product quantity to this line item
        record.addLineItem( lineItem);  //to add the line item to the record
       
        List<CommonUtil.Trigger> triggers= Arrays.asList(CommonUtil.Trigger.workflow,CommonUtil.Trigger.approval,CommonUtil.Trigger.blueprint);
        Long lar_id=1313121313L;
        APIResponse response= record.create(triggers,lar_id); //creating the record ,triggers and lar_id are optional , set null if not needed
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.create();
    }
}
 
レコードの更新
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void update() throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330486715L); //To get ZCRMRecord instance,"Leads"- is the module api name ,35240330486715L is the entity id
        record.setFieldValue("Subject","Invoice"); //This function use to set FieldApiName and value similar to all other FieldApis and Custom field
        record.setFieldValue("Account_Name",35240330246560L);
       
       /** Following methods are being used only by Inventory modules **/

        ZCRMInventoryLineItem lineItem=ZCRMInventoryLineItem.getInstance(null); //To get ZCRMInventoryLineItem instance,null passed to entity id  
        lineItem.setDescription("Product_description"); //To set line item description
        lineItem.setDiscount(233.23); //To set line item discount
        lineItem.setListPrice(100.00); //To set line item list price
       
        ZCRMTax taxInstance1=ZCRMTax.getInstance("Sales Tax"); //To get ZCRMTax instance,"Sales Tax" is the tax name
        taxInstance1.setPercentage(2); //To set tax percentage
        taxInstance1.setValue(50); //To set tax value
        lineItem.addLineTax( taxInstance1); //To set line tax to line item
       
        ZCRMTax taxInstance2=ZCRMTax.getInstance("tax"); //To get ZCRMTax instance,"tax" is the tax name
        taxInstance2.setPercentage(2); //To set tax percentage
        taxInstance2.setValue(50); //To set tax value
        lineItem.addLineTax( taxInstance2); //To set line tax to line item
        ZCRMRecord product =ZCRMRecord.getInstance("Products",35240330307001L);//product is a module api name,35240330307001L- record id of the product
        lineItem.setProduct(product); //To set product to line item
        lineItem.setQuantity(100.00); //To set product quantity to this line item
        record.addLineItem( lineItem);  //to add the line item to the record
        List<CommonUtil.Trigger> triggers= Arrays.asList(CommonUtil.Trigger.workflow,CommonUtil.Trigger.approval,CommonUtil.Trigger.blueprint);
      //pushing the record to the array 
        APIResponse responseIn= record.update(null);//to update record, triggers are optional , set null or ignore parameter if not needed
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.update();
    }
}
 
レコードの削除
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void delete() throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330777061L); //To get ZCRMRecord instance,"Leads"- is the module api name,35240330777061L is the entity id
        APIResponse responseIn= record.delete();//to update record, triggers are optional , set null or ignore parameter if not needed
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.delete();
    }
}
 
レコードの変換
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void convert() throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330800059L); //To get ZCRMRecord instance.,"Leads"- is the module api name,35240330800059L is the entity id
        ZCRMUser user=ZCRMUser.getInstance(35240330191017L);//to get the user instance,35240330191017L is the user id
        ZCRMRecord deal=ZCRMRecord.getInstance("Deal", null);// deal is the module api name,null is passed as entity id  
        deal.setFieldValue("Deal_Name", "qdqdwqd");
        deal.setFieldValue("Closing_Date", "2019-02-07");
        deal.setFieldValue("Stage", "Qualification");
         HashMap<String, Long> hash_map= record.convert(deal,user);//to convert the record,the potential record and user can be ignore if not needed
         for(HashMap.Entry<String, Long> entry : hash_map.entrySet()) {
          System.out.println(entry.getKey() + " : " + entry.getValue());
         }
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.convert();
    }
}
 
レコード内のメモ
メモの取得
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void getNotes() throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        String sortByField="Lead_owner";//sortby field api name
        SortOrder sortOrder=CommonUtil.SortOrder.asc;//sort order
        int page=1;//page
        int per_page=200;//records per page
        String modifiedSince="2019-01-04T16:31:50+05:30";//to get notes modified since this datetime in iso 8601 format
        BulkAPIResponse responseIn=record.getNotes(sortByField, sortOrder, page, per_page, modifiedSince);//parameters are optional , set null if not needed
        List <ZCRMNote> notes=(List <ZCRMNote>)responseIn.getData();
        for(ZCRMNote note:notes){
            System.out.println(note.getId()); //To get note id
            System.out.println(note.getTitle()); //To get note title
            System.out.println(note.getContent()); //To get note content
            ZCRMRecord parentRecord=note.getParentRecord(); //To get note's parent record
            System.out.println(parentRecord.getEntityId()); //To get note's parent record id
            ZCRMUser createdBy=note.getCreatedBy();
            System.out.println(createdBy.getId()); //To get user_id who created the note
            System.out.println(createdBy.getFullName()); //To get user name who created the note
            ZCRMUser modifiedBy=note.getModifiedBy();
            System.out.println(modifiedBy.getId()); //To get user_id who modified the note
            System.out.println(modifiedBy.getFullName()); //To get user name who modified the note
            ZCRMUser owner=note.getNotesOwner();
            System.out.println(owner.getId()); //To get note_record owner id
            System.out.println(owner.getFullName()); //To get note_record Owner name
            System.out.println(note.getCreatedTime()); //To get created time of the note
            System.out.println(note.getModifiedTime()); //To get modified time of the note
            List <ZCRMAttachment> attchments=(List<ZCRMAttachment>)note.getAttachments(); //To get attachments of the note_record
            if(attchments!=null) //check If attachments is empty/not
            {
                for(ZCRMAttachment attchmentIns : attchments)
                {
                    System.out.println(attchmentIns.getId()); //To get the note's attachment id
                    System.out.println(attchmentIns.getFileName()); //To get the note's attachment file name
                    System.out.println(attchmentIns.getFileType()); //To get the note's attachment file type
                    System.out.println(attchmentIns.getSize()); //To get the note's attachment file size
                    ZCRMRecord parentRecord1=attchmentIns.getParentRecord();
                    System.out.println(parentRecord1.getEntityId()); //To get the note's parent record id
                    ZCRMUser createdBy1=attchmentIns.getCreatedBy();
                    System.out.println(createdBy1.getId()); //To get user_id who created the note's attachment
                    System.out.println(createdBy1.getFullName()); //To get user name who created the note's attachment
                    ZCRMUser modifiedBy1=attchmentIns.getModifiedBy();
                    System.out.println(modifiedBy1.getId()); //To get user_id who modified the note's attachment
                    System.out.println(modifiedBy1.getFullName()); //To get user name who modified the note's attachment
                    ZCRMUser owner1=attchmentIns.getOwner();
                    System.out.println(owner1.getId()); //To get the note's attachment owner id
                    System.out.println(owner1.getFullName()); //To get the note's attachment owner name
                    System.out.println(attchmentIns.getCreatedTime()); //To get attachment created time
                    System.out.println(attchmentIns.getModifiedTime()); //To get attachment modified time
                }
            }
        }
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.getNotes();
    }
}
 
メモの追加
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void addNote() throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        ZCRMNote note = ZCRMNote.getInstance(record, null);
        note.setTitle("title");
        note.setContent("note content");
        APIResponse responseIn=record.addNote(note);
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.addNote();
    }
}
 
メモの更新
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void updateNote() throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        ZCRMNote note = ZCRMNote.getInstance(record,35240330801149L );//35240330801149L- note id
        note.setTitle("title");
        note.setContent("note content");
        APIResponse responseIn=record.updateNote(note);
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.updateNote();
    }
}
 
メモの削除
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void deleteNote() throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        ZCRMNote note = ZCRMNote.getInstance(record,35240330801149L );//35240330801149L- note id
        APIResponse responseIn=record.deleteNote(note);
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.deleteNote();
    }
}
 
レコードのタグ
特定のレコードへのタグの追加
              
              
import java.util.ArrayList;
import java.util.List;

import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.exception.ZCRMException;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;

public class Record 
{
    public Record() throws Exception
    {
        ZCRMRestClient.initialize(configurations_map);
    }
    
    public void addTagsToSpecificRecord() throws ZCRMException
    {
        ZCRMRecord tag = ZCRMRecord.getInstance("Leads", 5385113101L); // Leads is the Module API Name , 5385113101L is the record ID
        List<String> tagNames = new ArrayList<String>();
        tagnames.add("N1"); // N1 is the name of the tag
        tagnames.add("N2"); // N2 is the name of the tag
        APIResponse response = tag.addTags(tagNames); // tagNames is List
    
        ZCRMRecord record = (ZCRMRecord)response.getData();
        System.out.println(record.getModuleAPIName());
        System.out.println(record.getEntityId());
        for (String tagName : record.getTagNames())
        {
            System.out.println(tagName);
        }
        System.out.println(response.getMessage());
        System.out.println(response.getStatus());
        System.out.println(response.getStatusCode());
        System.out.println(response.getResponseJSON());
    }
    
    public static void main(String[] args) throws Exception 
    {    
        Record obj = new Record();
        obj.addTagsToSpecificRecord();
    }
}
 
特定のレコードからのタグの削除
              
              
import java.util.ArrayList;
import java.util.List;

import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.exception.ZCRMException;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;

public class Record 
{
    public Record() throws Exception
    {
        ZCRMRestClient.initialize(configurations_map);
    }
    
    public void removeTagsFromSpecificRecord() throws ZCRMException
    {
        ZCRMRecord record = ZCRMRecord.getInstance("Leads", 5382713101L); //Leads is the Module API Name , 5385113101L is the record ID
        List<String> tagNames = new ArrayList<String>();
        tagNames.add("N1"); //N1 is the name of the Tag
        tagNames.add("N2"); //N2 is the name of the Tag
        APIResponse response = record.removeTags(tagNames);
        ZCRMRecord record = (ZCRMRecord)response.getData();
        System.out.println(record.getModuleAPIName());
        System.out.println(record.getEntityId());
        for (String tagName : record.getTagNames())
        {
            System.out.println(tagName);
        }
        System.out.println(response.getMessage());
        System.out.println(response.getStatus());
        System.out.println(response.getStatusCode());
        System.out.println(response.getResponseJSON());
    }
    
    public static void main(String[] args) throws Exception 
    {    
        Record obj = new Record();
        obj.removeTagsFromSpecificRecord();
    }
}
 
レコード内のファイルと添付ファイル
添付ファイルの取得
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void getAllAttachmentsDetails() throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        int page=1;//page
        int per_page=200;//records per page
        String modifiedSince="2019-01-04T16:31:50+05:30";//to get notes modified since this datetime in iso 8601 format
        BulkAPIResponse responseIn=record.getAllAttachmentsDetails(page, per_page, modifiedSince);//parameters are optional , set null if not needed
        List <ZCRMAttachment> attchments=(List<ZCRMAttachment>)responseIn.getData(); //To get attachments of the note_record
        if(attchments!=null) //check If attachments is empty/not
        {
            for(ZCRMAttachment attchmentIns : attchments)
            {
                System.out.println(attchmentIns.getId()); //To get the note's attachment id
                System.out.println(attchmentIns.getFileName()); //To get the note's attachment file name
                System.out.println(attchmentIns.getFileType()); //To get the note's attachment file type
                System.out.println(attchmentIns.getSize()); //To get the note's attachment file size
                ZCRMRecord parentRecord1=attchmentIns.getParentRecord();
                System.out.println(parentRecord1.getEntityId()); //To get the note's parent record id
                ZCRMUser createdBy1=attchmentIns.getCreatedBy();
                System.out.println(createdBy1.getId()); //To get user_id who created the note's attachment
                System.out.println(createdBy1.getFullName()); //To get user name who created the note's attachment
                ZCRMUser modifiedBy1=attchmentIns.getModifiedBy();
                System.out.println(modifiedBy1.getId()); //To get user_id who modified the note's attachment
                System.out.println(modifiedBy1.getFullName()); //To get user name who modified the note's attachment
                ZCRMUser owner1=attchmentIns.getOwner();
                System.out.println(owner1.getId()); //To get the note's attachment owner id
                System.out.println(owner1.getFullName()); //To get the note's attachment owner name
                System.out.println(attchmentIns.getCreatedTime()); //To get attachment created time
                System.out.println(attchmentIns.getModifiedTime()); //To get attachment modified time
            }
        }
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.getAllAttachmentsDetails();
    }
}
 
添付ファイルのアップロード
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void uploadAttachment() throws Exception{
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        APIResponse responseIn=record.uploadAttachment("path/to/file"); // $filePath - absolute path of the attachment to be uploaded.
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.uploadAttachment();
    }
}
 
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void uploadLinkAsAttachment() throws Exception{
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        APIResponse responseIn=record.uploadLinkAsAttachment("https://www.google.com/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwiBw56T19vfAhVIfisKHRNrDH4QjRx6BAgBEAU&url=https%3A%2F%2Fwww.pexels.com%2Fsearch%2Fnature%2F&psig=AOvVaw3CtMR6IfHNO2ArtwV_BIGq&ust=1546950855212495"); // $filePath - absolute path of the attachment to be uploaded.
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.uploadLinkAsAttachment();
    }
}
 
添付ファイルのダウンロード
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void downloadAttachment() throws Exception{
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        FileAPIResponse responseIn=record.downloadAttachment(35240330793164L);//35240330793164L -entity id
       String filepath="path/to/folder/";
        File file=new File(filepath+responseIn.getFileName()); // $filePath - absolute path where downloaded file has to be stored.
        System.out.println( "HTTP Status Code:"+responseIn.getStatusCode());
        System.out.println( "File Name:"+responseIn.getFileName());
        InputStream is = responseIn.getFileAsStream();
        OutputStream os = new FileOutputStream(file);
        
        byte[] buffer = new byte[1024];
        int bytesRead;
        //read from is to buffer
        while((bytesRead = is.read(buffer)) !=-1){
            os.write(buffer, 0, bytesRead);
        }
        is.close();
        //flush OutputStream to write any buffered data to file
        os.flush();
        os.close();
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.downloadAttachment();
    }
}
 
添付ファイルの削除
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void deleteAttachment() throws Exception{
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        APIResponse responseIn=record.deleteAttachment(35240330793164L);
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.deleteAttachment();
    }
}
 
レコード内の画像
写真のアップロード
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void uploadPhoto() throws Exception{
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        APIResponse responseIn=record.uploadPhoto("path/to/pic");
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.uploadPhoto();
    }
}
 
写真のダウンロード
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void downloadPhoto() throws Exception{
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        FileAPIResponse responseIn=record.downloadPhoto();
        String filepath="path/to/folder/";
        File file=new File(filepath+responseIn.getFileName()); // $filePath - absolute path where downloaded file has to be stored.
        System.out.println( "HTTP Status Code:"+responseIn.getStatusCode());
        System.out.println( "File Name:"+responseIn.getFileName());
        InputStream is = responseIn.getFileAsStream();
        OutputStream os = new FileOutputStream(file);
        
        byte[] buffer = new byte[1024];
        int bytesRead;
        //read from is to buffer
        while((bytesRead = is.read(buffer)) !=-1){
            os.write(buffer, 0, bytesRead);
        }
        is.close();
        //flush OutputStream to write any buffered data to file
        os.flush();
        os.close();
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.downloadPhoto();
    }
}
 
写真の削除
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void deletePhoto() throws Exception{
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        APIResponse responseIn=record.deletePhoto();
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.deletePhoto();
    }
}
 
レコードの連結
レコード間の関連付けの追加
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void addRelation() throws Exception{
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        ZCRMJunctionRecord junctionRecord=ZCRMJunctionRecord.getInstance("Products", 35240330800071L);//products is the module api name,35240330800071L -entity id
        APIResponse responseIn=record.addRelation(junctionRecord);
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.addRelation();
    }
}
 
レコード間の関連付けの削除(リンク解除)
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void deleteRelation() throws Exception{
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",35240330409001L); //To get ZCRMRecord instance,leads is the module api name,35240330409001L-entity id
        ZCRMJunctionRecord junctionRecord=ZCRMJunctionRecord.getInstance("Products", 35240330800071L);//products is the module api name,35240330800071L -entity id
        APIResponse responseIn=record.deleteRelation(junctionRecord);
        System.out.println( "Status:"+ responseIn.getMessage()); //To get response status
        System.out.println( "Message:"+ responseIn.getStatus()); //To get response message
        System.out.println("http code"+ responseIn.getStatusCode()); //To get http response code
        System.out.println( " Code:"+responseIn.getResponseJSON().toString());
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.deleteRelation();
    }
}
 
              
              
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.zoho.crm.library.api.APIConstants;
import com.zoho.crm.library.api.response.APIResponse;
import com.zoho.crm.library.api.response.BulkAPIResponse;
import com.zoho.crm.library.api.response.FileAPIResponse;
import com.zoho.crm.library.common.CommonUtil;
import com.zoho.crm.library.common.CommonUtil.SortOrder;
import com.zoho.crm.library.crud.ZCRMAttachment;
import com.zoho.crm.library.crud.ZCRMInventoryLineItem;
import com.zoho.crm.library.crud.ZCRMJunctionRecord;
import com.zoho.crm.library.crud.ZCRMModuleRelation;
import com.zoho.crm.library.crud.ZCRMNote;
import com.zoho.crm.library.crud.ZCRMRecord;
import com.zoho.crm.library.crud.ZCRMTax;
import com.zoho.crm.library.setup.restclient.ZCRMRestClient;
import com.zoho.crm.library.setup.users.ZCRMUser;

public class Record {
    public Record() throws Exception{
        ZCRMRestClient.initialize(configurations_map);
    }
    public void getRelatedListRecords()throws Exception {
        ZCRMRecord record=ZCRMRecord.getInstance("Leads",3524033000000777045L); //To get ZCRMRecord instance
        String relatedListAPIName="Attachments";
        String sortByField="Last_Name";//sortby field api name,Last_Name is the api name of the last name , can be given null
        SortOrder sortOrder=CommonUtil.SortOrder.asc;//sort order
        int page=1;//page
        int per_page=200;//records per page
        String modifiedSince="2019-01-04T16:31:50";//to get notes modified since this date
        List<ZCRMRecord> relatedlistsrecords=(List<ZCRMRecord> )record.getRelatedListRecords(relatedListAPIName, sortByField, sortOrder, page, per_page, modifiedSince).getData();
        for (ZCRMRecord  relatedlistrecord: relatedlistsrecords){
            System.out.println(relatedlistrecord.getEntityId());//to get the entity id 
            System.out.println(relatedlistrecord.getFieldValue("File_Name"));//to get the file name
            System.out.println(relatedlistrecord.getModuleAPIName());//to get the api name of the module
        }
        relatedListAPIName="Products";
        List<ZCRMRecord> relatedlistsrecords1=(List<ZCRMRecord> )record.getRelatedListRecords(relatedListAPIName, sortByField, sortOrder, page, per_page, modifiedSince).getData();
        for ( ZCRMRecord relatedlistrecord : relatedlistsrecords1){
            System.out.println(relatedlistrecord.getModuleAPIName());//to get the api name of the module
            System.out.println(relatedlistrecord.getFieldValue("Product_Name"));//to get the product name
            System.out.println(relatedlistrecord.getEntityId());//to get the entity id 
            System.out.println(relatedlistrecord.getFieldValue("Product_Code"));//to get the product code
        }
        relatedListAPIName="Activities";
        List<ZCRMRecord> relatedlistsrecords2=(List<ZCRMRecord> )record.getRelatedListRecords(relatedListAPIName, sortByField, sortOrder, page, per_page, modifiedSince).getData();
        for ( ZCRMRecord relatedlistrecord : relatedlistsrecords2){
            System.out.println(relatedlistrecord.getModuleAPIName());//to get the api name of the module
            System.out.println(relatedlistrecord.getEntityId());//to get the entity id 
            System.out.println(relatedlistrecord.getFieldValue("Subject"));//to get the subject of the activity 
            System.out.println(relatedlistrecord.getFieldValue("Due_Date"));//to get the due date of the activity
            System.out.println(relatedlistrecord.getFieldValue("Billable"));//to get the billable value
            System.out.println(relatedlistrecord.getFieldValue("Activity_Type"));//to get the activity type
        }
        relatedListAPIName="Campaigns";
        List<ZCRMRecord> relatedlistsrecords3=(List<ZCRMRecord> )record.getRelatedListRecords(relatedListAPIName, sortByField, sortOrder, page, per_page, modifiedSince).getData();
        for (ZCRMRecord relatedlistrecord : relatedlistsrecords3){
            System.out.println(relatedlistrecord.getModuleAPIName());//to get the api name of the module
            System.out.println(relatedlistrecord.getEntityId());//to get the entity id
            System.out.println(relatedlistrecord.getFieldValue("Campaign_Name"));//to get the campaigns name
            System.out.println(relatedlistrecord.getFieldValue("Description"));//to get the campaign's description
            System.out.println(relatedlistrecord.getFieldValue("Member_Status")); //to get the member status
        }
        relatedListAPIName="Quotes";
        List<ZCRMRecord> relatedlistsrecords4=(List<ZCRMRecord> )record.getRelatedListRecords(relatedListAPIName, sortByField, sortOrder, page, per_page, modifiedSince).getData();
        for (ZCRMRecord relatedlistrecord : relatedlistsrecords4){
            System.out.println(relatedlistrecord.getModuleAPIName());//to get the api name of the module
            System.out.println(relatedlistrecord.getEntityId());//to get the entity id
            System.out.println(relatedlistrecord.getFieldValue("Carrier"));//to get the carrier 
            System.out.println(relatedlistrecord.getFieldValue("Quote_Stage"));//to get the quote stage
            System.out.println(relatedlistrecord.getFieldValue("Subject")); //to get the quote subject
            System.out.println(relatedlistrecord.getFieldValue("Quote_Number"));//to get the quote number
            System.out.println(relatedlistrecord.getFieldValue("currency_symbol"));//to get the currency symbol
        }
        relatedListAPIName="SalesOrders";
        List<ZCRMRecord> relatedlistsrecords5=(List<ZCRMRecord> )record.getRelatedListRecords(relatedListAPIName, sortByField, sortOrder, page, per_page, modifiedSince).getData();
        for (ZCRMRecord relatedlistrecord : relatedlistsrecords5){
            System.out.println(relatedlistrecord.getModuleAPIName());//to get the api name of the module
            System.out.println(relatedlistrecord.getEntityId());//to get the entity id
            System.out.println(relatedlistrecord.getFieldValue("Carrier"));//to get the carrier 
            System.out.println(relatedlistrecord.getFieldValue("Status"));//to get the status of the sales order
            System.out.println(relatedlistrecord.getFieldValue("Billing_Street"));//to get the billing street 
            System.out.println(relatedlistrecord.getFieldValue("Billing_Code"));//to get the billing code
            System.out.println(relatedlistrecord.getFieldValue("Subject"));//to get the subject
            System.out.println(relatedlistrecord.getFieldValue("Billing_City"));//to get the billing city
            System.out.println(relatedlistrecord.getFieldValue("SO_Number"));//to get the sales order number
            System.out.println(relatedlistrecord.getFieldValue("Billing_State"));//to get the billing state
        }
        relatedListAPIName="Cases";
        List<ZCRMRecord> relatedlistsrecords6=(List<ZCRMRecord> )record.getRelatedListRecords(relatedListAPIName, sortByField, sortOrder, page, per_page, modifiedSince).getData();
        for (ZCRMRecord  relatedlistrecord : relatedlistsrecords6){
            System.out.println(relatedlistrecord.getModuleAPIName());//to get the api name of the module
            System.out.println(relatedlistrecord.getEntityId());//to get the entity id
            System.out.println(relatedlistrecord.getFieldValue("Status"));//to get the status of the c:e
            System.out.println(relatedlistrecord.getFieldValue("Email"));//to get the email id 
            System.out.println(relatedlistrecord.getFieldValue("C:e_Origin"));//to get the c:e origin
            System.out.println(relatedlistrecord.getFieldValue("Case_Number"));//to get the case number
        }
    }
    public static void main(String[] args) throws Exception {
        Record obj=new Record();
        obj.getRelatedListRecords();
    }
}