TravelTrack:CommunicationAPI

The basic communications API for TravelTrack will be built on XML-RPC using SSL/TLS encrypted HTTP. The plan is to not support unencrypted connections.

API Call List
This is the preliminary list of communication API calls. At this time, the communications API is still very much in flux and will most likely change, perhaps dramitically:

Data Interactions
These calls handle all data entry and retrieval for itineraries, transactions, expense reports, locations and reviews.


 * 1) GetEventList
 * 2) GetEvent
 * 3) GetItineraryList
 * 4) GetItineraryItem
 * 5) GetTransactionList
 * 6) GetTransaction
 * 7) GetExpenseReportsList
 * 8) GetExpenseReport
 * 9) GetLocationsList
 * 10) GetLocation
 * 11) GetReviewsList
 * 12) GetReview
 * 13) NewEvent
 * 14) NewItineraryItem
 * 15) NewTransaction
 * 16) NewExpenseReport
 * 17) NewLocation
 * 18) NewReview
 * 19) UpdateEvent
 * 20) UpdateItineraryItem
 * 21) UpdateTransaction
 * 22) UpdateExpenseReport
 * 23) UpdateLocation
 * 24) UpdateReview
 * 25) DeleteEvent
 * 26) DeleteItineraryItem
 * 27) DeleteTransaction
 * 28) DeleteExpenseReport
 * 29) DeleteLocation
 * 30) DeleteReview

User Management
All user administration is managed via the TravelTrack Client


 * 1) GetUsersList
 * 2) GetUsers
 * 3) GetGroupsList
 * 4) GetGroups
 * 5) NewUser
 * 6) NewGroup
 * 7) UpdateUser
 * 8) UpdateGroup
 * 9) DeleteUser
 * 10) DeleteGroup

I am considering implementing an ACL permissions system. If I do, these calls will be implemented to support it:


 * 1) GetACLsList
 * 2) GetACLs
 * 3) ProcessACLMatch (this one means that server logic will make the decision, which might be useful to test for access)

Server Configuration
This includes calls to support features such as expense report manager sign-off document flow. There are also several server-side configuration options, such as whether delete operations actually remove data from the DB or not.


 * 1) UpdateServerConfig
 * 2) UpdateServerConfig

Data Processing
Miscellaneous reports and other maintenance type chores.


 * 1) GetReportsList
 * 2) GetReportData