Pull to refresh

API для загрузки музыки на Вебораму

Reading time 2 min
Views 3.8K
Сообщаем, что из стадии альфа-тестирования вышел SOAP API для загрузки файлов на Вебораму. Теперь каждый может снабдить свою разработку механизмом закачки музыки на Вебораму.



Итак, самое главное — описания нашего API на wsdl расположены по адресу: www.weborama.ru/soapAPI (это не ссылка, просто название хранилища, в котором лежат в WSDL-описания). На данный момент, там представлены описания 3 сервисов:

  1. логин
  2. загрузчик музыки
  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.
Tags:
Hubs:
+24
Comments 22
Comments Comments 22

Articles

Information

Website
www.weborama.ru
Registered
Founded
Employees
Unknown
Location
Россия