openapi: 3.1.0
info:
title: Helpcenter AccountDeduplication API
version: 1.0.0
tags:
- name: AccountDeduplication
paths:
/api/v1/accountsDeduplication/defaultFieldName:
get:
tags:
- AccountDeduplication
summary: Get Default Field Name
description: This API fetches the name of the field set as the default field for account deduplication.
operationId: getDefaultFieldNameForAccountDeduplication
parameters:
- $ref: ./Common.json#/components/parameters/orgId
responses:
'200':
$ref: '#/components/responses/getDefaultFieldResponse'
security:
- iam-oauth2-schema:
- Desk.contacts.READ
x-audience:
- external-public
post:
tags:
- AccountDeduplication
summary: Set default field for account deduplication
description: This API sets the field you specify as the default field for deduplicating accounts.
operationId: setDefaultFieldNameForAccountDeduplication
parameters:
- $ref: ./Common.json#/components/parameters/orgId
requestBody:
$ref: '#/components/requestBodies/setDefaultField'
responses:
'422':
$ref: ./Common.json#/components/responses/invalidDataErrorResponse
'404':
$ref: ./errors.json#/components/responses/commonErrorResponse
'204':
$ref: ./Common.json#/components/responses/emptyResponse
security:
- iam-oauth2-schema:
- Desk.contacts.UPDATE
x-audience:
- external-public
/api/v1/groupAccountDuplicateValues:
get:
tags:
- AccountDeduplication
summary: List duplicate accounts
description: This API lists the duplicate entries of an account.The _fieldName_ parameters is mandatory in the API request
_Note:_
If you encounter a 202 status code while executing this API request, it means there are 100,000 or more accounts in the help desk portal. Matching the records and finding duplicates will be time-consuming in such a scenario. Therefore, the deduplication request will be accepted, and after the process is completed, an automated report will be sent to the user who initiated the deduplication.
operationId: listGroupedDuplicateAccounts
parameters:
- $ref: '#/components/parameters/fieldName'
- name: swFieldValue
in: query
description: Key that specifies the letter with which the field values must start
required: false
style: form
explode: true
schema:
type:
- string
- 'null'
description: Key that specifies the letter with which the field values must start
maxLength: 100
minLength: 0
pattern: ^([a-z0-9*#])$
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/from'
- name: sortBy
in: query
description: 'Key that sorts the accounts by a specific attribute: @count@ or @fieldValue@. The default sorting order is ascending. A @-@ prefix denotes descending order of sorting.'
required: false
style: form
explode: true
schema:
type:
- string
- 'null'
description: 'Key that sorts the accounts by a specific attribute: @count@ or @fieldValue@. The default sorting order is ascending. A @-@ prefix denotes descending order of sorting.'
enum:
- count
- fieldValue
maxLength: 100
minLength: 0
- $ref: ./Common.json#/components/parameters/orgId
responses:
'422':
$ref: ./Common.json#/components/responses/invalidDataErrorResponse
'200':
$ref: '#/components/responses/listDuplicateAccountsCountsResponse'
security:
- iam-oauth2-schema:
- Desk.contacts.READ
x-audience:
- external-public
/api/v1/groupAccounts:
get:
tags:
- AccountDeduplication
summary: List details of duplicate accounts
description: This API lists all the details of duplicate accounts.The _fieldName_ and _fieldValues_ parameters are mandatory in the API request
operationId: listDuplicateAccounts
parameters:
- name: fieldName
in: query
description: 'Name of the field whose values must be matched for deduplication.Values allowed are: !@email,@! !@phone,@! and !@accountName@!'
required: true
style: form
explode: true
schema:
type:
- string
- 'null'
description: 'Name of the field whose values must be matched for deduplication.Values allowed are: !@email,@! !@phone,@! and !@accountName@!'
enum:
- email
- phone
- accountName
- $ref: '#/components/parameters/limit'
- name: sortBy
in: query
description: 'Key that sorts the accounts by a specific attribute: @accountName@ or @createdTime@ or @modifiedTime@. The default sorting order is ascending. A @-@ prefix denotes descending order of sorting.'
required: false
style: form
explode: true
schema:
type:
- string
- 'null'
description: 'Key that sorts the accounts by a specific attribute: @accountName@ or @createdTime@ or @modifiedTime@. The default sorting order is ascending. A @-@ prefix denotes descending order of sorting.'
enum:
- accountName
- createdTime
- $ref: '#/components/parameters/from'
- name: fieldValues
in: query
description: Actual values in each field related to the account
required: true
style: form
explode: true
schema:
type:
- string
- 'null'
description: Actual values in each field related to the account
maxLength: 100
minLength: 0
- $ref: ./Common.json#/components/parameters/orgId
responses:
'422':
$ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
'200':
$ref: '#/components/responses/listDuplicateAccountResponse'
security:
- iam-oauth2-schema:
- Desk.contacts.READ
x-audience:
- external-public
components:
parameters:
from:
name: from
in: query
description: Index number starting from which the accounts must be fetched
required: false
style: form
explode: true
schema:
type:
- string
- 'null'
- integer
format: int32
description: Index number starting from which the accounts must be fetched
minimum: 0
pattern: ([0-9]+)
limit:
name: limit
in: query
description: Number of accounts to fetch
required: false
style: form
explode: true
schema:
type:
- string
- 'null'
- integer
format: int32
description: Number of accounts to fetch
maximum: 100
minimum: 1
pattern: ([0-9]+)
fieldName:
name: fieldName
in: query
description: 'Name of the field whose values must be matched for deduplication.Values allowed are: !@email,@! !@phone,@! and !@accountName@!'
required: false
style: form
explode: true
schema:
type:
- string
- 'null'
description: 'Name of the field whose values must be matched for deduplication.Values allowed are: !@email,@! !@phone,@! and !@accountName@!'
enum:
- email
- phone
- accountName
responses:
getDefaultFieldResponse:
description: getDefaultFieldResponse template definitions
content:
application/json:
schema:
type:
- 'null'
- object
additionalProperties: false
properties:
fieldName:
type:
- string
- 'null'
enum:
- email
- phone
- accountName
- null
maxLength: 100
minLength: 0
required:
- fieldName
examples:
Valid responses Definitions:
value:
fieldName: email
listDuplicateAccountResponse:
description: listDuplicateAccountResponse template definitions
content:
application/json:
schema:
type:
- 'null'
- object
additionalProperties: false
properties:
data:
$ref: ./AccountDeduplication.json#/components/schemas/duplicateResponseData
required:
- data
examples:
Valid responses Definitions:
value:
data:
- accounts:
- website: '112121'
accountName: Admin Account
phone: '121212'
webUrl: https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38
createdTime: 1424105864000
zohoCRMAccount: null
id: '1892000000052077'
email: admin@zylker.com
- website: '112121'
accountName: Admin Account
phone: '121212'
webUrl: https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38
createdTime: 1424105864000
zohoCRMAccount: null
id: '1892000000052077'
email: admin@zylker.com
fieldValue: Admin Account
- accounts:
- website: '112121'
accountName: Agent Account
phone: '121212'
webUrl: https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38
createdTime: 1424105864000
zohoCRMAccount:
id: '32754000000537001'
id: '1892000000052077'
email: agent@zylker.com
- website: '112121'
accountName: Agent Account
phone: '121212'
webUrl: https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38
createdTime: 1424105864000
zohoCRMAccount:
id: '32754000000537001'
id: '1892000000052077'
email: agent@zylker.com
fieldValue: Agent Account
listDuplicateAccountsCountsResponse:
description: listDuplicateAccountsCountsResponse template definitions
content:
application/json:
schema:
oneOf:
- type:
- 'null'
- object
additionalProperties: false
properties:
data:
$ref: ./ContactDeduplication.json#/components/schemas/counts
required:
- data
- type:
- 'null'
- object
additionalProperties: false
properties:
errorCode:
type:
- string
- 'null'
enum:
- URL_NOT_FOUND
- UNAUTHORIZED
- INVALID_OAUTH
- SCOPE_MISMATCH
- FORBIDDEN
- LICENSE_ACCESS_LIMITED
- METHOD_NOT_ALLOWED
- RESOURCE_SIZE_EXCEEDED
- UNSUPPORTED_MEDIA_TYPE
- INVALID_DATA
- UNPROCESSABLE_ENTITY
- ONLY_LIVECHAT_USER
- INTEGRATION_ADMIN_ERROR
- THRESHOLD_EXCEEDED
- INTERNAL_SERVER_ERROR
- EMPTY_PAYLOAD
maxLength: 100
minLength: 0
message:
type:
- string
- 'null'
maxLength: 255
minLength: 0
required:
- errorCode
- message
examples:
Valid responses Definitions:
value:
data:
- count: 16
fieldValue: Admin Account
- count: 2
fieldValue: Agent Account
requestBodies:
setDefaultField:
content:
application/json:
schema:
type:
- 'null'
- object
additionalProperties: false
properties:
fieldName:
type:
- string
- 'null'
enum:
- email
- phone
- accountName
maxLength: 100
minLength: 0
markDefault:
type:
- boolean
- 'null'
required:
- fieldName
- markDefault
examples:
Valid requestBody Definitions:
value:
fieldName: accountName
markDefault: true
securitySchemes:
iam-oauth2-schema:
$ref: ./Common.json#/components/securitySchemes/iam-oauth2-schema
x-entity: Helpcenter