Upsert Record
Purpose
To insert or update a record using Widget API. The system checks for duplicate records based on the duplicate check field's value. If the record is already present, it gets updated. If not, the record is inserted
Request Format
ZOHO.RECRUIT.API.upsertRecord
({
"Entity": "{module_api_name}",
"APIData": [{request_data}],
})
Sample Attributes
The following table gives you specific details about each field type in Zoho Recruit and its limitations.
The JSON type and the data type of the field-types are extracted from fields metadata API.
JSON type - Tells in what format the field should be passed in request-body or will be received in response.
Data type - Tells the type of data that can be stored in the corresponding field type. It is mentioned below each Attribute.
Attribute | JSON Type | Limitations | Sample |
---|---|---|---|
Single Line Text | String | Accepts up to 255 characters. Accepts alphanumeric and special characters. | "Last_Name": "Mike O'Leary" |
Multi-Line Textarea | String | Small - accepts up to 2000 characters. Large - accepts up to 32000 characters. You will not be able to use this field to create custom views, reports, or other filters. Accepts alphanumeric and special characters. | "Multi_Line_1": "This is the first line \n Now for the Second Line" |
Email | String | Accepts valid email IDs. | "Email_1": "p.boyle@zylker.com" |
Phone Phone | String | Accepts up to 30 characters. This limit may vary based on the value configured in 'Number of characters allowed in the properties pop-up of the field, in UI. Accepts only numeric characters and '+' (to add extensions). The regex pattern in Zoho R3ecruit to validate this field's value is "[0-9a-zA-Z!#;%\\*\\^\\(\\)=\\{\\}\\[\\]\\?`~_\\-\\.\\$@\\?\\,\\:\\'\\/\\!\\P{InBasicLatin}\\|\\\\\\s\\+]+" | "Phone_1": "9900000000" |
Picklist Picklist | String | You can either pass an existing picklist value or add a new one. The pick list value accepts all alphanumeric and special characters. | "Industry": "automobile" |
Multi-Select Picklist Multi-select Picklist | JSON array | You can either pass existing picklist values or add a new one. The picklist value accepts all alphanumeric and special characters. | "Courses_Opted": [ "Analytics", "Big data" ] |
Date Date in ISO 8601 format | String | Accepts date in yyyy-MM-dd format | "Date_1": "2017-08-16" |
Date/time DateTime in ISO 8601 format | String | Accepts date and time in yyyy-MM-ddTHH:mm:ss±HH:mm ISO 8601 format | "Date_Time": "2017-08-16T14:32:23+05:30" Date_Time is in ISO8601 format and the time zone is the current user's time zone. |
Number Integer | Integer | Accepts numbers up to 9 digits. This limit may vary based on the value configured in 'Maximum digits allowed' in the properties pop-up of the field, in UI. Accepts only numeric values. | "No_of_Employees": 350 |
Currency Currency | Double | Before decimal point - accepts numbers up to 16 digits. This limit may vary based on the value configured in 'Maximum digits allowed' in the properties pop-up of the field, in UI. After decimal point - accepts precision up to 9 digits. This limit may vary based on the value configured in 'Number of decimal places' in the properties pop-up of the field, in UI. Accepts only numeric values. | "Annual_Revenue": 250000.90 |
Decimal Double | Double | Before decimal point - accepts numbers up to 16 digits. This limit may vary based on the value configured in 'Maximum digits allowed' in the properties pop-up of the field, in UI. After decimal point - accepts precision up to 9 digits. This limit may vary based on the value configured in 'Number of decimal places' in the properties pop-up of the field, in UI. Accepts only numeric values. | "Decimal_1": 250000.50 |
Percent Double | Double | Accepts numbers up to 5 digits. Accepts only numeric values. | "Percentage": 25 |
Long Integer BigInt | String | Accepts numbers up to 18 digits. This limit may vary based on the value configured in 'Maximum digits allowed' in the properties pop-up of the field, in UI. Accepts only numeric values. | "EAN_Code":"0012345600012" |
Checkbox Boolean | Boolean | Accepts only Boolean values(true,false). | "Email_Opt_Out": true |
URL Website | String | Accepts valid URLs. The regex pattern in Zoho Recruit to validate this field's value is "^(http:\\/\\/www.|https:\\/\\/www.|ftp:\\/\\/www.|www.|http:\\/\\/|https:\\/\\/|ftp:\\/\\/|){1}[^\\x00-\\x19\\x22-\\x27\\x2A-\\x2C\\x2E-\\x2F\\x3A-\\x40\\x5B-\\x5E\\x60\\x7B\\x7D-\\x7F]+(\\.[^\\x00-\\x19\\x22\\x24-\\x2C\\x2E-\\x2F\\x3C\\x3E\\x40\\x5B-\\x5E\\x60\\x7B\\x7D-\\x7F]+)+(\\/[^\\x00-\\x19\\x22\\x3C\\x3E\\x5E\\x7B\\x7D-\\x7D\\x7F]*)*$" | "URL": "https://www.zylker.com" |
Lookup Lookup | JSON object | Accepts valid name and unique ID of the record, which you can get through metadata API. | "Lookup" : { "name" : "James", "id" : "425248000000104001" } |
Multi-select lookup Multi-Select Lookup | JSON array | Accepts valid record names and unique IDs. | "Accounts":[ { "Account_Name":"Zylker1", "id":"4150868000000420069" }, { "Account_Name":"Zylker", "id":"4150868000000420046" } ] |
User User Lookup | JSON object | This is a default look-up field for users in Zoho Recruit. | "User": { "name":"Patricia Boyle", "id":"4150868000000623001" } |
Sample Request
CopiedZOHO.RECRUIT.API.upsertRecord({
"Entity": "Candidates",
"APIData": [{
"Last_Name": "Bongle",
"Email": "patricia.b@zylker.com",
"Company": "abc",
"Candidate_Status": "Contacted"
}],
"duplicate_check_fields": ["Email", "Mobile"],
"Trigger": ["workflow"]
}).then(function(successResponse) {
}, function(errorResponse) {
});
Sample Response
Copied{
"data": [
{
"Last_Name": "Boyle",
"Email": "patricia.b@zylker.com",
"Company": "abc",
"Candidate_Status": "Contacted"
},
{
"Last_Name": "Boyle",
"First_Name": "Patricia",
"Email": "patricia.b@zylker.com",
"Candidate_Status": "Attempted to Contact",
"Mobile": "7685635434"
}
],
"duplicate_check_fields": [
"Email",
"Mobile"
],
"trigger":[ "workflow"]
}