Contacts API:
Scope: ZohoProjects.users.{Operation}
Operations: READ, CREATE, UPDATE, DELETE, ALL
Use the ALL operation to gain the scope for all the other operations like READ, CREATE, UPDATE, and DELETE at once.
| All Contacts GET /api/v3/portal/[PORTALID]/client/[CLIENTID]/contacts |
| Get Project Contacts GET /api/v3/portal/[PORTALID]/project/[PROJECTID]/client/[CLIENTID]/contacts |
| Create Contacts POST /api/v3/portal/[PORTALID]/contacts |
| Associate Contacts POST /api/v3/portal/[PORTALID]/project/[PROJECTID]/contacts |
| Dissociate Contact DELETE /api/v3/portal/[PORTALID]/project/[PROJECTID]/contacts/[CONTACTID] |
| Update Contact PATCH /api/v3/portal/[PORTALID]/contacts/[CONTACTID] |
| Delete Contact DELETE /api/v3/portal/[PORTALID]/contacts/[CONTACTID] |
| Convert Contact to Client User POST /api/v3/portal/[PORTALID]/contacts/[CONTACTID] |
All Contacts
Fetches all client contacts from a portal.
Scope: ZohoProjects.users.READ
Request Parameters
index | Int | Index number of the contact. |
range | Int | Range of the contacts. |
search_string | String | Search string of the contact. |
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
[
{
"id": "170876000011703017",
"email": "PedroAlon@zillum.com",
"first_name": "Pedro",
"last_name": "Alonso",
"invoice_rate": "300.0",
"clientId": "170876000004241005",
"crm_contactId": "-1",
"displayName": "Pedro Alonso"
},
{
"id": "170876000011703005",
"email": "cbrooks@zillum.com",
"first_name": "Brooks",
"last_name": "Charles",
"invoice_rate": "230.0",
"clientId": "170876000004241005",
"crm_contactId": "-1",
"displayName": "Brooks Charles"
}
]Get Project Contacts
Fetches all client contacts from a project.
Scope: ZohoProjects.users.READ
Request Parameters
index | Int | Index number of the contact. |
range | Int | Range of the contacts. |
search_string | String | Search string of the contact. |
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
[
{
"id": "170876000011703017",
"email": "PedroAlon@zillum.com",
"first_name": "Pedro",
"last_name": "Alonso",
"invoice_rate": "300.0",
"clientId": "170876000004241005",
"crm_contactId": "-1",
"displayName": "Pedro Alonso"
},
{
"id": "170876000011703005",
"email": "cbrooks@zillum.com",
"first_name": "Brooks",
"last_name": "Charles",
"invoice_rate": "230.0",
"clientId": "170876000004241005",
"crm_contactId": "-1",
"displayName": "Brooks Charles"
}
]Create Contacts
Creates a new client contact in the portal.
Scope: ZohoProjects.users.CREATE
Request Parameters
workprojects | JSONArray | Array of Project IDs. Ex. [170876000011141285, 170876000011141005] |
clientId | Long | ID of the Client company. |
contacts | JSONArray | Array of JSON Objects. "first_name", "last_name", "email" and "invoice_rate" of the Client contact. [{ "first_name": "Alba", "last_name": "Flores", "email": "albaflores@zillum.com", "invoice_rate": 45 }] Note: "first_name", "last_name" and "email" are mandatory JSON objects. |
Sample Response
Status: 201 Created
Content Type: application/json;charset=utf-8
{
"contacts": [
{
"id": "170876000011707003",
"email": "alveromorte@zillum.com",
"first_name": "Alvero",
"last_name": "Morte",
"invoice_rate": "66.0",
"clientId": "170876000004176039",
"crm_contactId": "-1",
"displayName": "Alvero Morte"
}
],
"error": {
"status_code": "207",
"method": "POST",
"title": "EXISTING_USER_OR_CONTACT",
"details": [
{
"message": "Contact is already a part of this organization",
"field_name": "emailId",
"field_value": "albaflores@zillum.com"
}
]
}
}Associate Contacts
Associate client contacts to a project.
Scope: ZohoProjects.users.CREATE
Request Parameters
contactIds | JSONArray | Array of client contact IDs |
Sample Response
Status: 204
Dissociate Contact
Dissociate a client contact from a project.
Scope: ZohoProjects.users.DELETE
Sample Response
Status: 204
Update Contact
Updates a Client contact in the portal.
Scope: ZohoProjects.users.UPDATE
Request body
Content Type: application/json;charset=utf-8
The below keys are passed in a JSONObject
Key Name | Data Type | Key Value |
email | String | Email address of the client contact |
first_name | String | First name of the client contact |
last_name | String | Last name of the client contact |
invoice_rate | Double | Invoice rate of the client contact |
projects | JSONArray | Array of Project IDs. Ex. [170876000011141285, 170876000011141005] |
Sample input
Status: 200 Success
Content Type: application/json;charset=utf-8
{
"id": "170876000011703031",
"email": "albaflore@zillum.com",
"first_name": "Alba",
"last_name": "Flore",
"invoice_rate": "45.0",
"clientId": "170876000004176039",
"crm_contactId": "-1",
"projects": [
"170876000004885019"
],
"displayName": "Alba Flore"
}Delete Contact
Deletes a Client contact from a portal.
Scope: ZohoProjects.users.DELETE
Sample Response
Status: 204
Convert Contact to Client User
Converts a Client contact into a Client user
Scope: ZohoProjects.users.CREATE
Request Parameters
email | String | Email address of the user. Note: This parameter can be passed if the email address has to be updated. |
profileId | long | Profile ID of the Client user |
invoice_rate | String | Rate per hour of the user |
workprojects | JSONArray | Array of Project IDs. Ex. [170876000011141285, 170876000011141005] |
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
{
"CURR_PROJID": "0",
"CLIENTCNT": "40",
"SUCCESS_EMAILID": [
"HVictor@zillum.com"
],
"USERLIST": [
{
"ISRESENDINVITE": false,
"DISPLAYNAME": "hvictor",
"ISUSERCONFIRMED": false,
"CURR_USERZPUID": "170876000006163001",
"LOGINZPUID": "170876000011703011",
"INVOICE": "125.000",
"EMAIL": "hvictor@zillum.com",
"ISACTIVE": true,
"PORTALPROFILEID": "170876000004602149",
"PORTALPROFILENAME": "Client",
"ISUSERCLOSED": true,
"COMPANYNAME": "Leester Donnelly and Sons",
"PROFILETYPE": 3,
"COMPANYID": "170876000004176039",
"LOGINNAME": 754852765
}
],
"USERCNT": {
"ADMIN II": 1,
"Moderator": 1,
"Marketing Manager": 4,
"Contractor": 5,
"Employee": 28,
"jointadmin": 37,
"admin": 2,
"portalusers": 103,
"Manager": 25
},
"is_contact_converted": true,
"CURR_ROLE": "jointadmin",
"COMPANYID": "170876000004176039",
"CURRENCY_CODE": "$",
"ISINVINTEG": true,
"USERSCOUNT": 1
}