SAPE.RU XML-RPC
Наш xml-rpc интерфейс доступен по адресу http://api.sape.ru/xmlrpc/. Обращаться нужно по 80-ому порту, тело xml-запроса класть в POST_DATA. Всё общение происходит полностью в кодировке UTF-8.
Если Вы ещё ничего не знаете про XML-RPC, то рекомендуем почитать на сайте www.xmlrpc.com:
- Реализация протокола для Вашего любимого языка программирования.
- Для любителей PHP рекомендуем Zend Framework.
Описание существующих функций
(int) sape.login((char) login, (char) password [, (boolean) md5 = false])— авторизация в системе, необходимо вызывать в начале каждой сессии. Далее при каждом следующем запросе нужно передавать все вернувшиеся cookie. Если параметр md5 == true, то пароль должен быть захеширован алгоритмом MD5. Результатом выполнения функции является id пользователя.(array) sape.get_user()— информация о пользователе:- login,
- e-mail,
- баланс,
- число купленных ссылок,
- число купленных ссылок в статусе ОК,
- месячный бюджет,
- месячный бюджет по статусу ОК,
- расход сутки, расход неделя,
- доход сутки, доход неделя,
- партнёрка сутки, партнёрка неделя,
- результат сутки, результат неделя.
(float) sape.get_balance()— текущий баланс пользователя, включая заблокированные средства.(float) sape.get_balance_real()— доступный баланс пользователя.(array) sape.get_balance_locks()— текущий баланс с детализацией блокировок. Результат содержит информацию по балансу:- balanceTotal — баланс,
- balanceAvailable — доступно,
- blockedTotal — заблокировано
- balanceBlockedOut — заявки на вывод,
- balanceBlockedLinksBudget — на оплату ссылок,
- balanceBlockedBonus — спонсорство,
- balanceBlockedArticlesBudget — на оплату статей,
- balanceBlockedPr — на покупку материалов в PR.sape,
- balanceBlockedPrBudget — рассрочка PR.sape,
- balanceBlockedArt — на покупку статей в магазине контента,
- balanceBlockedDox — непредоставление документов,
- balanceBlockedPromo — по условиям промо-акции,
- balanceBlockedAdvisor — на оплату материалов в Advisor
(array) sape.get_bills((int) year[, (int) month = null[, (int) day = null[, (int) user_id = null]]])— данные по датам зачисления/поступления денег в разрезе каждого счета, по умолчанию выводятся счета аккаунтов привязанных к юрлицу, если такая связь есть, если нужно получить счета по конкретному аккаунту, то необходимо установить параметр user_id, если user_id == true, то выводится информация по текущему юзеру. Каждый элемент массива содержит:- ID счета,
- номер документа,
- дата создания,
- сумма,
- дата поступления,
- дата зачисления
(array) sape.get_sites()— список сайтов пользователя, каждый элемeнт содержит:- ID сайта,
- УРЛ,
- CY,
- PR главной страницы,
- ID категории,
- дата регистрации,
- дата последнего изменения максимума ссылок для площадки,
- статус:
NEW— новый,IND— проиндексирован,OK— работает,IND_NOW— в процессе индексации,FAIL— не прошёл модерацию,IND_WAIT— ожидает индексацию,REIND_NOW— в процессе переиндексации,REIND_WAIT— ожидает переиндексацию.
- комментарий модератора,
- уровень домена,
- флаг авторежима,
- максимальное количество ссылок на каждом уровне,
- флаг забаненности в Yandex,
- скрывать УРЛ,
- разделитель ссылок,
- класс ссылок,
- класс контекстных ссылок,
- стоп слова,
- флаги использования стандартных списков стоп-слов,
- флаг приостановки продажи ссылок,
- сумма за сегодня,
- сумма за вчера,
- сумма всего,
- наличие сайта в Yandex каталоге,
- наличие сайта в DMOZ,
- количество страниц в Yandex,
- количество страниц в Google,
- количество дней до возможности запустить переиндексацию.
(array) sape.site_update((int) site_id, (hash) site_params)— изменение настроек сайта в соответствии с переданными параметрами, возможные параметры:- auto; автоматический режим,
- flag_hide_url; скрывать урл,
- flag_use_unprintable_words_stop_list; использовать списки слов-стоп ненормативной лексики,
- flag_use_adult_words_stop_list; использовать списки слов-стоп adult-тематики,
- flag_reject_foreign_words; не принимать ссылки полностью на латинице,
- auto_activate_pages; автоматически активировать новые страницы,
- flag_not_for_sale; не принимать новые заявки на сайт,
- flag_no_dispenser_check; на этом сайте ссылки размещаются «вручную»,
- auto_set_prices; автоматически устанавливать новые цены,
- auto_set_prices_factor; значение для флага "средние по системе умноженные на",
- pr_change_auto_set_prices_link; менять цены для текущих ссылок при изменении PR,
- pr_change_auto_set_prices; автоматически устанавливать новые цены при изменении PR,
- pr_change_prices_factor; значение для флага "средние по системе умноженные на" при изменении PR,
- nof_placements_autostop; количество ссылок в статусе OK после которого следует останавливать прием заявок.
(array) sape.get_site_regions((int) site_id)— список регионов сайта.(array) sape.get_site_page((int) site_id, (int) page_id)— свойства страницы сайта:- статус и статус контекстный:
NEW— новая,OK— активная,DEL— удалена,NO_CODE— код не найден.
- УРЛ страницы,
- PR,
- уровень вложенности,
- количество внешних ссылок,
- цена,
- количество ссылок.
- статус и статус контекстный:
(array) sape.get_site_pages((int) site_id [, (array) opts ])— возвращает список страниц сайта
$opts может содержать следующие параметры —- (int) level,
- (int) pr,
- (int) pn = 0,
- (int) ps = 0.
- ID страницы,
- статус и статус контекстный:
NEW— новая,OK— активная,DEL— удалена,NO_CODE— код не найден.
- УРЛ страницы,
- PR,
- уровень вложенности,
- количество внешних ссылок,
- цена,
- количество ссылок.
(int) sape.site_pages_activate((int) site_id, [(int/array) page_ids], [(bool) flag_context = false])— активация страниц сайта, возвращает количество активированных страниц.(int) sape.site_pages_exclude((int) site_id, (int/array) page_ids, [(bool) flag_context = false])— исключение страниц сайта, возвращает количество исключенных страниц.(int) sape.site_pages_purge((int) site_id, (int/array) page_ids, [(bool) flag_context = false])— удаление страниц сайта, возвращает количество удаленных страниц.(array) sape.get_site_links((int) site_id [, (array) opts ])— возвращает список ссылок сайта
$opts может содержать следующие параметры —- (char) status,
- (timestamp) date_start,
- (timestamp) date_stop,
- (int) pn = 0,
- (int) ps = 0,
- (bool) clipped = 0 — возвращает только важные поля,
- (int|array) pl_ids = 0 — возвращает, только определенные ссылки,
- (bool) excess_external = 0 — возвращает только ссылки со страниц с превышением внешних.
- ID ссылки,
- статус:
WAIT_WM— ожидает подтверждения вебмастера,WAIT_SEO— ожидает подтверждения оптимизатора,OK— размещена,ERROR— не найдена,SLEEP— заблокирована из-за нехватки денег у оптимизатора.
- ID страницы,
- УРЛ акцептора,
- текст ссылки,
- цена,
- новая цена,
- дата размещения ссылки,
- дата блокировки ссылки (по статусам
ERRORилиSLEEP), - дата смены цены,
- флаг контекстности.
(array) sape.get_sites_links_count([(char) status])— количество ссылок по сайтам.(array) sape.get_sites_pages_count([(char) status])— количество страниц по сайтам.(array) sape.get_sites_pages_context_count([(char) status])— количество контекстных страниц по сайтам.(array) sape.get_site_money_stats((int) site_id [, (int) year [, (int) month [, (int) day]]])— статистика доходов по сайту.(array) sape.get_projects([(bool|hash) show_deleted] [, (int) pn = 0 [, (int) ps = 10000]])— список проектов пользователя.
Возможна передача параметров в виде хеша:- (bool) show_deleted - показывать удаленные,
- (bool) show_count - показывать количество урлов и ссылок в статусе ОК.
- ID проекта,
- название,
- автоматически снимать ссылки с сайтов, отсутствующих в ПС Яндекс,
- не распространять ограничение на число ВС на избранные сайты,
- автоматически снимать ссылки для главных страниц, количество ВС на которых превысило указанное значение,
- автоматически снимать ссылки для страниц второго УВ, количество ВС на которых превысило указанное значение,
- автоматически снимать ссылки для страниц третьего УВ, количество ВС на которых превысило указанное значение,
- автоматически снимать ссылки, имеющие статус
ERRORстолько дней подряд, - потрачено за сегодня,
- потрачено за вчера,
- потрачено всего,
- дата создания,
- количество урлов проекта,
- количество ссылок в статусе OK.
(array) sape.get_project((int) project_id)— параметры проекта пользователя:- ID проекта,
- название,
- автоматически снимать ссылки с сайтов, отсутствующих в ПС Яндекс,
- не распространять ограничение на число ВС на избранные сайты,
- автоматически снимать ссылки для главных страниц, количество ВС на которых превысило указанное значение,
- автоматически снимать ссылки для страниц второго УВ, количество ВС на которых превысило указанное значение,
- автоматически снимать ссылки для страниц третьего УВ, количество ВС на которых превысило указанное значение,
- автоматически снимать ссылки, имеющие статус
ERRORстолько дней подряд, - потрачено за сегодня,
- потрачено за вчера,
- потрачено всего,
- дата создания,
- дата удаления (только для удаленных проектов),
- количество урлов проекта,
- количество ссылок в статусе OK.
(boolean) sape.project_update((int) project_id, (hash) project_params)— изменение настроек проекта в соответствии с переданными параметрами, возможные параметры:- name; название,
- flag_cancel_links_yabl; автоматически снимать ссылки с сайтов, отсутствующих в ПС Яндекс,
- flag_ext_links_max_no_wl; не распространять ограничение на число ВС на избранные сайты,
- nof_ext_links_max_l1; автоматически снимать ссылки для главных страниц, количество ВС на которых превысило указанное значение,
- nof_ext_links_max_l2; автоматически снимать ссылки для страниц второго УВ, количество ВС на которых превысило указанное значение,
- nof_ext_links_max_l3; автоматически снимать ссылки для страниц третьего УВ, количество ВС на которых превысило указанное значение,
- nof_days_to_keep_errors; автоматически снимать ссылки, имеющие статус
ERRORстолько дней подряд,
(hash) sape.get_url((int) url_id [, (boolean) show_deleted])— информация о УРЛе (включая удалённые, если show_deleted == true), результат содержит:- ID УРЛа,
- ID проекта,
- УРЛ,
- название,
- режим модерации,
- полуавтоматический режим,
- дата создания,
- сумма за сегодня,
- сумма за вчера,
- сумма всего,
- общее количество ссылок,
- период запуска авторежима,
- ключевое слово,
- позиция в yandex,
- изменение позиции в yandex,
- дата изменения позиции в yandex,
- позиция в mail,
- изменение позиции в mail,
- дата изменения позиции в mail.
(array) sape.get_urls((int) project_id [, (boolean) show_deleted], (array) opts ])— список УРЛов проекта (включая удалённые, если show_deleted == true), каждый элемент содержит:- ID УРЛа,
- ID проекта,
- УРЛ,
- название,
- режим модерации,
- полуавтоматический режим,
- дата создания,
- сумма за сегодня,
- сумма за вчера,
- сумма всего,
- общее количество ссылок,
- период запуска авторежима,
- ключевое слово,
- позиция в yandex,
- изменение позиции,
- дата изменения позиции.
- (boolean) tiny - выводить краткую информацю,
(array) sape.get_url_links((int|array) url_id [, (char) status, (timestamp) date_start, (timestamp) date_stop, (int) pn = 0])— список ссылок УРЛ(a/ов), каждый элемент содержит:- ID ссылки,
- статус:
WAIT_WM— ожидает подтверждения вебмастера,WAIT_SEO— ожидает подтверждения оптимизатора,OK— размещена,ERROR— не найдена,SLEEP— заблокирована из-за нехватки денег у оптимизатора.
- ID сайта,
- УРЛ сайта,
- CY сайта,
- ID страницы,
- УРЛ страницы,
- PR страницы,
- уровень вложенности страницы,
- количество внешних ссылок на странице,
- текст ссылки,
- цена,
- новая цена,
- дата размещения ссылки,
- дата блокировки ссылки (по статусам ERROR или SLEEP),
- дата смены цены,
- флаг контекстности,
- флаг есть ли в DMOZ,
- флаг есть ли в YACA,
- ID категории,
- ID авто-фильтра, по которому пришла ссылка.
(array) sape.get_project_sites((int) project_id )— список ID площадок, на которых куплены ссылки;(array) sape.get_project_links((int|array) project_id [, (char) status, (timestamp) date_start, (timestamp) date_stop, (int) pn = 0])— список ссылок проекта, каждый элемент содержит:- ID ссылки,
- статус:
WAIT_WM— ожидает подтверждения вебмастера,WAIT_SEO— ожидает подтверждения оптимизатора,OK— размещена,ERROR— не найдена,SLEEP— заблокирована из-за нехватки денег у оптимизатора.
- ID сайта,
- УРЛ сайта,
- CY сайта,
- ID страницы,
- УРЛ страницы,
- PR страницы,
- уровень вложенности страницы,
- количество внешних ссылок на странице,
- текст ссылки,
- цена,
- новая цена,
- дата размещения ссылки,
- дата блокировки ссылки (по статусам ERROR или SLEEP),
- дата смены цены,
- флаг контекстности,
- ID авто-фильтра, по которому пришла ссылка.
(array) sape.get_urls_links_count((int|array) project_id [, (char) status, (timestamp) date_start, (timestamp) date_stop])— количество ссылок по урлам(array) sape.get_url_anchors((int) url_id)— список анкоров УРЛа, каждый элемент содержит:- ID анкора,
- сам анкор,
- количество использованных раз.
(int) sape.get_url_anchors_count((int) url_id)— количество анкоров УРЛа(array) sape.get_urls_anchors_count((hash) params)— список количества анкоров по всем УРЛам.Возможные параметры вызова:- (int|array) project_id - ID проекта/проектов,
- (int|array) url_id - ID урла/урлов.
- ID урла,
- количество анкоров.
(char) sape.get_placement_status((string) id)— возвращает текущий статус ссылки по ID.(array) sape.get_url_money_stats((int) url_id [, (int) year [, (int) month [, (int) day]]])— статистика расходов по УРЛу.(array) sape.get_project_money_stats((int) project_id [, (int) year [, (int) month [, (int) day]]])— статистика расходов по проекту.(array) sape.get_projects_money_stats((int) year [, (int) month [, (int) day]])— статистика расходов по всем проектам.(array) sape.get_balance_money_stats([(int) year [, (int) month [, (int) day]]])— статистика изменений баланса. Если дата не указана возвращает данные за все время.(array) sape.get_categories()— массив категорий сайтов.(array) sape.get_domain_zones()— массив доменных зон.(array) sape.get_regions()— массив регионов.(array) sape.get_yaca_categories()— массив категорий YACA.(array) sape.get_whitelists()— массив списков избранного.(array) sape.get_messages((hash) filter, [(int) pn = 0 [, ps = 100]])— выбор сообщений по параметрам, указанным в ассоциированном массиве filter (pn - номер страницы, ps - кол-во сообщений на странице (ps может принимать следующие значения:10,50,100,250,500,1000)). Возможные фильтры:- dates — массив дат за которые необходимо получить сообщения, доступны только последние семь дней
- query — текст фильтра(UTF-8)
- types — массив типов сообщений
- 1 - На собственной странице * размещена новая ссылка * на URL *
- 2 - Новая заявка на размещение на странице * ссылки * на URL *
- 3 - Размещение на странице * ссылки * на URL * утверждено хозяином площадки (АВТО) и оптимизатором (АВТО)
- 4 - Размещение на странице * ссылки * на URL * утверждено хозяином площадки (АВТО) и ожидает подтверждения оптимизатора.
- 5 - Размещение на странице * ссылки * на URL * отменено.
- 6 - На собственной странице * обновился текст ссылки на URL * — новый текст *
- 7 - Заявка на смену текста ссылки на URL * на странице * — новый текст *
- 8 - Новая цена (*) для размещения ссылки * на сайт * на странице * принята.
- 9 - Размещение на странице * ссылки * на URL * подтверждено оптимизатором.
- 10 - Площадка * [ID:*] удалена вебмастером из системы вместе со всеми заявками и ссылками!
- 11 - Проект * удалён
- 12 - В проект * добавлен URL *
- 13 - Удаление URL из проекта
- 14 - От Вашего сайта * [ID:*] в течение последних * дней не было ни одного обращения к нашему серверу за новыми ссылками. Покупка новых ссылок на сайте приостановлена. Напишите в обратную связь, когда исправите проблему.
- 15 - При очередной проверке размещения ссылок, на странице * не была найдена ваша ссылка * на сайт *. Это может быть связано с проблемами хостинга у площадки. Средства с вашего счета не будут списаны за эти сутки, при восстановлении работоспособности площадки размещение вашей ссылки возобновится.
- 16 - Число внешних ссылок на всех страницах сайта * обновлено нашим роботом.
- 17 - Cайт * не проиндексирован поисковой системой Яндекс.
- 18 - Главная страница сайта * не отвечает! Примите необходимые меры и добавьте сайт в систему снова.
- 19 - Ваш сайт * проиндексирован нашим роботом и отправлен на модерацию. Для начала работы следует разрешить найденные роботом страницы к продаже. Сайт заработает после проверки нашим модератором.
- 20 - Cайт * удалён из системы.
- 21 - Ваш сайт * проиндексирован нашим контекстным роботом. Для начала работы следует разрешить найденные роботом страницы с контекстным кодом к продаже.
- 22 - Цена на размещение ссылки * [*] на странице * увеличена с * до * . У Вас есть * дней, чтобы принять новую цену или отказаться от этой ссылки.
- 24 - Размещение на странице * ссылки * на URL * утверждено хозяином площадки и оптимизатором (АВТО).
- 25 - Размещение на странице * ссылки * на URL * утверждено хозяином площадки и ожидает подтверждения оптимизатора.
- 26 - Ваш УРЛ [ID:*] из проекта * был принудительно переведён в ручной режим работы из полу-автоматического в связи с тем, что в течение 10 дней Вами не было одобрено/отклонено ни одной подобранной автоматом заявки.
- 27 - Режим модерации УРЛа * был изменён на ручной/автоматический
- 28 - Проект * усыплён
- 29 - Размещение на странице * ссылки * на URL * приостановлено из-за нулевого баланса оптимизатора (ссылка переведена в статус SLEEP).
- 31 - Ваш сайт * [ID:*] активирован вами после отсутствия обращения к нашему серверу за новыми ссылками.
- 32 - Размещение на странице * ссылки * на URL * восстановлено (ссылка переведена из статуса SLEEP в статус ОК).
- 33 - Заявка на смену текста ссылки на URL * на странице * — новый текст * — утверждено хозяином площадки (АВТО).
- row_count — кол-во сообщений
- page_count — кол-во страниц
- messages — массив сообщений, каждый элемент содержит:
- date — дата
- body — текст сообщения(UTF-8)
- type — тип
(int) sape.placements_accept_wm((array) ids)— одобрение ссылок вебмастером, возвращает количество успешно одобренных. Необходимо одобрять ссылки в статусеWAIT_WM. Массив не больше 100 элементов.(array) sape.get_placements_new_prices((int) project_id[, (int) days])— получение новых цен ссылок проекта (если project_id == 0 - всех проектов), изменившихся за определенное кол-во дней (по умолчанию 30). Возвращается массив, каждый элемент которого содержит:- id — ID ссылки
- date — дата установки старой цены
- price — старая цена
- date_price_changed — дата установки новой цены
- price_new — новая цена
(array) sape.get_projects_folders()— Возвращается массив, каждый элемент которого содержит:- ID проекта
- ID раздела
- название раздела
(array) sape.get_sites_folders()— Возвращается массив, каждый элемент которого содержит:- ID сайта
- ID раздела
- название раздела
(bool) sape.project_move_to_folder((int) project_id, (int) folder_id)— перенос проекта в другой раздел.(bool) sape.site_move_to_folder((int) site_id, (int) folder_id)— перенос сайта в другой раздел.(array) sape.get_placements_text_updates([(int) site_id)— получение заявок на смену текста. Если задан site_id, то только для сайта, иначе для всех сайтов пользователя. Возвращается массив, каждый элемент которого содержит:- id — ID ссылки
- date_created — дата создания ссылки
- txt — старый текст
- request_date — дата создания заявки на смену текста
- request_txt — новый текст
- action_reject — флаг, указывающий на то, что будет, если отклонить заявку. 1 - старая ссылка сохраняется ; 2 - старая ссылка удаляется
(bool) sape.placement_delete((string) id)— удаление ссылки по ID.(array) sape.placements_delete((array) ids)— удаление ссылок по массиву ID, возвращает массив ID успешно удалённых. Массив не больше 100 элементов.(array) sape.placements_text_updates_accept((array) pl_ids)— одобрение заявок на смену текста. Возвращается массив с Id новых ссылок в том же порядке как и на входе.(bool) sape.placements_text_updates_reject((array) pl_ids)— отклонение заявок на смену текста.
