SAPE.RU XML-RPC

Наш xml-rpc интерфейс доступен по адресу http://api.sape.ru/xmlrpc/. Обращаться нужно по 80-ому порту, тело xml-запроса класть в POST_DATA. Всё общение происходит полностью в кодировке UTF-8.

Если Вы ещё ничего не знаете про XML-RPC, то рекомендуем почитать на сайте www.xmlrpc.com:



Описание существующих функций

  • (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_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.get_site_pages((int) site_id) — список страниц сайта, каждый элемент содержит:
    • ID страницы,
    • статус и статус контекстный:
      • NEW — новая,
      • OK — активная,
      • DEL — удалена,
      • NO_CODE — код не найден.
    • УРЛ страницы,
    • PR,
    • уровень вложенности,
    • количество внешних ссылок,
    • цена,
    • количество ссылок.
  • (int) sape.site_pages_activate((int) site_id, [(int/array) page_ids], [(bool) flag_context = false]) — активация страниц сайта, возвращает количество активированных страниц.
  • (array) sape.get_site_links((int) site_id [, (char) status, (timestamp) date_start, (timestamp) date_stop, (int) pn = 0]) — список ссылок сайта, каждый элемeнт содержит:
    • 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_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([(boolean) show_deleted]) — список проектов пользователя (включая удалённые, если show_deleted == true), каждый элемент содержит:
    • ID проекта,
    • название,
    • автоматически снимать ссылки с сайтов, отсутствующих в ПС Яндекс,
    • не распространять ограничение на число ВС на избранные сайты,
    • разрешить добавлять в проект одинаковые УРЛы,
    • автоматически снимать ссылки для главных страниц, количество ВС на которых превысило указанное значение,
    • автоматически снимать ссылки для страниц второго УВ, количество ВС на которых превысило указанное значение,
    • автоматически снимать ссылки для страниц третьего УВ, количество ВС на которых превысило указанное значение,
    • автоматически снимать ссылки, имеющие статус ERROR столько дней подряд,
    • потрачено за сегодня,
    • потрачено за вчера,
    • потрачено всего,
    • дата создания.
  • (boolean) sape.project_update((int) project_id, (hash) project_params) — изменение настроек проекта в соответствии с переданными параметрами, возможные параметры:
    • name; название,
    • flag_cancel_links_yabl; автоматически снимать ссылки с сайтов, отсутствующих в ПС Яндекс,
    • flag_ext_links_max_no_wl; не распространять ограничение на число ВС на избранные сайты,
    • flag_allow_nonunique_urls; разрешить добавлять в проект одинаковые УРЛы,
    • nof_ext_links_max_l1; автоматически снимать ссылки для главных страниц, количество ВС на которых превысило указанное значение,
    • nof_ext_links_max_l2; автоматически снимать ссылки для страниц второго УВ, количество ВС на которых превысило указанное значение,
    • nof_ext_links_max_l3; автоматически снимать ссылки для страниц третьего УВ, количество ВС на которых превысило указанное значение,
    • nof_days_to_keep_errors; автоматически снимать ссылки, имеющие статус ERROR столько дней подряд,
  • (array) sape.get_urls((int) project_id [, (boolean) show_deleted]) — список УРЛов проекта (включая удалённые, если show_deleted == true), каждый элемент содержит:
    • ID УРЛа,
    • ID проекта,
    • УРЛ,
    • название,
    • режим модерации,
    • полуавтоматический режим,
    • дата создания,
    • сумма за сегодня,
    • сумма за вчера,
    • сумма всего,
    • общее количество ссылок,
    • период запуска авторежима,
  • (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),
    • дата смены цены,
    • флаг контекстности,
    • ID авто-фильтра, по которому пришла ссылка.
  • (array) sape.get_project_links((int) 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) project_id [, (char) status]) — количество ссылок по урлам
  • (array) sape.get_url_anchors((int) url_id) — список анкоров УРЛа, каждый элемент содержит:
    • ID анкора,
    • сам анкор,
    • количество использованных раз.
  • (int) sape.get_url_anchors_count((int) url_id) — количество анкоров УРЛа
  • (array) sape.get_urls_anchors_count() — список количества анкоров по всем УРЛам, каждый элемент содержит:
    • ID урла,
    • количество анкоров.
  • (char) sape.get_placement_status((int) 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 - кол-во сообщений на странице). Возможные фильтры:
    • dates — массив дат за которые необходимо получить сообщения, доступны только последние семь дней
    • query — текст фильтра(UTF-8)
    • types — массив типов сообщений
      • 1 - На собственной странице * размещена новая ссылка * на URL *
      • 2 - Новая заявка на размещение на странице * ссылки * на URL *
      • 3 - Размещение на странице * ссылки * на URL * утверждено хозяином площадки (АВТО) и оптимизатором (АВТО)
      • 4 - Размещение на странице * ссылки * на URL * утверждено хозяином площадки (АВТО) и ожидает подтверждения оптимизатора.
      • 5 - Размещение на странице * ссылки * на URL * отменено.
      • 6 - На собственной странице * обновился текст ссылки на URL * &mdash новый текст *
      • 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 - Проект * усыплён
    Если что-то нашлось, то возвращается массив:
    • 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]) — получение новых цен ссылок проекта, изменившихся за опеределенное кол-во дней (по умолчанию 30). Возвращается массив, каждый элемент которого содержит:
    • id — ID ссылки
    • date — дата установки старой цены
    • price — старая цена
    • date_price_changed — дата установки новой цены
    • price_new — новая цена