The NodeJS SDK for Zoho CRM allows developers to easily create NodeJS applications that can be integrated with Zoho CRM. This SDK serves as a wrapper for the REST APIs, making it easier to access and utilize the services of Zoho CRM. Authentication to access the CRM APIs is done through OAuth2.0, and the authentication process is streamlined through the use of the NodeJS SDK. The grant and access/refresh tokens are generated and managed within the SDK code, eliminating the need for manual handling during data synchronization between Zoho CRM and the client application.
This repository includes the NodeJS SDK for API v7 of Zoho CRM. Check Versions for more details on the versions of SDK released for this API version.
Copyright (c) 2021, ZOHO CORPORATION PRIVATE LIMITED
All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
NOTE: We have updated the Node.js SDK API package name as part of this release. Please review the updated package name and make the necessary adjustments to your codebase to ensure compatibility with the latest version of the SDK.
- Added new fields (referenceValue, dealCategory delete, and showValue) in fields PickListValue class.
- DealContactRolesOperations class method name changed(deleteContactRoleRealation to deleteContactRoleRelation).
- Added new page_token param in GetAttachmentsParam class.
- Added category, sort_by, sort_order, and filters param in GetEmailTemplatesParam class.
- Added new filters param in GetInventoryTemplatesParam class.
- Added new delete field in layouts SectionField class.
- Added new delete field in layouts Sections class.
- Modules displayField field datatype changed(String to Object).
- Added new status param in GetModulesParam class.
- Added new paramInstance param in ModulesOperations class getModules method.
- Email Related Records Email class threadId field datatype changed(Long to String).
- Added new type param in SearchRecordsParam class.
- Added new cvid param in RecordCountParam class.
- Added new page_token, page, and per_page param in GetRecordLockingInformationsParam class.
- Added new delete field in recordlockingconfiguration LockingRules class.
- Removed module param in ScoringRulesOperations class getScoringRule method.
- Added new color_code param in CreateTagsParam class.
- Update recordId, moduleAPIName to moduleAPIName, recordId param location in TagsOperations class addTags method.
- Update recordId, moduleAPIName to moduleAPIName, recordId param location in TagsOperations class removeTags method.
- Added new ids param in GetTerritoriesParam class.
- Added new page and per_page param in GetChildTerritoryParam class.
- Added new paramInstance param in UserGroupsOperations class getAssociatedUsersCount method.
- Added new filters, page, and per_page param in GetAssociatedUsersCountParam class.
- CadencesExecutionOperations class method name changed(enrolCadences to enrollCadences).
- CadencesExecutionOperations class method name changed(unenrolCadences to unenrollCadences).
- Deprecated and removed API methods:
-
UsersTerritories
- validateBeforeTransferForAllTerritories
- validateBeforeTransfer
- delinkAndTransferFromAllTerritories
- delinkAndTransferFromSpecificTerritory
-
Cadences
-
DealContactRoles
-
InventoryConvert
-
InventoryMassConvert
-
Layouts
-
Modules
-
Record
-
RecordLockingConfiguration
-
RecycleBin
-
UserGroups
-
UsersTerritories
-
ZiaEnrichment
-
-
- Handled Error Structure in MassDeleteTags API.
-
-
NodeJS SDK upgraded to support v7 APIs.
-
NodeJS SDK improved to support the following new APIs
-
For older versions, please refer.
You can include the SDK to your project using:
For including the latest version using npm
-
Install Node from nodejs.org (if not installed).
-
Install NodeJS SDK
-
Navigate to the workspace of your client app.
-
Run the command below:
npm install @zohocrm/nodejs-sdk-7.0
-
-
Dependencies that should be included in the project
- install form-data
npm i form-data
- install got
npm i got
- install moment-timezone
npm i moment-timezone
- install mysql
npm i mysql
- install tunnel
npm i tunnel
- install winston
npm i winston
- install form-data
NOTE
- The access and refresh tokens are environment-specific and domain-specific. When you handle various environments and domains such as Production, Sandbox, or Developer and IN, CN, US, EU, JP, or AU, respectively, you must use the access token and refresh token generated only in those respective environments and domains. The SDK throws an error, otherwise. For example, if you generate the tokens for your Sandbox environment in the CN domain, you must use only those tokens for that domain and environment. You cannot use the tokens generated for a different environment or a domain.
- For Deal Contact Roles API and Records API, you will need to provide the ZohoCRM.settings.fields.ALL scope along with the ZohoCRM.modules.ALL scope while generating the OAuthtoken. Otherwise, the system returns the OAUTH-SCOPE-MISMATCH error.
- For Related Records API, the scopes required for generating OAuthtoken are ZohoCRM.modules.ALL, ZohoCRM.settings.fields.ALL and ZohoCRM.settings.related_lists.ALL. Otherwise, the system returns the OAUTH-SCOPE-MISMATCH error.
- For Mass Convert API, you will need to provide the ZohoCRM.settings.fields.ALL scope along with the ZohoCRM.mass_convert.leads.CREATE and ZohoCRM.mass_convert.leads.READ scope while generating the OAuthtoken. Otherwise, the system returns the OAUTH-SCOPE-MISMATCH error.
For more details, kindly refer here.