Java SDK - Overview
Zoho CRM JAVA SDK offers a way to create client Java applications that can be integrated with Zoho CRM. This SDK makes the access and use of necessary CRM APIs easy. In other words, it serves as a wrapper for the REST APIs, making it easier to use the services of Zoho CRM.
A point to note would be that the developer of the client application should create programming code elements along with interface implementations, instances or objects. Authentication to access Zoho CRM APIs is through OAuth2.0 authentication mechanism. Invariably, HTTP requests and responses are taken care of by the SDK.
A sample of how an SDK acts a middleware or interface between Zoho CRM and a client Java application.
Java SDK allows you to
- Exchange data between Zoho CRM and the client application where the CRM entities are modeled as classes.
- Declare and define CRM API equivalents as simple functions in your Java application.
- Push data into Zoho CRM by accessing appropriate APIs of the CRM Service.
Note:
- For the sake of better explanation, we have used Eclipse to describe how to get started on using the SDK.
Environmental Setup
Java SDK requires Java (version 8 and above) to be setup in your development environment.
Including the SDK in your project
Java SDK is available through Maven distribution. You can include the SDK to your project using:
- Maven
- Gradle
- Downloadable JARs (by Zoho)
Maven Distribution
Maven is a build automation tool used primarily for Java projects. Maven addresses two aspects of building software: first, it describes how software is built, and second, it describes its dependencies.
If you are using Maven to build your project, we already have the dependencies set up.
You just need to include the following in your pom.xml file, which will get created once your Java project is created using Maven.
<repositories> <repository> <id>zohocrm-sdk</id> <url>https://maven.zohodl.com</url> </repository> </repositories> <dependencies> <dependency> <groupId>com.zoho.crm</groupId> <artifactId>zohocrmsdk-2-1</artifactId> <version>2.0.0</version> </dependency> </dependencies>
Gradle
repositories{ maven { url "https://maven.zohodl.com" } } dependencies{ implementation 'com.zoho.crm:zohocrmsdk-2-1:2.0.0' }
Downloadable JAR file
This version downloads simply the SDK without dependent jars. In this case, the following jars are to be made available by adding them in the referenced libraries of your java application. The jars can be downloaded from here.
The list of dependency JARs that you need are:
- commons-lang3-3.9.jar
- httpclient-4.4.1
- httpcore-4.4.4
- httpmime-4.5.3
- json-20170516
- commons-logging-1.1.3
- mysql-connector-java-5.1.47-bin.jar
- opencsv-5.0.jar
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, 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 Contact Roles 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