TMC API Specifications for php

Operations

Miscellany
- (BOOL) alive();
- (SystemStatus) status();

Account Services
- (Client) lookupClientByClientID(int clientID);

Conversation

- (Conversation) CreateConversationWithFormData(FormData data);
- (Conversation) CreateConversationWithMessageInCommunity(Message message, int communityID);
- (Conversation) ReplyToMessage(int messageID, Message message);

Entity Lookup

- (Conversation) lookupConversationByConversationID(int conversationID);
- (ConversationHeaderList) lookupConversationsByUserID(int userID)
- (ConversationHeaderList) lookupConversationsByMenteeEmail(string email);

- (Message) lookupMessageByMessageID(int messageID);
- (MessageList) lookupMessagesByConversationID(int conversationID);

- (Community) lookupCommunityByCommunityID(int communityID);
- (CommunityList) lookupCommunitiesByClientID(int clientID);

- (User) lookupUserByUserID(int userID);
- (UserList) lookupUsersByCommunityID(int communityID);

- getMentorDetailByName(string mentorName);

Types

CommunityList: List
ConversationList: List
MessageList: List
UserList: List

Client
- clientID: int
- name: string
- description: string
- apiKey: string
- communities: CommunityList

Community
- communityID: int
- parentCommunityID: int
- name: string
- leader: User
- manager: User

User
- userID: int
- firstName: string
- lastName: string
- username: string
- displayName: string
- gender: char

ConversationHeader
- ConversationID: int
- CommunityID: int
- AssignedUserID: user
Conversation : ConversationHeader
- AssignedUser: user
- Messages: MessageList

Message
- messageID: int
- conversationID: int
- body: String
- subject: String
- from: string
- to: string
- fromUser: User
- toUser: User
- isRead: Boolean
- modifiedTimestamp: DateTime
- createdTimestamp: DateTime

FormData
- sender : string
- recipient : string
- subject : string
- body : string
- timestamp : DateTime
- question : string
- language_name : string
- language_iso : string
- city : string
- state : string
- zip : string
- country : string
- country_of_residence : string
- country_of_origin : string
- age : int
- gender : string
- profession : string
- response_name : string
- decision : string
- domain : string
- form_type : string
- correlated_email : string
- typeQueue : string
- referrer : string

SystemStatus
- inboundQueueCount : int
- outboundQueueCount : int
- lastMessageInputDate: DateTime

REST Client

lookupClientByClientID
/clients/{clientID}

lookupConversationByConversationID
/conversations/{conversationID}

lookupConversationsByUserID
/users/{userID}/conversations

lookupConversationsByMenteeEmail
/mentees/{email}/conversations/

lookupMessageByMessageID
/messages/{messageID}

lookupMessagesByConversationID
/conversations/{conversationID}/messages

lookupCommunityByCommunityID
/communities/{communityID}

lookupCommunitiesByClientID
/clients/{clientID}/communities

lookupUserByUserID
/users/{userID}

lookupUsersByCommunityID
/communities/{communityID}/users

CreateConversationWithRoutingInformation
/formdata/

CreateConversationWithMessageInCommunity
/conversations/community/{communityID}

ReplyToMessage
/conversations/message/{messageID}