Sape Api (XML-RPC) Class on php + curl
Пример:
- <?php
-
-
-
-
- require('Sape.php');
-
- $sape = new SapeClientEasy('ВашЛогин', 'ВашПароль', '/var/www/sapeClient/cookie.txt');
-
- echo "\r\n Баланс в системе sape.ru: {$sape->balance()} RUB\r\n";
Результат работы примера:
- доступный баланс пользователя
- количество ссылок всего
- количество ссылок со статусом OK
- количество страниц со статусом OK
- количество страниц со статусом NEW (если они есть, происходит их активация)
- получить уникальный хэш пользователя
- все возможности класса SapeClient
(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_regions((int) site_id) — список регионов сайта:(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]) — активация страниц сайта, возвращает количество активированных страниц.(int) sape.site_pages_exclude((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_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; не распространять ограничение на число ВС на избранные сайты,
- 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_sites((int) project_id ) — список 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((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 * &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]) — получение новых цен ссылок проекта (если project_id = 0 - всех проектов), изменившихся за опеределенное кол-во дней (по умолчанию 30). Возвращается массив, каждый элемент которого содержит:- id — ID ссылки
- date — дата установки старой цены
- price — старая цена
- date_price_changed — дата установки новой цены
- price_new — новая цена
(array) sape.get_projects_folders() — Возвращается массив, каждый элемент которого содержит:- 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 - старая ссылка удаляется
(array) sape.placements_text_updates_accept((array) pl_ids) — одобрение заявок на смену текста. Возвращается массив с Id новых ссылок в том же порядке как и на входе.(bool) sape.placements_text_updates_reject((array) pl_ids) — отклонение заявок на смену текста.