Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

#CNX14 - Dive Deep into the ExactTarget Fuel APIs

6,098 views

Published on

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.

  • Be the first to comment

#CNX14 - Dive Deep into the ExactTarget Fuel APIs

  1. 1. Track: Developers #CNX14 #CNX14 Dive Deep into the Fuel APIs Kris Chant Sr. Technical Product Manager - API @sprshrp
  2. 2. 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
  3. 3. Track: Developers #CNX14 A Brief Introduction
  4. 4. 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
  5. 5. Track: Developers #CNX14 APIs POST https://www.exacttargetapis.com/address/v1/validateEmail Authorization: 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
  6. 6. 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 languages and 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
  7. 7. 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 languages and 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
  8. 8. 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 languages and 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
  9. 9. Track: Developers #CNX14 code.exacttarget.com/developer -edition kchant@exacttarget.com
  10. 10. Track: Developers #CNX14 Building the Journey
  11. 11. Track: Developers #CNX14 Scenario: Fitbit wants to drive installation of their Mobile app for new users.
  12. 12. 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
  13. 13. Track: Developers #CNX14 Create your Application
  14. 14. Track: Developers #CNX14 Select API Integration
  15. 15. Track: Developers #CNX14 3. Get your Client ID and Secret
  16. 16. Track: Developers #CNX14 Configure the SDK
  17. 17. Track: Developers #CNX14 Example Code: https://github.com/sprshrp/conn ections14
  18. 18. Track: Developers #CNX14 Setup your Data Model
  19. 19. Track: Developers #CNX14 Setup your Data Model
  20. 20. Track: Developers #CNX14 Import your Data
  21. 21. Track: Developers #CNX14 Create the Emails
  22. 22. Track: Developers #CNX14 Demo
  23. 23. Track: Developers #CNX14 Map the Contact Model
  24. 24. Track: Developers #CNX14 Define the Contact Model
  25. 25. Track: Developers #CNX14 Build the Journey – Create a Trigger
  26. 26. Track: Developers #CNX14 Define the Trigger Filter
  27. 27. Track: Developers #CNX14 Build the Canvas
  28. 28. Track: Developers #CNX14 The Decision Split
  29. 29. Track: Developers #CNX14 The Decision Split
  30. 30. Track: Developers #CNX14 Event Definition Key
  31. 31. Track: Developers #CNX14 Retrieve an Authorization Token
  32. 32. Track: Developers #CNX14 Execute the Journey
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. Track: Developers #CNX14

×