API

MySitemapGenerator API – это специальный интерфейс для разработчиков, позволяющий интегрировать возможности нашего сервиса в сторонние веб-приложения. API предоставляет средства для управления аккаунтом пользователя – создание, получение и управление обновляемыми Sitemaps и RSS. Работа с API бесплатна для всех аккаунтов. Включить API и получить ключ можно в Вашем персональном аккаунте.

Ключ доступа не следует передавать третьим лицам или делать видимым в коде веб-страниц.

В целях обеспечения безопасности, при изменении e-mail или пароля, Ваш ключ API также изменяется.

Суточное ограничение на количество обращений к API - 500 запросов.

Если Ваш алгоритм интеграции требует частых обращений, мы рекомендуем использовать локальную базу данных для синхронизации данных, что позволит производить запросы только при необходимости.

Документация

Принцип использования API заключается в взаимодействии Вашего приложения с сервером mysitemapgenerator.com методом HTTP POST.

Все параметры должны передаваться в кодировке UTF-8. Ключ API должен быть передан в качестве POST-переменной с именем "api_key".

Ответ сервера приходит в формате JSON.

URL для отправки HTTP-запросов:

http://www.mysitemapgenerator.com/api/{METHOD}?format=json

где {METHOD} – название метода.

Результат вызова

Если вызов успешен, то объект будет содержать поле "result" со значением "success".

Пример ответа при успешном вызове метода:

{   "result":  "success",   "source_id":  9874   }

Признаком ошибки при выполнении метода является наличие в объекте поля "result" со значением "error". Кроме того, в случае возникновения ошибки, в ответе будет поле "notice", содержащее описание причины ошибки.

Пример ответа с ошибкой:

{   "result": "error", "notice": "invalid API key"   }

Работа с аккаунтом

getBalance
– возвращает доступный остаток средств на балансе (в USD). Успешный ответ будет содержать поле "balance".
Запрос:

    POST: http://www.mysitemapgenerator.com/api/getBalance?format=json HTTP/1.0\r\n
    .....
    \r\n
    api_key={yourAPIkey}

Пример ответа:
{   "result":  "success",   "balance":  9.8   }

Работа с обновляемыми Sitemaps

SitemapsGetList
– получить список обновляемых Sitemaps, содержит url и идентификатор (параметр "cid") для всех сайтов.
Запрос:

    POST: http://www.mysitemapgenerator.com/api/SitemapsGetList?format=json HTTP/1.0\r\n
    .....
    \r\n
    api_key={yourAPIkey}

Пример ответа:
{
    "result":  "success",
    "resources":  [
        {"cid": 12345, "url": "http://www.mysite1.com/"},
        {"cid": 12346, "url": "http://www.mysite2.com/"}
    ]
}

SitemapsGetFiles
- получить прямую ссылку для выгрузки Sitemap по идентификатору сайта. Если Sitemap разбит на части будут возвращены ссылки на все связанные файлы. Ссылки помещаются в массив "files".
Запрос:

    POST: http://www.mysitemapgenerator.com/api/SitemapsGetFiles?format=json HTTP/1.0\r\n
    .....
    \r\n
    api_key={yourAPIkey}&cid=12345

Пример ответа:
{
    "result":  "success",
    "files":  [
        "http://www.mysitemapgenerator.com/?action=download&xmlfile=12345"
    ]
}

SitemapsGetInfo
– получить информацию об обновляемом Sitemap по идентификатору сайта. Возвращает текущие статус ("work_status"), параметры индексации сайта (массив "params"), дату последней индексации в формате RFC 2822 ("last_scan").
Запрос:

    POST: http://www.mysitemapgenerator.com/api/SitemapsGetInfo?format=json HTTP/1.0\r\n
    .....
    \r\n
    api_key={yourAPIkey}&cid=12345

Пример ответа:
{
    "result":  "success",
    "last_scan": "Mon, 02 Sep 2013 07:00:02 +0300",
    "params":  [{
        "site_url": "http://www.mysite1.com/",
        "site_noindex": 1,
        "site_nofollow": 1,
        "site_robots": 1,
        "site_forms": 0,
        "site_frames": 0,
        "site_javascripts": 0,
        "site_canonical": 0,
        "site_useragent": "default",
        "site_priority": 1,
        "site_lastmod": 1,
        "site_lastmod_source": "default",
        "site_limit": 35000,
        "site_load": "middle",
        "site_images": 0,
        "site_turbo": 1,
        "send_email": 0
    }]
}

Параметры:
site_urlURL сайта.
site_noindex Число 0 или 1. Содержимое noindex:
  • 0 - не игнорировать.
  • 1 - игнорировать.
site_nofollow Число 0 или 1. Ссылки с noffolow
  • 0 - не игнорировать.
  • 1 - игнорировать.
site_robots Число 0 или 1. Интсрукции robots.txt:
  • 0 - не учитывать.
  • 1 - учитывать.
site_forms Число 0 или 1. Формы:
  • 0 - не индексировать.
  • 1 - индексировать.
site_frames Число 0 или 1. Фреймы:
  • 0 - не индексировать.
  • 1 - индексировать.
site_javascripts Число 0 или 1. Javascript:
  • 0 - не индексировать.
  • 1 - индексировать.
site_canonical Число 0 или 1. Канонические ссылки:
  • 0 - не учитывать.
  • 1 - учитывать.
site_useragent Строка "default", "yandex", "google" или "mysitemapgenerator". Определяет способ идентификации нашего робота.
  • default - браузер.
  • yandex - веб-поиск Яндекс.
  • google - веб-поиск Google.
  • mysitemapgenerator - наш робот.
site_priority Число 0 или 1. Тег priority:
  • 0 - не формировать.
  • 1 - формировать.
site_lastmod Число 0 или 1. Тег lastmod:
  • 0 - не формировать.
  • 1 - формировать.
site_lastmod_source Источник формирования тега lastmod - строка "server" или "default". Имеет смысл только при lastmod=1.
  • server - из ответа сервера.
  • default - по времени запроса.
site_limit Число 5000, 10000, 25000, 35000 или 50000. Разбивать Sitemap на части по заданому кол-ву url.
site_load Строка "max", "middle" или "min". Скорость/нагрузка при индексации:
  • max - максимум.
  • middle - средняя.
  • min - минимум.
site_images Число 0 или 1. Расширение протокола Google Sitemap-Image:
  • 0 - выключен.
  • 1 - включен.
site_turbo Число 0 или 1. Режим Турбо:
  • 0 - выключен.
  • 1 - включен.
send_email Число 0 или 1. Отправлять по Email:
  • 0 - не отправлять.
  • 1 - отправлять.

Работа с обновляемыми RSS

RssGetList
– получить список обновляемых RSS, содержит url и cid канала всех сайтов.
Запрос:

    POST: http://www.mysitemapgenerator.com/api/RssGetList?format=json HTTP/1.0\r\n
    .....
    \r\n
    api_key={yourAPIkey}

Пример ответа:
{
    "result":  "success",
    "resources":  [
        {"cid": 12345, "url": "http://www.mysite1.com/news/"},
        {"cid": 12346, "url": "http://www.mysite2.com/index.html"}
    ]
}

RssGetFile
- получить прямую ссылку для выгрузки RSS по идентификатору URL.
Запрос:

    POST: http://www.mysitemapgenerator.com/api/RssGetFile?format=json HTTP/1.0\r\n
    .....
    \r\n
    api_key={yourAPIkey}&cid=12345

Пример ответа:
{
    "result":  "success",
    "file":  "http://www.mysitemapgenerator.com/?action=ext&file=12345"
}

RssGetInfo
– получить информацию об обновляемом RSS по его идентификатору. Возвращает текущие статус ("work_status"), параметры обновления (массив "params"), дату последней индексации сайта в формате RFC 2822 ("last_scan") и сумму списанных с баланса средств ("last_cost").
Запрос:

    POST: http://www.mysitemapgenerator.com/api/RssGetInfo?format=json HTTP/1.0\r\n
    .....
    \r\n
    api_key={yourAPIkey}&cid=12345

Пример ответа:
{
    "result":  "success",
    "last_scan": "Mon, 02 Sep 2013 07:00:02 +0300",
    "params":  [{
        "found_url": "http://www.mysite1.com/news/",
        "found_mask": "",
        "items_limit": 20,
        "items_pubDate": "server",
        "channel_pubDate": "default",
        "channel_webMaster": "",
        "channel_image": "http://www.mysite1.com/logo.png",
        "encoding": "utf-8"
    }]
}

Параметры:
found_urlURL страницы.
found_maskСтрока, представляющая собой маску для выбора ссылок на странице.
items_limit Число 10, 20, 30 или 50. Кол-во добавляемых в RSS записей.
items_pubDate Источник формирования даты публикации новости - строка "server" или "default".
  • server - из ответа сервера.
  • default - по времени запроса.
channel_webMaster E-mail веб-мастера.
channel_image URL логотипа.
encoding Строка "windows-1251" или "utf-8".

Быстрый старт

PHP-класс для работы с MySitemapGenerator API:

Смотрите примеры использования класса или скачайте пример реализации в виде мини-библиотеки.