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.
Yahoo! Messenger APIs<br />The world of smilies…<br />@jayasurian123<br />     Yahoo! Mail engineer<br />
Prerequisites<br />HTML<br />Request/Response Headers<br />HTTP Content<br />RESTful<br />APIs use HTTP GET, POST, PUT, DE...
Normal Messenger Flow<br />Authenticate with Yahoo! IM SDK servers<br />Create a new session<br />Obtain & update presence...
Authentication<br />Standard OAuth<br />Direct OAuth<br />
Session Management<br />Login<br />Same as messenger log in<br />Logoff<br />Log out from the messenger<br />KeepAlive<br ...
Presence & Message management<br />Presence Management<br />To update messenger status<br />Available, busy, idle, invisib...
Manage urself…<br />Group management<br />Ignore management<br />Buddylist Authorization management<br />Abuse management<...
Notification Management<br />Notification <br />An event targeted to a logged in session<br />Common Notification types<br...
Notification Management<br />Notification Sequence Number <br />All notifications have a sequence number <br />Unique to t...
Notification Management<br />2 strategies for obtaining notifications<br />Periodic Polling<br />Comet style push <br />
Notification Management<br />Periodic polling<br />GET /v1/notifications<br />Clients are expected to poll no more than on...
Notification Management<br />Comet style push (Long polling)<br />GET /v1/pushchannel/{primaryLoginId}<br />Each session i...
Show me the code…<br />
Useful links<br />http://developer.yahoo.com/messenger/guide/<br />http://developer.yahoo.com/oauth/<br />
Upcoming SlideShare
Loading in …5
×

Y! messenger API - Yahoo! Bangalore OpenHackday

2,693 views

Published on

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

Published in: Technology
  • Be the first to comment

Y! messenger API - Yahoo! Bangalore OpenHackday

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

×