Open ebay Apps Jumpstart Nemo Chen Madhu Gupta Open ebay team
Agenda 1. Introduction to Open ebay Apps 2. Open ebay Technical Overview 3. Deploying your first Open ebay App
Agenda 1. Introduction to Open ebay Apps 2. Open ebay Technical Overview 3. Deploying your first Open ebay App
Introduction to Open ebay Apps
our founder s vision ebay has been a platform long before we had an official Developers Program. The more people that invest their time and energy building on top of ebay, the better it is for every part of the ebay Community they're the ones that will help ebay grow in directions we can't even predict. -- Pierre Omidyar
10 years of Developers Program heritage 100,000 developers strong 14,000 innovative buying and selling applications whole businesses support ebay s selling community
supporting ebay s rich APIs Over 125 Data Rich APIs robust, open standards 6 billion+ calls served /month Professional Documentation and Samples SDKs for many platforms PHP.NET Java Javascript Flash/Flex XML / SOAP
enabling integration with ebay data to solve the most common needs of online merchants market research product sourcing inventory management shipping solutions CRM tools marketing/merchandising finance & accounting
in 2009 ebay opened it s doors to apps allowing developers to embed apps where sellers do their business, directly inside of MyeBay
and launched the Apps Center on ebay A trusted Seller Tools Marketplace on ebay ebay Sellers Help ebay sellers grow their business by delivering vetted business management and productivity tools through a trusted, seamless experience on ebay.com Reduce ebay Seller Tools product delivery costs via 3rd party developers to build tools for the non-core and niche selling features, while ebay focuses on building core selling capabilities. 3P developers Create monetization opportunities for 3rd party developers via access to customers, simple integration, and handle key operational issues like subscriptions/billing.
the Open ebay platform enables solutions to common developer needs Customers ebay Sellers Apps Center 2.5M+ US registered sellers coming soon: Motors and International sellers Apps Center: marketing/promotion Featured App placements on ebay.com Monetization Technology Managed Billing Platform Integrated subscription and PayPal pre-approval Payment method management Flexible subscription or usage based billing Invoicing and payment processing Gadget Framework Open Standards Gadget Specification Native or Self Hosted options Event-based outbound notifications Authentication & Single-Sign On
how is the Apps Center doing? after 10 months in business: 2.5 million active US seller audience 40+ applications in 8 categories More than 100k subscriptions 1.5 subscriptions/subscriber several developers on their 3 rd & 4 th apps!
how can you participate? 3 simple steps. 1. participate in our Business Readiness Review ($75) 2. setup your billing plans, marketing info, and app metadata. test in the sandbox 3. submit your application for production review (free!) Technical Docs : http://developer.ebay.com/products/open-ebay-apps/ Participation Guidelines: http://developer.ebay.com/products/open-ebay-apps/program/
Agenda 1. Introduction to Open ebay Apps 2. Open ebay Technical Overview 3. Deploying your first Open ebay App
Technical Overview
we ve used open standards Built on open standard Gadgets Specification Gadgets Server and Repository Support Native (HTML/JS) and Self-Hosted (URL ) Gadgets Reusable components across ebay and the Web
MyeBay Applications Tab is a Gadget Container Your app is the gadget App is iframed inside of Applications Tab container page Full width of the page Logo and help links are rendered by ebay Deployment Descriptor maintains app metadata (Logos, Name, Short Description, Help and legal content)
options for building your app: selfhosted Most common choice App is completely hosted on your servers Business Logic Presentation You host a listener for subscription events ebay only knows the app entry point URL Use Gadget API for: Dynamic Height resize gadget height dynamically Reading User Prefs <Module> <ModulePrefs... /> <Content type="url" view= canvas href="http://www.myapp.com/appentry.jsp" /> </Module>
anatomy of a self-hosted app url gadget Application Canvas Other WS WS WS URL Type 3P Pres Layer 3P Biz Layer ebay Web Services 3P OEPI Listener addsubscriber/removesubscriber Open ebay Framework
when your url application renders.. Accept the Render Request from ebay HTTP Post from ebay Authenticate Validate ebay Signature Process Request Retrieve EAIS Token, UserID, Auth Token, Token Expiration Retrieve User Preferences and URL Parameters in POST data Render Application presentation layer
options for building your app: native Client side code ( HTML/JS) hosted and rendered by ebay Use Gadgets API to interact with ebay and the outside world Preload & MakeRequest access your 3P backend, remote resources, other public Web Services Direct Access to ebay APIs User Preferences read user preferences from inside the gadget Dynamic Height resize gadget height dynamically See http://code.google.com/apis/gadgets/docs/gs.html for full docs Easy vetting process, since no code running from your servers <Module> <ModulePrefs title="hello world example" /> <Content type="url" view= canvas href="http://www.myapp.com/appentry.jsp" /> <Content type="html view= default,wide > <![CDATA[ Hello, world! ]]> </Content> </Module>
anatomy of a native - html gadget Other WS WS WS Application Canvas HTML Type ebay Gadget Repository 3P Web Service ebay Web Services Gadgets API
HTML vs. URL You may use either HTML or URL style gadgets anywhere. HTML Gadget Simple HTML gadgets can be totally self contained, no need for you to host them on a server. Using makerequest and other standard DHTML techniques, and remote servers, you can do anything a URL gadget can do it is just a different programming style. URL Gadget If you are fielding a complex multi-screen (multi-page) gadget, and are more comfortable with a traditional non-ajax multi-page programming model. Perhaps you have an existing multi-page application you would like to make a gadget. Most gadgets.* APIs are available, especially dynamic height. APIs requiring remote calls to the gadget server (e.g. ebay-api and makerequest) are not due to same origin restrictions, but the non-ajax programming style will have the application make these calls server side.
Open ebay Integration Services Open ebay Identity Provider Service Establishes identity of your application for subsequent service calls Open ebay Partner Interface(OEPI) Defines the interface that you will implement to listen for subscription related events Open ebay Subscription Service Defines a set of operations related to subscription management and billing tasks
OEPI: Open ebay Participant Interface add Subscriber Generated for every new user that subscribes to your application Provides access to User Token, UserID, and Billing/Subscription details remove Subscriber Generated when a user un-subscribes from your application Token is revoked by ebay updatesubscriber Generated when the state changes for a particular subscription changesubscriptionplan Generated when a user upgrades or downgrades between your subscriptoin plans updatesubscribercredentials Generated when a user s authentication token is revoked or renewed
implementing an OEPI Listener Optional - but currently used by all apps ebay sends event to 3P application via HTTP POST OEPI Listener should: Authenticate Validate ebay Signature Process Request decrypt Sender Token Retrieve User Auth info and Subscription/Billing Info Apply subscription business logic Send Response XML to set the subscription state Construct addsubscriber response and return in HTTP Response
OESS: Open ebay Subscription Service addusage Adds charges for a subscriber, including some nonusage types of charges, e.g. a monthly subscription fee. setsubscriptionstate Requests a change in the subscription state of a user. getbillingstatements Retrieves all available billing statements balances for a subscriber. (Statement HTML image available Oct. 2010) getbillingrecords Retrieves detailed billed charges associated with a subscriber's account. The getbillingrecords call is used after you have used getbillingstatements to retrieve a statementid. (Additional transactions, unbilled, credits, payments, available Oct. 2010) getsubscribers Returns information about an application's subscribers. getsubscriptionplans Returns a list of subscription plans, including details, for the application making the request. http://developer.ebay.com/devzone/open-ebay-subscription/callref/index.html
ebay Web Services Use standard ebay Web Services to interact with ebay user data. User s auth token is provided as part of addsubscriber and render request Documentation Links APIs Shopping API Trading API Best Match API Merchandising API Feedback API Finding API Large Merchant Services Client Alerts API Platform Notifications API Research API
Agenda 1. Introduction to Open ebay Apps 2. Open ebay Technical Overview 3. Deploying your first Open ebay App
Deploying your first app
Demo Agenda Preparing a Deployment Descriptor Deploying your App to Sandbox Testing your App in the Sandbox Using self-service features on the Developer Portal Creating your Application Catalog entry Creating your Billing Plans Managing Subscribers
Deploying Your First Open ebay App Pre-Requisites to follow along with the demo: Create an account on the Developer Portal Create a sandbox user with the Sandbox User Registration Tool Login to Sandbox and set your user s registration country to United States
Deploying Your First Open ebay App
Deployment Descriptor Walkthrough Important Required fields Application ID Resources Links (Listener endpoint, help page ) Messages (short, long desc, legal terms, policy ) Permissions Private vs Public Implements Subscription Feature Gadget Views, UserPrefs
Agenda 1. Introduction to Open ebay Apps 2. Open ebay Technical Overview 3. Deploying your first Open ebay App 3-1 Deploy your Open ebay App 3-2 Add Application Directory 3-3 Create Billing Plan 3-4 Subscribe the Open ebay App 3-5 Start the Open ebay App
Deploying Your Open ebay App
Successfully
Agenda 1. Introduction to Open ebay Apps 2. Open ebay Technical Overview 3. Deploying your first Open ebay App 3-1 Deploy your Open ebay App 3-2 Add Application Directory 3-3 Create Billing Plan 3-4 Subscribe the Open ebay App 3-5 Start the Open ebay App
Add Application Directory
App Cat Step 1: Country, Languages, and Categories
App Cat Step 2: Application Description and Information
App Cat Step 3: Developer/Company Details
App Cat Step 4: Application Logo and Screenshots
Successfully
Agenda 1. Introduction to Open ebay Apps 2. Open ebay Technical Overview 3. Deploying your first Open ebay App 3-1 Deploy your Open ebay App 3-2 Add Application Directory 3-3 Create Billing Plan 3-4 Subscribe the Open ebay App 3-5 Start the Open ebay App
View Billing Plan
Create a new paid plan
Create a new paid plan
View Billing Plans
Agenda 1. Introduction to Open ebay Apps 2. Open ebay Technical Overview 3. Deploying your first Open ebay App 3-1 Deploy your Open ebay App 3-2 Add Application Directory 3-3 Create Billing Plan 3-4 Subscribe the Open ebay App 3-5 Start the Open ebay App
The App in App Center
View the App
Subscribe the App
Subscription Successful
Agenda 1. Introduction to Open ebay Apps 2. Open ebay Technical Overview 3. Deploying your first Open ebay App 3-1 Deploy your Open ebay App 3-2 Add Application Directory 3-3 Create Billing Plan 3-4 Subscribe the Open ebay App 3-5 Start the Open ebay App
Manage your applications New Applications Tab Manage Application Start Application Other Actions See details Rate the application Unsubscribe
Start the application
Open Standard Built on open standard, easily deployed to google Source File on google: http://hosting.gmodules.com/ig/gadgets/file/11159136417 8862571555/FindPopularItems.xml Subscribe it on google: http://www.google.com/ig/directory?url=hosting.gmodules.com%2fig%2fgadgets%2ffile%2f1115913641788 62571555%2FFindPopularItems.xml 58
Documentation Links http://developer.ebay.com/products/open-ebay-apps/ Open ebay Apps Overview Summary of the Open ebay Apps opportunity, brief technical overview, business and technical requirements. http://developer.ebay.com/devzone/open-ebay-apps/concepts/openebayugov.html Developing Open ebay Apps How to develop gadgets for Open ebay Apps. http://developer.ebay.com/devzone/open-ebay-apps/concepts/openebayugdev.html Implementing Subscription and Billing How to set up a listener for billing-related calls, how to receive calls. http://developer.ebay.com/devzone/open-ebay-apps/concepts/openebayugbilling.html Managed Platform Billing Guide General and business information about the billing platform http://developer.ebay.com/devzone/open-ebay-apps/concepts/managedbillingplatformguide.pdf Open ebay/ Apps Center Participation Requirements Detailed information on business rules for participation and the vetting process. http://developer.ebay.com/products/open-ebay-apps/program/
Q&A Contact information