# Concept of the Conversation API

Before you start with the rest of the reference, there are a few things worth mentioning about how the SkypeKit API is abstracted. Particularly, if you have previous experience with our Public API or SkyHost API, the class structure can be somewhat confusing.

For example, there no longer is such a thing as Call. A Message class does not mean the same as chat message but has much wider meaning.

Whilst initially confusing, the Conversation API actually does much better job abstracting the underlying structure of how conversations take place this day and age. The old (phone)call metaphor really was getting in the way of thinking correctly.

The core of Conversation API is formed by three classes:

- Conversation - represents a channel for all forms of communication.
- Participant - represents contacts in context of a Conversation
- Message - represents communication events, again in context of a Conversation

For example:

- What was formerly known as a voice call would now be a conversation with one or more participants in a "live state."
- A file transfer is a separate object, but is always linked to a governing conversation object and a corresponding message.
- An incoming message could be a "chat message", or it could represent notification event informing you that a someone in the conversation has posted a file, requesting you to accept the transfer. In case of an incoming file transfer, the first thing to indicate you have one is a message of type POSTED_FILES. From that message you can then extract a (file)Transfer object.

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

(c) Skype Technologies S.A. Confidential/Proprietary

Last updated: Fri Jan 27 2012