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 - ошибка на нашей стороне (пожалуйста свяжитесь с нашей поддержкой по почте support@rush-analytics.ru и мы оперативно все исправим

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 по ссылке

API работает формате json для проверки позиций

/***************************************************************** Создание проекта по проверке позиций*********************************************/

/*
Документацию можно найти здесь
https://www.rush-analytics.ru/apiv2/doc/

Базовый API URL-адрес
https://www.rush-analytics.ru/apiv2

URL для создания проекта проверки позиций

https://www.rush-analytics.ru/apiv2/create/fpp

Пример, для создания проекта проверки позиций и получение результата, и статус на PHP


function curl_fn($url,$post_args=false) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
if($post_args) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($post_args));
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec ($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close ($ch);
return array($http_code,$response);
}

$base_api_url = 'https://www.rush-analytics.ru/apiv2';

$api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Ваш 32х значный API ключ !!! ВВЕДИТЕ СВОЙ КЛЮЧ !!!
$keywords = array('wilgood'); // Массив строк - список ключевых слов, по которым вы хотите проверить позиции для домена

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

// Регион и язык для проверки позиций в Яндексе. В массиве с регионами Яндекса, у каждого региона должен быть выбран домен (.ru,.ua,.kz,.by)

$ya_region1 = new stdClass();
$ya_region1->type = '.ru';
$ya_region1->id = 213;
$ya_region1->lang = 'ru';

$ya_region2 = new stdClass();
$ya_region2->type = '.ru';
$ya_region2->id = 225;
$ya_region2->lang = 'ru';

// Регион и язык для проверки позиций в Google. В массиве с регионами Google, указывается региональный домен (.ru,.ua,.kz,.by)(.ru,.cz,.com,...) и язык

$go_region1 = new stdClass();
$go_region1->type = '.ru';
$go_region1->id = 21250;
$go_region1->lang = 'ru';

$yandex_regions = array(
$ya_region1,
$ya_region2,
);

$google_regions = array(
$go_region1,
);

$post_args = array(
'apikey' => $api_key,
'name' => $name,
'url' => $url,
'keywords' => $keywords,
'yandexRegions' => $yandex_regions,
'googleRegions' => $google_regions,
);

// url in format https://www.rush-analytics.ru/apiv2/create/fpp
$curl_ret = curl_fn($base_api_url . '/create/fpp', $post_args);

list($http_code,$json_response) = $curl_ret;
$json_decoded_response = json_decode($json_response);

// Создание проекта
if($http_code == 201) {
// Чтобы получить статус созданного проекта сделайте запрос с URL-адреса в формате https://www.rush-analytics.ru/apiv2/status/{type}/{id}?apikey={32char_api_key}
$curl_status_ret = curl_fn($base_api_url . '/status/' . $json_decoded_response->type . '/' . $json_decoded_response->id . '?apikey=' . $api_key);
list($http_code_status,$json_response_status) = $curl_status_ret;
$json_decoded_response_status = json_decode($json_response_status);

print 'Project created with id: ' . $json_decoded_response->id . '
';
print 'Project status: ' . $json_decoded_response_status->status;

}
// Не верно загружены данные в проект
if($http_code == 400) {
print 'Invalid input:
';
print $json_response;
}

?>
скачать код


Старый формат создания проектов по 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 ключ !!! ВВЕДИТЕ СВОЙ КЛЮЧ !!!

// Регион и язык для проверки позиций в Яндексе. В массиве с регионами Яндекса, у каждого региона должен быть выбран домен (.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', 'regionid' => 21250, regionlang' => 'ru'),
array('domain' => '.cz', 'regionid' => 21494, 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 работает формате json для проверки индексации

Руководство по работе с форматом json для сбора поисковых подсказок

https://www.rush-analytics.ru/apiv2

Руководство по работе с форматом SOAP

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

Параметры 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 - не собирать)
$swtype = 0; // Тип стоп слов: 0 - Фразовое соответствие, 1 - Символьное соответствие
$youtube = 1; // new parameter -0/1
$google_lang = 'en'; // Язык региона google
$youtube_country = '.com'; // Регион youtube
$youtube_lang = 'en'; // Язык региона youtube
$alpha_lang = 'en'; // язык выбранного алфавита для перебора символов

Ниже приведет пример 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 - не собирать)
$swtype = 0; // Тип стоп слов: 0 - Фразовое соответствие, 1 - Символьное соответствие
$youtube = 1; // new parameter -0/1
$google_lang = 'en'; // google language
$youtube_country = '.com'; // youtube country
$youtube_lang = 'en'; // youtube language
$alpha_lang = 'en'; // язык выбранного алфавита для перебора символов
скачать код

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


API работает формате json для проверки индексации

Руководство по работе с форматом json для проверки индексации https://www.rush-analytics.ru/apiv2


Руководство по работе с форматом SOAP

Создание проекта на проверку индексации выполняется аналогично другим модулям 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


API работает формате json для TOP10

Руководство по работе с форматом json для TOP10 https://www.rush-analytics.ru/apiv2


Руководство по работе с форматом SOAP

Создание проекта по сбору 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 обращайтесь в нашу поддержку -support@rush-analytics.ru - поможем и расскажем

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