API для разработчиков

Данное руководство описывает API сервиса Rush Analytics, доступный через протокол SOAP 1.1.

SOAP (Simple Object Access Protocol) - протокол обмена данными в распределённой вычислительной среде посредством XML-сообщений.
Все методы, URL для доступа, типы и структуры данных описаны с помощью языка WSDL версии 1.1.

WSDL (Web Services Description Language) - язык описания веб-сервисов и доступа к ним, основанный на языке XML.
Сервис принимает сообщения и выдает на них ответы в формате SOAP. Элементами логической модели сообщения являются элементы и атрибуты XML.

На данный момент по API можно обращаться к следующим модулям сервиса:

ОБРАТИТЕ ВНИМАНИЕ: Регулярная проверка позиций не доступна по API за ненадобностью. По API можно получить только позицию по запросу, но нет доступа к существующим в сервисе проектам.

Основные сведения:

API принимает запросы по адресу: http://api.rush-analytics.ru/api.php?wsdl

С практической точки зрения - API передает ваши данные в Rush Analytics для создания проекта в системе, который встает в очередь на парсинг. Вы проверяете своим приложением статус проекта и как только проект готов - получаете результат

Цены на использование API:

Все цены идентичны обычному созданию проекта в Rush Analytics - цены доступны по ссылке

Коды ошибок, которые может возвращать API

Проверка позиции по запросу

ERROR_EMPTY_URL - отсутствует URL
ERROR_NO_PROVIDER - не задана поисковая система
ERROR_GOOGLE_REGIONS - не задан регион для Google
ERROR_YANDEX_REGIONS - не задан регион для Яндекса

Сбор Wordstat

ERROR_EMPTY_NAME - отсутствует имя проекта
ERROR_WS_NO_TYPE - отсутствует тип проекта (сбор левой колонки/сбор частотности)
ERROR_WS_ZERO_PAGES - не задано количество страниц для сбора левой колонки

Сбор подсказок

ERROR_EMPTY_NAME - отсутствует имя проекта
ERROR_NO_PROVIDER - не задана поисковая система
ERROR_SUG_EMPTY_GOOGLE_REGION - не задан регион для Google
ERROR_SUG_EMPTY_YANDEX_REGION - не задан регион для Яндекса
ERROR_SUG_NO_TYPE - отсутствует тип проекта (правила сбора данных)

Проверка индексации

ERROR_EMPTY_NAME - отсутствует имя проекта
ERROR_NO_PROVIDER - не задана поисковая система
ERROR_INDX_EMPTY_GOOGLE_REGION - не задан регион для Google
ERROR_INDX_EMPTY_GOOGLE_LANG - не задан регион для Яндекса

Сбор TOP10

ERROR_TOP10_NO_COUNTRY - не задана страна
ERROR_TOP10_NO_LANG - на задан язык
ERROR_TOP10_NO_REGION - не задан регион

Глобальные ошибки (для всех типов проектов)

ERROR_ZERO_KEYWORDS_COUNT - не задано количество ключевых слов (скорее всего забыли подать ключевые слова для парсинга)
ERROR_BAD_USERID - неверный API ключ
ERROR_IP_NOT_ALLOWED - вашему IP не разрешено обращаться к API. Чтобы добавить свой API к разрешенным - укажите его в личном кабинете (http://www.rush-analytics.ru/node/188 или оставьте поле с IP пустым - будет разрешен доступ с любого IP
ERROR_LOW_BALANCE - у вас недостаточно денег на балансе для сбора проекта
ERROR_SERVER - ошибка на нашей стороне (пожалуйста свяжитесь с нашей поддержкой по почте [email protected] и мы оперативно все исправим

ERROR_BAD_PROJECT_SESSIONID - неверная сессия проекта

Статусы ответов, которые может возвращать API

Возможные ответы нашего API: Код статус| дополнительная информация(без '')
'1'
'2'
'3'
'4|Ссылка на XLSX файл с результатом'
'6'
'7'

Например: '4|http://api.rush-analytics.ru/apioutput.php?type=1&sessionid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'


Расшифровка кодов ответа API:
1 - в очереди
2 - идет сбор данных
3 - ошибка
4 - Проект готов
6 - загрузка ключевых слов
7 - сохранение ключевых слов (генерация XLSX файла с результатом)

1. Получение позиций сайта по запросу через API Rush Analytics

Примеры готового кода вы можете взять из нашего репозитория на GitHub по ссылке

Ниже приведет пример PHP кода для получения позиций сайта по произвольным запросам.

/***************************************************************** Создание проекта по проверке позиций*********************************************/
/*
Наш API SOAP сервер
http://api.rush-analytics.ru/api.php?wsdl


*/ // Вам необходимо использовать любую SOAP библиотеку (Мы используем nusoap) http://sourceforge.net/projects/nusoap/
include('nusoap/nusoap.php'); // !!! ИЗМЕНИЕ ЭТО!!!

ini_set("soap.wsdl_cache_enabled", 0);
$wsdl="http://api.rush-analytics.ru/api.php?wsdl";
$api = new SoapClient($wsdl);
$api->response_timeout = 60000;


$hash = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Ваш 32х значный API ключ !!! ВВЕДИТЕ СВОЙ КЛЮЧ !!!

// Регион и язык для проверки позиций в Яндексе. В массиве с регионами Яндекса, у каждого региона должен быть выбран домен (.ru,.ua,.kz,.by)
$yaregions = array(
array('domain' => '.ru', 'regionid' => 213, 'regionlang' => 'ru'),
array('domain' => '.ru', 'regionid' => 225, 'regionlang' => 'ru'),
array('domain' => '.ua', 'regionid' => 145, 'regionlang' => 'ru'),
);
// Регион и язык для проверки позиций в Google. В массиве с регионами Google, указывается региональный домен (.ru,.ua,.kz,.by)(.ru,.cz,.com,...) и язык
$goregions = array(
array('domain' => '.ru', 'regionlang' => 'ru'),
array('domain' => '.cz', 'regionlang' => 'cs'),
);


$name = 'test api fpp';
$url = 'wilgood.ru';

$google = 1;
$yandex = 1;

// Массив строк - список ключевых слов, по которым вы хотите проверить позиции для домена
$keywords = array('wilgood', 'Схема проезда');

$response = $api->rushapi__create_fpp_project(
$hash,
$name,
$url,
$google,
$yandex,
$yaregions,
$goregions,
$keywords
);
/*
В переменную $response будет записано сообщение об ошибке или ID сессии вашего созданного проекта. СОХРАНИТЕ ID СЕССИИ чтобы в дальнейшем взаимодействовать с проектом: получить статус проекта или результат и т.д.

КОДЫ ОШИБОК ОПИСАНЫ В БАЗОВЫХ СВЕДЕНИЯХ ОБ API - В НАЧАЛЕ РУКОВОДСТВА
*/
if(strpos($response,'ERROR') !== false) {
// handle error
exit(1);
}
else {
$sessionid = $response;
}

$status = $api->rushapi__fpp_project_status($hash,$sessionid);
print $status;
скачать код

2. Получение поисковых подсказок по списку ключевых слов через API Rush Analytics

Получение поисковых подсказок по списку ключевых слов работает точно так же, как и получение позиций сайта по списку ключевых слов.

Параметры API, которые передаются для создания проект по сбору поисковых подсказок:

$name = 'test api suggest'; // Переменная отвечает за имя проекта
$yandex_region = '213'; // Код региона Яндекса
$google_country = '.ru'; // Региональный домен Google
$google = 1; // Сбор подсказок Google (1 - собирать, 0 - не собирать)
$yandex = 1; // Сбор подсказок Яндекс (1 - собирать, 0 - не собирать)
$mail = 1; // Сбор подсказок Mail.ru (1 - собирать, 0 - не собирать)
$maxdepth = 3; // Глубина парсинга (1-3)
$normal = 1; // Сбор подсказок по исходному ключевому слову (1 - собирать, 0 - не собирать)
$space = 1; // Сбор подсказок по исходному ключевому слову + пробел на конце (1 - собирать, 0 - не собирать)
$enalpha = 1; // Сбор подсказок по исходному ключевому слову + перебор английского алфавита (1 - собирать, 0 - не собирать)
$rualpha = 1; // Сбор подсказок по исходному ключевому слову + перебор русского алфавита (1 - собирать, 0 - не собирать)
$numalpha = 1; // Сбор подсказок по исходному ключевому слову + перебор цифр 0-9 (1 - собирать, 0 - не собирать)

Ниже приведет пример PHP кода:

/*
Наш API SOAP сервер
http://api.rush-analytics.ru/api.php?wsdl


*/ // Вам необходимо использовать любую SOAP библиотеку (Мы используем nusoap) http://sourceforge.net/projects/nusoap/
include('nusoap/nusoap.php'); // !!! ИЗМЕНИЕ ЭТО!!!

ini_set("soap.wsdl_cache_enabled", 0);
$wsdl="http://api.rush-analytics.ru/api.php?wsdl";
$api = new SoapClient($wsdl);
$api->response_timeout = 60000;


$hash = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Ваш 32х значный API ключ !!! ВВЕДИТЕ СВОЙ КЛЮЧ !!!

$name = 'test api suggest'; // Переменная отвечает за имя проекта
$yandex_region = '213'; // Код региона Яндекса
$google_country = '.ru'; // Региональный домен Google
$google = 1; // Сбор подсказок Google (1 - собирать, 0 - не собирать)
$yandex = 1; // Сбор подсказок Яндекс (1 - собирать, 0 - не собирать)
$mail = 1; // Сбор подсказок Mail.ru (1 - собирать, 0 - не собирать)
$maxdepth = 3; // Глубина парсинга (1-3)
$normal = 1; // Сбор подсказок по исходному ключевому слову (1 - собирать, 0 - не собирать)
$space = 1; // Сбор подсказок по исходному ключевому слову + пробел на конце (1 - собирать, 0 - не собирать)
$enalpha = 1; // Сбор подсказок по исходному ключевому слову + перебор английского алфавита (1 - собирать, 0 - не собирать)
$rualpha = 1; // Сбор подсказок по исходному ключевому слову + перебор русского алфавита (1 - собирать, 0 - не собирать)
$numalpha = 1; // Сбор подсказок по исходному ключевому слову + перебор цифр 0-9 (1 - собирать, 0 - не собирать)
скачать код

3. Сбор левой колонки/проверка частотности Wordstat через API Rush Analytics

Получение частотностей/ключевых слов из левой колонки Worstat работает по той же логике, как и получение позиций сайта по списку ключевых слов.

Параметры API, которые передаются для создания проект по сбору поисковых подсказок:

$regionid = '213'; //код региона Яндекс Wordstat
$name = 'test api wordstat'; //Имя проекта
$collecttype = 1; // Тип сбора данных 0:сбор частотностей ключевых слов, type 1: Сбор левой колонки Wordstat
$pages = 3; // Сколько нужно спарсить страниц левой колонки Wordstat (0-10 или 40(все)); Если выбран парсинг частотнности - 0, эта переменная не нужна
$normal = 1; // Базовая частотность - без кавычек и ! (0/1)
$quotationmark = 0; // Частотность в кавычках, например "автосервис" (0/1)
$exclamation = 1; // Точная частотность, например: "!автосервис"
$minwordstat = 1; // Автоматически подставить 0 для частотностей вида "автосервис" и "!автосервис", если базовая частотность меньше чем значение этой переменной
$swtype = 0; // Тип стоп слов: 0 - Фразовое соответствие, 1 - Символьное соответствие
$altfreq = 0; // Учитывать порядок слов [] (0/1)
/*
Наш API SOAP сервер
http://api.rush-analytics.ru/api.php?wsdl


*/ // Вам необходимо использовать любую SOAP библиотеку (Мы используем nusoap) http://sourceforge.net/projects/nusoap/
include('nusoap/nusoap.php'); // !!! ИЗМЕНИЕ ЭТО!!!

ini_set("soap.wsdl_cache_enabled", 0);
$wsdl="http://api.rush-analytics.ru/api.php?wsdl";
$api = new SoapClient($wsdl);
$api->response_timeout = 60000;


$hash = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Ваш 32х значный API ключ !!! ВВЕДИТЕ СВОЙ КЛЮЧ !!!


$regionid = '213'; //код региона Яндекс Wordstat
$name = 'test api wordstat'; //Имя проекта
$collecttype = 1; // Тип сбора данныз 0:сбор частотностей ключевых слов, type 1: Сбор левой колонки Wordstat
$pages = 3; // Сколько нужно спарсить страниц левой колонки Wordstat (0-10 или 40(все)); Если выбран парсинг частотнности - 0, эта переменная не нужна
$normal = 1; // Базовая частотность - без кавычек и ! (0/1)
$quotationmark = 0; // Частотность в кавычках, например "автосервис" (0/1)
$exclamation = 1; // Точная частотность, например: "!автосервис"
$minwordstat = 1; // Автоматически подставить 0 для частотностей вида "автосервис" и "!автосервис", если базовая частотность меньше чем значение этой переменной
$swtype = 0; // Stopwords type: 0 - Фразовое соответствие, 1 - Символьное соответствие
$altfreq = 0; // Учитывать порядок слов [] (0/1)
// Массив строк - ключевые слова, по которым вы хотите собрать данные и стоп-слова
$keywords = array('wilgood', 'Схема проезда');
$stopwords = array('сервис');

$response = $api->rushapi__create_wordstat_project(
$hash,
$name,
$regionid,
$collecttype,
$pages,
$normal,
$quotationmark,
$exclamation,
$minwordstat,
$keywords,
$stopwords,
$swtype,
$altfreq
);

if(strpos($response,'ERROR') !== false) {
// handle error
exit(1);
}
else {
$sessionid = $response;
}

$status = $api->rushapi__wordstat_project_status($hash,$sessionid);
print $status;
скачать код

4. Проверка индексации страниц через API Rush Analytics

Создание проекта на проверку индексации выполняется аналогично другим модулям Rush Analytics.

Файл с результатом будет содержать список посланных на проверку URL и значение 1/0 - в индексе/не в индексе.

/*
Наш API SOAP сервер
http://api.rush-analytics.ru/api.php?wsdl


*/ // Вам необходимо использовать любую SOAP библиотеку (Мы используем nusoap) http://sourceforge.net/projects/nusoap/
include('nusoap/nusoap.php'); // !!! ИЗМЕНИЕ ЭТО!!!

ini_set("soap.wsdl_cache_enabled", 0);
$wsdl="http://api.rush-analytics.ru/api.php?wsdl";
$api = new SoapClient($wsdl);
$api->response_timeout = 60000;


$hash = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Ваш 32х значный API ключ !!! ВВЕДИТЕ СВОЙ КЛЮЧ !!!


$name = 'test api indexation';
$google_country = '.ru';
$google_lang = 'ru';
$google = 1;
$yandex = 1;


// Массив строк - URL, которые хотите проверить на индексацию (можно проверять URL разных доменов в одном проекте)
$urls = array('http://www.wilgood.ru','http://wilgood.ru/o-kompanii');

$response = $api->rushapi__create_indexation_project(
$hash,
$name,
$google,
$yandex,
$google_country,
$google_lang,
$urls
);


if(strpos($response,'ERROR') !== false) {
// handle error
exit(1);
}
else {
$sessionid = $response;
}

$status = $api->rushapi__indexation_project_status($hash,$sessionid);
print $status;

скачать код

5. Сбор TOP10 URL через API Rush Analytics

Создание проекта по сбору TOP10 URL выполняется аналогично другим модулям Rush Analytics.

Файл с результатом будет содержать список посланных в систему запросов и TOP10 URL из поисковой системы.

Параметры API, которые передаются для создания проекта по сбору TOP10 URL:

include_once('nusoap.php');
ini_set("soap.wsdl_cache_enabled", 0);
$wsdl="http://www.rush-analytics.ru/api.php?wsdl";
$api = new SoapClient($wsdl);
$api->response_timeout = 60000;
$hash = 'xxxxxxxxxxxxxxxxxxxxxx'; // Ваш 32х значный API ключ !!! ВВЕДИТЕ СВОЙ КЛЮЧ !!!
$name = 'test api top10 go 1'; // Переменная отвечает за имя проекта
// Если поисковая система Google
$provider = 1;
// Если поисковая система Yandex
$provider = 0;
$country = '.ru'; // Страна
$region = ''; // Регион для поисковой системы Google оставляем пустым
$region = 213; // Регион для поисковой системы Yandex 213 Для Москвы, 225 for для России, ...
$lang = 'ru'; // Язык
$newlogic = 1; // Эксперт опция для сбора данных в Google (0/1)
// в поисковой системе Google
$params = array(
1, // Количество найденных документов
0, // Собрать ключевые слова
0,
0,
0,
20 // Глубина (10,20,30,40,50,60,70,80,90,100)
);
// if yandex
$params = array(
0, // Количество найденных документов
0, // Собрать ключевые слова
0, // Сбор количества объявлений в Яндекс Директ
1, // Регион
1, // Подсчитать расширенные сниппеты
20 // Глубина (10,20,30,40,50,60,70,80,90,100)
);
$keywords = array('wilgood','wilbad');
$test = $api->rushapi__create_top10_project($hash, $name, $keywords, $provider, $country, $region, $lang, $newlogic, $params);
if(strpos($test,'ERR') !== false) {
// Собирать ошибки
}
else {
$sessionid = $test;
}
$test = $api->rushapi__top10_project_status($hash,$sessionid);
var_dump($test);
?>
скачать код

6. Проверка баланса через API Rush Analytics

API запрос на проверку баланса:

/*
Наш API SOAP сервер
http://api.rush-analytics.ru/api.php?wsdl


*/ // Вам необходимо использовать любую SOAP библиотеку (Мы используем nusoap) http://sourceforge.net/projects/nusoap/
include('nusoap/nusoap.php'); // !!! ИЗМЕНИЕ ЭТО!!!

ini_set("soap.wsdl_cache_enabled", 0);
$wsdl="http://api.rush-analytics.ru/api.php?wsdl";
$api = new SoapClient($wsdl);
$api->response_timeout = 60000;


$hash = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Ваш 32х значный API ключ !!! ВВЕДИТЕ СВОЙ КЛЮЧ !!!


$test = $api->rushapi__get_balance($hash); // Проверка баланса
var_dump($test); // Сумма

По любым вопросам работы API обращайтесь в нашу поддержку [email protected] - поможем и расскажем

Зарегистрируйтесь сегодня и получите 200 рублей на счет!