Insert Contact Roles

Purpose

To add new contact roles.

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
3.0.0
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);
1.0.010.x
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.

Note
  • 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"
        }
    ]
}