FuelSDK-Java icon indicating copy to clipboard operation
FuelSDK-Java copied to clipboard

Salesforce Marketing Cloud Java SDK

Salesforce Marketing Cloud Java SDK

The Salesforce Marketing Cloud Java SDK enables developers to easily access the Salesforce Marketing Cloud (formerly ExactTarget) via the Java platform. Among other things, the SDK:

  • automatically acquires and refreshes Marketing Cloud access tokens

  • enables developers to access both Marketing Cloud SOAP and REST APIs in the same session

  • exposes simplified versions of the most commonly used Marketing Cloud objects and methods as Java native objects

  • provides passthroughs so developers can access the full REST and SOAP APIs directly when they need to go beyond the simplified interfaces

  • adds "sugar" methods for the most commonly used Marketing Cloud features that make it easy to use those features (e.g., the SDK provides a SQL-like interface to data extensions)

For more information about the Java SDK and how to use it, please see the Javadocs at http://salesforce-marketingcloud.github.io/FuelSDK-Java/.

New Features in Version 1.6.0

  • This version upgrades the SDK to use Log4j version 2.3.2 which contains a fix for Security Vulnerability CVE-2021-44832. The Log4j upgrade introduces breaking changes to the way Log4j is configured. This version of the SDK is using the Log4j2 bridge to help with version migration. If you override Log4j properties they might need to be converted to the new Log4j2 format. Please see this link for more details on migrating to Log4j v2: https://logging.apache.org/log4j/log4j-2.3.2/manual/migration.html.

New Features in Version 1.5.1

  • Added Support for Java 11

New Features in Version 1.5.0

  • Added Refresh Token support for OAuth2 authentication

  • Added Web/Public App support for OAuth2 authentication

    More details on Access Tokens for Web/Public Apps can be found here

    Sample Config for OAuth2:

    clientId=<CLIENT_ID>
    clientSecret=<CLIENT_SECRET>
    authEndpoint=<AUTH TENANT SPECIFIC ENDPOINT>
    endpoint=<REST TENANT SPECIFIC ENDPOINT>
    soapEndpoint=<SOAP TENANT SPECIFIC ENDPOINT>
    useOAuth2Authentication=true
    accountId=<TARGET_ACCOUNT_ID>
    scope=<PERMISSION_LIST>
    applicationType=<APPLICATION_TYPE>
    redirectURI=<REDIRECT_URI_FOR_PUBLIC/WEB_APP>
    authorizationCode=<AUTHORIZATION_CODE_FOR_PUBLIC/WEB_APP>
    
  • applicationType can have one of the following values: server, public, web. The default value of applicationType is server.

New Features in Version 1.4.0

  • Added support for OAuth2 authentication - More Details

  • To enable OAuth2 authentication, set useOAuth2Authentication=true in the fuelsdk.properties file.

    Sample Config for OAuth2:

clientId=<CLIENT_ID>
clientSecret=<CLIENT_SECRET>
authEndpoint=<AUTH TENANT SPECIFIC ENDPOINT>
endpoint=<REST TENANT SPECIFIC ENDPOINT>
soapEndpoint=<SOAP TENANT SPECIFIC ENDPOINT>
useOAuth2Authentication=true
accountId=<TARGET_ACCOUNT_ID>
scope=<PERMISSION_LIST>

Installation

The easiest way to install the Java SDK is via Maven—simply add the following dependency to your project's pom.xml:

<dependency>
  <groupId>com.github.salesforce-marketingcloud</groupId>
  <artifactId>fuelsdk</artifactId>
  <version>1.5.0</version>
</dependency>

Maven will automatically resolve, download, and install all dependencies for you.

You can also download a jar file from the Releases page or clone the repository and build a jar file yourself in the standard way. If you go this route, you'll need to ensure you have manually downloaded and installed all dependencies (Apache CXF, Apache Commons BeanUtils, Apache log4j 1.x, and Google Gson) to your class path.

Once you have the SDK installed, you'll need to obtain a client ID and client secret from App Center and place them in fuelsdk.properties using src/main/resources/fuelsdk.properties.template as a starting template. Theses values authenticate you to the Saleforce Marketing Cloud API.