Документация по API
Глоссарий
- Площадка (site, сайт)
- Веб-сайт для размещения статей.
- VIP-площадка
- Специальные площадки для переразмещений. Переразмещение на них бесплатное независимо от рейтинга.
- Проект (project)
- Продвигаемый сайт.
- Хост
- Домен проекта или площадки. Без Punycode. Пример: "президент.рф"
- Ключ
- Набор ("фраза", "/path") для продвижения площадки.
- Статья (article)
- Заказ на написание и размещение статьи. Содержит 1-3 ключа. Проект и площадка статьи меняться не могут. При переразмещении создается новая статья.
Общая информация
Все даты выдаются в виде YYYY-MM-DD HH:MM:SS по московскому времени.
Точка входа: https://webartex.ru/api/
Формат ответов: JSON
Content-Type: application/json; charset=utf-8
Авторизация
HTTP Basic Auth. Имя (id) и пароль можно узнать/поменять в настройках профиля.
Форматы ответов
Форматы успешных ответов:
{ "result": "ok", "object": {} }
Для списка объектов:
{ "result": "ok", "list": [ {obj1}, {obj2} ] }
Для справочников:
{ "result": "ok", "hash": { id1: "name2", id2: "name2" } }
Формат неуспешных ответов:
{ "result": "fail", "error": "text", "code": "error_code", "errors": {"object_field1_name": ["error1", "error2"], ... } }
errors может отдавать ошибки по полям объекта.
error - первая ошибка из errors или независимое сообщение, если errors нет.
code - идентификатор ошибки (опционально, строка, "not_found" и т.п.)
Описание объектов
Площадка
- `id` int(11)
- ID
- `ctime` timestamp
- дата-время создания объекта
- `name` varchar(255)
- домен в формате юникод
- `category_id` int(11)
- категория (см. справочник категорий)
- `rating` int(11)
- рейтинг
- `tic` int(11)
- Яндекс ТИЦ
- `pr` int(11)
- Google PR
- `yandex_count` bigint(20)
- кол-во страниц в Яндексе
- `google_count` bigint(20)
- кол-во страниц в Google
- `domain_age` int(11)
- возраст домена в месяцах
- `visitors_per_day` int(11)
- средняя посещаемость за сутки
- `type_anchor` tinyint(1)
- разрешен прием обычных статей
- `type_non_anchor` tinyint(1)
- разрешен прием безанкорных статей
- `type_img` tinyint(1)
- разрешен прием статей с картинками
- `type_serm` tinyint(1)
- разрешен прием SERM-статей
- `type_own` tinyint(1)
- разрешен прием текстов копирайтера
- `base_price` float
- базовая цена статьи без учета комиссий
Дополнительно для вебмастера:
- `status` enum('nobody', 'pause', 'moderate', 'ready', 'approve')
- состояние площадки (см. ниже)
- `block_status` enum('transferred', 'active', 'pause', 'blocked', 'declined', 'deleted', 'approve')
- проблемы площадки (см. ниже)
- `rus_status`
- статус на русском. собирается из block_status и status
- `is_vip_site` tinyint(1)
- флаг VIP-площадки
- `domain_registered_at` date
- дата регистрации домена
- `metrika_id` int(11)
- идентификатор Я.Метрики
- `ga_id` int(11)
- идентификатор Google.Analitycs
- `articles_new_count` int(11)
- кол-во заявок ожидающих подтверждения
- `articles_wait_count` int(11)
- кол-во статей ожадающих размещения
- `articles_dropped_count` int(11)
- кол-во размещенных статей с проблемами
- `sb_google` enum('goog-malware-shavar', 'googpub-phish-shavar')
- наличие в базе SafeBrowsing Google
- `sb_yandex` enum('goog-malware-shavar', 'googpub-phish-shavar')
- наличие в базе SafeBrowsing Yandex
- `confirmation_code` varchar(16)
- код подтверждения владения площадкой
- `webmaster_price` float
- вознаграждение вебмастера за размещение обычной статьи.
Статусы площадки status / block_status
1. status
- nobody
- 'ничей', не подтверждены права
- pause
- 'на паузе',
- moderate
- 'на модерации',
- ready
- 'работает', # принимает заказы
- approve
- 'ждет подтверждения',
2. block_status - проблемы площадки:
- active
- не заблокирован, # принимает заказы
- blocked
- 'заблокирован',
- declined
- 'отклонен',
- deleted
- 'удален',
- approve
- 'слетели права',
- transferred
- 'передан', другому пользователю
Площадка принимает заказы в состоянии:
status == 'ready' && block_status == 'active'
Если block_status не равен "active", то на статус можно не смотреть, с площадкой определенно нельзя работать.
Статья
- `id` int(11)
- ID
- `ctime` timestamp
- дата создания объекта статьи
- `project_id` int(11)
- ID проекта
- `site_id` int(11)
- ID площадки
- `type` enum('anchor', 'non-anchor', 'img', 'serm', 'nofollow', 'own')
- тип статьи
- `status` enum('replace', 'new', 'confirmed', 'writing', 'edit', 'moderation', 'moderation_reject', 'wait', 'waitindex', 'ready', 'decline', 'replaced', 'cancel', 'rewrite', 'in_package', 'draft')
- состояние статьи (см. ниже)
- `block_status` enum('none', 'lost', 'noindex', 'lostlinks')
- проблемы статьи (см. ниже)
- `rus_status`
- статус на русском. собирается из block_status и status
- `themes` enum('site','project')
- тематика статьи площадки / проекта
- `title` varchar(255)
- заголовок статьи
- `body` text
- HTML-код статьи
- `url` varchar(2083)
- URL размещения статьи (без http://)
- `order_date` datetime
- опциональная дата создания заказа, может быть раньше ctime (см. ниже)
- `site_rating` int(11)
- рейтинг площадки на момент заказа
- `write_date` datetime
- дата написания
- `publication_date` datetime
- дата размещения статьи
- `google_index` tinyint(1)
- проиндексирована Google
- `yandex_index` tinyint(1)
- проиндексирована Yandex
- `index_date` datetime
- дата индексации статьи
- `deadline` datetime
- дедлайн на текущий статус: подтверждения (new), написания (копирайтера, write/edit), размещения (wait)
- `all_payed` tinyint(1)
- все вознаграждение за статью выплачено
- `replace_cause` enum('admin', 'webmaster_reject', 'webmaster_confirm_timeout', 'publication_timeout', 'webmaster_decline')
- причина отмены статьи (см. ниже)
- `rating` tinyint(4)
- оценка текста статьи
- `rating_comment` text
- комментарий к оценке
- `rating_date` datetime
- дата оценки
- `base_price` float
- базовая цена статьи без учета комиссий и типа статьи на момент заказа
Дополнительно для вебмастера:
- `bonus_time` datetime
- дедлайн получения бонуса за быстрое размещение
- `bonus_activated` tinyint(1)
- будет выплачен бонус за быстрое размещение
- `bonus_payed` tinyint(1)
- бонус выплачен
- `bonus_amount` decimal(16,4)
- сумма бонуса
order_date
Некоторые заказы формируются во внешних системах, а затем создаются в webartex. При создании статье устанавливается order_date, site_rating и цена на дату формирования заказа. Все дедлайны рассчитываются от ctime как обычно.
Статусы статьи status / block_status
1. status
Из любого статуса статья может перейти в статус replace или cancel.
- draft
- 'Черновик', в процессе создания, еще не оплачено
- new
- 'Новая', создана, ждет подтверждения
- confirmed
- 'Подтверждена', Подтверждена вебмастером
- writing
- 'На копирайтинге', # сразу при назначении копирайтера (writer_id)
- edit
- 'На копирайтинге', # после первого редактирования
- wait
- 'Ожидает размещения', передана на размещение вебмастеру, ждём url статьи
- waitindex
- 'Ожидает индексации', размещение по указанному url подтверждено, ждём индексации Я/G
- ready
- 'Размещена', начинаем выплаты по статье
- decline
- 'Отклонена', вебмастер отклонил статью. редактор может отправить на доработку или на переразмещение
- rewrite
- 'На доработку', статья дорабатывается копирайтером
- replace
- 'Переразмещение', нужно переразместить заказ на другую площадку
- replaced
- 'Заменена', статус старой статьи после размещения. архивный
- cancel
- 'Отменена'
2. block_status
- none
- нет проблем
- lost
- страница недоступна
- lostlinks
- не все ссылки в порядке
- noindex
- выпадение из индекса Я/G
- links_exists
- ссылки не удалены
Причина отмены статьи replace_cause
- admin
- отмена адмнистратором
- webmaster_reject
- вебмастер отклонил заявку
- webmaster_confirm_timeout
- вебмастер не подтвердил заявку
- publication_timeout
- дедлайн размещения
- webmaster_decline
- вебмастер отклонил статью
Методы API
Справочники
Список регионов
/api/webmaster/regionsCписок категорий
/api/webmaster/categoriesПлощадки
Список площадок
/api/webmaster/sites/listПросмотр площадки
/api/webmaster/sites/view/:idПроверка кода подтверждения площадки
/api/webmaster/sites/check_approve/:idПроверка подключения Яндекс.Метрики
/api/webmaster/sites/check_metrika/:idresult: "ok" и установка object.metrika_id > 0 означает успешное подключение.
Проверка подключения Google Analitycs
/api/webmaster/sites/check_ga/:idresult: "ok" и установка object.ga_id > 0 означает успешное подключение.
Постановка площадки на паузу
/api/webmaster/sites/set_pause/:id/:pause- :pause == 0 - снять с паузы
- :pause == 1 - поставить на паузу
Создание площадки
/api/webmaster/sites/create?url=domain.ruСтатьи
Список статей
- /api/webmaster/articles/list
- /api/webmaster/articles/list?site_ids=N1,N2,N3 - фильтр по site.id
- /api/webmaster/articles/list?status=new - заявки на подтверждение
- /api/webmaster/articles/list?status=wait - статьи на размещение
Просмотр статьи
/api/webmaster/articles/view/:idПринять заявку (в статусе new)
/api/webmaster/articles/accept/:idОтклонить заявку (в статусе new)
/api/webmaster/articles/reject/:idОпционально:
- ?message=Не принимаем конкурентов - причина отклонения
Разместить статью (в статусе wait|waitindex|ready)
/api/webmaster/articles/check/:id?url=http://domain.ru/pathОпционально:
- ?score=N - Оценка текста статьи N = 1-5.
- ?message=Пишите еще - комментарий к оценке.
Отклонить статью (в статусе wait)
/api/webmaster/articles/decline/:idОпционально:
- ?score=N - Оценка текста статьи N = 1-5.
- ?message=Проверьте ошибки - причина отклонения, что нужно доработать.
Оценить текст статьи
/api/webmaster/articles/rate/:id?score=NN = 1-5 - оценка
Опционально:
- ?message=Пишите еще - комментарий к оценке.