PR.SAPE.RU XML-RPC

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

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



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

  • integer sape_pr.login(string $login, string $password, boolean $md5)
    Авторизация в системе, необходимо вызывать в начале каждой сессии. Далее при каждом следующем запросе нужно передавать все вернувшиеся cookie. Результатом выполнения функции является id пользователя. Параметр md5 по-умолчанию false.
  • array sape_pr.project.index(struct $filter)
    Список кампаний пользователя. Фильтр - массив параметров - может включать в себя:
    • is_archived - находится в архиве true/false
    • id - id кампании
    Каждый элемент содержит:
    • id
    • name - название
    • is_seo_checking - заявки проверяет оптимизатор
    • budget - бюджет
    • is_archived - в архиве
    • created_at - дата создания
  • integer sape_pr.project.create(string $name, integer $budget)
    Добавление кампании
  • void sape_pr.project.set_budget(integer $id, integer $budget)
    Установка бюджет для проекта. Если проект был в архиве, то он будет открыт снова.
  • void sape_pr.project.unset_budget(integer $id)
    Снятие параметра бюджета для проекта. Если проект был в архиве, то он будет открыт снова.
  • void sape_pr.project.set_is_archive(integer $id, boolean $is_archived)
    Установка флага "архивности" проекта
  • array sape_pr.project.adverts(integer $project_id, boolean $ignore_moved, integer $page, integer $per_page)
    Список заявок для проекта. Текст заявки можно получить методом sape_pr.advert.get_content. Каждый элемент содержит:
    • id
    • type - тип заявки
    • site_id - ID площадки
    • status - статус заявки
    • links - ссылки текста
    • price - стоимость
    • credit_period - длительность рассрочки
    • credit_status - статус рассрочки
    • placement_url - адрес размещения
    • cy - тИЦ площадки
    • pr - PR площадки
    • is_indexed - статус индексации
    • date_billing - дата списания денег
    • created_at - дата-время создания
    • placed_at - дата-время размещения
    • status_at - дата-время установки статуса
    Типы:
    • link - ссылка в новости
    • news - статья
    • archive - ссылка в архиве
    • review - обзор
    Статусы:
    • 4 - проверка модератором
    • 7 - ожидает действия от оптимизатора
    • 5 - на размещении
    • 11 - проверка размещения
    • 12 - доработка размещения
    • 20 - размещена
    • 21 - отклонена вебмастером
    • 22 - отменена оптимизатором
    • 23 - отклонена модератором
    • 25 - к снятию
    • 26 - снята
    Статусы рассрочки:
    • 1 - выплаты еще не начаты
    • 2 - идет выплата
    • 3 - идет выплата (списывается резерв)
    • 5 - выплаты приостановлены
    • 6 - недостаточно средств
    • 10 - выплаты завершены
    • 20 - выплаты приостановлены
  • array sape_pr.site.search(string $type, struct $filter, integer $page, integer $per_page)
    Поиск площадок Фильтр - массив параметров - может включать в себя:
    • price_from - цена от
    • price_to - цена до
    • cy_from - тИЦ от
    • cy_to - тИЦ до
    • in_yaca - находится в Я.Каталоге
    • in_dmoz - есть в DMOZ
    • ag_yandex - есть в Яндекс.Новостях
    • ag_google - есть в Google.Новостях
    • ag_novoteka - есть в Новотеке
    • id - id площадки
    Для каждого сайта будет возвращен массив со следующими параметрами:
    • id - ID сайта
    • url - url сайта
    • price - стоимость выбранного типа размещения
    • credit_available - доступна покупка в рассрочку
    • cy - тИЦ
    • pr - PR
    • in_yaca - находится в Я.Каталоге
    • in_dmoz - находится в DMOZ
    • ag_yandex - есть в Яндекс.Новостях
    • ag_google - есть в Google.Новостях
    • ag_novoteka - есть в Новотеке
    • advert_indexed_percent - процент индексации заявок
    • avg_placement_time - среднее время размещения заявки
    • placement_uniqueness - уникальность размещений
  • array sape_pr.site.ownlist(array $ids)
    Получить данные по собственным площадкам. По каждой площадке будет возвращён массив со следующими данными:
    • id - ID площадки
    • url - адрес площадки
    • is_disabled - true, если площадка деактивирована
    • placement_propability - вероятность размещения
    • indexation_percent - процент индексации
    • uniqueness_percent - процент уникальности
    • average_placement_times - массив со средними временами размещения (в часах) по типам заявок
    • advert_type_prices - массив с ценами на типы заявок
    Типы заявок:
    • link - ссылка в новости
    • news - статья
    • archive - ссылка в архиве
    • review - обзор
  • void sape_pr.site.update(integer $id, struct $params)
    Обновить параметры площадки
    • price_link: Цена за размещение ссылки
    • price_news: Цена за размещение статьи
    • price_archive: Цена за размещение ссылки в архиве
    • price_review: Цена за размещение за размещения обзора
    • avg_republic: Примерное число републикаций
    • format: Формат подачи (описание)
    • chars_min: Минимум знаков
    • chars_max: Максимум знаков
    • flag_images: Изображения
    • contact: Контактная информация
    • requirements: Требования к контенту
    • placement_example: Примеры размещения
    • is_credit_available: Включить покупку в рассрочку см. http://help.sape.ru/pr/faq/1206
    • is_disabled: Не принимать новые заявки
    • is_placement_outside_only: Размещение ссылок только ВНЕ текста новости
    • is_non_thematic_advert: Принимаю нетематические ссылки
    • is_non_thematic_article: Принимаю нетематические статьи и пишу нетематические обзоры
    • words_stop_list: Стоп-лист
    • is_stop_unprintable_words: Фильтровать нецензурные слова
    • is_stop_adult_words: Фильтровать adult-слова
    • description: Описание
  • array sape_pr.site.adverts(struct $filter, boolean $ignore_moved, integer $page, integer $per_page)
    Список заявок для площадок. Текст заявки можно получить методом sape_pr.advert.get_content. Каждый элемент содержит:
    • id
    • type - тип
    • site_id - ID площадки
    • site_url - домен площадки
    • status - статус
    • price - стоимость
    • credit_period - длительность рассрочки
    • credit_status - статус рассрочки
    • placement_url - адрес размещения
    • placement_in_text - признак размещения ссылки в тексте материала
    • placement_out_text - признак размещения ссылки вне текста материала
    • is_placement_guarantied - гарантия размещения вебмастером
    • is_placement_unique - признак уникальности текста размещённого материала
    • is_indexed - статус индексации (null, если статус неизвестен)
    • error - статус ошибки
    • wait_days - кол-во дней для размещения заявки вебмастером
    • created_at - дата-время создания
    • updated_at - дата-время последнего какого-либо обновления
    • placed_at - дата-время размещения
    • status_at - дата-время отмены/отклонения
    Типы:
    • link - ссылка в новости
    • news - статья
    • archive - ссылка в архиве
    • review - обзор
    Статусы заявки:
    • 1 - новая заявка
    • 2 - новая заявка в отделе контента
    • 3 - в работе у отдела контента
    • 4 - проверка модератором
    • 7 - ожидает действия от оптимизатора
    • 5 - на размещении
    • 11 - проверка размещения
    • 12 - доработка размещения
    • 13 - требует размещения
    • 14 - ждёт отправки
    • 20 - размещена
    • 21 - отклонена вебмастером
    • 22 - отменена оптимизатором
    • 23 - отклонена модератором
    • 24 - отклонена стоп-листом
    • 100 - перенесена другому оптимизатору
    • 101 - перенесена другому вебмастеру
    Статусы рассрочки:
    • 1 - выплаты еще не начаты
    • 2 - идет выплата
    • 3 - идет выплата (списывается резерв)
    • 5 - выплаты приостановлены
    • 6 - недостаточно средств
    • 10 - выплаты завершены
    • 20 - выплаты приостановлены
    Статусы ошибок:
    • 0 - без ошибок (ссылка найдена)
    • 1 - сервер недоступен
    • 2 - страница запрещена для индексирования в robots.txt
    • 3 - страница запрещена для индексирования в мета-тегах
    • 4 - некорректный URL
    • 5 - запрос перенаправляется на другую страницу
    • 6 - страница содержит фреймы
    • 10 - ссылка не найдена
    • 11 - ссылка находится в <noindex>
    • 12 - текст ссылки отличается
    Необязательные фильтры выборки:
    • advert_ids - массив ID заявок (иначе выбираются все заявки согласно сотальным условиям выборки)
    • site_ids - массив ID площадок (иначе выборка по всем площадкам пользователя)
    • status_codes - массив кодов статусов (иначе выборка по всем статусам заявки)
  • integer sape_pr.advert.create(string $type, integer $project_id, integer $site_id, struct $param)
    Создание заявки Параметры:
    • wait_days - период ожидания (дней)
    • max_price - максимальная цена покупки
    • credit_period - период рассрочки 90 или 180 дней
    • text - текст заяки
    • is_text_final - запретить склонение текста ссылки
    • place_in_text - размещение в тексте
    • place_outside - размещение вне текста
    Парметры place_in_text и place_outside устанавливаются только для заявок типа link
  • struct sape_pr.advert.get(integer $id)
    Получение параметров заявки (см. описание site.adverts)
  • struct sape_pr.advert.get_content(integer $id, integer $revision)
    Получение текста заявки Параметры:
    • body - текст
    • author - автор (для статей)
    • title - заголовок (для статей)
    • version - версия текста
  • void sape_pr.advert.cancel(integer $id)
    Отмена заявки оптимизатором. В случае отсутствия возможности отмены будет возвращена ошибка 404.
  • void sape_pr.advert.approve(integer $id, integer $placement_type)
    Утверждение размещения. Если для заявки уже указан конкретный способ размещения, $placement_type указывать не нужно. Если для заявки указаны оба способа размещения (как в тексте, так и в не текста), укажите в качестве $placement_type явно выбранный тип размещения:
    • 1 - в тексте
    • 2 - вне текста
    При этом, если будет указан способ 2 (вне текста), заявка будет отправлена модератору на перепроверку.
  • void sape_pr.advert.return_wm_improve(integer $id, string $reason)
    Отправить заявку на доработку вебмастеру.
  • void sape_pr.advert.reject(integer $id, string $reason)
    Отклонение заявки вебмастером. В случае отсутствия возможности отклонения будет возвращена ошибка 404.
  • array sape_pr.advert.comments(integer $id, mixed $is_read)
    Комментарии заявки. Возвращает массив комментариев заявки (либо null, если нет ни одного). Каждый элемент содержит:
    • id
    • author - автор комментария
    • text - комментарий
    • created_at - датавремя создания
    • is_read - просмотрен ли комментарий
  • void sape_pr.advert.add_comment(integer $id, string $text)
    Добавляет комментарий к заявке
  • void sape_pr.advert.place(integer $id, string $url)
    Указание адреса размещения.
  • void sape_pr.advert.guarantee(integer $id)
    Гарантирование размещения заявки
  • void sape_pr.advert.return_seo_rework(integer $id, string $reason)
    Отправка заявки на доработку оптимизатору
  • array sape_pr.text.index(integer $project_id)
    Список текстов пользователя. Каждый элемент содержит:
    • id
    • title - название
    • text - дата создания
  • integer sape_pr.text.create(integer $project_id, string $title, string $content)
    Добавление текста
  • array sape_pr.billing.outgoing(string $date)
    Отчет по расходам в рамках проектов на определенную дату. Дата в формате YYYY-MM-DD Для каждой записи будет возврщена структура:
    • advert_id - id заяки
    • amount - сумма списания
  • float sape_pr.billing.money_hold()
    Прогнозируемый баланс по всем заявкам пользователя.