TextSale.ru XML-RPC

API-сервер: http://api.textsale.ru/xmlrpc/
Кодировка: UTF-8

Получить hash-пароль вы можете по ссылке http://www.textsale.ru/getapihash.php, предварительно войдя в систему под своим логином-паролем.
Внимание! Последующие запросы к данной странице будут приводить к получению нового пароля. Старый работать уже не будет.

Описание XML-RPC: http://www.xmlrpc.com/
Реализации протокола для различных языков программирования: http://www.xmlrpc.com/directory/1568/implementations

Описание функций TextSale.ru XML-RPC:

(array) textsale.GetUser((int)UserId, (string)$hash) - получение информации о пользователе:

(array) textsale.GetCategories() - получение всех категорий каталога статей:

(array) textsale.ListCategory((int)CategoryId, (int)UserId, (string)$hash[, (int)Start=0][, (int)Limit=10]) - получение Limit статей с категории CategoryId, в порядке убывания даты статьи, начиная с позиции Start (Limit допускается в пределах 1-20):
Структура описания статьи:
(array) textsale.GetArticle((int)ArticleId, (int)UserId, (string)$hash) - получение информации о статье с номером ArticleId:
Функция возвращает структуру с описанием статьи (см. выше).

(array) textsale.BuyArticle((int)ArticleId, (int)UserId, (string)$hash) - покупка статьи с номером ArticleId, оплата с баланса аккаунта UserId:
Функция возвращает структуру с описанием статьи (см. выше).

(int) textsale.AddArticle((int)UserId, (string)$hash, (string)$ArticleTitle, (string)$ArticleDescription, (string)$ArticleBody, (int)$CategoryId, (double)$ArticlePrice, (int)$ArticleType[, (string)$ArticleClient]) - добавление статьи на продажу:
Функция возвращает номер добавленной статьи ArticleId.
Входные данные:
(array) textsale.Search((string)Search, (int)UserId, (string)$hash[, (int)Start=0][, (int)Limit=10][, (double)MinPrice][, (double)MaxPrice][, (double)Min1000Price][, (double)Max1000Price][, (int)MinSize][, (int)MaxSize][, (string)CopywriterNickname][, (int)MinPictures][, (int)CategoryId][, (string)Sort]) - получение Limit статей по запросу Search, начиная с позиции Start:
Функция возвращает массив со структурами описания Limit статей.
Описание входных данных:


(array) textsale.GetStat((int)UserId, (string)$hash [, (int)$Year=<текущий год>][, (int)$Month=<текущий месяц>][, (int)$Day=<текущий день>]) - массив операций по аккаунту:
На выходе:

Пример использования:

Запрос данных пользователя (ваш аккаунт):

<\?xml version="1.0"\?> <methodCall> <methodName>textsale.getUser</methodName> <params> <param> <value><struct> <member><name>UserId</name> <value><int>[ваш id]</int></value> </member> <member><name>hash</name> <value><string>[hash]</string></value> </member> </struct></value> </param> </params> </methodCall>

Ответ сервера:

<\?xml version="1.0"\?> <methodResponse> <params> <param> <value><struct> <member><name>UserId</name> <value><int>[id вашего аккаунта]</int></value> </member> <member><name>Balance</name> <value><double>[баланс]</double></value> </member> <member><name>Blocked</name> <value><double>[заблокировано в заказах]</double></value> </member> <member><name>Discount</name> <value><int>[текущая скидка]</int></value> </member> </struct></value> </param> </params> </methodResponse>