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,542 views
2,343 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,542
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • { &quot;presenceState&quot; : 2, &quot;presenceMessage&quot; : &quot;I am in a meeting&quot; }
  • 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

    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 />

    ×