• Save
Y! messenger API  - Yahoo! Bangalore OpenHackday
Upcoming SlideShare
Loading in...5
×
 

Y! messenger API - Yahoo! Bangalore OpenHackday

on

  • 2,571 views

Yahoo! bangalore open hackday talk about "Yahoo! messenger APIs" :-)

Yahoo! bangalore open hackday talk about "Yahoo! messenger APIs" :-)

Statistics

Views

Total Views
2,571
Views on SlideShare
2,570
Embed Views
1

Actions

Likes
1
Downloads
0
Comments
0

1 Embed 1

http://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • { "presenceState" : 2, "presenceMessage" : "I am in a meeting" }
  • POST - /v1/session?fieldsBuddyList=%2Bgroups
  • POST - /v1/session?fieldsBuddyList=%2Bgroups
  • POST - /v1/session?fieldsBuddyList=%2Bgroups
  • two strategies for obtaining notifications
  • two strategies for obtaining notifications

Y! messenger API  - Yahoo! Bangalore OpenHackday Y! messenger API - Yahoo! Bangalore OpenHackday Presentation Transcript

  • Yahoo! Messenger APIs
    The world of smilies…
    @jayasurian123
    Yahoo! Mail engineer
  • Prerequisites
    HTML
    Request/Response Headers
    HTTP Content
    RESTful
    APIs use HTTP GET, POST, PUT, DELETE
    Override using uri parameter _method=put/delete
    JSON
    No XML support
    Content-Type: application/json;charset=utf-8
  • Normal Messenger Flow
    Authenticate with Yahoo! IM SDK servers
    Create a new session
    Obtain & update presence information
    Obtain current contact list and details
    Start sending/receiving messages
  • Authentication
    Standard OAuth
    Direct OAuth
  • Session Management
    Login
    Same as messenger log in
    Logoff
    Log out from the messenger
    KeepAlive
    Client heartbeat
  • Presence & Message management
    Presence Management
    To update messenger status
    Available, busy, idle, invisible
    Custom message
    Message Management
    To send message
    No interop as of now
    msn/hotmail/etc…
    Contact Management
    Fetch details of a contact
    Fetch the entire contact list
  • Manage urself…
    Group management
    Ignore management
    Buddylist Authorization management
    Abuse management
    Stealth Management
    File transfer management
  • Notification Management
    Notification
    An event targeted to a logged in session
    Common Notification types
    message – Incoming message
    buddyInfo – contact logged in info
    buddyStatus– contact updating presence info
    logoff – contact went offline
    buddyAuthorize– someone trying to add you
  • Notification Management
    Notification Sequence Number
    All notifications have a sequence number
    Unique to the session
    It’s an integer
    Design for skipping sequence number !!
  • Notification Management
    2 strategies for obtaining notifications
    Periodic Polling
    Comet style push
  • Notification Management
    Periodic polling
    GET /v1/notifications
    Clients are expected to poll no more than once every 5 seconds
    Provide the start sequence number and optional count
    No persistent connection support
  • Notification Management
    Comet style push (Long polling)
    GET /v1/pushchannel/{primaryLoginId}
    Each session is restricted to having no more than one open long-lived HTTP
    Provide the start sequence number and optional timeout
    Both HTTP/1.1 and HTTP/1.0 support
  • Show me the code…
  • Useful links
    http://developer.yahoo.com/messenger/guide/
    http://developer.yahoo.com/oauth/