Android SDK Samples - Records Operations

Get a List of Records with the "record" Param
          
          
//set the recordParams
val recordParams = ZCRMQuery.Companion.GetRecordParams()
            recordParams.page = 10
            recordParams.perPage = 100
            recordParams.sortByField = "Full_Name"
            recordParams.sortOrder = CommonUtil.SortOrder.ASC

//$module object is of ZCRMModule

//call getRecords() using $module object by passing the recordParams as a parameter

//recordParams - Record parameters are given as an object.

$module.getRecords(recordParams,object : DataCallback<BulkAPIResponse, List<ZCRMRecord>>
                {
                    override fun completed(response: BulkAPIResponse, records: List<ZCRMRecord>)
                    {
                        println("${response.responseJSON}")
                    }

                    override fun failed(exception: ZCRMException)
                    {
                        println("Throws Exception : $exception")
                    }
                })
 
Get a list of Records with "record", "cvId" and "filterId" params
          
          
//set the recordParams
val recordParams = ZCRMQuery.Companion.GetRecordParams()
            recordParams.page = 10
            recordParams.perPage = 100
            recordParams.sortByField = "Full_Name"
            recordParams.sortOrder = CommonUtil.SortOrder.ASC

//$module object is of ZCRMModule

//call getRecords() using $module object by passing the cvId, filterId and recordParams as parameters.

//cvId - Id of the custom view.

//filterId - Id of the filter.

//recordParams - Record parameters are given as an object.

$module.getRecords(778942575,9944368964, recordParams, object : DataCallback<BulkAPIResponse, List<ZCRMRecord>>
                {
                    override fun completed(response: BulkAPIResponse,records: List<ZCRMRecord>) 
                    {
                        println("${response.responseJSON}")
                    }

                    override fun failed(exception: ZCRMException) 
                    {
                        println("Throws Exception : $exception")
                    }
                })
 
Get a Record
          
          
//$module object is of ZCRMModule

//call getRecord() using $module object by passing the entityId as a parameter.

//entityId - Id of the record to be returned.
 
$module.getRecord(371xxx184, object : DataCallback<APIResponse, ZCRMRecord> 
    {
                        override fun completed(response: APIResponse, record: ZCRMRecord) {
                            println("${response.responseJSON}")
                        }
    
                        override fun failed(exception: ZCRMException){
                            println("Throws Exception : $exception")
    
                        }
                    })
 
Insert a Record
          
          
val record = ZCRMSDKUtil.getModuleDelegate("Leads").newRecord()
    record.setFieldValue("Last_Name", "Boyle")
    record.setFieldValue("First_Name", "Patricia")
    record.setFieldValue("Email","p.boyle@zylker.com" )
    record.setFieldValue("Phone","9999999999")


            record.create(object : DataCallback<APIResponse, ZCRMRecord>
            {
                override fun completed(response: APIResponse, record: ZCRMRecord)
                {
                    println("${response.responseJSON}")
                }

                override fun failed(exception: ZCRMException)
                {
                    println("Throws Exception: $exception")
                }

            })
 
Update a Record with "triggers"
          
          
//setup the triggers; possible values are WORKFLOW, APPROVAL, BLUEPRINT
val triggers = listOf<CommonUtil.Trigger>(CommonUtil.Trigger.APPROVAL,CommonUtil.Trigger.WORKFLOW)

//$record object is of ZCRMRecord

//define the field and its value using setFieldValue()
$record.setFieldValue("Lead_Status", "Yet to Contact")

//call update() using $record object by passing the triggers as parameter to it

$record.update(triggers,object: DataCallback<APIResponse,ZCRMRecord>
{
   override fun completed(response: APIResponse, zcrmentity: ZCRMRecord)
    {
       println("${response.responseJSON}")
    }

   override fun failed(exception: ZCRMException)
   {
       println("Throws Exception : $exception")
   }

})
 
Update Multiple Records with "triggers"
          
          
val recordList = arrayListOf<ZCRMRecord>()

//$record1, $record2 and $record3 objects are of ZCRMRecord

//define the records with its fields and values
//add the defined record to recordList
$record1.setFieldValue("No_of_Employees", "1205")
recordList.add($record1)

$record2.setFieldValue("Designation", "Executive")
recordList.add($record2)

$record3.setFieldValue("Secondary_Email", "p.boyle@zylker.com" )
recordList.add($record3)

//setup the triggers; possible values are WORKFLOW, APPROVAL, BLUEPRINT

val triggers = listOf<CommonUtil.Trigger>(CommonUtil.Trigger.APPROVAL,CommonUtil.Trigger.WORKFLOW)

//$module object is of ZCRMModule
 
//call updateRecords() using $module object by passing the recordList and triggers as parameters to it.
$module.updateRecords(recordList,triggers,object:DataCallback<BulkAPIResponse, List<ZCRMRecord>> {

      override fun completed(response: BulkAPIResponse,zcrmentity: List<ZCRMRecord>) {
          println("${response.responseJSON}")
      }

      override fun failed(exception: ZCRMException) {
          println("Throws Exception : $exception")
      }

 })
 
Update Records by Field Name and its Value
          
          
val recordList = listOf<Long>(371xxx009,371xxx400,371xxx402,371xxx405 )//list of id's of the record to be updated

//$module object is of ZCRMModule

//call updateRecords() using $module object by passing the entityIds, fieldAPIName and its value as parameters.

//entityIds - id's of the record to be updated

//fieldAPIName - fieldAPIName to which the field value is updated

//value - field value to be updated

$module.updateRecords(recordList,"Lead_Status","Contacted", object: DataCallback<BulkAPIResponse, List<ZCRMRecord>>
{
    override fun completed(response: BulkAPIResponse, records: List<ZCRMRecord>)
    {
       println("${response.responseJSON} ")
    }

   override fun failed(exception: ZCRMException)
   {
       println("Throws Exception : $exception")
   }

})
 
Upsert Records
          
          
//records - list of ZCRMRecord objects to be upserted
val recordsList = ArrayList<ZCRMRecord>() 

//define record1 and record2

//$module object is of ZCRMModule

val record1 = $module.newRecord()
    record1.setFieldValue("Company", "Zylker")
    record1.setFieldValue("Last_Name", "Roger")
    record1.setFieldValue("Email", "roger.mail@zylker.com")
    record1.setFieldValue("State", "Texas")
    recordsList.add(record1)

val record2 = $module.newRecord()
    record2.setFieldValue("Company", "Carszone")
    record2.setFieldValue("Email", "boyle@zylker.com")
    record2.setFieldValue("Last_Name", "Williamson")
    record2.setFieldValue("State", "Atlanta")
    recordsList.add(record2)

//duplicateCheckFields - list of Fields to be duplicate checked
val duplicateCheckFields  = listOf<String>("Email","Company") 

//list of Triggers
val triggers = listOf<CommonUtil.Trigger>(CommonUtil.Trigger.APPROVAL,CommonUtil.Trigger.WORKFLOW)

//$module object is of ZCRMModule

//call upsertRecords() using $module object by passing the recordsList, duplicateCheckFields and triggers as parameters.

$module.upsertRecords(recordsList,duplicateCheckFields,triggers,object : DataCallback<BulkAPIResponse,List<ZCRMRecord>>
{
   override fun completed(response: BulkAPIResponse, zcrmentity: List<ZCRMRecord>)
   {
       println("${response.responseJSON}")
   }

   override fun failed(exception: ZCRMException)
   {
       println("Throws Exception : $exception")
    }

})
 
Delete a Record
          
          
//$record object is of ZCRMRecord 

//call delete() using $record object          

$record.delete(object : ResponseCallback<APIResponse>
    {
       override fun completed(response: APIResponse)
       {
           println("${response.responseJSON}")
       }
    
       override fun failed(exception: ZCRMException)
       {
           println(" record delete failed : $exception")
       }
    })
 
Delete Records
          
          
val entityIds = arrayListOf<Long>()
    entityIds.add(371xxx001)
    entityIds.add(371xxx001)//371xxx001 and 371xxx001 are the id's of the record to be deleted

//$module object is of ZCRMModule

//Call deleteRecords() using the $module object by passing the entityIds as a parameter.

//entityIds - id's of the record to be deleted

$module.deleteRecords(entityIds, object:ResponseCallback<BulkAPIResponse>
{
   override fun completed(response: BulkAPIResponse) {
       println("${response.responseJSON}")
   }

   override fun failed(exception: ZCRMException) {
       println("Throws Exception : $exception")
   }

})
 
Get the Deleted Records
          
          
//$module object is of ZCRMModule

//Call getTrashRecords() using the $module object by passing the  deleted records' type, modifiedSince date, Nth page and perPage as parameters.

//type - deleted record type of the records are to be retrieved (ALL, PERMANENT, RECYCLE).

//modifiedSince - filter only those modified since the given time

//page - Nth page from which the records are to be retrieved.

//perPage - Number of records in the Nth page to be retrieved.

$module.getTrashRecords(CommonUtil.DeletedRecordType.ALL, "2020-08-06T16:23:24+05:30",20, 200, object : DataCallback<BulkAPIResponse,List<ZCRMTrashRecord>>
{
   override fun completed(response: BulkAPIResponse, zcrmentity: List<ZCRMTrashRecord>) {
       println("${response.responseJSON}")
   }

   override fun failed(exception: ZCRMException) {
       println("Throws Exception : $exception")
   }

})
 
Search records by Text
          
          
//$module object is of ZCRMModule

//Call searchByText() using $module object by passing the searchText as a parameter.

//searchText - text to be searched

$module.searchByText("high priority", object: DataCallback<BulkAPIResponse,List<ZCRMRecord>> 
{
   override fun completed(response: BulkAPIResponse,zcrmentity: List<ZCRMRecord>) {
       println("${response.responseJSON}")
   }

   override fun failed(exception: ZCRMException) {
       println("Throws Exception : $exception")
   }

})
 
Search Records by Text and Page
          
          
//$module object is of ZCRMModule

//Call searchByText() using $module object by passing the searchText, page and perPage as parameters.

//searchText - text to be searched

//page - page number of the module

//perPage - no of records to be given for a single page.

$module.searchByText("high priority",3,15, object: DataCallback<BulkAPIResponse,List<ZCRMRecord>>
{
   override fun completed(response: BulkAPIResponse,zcrmentity: List<ZCRMRecord>) {
       println("${response.responseJSON}")
   }

   override fun failed(exception: ZCRMException) {
       println("Throws Exception : $exception")
   }

})
 
Search Records by Phone
          
          
//$module object is of ZCRMModule

//Call searchByPhone() using $module object by passing the value to be searched as a parameter.

//value - phone number value to be searched

$module.searchByPhone("567898765456",object:DataCallback<BulkAPIResponse,List<ZCRMRecord>>
{
   override fun completed(response: BulkAPIResponse, zcrmentity: List<ZCRMRecord>) {
       println("${response.responseJSON}")
   }

   override fun failed(exception: ZCRMException) {
       println("Throws Exception: $exception")
  }

})

 
Search Records by Phone and Page
          
          
//$module object is of ZCRMModule

//Call searchByPhone() using $module object by passing the value to be searched as a parameter.

//value - phone number value to be searched

//page - page number of the module

//perPage - no of records to be given for a single page.

$module.searchByPhone("567898765456",3,15,object:DataCallback<BulkAPIResponse,List<ZCRMRecord>>
{
   override fun completed(response: BulkAPIResponse, zcrmentity: List<ZCRMRecord>) {
       println("${response.responseJSON}")
   }

   override fun failed(exception: ZCRMException) {
       println("Throws Exception: $exception")
  }

})
 
Search Records by Email
          
          
//$module object is of ZCRMModule

//Call searchByEmail() using $module object by passing the value to be searched as a parameter.

//value - emailId value to be searched

$module.searchByEmail("crm@zoho.com",object: DataCallback<BulkAPIResponse,List<ZCRMRecord>>
{
    override fun completed(response: BulkAPIResponse, zcrmentity: List<ZCRMRecord>) {
        println("${response.responseJSON}")
    }

    override fun failed(exception: ZCRMException) {
        println("Throws Exception: $exception")
    }

})
 
Search Records by Email and Page
          
          
//$module object is of ZCRMModule

//Call searchByEmail() using $module object by passing the value, page, perPage as parameters.

//value - emailId value to be searched

//page - page number of the module

//perPage - no of records to be given for a single page.

$module.searchByEmail("boyle@zylker.com",3,15,object: DataCallback<BulkAPIResponse,List<ZCRMRecord>>
{
    override fun completed(response: BulkAPIResponse, zcrmentity: List<ZCRMRecord>) {
        println("${response.responseJSON}")
    }

    override fun failed(exception: ZCRMException) {
        println("Throws Exception: $exception")
    }

})
 
Search Records by Criteria
          
          
//define the search criteria
val searchCriteria = ZCRMQuery.Companion.ZCRMCriteria("Last_Name", ZCRMComparator.CONTAINS, "Boyle")

//$module object is of ZCRMModule

//Call searchByCriteria() using $module object by passing the searchCriteria as a parameter.

//searchCriteria - criteria to be searched

$module.searchByCriteria(searchCriteria,object:DataCallback<BulkAPIResponse,List<ZCRMRecord>>
{
    override fun completed(response: BulkAPIResponse, zcrmentity: List<ZCRMRecord>) {
        println("${response.responseJSON}")
    }

    override fun failed(exception: ZCRMException) {
        println("Throws Exception : $exception")
    }

})
 
Search Records by Criteria and Page
          
          
//define the search criteria
val searchCriteria = ZCRMQuery.Companion.ZCRMCriteria("Last_Name", ZCRMComparator.CONTAINS, "Boyle")

//$module object is of ZCRMModule

//Call searchByCriteria() using $module object by passing the searchCriteria, page and perPage as parameters.

//searchCriteria - criteria to be searched

//page - page number of the module

//perPage - no of records to be given for a single page.

$module.searchByCriteria(searchCriteria,3,15,object:DataCallback<BulkAPIResponse,List<ZCRMRecord>>
{
    override fun completed(response: BulkAPIResponse, zcrmentity: List<ZCRMRecord>) {
        println("${response.responseJSON}")
    }

    override fun failed(exception: ZCRMException) {
        println("Throws Exception : $exception")
    }

})
 
Convert a Lead
          
          
//define the potential ZCRMRecord to be created
val potential = ZCRMSDKUtil.getModuleDelegate("Deals").newRecord()
    potential.setFieldValue("Deal_Name", "Outsourcing Contract")
    potential.setFieldValue("Account_Name", "Zylker")
    potential.setFieldValue("Closing_Date", "2020-11-09")
    potential.setFieldValue("Stage", "Qualification")
    potential.setFieldValue("Contact_Role", "Purchasing")

//$record object is of ZCRMRecord

//Call convert() using $record object by passing the potential as a parameter.

//potential - New ZCRMRecord(Potential) to be created               

$record.convert(potential,object:DataCallback<APIResponse,HashMap<String,Long>>
{
   override fun completed(response: APIResponse,zcrmentity: HashMap<String, Long>) {
       println("${response.responseJSON}")
   }

   override fun failed(exception: ZCRMException) {
      println("Throws Exception:$exception")
   }

})