REST API is an interface to SOAP API.

A sample GET style request:
http://api.vidi.zeitin.com/vidi/rest?action=createRoom&apikey=YOURAPIKEY

Return Formats

JSON

It is the standard JSON format. For more info, see http://www.json.org

Stringify

It is an easy to use format just for GET style URLs.

Examples:
A single object: r54778739
An array of objects: r54778739,r94739,r9867123

URL list

        // format: url, http method(s), vidiservice method, parameter(s), return format
        // notes: optional parameters prefixed with "?"

                // hierarcical REST urls
                //session urls is the same as flat urls, see below
                {"session/rooms", "GET", "listRooms", "apikey", "json"},
                {"session/rooms/create", "POST", "createRoom", "apikey, ?record", "json"},
                {"session/rooms/send_message", "POST", "sendTextMessage", "apikey, roomid, message", "json"},
                {"session/rooms/destroy", "POST, DELETE", "destroyRoom", "apikey, roomid", "json"},

                {"session/rooms/clients", "GET", "listClientsInRoom", "apikey, roomid", "json"},
                {"session/rooms/clients/create", "POST", "createClientInRoom", "apikey, roomid", "json"},
                {"session/rooms/clients/send_message", "POST", "tellClient", "apikey, clientid, message", "json"},
                {"session/rooms/clients/destroy", "POST, DELETE", "destroyClient", "apikey, clientid", "json"},

                {"session/rooms/clients/outputs", "GET", "listOutputsForClient", "apikey, clientid", "json"},
                {"session/rooms/clients/outputs/create", "POST", "createOutputForClient", "apikey, clientid", "json"},
                {"session/rooms/clients/outputs/destroy", "POST, DELETE", "destroyOutput", "apikey, outputid", "json"},

                {"session/rooms/clients/inputs", "GET", "listInputsForClient", "apikey, clientid", "json"},
                {"session/rooms/clients/inputs/create", "POST", "createInputForClient", "apikey, clientid", "json"},
                {"session/rooms/clients/inputs/destroy", "POST, DELETE", "destroyInput", "apikey, inputid", "json"},
                {"session/rooms/clients/inputs/play_video", "PUT, POST", "playVideoFromInput", "apikey, inputid, videofile", "json"},

                {"session/rooms/bindings", "GET", "listBindingsInRoom", "apikey, roomid", "json"},
                {"session/rooms/bindings/io", "GET", "getIOOfBinding", "apikey, bindingid", "json"},
                {"session/rooms/bindings/create", "POST", "bind", "apikey, inputid, outputid", "json"},
                {"session/rooms/bindings/destroy", "POST, DELETE", "unbind", "apikey, bindingid", "json"},
                {"session/rooms/bindings/destroy_by_io", "POST, DELETE", "unbindio", "apikey, inputid, outputid", "json"},

                //desktop urls is the same as flat urls, see below
                //properties urls is the same as flat urls, see below
                //TODO: properties will be under the specific resource, ex: session/rooms/clients/properties/set

                // flat REST urls
                {"session/destroy", "POST, DELETE", "logout", "apikey", "json"},

                {"rooms", "GET", "listRooms", "apikey", "json"},
                {"rooms/create", "POST", "createRoom", "apikey, ?record", "json"},
                {"rooms/send_message", "POST", "sendTextMessage", "apikey, roomid, message", "json"},
                {"rooms/destroy", "POST, DELETE", "destroyRoom", "apikey, roomid", "json"},

                {"clients", "GET", "listClientsInRoom", "apikey, roomid", "json"},
                {"clients/create", "POST", "createClientInRoom", "apikey, roomid", "json"},
                {"clients/send_message", "POST", "tellClient", "apikey, clientid, message", "json"},
                {"clients/destroy", "POST, DELETE", "destroyClient", "apikey, clientid", "json"},

                {"outputs", "GET", "listOutputsForClient", "apikey, clientid", "json"},
                {"outputs/create", "POST", "createOutputForClient", "apikey, clientid", "json"},
                {"outputs/destroy", "POST, DELETE", "destroyOutput", "apikey, outputid", "json"},

                {"inputs", "GET", "listInputsForClient", "apikey, clientid", "json"},
                {"inputs/create", "POST", "createInputForClient", "apikey, clientid", "json"},
                {"inputs/destroy", "POST, DELETE", "destroyInput", "apikey, inputid", "json"},
                {"inputs/play_video", "PUT, POST", "playVideoFromInput", "apikey, inputid, videofile", "json"},

                {"bindings", "GET", "listBindingsInRoom", "apikey, roomid", "json"},
                {"bindings/io", "GET", "getIOOfBinding", "apikey, bindingid", "json"},
                {"bindings/create", "POST", "bind", "apikey, inputid, outputid", "json"},
                {"bindings/destroy", "POST, DELETE", "unbind", "apikey, bindingid", "json"},
                {"bindings/destroy_by_io", "POST, DELETE", "unbindio", "apikey, inputid, outputid", "json"},

                {"desktop/notify", "POST", "desktopNotify", "apikey, desktopid, message", "json"},
                {"desktop/ring", "POST", "desktopRing", "apikey, desktopid, message", "json"},

                {"properties", "GET", "listProperties", "apikey, where, id, ?access", "json"},
                {"properties/get", "GET", "getProperty", "apikey, where, id, key, ?access", "json"},
                {"properties/set", "POST, UPDATE", "setProperty", "apikey, where, id, key, value, ?access", "json"},

                // GET only REST urls
                {"", "GET", "destroyAll", "action, apikey", "stringify"},
                {"", "GET", "createRoom", "action, apikey, ?record", "stringify"},
                {"", "GET", "destroyRoom", "action, apikey, roomid", "stringify"},
                {"", "GET", "listRooms", "action, apikey", "stringify"},
                {"", "GET", "createClientInRoom", "action, apikey, roomid", "stringify"},
                {"", "GET", "listClientsInRoom", "action, apikey, roomid", "stringify"},
                {"", "GET", "destroyClient", "action, apikey, clientid", "stringify"},
                {"", "GET", "createOutputForClient", "action, apikey, clientid", "stringify"},
                {"", "GET", "listOutputsForClient", "action, apikey, clientid", "stringify"},
                {"", "GET", "destroyOutput", "action, apikey, outputid", "stringify"},
                {"", "GET", "createInputForClient", "action, apikey, clientid", "stringify"},
                {"", "GET", "listInputsForClient", "action, apikey, clientid", "stringify"},
                {"", "GET", "destroyInput", "action, apikey, inputid", "stringify"},
                {"", "GET", "bind", "action, apikey, inputid, outputid", "stringify"},
                {"", "GET", "unbind", "action, apikey, bindingid", "stringify"},
                {"", "GET", "unbindio", "action, apikey, inputid, outputid", "stringify"},
                {"", "GET", "playVideoFromInput", "action, apikey, inputid, videofile", "stringify"},
                {"", "GET", "listBindingsInRoom", "action, apikey, roomid", "stringify"},
                {"", "GET", "getIOOfBinding", "action, apikey, bindingid", "stringify"},
                {"", "GET", "isInputActive", "action, apikey, inputid", "stringify"},
                {"", "GET", "isOutputActive", "action, apikey, outputid", "stringify"},
                {"", "GET", "isBindingActive", "action, apikey, bindingid", "stringify"},
                {"", "GET", "sendTextMessage", "action, apikey, roomid, message", "stringify"},
                {"", "GET", "tellClient", "action, apikey, clientid, message", "stringify"},
                {"", "GET", "desktopNotify", "action, apikey, desktopid, message", "stringify"},
                {"", "GET", "desktopRing", "action, apikey, desktopid, message", "stringify"},
                {"", "GET", "setProperty", "action, apikey, where, id, key, value, ?access", "stringify"},
                {"", "GET", "listProperties", "action, apikey, where, id, ?access", "stringify"},
                {"", "GET", "getProperty", "action, apikey, where, id, key, ?access", "stringify"},

RestAPI (last edited 2009-09-18 13:09:06 by BekirDogan)