Сообщаем, что из стадии альфа-тестирования вышел SOAP API для загрузки файлов на Вебораму. Теперь каждый может снабдить свою разработку механизмом закачки музыки на Вебораму.
Итак, самое главное — описания нашего API на wsdl расположены по адресу: www.weborama.ru/soapAPI (это не ссылка, просто название хранилища, в котором лежат в WSDL-описания). На данный момент, там представлены описания 3 сервисов:
Стоит быть готовым к тому, что в случае возникновения нештатной ситуации, ошибки в преданных данных и прочих неприятностях бросается исключение с описанием ошибки.
Описание (wsdl-схема) — www.weborama.ru/soapAPI/login.wsdl. Сервис позволяет производить авторизацию по email и паролю, проверять ключи сессий на предмет исправности и, по завершению операций, «разлогинивание».
Пример (на php)
Описание (wsdl-схема) — www.weborama.ru/soapAPI/uploadAudio.wsdl. Сервис позволяет проверить наличие композиции на сервере Выборамы и произвести загрузку файлов.
Пример (на php)
Итак, самое главное — описания нашего API на wsdl расположены по адресу: www.weborama.ru/soapAPI (это не ссылка, просто название хранилища, в котором лежат в WSDL-описания). На данный момент, там представлены описания 3 сервисов:
- логин
- загрузчик музыки
- и еще один
Стоит быть готовым к тому, что в случае возникновения нештатной ситуации, ошибки в преданных данных и прочих неприятностях бросается исключение с описанием ошибки.
Сервис авторизации
Описание (wsdl-схема) — www.weborama.ru/soapAPI/login.wsdl. Сервис позволяет производить авторизацию по email и паролю, проверять ключи сессий на предмет исправности и, по завершению операций, «разлогинивание».
Пример (на php)
$soapLoginClient = new SoapClient('http://www.weborama.ru/soapAPI/login.wsdl', array('encoding' => 'UTF-8', 'trace' => true, 'exceptions' => true));
/**
* залогинимся - $sessionHash - ключ сессии
*/
$sessionHash = $soapLoginClient->login('someone@mail.ru', 'некий_пароль');
/**
* проверка сессии
*/
$soapLoginClient->checkSession($sessionHash);
/**
* завершение сессии
*/
$soapLoginClient->logout($sessionHash);
* This source code was highlighted with Source Code Highlighter.
Сервис загрузки музыки
Описание (wsdl-схема) — www.weborama.ru/soapAPI/uploadAudio.wsdl. Сервис позволяет проверить наличие композиции на сервере Выборамы и произвести загрузку файлов.
Пример (на php)
$soapClient = new SoapClient('http://www.weborama.ru/soapAPI/uploadAudio.wsdl', array('encoding' => 'UTF-8', 'trace' => true, 'exceptions' => true));
/**
* для привязки клиента к сессии
*/
$soapClient->__setCookie('sessionHash', ключ_сессии);
/**
* отправка части содержимого файла на сервер
*/
$data = new stdClass();
$data->fileName = $fileName;
$data->offset = $offset;
$data->length = $size;
$data->data = fread($fileHandler, $size);
$data->data = base64_encode($data->data);
$soapClient->uploadFile($data);
/**
* завершение отправки файла - ОБЯЗАТЕЛЬНО после отправки всех частей файла
*/
$fileHash = $soapClient->completeFile($sessionHash, $data);
/**
* завершение загрузки файла(файлов)
*/
$fileHashes = array($fileHash);
$result = $soapClient->completeUpload($sessionHash, array($fileHash));
/**
* проверка наличия файла по данным песни
*/
$songInfo = new stdClass();
$songInfo->artist = 'Битлз';
$songInfo->album = 'Let It Be';
$songInfo->year = '1970';
$songInfo->song = 'Two Of Us';
$songExists = $soapClient->songExists($songInfo);
/**
* проверка наличия файла по коду файла
*/
$songInfo = new stdClass();
$songInfo->uniqueName = '7b1c2da40b3200a60d38e47760e0f161';
$songExists = $soapClient->songExists($songInfo);
* This source code was highlighted with Source Code Highlighter.