Список запросов Вебинары GET session GET sessions PUT session POST session DELETE session GET invitees PUT invitee POST invitee DELETE invitee Записи GET recording GET recordings POST recording DELETE recording Аккаунты (пользователи) GET user GET users PUT user POST user DELETE user В разработке: Файлы Адресная книга Отчеты Важно: 1. В соответствии со стандартами PHP, при GET запросах все параметры должны передаваться через URL/querystring. 2. В PUT, POST или DELETE запросах все параметры должны передаваться в теле запроса. URL/querystring параметры в данных запросах будут проигнорированы, за исключением переменных форматирования. 3. Данные в теле запроса должны передаваться в одном из следующих форматов: а) содержать пары имя/значение: id=1&var2=val2 или б) содержать переменные input_type (json) и rest_data (JSON массив) input_type=json&rest_data={"id":"1","var2":"val2"}. Авторизация Доступ к API требует авторизации (в настоящий момент поддерживается “Basic HTTP Authentication”, в планах поддержка “Digest HTTP Authentication”). При обращении к API нужно передавать зашифрованные base64 авторизационные данные (строка Логин:Пароль) в заголовке каждого запроса. Пример: Authorization: Basic bWF0dGhpYXM6YWWtaW4= Рекомендуем использовать Fiddler2 для дебагинга. Коды ошибок (HTTP) 400 “Некорректный запрос” 401 “Ошибка авторизации” 404 “Не найден” – попытка обращения к URI, не связанного ни с каким ресурсом (например, запрос к несуществующему пользователю). 405 “Недопустимый Запрос” – возвращается при попытке использования Запроса, который не поддерживается данным ресурсом. Например, PUT или DELETE к ресурсу с правами «только чтение». 409 “Конфликт” – возвращается при попытки записи данных, которые приведут к конфликту ресурсов. Например, попытка изменить имя на то, которое уже занято. 410 “Ресурс отсутствует” 500 “Ошибка на сервере” Коды подтверждения (HTTP) 200 “OK” 201 “Создан” 301 “Ресурс перемещен” Форматы вывода Формат xml json serialize php (can be used in eval) Параметр URL Пример ответа <?xml version="1.0" encoding="utf-8"?> <xml> <item> <id>1</id> none (default) <login>логин</login> или <email>email@domain.com</email> /format/xml <first_name>Имя</first_name> <last_name>Фамилия</last_name> [...] </item> </xml> [ { "id": "1", "login": "логин", "email": "email@domain.com", /format/json "first_name": "Имя", "last_name": "Фамилия", [...] } ] a:1: { i:0;a:5: { s:2:"id"; s:1:"1"; s:5:"login"; s:8:"логин"; /format/serialize s:5:"email"; s:16:"email@domain.com"; s:10:"first_name"; s:10:"Имя"; s:9:"last_name"; s:9:"Фамилия "; [...] } } array ( 0 => array ( /format/php 'id' => '1', 'login' => 'username', 'email' => 'email@domain.com', 'first_name' => 'First Name', 'last_name' => 'Last Name', [...] html /format/html csv /html/csv ) ) <table border="0" cellpadding="4" cellspacing="0"> <tr> <th>id</th> <th>login</th> <th>email</th> <th>first_name</th> <th>last_name</th> <th>[...]</th> </tr> <tr> <td>1</td> <td>логин</td> <td>email@domain.com</td> <td>Имя</td> <td>Фамилия </td> <td>[...]</td> </tr> </table> id,login,email,first_name,last_name,[...] 1,"username","email@domain.com","First Name","Last Name",[...] Запрос URL Описание Аргументы Обязательные Дополнительные GET authverify /api/[ver]/[username]/authverify Тест авторизации HTTP GET Ответ authenticated (bool) Запрос URL Описание Если 1/true, авторизация пройдена. GET session(s) /api/[ver]/[username]/session/id/[session_id] /api/[ver]/[username]/sessions Вывод одного или нескольких вебинаров, связанных с данным аккаунтом. /session возвращает данные только об одном вебинаре по ID /sessions множественный вывод Аргументы Обязательные Дополнительные ID вебинара для /session отсутствует для /sessions Укажите поля для вывода, например .../sessions/return/id;topic;start_time return(str) В противном случае будут выданы поля по (см. пример XML ниже) Доступные только для /sessions count(int) Количество строк для вывода (по умолчанию 100). offset(int) HTTP Вывод Пример Запрос Тело запроса Ответ PHP Пример Запрос Сдвиг (по умолчанию 0). Порядок вывода результатов (по возрастанию или убыванию ID вебинара (session ID), по умолчанию: order(str) по возрастанию). Допустимые значения: asc, desc Доступные только для /session Вывод по ID вебинара. Если указан, то count, offset, id(int) order игнорируются. GET id (int) ID вебинара. topic (str) Название вебинара. start_time Время начала вебинара. (datetime) duration (int) Продолжительность вебинара. Часовой пояс, в котором запланирован вебинар timezone (str) (UTC). password (str) Пароль вебинара. Прямая ссылка на вебинар. Если friendly_url пуст, session_link (str) возвращается session_key. GET http://connect1.webinar.ru/api/[ver]/[username]/session/id/1 <?xml version="1.0" encoding="UTF-8"?> <root> <sessions> <session> <id>1</id> <topic>Мой первый вебинар</topic> <start_time>2010-08-31 14:00:00</start_time> <duration>60</duration> <timezone>UP2</timezone> <password>пароль</password> <session_link>http://connect1.webinar.ru/user/friendly_url-orsession_key</session_link> </session> [...] </sessions> </root> <?php // GET session $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru/api/1/'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/session/id/1'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> PUT http://connect1.webinar.ru/api/[ver]/[username]/authverify Тело запроса Ответ PHP Запрос URL Описание Аргументы Обязательные <?xml version="1.0" encoding="utf-8"?> <xml> <authenticated>1</authenticated> <message>You are authorized to use the API</message> </xml> <?php $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru/api/1/'; $parameters = array(); // encode as JSON $json = json_encode($parameters); $postArgs = 'input_type=json&rest_data=' . $json; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/authverify'); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> PUT session /api/[ver]/[username]/session Создать новый вебинар. topic (str) duration (int) start_time (datetime) timezone (str) Дополнительные friendly_url (str) password (str) invited_participants (arr) Название вебинара. Продолжительность в мин. Время начала, формат: “2011-07-30 11:05:00” Часовой пояс в формате UTC: “UTC” или “UP25”. Коротка ссылка (используется вместо автоматически сгенерированного ID вебинара). Пароль вебинара. JSON массив пользователей, которые должны получить приглашение по емейл: [ { "id": "1", "email": "email@domain.com", "first_name": "Имя", "last_name": "Фамилия", "role": 1, "send_email_invitation": false } ] role (int): Определяет тип пользователя: Модератор (1), Участник (2) или Наблюдатель (3) send_email_invitations (bool): Установите 0 (false), чтобы не отправлять сообщения с сервера участникам. По умолчанию: true. Емейлы будут отправлены в момент обращения по данному запросу. Если Вы хотите самостоятельно отправить приглашения, используйте GET invitees, чтобы получить персональную ссылку для каждого участника. HTTP Ответ Пример Запрос Тело запроса Ответ PHP PUT id (int) ID созданного вебинара. PUT http://connect1.webinar.ru/api/[ver]/[username]/session input_type=json&rest_data={"topic":"Тест","duration":60, "start_time":"2010-09-10 12:00:00","timezone":"UP1", "invited_participants":[{"email":"email@domain.com","first_name" :"Иван","last_name":"Иванов","role":1,"send_email_invitation":0}] } <?xml version="1.0" encoding="utf-8"?> <xml> <id>1</id> <message>Session added</message> </xml> <?php // PUT session $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru/api/1/'; $parameters = array( 'topic' => 'Test', 'duration' => 60, 'start_time' => '2010-10-09 12:00:00', 'timezone' => 'UP1', 'invited_participants' => array( array( 'email'=>'email@domain.com', 'first_name'=>'Иван', 'last_name'=> 'Иванов', 'role'=> 1 ), array( 'email'=>'email2@domain.com', 'first_name'=>'Петр', 'last_name'=> 'Петров', 'role'=> 2 ) ) ); // encode as JSON $json = json_encode($parameters); $postArgs = 'input_type=json&rest_data=' . $json; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/session'); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password ); $result = curl_exec($curl); curl_close($curl); echo $result; ?> Запрос URL Описание Аргументы Обязательные Дополнительные POST session /api/[ver]/[username]/session Редактировать существующий вебинар. id (int) topic (str) duration (int) start_time (datetime) timezone (str) friendly_url (str) password (str) invited_participants (arr) ID вебинара. Название вебинара. Продолжительность в мин. Время начала, формат: “2011-07-30 11:05:00” Часовой пояс в формате UTC: “UTC” или “UP25”. Коротка ссылка (используется вместо автоматически сгенерированного ID вебинара). Пароль вебинара. JSON массив пользователей, которые должны получить приглашение по емейл: [ { "id": "1", "email": "email@domain.com", "first_name": "Имя", "last_name": "Фамилия", "role": 1, "send_email_invitation": false } ] role (int): Определяет тип пользователя: Модератор (1), Участник (2) или Наблюдатель (3) send_email_invitations (bool): Установите 0 (false), чтобы не отправлять сообщения с сервера участникам. По умолчанию: true. Емейлы будут отправлены в момент обращения по данному запросу. Если Вы хотите самостоятельно отправить приглашения, используйте GET invitees, чтобы получить персональную ссылку для каждого участника. HTTP Return POST id (int) message (str) ID вебинара. “Session updated”. Пример Запрос Тело запроса Ответ PHP Запрос URL Описание POST http://connect1.webinar.ru/api/[ver]/[username]/session input_type=json&rest_data={"id":1,"topic":"Test","duration":60, "start_time":"2011-07-10 12:00:00","timezone":"UP1", "invited_participants":[{"email":"email@domain.com","first_name":"Ив ан","last_name":"Иванов","role":1,"send_email_invitation":0}]} <?xml version="1.0" encoding="utf-8"?> <xml> <id>1</id> <message>Session updated</message> </xml> <?php // POST session $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru/api/1/'; $parameters = array( 'id' => 1, 'topic' => 'Test', 'duration' => 60, 'start_time' => '2010-09-10 12:00:00', 'timezone' => 'UP1', 'invited_participants' => array( array( 'email'=>'email@domain.com', 'first_name'=>'Иван', 'last_name'=> 'Иванов', 'role'=> 1, 'send_email_invitation'=> 0 ), array( 'email'=>'email2@domain.com', 'first_name'=>'Петр', 'last_name'=> 'Петров', 'role'=> 2 ) ) ); // encode as JSON $json = json_encode($parameters); $postArgs = 'input_type=json&rest_data=' . $json; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/session'); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> DELETE session /api/[ver]/[username]/session Удалить существующий вебинар. Аргументы Обязательные Дополнительные HTTP Ответ Пример Запрос Тело запроса Ответ PHP Запрос URL Описание id (int) DELETE id (int) message (str) ID вебинара. ID вебинара. “Session deleted”. DELETE http://connect1.webinar.ru/api/[ver]/[username]/session id=1 или input_type=json&rest_data={"id":"1"} <?xml version="1.0" encoding="utf-8"?> <xml> <id>1</id> <message>Session was deleted</message> </xml> <?php // DELETE session $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru/api/1/'; $parameters = array( 'id' => 1 ); // encode as JSON $json = json_encode($parameters); $postArgs = 'input_type=json&rest_data=' . $json; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/session'); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE'); curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> GET invitees /api/[ver]/[username]/invitees/id/1/role/moderators Получение данных об участниках, приглашенных на вебинар. Все участники при создании вебинара группируются по ролям: модераторы, участники (по умолчанию) и обозреватели. Аргументы Обязательные id (int) Дополнительные role (string) HTTP Ответ GET first_name (str) last_name (str) email (str) ID вебинара Выдача по ролям. Возможные значения: all, moderators, participants, observers. Имя приглашенного участника. Фамилия приглашенного участника. Емейл приглашенного участника. Персональная ссылка участника. personal_session_link Персональная ссылка отличается от (string) session_link в запросе GET sessions. По персональной ссылке участник сразу же попадает в вебинар под своим именем. Кроме того, по одной персональной ссылке может находится только один участник (предыдущий участник, зашедший по данной ссылке, выбрасывается из вебинара). Пример Запрос Тело запроса Ответ PHP GET http://connect1.webinar.ru/api/[ver]/[username]/invitees/id/1/role/modera tors <?xml version="1.0" encoding="UTF-8"?> <root> <invitees> <moderators> <invitee> <first_name>Иван</first_name> <last_name>Иванов</last_name> <email>email@domain.com</email> <personal_session_link>http://.../[user]/go/ABC123</personal_session_li nk> </invitee> <invitee> [...] </invitee> </moderators> <participants> [...] </participants> <observers> [...] </observers> </invitees> </root> <?php // GET invitees $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru/api/1/'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/invitees/id/1/role/moderators'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> Запрос PUT invitee URL /api/[ver]/[username]/invitee Описание Добавить участника к вебинару. Аргументы Обязательные Дополнительные session_id (int) ID вебинара. email (str) Емейл участника. first_name (str) Имя. last_name (str) Фамилия. send_email_invitation Установите to false (или 0), чтобы не (bool) отправлять автоматические емейлы с приглашением от Webinar.ru. По умолчанию: true. В момент вызова участнику будет отправлен емейл с приглашением. Для самостоятельной отправки приглашений, используйте GET invitees, чтобы получить персональную ссылку (personal_session_link) для каждого участника. role(int) HTTP PUT Ответ id (int) Определение роли участника. По умолчению 2. 1 = Модератор, 2 = Участник, 3 = Обозреватель. Идентификатор (user_id) созданного участника. Пример Запрос PUT http://domain.com/api/[ver]/[username]/invitee Тело запроса input_type=json&rest_data={"session_id":1,"email ":"robin@arsenal.com","first_name":"Robin", "last_name":"van Persie","send_email_invitation":false,"role":1} Ответ <?xml version="1.0" encoding="utf-8"?> <xml> <id>1</id> <message>Invitee added</message> </xml> PHP <?php // PUT invitee $username = 'username'; $password = 'password'; $baseurl = 'http://domain.com/api/1/'; $parameters = array( 'session_id' => 1, 'email' => 'robin@arsenal.com', 'first_name' => 'Robin', 'last_name' => 'van Persie', 'send_email_invitation' => 0, 'role' => 1 ); // encode as JSON $json = json_encode($parameters); $postArgs = 'input_type=json&rest_data=' . $json ; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, ame.'/session'); $baseurl.$usern curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT') ; curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs ); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true) ; curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true) ; curl_setopt($curl, CURLOPT_USERPWD, $username.': '.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> Запрос POST invitee URL /api/[ver]/[username]/invitee Описание Редактировать данные участника. Аргументы Обязательные session_id (int) ID вебинара, которому принадлежит участник. user_id(int) Дополнительные send_email_invitation (bool) role(int) HTTP POST Ответ id (int) ID участника (Используйте PUT чтобы его узнать). Установите to false (или 0), чтобы не отправлять автоматические емейлы с приглашением от Webinar.ru. По умолчанию: true. В момент вызова участнику будет отправлен емейл с приглашением. Для самостоятельной отправки приглашений, используйте GET invitees, чтобы получить персональную ссылку (personal_session_link) для каждого участника. Определение роли участника. По умолчению 2. 1 = Модератор, 2 = Участник, 3 = Обозреватель. ID (user_id) редактируемого участника. Пример Запрос POST http://domain.com/api/[ver]/[username]/invitee Тело запроса input_type=json&rest_data={"session_id":1,"user_id":1,"send_email_invitati on":false,"role":1} Ответ <?xml version="1.0" encoding="utf-8"?> <xml> <id>1</id> <message>Invitation was updated</message> </xml> PHP <?php // POST invitee $username = 'username'; $password = 'password'; $baseurl = 'http://domain.com/api/1/'; $parameters = array( 'session_id' => 1, 'user_id' => 1, 'send_email_invitation' => 0, 'role' => 1 ); // encode as JSON $json = json_encode($parameters); $postArgs = 'input_type=json&rest_data=' . $json; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/session'); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> Обратите внимание: Для редактирования email, first_name and last_name участника, используйте запрос POST user. Запрос DELETE invitee URL /api/[ver]/[username]/invitee Описание Удалить участника вебинара. Аргументы Обязательные HTTP session_id (int) ID вебинара, которому принадлежит участник. user_id (int) ID участника. DELETE Ответ Пример Запрос DELETE http://domain.com/api/[ver]/[username]/invitee Тело запроса input_type=json&rest_data={"session_id":1,"user_id":1} Ответ <?xml version="1.0" encoding="utf-8"?> <xml> <id>1</id> <message>Invitee deleted</message> </xml> PHP <?php // DELETE invitee $username = 'username'; $password = 'password'; $baseurl = 'http://domain.com/api/1/'; $parameters = array( 'session_id' => 1, 'user_id' => 1 ); // encode as JSON $json = json_encode($parameters); $postArgs = 'input_type=json&rest_data=' . $json; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/session'); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> Запрос URL GET recording(s) /api/[ver]/[username]/recording/id/[recording_id] /api/[ver]/[username]/recordings Описание Получить одну или несколько записей, связанных с данным аккаунтом. /recording возвращает одну запись по id. /recordings несколько записей. Аргументы Обязательные Дополнительные id для /recording отсутствует для /recordings Выбор полей, который должны быть в выдаче (по шаблону через «;»): return(str) .../recordings/return/id;title;duration По умолчанию выдача идет по стандартному шаблону (см. XML ниже) Только для множественной выдачи /recordings Выдача записей, связанный с ID конкретного session(int) вебинара. По умолчанию возвращаются записи, сделанные во всех вебинарах. Количество выдаваемых строк в выдаче. По count(int) умолчанию 100. offset(int) Сдвиг. По умолчанию 0. Порядок вывода результатов (по возрастанию или убыванию ID записи order(str) (recording ID), по умолчанию: по возрастанию). Допустимые значения: asc, desc Только для выдачи одной записи /recording id(int) HTTP Ответ Пример Запрос Тело запроса Ответ ID записи. Если указан, то count, offset, order игнорируются. GET id (int) session_id (int) title (str) description (str) ID записи. ID вебинара, в котором сделана запись. Название записи. Описание записи. Пароль для просмотра записи. Наследуется от вебинара, в котором сделана данная password (str) запись. duration (int) Продолжительность в мс. Если true, пользователям не будет allow_anonymous_play предлагаться вводить имя для просмотра. back (bool) Игнорируется, в случае если установлен пароль. recording_link (str) Прямая ссылка на запись. creation_date (datetime) Дата и время создания записи. GET http://connect1.webinar.ru/api/[ver]/[username]/recording/id/1 none <?xml version="1.0" encoding="UTF-8"?> <root> <recordings> <recording> <id>1</id> <session_id>1</session_id> <title>Моя запись</title> <description>Это моя первая запись</description> <password>password</password> PHP Запрос URL Описание Аргументы Обязательные Дополнительные <duration>25880</duration> <allow_anonymous_playback>1</allow_anonymous_playback> <recording_link>http://connect1.webinar.ru/play/1-My-firstrecording</recording_link> <creation_date>2011-07-31 14:00:00</creation_date> </recording> [...] </recordings> </root> <?php // GET recording $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru/api/1/'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/recording/id/1'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> POST recording /api/[ver]/[username]/recording Редактирование существующей записи. id (int) title (str) description (str) password (str) allow_anonymous_playback (bool) HTTP Ответ Пример Запрос Тело запроса Ответ PHP POST id (int) message (str) ID записи. Название записи. Описание записи. Установка пароля для просмотра записи. Оставьте поле пустым для открытого доступа. Если true (или 1), пользователям не будет предлагаться вводить имя для просмотра. Игнорируется, в случае если установлен пароль. ID отредактированной записи. “Recording updated”. POST http://connect1.webinar.ru/api/[ver]/[username]/recording input_type=json&rest_data={"id":1,"title":"My recording","description":"Информация о записи", "password":"mypassword"} <?xml version="1.0" encoding="utf-8"?> <xml> <id>1</id> <message>Recording updated</message> </xml> <?php // POST recording $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru/api/1/'; $parameters = array( 'id' => 1, 'title' => 'Моя запись', 'description' => 'Описание записи', 'password' => 'mypassword', 'allow_anonymous_playback' => 1, ); // encode as JSON $json = json_encode($parameters); $postArgs = 'input_type=json&rest_data=' . $json; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/recording'); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> Запрос URL Описание Аргументы Обязательные Дополнительные DELETE recording /api/[ver]/[username]/recording Удаление записи HTTP Return DELETE id (int) message (str) Пример Запрос Тело запроса Ответ PHP id (int) none ID записи для удаления. ID удаленной записи. “Recording deleted”. DELETE http://connect1.webinar.ru/api/[ver]/[username]/recording id=1 или input_type=json&rest_data={"id":"1"} <?xml version="1.0" encoding="utf-8"?> <xml> <id>1</id> <message>Recording was deleted</message> </xml> <?php // DELETE session $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru /api/1/'; $parameters = array( 'id' => 1 ); // encode as JSON $json = json_encode($parameters); $postArgs = 'input_type=json&rest_data=' . $json; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/recording'); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE'); curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?> Запрос URL Описание GET user /api/[ver]/[username]/user /api/[ver]/[username]/users Получить данные об аккаунте. Аргументы Обязательные Выбор полей, который должны быть в выдаче (по шаблону через «;»): Дополнительные return(str) .../user/return/id;login;email;last_name По умолчанию выдача идет по стандартному шаблону (см. XML ниже) HTTP Return GET id (int) login (str) email (str) first_name (str) last_name (str) company (str) country (str) language (str) last_login (str) activated (bool) api_enabled (bool) ID аккаунта Логин аккаунта Емейл аккаунта Имя Фамилия Организация Страна Язык по умолчанию Дата и время последнего входа Активирован или нет аккаунт Доступно или нет API для данного аккаунта Пример GET http://connect1.webinar.ru/api/[ver]/[username]/user/id/1 Запрос Тело запроса GET http://connect1.webinar.ru/api/[ver]/[username]/users/return/id;last_name/count/5 none Ответ PHP <?xml version="1.0" encoding="UTF-8"?> <root> <users> <user> <id>1</id> <login>[username]</login> <email>user@domain.com</email> <first_name>Иван</first_name> <last_name>Иванов</last_name> <company>ООО «Ромашка»</company> <country>Россия</country> <language>ru-RU</language> <last_login>2011-07-31 14:00:00</last_login> <activated>1</activated> <api_enabled>0</api_enabled> </user> [...] </users> </root> <?php // GET user $username = 'username'; $password = 'password'; $baseurl = 'http://connect1.webinar.ru/api/1/'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $baseurl.$username.'/user/id/1'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERPWD, $username.':'.$password); $result = curl_exec($curl); curl_close($curl); echo $result; ?>