#cnx14 - dive deep into the exacttarget fuel apis
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": "[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
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
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