User Tools

Site Tools


dev:api:calendar

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dev:api:calendar [2014/06/11 15:44] – created vikkidev:api:calendar [2015/01/16 15:24] (current) – external edit 127.0.0.1
Line 1: Line 1:
-===== AOS Calendar API commands ===== +[[:dev|Developer Reference]] [[dev:api|AOS API Document]] calendar
-[[:dev|Developer Reference]] [[dev:api|AOS API Document]] calendar+
  
 +====== AOS Calendar API commands - RFC ======
 +
 +\\
 Date: 4 April 2001\\ Date: 4 April 2001\\
 Last Revision: 9 April 2001\\ Last Revision: 9 April 2001\\
Line 13: Line 15:
 ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------
  
-Description +**Description**\\ 
-Retrieve calendar raw data and performing editing tasks. Use dir.cal.mms is find out the list of calendar available, use view.cal.mms to download the calendar data and ed.cal.mms to peform update. +Retrieve calendar raw data and performing editing tasks. Use dir.cal.mms is find out the list of calendar available, use view.cal.mms to download the calendar data and ed.cal.mms to peform update.\\ 
-Index + 
-1. dir.cal.mms Obtain calendar files list +**Index**\\ 
-2. view.cal.mms Obtain calendar raw data +1. [[dev:api:calendar#dir.cal.mms|dir.cal.mms]]: Obtain calendar files list\\ 
-3. ed.cal.mms edit calendar item +2. [[dev:api:calendar#view.cal.mms|view.cal.mms]]: Obtain calendar raw data\\ 
-4. crnew.cal.mms Create new calendar +3. [[dev:api:calendar#ed.cal.mms|ed.cal.mms]]: Edit calendar item\\ 
-5. delcfn.cal.mms Delete calendar+4. [[dev:api:calendar#crnew.cal.mms|crnew.cal.mms]]: Create new calendar\\ 
 +5. [[dev:api:calendar#delcfn.cal.mms|delcfn.cal.mms]]: Delete calendar\\
  
 ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------
 +
 +**Revision 1 (9 April 2001)**\\
 +Add "showBusy" flag in the Event record structure.\\
 +
 +------------------------------------------------------------------------------------------
 +
 +==== dir.cal.mms ====
 +**Command:** [SID].dir.cal.mms\\
 +Use: Obtain calendar files list\\
 +Access: HTTP\\
 +Method: POST and GET\\
 +Parameters case sensitive: NO\\
 +Where: [SID] = the user login session ID\\
 +
 +**Result:**\\
 +Multiple-lines records, each line is the calendar file name\\
 +
 +**Parameters:**\\
 +API = only 1 argument accepted: "LC"\\
 +
 +------------------------------------------------------------------------------------------
 +
 +==== view.cal.mms ====
 +**Command:** [SID].view.cal.mms\\
 +Use: Obtain calendar raw data\\
 +Access: HTTP\\
 +Method: POST and GET\\
 +Parameters case sensitive: NO\\
 +Where: [SID] = the user login session ID\\
 +
 +**Parameters:**
 +^Key ^Mandatory ^Description ^Sample^
 +|api |Yes |Indicate the http query is for API, only 1 argument accepted: "LC" |lc|
 +|y |No |The year of the calendar |2001|
 +|m |No |The month of the calendar, integer. "Next" and "Prev" can be used. |12|
 +|d |No |The day of the calendar, not effective here since the result returned will be always in chunk of month. |1|
 +|f |No |The calendar file to view |Main|
 +
 +**Result:**\\
 +Multiple-lines records, with DEL (ASCII 8) as fields separator.\\
 +First field of each of the line (record) is a dataKey.\\
 +
 +**DataKey**\\
 +DataKey describe the record. Each record (line) starts with a dataKey which is typically looks like: 1,1,1 or 1,email\\
 +
 +**Predefined (Permanent) dataKeys:**
 +^dataKey ^Description^
 +|0 |total of calendar loaded|
 +|0,dir |calendar file list|
 +|0,file |current calendar file|
 +|0,day |current day|
 +|0,month |current month|
 +|0,year |current year|
 +
 +**Event record dataKey**\\
 +AVO calendar are sharable, and therefore calendar data return by the API are multidimensional (aka complex). Event record dataKey has 3 column: x,y,z\\
 +All columns are always integer. Each column seperated by a comma. The first column of an event record dataKey is the calendar number. Calendar 1 is always the first calendar specified by the "f" key. Calendar 2 and so on are usually the shared calendar or the cascading calendar ("View also" calendar in AVO).\\
 +2nd column of the event record dataKey represent the day in a calendar, and 3rd column represent the event number in the day.\\
 +E.g.: 1,7,1 = 1st event record in day 7 of calendar 1\\
 +
 +**Event record structure:**
 +^Field No. ^Type ^Format ^Description ^Sample^
 +|1 |DataKey |String |Calendar raw data are returned as array, this is the key locate the data |1,1,1|
 +|2 |Rsrvd |- |Reserved |-|
 +|3 |Rsrvd |- |Reserved |-|
 +|4 |longRef |Real |The event item unique reference |986269618.53469|
 +|5 |ts |Long |Date and time of the event item, in seconds |Main|
 +|6 |dura |Long |Duration of the event, in seconds |3600|
 +|7 |title |String |Title of the event |Weekly meeting|
 +|8 |desc |String |Description of the event. If description has more than one line, line break escape as "\r". |Agenda required|
 +|9 |rmdTs |Long |Reminder data and time, in seconds |986356200|
 +|10 |rmdRef |Long |Reference number for the Reminder |59177477046|
 +|11 |rmdMethod |String |Reminding method, "mail", "SMS","mailsms" and "othermail" |mail|
 +|12 |rmdVal |int |Reminding value, use this value to multiply with rmdUnit, and get result in seconds (Number of seconds before the event) |10|
 +|13 |rmdUnit |int |Reminding value unit |60|
 +|14 |rmdMail |String |Send reminding event to this email |support@afteroffice.com|
 +|15 |repeat |- |Repeat the reminder (not supported) |N/A|
 +|16 |showBusy |- |Show as busy |checked|
 +
 +**Special dataKey**\\
 +For each calendar, there are special dataKey that describe the calendar in more detail:\\
 +Eg: 1,email or 1,0\\
 +^dataKey ^Description^
 +|x,email |The calendar (x) name and email (HTML escaped) of the shared calendar owner. If this calendar is belong to the user, it will be the name of the calendar.|
 +|x,0 |Up bound (day) of the calendar (x). E.g.: User has events until day 8 of the month, this value will be 8.|
 +|x,y,0 |Up bound (event) of the day (y) in calendar (x). E.g.: User has 2 events in the day, this value will be 2, and therefore x,y,1 and x,y,2 contains valid event record.|
 +
 +**URL Sample:**\\
 +http://afteroffice.com/SIDxxx.view.cal.mms?api=lc\\
 +
 +------------------------------------------------------------------------------------------
 +
 +==== ed.cal.mms ====
 +**Command:** [SID].ed.cal.mms\\
 +Use: Update, create or delete event.\\
 +Access: HTTP\\
 +Method: POST and GET\\
 +Parameters case sensitive: NO\\
 +Where: [SID] = the user login session ID\\
 +
 +**Result:** <boolean><tab><description>\\
 +
 +**Parameters:**
 +^Key ^Mandatory ^Description ^Sample^
 +|api |Yes |Indicate the http query is for API, only 1 argument accepted: "LC" |lc|
 +|f |Yes |Calendar file name |Main|
 +|y |No |Event original Year. Required if you try to update or delete an event. |2001|
 +|m |No |Event original Month. Required if you try to update or delete an event. |1|
 +|d |No |Event original Day. Required if you try to update or delete an event. |1|
 +|r |No |Event longRef (reference) number. Required if you try to update or delete an event. If this key is not specify, new event record will be created. |986269618.53469|
 +|title |No |Event title |Meeting|
 +|desc |No |Event description |Weekly|
 +|dhour |No |Event duration in hour |1|
 +|dmin |No |Event duration in minute. To specify an event which is 3:30 hour, set dhour to 3 and dmin to 30. |20|
 +|rmd |No |Turn on reminder. "Checked" to turn on, empty to turn off |Checked|
 +|rmdVal |No |Reminding value before the event invoke, use this value to multiply with rmdUnit, and get result in seconds (Number of seconds before the event) |10|
 +|rmdUnit |No |Reminding value unit, in second. To specify 10 minutes, set rmdVal to 10 and rmdUnit to 60. To specify 1 hours, set rmdVal to 1 and rmdUnit to 3600 (or rmdVal to 60 and rmdUnit to 60) |60|
 +|rmdMail |No |Send reminding event to this email |name@abc.com|
 +|rmdMethod |No |Reminding method, "mail", "SMS","mailsms" and "othermail" |mail|
 +|th |Yes |Event time (hour) |12|
 +|tm |Yes |Event time (minute) |30|
 +|tap |Yes |Event time (AM or PM) |AM|
 +|year |Yes |Event year |2001|
 +|month |Yes |Event month |1|
 +|day |Yes |Event day |1|
 +|del |No |Delete the event. Specify a non-empty value to indicate delete the event instead of update. |del|
 +
 +------------------------------------------------------------------------------------------
 +
 +==== crnew.cal.mms ====
 +**Command:** [SID].crnew.cal.mms\\
 +Use: Create new calendar.\\
 +Access: HTTP\\
 +Method: POST and GET\\
 +Parameters case sensitive: NO\\
 +Where: [SID] = the user login session ID\\
 +
 +**Result:** <boolean><tab><description>\\
 +
 +**Parameters:**
 +^Key ^Mandatory ^Description ^Sample^
 +|api |Yes |Indicate the http query is for API, only 1 argument accepted: "LC" |lc|
 +|n |Yes |The new calendar name. 27 chars max. |my calendar|
 +
 +------------------------------------------------------------------------------------------
 +
 +=== crnew.cal.mms ===
 +**Command:** [SID].crnew.cal.mms\\
 +Use: Delete calendar file.\\
 +Access: HTTP\\
 +Method: POST and GET\\
 +Parameters case sensitive: NO\\
 +Where: [SID] = the user login session ID\\
 +
 +**Result:** <boolean><tab><description>\\
 +
 +**Parameters:**
 +^Key ^Mandatory ^Description ^Sample^
 +|api |Yes |Indicate the http query is for API, only 1 argument accepted: "LC" |lc|
 +|c |Yes |The calendar file to delete |my calendar|
dev/api/calendar.1402472686.txt.gz · Last modified: 2015/01/16 15:24 (external edit)