3. 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
4. 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
6. Session Management Login Same as messenger log in Logoff Log out from the messenger KeepAlive Client heartbeat
7. 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
8. Manage urself… Group management Ignore management Buddylist Authorization management Abuse management Stealth Management File transfer management
9. 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
10. Notification Management Notification Sequence Number All notifications have a sequence number Unique to the session It’s an integer Design for skipping sequence number !!
12. 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
13. 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