updateRecords

updateRecords

Purpose

You can use the updateRecords method to update or modify the records in Zoho Recruit.
Note: Use the POST method to pass these parameters instead of GET method.

Request URL


Note: Module refers to Candidates, JobOpenings, Clients, Interviews, Contacts, CustomModule1, CustomModule2, CustomModule3, CustomModule4, and CustomModule5.

For OAuth Authentication

Header Name
Value
Authorization
Zoho-oauthtoken {access_token}

Scopes

Scope=ZohoRecruit.modules.all
(or)
Scope=ZohoRecruit.modules.{scope_name}.{operation_type}
Possible Scope Names (Case Sensitive)
Operation Types
candidate, jobopening, client, department, interview, contact & custom (for all Custom Modules)
ALL - Full access to the record
READ - Get records from the module

For Authtoken Authentication

Parameter
Data Type
Description
authtoken*
String
Encrypted alphanumeric string to authenticate your Zoho credentials. 
scope*
String
Specify the value as recruitapi

Request Parameters

Parameter
Data Type
Description
id*
String
Specify uniqueID of the record
xmlData*
XML
Specify fields and corresponding values
wfTrigger
Boolean
Set value as true to trigger the workflow rule while updating records in Recruit account. By default, this parameter is false.
newFormat
Integer (1 or 2)
newFormat=1: To exclude fields with "null" values while updating data from your Recruit account.
newFormat=2: To include fields with "null" values while updating data from your Recruit account.
version
Integer
version = 2: This will fetch responses based on the latest API implementation.
version = 4: To update multiple records in a single API method call.

Note: Parameters marked with * are mandatory.

Additional Notes

While updating data in your Zoho Recruit account, role-based security (Roles, Profiles, Field-level security and Data sharing rules) is applied. Hence, use the user ID with the highest role (Ex: Recruiter Admin) and profile (Ex: Administrator). Also, make sure all fields are enabled in the Field-level security settings. For role-based security settings, see Security Administration while generating API Ticket.

While updating data, make sure the date and time are in the MM/dd/yyyy and yyyy-MM-dd HH:mm:ss formats respectively.

Update owner of the record

While updating a record through API, make sure you are specifying the email address or userID of the record owner. If you use the record owner's name, the record will be assigned to the default login credential used in the Auth Token. If you want to use the userID to specify the record owner, then add <FL val="SMOWNERID">userID</FL> tag to your xmlData.

Examples

To update records in Zoho Recruit, follow the steps below:
The parameters should be as given below:
authtoken: Auth Token
scope: Specify value as recruitapi.
xmlData: This is an XML string and the format should be same as how get records in XML format during your fetch API.
id: id of the record to be updated
version: version of the API (2 or 4) 
authtoken=xy4gr1554712345fg
scope=recruitapi
xmlData= as mentioned below
id = 1000000019001
version=2
<Candidates>
<row no="1">
<FL val="Source">Web Download</FL>
<FL val="Current Employer">Your Company</FL>
<FL val="First Name">Hannah</FL>
<FL val="Last Name">Smith</FL>
<FL val="Email">
testing@testing.com</FL>
<FL val="Phone">1234567890</FL>
<FL val="Home Phone">0987654321</FL>
<FL val="Other Phone">1212211212</FL>
<FL val="Fax">02927272626</FL>
<FL val="Mobile">292827622</FL>
</row>
</Candidates>
Tasks with contact mapping:
<Tasks>
<row no="1">
<FL val="Subject">Meeting Hall</FL>
<FL val="Due Date">2009-04-22</FL>
<FL val="Status">Completed</FL>
<FL val="CONTACTID">2000000017027</FL>
</row>
</Tasks>
Events:
<Events>
<row no="1">
<FL val="Subject">Conference</FL>
<FL val="Start DateTime">2009-08-04 01:00:00</FL>
<FL val="End DateTime">2009-08-05 01:00:00</FL>
<FL val="Venue">Plaza</FL>
<FL val="Send Notification Email">false</FL>
</row>
</Events>
Contacts:
<Contacts>
<row no="1">
<FL val="First Name">Scott</FL>
<FL val="Last Name">James</FL>
<FL val="Email">test@test.com</FL>
<FL val="Department">CG</FL>
<FL val="Phone">989898988</FL>
<FL val="Fax">99999999</FL>
<FL val="Mobile">99989989</FL>
</row>
</Contacts>
Interviews:
<Interviews>
<row no="1">
<FL val="Interview Owner">VT</FL><FL val="Interview Name"><![CDATA[Interview1]]></FL><FL val="Client Name">Client 2</FL><FL val="Interviewer">john@zohocorp.com</FL><FL val="Type">General Interview</FL><FL val="Candidate Name">Mark</FL><FL val="Posting Title">Lookup check</FL><FL val="Start DateTime">2015-01-23 15:30:00</FL>
</row>
</Interviews>

Usage of 'CDATA'

Purpose:
To consider Special Characters as plain text and NOT XML Data
Sample XML Data:
as POST:
<Contacts>
<row no="1">
<FL val="First Name">Amy</FL>
<FL val="Last Name">Dawson</FL>
<FL val="Email">testing@testing.com</FL>
<FL val="Title">Manager</FL>
<FL val="Phone">1234567890</FL>
<FL val="Mobile">292827622</FL>
<FL val="Account Name"> <![CDATA["A & A"]]> </FL>
</row>
</Contacts>

Multiple Record Updates

Purpose:
You can use updateRecords to update multiple records in a single updateRecords API method. Please note that version=4 is a mandatory parameter.

We have introduced a new code, that will represent the API result status for each record. The code is as given below:

2001 = Record Updated Successfully
Sample XML Data:
<Candidates>
    <row no="1">
<FL val="Current Employer">Company1</FL>
<FL val="Last Name">Last Name1</FL>
<FL val="Email">automation@recruit.com1</FL>
    </row>
    <row no="2">
<FL val="Current Employer">Company2</FL>
<FL val="Last Name">Last Name2</FL>
<FL val="Email">automation@recruit.com2</FL>
    </row>
</Candidates>

Sample Response
The functionality and response will be as given below:
<response uri="/recruit/private/xml/Candidates/insertRecords">
                <result>
                    <row no="1">
                        <success>
                            <code>2001</code>
                            <details>
                                <FL val="Id">2000000178701</FL>
                                <FL val="Created Time">2013-02-11 17:55:04</FL>
                                <FL val="Modified Time">2013-02-11 17:55:04</FL>
                                <FL val="Created By">
                                <![CDATA[ aghil123 ]]>
                                </FL>
                                <FL val="Modified By">
                                <![CDATA[ aghil123 ]]>
                                </FL>
                            </details>
                        </success>
                    </row>
                    <row no="2">
                        <success>
                            <code>2001</code>
                            <details>
                                <FL val="Id">2000000178702</FL>
                                <FL val="Created Time">2013-02-11 17:55:04</FL>
                                <FL val="Modified Time">2013-02-11 17:55:04</FL>
                                <FL val="Created By">
                                <![CDATA[ aghil123 ]]>
                                </FL>
                                <FL val="Modified By">
                                <![CDATA[ aghil123 ]]>
                                </FL>
                            </details>
                        </success>
                    </row>
                </result>
            </response>
If version=4, some records contain errors and some don't, the functionality and response will be as given below:

<response uri="/recruit/private/xml/Candidates/insertRecords">
                <result>
                    <row no="1">
                        <success>
                            <code>2001</code>
                            <details>
                                <FL val="Id">2000000178701</FL>
                                <FL val="Created Time">2013-02-11 17:55:04</FL>
                                <FL val="Modified Time">2013-02-11 17:55:04</FL>
                                <FL val="Created By">
                                <![CDATA[ aghil123 ]]>
                                </FL>
                                <FL val="Modified By">
                                <![CDATA[ aghil123 ]]>
                                </FL>
                            </details>
                        </success>
                    </row>
                    <row no="2">
                        <error>
                            <code>4832</code>
                                          <details>You have given a wrong value for the field: Annual Revenue</details>
                        </error>
                    </row>
                </result>
            </response>
Note:
  1. If you are using version=4, then you have to provide the Id within the xmlData.
  2. Developers can now easily identify the record id, since the record detail in the response is given the same way the user requests in the xml data.
  3. Kindly pass the version with value 2 or 4 as the old implementation will be deprecated soon.
  4. You can update a maximum of 100 records in a single API call.

    • Related Articles

    • What is the format of the xmlData parameter for the insertRecords and updateRecords methods?

      Use the following XMLData parameters while using insertRecords and updateRecords methods: insertRecords: https:// crm.zoho.com/crm/private/ xml / Leads /insertRecords?apikey= API Key &ticket= Ticket ticket=xxxxxxxxxxxxxx apikey=xxxxxxxxxxxxxx ...
    • For the updateRecords method, where can I get the value for record ID?

      The value for the unique record ID will be available in the XML response obtained after inserting or fetching the records.   For Example: <FL val="Id">508020000016189251</FL>
    • Layout Rule Exceptions

      Layout rules are effective when creating a record manually. However, when a field used in a layout rule is updated through other ways such as workflow update, and APIs, the field update takes precedence over both these rules. These instances are ...
    • API Methods

      Method Name Purpose getRecords To retrieve all users data specified in the API request getRecordById To retrieve individual records by record ID addRecords To insert records into the required Zoho Recruit module updateRecords To update or modify the ...
    • Layout Rule Exceptions

      Layout rules are effective on creating a record manually. However, when a field used in a layout rule is updated through other ways such as workflow update, and APIs, the field update takes precendence over both these rules. These instances are ...