Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be.

Slides:



Advertisements
Similar presentations
Enhancing Productivity with MySQL 5.6 New Features
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
© 2008 Oracle Corporation – Proprietary and Confidential.
Advanced Piloting Cruise Plot.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
4 Copyright © 2005, Oracle. All rights reserved. Creating the Web Tier: Servlets.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 The following is intended to outline our general product direction. It is intended.
Copyright CompSci Resources LLC Web-Based XBRL Products from CompSci Resources LLC Virginia, USA. Presentation by: Colm Ó hÁonghusa.
1 State Wildlife Action Plans Wiki: Business Transformation Tutorial Brand Niemann July 5, 2008
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Proud Members of the Consulting Group, LLC
Govern the Flow of Data: Moving from Chaos to Control
Practical Uses for Web Services in Application Express
REST &.NET James Crisp.NET Practice Lead ThoughtWorks Australia.
Server Access The REST of the Story David Cleary
OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.
Beyond Order Orchestration: Plan and Execute with Allocation and Backlog Management Rajat Bhargav, Director, Product Strategy Danny Smith, Executive Director,
Data Structures: A Pseudocode Approach with C
ABC Technology Project
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1.
© 2005 AT&T, All Rights Reserved. 11 July 2005 AT&T Enhanced VPN Services Performance Reporting and Web Tools Presenter : Sam Levine x111.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Confidential – Oracle Restricted 1.
8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Using Explicit Cursors.
Customize Your View of Data Training Presentation for Supply Chain Platform: BAE Systems July 2012.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 of the corporate.
Squares and Square Root WALK. Solve each problem REVIEW:
31242/32549 Advanced Internet Programming Advanced Java Programming
© 2012 National Heart Foundation of Australia. Slide 2.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Executional Architecture
Addition 1’s to 20.
25 seconds left…...
Slippery Slope
Presentation 7 part 2: SOAP & WSDL.
Week 1.
We will resume in: 25 Minutes.
1 Unit 1 Kinematics Chapter 1 Day
VPN AND REMOTE ACCESS Mohammad S. Hasan 1 VPN and Remote Access.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Your customer as a segment of one That changes every second! Hein Van Der Merwe Chief.
Oracle User Productivity Kit Professional Ensuring Success with Oracle Apps
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1.
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
The Safe Harbor The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit The Newest JDE Module – Rental Management Joel Sandberg Sales Consultant.
Getting Started with Oracle Compute Cloud
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit PaaS from an Applications Perspective Charles McGuinness Director,
Oracle Confidential – Internal/Restricted/Highly RestrictedCopyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Identity Management.
| Building the Effective Enterprise Conquering Interoperability Tony J Winter – Chief Technology Officer, QAD Building the Effective Enterprise.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Reporting from Contract.
Oracle E-Business Suite Order Management: Presenting the HTML and Mobile User Experience Durgaprasad Bodapati Director, Product Management Bhavana Sharma.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
What Is New and Noteworthy in Jersey Miroslav Fuksa, Jakub Podlešák Software Developers Oracle, Application Server Group October 1, 2014 Copyright ©
RMB Billing UX Design Concepts / Proposals Peter Picone.
CollectionSpace Service REST-based APIs June 2009 Face-to-face Aron Roberts U.C. Berkeley IST/Data Services.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Contract Management.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit Really Cool Demo Stuff – 2015 Edition!!!!! For demo content, please.
Build Mobile Apps for Oracle E-Business Suite with Oracle Mobile Platform Bruce Bailey Principal Mobile/Social Solutions Consultant Jagadeesh Maira Senior.
RESTful Microservices In Java With Jersey Jakub Podlešák Software Engineer Oracle, Application Server Group September 29, 2014 Copyright © 2014, Oracle.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Planning & Budgeting Cloud Service (PBCS) Overview Business Analytics Product Group.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
z/Ware 2.0 Technical Overview
Build a Web App with Oracle REST Data Services &
WEB API.
Project Helidon Deep Dive
OpenWorld 2018 Oracle API Platform: How to Manage Typical Workflows
Presentation transcript:

Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Automation Strategies with the Eloqua API An Oracle | Eloqua Power Hour Powered by

Presenters T.J. Fields – Oracle | Eloqua, Senior Product Manager Chris Campbell – Oracle | Eloqua, Senior Product Manager

Power Hour Agenda First, Some Background A Closer Look Using Eloqua’s RESTful APIs Where to find information

In the beginning Eloqua’s first public API Basic entity CRUD operations Bulk operations (DTS) SOAP API 2008 Our First Formal API Key use cases were Data Warehousing and Custom CRM integration Enabling Customers to integrate with Eloqua’s data entities in a supported way Good in that we exposed the data, but had challenges around errors and simplicity of the data model

Extending the marketing automation system Step-based Apps (Cloud Connectors) Perform external operations on campaign members SOAP API Cloud Connectors Enabling external applications to extend the marketing automation workflow - Seamless integration to the execution of marketing automation (PB or later, Campaign Canvas) UX integration between the Eloqua UI and your Cloud Connector UI, for the Marketing User Extend the actions that the Eloqua platform can take, enabling you to provide real value for Eloqua customers through platform extensions 2008 2014

Time for REST Application API Built for E10 Asset & Data Access Real time! SOAP API Cloud Connectors Application API 2008 2014

Scale It… Bulk API 1.0 Simple Scalable Complete RESTful APIs SOAP API Cloud Connectors Application API Bulk API 1.0 Provide a better approach to large volume data transfer (imports and exports) Addressing issues with the SOAP API: simplify the data model to make it easy to understand for the simple cases, and easy to use for even the more complex scenarios Moving from SOAP to REST, to simplify access to the data and no longer relying on SOAP tooling and constraints Move towards a standard addressing language (ML), to provide both readable and validatable addressing of data when communicating with Eloqua Scalability was a key driver – so imports and exports could be done with millions of records in a short period of time, and so the impact on the rest of the transactional system would be low Completeness in terms of: Full management of Import/Export definitions through the API (where the SOAP DTS API required external configuration) Granular detail on all synchronous responses, to provide immediate and clear information about any errors Reference level documentation (generated), Bulk API Guide and 2 types of live documentation “apps” 2008 2014

Activities Anyone? Bulk API 2.0 Retrieve Activity Data Enhanced Filtering capabilities offers more customized datasets Access to import errors in the staging area RESTful APIs SOAP API Cloud Connectors Application API Bulk API 1.0 Bulk API 2.0 2008 2014

A Closer Look

API Uses Many possibilities Integration with external systems REST and Bulk API API Uses Many possibilities Integration with external systems Build Cloud “Apps” appcloud.eloqua.com Solve more complex use cases Perform specific, repeatable tasks or functions © 2013 Eloqua Education Services

REST and Bulk API Eloqua’s APIs SOAP Protocol for exchanging data relies on XML. Eloqua's SOAP API has been available since 2008 (primarily used with the E9 platform) Direct Access Web services Single record create/update and multiple record retrieval Data and asset creation available E10 is built using this API Bulk Web services Designed to handle large volumes of records Import/export of Data Contacts, Custom Objects, Activities, Cloud Connectors © 2013 Eloqua Education Services

Eloqua’s APIs Current Status Consumers SOAP APIs (v1 – 1.2) Maintenance only, heavily used Direct Access RESTful APIs Broad access to most of Application Bulk Access RESTful API access to a subset of the system 3rd Party Apps & Integrations CRM Integration Eloqua Apps E10, Mailer, EPP AppCloud Apps

Using Eloqua’s RESTful APIs

Uri Format Eloqua REST APIs https://<host>/api/<context>/<version>/<resource>[/<resource id>][/child resource>][/<child resource id>][?parameters] All endpoints in a given API will have the same root/base Uri (not including host). https://secure.eloqua.com/api/bulk/1.0 An example of the format in use is: https://secure.eloqua.com/api/bulk/1.0/contact/lists?page=2&pageSize=50 An example with child resources: https://secure.eloqua.com/api/bulk/1.0/customObject/5/field/6

REST API: Process Overview REST and Bulk API REST API: Process Overview Authenticate Determine endpoint from Eloqua API (https://login.eloqua.com/id) Basic HTTP authentication or OAUTH Construct object Needed for POST, PUT Not needed for GET, DELETE Call the API endpoint /assets/contact/fields?depth=complete&count=1&page=1 Full list of parameters: http://topliners.eloqua.com/community/code_it/blog/2012/09/27/eloqua- rest-api--request-url-parameters Read response (next slide) © 2013 Eloqua Education Services

REST API: Response (JSON) REST and Bulk API REST API: Response (JSON) {"elements": [ {"type":"ContactField", "id":"100001", "createdAt":"-2208970800", "depth":"complete", "name":"Email Address", "updatedAt":"1305742610", "updatedBy":"8", "dataType":"text", "displayType":"text", "internalName":"C_EmailAddress", "isReadOnly":"false", "isRequired":"false", "isStandard":"true", "isAccountLinkageField":"false", "isPopulatedInOutlookPlugin":"false", "updateType":"always" }, "id":"100002", "name":"First Name", "updatedAt":"1285431903", "internalName":"C_FirstName", "updateType":"newNotBlank" }, ... © 2013 Eloqua Education Services

Common Patterns Eloqua REST APIs CRUD support using POST, GET, PUT and DELETE POST /contact/import GET /contact/import/5 PUT /contact/import/5 DELETE /contact/import/5 Search using GET with plural resource GET /contact/imports?page=2&pageSize=50&search=name=a*&orderBy=n ame%20ASC POST Tunneling available with X-HTTP-Method-Override header PATCH is supported in a limited number of cases, for partial updates.

Partial Requests Eloqua REST APIs depth fields fieldsUri Minimal/partial/complete fields Json syntax fieldsUri Persisted fields value, for re-use PATCH is supported in a limited number of cases, for partial updates. Concerns: - REST is chatty -> deep object graphs with partial request/response

Response Codes & Errors Eloqua REST APIs Status Code Tunneling available with X-HTTP-Status-Code-Override header Status Codes 2XX for success (200/201/204) 4XX for client resolvable error (400/401/403/404/409/412/413) 5XX for server error (500/503) Error Responses Path to invalid Field Invalid value Failed constraint text { "failures": [ "field": "destinationUri", "value": "/contact/list/47155555", "constraint": "Must reference an existing item, by uri." } ] 200 OK: Success (On GET/PUT verbs) - Response Body contains expected Data Transfer Object (“DTO”) 201 Created: Success (On POST verb) - Response Body contains expected DTO 204 No Content: Success 400 Bad Request One of: There was a parsing error. There was a missing reference. There was a serialization error. There was a validation error. … - Response Body contains the details of the failure in a “FailureResponse” DTO 401 Unauthorized - Login Required. - You are not authorized to make this request. 403 Forbidden - This service has not been enabled for your site. - XSRF7 Protection Failure. 404 Not Found (The requested resource was not found.) 409 Conflict (There was a conflict, likely due to a uniqueness constraint.) Response Body contains the details of the failure in a “FailureResponse” DTO 412 Precondition Failed The resource you are attempting to delete has dependencies, and cannot be deleted. 413 Request Entity Too Large (for the staging area) - Storage space exceeded. 500 Internal Server Error The service has encountered an error. 503 Service Unavailable - Service is unavailable. - There was a timeout processing the request.

Async Processing (Bulk API) Eloqua REST APIs Import Flow Create Import definition POST data to staging area Create sync task & monitor Export Flow Create Export definition GET data from staging area Staged data access

Where to find information

Code It Eloqua’s Developer Community

Thank you and Questions…