#cnx14 - dive deep into the exacttarget fuel apis

Post on 13-Nov-2014

401 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

ExactTarget Fuel offers a comprehensive set of APIs that enable you to automate your marketing campaigns and seamlessly integrate your marketing, analytics, and other business software. In this session, we'll provide an overview of Fuel's APIs with an emphasis on the latest and greatest additions to the REST API. We'll also highlight several examples of how to use these APIs to address core platform use cases such as automation and integration.

TRANSCRIPT

Track: Developers

#CNX14

#CNX14

Dive Deep into the Fuel APIs

Kris Chant

Sr. Technical Product Manager - API

@sprshrp

Track: Developers

#CNX14

Goals – Presentation Overview

1 2 3

Intro to Fuel APIs

• REST• SOAP• SDKs

Developer Edition

• Get Your Own Free Developer Account!

Building a Journey:

• Scenario Description

• Developer Setup• Build the Journey

Track: Developers

#CNX14

Track: Developers

#CNX14

A Brief Introduction

Track: Developers

#CNX14

APIs

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <oAuth xmlns="http://exacttarget.com"> <oAuthToken> gd2324hruukedkremtwqhae9 </oAuthToken> </oAuth> </soap:Header> <soap:Body> <RetrieveRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI" <RetrieveRequest> <ObjectType>List</ObjectType> <Properties>ListName</Properties> <Properties>Description</Properties> <Properties>Category</Properties> <Properties>ListClassification</Properties>

• SOAP (since 2007)

• Oldest and comprehensive

• Programmatically exposes the email application

Track: Developers

#CNX14

APIs

POST https://www.exacttargetapis.com/address/v1/validateEmailAuthorization: Bearer gd2324hruukedkremtwqhae9{ "email": "iamaspamtrap@spam.com", "validators": [ "SyntaxValidator", "GlobalUnsubValidator", "ListDetectiveValidator" ]}HTTP/1.1 200 OK{ "email": "iamaspamtrap@spam.com", "valid": false, "failedValidation": "ListDetectiveValidator"}

• SOAP (since 2007)

• Oldest and comprehensive

• Programmatically exposes the email application

• REST (since 2012)

• Newer & less comprehensive

• Multi-channel support

Track: Developers

#CNX14

SDKs

public class PrintAllLists { public static void main(String[] args) throws ETSdkException { ETClient client = new ETClient(); List<ETList> lists = client.getAllLists(); for (ETList list : lists) { System.out.println(list.getName()); } }}

• Native support for major programming languagesand frameworks (Java, .NET, PHP, Python, and Ruby)

• Greatly simplifies integration with ExactTarget

• Faster time to market with lower cost

• Bridges SOAP & REST APIs, giving you easy access to all capabilities

Track: Developers

#CNX14

SDKs

public class PrintAllLists { public static void main(String[] args) throws ETSdkException { ETClient client = new ETClient(); List<ETList> lists = client.getAllLists(); for (ETList list : lists) { System.out.println(list.getName()); } }}

• Native support for major programming languagesand frameworks (Java, .NET, PHP, Python, and Ruby)

• Greatly simplifies integration with ExactTarget

• Faster time to market with lower cost

• Bridges SOAP & REST APIs, giving you easy access to all capabilities

This…

Track: Developers

#CNX14

SDKs

public class PrintAllLists { public static void main(String args[]) { PartnerAPI service = new PartnerAPI(); soap = service.getSoap(); Client client = ClientProxy.getClient(soap); Endpoint endpoint = client.getEndpoint(); Map<String, Object> outProperties = new HashMap<String, Object>(); outProperties.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN); outProperties.put(WSHandlerConstants.USER, username); PasswordCallbackHandler callback = new PasswordCallbackHandler(); callback.setPassword(password); outProperties.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT); outProperties.put(WSHandlerConstants.PW_CALLBACK_REF, callback); WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProperties); endpoint.getOutInterceptors().add(wssOut); endpoint.getOutInterceptors().add(new SAAJOutInterceptor()); endpoint.getInInterceptors().add(new LoggingInInterceptor()); endpoint.getOutInterceptors().add(new LoggingOutInterceptor());

RetrieveRequest retrieveRequest = new RetrieveRequest(); retrieveRequest.setObjectType("List"); retrieveRequest.getProperties().add("ListName"); RetrieveRequestMsg retrieveRequestMsg = new RetrieveRequestMsg(); retrieveRequestMsg.setRetrieveRequest(retrieveRequest); RetrieveResponseMsg retrieveResponseMsg = soap.retrieve(retrieveRequestMsg); for (APIObject apiObject : retrieveResponseMsg.getResults()) { List l = (List) apiObject; System.out.println(l.getListName()); } }}

• Native support for major programming languagesand frameworks (Java, .NET, PHP, Python, and Ruby)

• Greatly simplifies integration with ExactTarget

• Faster time to market with lower cost

• Bridges SOAP & REST APIs, giving you easy access to all capabilities

… vs. this

Track: Developers

#CNX14

Track: Developers

#CNX14

code.exacttarget.com/developer-edition

kchant@exacttarget.com

Track: Developers

#CNX14

Track: Developers

#CNX14

Building the Journey

Track: Developers

#CNX14

Scenario:

Fitbit wants to drive installation of their Mobile app for new users.

Track: Developers

#CNX14

Steps to Get There

1. Get Your Free Developer Account

2. Setup your Dev Environment

3. Import Data

4. Define Your Contact Model

5. Build Your Journey

Track: Developers

#CNX14

Create your Application

Track: Developers

#CNX14

Select API Integration

Track: Developers

#CNX14

3. Get your Client ID and Secret

Track: Developers

#CNX14

Configure the SDK

Track: Developers

#CNX14

Track: Developers

#CNX14

Example Code:

https://github.com/sprshrp/connections14

Track: Developers

#CNX14

Setup your Data Model

Track: Developers

#CNX14

Setup your Data Model

Track: Developers

#CNX14

Import your Data

Track: Developers

#CNX14

Create the Emails

Track: Developers

#CNX14

Track: Developers

#CNX14

Demo

Track: Developers

#CNX14

Map the Contact Model

Track: Developers

#CNX14

Define the Contact Model

Track: Developers

#CNX14

Build the Journey – Create a Trigger

Track: Developers

#CNX14

Define the Trigger Filter

Track: Developers

#CNX14

Build the Canvas

Track: Developers

#CNX14

The Decision Split

Track: Developers

#CNX14

The Decision Split

Track: Developers

#CNX14

Event Definition Key

Track: Developers

#CNX14

Retrieve an Authorization Token

Track: Developers

#CNX14

Execute the Journey

Track: Developers

#CNX14

Thank you!

Recap:

1. Registered an Account

2. Setup your Dev Environment

3. Imported your Data

4. Defined Your Contact Model

5. Built Your Journey

Track: Developers

#CNX14

Track: Developers

#CNX14

Questions?Code From Today’s Session

https://github.com/sprshrp/connections14

Dev Portal, SDKs, Reference

http://code.exacttarget.com/developer-edition

AppCenter

https://appcenter.exacttarget.com/appcenter

Track: Developers

#CNX14

CUSTOMER JOURNEY SHOWCASE

MARKETING THOUGHT LEADERS

EMAIL MARKETING PRODUCT STRATEGY& ROADMAP

PERSONAL TRANSFORMATION

& GROWTH

SOCIAL MARKETING MOBILE & WEB MARKETING

DEVELOPERS HANDS-ON TRAINING

INDUSTRY TRENDSETTERS

CREATIVITY & INNOVATION

SALESFORCE FOR MARKETERS

ROUNDTABLES

Track: Developers

#CNX14

top related