Update Contact Roles
Purpose
To update details of contact roles.
Request Details
Request URL
https://www.zohoapis.com/crm/v2/Contacts/roles
To update a specific contact role:
https://www.zohoapis.com/crm/v2/Contacts/roles/{contact_role_id}
Header
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Scope
scope=ZohoCRM.modules.ALL
(or)
scope=ZohoCRM.modules.contacts.UPDATE
Possible operation types
ALL - Full access to the records
WRITE - Edit records in the contacts module
UPDATE - Update records in the contacts module
Sample Request
Copiedcurl "https://www.zohoapis.com/crm/v2/Contacts/roles"
-X PUT
-d "@updatecontactroles.json"
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Copied//Get instance of ContactRolesOperations Class
ContactRolesOperations contactRolesOperations = new ContactRolesOperations();
//Get instance of BodyWrapper Class that will contain the request body
BodyWrapper bodyWrapper = new BodyWrapper();
//List of ContactRole instances
List<ContactRole> contactRolesList = new List<ContactRole>();
//Get instance of ContactRole Class
ContactRole cr1 = new ContactRole();
//Set ID to the ContactRole instance
cr1.Id = 3477061000007540001;
//Set name to the ContactRole instance
cr1.Name = "Edited122";
//Add ContactRole instance to the list
contactRolesList.Add(cr1);
//Get instance of ContactRole Class
ContactRole cr2 = new ContactRole();
//Set ID to the ContactRole instance
cr2.Id = 3477061000007540002;
//Set name to the ContactRole instance
//cr2.Name = "Edit";
//Add ContactRole instance to the list
contactRolesList.Add(cr2);
//Set the list to contactRoles in BodyWrapper instance
bodyWrapper.ContactRoles = contactRolesList;
//Call UpdateContactRoles method that takes BodyWrapper instance as parameter
APIResponse<ActionHandler> response = contactRolesOperations.UpdateContactRoles(bodyWrapper);
Copied//Get instance of ContactRolesOperations Class
let contactRolesOperations = new ContactRolesOperations();
//Get instance of BodyWrapper Class that will contain the request body
let request = new BodyWrapper();
//Array to hold ContactRole instances
let contactRolesArray = [];
//Get instance of ContactRole Class
let cr1 = new ContactRole();
//Set ID to the ContactRole instance
cr1.setId(3409643000001792004n);
//Set name to the ContactRole instance
cr1.setName("Edited1");
//Add ContactRole instance to the array
contactRolesArray.push(cr1);
//Get instance of ContactRole Class
cr1 = new ContactRole();
//Set ID to the ContactRole instance
cr1.setId(3409643000001794001n);
//Set name to the ContactRole instance
cr1.setName("Edited2");
//Add ContactRole instance to the array
contactRolesArray.push(cr1);
//Set the array to contactRoles in BodyWrapper instance
request.setContactRoles(contactRolesArray);
//Call updateContactRoles method that takes BodyWrapper instance as parameter
let response = await contactRolesOperations.updateContactRoles(request);
Copiedasync function updateContactRoles() {
const got = require("got");
let url = 'https://www.zohoapis.com/crm/v2/Contacts/roles'
let headers = {
Authorization : "Zoho-oauthtoken 1000.354dXXXXXXXXXXX2f3.aae0efXXXXXXXXc92bc9"
}
let requestBody = {}
let recordArray = []
let recordObject1 = {
id : '3409643000001792004',
sequence_number : 10
}
let recordObject2 = {
name : 'CRole20-edited',
id : '3409643000001794001'
}
recordArray.push(recordObject1)
recordArray.push(recordObject2)
requestBody['contact_roles'] = recordArray
let requestDetails = {
method : "PUT",
headers : headers,
body : JSON.stringify(requestBody),
encoding: "utf8",
throwHttpErrors : false
};
let response = await got(url, requestDetails)
if(response != null) {
console.log(response.statusCode);
console.log(response.body);
}
}
updateContactRoles()
async function updateContactRole() {
const got = require("got");
let url = 'https://www.zohoapis.com/crm/v2/Contacts/roles/3409643000001792004'
let headers = {
Authorization : "Zoho-oauthtoken 1000.354dXXXXXXXXXXX84e6a9d1894732f3.aaeXXXXXXXXXXf6f4c92bc9"
}
let requestBody = {}
let recordArray = []
let recordObject1 = {
sequence_number : 10
}
recordArray.push(recordObject1)
requestBody['contact_roles'] = recordArray
let requestDetails = {
method : "PUT",
headers : headers,
body : JSON.stringify(requestBody),
encoding: "utf8",
throwHttpErrors : false
};
let response = await got(url, requestDetails)
if(response != null) {
console.log(response.statusCode);
console.log(response.body);
}
}
updateContactRole()
Input JSON Keys
- idstring, mandatory
Specify the unique ID of the contact role. Refer to Get Contact Roles API to get valid IDs. You need not specify this key if you specify the ID in request URL.
- namestring, optional
Specify the unique name of the contact role.
- sequence_numberinteger, optional
Specify the position of the contact role in the picklist in CRM UI.
Sample Input
Copied{
"contact_roles": [
{
"name": "Sales Lead",
"sequence_number": 5,
"id": "4150868000003611011"
},
{
"name": "Quality Control",
"sequence_number": 6,
"id": "4150868000003611012"
}
]
}
Possible Errors
- INVALID_URL_PATTERNHTTP 404
Please check if the URL trying to access is a correct one
Resolution: The request URL specified is incorrect. Specify a valid request URL. Refer to request URL section above. - OAUTH_SCOPE_MISMATCHHTTP 401
Unauthorized
Resolution: Client does not have ZohoCRM.modules.contacts.UPDATE scope. Create a new client with valid scope. Refer to scope section above. - NO_PERMISSIONHTTP 403
Permission denied to update records
Resolution: The user does not have permission to update records. Contact your system administrator. - INTERNAL_ERRORHTTP 500
Internal Server Error
Resolution: Unexpected and unhandled exception in Server. Contact support team. - INVALID_REQUEST_METHODHTTP 400
The http request method type is not a valid one
Resolution: You have specified an invalid HTTP method to access the API URL. Specify a valid request method. Refer to endpoints section above. - AUTHORIZATION_FAILEDHTTP 400
User does not have sufficient privilege to update records
Resolution: The user does not have the permission to update records. Contact your system administrator. - DUPLICATE_DATAHTTP 400
duplicate data
Resolution: You have specified a duplicate value for "name" field. Specify a unique contact role name in the request input. - INVALID_DATAHTTP 400
invalid data
Resolution: The input specified for "sequence_number" key is incorrect. Refer to Input JSON Keys section above and specify the valid input. - MANDATORY_NOT_FOUNDHTTP 400
required field not found
Resolution: Specify the unique ID of the contact role to be updated in your request input. Refer to Get Contact Roles API to get valid contact role IDs.
Sample Response
Copied{
"contact_roles": [
{
"code": "SUCCESS",
"details": {
"id": "4150868000003611011"
},
"message": "record updated",
"status": "success"
},
{
"code": "SUCCESS",
"details": {
"id": "4150868000003611012"
},
"message": "record updated",
"status": "success"
}
]
}