salesforce-marketingcloud / FuelSDK-CSharp

FuelSDK-CSharp
MIT License
51 stars 79 forks source link

Salesforce Marketing Cloud Fuel SDK for C#

Overview

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

Requirements

Versions

To see the latest feature added to the C# Fuel SDK go to Releases.

Getting started

The MC SDK has now implemented two authentication possibilities:

Until August 1st, 2019 both authentication options will be supported. Starting with August 1st, 2019 only OAuth 2.0 will be supported.

Configure

Rename the App.config.transform file in the FuelSDK-CSharp project to App.config.

For Legacy authentication, use the below example for App.config

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="fuelSDK" type="FuelSDK.FuelSDKConfigurationSection, FuelSDK" />
  </configSections>
  <fuelSDK
    appSignature="none"
    clientId="YOUR_CLIENT_ID"
    clientSecret="YOUR_CLIENT_SECRET"
    authEndPoint="YOUR_AUTH_TSE/v1/requestToken"
    restEndPoint="YOUR_REST_TSE" />
</configuration>

For OAuth2 authentication, use the below example for App.config(More details can be found here)

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="fuelSDK" type="FuelSDK.FuelSDKConfigurationSection, FuelSDK" />
  </configSections>
  <fuelSDK
    appSignature="none"
    clientId="YOUR_CLIENT_ID"
    clientSecret="YOUR_CLIENT_SECRET"
    authEndPoint="YOUR_AUTH_TSE"
    restEndPoint="YOUR_REST_TSE"
    useOAuth2Authentication="true" 
    applicationType="server"||"public"||"web" //if you are using oauth2 for public or web app. By default, this will be "server" 
    authorizationCode="AUTHORIZATION_CODE"
    redirectURI="REDIRECT_URI_FOR_PUBLIC/WEB_APP"
    accountId="TARGET_ACCOUNT_ID"
    scope="DATA_ACCESS_PERMISSIONS" />
</configuration>

More details and a comparison between legacy and enhanced packages can be found here.

Example Request

All Salesforce Marketing Cloud services exposed through the Fuel SDK begin with the "ET" prefix.

ETClient Class

The ETClient class takes care of many of the required steps when accessing Salesforce Marketing Cloud's API, including retrieving appropriate access tokens, handling token state for managing refresh, and determining the appropriate endpoints for API requests. In order to leverage the advantages this class provides, use a single instance of this class for an entire session. Do not instantiate a new ETClient object for each request made.

ETList object

Add a using statement to reference the FuelSDK's functionality:

using FuelSDK;

Next, create an instance of the ETClient class:

ETClient myClient = new ETClient();

Create an instance of the Salesforce Marketing Cloud we want to work with:

ETList list = new ETList();

Associate the ETClient to the object using the client property:

list.AuthStub = myClient;

Utilize one of the ETList methods:

GetReturn allLists = list.Get();

Print out the results for viewing

Console.WriteLine("Get Status: " + allLists.Status.ToString());
Console.WriteLine("Message: " + allLists.Message.ToString());
Console.WriteLine("Code: " + allLists.Code.ToString());
Console.WriteLine("Results Length: " + allLists.Results.Length);
foreach (ETList ResultList in allLists.Results)
{
    Console.WriteLine("--ID: " + ResultList.ID + ", Name: " + ResultList.ListName + ", Description: " + ResultList.Description);
}

Responses

All methods on Fuel SDK objects return an object that follows the same structure, regardless of the type of call. This object contains a common set of properties used to display details about the request.

Sample calls

The objsamples project (included in solution) contains sample calls for all the available functionality.

Contact us

License

By contributing your code, you agree to license your contribution under the terms of the BSD 3-Clause License.