#cnx14 - dive deep into the exacttarget fuel apis

36
Track: Developers #CNX14 #CNX14 Dive Deep into the Fuel APIs Kris Chant Sr. Technical Product Manager - API @sprshrp

Upload: salesforce-marketing-cloud

Post on 13-Nov-2014

401 views

Category:

Documents


2 download

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

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