Scala SDK Samples - Contact Roles Operations
Get Contact Roles
package com.zoho.crm.sample.contactroles
import java.lang.reflect.Field
import java.util
import com.zoho.crm.api.contactroles.ActionResponse
import com.zoho.crm.api.ParameterMap
import com.zoho.crm.api.contactroles.APIException
import com.zoho.crm.api.contactroles.ActionHandler
import com.zoho.crm.api.contactroles.ActionWrapper
import com.zoho.crm.api.contactroles.BodyWrapper
import com.zoho.crm.api.contactroles.ContactRole
import com.zoho.crm.api.contactroles.ContactRolesOperations
import com.zoho.crm.api.contactroles.ContactRolesOperations.DeleteContactRolesParam
import com.zoho.crm.api.contactroles.ResponseHandler
import com.zoho.crm.api.contactroles.ResponseWrapper
import com.zoho.crm.api.contactroles.SuccessResponse
import com.zoho.crm.api.util.APIResponse
import com.zoho.crm.api.util.Model
import scala.collection.mutable.ArrayBuffer
object ContactRoles {
/**
* Get Contact Roles
* This method is used to get all the Contact Roles and print the response.
*
* @throws Exception
*/
@throws[Exception]
def getContactRoles(): Unit = { //Get instance of ContactRolesOperations Class
val contactRolesOperations = new ContactRolesOperations
//Call getContactRoles method
val responseOption = contactRolesOperations.getContactRoles
if (responseOption.isDefined) { //check response
var response= responseOption.get
println("Status Code: " + response.getStatusCode)
if (util.Arrays.asList(204, 304).contains(response.getStatusCode)) {
println(if (response.getStatusCode == 204) "No Content"
else "Not Modified")
return
}
//Check if expected response is received
if (response.isExpected) { //Get object from response
val responseHandler = response.getObject
if (responseHandler.isInstanceOf[ResponseWrapper]) { //Get the received ResponseWrapper instance
val responseWrapper = responseHandler.asInstanceOf[ResponseWrapper]
//Get the list of obtained ContactRole instances
val contactRoles = responseWrapper.getContactRoles
for (contactRole <- contactRoles) { //Get the ID of each ContactRole
println("ContactRole ID: " + contactRole.getId)
//Get the name of each ContactRole
println("ContactRole Name: " + contactRole.getName)
//Get the sequence number each ContactRole
println("ContactRole SequenceNumber: " + contactRole.getSequenceNumber)
}
}
else { //Check if the request returned an exception
if (responseHandler.isInstanceOf[APIException]) { //Get the received APIException instance
val exception = responseHandler.asInstanceOf[APIException]
//Get the Status
println("Status: " + exception.getStatus.getValue)
//Get the Code
println("Code: " + exception.getCode.getValue)
println("Details: ")
//Get the details map
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
//Get the Message
println("Message: " + exception.getMessage.getValue)
}
}
}
else if (response.getStatusCode != 204) { //If response is not as expected
//Get model object from response
val responseObject = response.getModel
//Get the response object's class
val clas = responseObject.getClass
//Get all declared fields of the response class
val fields = clas.getDeclaredFields
for (field <- fields) {
field.setAccessible(true)
//Get each value
println(field.getName + ":" + field.get(responseObject))
}
}
}
}
}
Create Contact Roles
package com.zoho.crm.sample.contactroles
import java.lang.reflect.Field
import java.util
import com.zoho.crm.api.contactroles.ActionResponse
import com.zoho.crm.api.ParameterMap
import com.zoho.crm.api.contactroles.APIException
import com.zoho.crm.api.contactroles.ActionHandler
import com.zoho.crm.api.contactroles.ActionWrapper
import com.zoho.crm.api.contactroles.BodyWrapper
import com.zoho.crm.api.contactroles.ContactRole
import com.zoho.crm.api.contactroles.ContactRolesOperations
import com.zoho.crm.api.contactroles.ContactRolesOperations.DeleteContactRolesParam
import com.zoho.crm.api.contactroles.ResponseHandler
import com.zoho.crm.api.contactroles.ResponseWrapper
import com.zoho.crm.api.contactroles.SuccessResponse
import com.zoho.crm.api.util.APIResponse
import com.zoho.crm.api.util.Model
import scala.collection.mutable.ArrayBuffer
object ContactRoles {
/**
* Create Contact Roles
* This method is used to create Contact Roles and print the response.
*
* @throws Exception
*/
@throws[Exception]
def createContactRoles(): Unit = {
val contactRolesOperations = new ContactRolesOperations
//Get instance of BodyWrapper Class that will contain the request body
val bodyWrapper = new BodyWrapper
//List of ContactRole instances
val contactRoles = new ArrayBuffer[ContactRole]
for (i <- 1 to 5) { //Get instance of ContactRole Class
val contactRole = new ContactRole
//Set name of the Contact Role
contactRole.setName(Option("contactRole12".concat(i.toString)))
//Set sequence number of the Contact Role
contactRole.setSequenceNumber(Option(i))
//Add ContactRole instance to the list
contactRoles.addOne(contactRole)
}
//Set the list to contactRoles in BodyWrapper instance
bodyWrapper.setContactRoles(contactRoles)
//Call createContactRoles method that takes BodyWrapper instance as parameter
val responseOption = contactRolesOperations.createContactRoles(bodyWrapper)
if (responseOption.isDefined) {
var response = responseOption.get
println("Status Code: " + response.getStatusCode)
if (response.isExpected) {
val actionHandler = response.getObject
if (actionHandler.isInstanceOf[ActionWrapper]) { //Get the received ActionWrapper instance
val actionWrapper = actionHandler.asInstanceOf[ActionWrapper]
//Get the list of obtained ActionResponse instances
val actionResponses = actionWrapper.getContactRoles
for (actionResponse <- actionResponses) { //Check if the request is successful
if (actionResponse.isInstanceOf[SuccessResponse]) { //Get the received SuccessResponse instance
val successResponse = actionResponse.asInstanceOf[SuccessResponse]
println("Status: " + successResponse.getStatus.getValue)
println("Code: " + successResponse.getCode.getValue)
println("Details: ")
successResponse.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + successResponse.getMessage.getValue)
}
else if (actionResponse.isInstanceOf[APIException]) {
val exception = actionResponse.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
}
else if (actionHandler.isInstanceOf[APIException]) {
val exception = actionHandler.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
else {
val responseObject = response.getModel
val clas = responseObject.getClass
val fields = clas.getDeclaredFields
for (field <- fields) {
println(field.getName + ":" + field.get(responseObject))
}
}
}
}
}
Update Contact Roles
package com.zoho.crm.sample.contactroles
import java.lang.reflect.Field
import java.util
import com.zoho.crm.api.contactroles.ActionResponse
import com.zoho.crm.api.ParameterMap
import com.zoho.crm.api.contactroles.APIException
import com.zoho.crm.api.contactroles.ActionHandler
import com.zoho.crm.api.contactroles.ActionWrapper
import com.zoho.crm.api.contactroles.BodyWrapper
import com.zoho.crm.api.contactroles.ContactRole
import com.zoho.crm.api.contactroles.ContactRolesOperations
import com.zoho.crm.api.contactroles.ContactRolesOperations.DeleteContactRolesParam
import com.zoho.crm.api.contactroles.ResponseHandler
import com.zoho.crm.api.contactroles.ResponseWrapper
import com.zoho.crm.api.contactroles.SuccessResponse
import com.zoho.crm.api.util.APIResponse
import com.zoho.crm.api.util.Model
import scala.collection.mutable.ArrayBuffer
object ContactRoles {
/**
* Update Contact Roles
* This method is used to update Contact Roles and print the response.
*
* @throws Exception
*/
@throws[Exception]
def updateContactRoles(): Unit = {
val contactRolesOperations = new ContactRolesOperations
val bodyWrapper = new BodyWrapper
val contactRolesList = new ArrayBuffer[ContactRole]
val cr1 = new ContactRole
//Set ID to the ContactRole instance
cr1.setId(Option(3524033000005956024l))
//Set name to the ContactRole instance
cr1.setName(Option("Edisadted1"))
contactRolesList.addOne(cr1)
val cr2 = new ContactRole
cr2.setId(Option(3524033000005956022l))
cr2.setSequenceNumber(Option(1))
cr2.setName(Option("Editsded1"))
contactRolesList.addOne(cr2)
bodyWrapper.setContactRoles(contactRolesList)
//Call updateContactRoles method that takes BodyWrapper instance as parameter
val responseOption = contactRolesOperations.updateContactRoles(bodyWrapper)
if (responseOption.isDefined) {
var response = responseOption.get
println("Status Code: " + response.getStatusCode)
if (response.isExpected) {
val actionHandler = response.getObject
if (actionHandler.isInstanceOf[ActionWrapper]) {
val actionWrapper = actionHandler.asInstanceOf[ActionWrapper]
val actionResponses = actionWrapper.getContactRoles
for (actionResponse <- actionResponses) {
if (actionResponse.isInstanceOf[SuccessResponse]) {
val successResponse = actionResponse.asInstanceOf[SuccessResponse]
println("Status: " + successResponse.getStatus.getValue)
println("Code: " + successResponse.getCode.getValue)
println("Details: ")
successResponse.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + successResponse.getMessage.getValue)
}
else if (actionResponse.isInstanceOf[APIException]) {
val exception = actionResponse.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
}
else if (actionHandler.isInstanceOf[APIException]) {
val exception = actionHandler.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
else {
val responseObject = response.getModel
val clas = responseObject.getClass
val fields = clas.getDeclaredFields
for (field <- fields) {
println(field.getName + ":" + field.get(responseObject))
}
}
}
}
}
Delete Contact Roles
package com.zoho.crm.sample.contactroles
import java.lang.reflect.Field
import java.util
import com.zoho.crm.api.contactroles.ActionResponse
import com.zoho.crm.api.ParameterMap
import com.zoho.crm.api.contactroles.APIException
import com.zoho.crm.api.contactroles.ActionHandler
import com.zoho.crm.api.contactroles.ActionWrapper
import com.zoho.crm.api.contactroles.BodyWrapper
import com.zoho.crm.api.contactroles.ContactRole
import com.zoho.crm.api.contactroles.ContactRolesOperations
import com.zoho.crm.api.contactroles.ContactRolesOperations.DeleteContactRolesParam
import com.zoho.crm.api.contactroles.ResponseHandler
import com.zoho.crm.api.contactroles.ResponseWrapper
import com.zoho.crm.api.contactroles.SuccessResponse
import com.zoho.crm.api.util.APIResponse
import com.zoho.crm.api.util.Model
import scala.collection.mutable.ArrayBuffer
object ContactRoles {
/**
* Delete Contact Roles
* This method is used to delete Contact Roles and print the response.
*
* @param contactRoleIds - The List of ContactRole IDs to be deleted.
* @throws Exception
*/
@throws[Exception]
def deleteContactRoles(contactRoleIds: ArrayBuffer[Long]): Unit = { //example
// ArrayList contactRoleIds = new ArrayList(Arrays.asList(3477061000005208001l,3477061000005208002l))
val contactRolesOperations = new ContactRolesOperations
//Get instance of ParameterMap Class
val paramInstance = new ParameterMap
for (id <- contactRoleIds) {
paramInstance.add(new DeleteContactRolesParam().ids, id)
}
//Call deleteContactRoles method that takes paramInstance as parameter
val responseOption = contactRolesOperations.deleteContactRoles(Option(paramInstance))
if (responseOption.isDefined) {
var response = responseOption.get
println("Status Code: " + response.getStatusCode)
if (response.isExpected) {
val actionHandler = response.getObject
if (actionHandler.isInstanceOf[ActionWrapper]) {
val actionWrapper = actionHandler.asInstanceOf[ActionWrapper]
val actionResponses = actionWrapper.getContactRoles
for (actionResponse <- actionResponses) {
if (actionResponse.isInstanceOf[SuccessResponse]) {
val successResponse = actionResponse.asInstanceOf[SuccessResponse]
println("Status: " + successResponse.getStatus.getValue)
println("Code: " + successResponse.getCode.getValue)
println("Details: ")
successResponse.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + successResponse.getMessage.getValue)
}
else if (actionResponse.isInstanceOf[APIException]) {
val exception = actionResponse.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
}
else if (actionHandler.isInstanceOf[APIException]) {
val exception = actionHandler.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
else {
val responseObject = response.getModel
val clas = responseObject.getClass
val fields = clas.getDeclaredFields
for (field <- fields) {
println(field.getName + ":" + field.get(responseObject))
}
}
}
}
}
Get a Contact Role
package com.zoho.crm.sample.contactroles
import java.lang.reflect.Field
import java.util
import com.zoho.crm.api.contactroles.ActionResponse
import com.zoho.crm.api.ParameterMap
import com.zoho.crm.api.contactroles.APIException
import com.zoho.crm.api.contactroles.ActionHandler
import com.zoho.crm.api.contactroles.ActionWrapper
import com.zoho.crm.api.contactroles.BodyWrapper
import com.zoho.crm.api.contactroles.ContactRole
import com.zoho.crm.api.contactroles.ContactRolesOperations
import com.zoho.crm.api.contactroles.ContactRolesOperations.DeleteContactRolesParam
import com.zoho.crm.api.contactroles.ResponseHandler
import com.zoho.crm.api.contactroles.ResponseWrapper
import com.zoho.crm.api.contactroles.SuccessResponse
import com.zoho.crm.api.util.APIResponse
import com.zoho.crm.api.util.Model
import scala.collection.mutable.ArrayBuffer
object ContactRoles {
/**
* Get Contact Role
* This method is used to get single Contact Role with ID and print the response.
*
* @param contactRoleId - The ID of the ContactRole to be obtained
* @throws Exception
*/
@throws[Exception]
def getContactRole(contactRoleId: Long): Unit = { //Long contactRoleId = 3477061000005177004l
val contactRolesOperations = new ContactRolesOperations
//Call getContactRole method that takes contactRoleId as parameter
val responseOption = contactRolesOperations.getContactRole(contactRoleId)
if (responseOption.isDefined) {
var response = responseOption.get
println("Status Code: " + response.getStatusCode)
if (util.Arrays.asList(204, 304).contains(response.getStatusCode)) {
println(if (response.getStatusCode == 204) "No Content"
else "Not Modified")
return
}
if (response.isExpected) {
val responseHandler = response.getObject
if (responseHandler.isInstanceOf[ResponseWrapper]) {
val responseWrapper = responseHandler.asInstanceOf[ResponseWrapper]
val contactRoles = responseWrapper.getContactRoles
for (contactRole <- contactRoles) {
println("ContactRole ID: " + contactRole.getId)
println("ContactRole Name: " + contactRole.getName)
println("ContactRole SequenceNumber: " + contactRole.getSequenceNumber)
}
}
else if (responseHandler.isInstanceOf[APIException]) {
val exception = responseHandler.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
else {
val responseObject = response.getModel
val clas = responseObject.getClass
val fields = clas.getDeclaredFields
for (field <- fields) {
println(field.getName + ":" + field.get(responseObject))
}
}
}
}
}
Update a Contact Role
package com.zoho.crm.sample.contactroles
import java.lang.reflect.Field
import java.util
import com.zoho.crm.api.contactroles.ActionResponse
import com.zoho.crm.api.ParameterMap
import com.zoho.crm.api.contactroles.APIException
import com.zoho.crm.api.contactroles.ActionHandler
import com.zoho.crm.api.contactroles.ActionWrapper
import com.zoho.crm.api.contactroles.BodyWrapper
import com.zoho.crm.api.contactroles.ContactRole
import com.zoho.crm.api.contactroles.ContactRolesOperations
import com.zoho.crm.api.contactroles.ContactRolesOperations.DeleteContactRolesParam
import com.zoho.crm.api.contactroles.ResponseHandler
import com.zoho.crm.api.contactroles.ResponseWrapper
import com.zoho.crm.api.contactroles.SuccessResponse
import com.zoho.crm.api.util.APIResponse
import com.zoho.crm.api.util.Model
import scala.collection.mutable.ArrayBuffer
object ContactRoles {
/**
* Update Contact Role
* This method is used to update single Contact Role with ID and print the response.
*
* @param contactRoleId The ID of the ContactRole to be updated
* @throws Exception
*/
@throws[Exception]
def updateContactRole(contactRoleId: Long): Unit = { //ID of the ContactRole to be updated
//Long contactRoleId = 525508000005067923l
val contactRolesOperations = new ContactRolesOperations
val bodyWrapper = new BodyWrapper
val contactRolesList = new ArrayBuffer[ContactRole]
val cr1 = new ContactRole
cr1.setName(Option("contactRole4"))
//Set sequence number to the ContactRole instance
cr1.setSequenceNumber(Option(2))
contactRolesList.addOne(cr1)
bodyWrapper.setContactRoles(contactRolesList)
//Call updateContactRole method that takes BodyWrapper instance and contactRoleId as parameters
val responseOption = contactRolesOperations.updateContactRole(contactRoleId,bodyWrapper )
if (responseOption.isDefined) {
var response = responseOption.get
println("Status Code: " + response.getStatusCode)
if (response.isExpected) {
val actionHandler = response.getObject
if (actionHandler.isInstanceOf[ActionWrapper]) {
val actionWrapper = actionHandler.asInstanceOf[ActionWrapper]
val actionResponses = actionWrapper.getContactRoles
for (actionResponse <- actionResponses) {
if (actionResponse.isInstanceOf[SuccessResponse]) {
val successResponse = actionResponse.asInstanceOf[SuccessResponse]
println("Status: " + successResponse.getStatus.getValue)
println("Code: " + successResponse.getCode.getValue)
println("Details: ")
successResponse.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + successResponse.getMessage.getValue)
}
else if (actionResponse.isInstanceOf[APIException]) {
val exception = actionResponse.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
}
else if (actionHandler.isInstanceOf[APIException]) {
val exception = actionHandler.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
else {
val responseObject = response.getModel
val clas = responseObject.getClass
val fields = clas.getDeclaredFields
for (field <- fields) {
println(field.getName + ":" + field.get(responseObject))
}
}
}
}
}
Delete a Contact Role
package com.zoho.crm.sample.contactroles
import java.lang.reflect.Field
import java.util
import com.zoho.crm.api.contactroles.ActionResponse
import com.zoho.crm.api.ParameterMap
import com.zoho.crm.api.contactroles.APIException
import com.zoho.crm.api.contactroles.ActionHandler
import com.zoho.crm.api.contactroles.ActionWrapper
import com.zoho.crm.api.contactroles.BodyWrapper
import com.zoho.crm.api.contactroles.ContactRole
import com.zoho.crm.api.contactroles.ContactRolesOperations
import com.zoho.crm.api.contactroles.ContactRolesOperations.DeleteContactRolesParam
import com.zoho.crm.api.contactroles.ResponseHandler
import com.zoho.crm.api.contactroles.ResponseWrapper
import com.zoho.crm.api.contactroles.SuccessResponse
import com.zoho.crm.api.util.APIResponse
import com.zoho.crm.api.util.Model
import scala.collection.mutable.ArrayBuffer
object ContactRoles {
/**
* Delete Contact Role
* This method is used to delete single Contact Role with ID and print the response.
*
* @param contactRoleId ID of the ContactRole to be deleted
* @throws Exception
*/
@throws[Exception]
def deleteContactRole(contactRoleId: Long): Unit = {
val contactRolesOperations = new ContactRolesOperations
//Call deleteContactRole which takes contactRoleId as parameter
val responseOption = contactRolesOperations.deleteContactRole(contactRoleId)
if (responseOption.isDefined) {
var response = responseOption.get
println("Status Code: " + response.getStatusCode)
if (response.isExpected) {
val actionHandler = response.getObject
if (actionHandler.isInstanceOf[ActionWrapper]) {
val actionWrapper = actionHandler.asInstanceOf[ActionWrapper]
val actionResponses = actionWrapper.getContactRoles
for (actionResponse <- actionResponses) {
if (actionResponse.isInstanceOf[SuccessResponse]) {
val successResponse = actionResponse.asInstanceOf[SuccessResponse]
println("Status: " + successResponse.getStatus.getValue)
println("Code: " + successResponse.getCode.getValue)
println("Details: ")
successResponse.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + successResponse.getMessage.getValue)
}
else if (actionResponse.isInstanceOf[APIException]) {
val exception = actionResponse.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
}
else if (actionHandler.isInstanceOf[APIException]) {
val exception = actionHandler.asInstanceOf[APIException]
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry=>{
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
}
}
else {
val responseObject = response.getModel
val clas = responseObject.getClass
val fields = clas.getDeclaredFields
for (field <- fields) {
println(field.getName + ":" + field.get(responseObject))
}
}
}
}
}