Transcript
Page 1: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

#CNX14

Dive Deep into the Fuel APIs

Kris Chant

Sr. Technical Product Manager - API

@sprshrp

Page 2: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

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

Page 3: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Track: Developers

#CNX14

A Brief Introduction

Page 4: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

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

Page 5: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

APIs

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

• SOAP (since 2007)

• Oldest and comprehensive

• Programmatically exposes the email application

• REST (since 2012)

• Newer & less comprehensive

• Multi-channel support

Page 6: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

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

Page 7: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

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…

Page 8: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

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

Page 9: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Track: Developers

#CNX14

code.exacttarget.com/developer-edition

[email protected]

Page 10: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Track: Developers

#CNX14

Building the Journey

Page 11: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Scenario:

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

Page 12: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

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

Page 13: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Create your Application

Page 14: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Select API Integration

Page 15: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

3. Get your Client ID and Secret

Page 16: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Configure the SDK

Page 17: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Track: Developers

#CNX14

Example Code:

https://github.com/sprshrp/connections14

Page 18: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Setup your Data Model

Page 19: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Setup your Data Model

Page 20: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Import your Data

Page 21: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Create the Emails

Page 22: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Track: Developers

#CNX14

Demo

Page 23: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Map the Contact Model

Page 24: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Define the Contact Model

Page 25: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Build the Journey – Create a Trigger

Page 26: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Define the Trigger Filter

Page 27: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Build the Canvas

Page 28: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

The Decision Split

Page 29: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

The Decision Split

Page 30: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Event Definition Key

Page 31: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Retrieve an Authorization Token

Page 32: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14

Execute the Journey

Page 33: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

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

Page 34: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

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

Page 35: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

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

Page 36: #CNX14 - Dive Deep into the ExactTarget Fuel APIs

Track: Developers

#CNX14


Top Related