Insert Contact Roles
Purpose
To add new contact roles.
Endpoints
Request Details
Request URL
https://www.zohoapis.com/crm/v2/Contacts/roles
Header
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Scope
scope=ZohoCRM.modules.ALL
(or)
scope=ZohoCRM.modules.contacts.{operation_type}
Possible operation types
ALL - Full access to contacts
WRITE - Edit records in the contacts module
CREATE - Create records in the contacts module
Sample Request
Copiedcurl "https://www.zohoapis.com/crm/v2/Contacts/roles"
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-d "@newcontactrole.json"
-X POST
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> contactRoles = new List<ContactRole>();
for(int i = 1; i <= 10; i++)
{
//Get instance of ContactRole Class
ContactRole contactRole = new ContactRole();
//Set name of the Contact Role
contactRole.Name = "contactRole1" + i;
//Set sequence number of the Contact Role
contactRole.SequenceNumber = i;
//Add ContactRole instance to the list
contactRoles.Add(contactRole);
}
//Set the list to contactRoles in BodyWrapper instance
bodyWrapper.ContactRoles = contactRoles;
//Call CreateContactRoles method that takes BodyWrapper instance as parameter
APIResponse<ActionHandler> response = contactRolesOperations.CreateContactRoles(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 = [];
for (let index = 0; index < 5; index++) {
//Get instance of ContactRole Class
let contactRole = new ContactRole();
//Set name of the Contact Role
contactRole.setName("contactRole-node" + index.toString());
//Set sequence number of the Contact Role
contactRole.setSequenceNumber(index);
//Add ContactRole instance to the array
contactRolesArray.push(contactRole);
}
//Set the array of contactRoles in BodyWrapper instance
request.setContactRoles(contactRolesArray);
//Call createContactRoles method that takes BodyWrapper instance as parameter
let response = await contactRolesOperations.createContactRoles(request);
Copiedasync function createContactRoles() {
const got = require("got");
let url = 'https://www.zohoapis.com/crm/v2/Contacts/roles'
let headers = {
Authorization : "Zoho-oauthtoken 1000.354XXXXXXXXXXXa9d1894732f3.aae0eXXXXXXXXXXXf6f4c92bc9"
}
let requestBody = {}
let recordArray = []
let recordObject1 = {
name : 'CRole1',
sequence_number : 1
}
let recordObject2 = {
name : 'CRole2',
sequence_number : 2
}
recordArray.push(recordObject1)
recordArray.push(recordObject2)
requestBody['contact_roles'] = recordArray
let requestDetails = {
method : "POST",
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);
}
}
createContactRoles()
Input JSON Keys
To add contact roles, send a POST request with request body containing the following attributes:
- namestring, mandatory
Specify the name of the contact role.
Example: Sales Lead - sequence_numberinteger, optional
Specify the position of the contact role in the picklist in CRM UI.
You can insert a maximum of 100 contact roles per API call.
Sample Input
Copied{
"contact_roles": [
{
"name": "Sales Lead",
"sequence_number": 1
},
{
"name": "Quality Control",
"sequence_number": 2
}
]
}
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.CREATE scope. Create a new client with valid scope. Refer to scope section above. - NO_PERMISSIONHTTP 403
Permission denied to create records
Resolution: The user does not have permission to create 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 add variables
Resolution: The user does not have the permission to add variables. 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 "name" key in your request input. - LIMIT_EXCEEDEDHTTP 400
Contact Role feature limit exceeded
Resolution: You can only have a maximum of 100 contact roles.
Sample Response
Copied{
"contact_roles": [
{
"code": "SUCCESS",
"details": {
"id": "4150868000003611011"
},
"message": "contact role added",
"status": "success"
},
{
"code": "SUCCESS",
"details": {
"id": "4150868000003611012"
},
"message": "contact role added",
"status": "success"
}
]
}