05 января 2021

Мы завершили развитие RDS Bar версии 6, первой общей версии расширения для всех браузеров. Это был достаточно сложный и не стабильный этап развития,...

22 января 2018

С момента появления панели инструментов RDS прошло много времени. Изначально он предполагался как Toolbar с SEO инструментами, предназначенный только...

22 января 2018

A lot of time has passed since the RDS toolbar appeared. Initially it was intended as a Toolbar with SEO tools, designed only for Mozilla Firefox....

Работа с API

API сайта recipdonor.com позволяет разработчикам различных приложений использовать ресурсы сервера для массовой проверки любых seo-параметров без бана, каптчей, таймаутов, поиска прокси, смены верстки поисковых машин, проблем парсинга значений, предоставления их в нужном формате и прочего. Все это будет происходить за счет сторонних ресурсов других серверов.

На рынке в данный момент существует достаточно онлайн сервисов и программ для получения различных seo-параметров, решающие разные задачи. Их разработчики постоянно сталкиваются с однотипными и повседневными проблемами, такими как распарсивания значений, бана и работы с большим объемом данных. Все это задерживает их разработку, и превращает в рутину или убивает идею на корню.

Все эти проблемы мы берем на себя, и вы сможете получать любые seo-значения напрямую от нас.

  • Тестовая страница RESTful API, которая позволяет посылать тестовые запросы (JSON/XML) и получать ответы от RDS API сервера.

Библиотека .NET для работы с API

  • Версия 1.1906.12.1940 Скачать
    Для работы необходим Microsoft .NET Framework 2.0 и выше.
  • Документация Скачать  Online
    При попытке открыть фаил скомпилированной справки HTML (.chm) содержимое может отображаться неверно:
    • Переход на веб-страницу был отменен.
    • Действие отменено.

    Чтобы устранить эту проблему, выполните следующие шаги.
    • Щелкните правой кнопкой мыши.CHM файл и выберите Свойства
    • На вкладке Общие нажмите кнопку с надписью «Разблокировать»
    • Нажмите кнопку ОК
    Пример работы:
    CSharp:
    
            /// <summary>
            /// Синхронный пример работы 
            /// </summary>
            public static void SyncExample()
            {
                //пример создания проверки без событий
                ICheck CyCheckerWithoutEvents = new CyCheck(new[] {"helloworld.ru"});
                string ApiKey = "ApiKey from RDS";
                CyCheckerWithoutEvents.Start(ApiKey);
            }
    
            /// <summary>
            /// Асинхронный пример работы
            /// </summary>
            public static void AsyncExample()
            {
                //пример создания проверки c событиями
                ICheck CyCheckerEvents = new CyCheck(new[] 
                 { "helloworld.ru","ya.ru" }, ProgressChanged, StateChanged);
                //ApiKey - берется из Пользовательской 
                  инфы на сайте RDS
                string ApiKey ="ApiKey from RDS";
                //запуск асинхронной проверки, во время работы 
                  будут возникать события 
                ProgressChanged-изменения 
                     кол-ва проверенных, 
                //StateChanged - изменение состояния сесси
                IAsyncResult asyncResult=
                 CyCheckerEvents.StartAsync(ApiKey);
                //Принудительная остановка проверки
                CyCheckerEvents.CloseAsync();
                //ожидание остановки
                while (!asyncResult.AsyncWaitHandle.WaitOne(1000)) { }
                //Продолжение этой же проверки в 
                     синхронном режиме
                CyCheckerEvents.Start();            
                
                Console.ReadKey();
            }
    
            /// <summary>
            /// Обработка события изменения кол-ва 
                проверенных данных
            /// </summary>
            /// <param name="sender">обьект ICheck</param>
            /// <param name="progressChangedEventArgs">
                     аргументы изм. проверки</param>
            static void ProgressChanged(object sender, ProgressChangedEventArgs 
                     progressChangedEventArgs)
            {
                
            }
    
            /// <summary>
            /// Обработка события изменения 
                     состояния проверки
            /// </summary>
            /// <param name="sender">обьект ICheck</param>
            /// <param name="stateChangedEventArgs">
                     аргумент изм. состояния</param>
            static void StateChanged(object sender, StateChangedEventArgs 
                     stateChangedEventArgs)
            {
                switch (stateChangedEventArgs.NewStatus)
                {
                    case TaskStatus.Completed:
                        foreach (KeyValuePair<object,object> keyValuePair 
                     in ((ICheck)sender).Result)
                        {
                            Console.WriteLine("itemTocheck - {0},Result - {1}"
                     ,keyValuePair.Key,keyValuePair.Value);
                        }
                        foreach (KeyValuePair<string,CyApiData> keyValuePair 
                     in ((CyCheck) sender).Result)
                        {
                            Console.WriteLine("itemTocheck - {0},Result - {1}"
                     , keyValuePair.Key, 
                             String.Format("{0},{1},{2}", 
                     keyValuePair.Value.Cy,
                     keyValuePair.Value.YaBarMirrow,
                     keyValuePair.Value.Yaca)); 
                        }
                        break;
                }
            }
            

Общие данные:

REST интерфейс доступен по адресу http://62.149.1.74:977/api/ для задач по сессиям и http://www.recipdonor.com:998/api/ для bulk.

Обращаться необходимо на 977-й, 998-й.

Все строковые данные при работе с интерфейсом указываются и возвращаются в кодировке UTF-8.

Максимальный размер запроса к сервису равен 65 килобайт.

Для большинства параметров можно значительно увеличить скорость проверки, если в одной сессии проверять не по 1 му, а по 100-200 сайтов/страниц.

Если у вас возникли вопросы по работе с API, пишите на адрес support@recipdonor.com

Описание параметров и их стоимость:

 

     

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

Если вам необходимы какие-то дополнительные параметры или в API нужно вносить какие-то корректировки для удобства работы – не бойтесь связываться с нами для оперативных консультаций и разъяснений непонятных моментов. Также можете присылать Ваши вопросы и пожелания на support@recipdonor.com или воспользоваться обратной связью.

Авторизация

В API используется Basic HTTP Authentication.

Чтобы получить права доступа, клиент посылает API ключ пользователя (apikey) и символ двоеточия (":").

f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4:x

Строку необходимо закодировать в base64. Конечный Authorization header имеет вид:

Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=

Пример простого запроса:

GET /api/age/test.com HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: text/xml; charset=utf-8
Host: recipdonor.com:977

API ключ можно получить в профайле по ссылке

Партнерский ключ приложения

Разработчики использующие API recipdonor.com в своих приложениях могут получать партнерские отчисления.

Для этого доcтаточно добавить Ваш API-ключ приложения в запросы которые посылаются к нашему API.

Ключ в запрос добавляется в виде HTTP Header:

X-RdsAppKey : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Окончательно сформированный запрос может выглядеть примерно так:

GET /api/age/test.com HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: text/xml; charset=utf-8
X-RdsAppKey : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Host: recipdonor.com:977

Если вы используете нашу клиентскую библиотеку то достаточно добавить в фаил App.config Вашего приложения, строчки:

<configuration>
	<appSettings>
		<add key="dllApi.RdsAppKey" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"/>
	</appSettings>
</configuration>

Если в конфигурационном фаиле уже существуют разделы configuration/appSettings просто добавте строчку в них.

API-ключ приложения можно получить в профайле по ссылке

Статистику по партнерским отчислениям можно посмотреть здесь

Форматы данных

RDS API для получения и выдачи данных использует форматы JSON и XML. По умолчанию используется формат XML. Для переключения на формат JSON в строку запроса необходимо добавить параметр

format=json

В конечном итоге строка будет иметь вид

/api/age/test.com?format=json

Также необходимо учесть, что при использовании XML нужно передавать заголовок,

Content-Type: text/xml; charset=utf-8

а при использовании JSON

Content-Type: application/json; charset=utf-8

Коды ошибок

400 Bad RequestНеверно сформирован запрос.
401 UnauthorizedНеверный API ключ или неправильно сформирован заголовок Authorization.
402 Payment RequiredНедостаточно средств на счету для выполнения запроса.
404 Not FoundМетод не найден. Проверьте имя вызываемого метода.
411 Length RequiredЗаголовок Content-Length не указан.
500 Internal Server ErrorБолее подробное описание ошибки смотрите во внутреннем сообщении.
Проверка тИЦ, Я.Каталог и Зеркало
Стоимость:0,2$ за 1000 запросов

Для осуществления проверки тИЦ используются два API метода /session/new и /session/get.

В примере мы проверим на тИЦ сразу несколько сайтов mozilla.com, mozilla.ru, google.com, msdn.microsoft.com. Инициализация проверки осуществляется методом /session/new.

Создадим проверку послав в API запрос вида

PUT /api/session/new HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: text/xml; charset=utf-8
Host: recipdonor.com:977
Content-Length: 312

<InitSession>
    <Parameters>
        <TaskVariant>Cy</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>mozilla.com</string>
        <string>mozilla.ru</string>
        <string>google.com</string>
        <string>msdn.microsoft.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Для случая запроса в JSON формате:

PUT /api/session/new HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: application/json; charset=utf-8
Host: recipdonor.com:977
Content-Length: 312

{
   "Parameters": [
      "Cy"
   ],
   "DomainNames": [
        "mozilla.com",
        "mozilla.ru",
        "google.com",
        "msdn.microsoft.com"
   ]
}

HTTP заголовок Authorization описан в разделе Авторизация

Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=

Справочные данные по методу /session/new

После выполнения запроса мы получим ответ,

<ApiSessionItemSlimContract>
    <Id>f1218977-7a63-43eb-8e5c-a272ffb3886e</Id>
    <ExpireAt>2014-12-18T20:24:50.8100568+02:00</ExpireAt>
    <Progress>0</Progress>
    <SessionStatus>ToCheck</SessionStatus>
</ApiSessionItemSlimContract>

Для случая запроса в JSON формате:

{
  "Id":"2044f516-1095-4a98-9bfa-84e48851597b",
  "ExpireAt":"2015-01-27T17:10:23.1201276+02:00",
  "Progress":0,
  "SessionStatus":"AtChecking"
}

что говорит об успешном создании сессии проверки

Id - уникальный идентификатор сессии
ExpireAt - сессия будет уничтожена в указанное время
SessionStatus - Статус ToCheck говорит нам о том, что сессия поставлена на проверку

Системе на проверку параметра тИЦ может уйти некоторое время, ответ вы можете получить не сразу.

Для получения результатов проверки необходимо использовать метод /session/get

Формируем запрос

GET http://recipdonor.com:977/api/session/get/f1218977-7a63-43eb-8e5c-a272ffb3886e HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: text/xml; charset=utf-8
Host: recipdonor.com:977

Получаем ответ вида

<ApiSessionItemContract>
    <Id>f1218977-7a63-43eb-8e5c-a272ffb3886e</Id>
    <ExpireAt>2014-12-18T20:24:52.9004605+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>mozilla.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Cy</Parameter>
                    <Value xsi:type="CyApiData">
                        <Cy>12000</Cy>
                        <Yaca>0</Yaca>
                        <YaBarMirrow>0</YaBarMirrow>
                    </Value>
                </Data>
            </Values>
        </DomainData>
        <DomainData IsValid="true">
            <DomainName>mozilla.ru</DomainName>
            <Values>
                <Data>
                    <Parameter>Cy</Parameter>
                    <Value xsi:type="CyApiData">
                        <Cy>-666</Cy>
                        <Yaca>0</Yaca>
                        <YaBarMirrow>0</YaBarMirrow>
                    </Value>
                </Data>
            </Values>
        </DomainData>
        <DomainData IsValid="true">
            <DomainName>google.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Cy</Parameter>
                    <Value xsi:type="CyApiData">
                        <Cy>190000</Cy>
                        <Yaca>Hi-Tech/Интернет/Поисковые системы</Yaca>
                        <YaBarMirrow>1</YaBarMirrow>
                    </Value>
                </Data>
            </Values>
        </DomainData>
        <DomainData IsValid="true">
            <DomainName>msdn.microsoft.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Cy</Parameter>
                    <Value xsi:type="CyApiData">
                        <Cy>6400</Cy>
                        <Yaca>Hi-Tech/Программы/Операционные системы/Windows</Yaca>
                        <YaBarMirrow>0</YaBarMirrow>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>

Для случая запроса в JSON формате:

{
  "Domains":[
    {
      "IsValid":true,
      "DomainName":"mozilla.com",
      "Values":[
        {
          "Parameter":"Cy",
          "Value":{
            "Cy":12000,
            "Yaca":"0",
            "YaBarMirrow":0
          },
          "Errors":null
        }
      ]
    },
    {
      "IsValid":true,
      "DomainName":"mozilla.ru",
      "Values":[
        {
          "Parameter":"Cy",
          "Value":{
            "Cy":-666,
            "Yaca":"0",
            "YaBarMirrow":0
          },
          "Errors":null
        }
      ]
    },
    {
      "IsValid":true,
      "DomainName":"google.com",
      "Values":[
        {
          "Parameter":"Cy",
          "Value":{
            "Cy":190000,
            "Yaca":"Hi-Tech/Интернет/Поисковые системы",
            "YaBarMirrow":1
          },
          "Errors":null
        }
      ]
    },
    {
      "IsValid":true,
      "DomainName":"msdn.microsoft.com",
      "Values":[
        {
          "Parameter":"Cy",
          "Value":{
            "Cy":6600,
            "Yaca":"Hi-Tech/Программы/Операционные системы/Windows",
            "YaBarMirrow":0
          },
          "Errors":null
        }
      ]
    }
  ],
  "Id":"2044f516-1095-4a98-9bfa-84e48851597b",
  "ExpireAt":"2015-01-27T17:10:50.700976+02:00",
  "Progress":100,
  "SessionStatus":"Completed"
}

Наибольший интерес для нас представляют данные из тегов <Value xsi:type="CyApiData">

Cy - значение тИЦ (-666 = склеен, -40 = АГС)
Yaca - Я.Каталог ( 0 = не присутствует в Я.Каталог)
YaBarMirrow - зеркало

<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>Cy</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>mozilla.com</string>
        <string>mozilla.ru</string>
        <string>google.com</string>
        <string>msdn.microsoft.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Получение истории тИЦ, Индекс Я и Google PageRank
Стоимость:1,0$ за 1000 запросов

Множественное получение истории проверок (также присутствует возможность использовать параметры фильтров) возможно используя функцию /historybulk/siteslibrary.

Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса /historybulk/count/siteslibrary (такая проверка бесплатная).

Пример запроса множественного получения истории (в данном примере истории тИЦ для одного из сайтов и истории Индекс Я для другого)

<ArrayOfHistoryInit>
    <HistoryInit>
        <Url>nnsdaasdasdasdm.ru</Url>
        <HistoryType>CyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>false</OnlyDates>
        <MaxCount xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <DatesVariety>
            <Dates>
                <dateTime>2011-12-12T00:00:00</dateTime>
                <dateTime>2012-01-24T00:00:00</dateTime>
                <dateTime>2011-12-26T00:00:00</dateTime>
            </Dates>
            <DatesThrough>
                <DateInterval>
                    <BeginDate>2011-10-21T00:00:00</BeginDate>
                    <EndDate>2012-01-03T00:00:00</EndDate>
                </DateInterval>
            </DatesThrough>
        </DatesVariety>
    </HistoryInit>
    <HistoryInit>
        <Url>aabrahaasdasdasdabr.com</Url>
        <HistoryType>IyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>true</OnlyDates>
        <MaxCount xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
        <DatesVariety>
            <Dates>
                <dateTime>2011-12-26T00:00:00</dateTime>
                <dateTime>2006-12-12T00:00:00</dateTime>
            </Dates>
            <DatesThrough>
                <DateInterval>
                    <BeginDate>2011-10-21T00:00:00</BeginDate>
                    <EndDate>2012-01-03T00:00:00</EndDate>
                </DateInterval>
            </DatesThrough>
        </DatesVariety>
    </HistoryInit>
</ArrayOfHistoryInit>
[
  {
    "Url":"aif.ru",
    "HistoryType":"PrHistory",
    "OnlyDifferent":true,
    "OnlyDates":false,
    "DatesVariety":{
      "Dates":[
        "2015-01-16T10:58:00",
        "2013-11-08T15:18:00",
        "2012-02-08T09:53:00"
      ]
    }
  }
]

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

Url - доменное имя.

HistoryType - тип истории. В случае xml запроса может принимать значения: CyHistory - для проверки тИЦ, PrHistory - Google PageRank, IyHistory - Индекс Я. Для Json числовые значения 63, 64, 65 соотвественно.

OnlyDifferent - bool параметр, при true выбираются только те даты, где произошли изменения значений параметра, при false выбираются все.

OnlyDates - bool параметр, при true - получаются только даты проверок без значений (при этом оплата не взымается), при false получаются и даты и значения (такая проверка платная).

MaxCount - максимальное возвращаемое кол-во результатов.

DatesVariety - контейнер в котором можно указать параметры выборки с учетом дат, может содержать в себе Dates - в котором указываются значения дат проверки в которые Вы хотите получить, а также DatesThrough - содержит в себе периоды дат (DateInterval - содержащий начальное и конечное значения) значения проверок в которые Вы хотите получить.

Пример ответа на запрос множественного получения истории (в данном примере истории тИЦ для одного из сайтов и истории Индекс Я для другого)

<ArrayOfHistoryBulkResult>
    <HistoryBulkResult>
        <Url>nnsdaasdasdasdm.ru</Url>
        <HistoryType>CyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>false</OnlyDates>
        <HistoryItems>
            <HistoryItem>
                <Date>1999-05-31T11:20:00</Date>
                <Value>2147483647</Value>
            </HistoryItem>
            <HistoryItem>
                <Date>1999-05-31T11:20:00</Date>
                <Value>2147483647</Value>
            </HistoryItem>
        </HistoryItems>
        <ResultsCount>2</ResultsCount>
    </HistoryBulkResult>
    <HistoryBulkResult>
        <Url>aabrahaasdasdasdabr.com</Url>
        <HistoryType>IyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>true</OnlyDates>
        <HistoryItems>
            <HistoryItem>
                <Date>1999-05-31T11:20:00</Date>
                <Value xsi:nil="true"/>
                <Yaca xsi:nil="true"/>
            </HistoryItem>
            <HistoryItem>
                <Date>1999-05-31T11:20:00</Date>
                <Value xsi:nil="true"/>
                <Yaca xsi:nil="true"/>
            </HistoryItem>
        </HistoryItems>
        <ResultsCount>2</ResultsCount>
    </HistoryBulkResult>
</ArrayOfHistoryBulkResult>
[
  {
    "Url":"aif.ru",
    "HistoryType":"PrHistory",
    "OnlyDifferent":false,
    "OnlyDates":false,
    "HistoryItems":[
      {
        "Date":"2015-01-16T10:58:00",
        "Value":7,
        "Yac":null
      },
      {
        "Date":"2013-11-08T15:18:00",
        "Value":3,
        "Yac":null
      },
      {
        "Date":"2012-02-08T09:53:00",
        "Value":0,
        "Yac":null
      }
    ],
    "ResultsCount":3,
    "State":"None"
  }
]

В ответе одноименные параметры с запросом, просто копируются из запроса.

HistoryItems - результаты проверок, где Date - дата проверки, Value - значение, Yaca - наличие в Яндекс каталоге(заполнена в случае проверки тИЦ).

ResultsCount - Кол-во результатов

В случае запроса на получение кол-ва результатов /historybulk/count/siteslibrary запрос абсолютно аналогичен, ответ тоже анологичен за исключением того, что массив HistoryItems будет пустой, а заполнен только ResultsCount.

Историю значений, также можно получить используя функцию /history/siteslibrary, в этом случае посылается Get запрос и данные получаются только для одного домена и одного типа истории.

Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса /history/count/siteslibrary.

Запросы для получения кол-ва значений выглядят следующим образом

history/count/siteslibrary/cy/example.com
history/count/siteslibrary/pr/example.com
history/count/siteslibrary/iy/example.com

Запрос для получения истории тИЦ

history/siteslibrary/cy/example.com

Я.Индекс

history/siteslibrary/iy/example.com

Google PageRank

history/siteslibrary/pr/example.com

Запросы для получения {count} значений выглядят следующим образом

history/siteslibrary/cy/example.com/{count}
history/siteslibrary/pr/example.com/{count}
history/siteslibrary/iy/example.com/{count}
В обоих случаях получаем ответ вида
<ArrayOfHistoryItem>
    <HistoryItem>
        <Date>1999-05-31T11:20:00</Date>
        <Value>15</Value>
    </HistoryItem>
    <HistoryItem>
        <Date>1999-05-31T11:20:00</Date>
        <Value>22</Value>
    </HistoryItem>
</ArrayOfHistoryItem>
// Для истории bulk
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// Формируем XML
$post_data = "
<ArrayOfHistoryInit>
<HistoryInit>
<Url>nnsdaasdasdasdm.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<MaxCount xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" />
<DatesVariety>
<Dates>
<dateTime>2011-12-12T00:00:00</dateTime>
<dateTime>2012-01-24T00:00:00</dateTime>
<dateTime>2011-12-26T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval></DatesThrough>
</DatesVariety>
</HistoryInit>
<HistoryInit>
<Url>aabrahaasdasdasdabr.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<MaxCount xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" />
<DatesVariety>
<Dates>
<dateTime>2011-12-26T00:00:00</dateTime>
<dateTime>2006-12-12T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval>
</DatesThrough>
</DatesVariety>
</HistoryInit>
</ArrayOfHistoryInit>
";

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/historybulk/siteslibrary");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_POST, true);
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($post_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

// Посылаем запрос
$wmData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

// Обрабатываем пришедший ответ
$histXmlData = new SimpleXMLElement($wmData);



// Выводим пришедшие данные
foreach($histXmlData->HistoryBulkResult as $histResult)
{
    // Доменное имя
    echo $histResult->HistoryType.PHP_EOL;    
    echo $histResult->Url.PHP_EOL;   
	
    foreach($histResult->HistoryItems->HistoryItem as $histItem)
    {
        echo $histItem->Date.PHP_EOL;                
        echo $histItem->Value.PHP_EOL;                
       
    }
    echo PHP_EOL;
}
?>

// Для простой истории (не множественной)

<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Стоимость $ одной проверки 
define("oneItemCost", 0.005);

// Инициализируем запрос
//  /history/count/siteslibrary/cy/microsoft.com - для тИЦ
//  /history/count/siteslibrary/iy/microsoft.com - для Индекс Я
//  /history/count/siteslibrary/pr/microsoft.com - для Google PageRank

$ch = curl_init("http://recipdonor.com:998/api/history/count/siteslibrary/cy/microsoft.com?format=json");

// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Посылаем запрос, принимаем ответ отсекаем utf-8 BOM 
$responseData = substr(curl_exec($ch),3);
$historyItemsCount = json_decode($responseData);

$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

// Выводим стоимость проверки
echo "The cost of check = $".(oneItemCost * $historyItemsCount);
echo PHP_EOL;

// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/history/siteslibrary/cy/microsoft.com?format=json");

// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Посылаем запрос, получаем ответ, отсекаем utf-8 BOM
$historyItems = json_decode(substr(curl_exec($ch),3));
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

// Выводим результат
foreach($historyItems as $hItem)
{
    echo "{$hItem->Date} - {$hItem->Value}".PHP_EOL;
}

/*
    The cost of check = $0.095
    Sun, 19 Dec 2010 12:50:32 GMT - 23000
    Fri, 10 Dec 2010 12:40:59 GMT - 23000
    Tue, 30 Nov 2010 12:59:50 GMT - 22000
    Mon, 08 Nov 2010 11:41:39 GMT - 22000
    .....
 */ 
                        


Проверка Я.Бар (Значение тИЦ, Я.Тематика, Я.Регион)
Стоимость:0,2$ за 1000 запросов

Проверка Я.Бар осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>YaBar</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>f2e19584-62f2-42aa-b1c3-ca2549278b78</Id>
    <ExpireAt>2014-12-15T14:51:01.8876874+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>YaBar</Parameter>
                    <Value xsi:type="YabarApiData">
                        <YaBarCy>70</YaBarCy>
                        <YaBarMirrow>1</YaBarMirrow>
                        <YaBarYaca>0</YaBarYaca>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>YaBar</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


тИЦ картинка
Стоимость:0,01$ за 1000 запросов

Проверка тИЦ по Яндекс картинке осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>CyImage</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>6d8642d3-bc1d-4c11-a47d-68c899bc4b9e</Id>
    <ExpireAt>2014-12-11T14:46:43.1044584+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>CyImage</Parameter>
                    <Value xsi:type="xsd:int">70</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>CyImage</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Индекс Я
Стоимость:0,2$ за 1000 запросов

Проверка Индекс Я осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>IY</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>25552150-a363-4500-94dc-2cd3db4e1828</Id>
    <ExpireAt>2014-12-11T15:44:59.9502335+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>IY</Parameter>
                    <Value xsi:type="xsd:int">405</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>IY</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Дата последней публикации (обновления) сайта из сниппета Яндекса
Стоимость:0,2$ за 1000 запросов

Дата последней публикации (обновления) сайта из сниппета Яндекса.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>IyDate</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>40a01c8e-22d7-4286-9afa-02c27b5bed15</Id>
    <ExpireAt>2014-12-11T17:26:29.6097633+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>IyDate</Parameter>
                    <Value xsi:type="IyDateApiData">
                        <Date>2014-12-02T02:30:40</Date>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>IyDate</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value->Date."<br/>";
    }
    echo "<br/>";
} 
                        


Индекс Я раздел
Стоимость:0,2$ за 1000 запросов

Проверка Индекс Я раздел осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>IYChapter</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>1eb39fed-e3a8-4b5d-a202-1902f54c25d4</Id>
    <ExpireAt>2014-12-15T14:31:39.5177556+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>IYChapter</Parameter>
                    <Value xsi:type="xsd:int">403</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>IYChapter</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Индекс Я страницы
Стоимость:0,2$ за 1000 запросов

Проверка индекса старницы в Яндексе осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>IYPages</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>f4555cb7-595a-4d60-9c14-855b6ef7aca8</Id>
    <ExpireAt>2014-12-11T17:39:36.3269782+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>IYPagesExt</Parameter>
                    <Value xsi:type="IypApiData">
                        <Sign>879b2c828aac2deb01e0331a33fc7274</Sign>
                        <CacheDate xsi:nil="true" />
                        <Value>1</Value>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>IYPages</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Дата последней публикации (обновления) страницы из сниппета Яндекса
Стоимость:0,2$ за 1000 запросов

Дата последней публикации (обновления) страницы из сниппета Яндекса осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>IyPagesDate</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>2dafa666-7a40-4868-afc6-2cc92dc424a5</Id>
    <ExpireAt>2014-12-15T14:37:14.1939766+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>IyPagesDate</Parameter>
                    <Value xsi:type="IyDateApiData">
                        <Date>2009-09-04T17:55:22</Date>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
  <Parameters>
    <TaskVariant>CheckDangerous</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>recipdonor.com</string>
  </DomainNames>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Кэш Я стр.
Стоимость:0,5$ за 1000 запросов

Проверка даты последней индексации страницы Яндекса осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>IYPageCache</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>d5ecb934-58b4-43ff-8a19-53f3ce58d947</Id>
    <ExpireAt>2014-12-11T17:32:09.9243611+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
            <Data>
              <Parameter>IYPageCache</Parameter>
              <Value xsi:type="IYPageCacheApiData">
              <CacheUrl>
              http://hghltd.yandex.net/yandbtm?lang=ru&fmode=inject&tld=ru&la=&text=...
              </CacheUrl>
                  <CacheDate>2014-12-03T06:21:14</CacheDate>
              </Value>
            </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>IYPageCache</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        




Упом. Я
Стоимость:0,2$ за 1000 запросов

Проверка кол-ва упоминаний домена в Яндексе осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>BY</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>57c7aed4-c7c3-4f7b-a39a-10327eb32ef9</Id>
    <ExpireAt>2014-12-09T18:51:39.4877499+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>BY</Parameter>
                    <Value xsi:type="xsd:int">3000</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
  <Parameters>
    <TaskVariant>BY</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>recipdonor.com</string>
  </DomainNames>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Картинки Я
Стоимость:0,1$ за 1000 запросов

Проверка кол-ва проиндексированных картинок сайта в Яндексе осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>YandexImage</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>ec3fc9f5-373b-4ecd-a489-e18810876d67</Id>
    <ExpireAt>2014-12-15T14:41:19.9480146+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>YandexImage</Parameter>
                    <Value xsi:type="xsd:int">29</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>YandexImage</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Зеркала домена
Стоимость:5,0$ за 1000 запросов

Для получения зеркал домена используется функция /mirror

Также можно получить кол-во зеркал с помощью функции /mirror/count.

Примеры запросов


 http://recipdonor.com:998/api/mirror/microsoft.com
 http://recipdonor.com:998/api/mirror/count/microsoft.com
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Стоимость $ одной проверки
define("oneItemCost", 0.005);

// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/mirror/count/microsoft.com");

// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Посылаем запрос
$responseData = new SimpleXMLElement(curl_exec($ch));
$mirrorItemsCount = (int)$responseData;

$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

// Выводим стоимость проверки
echo "Count = ".$mirrorItemsCount.PHP_EOL;
echo "The cost of check = $".(oneItemCost * $mirrorItemsCount).PHP_EOL;

// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/mirror/microsoft.com");

// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Посылаем запрос, получаем ответ, отсекаем utf-8 BOM
$mirrorItems = new SimpleXMLElement(curl_exec($ch));
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

// Выводим результат
foreach($mirrorItems as $mItem)
{
    echo "{$mItem}".PHP_EOL;
}

/*
    Count = 29
    The cost of check = $0.145
    microsft.com
    microsoft.net
    .....
 */ 
                        


Проверка частоты по Wordstat
Стоимость:0,2$ за 1000 запросов

Проверка частоты по Wordstat осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>WordStat</TaskVariant>
    </Parameters>
    <DomainNames>
        <WordStatData>
            <SearchText>kupon</SearchText>
            <Region>213</Region>
        </WordStatData>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Region может принимать числовое значение из списка, к примеру 213 = Москва.

Ключевая фраза SearchText не может содержать более 7 слов и может включать только символы английского, турецкого, казахского, русского и украинского алфавитов в ключевых фразах, кавычки, скобки, симоволы "-", "+", "!" и пробелы.

Пример ответа сессии

<ApiSessionItemContract>
    <Id>bd12743d-cc1b-418e-a749-fbc839ddcd60</Id>
    <ExpireAt>2014-12-18T17:29:10.5112391+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>kupon</DomainName>
            <Values>
                <Data>
                    <Parameter>WordStat</Parameter>
                    <Value xsi:type="xsd:int">538</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>WordStat</TaskVariant>
    </Parameters>
    <DomainNames>
        <WordStatData>
            <SearchText>kupon</SearchText>
            <Region>213</Region>
        </WordStatData>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Позиции Я
Стоимость:0,3$ за 1000 запросов

Проверка Позиций Я осуществляется через сессии.

Используются методы /session/new и /session/get.

По умолчанию проверка идет до 50 позиции в выдаче Яндекса. Для проверки с большей глубиной необходимо указать параметр MaxCheckPosition. Максимальное значение этого параметра 1000, в этом случае мы просканируем все 20 страниц выдачи Яндекса по указанному запросу. Стоимость проверки зависит от глубины сканирования.

С помощью этого параметра можно получить:
- все результаты поисковой выдачи Яндекса до указанной глубины сканирования. Для этого нужно использовать контракт PositionYandexTask.
- позицию сайта в выдаче Яндекса. Для этого нужно использовать контракт PositionYandexUrlTask. У этого контракта есть 2 дополнительных параметра: Url (страница/домен) для проверки и CheckType (Domain, Page). Если в CheckType указан параметр Domain, проверка вернет позицию первой найденной страницы сайта по запросу. Если в CheckType указан параметр Page, проверка вернет позицию конкретной страницы сайта по запросу.

Регион указывается числом из списка.

XML для инициализации сессии (пример контракта PositionYandexUrlTask)

<InitSession>
    <Parameters>
        <TaskVariant>PositionYandex</TaskVariant>
    </Parameters>
    <DomainNames>
        <PositionYandexUrlTask>
            <MaxCheckPosition>50</MaxCheckPosition>
            <Region>213</Region>
            <Query>новости</Query>
            <Id>1</Id>
            <Url>news.yandex.ru</Url>
            <CheckType>Domain</CheckType>
        </PositionYandexUrlTask>
    </DomainNames>
    <Refresh>false</Refresh>
</InitSession>

Пример ответа сессии (пример контракта PositionYandexUrlTask для XML)

<ApiSessionItemContract>
    <Id>89a69c93-19a7-4360-9c42-21b52ef15dd5</Id>
    <ExpireAt>2015-01-06T12:35:47.091413+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>1</DomainName>
            <Values>
                <Data>
                    <Parameter>PositionYandex</Parameter>
                    <Value xsi:type="PositionYandexResult">
                        <CountResult>1603000000</CountResult>
                        <Positions>
                            <PositionYandexData>
                                <Url>http://news.yandex.ru/</Url>
                                <Position>1</Position>
                                <Snippet>Новости России и мира из центральных, региональных, зарубежных
 и специализированных источников. Поиск информации по базе СМИ. Пресс-портреты персоналий и организаций.
 Онлайн-подписка на новости.</Snippet>
                                <Title>Яндекс.Новости: Главные новости</Title>
                            </PositionYandexData>
                        </Positions>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>

JSON для инициализации сессии (пример контракта PositionYandexTask)

{
  "Parameters": [
    "PositionYandex"
  ],
  "DomainNames": [{
    "$type": "PositionYandexTask",
    "Id":1,
    "MaxCheckPosition":5,
    "Query":"каталог запчастей",
    "Region":213
  }]
}

Пример ответа сессии (пример контракта PositionYandexTask для JSON)

{
  "Domains":[
    {
      "IsValid":true,
      "DomainName":"1",
      "Values":[
        {
          "Parameter":"PositionYandex",
          "Value":{
            "CountResult":40000000,
            "Positions":[
              {
                "Url":"http://www.exist.ru/",
                "Position":1,
                "Snippet":"Оригинальные каталоги. Общий каталог. Запчасти для ТО. Мотокаталоги ....",
                "Title":"Автозапчасти, запчасти для иномарок, каталог автозапчастей для авто..."
              },
              {
                "Url":"http://www.epcdata.ru/",
                "Position":2,
                "Snippet":"Онлайн- каталоги запчастей к японским и не только автомобилям. Для поиска ...",
                "Title":"Онлайн- каталоги запчастей к японским и не только автомобилям"
              },
              {
                "Url":"http://www.a-inside.ru/catalogs/",
                "Position":3,
                "Snippet":"Каталоги запчастей. Веб-сервис. Поставщикам.",
                "Title":"Каталоги производителей запчастей, каталог оригинальных запчастей"
              },
              {
                "Url":"http://www.mdetali.ru/catalog",
                "Position":4,
                "Snippet":"Поиск деталей: Расширенный каталог запчастей.",
                "Title":"Электронный каталог запчастей онлайн"
              },
              {
                "Url":"http://intertruck.ru/catalog/",
                "Position":5,
                "Snippet":"В данном каталоге запчастей вы сможете найти автомобили и запчасти к ним. Также ...",
                "Title":"Каталога запчастей для грузовиков"
              }
            ]
          },
          "Errors":null
        }
      ]
    }
  ],
  "Id":"02f5b5f9-a382-40c5-9d87-7c9024c5e21d",
  "ExpireAt":"2015-01-06T16:42:25.4808325+02:00",
  "Progress":100,
  "SessionStatus":"Completed"
}
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>PositionYandex</TaskVariant>
    </Parameters>
    <DomainNames>
        <PositionYandexUrlTask>
            <MaxCheckPosition>50</MaxCheckPosition>
            <Region>213</Region>
            <Query>новости</Query>
            <Id>1</Id>
            <Url>news.yandex.ru</Url>
            <CheckType>Domain</CheckType>
        </PositionYandexUrlTask>
    </DomainNames>
    <Refresh>false</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach($data->Value as $value)
        {
            echo "CountResult = $value->CountResult"."<br/>";
            echo "Positions ="."<br/>";
            foreach($value->Positions->PositionYandexData as $positionData)
            {
                echo "PositionData = "."<br/>";
                echo "Url = $positionData->Url"."<br/>";
                echo "Position = $positionData->Position"."<br/>";
                echo "Snippet = $positionData->Snippet"."<br/>";
                echo "Title = $positionData->Title"."<br/>";
            }
        }
    }
    echo "<br/>";
} 
                        


Индекс Google
Стоимость:0,5$ за 1000 запросов

Проверка Индекс Google осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>IG</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>3c063368-f779-4181-9f28-0f0d9c91f5a7</Id>
    <ExpireAt>2014-12-11T15:23:12.263905+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>IG</Parameter>
                    <Value xsi:type="xsd:int">2250</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>IG</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Основной Индекс Google
Стоимость:0,5$ за 1000 запросов

Проверка Основной Индекс Google осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>MainIndexGoogle</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>20dc0174-4be4-468d-a4fc-1b43ed6311bf</Id>
    <ExpireAt>2014-12-11T17:51:17.9876451+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>MainIndexGoogle</Parameter>
                    <Value xsi:type="xsd:int">233</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>MainIndexGoogle</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Индекс Google стр.
Стоимость:0,5$ за 1000 запросов

Проверка Индекс Google стр. осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>IGPages</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com/help/api</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>ecb23e07-ec6d-4a1c-9c01-952b1464151a</Id>
    <ExpireAt>2014-12-11T15:39:13.9287844+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com/help/api</DomainName>
            <Values>
                <Data>
                    <Parameter>IGPages</Parameter>
                    <Value xsi:type="xsd:int">1</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>IGPages</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com/help/api</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Кэш G стр
Стоимость:0,5$ за 1000 запросов

Проверка Кэш G стр. осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>IGPageCache</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>d08306bb-f023-4022-8fbe-051b7406106a</Id>
    <ExpireAt>2014-12-21T22:47:50.0574273+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
            <Data>
               <Parameter>IGPageCache</Parameter>
                <Value xsi:type="IGPageCacheApiData">
                   <CacheUrl>
                   http://webcache.googleusercontent.com/search?q=cache:www.recipdonor.com%2f
                   </CacheUrl>
                   <CacheDate>2014-12-21T02:41:55+02:00</CacheDate>
                </Value>
            </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>IGPageCache</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        




Back Google
Стоимость:0,5$ за 1000 запросов

Проверка Back Google осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>GoogleBack</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>af5e5a3e-a99b-4463-a280-7499a1292a76</Id>
    <ExpireAt>2014-12-11T15:10:16.6673372+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>GoogleBack</Parameter>
                    <Value xsi:type="xsd:int">1</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>GoogleBack</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Картинки G
Стоимость:0,2$ за 1000 запросов

Проверка кол-ва проиндексированный картинок сайта в Google осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>GoogleImage</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>ad194b37-f239-4a38-bc4c-5826959f034f</Id>
    <ExpireAt>2014-12-11T15:17:46.3793326+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>GoogleImage</Parameter>
                    <Value xsi:type="xsd:int">79</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>GoogleImage</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Позиции G
Стоимость:0,5$ за 1000 запросов

Проверка Позиций G осуществляется через сессии.

Используются методы /session/new и /session/get.

По умолчанию проверка идет до 100 позиции в выдаче Google.ru Для проверки с большей глубиной необходимо указать параметр MaxCheckPosition. Максимальное значение этого параметра 1000, в этом случае мы просканируем все 10 страниц выдачи Google.ru по указанному запросу. Стоимость проверки зависит от глубины сканирования.

С помощью этого параметра можно получить:
- все результаты поисковой выдачи Google.ru до указанной глубины сканирования. Для этого нужно использовать контракт PositionGoogleTask.
- позицию сайта в выдаче Google.ru Для этого нужно использовать контракт PositionGoogleUrlTask. У этого контракта есть 2 дополнительных параметра: Url (страница/домен) для проверки и CheckType (Domain, Page). Если в CheckType указан параметр Domain, проверка вернет позицию первой найденной страницы сайта по запросу. Если в CheckType указан параметр Page, проверка вернет позицию конкретной страницы сайта по запросу.

XML для инициализации сессии (пример контракта PositionGoogleUrlTask)

<InitSession>
    <Parameters>
        <TaskVariant>PositionGoogle</TaskVariant>
    </Parameters>
    <DomainNames>
        <PositionGoogleUrlTask>
            <MaxCheckPosition>50</MaxCheckPosition>
            <Region>RU</Region>
            <Query>новости</Query>
            <Id>1</Id>
            <Url>news.yandex.ru</Url>
            <CheckType>Domain</CheckType>
        </PositionGoogleUrlTask>
    </DomainNames>
    <Refresh>false</Refresh>
</InitSession>

Пример ответа сессии (пример контракта PositionGoogleUrlTask для XML)

<ApiSessionItemContract>
    <Id>b41c5725-ea97-4a3e-8385-4bf5e5309521</Id>
    <ExpireAt>2015-01-06T13:16:07.8548728+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>1</DomainName>
            <Values>
                <Data>
                    <Parameter>PositionGoogle</Parameter>
                    <Value xsi:type="PositionGoogleResult">
                        <CountResult>542000000</CountResult>
                        <Positions>
                            <PositionGoogleData>
                                <Url>http://news.yandex.ru/</Url>
                                <Position>2</Position>
                                <Title>Яндекс.Новости: Главные новости</Title>
                                <Snippet>Главные новости на Яндекс.Новостях: события, персоны, цитаты,
самые обсуждаемые и горячие сюжеты. Последние новости России и Украины ...</Snippet>
                            </PositionGoogleData>
                        </Positions>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>

JSON для инициализации сессии (пример контракта PositionGoogleTask)

{
  "Parameters": [
    "PositionGoogle"
  ],
  "DomainNames": [{
    "$type": "PositionGoogleTask",
    "Id":1,
    "MaxCheckPosition":50,
    "Query":"каталог запчастей",
    "Region":"RU"
  }]
}

Пример ответа сессии (пример контракта PositionGoogleTask для JSON)

{
  "Domains":[
    {
      "IsValid":true,
      "DomainName":"1",
      "Values":[
        {
          "Parameter":"PositionGoogle",
          "Value":{
            "CountResult":1240000,
            "Positions":[
              {
                "Url":"http://www.exist.ru/",
                "Position":1,
                "Title":"Автозапчасти, запчасти для иномарок, каталог ...",
                "Snippet":"Интернет-магазин автозапчастей для иномарок Exist.ru. Электронный каталог запчастей ... "
              },
              {
                "Url":"http://www.epcdata.ru/",
                "Position":2,
                "Title":"Онлайн-каталоги запчастей к японским и не только ...",
                "Snippet":"Электронный каталог оригинальных запчастей Toyota, Mitsubishi, Mazda, Honda, Lexus в онлайне."
              },
              {
                "Url":"http://www.emex.ru/",
                "Position":3,
                "Title":"Автозапчасти, запчасти, каталог запчастей для иномарок ...",
                "Snippet":"Купить автозапчасти для иномарок в интернет – магазине Emex можно с помощью каталога ..."
              },
              {
                "Url":"http://www.elcats.ru/",
                "Position":4,
                "Title":"Elcats.ru",
                "Snippet":"Описание веб-страницы недоступно из-за ограничений в файле robots.txt. Подробнее..."
              },
              {
                "Url":"http://www.autodoc.ru/Web/Pages/CatalogOriginal.aspx",
                "Position":5,
                "Title":"Оригинальные каталоги - Автодок",
                "Snippet":"В электронному каталоге запчастей для иномарок от autodoc.ru представлен большой ..."
              }
            ]
          },
          "Errors":null
        }
      ]
    }
  ],
  "Id":"f7d8be2d-fb5b-4019-8dce-3ef99aa0365f",
  "ExpireAt":"2015-01-06T12:15:58.0764053+02:00",
  "Progress":100,
  "SessionStatus":"Completed"
}
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>PositionGoogle</TaskVariant>
    </Parameters>
    <DomainNames>
        <PositionGoogleUrlTask>
            <MaxCheckPosition>50</MaxCheckPosition>
            <Region>RU</Region>
            <Query>новости</Query>
            <Id>1</Id>
            <Url>news.yandex.ru</Url>
            <CheckType>Domain</CheckType>
        </PositionGoogleUrlTask>
    </DomainNames>
    <Refresh>false</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach($data->Value as $value)
        {
            echo "CountResult = $value->CountResult"."<br/>";
            echo "Positions ="."<br/>";
            foreach($value->Positions->PositionYandexData as $positionData)
            {
                echo "PositionData = "."<br/>";
                echo "Url = $positionData->Url"."<br/>";
                echo "Position = $positionData->Position"."<br/>";
                echo "Snippet = $positionData->Snippet"."<br/>";
                echo "Title = $positionData->Title"."<br/>";
            }
        }
    }
    echo "<br/>";
} 
                        


Индекс B
Стоимость:0,2$ за 1000 запросов

Проверка кол-ва проиндексированный страниц сайта в Bing осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>BingIndex</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>e590b777-7a35-41d6-b65e-d9daac9d3029</Id>
    <ExpireAt>2014-12-09T18:28:53.5956253+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>BingIndex</Parameter>
                    <Value xsi:type="xsd:int">0</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
  <Parameters>
    <TaskVariant>BingIndex</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>recipdonor.com</string>
  </DomainNames>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Bing исход.
Стоимость:0,2$ за 1000 запросов

Проверка кол-ва исходящих ссылок с сайта по Bing осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
  <Parameters>
    <TaskVariant>Bing</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>recipdonor.com</string>
  </DomainNames>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>76b2cc73-4e1e-4bf6-9985-c529961d0a99</Id>
    <ExpireAt>2014-12-09T18:17:34.1017605+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Bing</Parameter>
                    <Value xsi:type="xsd:int">3</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
  <Parameters>
    <TaskVariant>Bing</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>recipdonor.com</string>
  </DomainNames>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Кол-во наиболее весомых входящих ссылок на сайт по данным Bing
Стоимость:0,2$ за 1000 запросов

Проверка кол-ва наиболее весомых входящих ссылок на сайт по данным Bing осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>BackBing</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>998e704d-e6bf-4bc5-b8a5-912f2c0c2143</Id>
    <ExpireAt>2014-12-09T18:10:27.9013832+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>BackBing</Parameter>
                    <Value xsi:type="xsd:int">5</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
  <Parameters>
    <TaskVariant>BackBing</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>recipdonor.com</string>
  </DomainNames>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Alexa
Стоимость:0,2$ за 1000 запросов

Проверка Alexa осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>Alexa</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>97f23c64-42fd-43de-9e30-7e7191e5d6f8</Id>
    <ExpireAt>2014-12-09T17:10:18.9069605+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Alexa</Parameter>
                    <Value xsi:type="xsd:int">11317</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>Alexa</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Кол-во наиболее весомых входящих ссылок на сайт по данным Alexa
Стоимость:0,2$ за 1000 запросов

Проверка кол-ва наиболее весомых входящих ссылок на сайт по данным Alexa осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>BackAlexa</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>f6a0013c-bf22-4e14-9ef3-d1950ca1df77</Id>
    <ExpireAt>2014-12-09T17:52:00.7780594+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>BackAlexa</Parameter>
                    <Value xsi:type="xsd:int">244</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
  <Parameters>
    <TaskVariant>BackAlexa</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>recipdonor.com</string>
  </DomainNames>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Уникальность
Стоимость:5,0$ за 1000 запросов

Проверка Уникальности осуществляется через сессии.

Используются методы /session/new и /session/get.

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

Проверить можно либо страницу, передав параметр Action - Uri, либо текст: Action - Text.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>UniqueContent</TaskVariant>
    </Parameters>
    <DomainNames>
        <UniqueContentData>
            <Action>Uri</Action>
            <CheckData>http://press-relizy.ru/archive/business/134634.html</CheckData>
            <Ignore>http://press-relizy.ru/</Ignore>
        </UniqueContentData>
    </DomainNames>
    <Refresh>false</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>a5775164-ef27-498d-a105-af5a50e1d62b</Id>
    <ExpireAt>2015-01-06T10:14:25.2012767+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>http://press-relizy.ru/archive/business/134634.html</DomainName>
            <Values>
                <Data>
                    <Parameter>UniqueContent</Parameter>
                    <Value xsi:type="UniqueContentTextApiData">
                        <Percent>0.8</Percent>
                        <Matches>
                            <Match>
                                <url>http://www.psbank.ru/Bank/Press/News/2014/10/10-2</url>
                                <percent>99.2</percent>
                            </Match>
                            <Match>
                                <url>http://www.press-release.ru/branches/finance/ded82e2178301/</url>
                                <percent>99.2</percent>
                            </Match>
                            <Match>
                                <url>http://www.xn--80aahgtga3acbkr2a6a0h.xn--p1ai/home/allnewsp</url>
                                <percent>20.6</percent>
                            </Match>
                            <Match>
                                <url>http://www.niann.ru/?id=462096</url>
                                <percent>88.6</percent>
                            </Match>
                            <Match>
                                <url>http://b2blogger.com/pressroom/tag/%D1%84%D0%BE%D0%BD%D0%B4/</url>
                                <percent>6.0</percent>
                            </Match>
                            <Match>
                                <url>http://news.chita.ru/58444/</url>
                                <percent>25.4</percent>
                            </Match>
                            <Match>
                                <url>http://www.creditforbusiness.ru/news/24431/</url>
                                <percent>24.3</percent>
                            </Match>
                            <Match>
                                <url>http://www.dg-yug.ru/a/2014/10/20/Venchurnij_fond_Promsvjazb2</url>
                                <percent>99.2</percent>
                            </Match>
                            <Match>
                                <url>http://vologdainfo.ru/events/index.php?id=1157</url>
                                <percent>99.1</percent>
                            </Match>
                            <Match>
                                <url>http://vk.com/wall-39825007_923</url>
                                <percent>23.5</percent>
                            </Match>
                        </Matches>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>UniqueContent</TaskVariant>
    </Parameters>
    <DomainNames>
        <UniqueContentData>
            <Action>Uri</Action>
            <CheckData>http://press-relizy.ru/archive/business/134634.html</CheckData>
            <Ignore>http://press-relizy.ru/</Ignore>
        </UniqueContentData>
    </DomainNames>
    <Refresh>false</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach($data->Value as $value)
        {
            echo "Percent = $value->Percent%"."<br/>";
            echo "Matches ="."<br/>";
            foreach($value->Matches->Match as $match)
            {
                echo "Match = "."<br/>";
                echo "url = $match->url"."<br/>";
                echo "percent = $match->percent%"."<br/>";
                echo "<br/>";
            }
        }
    }
    echo "<br/>";
} 
                        


Проверка продажи Seo
Стоимость:0,1$ за 1000 запросов

Наличие сайтов в различных биржах можно проверить используюя API функцию /seo/bulk.

Параметр "Parameters" может быть либо упущен, тогда проверка будет осуществляться на наличие во всем seo биржах, либо можно указать конкретные биржи:
[] - проверять во всех биржах
1 - Sape
2 - Mainlink
4 - Linkfeed
8 - Setlinks
16 - Xap
32 - Trustlink
64 - Propage
128 - Liex
512 - Sape Articles
1024 - Sape Pr
2048 - Miralinks
4096 - Gogetlinks
8192 - Blogun
16384 - Rota Post
32768 - RDS

Для получение всех данных

<InitSeoData>
    <Parameters/>
    <Domains>
        <string>aif.ru</string>
    </Domains>
</InitSeoData>
{
  "Domains":[
    "aif.ru"
  ],
  "Parameters":[]
}

Получаем ответ

<ArrayOfSeoItem>
    <SeoItem>
        <Url>aif.ru</Url>
        <Seos>
            <Seo>SapePr</Seo>
            <Seo>RotaPost</Seo>
        </Seos>
    </SeoItem>
</ArrayOfSeoItem>
[
  {
    "Url":"aif.ru",
    "Seos":[
      "SapePr",
      "RotaPost"
    ],
    "Seo":"SapePr, RotaPost"
  }
]

Для проверки участия сайта в любой одной бирже

<InitSeoData>
    <Parameters>
        <Seo>Sape</Seo>
    </Parameters>
    <Domains>
        <string>aif.ru</string>
    </Domains>
</InitSeoData>
{
  "Domains":[
    "aif.ru"
  ],
  "Parameters":[
    1
  ]
}

Получаем ответ

<ArrayOfSeoItem>
    <SeoItem>
        <Url>aif.ru</Url>
        <Seos/>
    </SeoItem>
</ArrayOfSeoItem>
[
  {
    "Url":"aif.ru",
    "Seos":[ ],
    "Seo":"None"
  }
]

Для проверки участия сайта в нескольких биржах

<InitSeoData>
    <Parameters>
        <Seo>Sape</Seo>
        <Seo>Xap</Seo>
        <Seo>Miralinks</Seo>
        <Seo>Blogun</Seo>
    </Parameters>
    <Domains>
        <string>aif.ru</string>
    </Domains>
</InitSeoData>
{
  "Domains":[
    "aif.ru"
  ],
  "Parameters":[
    1,
    16,
    2048,
    8192
  ]
}

Получаем ответ

<ArrayOfSeoItem>
    <SeoItem>
        <Url>aif.ru</Url>
        <Seos/>
    </SeoItem>
</ArrayOfSeoItem>
[
  {
    "Url":"aif.ru",
    "Seos":[ ],
    "Seo":"None"
  }
]
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// Формируем XML
$post_data = "
<InitSeoData>
    <Parameters>
        <Seo>Mainlink</Seo>
    </Parameters>
    <Domains>
        <string>san-club.net</string>
    </Domains>
</InitSeoData>";

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/seo/bulk?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_POST, true);
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($post_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

// Посылаем запрос
$seoData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

// Обрабатываем пришедший ответ
$seoXmlData = new SimpleXMLElement($seoData);

foreach($seoXmlData as $seoItem)
{
    foreach ($seoItem->Seos->Seo as $seo) {
        echo "{$seoItem->Url} - {$seo}".PHP_EOL;
    }
} 
                        




Индекс L
Стоимость:0,2$ за 1000 запросов

Проверка Индекс Linkpad осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>Solomono</TaskVariant>
    </Parameters>
    <DomainNames>
         <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>04d4b9ff-b2e3-467c-b670-1d400959ab80</Id>
    <ExpireAt>2014-12-17T20:04:02.5727214+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Solomono</Parameter>
                    <Value xsi:type="SolomonoApiData">
                        <Value>1953</Value>
                        <LinksIn>428</LinksIn>
                        <LinksOut>63</LinksOut>
                        <IndexDate xsi:nil="true" />
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>Solomono</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


SimilarWeb
Стоимость:1,0$ за 1000 запросов

Проверка SimilarWeb осуществляется через сессии.

Используются методы /session/new и /session/get.

XML пример запроса получения сессии

<InitSession>
    <Parameters>
        <TaskVariant>SimilarWeb</TaskVariant>
    </Parameters>
    <DomainNames>
        <DomainTask>
            <DomainName>президент.рф</DomainName>
        </DomainTask>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>
{
  "Parameters":[
    "SimilarWeb"
  ],
  "DomainNames":[
    {
      "DomainName":"президент.рф"
    }
  ]
}

XML пример ответа сессии

<ApiSessionItemContract>
    <Id>63e44b7a-74ee-4eb0-b9d7-5704f4de5d82</Id>
    <ExpireAt>2015-04-14T16:05:55.7092624+03:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>президент.рф</DomainName>
            <Values>
                <Data>
                    <Parameter>SimilarWeb</Parameter>
                    <Value xsi:type="SimilarWebResult">
                        <GlobalRank>2569</GlobalRank>
                        <LocalRank>173</LocalRank>
                        <Country>Russian Federation</Country>
                        <Visits>9859708</Visits>
                        <StrTimeOnSite>00:02:22</StrTimeOnSite>
                        <PageViews>3.01</PageViews>
                        <BounceRate>67.52</BounceRate>
                        <Direct>15.1</Direct>
                        <Referrals>41.31</Referrals>
                        <Search>36</Search>
                        <Social>5.04</Social>
                        <Mail>0.22</Mail>
                        <Display>2.33</Display>
                        <Category>News and Media</Category>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
{
  "Domains":[
    {
      "IsValid":true,
      "DomainName":"президент.рф",
      "Values":[
        {
          "Parameter":"SimilarWeb",
          "Value":{
            "GlobalRank":2569,
            "LocalRank":173,
            "Country":"Russian Federation",
            "Visits":9859708,
            "StrTimeOnSite":"00:02:22",
            "PageViews":3.01,
            "BounceRate":67.52,
            "Direct":15.1,
            "Referrals":41.31,
            "Search":36.0,
            "Social":5.04,
            "Mail":0.22,
            "Display":2.33,
            "Category":"News and Media"
          },
          "Errors":null
        }
      ]
    }
  ],
  "Id":"3c1f9000-a0cf-4bc0-9347-6a6104193bf7",
  "ExpireAt":"2015-04-14T16:13:32.1158673+03:00",
  "Progress":100,
  "SessionStatus":"Completed"
}

GlobalRank - рейтинг посещаемости сайта по данным SimilarWeb, чем меньше число тем больше посещаемость.

LocalRank - локальный рейтинг посещаемости сайта по данным SimilarWeb, чем меньше число тем больше посещаемость.

Country - страна из которой совершается наибольшее кол-во переходов на сайт.

Visits - примерное кол-во посещений сайта в месяц по данным SimilarWeb.

StrTimeOnSite - среднее время на сайте по данным SimilarWeb.

PageViews - среднее кол-во страниц сайта по данным SimilarWeb.

BounceRate - кол-во отказов по данным SimilarWeb.

Direct - % прямых заходов на сайт по данным SimilarWeb.

Referrals - % переходов на сайт с других доменов по данным SimilarWeb.

Search - % переходов на сайт из поисковых систем по данным SimilarWeb.

Social - % переходов на сайт из соц сетей по данным SimilarWeb.

Mail - % переходов на сайт из электронной почты по данным SimilarWeb.

Display - % переходов на сайт из систем баннерной и контекстной рекламы по данным SimilarWeb.

Category - тематика сайта по данным SimilarWeb.

<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>SimilarWeb</TaskVariant>
    </Parameters>
    <DomainNames>
        <DomainTask>
            <DomainName>президент.рф</DomainName>
        </DomainTask>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Посещаемость по RDS
Стоимость:1,0$ за 1000 запросов

Проверка посещаемости по RDS осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>StatHistory</TaskVariant>
    </Parameters>
    <DomainNames>
        <StatHistoryTask>
            <DomainName>aif.ru</DomainName>
            <StartDate>2014-08-27</StartDate>
            <StopDate>2015-02-27</StopDate>
        </StatHistoryTask>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>
{
  "Parameters":[
    "StatHistory"
  ],
  "DomainNames":[
    {
      "DomainName":"aif.ru",
      "StartDate":"2014-08-27",
      "StopDate":"2015-02-27"
    }
  ],
  "Refresh":"true"
}

Пример ответа сессии

<ApiSessionItemContract>
    <Id>649c0177-1ae0-4a28-9aee-7ba1035e60a0</Id>
    <ExpireAt>2015-04-14T14:55:50.8531299+03:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>aif.ru</DomainName>
            <Values>
                <Data>
                    <Parameter>StatHistory</Parameter>
                    <Value xsi:type="ArrayOfVisit">
                        <Visit>
                            <Date>2015-02</Date>
                            <Value>391790</Value>
                        </Visit>
                        <Visit>
                            <Date>2015-01</Date>
                            <Value>360268</Value>
                        </Visit>
                        <Visit>
                            <Date>2014-12</Date>
                            <Value>344085</Value>
                        </Visit>
                        <Visit>
                            <Date>2014-11</Date>
                            <Value>300136</Value>
                        </Visit>
                        <Visit>
                            <Date>2014-10</Date>
                            <Value>287301</Value>
                        </Visit>
                        <Visit>
                            <Date>2014-09</Date>
                            <Value>281975</Value>
                        </Visit>
                        <Visit>
                            <Date>2014-08</Date>
                            <Value>292274</Value>
                        </Visit>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
{
  "Domains":[
    {
      "IsValid":true,
      "DomainName":"aif.ru",
      "Values":[
        {
          "Parameter":"StatHistory",
          "Value":[
            {
              "Date":"2015-02",
              "Value":391790
            },
            {
              "Date":"2015-01",
              "Value":360268
            },
            {
              "Date":"2014-12",
              "Value":344085
            },
            {
              "Date":"2014-11",
              "Value":300136
            },
            {
              "Date":"2014-10",
              "Value":287301
            },
            {
              "Date":"2014-09",
              "Value":281975
            },
            {
              "Date":"2014-08",
              "Value":292274
            }
          ],
          "Errors":null
        }
      ]
    }
  ],
  "Id":"4362dad6-42ff-4e06-83b4-0c07c92b9a23",
  "ExpireAt":"2015-04-14T15:24:53.9925377+03:00",
  "Progress":100,
  "SessionStatus":"Completed"
}

Где Date - дата проверки, Value - значение.

<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>StatHistory</TaskVariant>
    </Parameters>
    <DomainNames>
        <StatHistoryTask>
            <DomainName>aif.ru</DomainName>
            <StartDate>2014-08-27T15:07:40.6729664+02:00</StartDate>
            <StopDate>2015-02-27T15:07:40.6729664+02:00</StopDate>
        </StatHistoryTask>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach($data->Value->Visit as $visit)
        {
			echo "Date = $visit->Date"."<br/>";
			echo "Value = $visit->Value"."<br/>";
			echo "<br/>";
        }
    }
    echo "<br/>";
} 
                        


Посещаемость
Стоимость:0,2$ за 1000 запросов

Проверка посещаемости осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>Counters</TaskVariant>
    </Parameters>
    <DomainNames>
        <Counter>
            <SiteId>-5</SiteId>
            <CounterType>Liveinternet</CounterType>
            <Url>pikabu.ru</Url>
        </Counter>
        <Counter>
            <SiteId>2506609</SiteId>
            <CounterType>Top100Rambler</CounterType>
            <Url>pikabu.ru</Url>
        </Counter>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

SiteId - ID счетчика на сайте (для Liveinternet и YandeG ноль), CounterType - идентификатор счетчика(Liveinternet, YandexMetrica, Top100Rambler, MailRu, HotLog, Bigmir, Topstat, MyCounter, Log24, YandeG, OpenStat, HitUa, IUa).

Пример ответа сессии

<ApiSessionItemContract>
    <Id>60058156-8eb2-4aad-b9ff-46a8a99dfbf4</Id>
    <ExpireAt>2014-12-19T12:32:14.5128065+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>pikabu.ru</DomainName>
            <Values>
                <Data>
                    <Parameter>Counters</Parameter>
                    <Value xsi:type="CounterApiData">
                        <Value>739918</Value>
                        <Access>2</Access>
                        <CounterType>Liveinternet</CounterType>
                    </Value>
                </Data>
                <Data>
                    <Parameter>Counters</Parameter>
                    <Value xsi:type="CounterApiData">
                        <Value>0</Value>
                        <Access>2</Access>
                        <CounterType>Top100Rambler</CounterType>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>

Value - значение счетчика за вчера или за день (-666 если склеен). Access - наличие доступа к статистике сайта(1 - Есть доступ, 2 - Нет доступа или склеен, 0 - Счетчик не присутствует на сайте).

<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>Counters</TaskVariant>
    </Parameters>
    <DomainNames>
        <Counter>
            <SiteId>-5</SiteId>
            <CounterType>Liveinternet</CounterType>
            <Url>pikabu.ru</Url>
        </Counter>
        <Counter>
            <SiteId>2506609</SiteId>
            <CounterType>Top100Rambler</CounterType>
            <Url>pikabu.ru</Url>
        </Counter>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Агрегаторы
Стоимость:0,5$ за 1000 запросов

Проверка сайта на участвие в Агрегаторах осуществляется через сессии.

Проверить можно либо сразу во всех агрегаторах, либо выборочно из списка: Yandex, Google, Novoteka, Bing.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>NewsAggregator</TaskVariant>
    </Parameters>
    <DomainNames>
        <NewsAggregatorTask>
            <NewsAggregatorType>Yandex Google Novoteka Bing</NewsAggregatorType>
            <DomainName>talks.su</DomainName>
        </NewsAggregatorTask>
    </DomainNames>
    <Refresh>false</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>83bf0279-8912-46af-93b1-f58c58282bec</Id>
    <ExpireAt>2014-12-22T12:32:12.814021+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>talks.su</DomainName>
            <Values>
                <Data>
                    <Parameter>NewsAggregator</Parameter>
                    <Value xsi:type="NewsAggregatorResult">
                        <NewsAggregatorType>Yandex Google Novoteka Bing</NewsAggregatorType>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>NewsAggregator</TaskVariant>
    </Parameters>
    <DomainNames>
        <NewsAggregatorTask>
            <NewsAggregatorType>Yandex Google Novoteka Bing</NewsAggregatorType>
            <DomainName>talks.su</DomainName>
        </NewsAggregatorTask>
    </DomainNames>
    <Refresh>false</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Рекомендации сайта в социальных сетях
Стоимость:0,2$ за 1000 запросов

Проверка рекомендаций сайта в социальных сетях осуществляется через сессии.

Проверить можно либо сразу во всех социальных сетях, передав параметр SocialNetworks - All, либо выборочно из списка: Vkontakte, GooglePlus, Facebook.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>SocialNetworks</TaskVariant>
    </Parameters>
    <DomainNames>
        <SocialNetworksData>
            <Url>recipdonor.com</Url>
            <SocialNetworks>All</SocialNetworks>
        </SocialNetworksData>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>4587b689-b167-454c-8053-622c96429222</Id>
    <ExpireAt>2014-12-17T19:58:43.6879224+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>SocialNetworks</Parameter>
                    <Value xsi:type="SocialNetworksApiData">
                        <Network>Vkontakte</Network>
                        <Value>33</Value>
                    </Value>
                </Data>
                <Data>
                    <Parameter>SocialNetworks</Parameter>
                    <Value xsi:type="SocialNetworksApiData">
                        <Network>Facebook</Network>
                        <Value>26</Value>
                    </Value>
                </Data>
                <Data>
                    <Parameter>SocialNetworks</Parameter>
                    <Value xsi:type="SocialNetworksApiData">
                        <Network>GooglePlus</Network>
                        <Value>36</Value>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>SocialNetworks</TaskVariant>
    </Parameters>
    <DomainNames>
        <SocialNetworksData>
            <Url>recipdonor.com</Url>
            <SocialNetworks>All</SocialNetworks>
        </SocialNetworksData>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Проверка наличия вирусов на сайте по версии Яндекса, Google, WebMoney Advisor и VirusTotal
Стоимость:0,5$ за 1000 запросов

Проверка наличия вирусов на сайте по версии Яндекса, Google, WebMoney Advisor и VirusTotal осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>CheckDangerous</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>17235426-dae1-4cfe-92a7-491322c9fb19</Id>
    <ExpireAt>2014-12-09T18:56:28.0492547+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>CheckDangerous</Parameter>
                    <Value xsi:type="IsDangerousApiData">
                        <Dangerous>None</Dangerous>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
  <Parameters>
    <TaskVariant>CheckDangerous</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>recipdonor.com</string>
  </DomainNames>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Whois
Стоимость:1,0$ за 1000 запросов

Проверка Whois осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>Whois</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>b10d46f9-be0a-427a-8b2d-b17b06e7561b</Id>
    <ExpireAt>2014-12-18T18:17:26.1500155+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Whois</Parameter>
                    <Value xsi:type="WhoisApiData">
                        <WhoisStartDate>2009-06-18T00:00:00</WhoisStartDate>
                        <WhoisExpDate>2015-06-18T00:00:00</WhoisExpDate>
                        <WhoisDns>dns1.yandex.ru dns2.yandex.ru</WhoisDns>
                        <WhoisInfo></WhoisInfo>
                        <WhoisRegInfo>PDR LTD. D/B/A PUBLICDOMAINREGISTRY.COM</WhoisRegInfo>
                        <Whois>1</Whois>
                        <IsSubdomen>false</IsSubdomen>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>Whois</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Возраст домена
Стоимость:0,01$ за 1000 запросов

Возраст домена можно определеить с помощью функции /age

Пример запроса


 http://recipdonor.com:998/api/age/microsoft.com
<?php

 // RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/age/microsoft.com");

// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Посылаем запрос
$regDate = new SimpleXMLElement(curl_exec($ch));
$mirrorItemsCount = (int)$responseData;

$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

$date = date_parse($regDate);

echo "{$date['day']}/{$date['month']}/{$date['year']}".PHP_EOL; 
                        


Наличие в WebArchive
Стоимость:0,2$ за 1000 запросов

Проверка WebArchive осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>Wa</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>17d71400-cda3-41eb-81f3-2e401db2ddf6</Id>
    <ExpireAt>2014-12-17T19:47:32.3322936+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Wa</Parameter>
                    <Value xsi:type="WebArchApiData">
                        <Wa>20091011080619</Wa>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>Wa</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Анализ IP адреса
Стоимость:0,1$ за 1000 запросов

Проверка Анализ IP адреса осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>GeoTool</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>62.149.1.74</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>5b5fef2a-02d3-4285-a03d-b8c5648b2a11</Id>
    <ExpireAt>2014-12-11T14:53:08.9331347+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>62.149.1.74</DomainName>
            <Values>
                <Data>
                    <Parameter>GeoTool</Parameter>
                    <Value xsi:type="GeoApiData">
                        <City />                              <!-- город -->
                        <Country>Ukraine</Country>            <!-- страна -->
                        <Isp>Colocall Ltd.</Isp>              <!-- провайдер -->
                        <HostName>WIN-2NHC6VS6TLI</HostName>  <!-- имя хоста -->
                        <Iso2>UA</Iso2>                       <!-- страна ISO2 -->
                        <CountryRu>Украина</CountryRu>        <!-- русское название страны -->
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>GeoTool</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>62.149.1.74</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Сайты на IP
Стоимость:0,01$ за 1000 запросов

Сайты на IP определяются с помощью функции /sitesonip

<?php
 // RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// Максимальное кол-во результатов
$count = 10;

// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/sitesonip/207.46.232.182/".$count);

// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Посылаем запрос
$sitesOnIp = new SimpleXMLElement(curl_exec($ch));
$mirrorItemsCount = (int)$responseData;

$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

echo $sitesOnIp->CountAll.PHP_EOL;
$i = 0;
foreach($sitesOnIp->Collection->SiteItem as $site)
{
    echo ++$i.". {$site->Url} - {$site->SubDomen}".PHP_EOL;
} 
                        


Сайты на IP по Bing
Стоимость:0,2$ за 1000 запросов

Проверка cайты на IP по Bing осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
  <Parameters>
    <TaskVariant>BingIp</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>62.149.1.74</string>
  </DomainNames>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>21843e48-23a8-4c0b-b8fc-b40bbfac11f3</Id>
    <ExpireAt>2014-12-09T18:39:18.6973791+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>62.149.1.74</DomainName>
            <Values>
                <Data>
                    <Parameter>BingIp</Parameter>
                    <Value xsi:type="xsd:int">0</Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
  <Parameters>
    <TaskVariant>BingIp</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>62.149.1.74</string>
  </DomainNames>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
    }
    echo "<br/>";
} 
                        


Параметры страницы
Стоимость:0,03$ за 1000 запросов

Проверка Параметры страницы осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии для проверки доменов

<InitSession>
    <Parameters>
        <TaskVariant>PageValuesExt</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>pikabu.ru/</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

XML для инициализации сессии для проверки страниц. Параметр RecipSiteUrl обязательный и содержит в себе домен реципиента, наличие ссылки на которого Вы проверяете

<InitSession>
    <Parameters>
        <TaskVariant>PageValuesExt</TaskVariant>
    </Parameters>
    <DomainNames>
        <Page>
            <Url>pikabu.ru/</Url>
            <RecipSiteUrl>http://chaype.ru/</RecipSiteUrl>
        </Page>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии после проверки домена, при проверке страницы придет дополнительный параметр Donors

<ApiSessionItemContract>
    <Id>385bd114-93ef-4518-9afa-ba5fc77004b1</Id>
    <ExpireAt>2014-12-19T12:06:14.1387852+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>pikabu.ru/</DomainName>
            <Values>
                <Data>
                    <Parameter>PageValuesExt</Parameter>
                    <Value xsi:type="PageValuesApiDataPages">
                        <Title>Горячее / pikabu.ru - Все</Title>  <!-- заголовок страницы -->
                        <LinksIn>296</LinksIn>                    <!-- входящие ссылки -->
                        <LinksOut>5</LinksOut>                    <!-- исходящие ссылки -->
                        <ComLinks>0</ComLinks>                    <!-- коммерческие ссылки -->
                        <PageSize>281</PageSize>                  <!-- размер страницы -->
                        <ClearPageSize>77</ClearPageSize>         <!-- размер страницы без тегов -->
                        <WmExists>false</WmExists>
                        <ResponseCode>OK</ResponseCode>           <!-- HttpStatusCode -->
                        <Cmses />                                 <!-- системы управления сайтом -->
                        <Commercials />                           <!-- контекстная реклама -->
                        <Counters>                                <!-- счетчики -->
                            <CountersApiData>
                                <Type>Liveinternet</Type>
                                <SiteId>-5</SiteId>
                                <Codes />
                            </CountersApiData>
                            <CountersApiData>
                                <Type>GoogleAnalytics</Type>
                                <SiteId>-1</SiteId>
                                <Codes>
                                    <CommercialCodesApiData>
                                        <Code>UA-28292940-1</Code>
                                        <Type>Analytics</Type>
                                    </CommercialCodesApiData>
                                </Codes>
                            </CountersApiData>
                            <CountersApiData>
                                <Type>YandexMetrica</Type>
                                <SiteId>174977</SiteId>
                                <Codes />
                            </CountersApiData>
                            <CountersApiData>
                                <Type>Top100Rambler</Type>
                                <SiteId>2506609</SiteId>
                                <Codes />
                            </CountersApiData>
                        </Counters>
                        <Donors>                                   <!-- доноры -->
                            <DonorApiData>
                                <Url>http://chaype.ru/</Url>
                                <Text>
                                    <string>[NOINDEX][NOFOLLOW]Чат[/NOFOLLOW][/NOINDEX]</string>
                                </Text>
                            </DonorApiData>
                        </Donors>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>PageValuesExt</TaskVariant>
    </Parameters>
    <DomainNames>
        <Page>
            <Url>pikabu.ru/</Url>
            <RecipSiteUrl>http://chaype.ru/</RecipSiteUrl>
        </Page>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
            if($paramKey == 'Counters') {
                foreach($paramValue->CountersApiData as $countersData) {
                    echo $countersData->Type."<br/>";
                    echo $countersData->SiteId."<br/>";
                    foreach($countersData->Codes->CommercialCodesApiData as $commercialData) {
                        echo $commercialData->Code."<br/>";
                        echo $commercialData->Type."<br/>";
                    }
                    echo "<br/>";
                }
            } else if($paramKey == 'Donors') {
                foreach($paramValue->DonorApiData as $donorsData) {
                    echo $donorsData->Url."<br/>";
                    echo $donorsData->Text->string."<br/>";
                }
            }
        }
    }
    echo "<br/>";
} 
                        


Поддомены
Стоимость:0,2$ за 1000 запросов

Получить поддомены можно через API функциию /subdomens

Примеры запросов


http://recipdonor.com:998/api/subdomens/microsoft.com/ - вернет все поддомены
http://recipdonor.com:998/api/subdomens/microsoft.com/10 - вернет первые 10 поддоменов
<?php
 // RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/subdomens/microsoft.com/10");

// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Посылаем запрос
$subdomainsData = new SimpleXMLElement(curl_exec($ch));

$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

foreach($subdomainsData->Collection->SiteItem as $subdomen)
{
    printf($subdomen->Url.PHP_EOL);
}

printf("Count all : %s".PHP_EOL, $subdomainsData->CountAll);

/* output
support.microsoft.com
msdn.microsoft.com
technet.microsoft.com
search.microsoft.com
office.microsoft.com
...
Count all : 203
 */ 
                        


Партнерский код
Стоимость:1,0$ за 1000 запросов

Сайты можно получить из функции /commercials. Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса /commercials/count/.

Запрос для получения кол-ва значений (используется для вычисления стоимости основного запроса)

/commercials/count/adsense/pub-xxxxxxxxxxxxxxxx

Для полчения самих значений

/commercials/adsense/pub-xxxxxxxxxxxxxxxx

Получаем ответ вида

<ArrayOfString>
	<string>example.com</string>
	<string>test.com</string>
</ArrayOfString>

      <?php
      // RDS Api ключ пользователя
      $api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
      // Стоимость $ одной проверки
      define("oneItemCost", 0.005);

      // Инициализируем запрос
      $ch = curl_init("http://recipdonor.com:998/api/commercials/count/adsense/pub-xxxxxxxxxxxxxxxx?format=json");

      // Передаем API ключ
      curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

      // Посылаем запрос, принимаем ответ отсекаем utf-8 BOM
      $responseData = substr(curl_exec($ch),3);
      $adSenseUrlsCount = json_decode($responseData);

      $responseInfo = curl_getinfo($ch);
      if($responseInfo['http_code'] != 200) exit('Wrong request!');

      curl_close($ch);

      // Выводим стоимость проверки
      echo "The cost of check = $".(oneItemCost * $adSenseUrlsCount);
      echo PHP_EOL;

      // Инициализируем запрос
      $ch = curl_init("http://recipdonor.com:998/api/commercials/adsense/pub-xxxxxxxxxxxxxxxx?format=json");

      // Передаем API ключ
      curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

      // Посылаем запрос, получаем ответ, отсекаем utf-8 BOM
      $adSenseUrls = json_decode(substr(curl_exec($ch),3));
      $responseInfo = curl_getinfo($ch);
      if($responseInfo['http_code'] != 200) exit('Wrong request!');

      curl_close($ch);

      // Выводим результат
      foreach($adSenseUrls as $url)
      {
      echo $url.PHP_EOL;
      }

      /*
      The cost of check = $0.001
      example.com
      test.com
      .....
      */
     
                        


SEMRush
Стоимость:0,2$ за 1000 запросов

Проверка SEMRush рейтинга осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>Semrush</TaskVariant>
    </Parameters>
    <DomainNames>
        <SemrushTask>
            <DomainName>recipdonor.com</DomainName>
            <DomainZone>ru</DomainZone>
        </SemrushTask>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Региональная база DomainZone может принимать одно из значений

Google:

    America:
    • "" United States
    • "ca" Canada
    • "br" Brazil
    • "ar" Argentina
    • "mx" Mexico
    Europe:
    • "uk" United Kingdom
    • "ru" Russia
    • "de" Germany
    • "fr" France
    • "es" Spain
    • "it" Italy
    • "be" Belgium
    • "ch" Switzerland
    • "dk" Denmark
    • "fi" Finland
    • "ie" Ireland
    • "il" Israel
    • "nl" Netherlands
    • "no" Norway
    • "pl" Poland
    • "se" Sweden
    • "tr" Turkey
    Australia:
    • "au" Australia
    Asia:
    • "hk" Hong Kong
    • "sg" Singapore
    • "jp" Japan
    • "in" India

Bing:

Пример ответа сессии

<ApiSessionItemContract>
    <Id>1c94bda4-317c-4490-ad06-7a8e75c81d22</Id>
    <ExpireAt>2014-12-17T20:06:57.6500357+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Semrush</Parameter>
                    <Value xsi:type="SemrushApiData">
                        <Value>46093</Value>
                        <Traffic>1340</Traffic>
                        <Costs>183</Costs>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>Semrush</TaskVariant>
    </Parameters>
    <DomainNames>
        <SemrushTask>
            <DomainName>recipdonor.com</DomainName>
            <DomainZone>ru</DomainZone>
        </SemrushTask>
    </DomainNames>
    <Refresh>false</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Валидатор
Стоимость:0,2$ за 1000 запросов

Проверка валидности страницы осуществляется через сессии.

Используются методы /session/new и /session/get.

XML для инициализации сессии

<InitSession>
    <Parameters>
        <TaskVariant>Validator</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>

Пример ответа сессии

<ApiSessionItemContract>
    <Id>ce4fa3d3-32b8-46c4-b699-20fc7ab3e914</Id>
    <ExpireAt>2014-12-17T19:51:18.0887397+02:00</ExpireAt>
    <Progress>100</Progress>
    <SessionStatus>Completed</SessionStatus>
    <Domains>
        <DomainData IsValid="true">
            <DomainName>recipdonor.com</DomainName>
            <Values>
                <Data>
                    <Parameter>Validator</Parameter>
                    <Value xsi:type="ValidatorApiData">
                        <IsValid>false</IsValid>
                        <Errors>9</Errors>
                        <Warnings>0</Warnings>
                    </Value>
                </Data>
            </Values>
        </DomainData>
    </Domains>
</ApiSessionItemContract>
<?php

// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// XML для инициализации сессии
$put_data =
'<InitSession>
    <Parameters>
        <TaskVariant>Validator</TaskVariant>
    </Parameters>
    <DomainNames>
        <string>recipdonor.com</string>
    </DomainNames>
    <Refresh>true</Refresh>
</InitSession>';

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
// Указываем возврат результата передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);

// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);

if($responseInfo['http_code'] != 200) exit('Wrong request!');

// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;

$sessionData = null;
do{
    // Небольшая задержка перед получением данных
    sleep(2);
    // Инициализируем запрос для получения данных сессии
    $ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
    // Передаем API ключ
    curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));

    // Получаем и обрабатываем пришедший ответ
    $response = curl_exec($ch);
    $responseInfo = curl_getinfo($ch);
    curl_close($ch);

    if($responseInfo['http_code'] != 200) exit('Wrong request!');

    $sessionData = new SimpleXMLElement($response);

    // Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');

// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
    // Доменное имя
    echo $domain->DomainName."<br/>";

    foreach($domain->Values->Data as $data)
    {
        echo $data->Parameter."<br/>";
        echo $data->Value."<br/>";
        
        foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
        {
            echo "{$paramKey} = {$paramValue}"."<br/>";
        }
    }
    echo "<br/>";
} 
                        


Поиск по WebMoney данным
Стоимость:10,0$ за 1000 запросов

Получить WebMoney Id для сайтов можно используя API функцию wmidsbysite.

Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса wmidsbysite/count.

Получить сайты для WebMoney Id можно используя API функцию sitesbywmid.

Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса sitesbywmid/count/bulk.

Пример запроса получения WebMoney Id для сайтов

Параметр "Count" может быть упущен и тогда возвратятся все возможные результаты.


POST /api/wmidsbysite HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: text/xml; charset=utf-8
Host: recipdonor.com:998
<?xml version="1.0"?>
<ArrayOfInitWmId>
<InitWmId>
<Url>test.com</Url>
<MaxCount xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>
</InitWmId>
<InitWmId>
<Url>test2.com</Url>
<MaxCount>1</MaxCount>
</InitWmId>
</ArrayOfInitWmId>

Получаем ответ


<ArrayOfUrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>test.com</Url>
<WmIds>
<long>111111111111</long>
<long>999999999999</long>
</WmIds>
<ResultsCount>
2
</ResultsCount>
</UrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>test2.com</Url>
<WmIds>
<long>222222222222</long>
</WmIds>
<ResultsCount>
1
</ResultsCount>
</UrlWmIdsApiItem>
</ArrayOfUrlWmIdsApiItem>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

// Формируем XML
$post_data = "
<ArrayOfInitWmId>
<InitWmId>
<Url>test.com</Url>
<MaxCount xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>
</InitWmId>
<InitWmId>
<Url>test2.com</Url>
<MaxCount>1</MaxCount>
</InitWmId>
</ArrayOfInitWmId>
";

// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/wmidsbysite");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_POST, true);
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: text/xml; charset=utf-8",
    "Content-Length: ".strlen($post_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

// Посылаем запрос
$wmData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');

curl_close($ch);

// Обрабатываем пришедший ответ
$wmXmlData = new SimpleXMLElement($wmData);


foreach($wmXmlData as $wmItem)
{
    echo "{$wmItem->Url} - {$wmItem->WmIds}".PHP_EOL;
} 
                        


API методы:

Инициализация сессии
Url: session/new
HTTP метод(ы): PUT
XML:
<InitSession>
  <Parameters>
    <TaskVariant>Cy</TaskVariant>
  </Parameters>
  <DomainNames>
    <string>String content</string>
  </DomainNames>
  <Refresh>true</Refresh>
</InitSession>
JSON:
{
  "DomainNames":["String content"],
  "Parameters":[0],
  "Refresh":true
}
DomainNames — Доменное имя, путь или IP, в зависимости от Parameters
Parameters — Возможные значения: IY - Индекс Я, IYPages - Индекс Я страницы, GeoData - гео данные по IP адресу, CY - тИЦ, PR - Google Page Rank, DMOZ - Наличие в каталоге DMOZ, IG - Индекс Google, Whois - регистрационные данные о владельце, PageValues(входящие ссылки, исходящие ссылки, "платные" ссылки, содержание тега title страницы, CMS Движок), BingIp - Кол-во сайтов на IP по Bing, CyImage - тИЦ картинка, IGPages - проиндексированность страниц в Google, Wa - наличие в WebArchive, YaBar - данные Я.Бар
Refresh — true - проверка минуя базу данных(медленнее)
XML:
<ApiSessionItemSlimContract>
  <Id>ab59b3ea-305c-4e3c-9ad3-ea2ad0f52cdf</Id>
  <ExpireAt>2015-01-16T18:18:03.0638585+02:00</ExpireAt>
  <Progress>0</Progress>
  <SessionStatus>AtChecking</SessionStatus>
</ApiSessionItemSlimContract>
JSON:
{
  "Id":"ab59b3ea-305c-4e3c-9ad3-ea2ad0f52cdf",
  "ExpireAt":"2015-01-16T18:18:03.0638585+02:00",
  "Progress":0,
  "SessionStatus":"AtChecking"
}
ExpireAt — Дата окончания жизни сессии
Id — Уникальный идентификатор сессии
SessionStatus — AtChecking - проверяется, Completed - завершена, Bankrupt - банкрот
Получение данных сессии
Url: session/get/{sid}
HTTP метод(ы): GET
Параметры:
  • {sid} – Идентификатор сессии
XML:
<ApiSessionItemContract>
  <Id>ab59b3ea-305c-4e3c-9ad3-ea2ad0f52cdf</Id>
  <ExpireAt>2015-01-16T18:20:44.0690674+02:00</ExpireAt>
  <Progress>100</Progress>
  <SessionStatus>Completed</SessionStatus>
  <Domains>
    <DomainData>
      <DomainName>test.com</DomainName>
        <Values>
          <Data>
            <Parameter>Cy</Parameter>
            <Value xsi:type="CyApiData">
              <Cy>4700</Cy>
              <Yaca>0</Yaca>
              <YaBarMirrow>1</YaBarMirrow>
            </Value>
          </Data>
        </Values>
      </DomainData>
    </Domains>
</ApiSessionItemContract>
JSON:
{
  "Domains":[{
    "IsValid":true,
    "DomainName":"test.com",
    "Values":[{
      "Parameter":"Cy",
      "Value":{
        "Cy":4700,
        "Yaca":"0",
        "YaBarMirrow":1
      }
    }]
  }],
  "Id":"ab59b3ea-305c-4e3c-9ad3-ea2ad0f52cdf",
  "ExpireAt":"2015-01-16T18:20:44.0690674+02:00",
  "Progress":100,
  "SessionStatus":"Completed"
}
ExpireAt — Дата окончания жизни сессии
Id — Уникальный идентификатор сессии
SessionStatus — Completed - завершена, Bankrupt - банкрот
Domains/DomainData/DomainName — Доменное имя проверяемого сайта
Domains/DomainData/DomainName/Values/Data/Parameter — Имя проверяемого параметра (CY - тИЦ)
Domains/DomainData/DomainName/Values/Data/Value — Данные проверки, могут меняться в зависимости от проверяемого параметра (Cy - Значение тИЦ, Yaca - Яндекс Каталог, YaBarMirrow - зеркало)
История проверок
Url: history/siteslibrary/{htype}/{domain}
HTTP метод(ы): GET
Параметры:
  • {htype} – Тип истории (CY - Тиц, IY - Индекс Яндекс, PR - Page Rank)
  • {domain} – Доменное имя
XML:
<ArrayOfHistoryItem>
    <HistoryItem>
        <Date>2015-01-16T15:16:00</Date>
        <Value>2</Value>
        <Yac xsi:nil="true" />
    </HistoryItem>
    <HistoryItem>
        <Date>2012-07-13T18:58:00</Date>
        <Value>3</Value>
        <Yac xsi:nil="true" />
    </HistoryItem>
</ArrayOfHistoryItem>
JSON:
[
   {
      "Date":"2015-01-16T15:16:00",
      "Value":2,
      "Yac":null
   },
   {
      "Date":"2012-07-13T18:58:00",
      "Value":3,
      "Yac":null
   }
]
HistoryItem/Date — Дата проверки
HistoryItem/Value — Значение
HistoryItem/Yac — Наличие в Я.Каталоге
Кол-во значений в истории проверок
Url: history/count/siteslibrary/{htype}/{domain}
HTTP метод(ы): GET
Параметры:
  • {htype} – Тип истории (CY - Тиц, IY - Индекс Яндекс, PR - Page Rank)
  • {domain} – Доменное имя
XML:
<int>50</int>
JSON:
50
Зеркала домена
Url: mirror/{domain}
HTTP метод(ы): GET
Параметры:
  • {domain} – Доменное имя
XML:
<ArrayOfString>
    <string>ztest.com</string>
    <string>atest.com</string>
</ArrayOfString>
JSON:
["ztest.com", "atest.com"]
Кол-во зеркал у домена
Url: mirror/count/{domain}
HTTP метод(ы): GET
Параметры:
  • {domain} – Доменное имя
XML:
<int>5</int>
JSON:
5
Возраст домена
Url: age/{domain}
HTTP метод(ы): GET
Параметры:
  • {domain} – Доменное имя
XML:
<dateTime>2007-12-03T00:00:00</dateTime>
JSON:
"Sun, 02 Dec 2007 22:00:00 GMT"
Cайты на IP
Url: sitesonip/{ip}/{count}
HTTP метод(ы): GET
Параметры:
  • {ip/domain} – ip адрес или доменное имя
  • {count} – максимальное кол-во результатов
XML:
<SiteItemCollectionOfSiteItem>
    <Collection>
        <SiteItem>
            <Url>aif.ru</Url>
            <SubDomen>aif.ru</SubDomen>
        </SiteItem>
        <SiteItem>
            <Url>aif.ua</Url>
            <SubDomen>aif.ua</SubDomen>
        </SiteItem>
        <SiteItem>
            <Url>spb.aif.ru</Url>
            <SubDomen>[PAYSUB]spb[/PAYSUB].aif.ru</SubDomen>
        </SiteItem>
    </Collection>
    <CountAll>158</CountAll>
</SiteItemCollectionOfSiteItem>
JSON:
{
  "Collection":[
    {
      "Url":"aif.ru",
      "SubDomen":"aif.ru"
    },
    {
      "Url":"aif.ua",
      "SubDomen":"aif.ua"
    },
    {
      "Url":"spb.aif.ru",
      "SubDomen":"[PAYSUB]spb[/PAYSUB].aif.ru"
    }
  ],
  "CountAll":158
}
Collection/SiteItem/Url — Доменное имя
Collection/SiteItem/SubDomen — FREESUB - бесплатный поддомен, PAYSUB - платный поддомен
CountAll — Полное кол-во результатов. Результатов в возвращаемой коллекции может быть не больше 10000.
Поддомены
Url: subdomens/{domain}/{count}
HTTP метод(ы): GET
Параметры:
  • {domain} – Доменное имя
  • {count} – Кол-во возвращаемых результатов (30 - по умолчанию)
XML:
<SiteItemCollectionOfSiteItem>
    <Collection>
        <SiteItem>
            <Url>spb.aif.ru</Url>
            <SubDomen>[PAYSUB]spb[/PAYSUB].aif.ru</SubDomen>
        </SiteItem>
        <SiteItem>
            <Url>gazeta.aif.ru</Url>
            <SubDomen>[PAYSUB]gazeta[/PAYSUB].aif.ru</SubDomen>
        </SiteItem>
        <SiteItem>
            <Url>vlg.aif.ru</Url>
            <SubDomen>[PAYSUB]vlg[/PAYSUB].aif.ru</SubDomen>
        </SiteItem>
    </Collection>
    <CountAll>166</CountAll>
</SiteItemCollectionOfSiteItem>
JSON:
{
  "Collection":[
    {
      "Url":"spb.aif.ru",
      "SubDomen":"[PAYSUB]spb[/PAYSUB].aif.ru"
    },
    {
      "Url":"gazeta.aif.ru",
      "SubDomen":"[PAYSUB]gazeta[/PAYSUB].aif.ru"
    },
    {
      "Url":"vlg.aif.ru",
      "SubDomen":"[PAYSUB]vlg[/PAYSUB].aif.ru"
    }
  ],
  "CountAll":166
}
Collection/SiteItem/Url — Доменное имя
Collection/SiteItem/SubDomen — FREESUB - бесплатный поддомен, PAYSUB - платный поддомен
CountAll — Полное кол-во результатов. Результатов в возвращаемой коллекции может быть не больше 10000.
Whois
Url: whois/{domain}
HTTP метод(ы): GET
Параметры:
  • {domain} – Доменное имя
XML:
<WhoisItem>
    <WhoisStartDate>1997-02-03T00:00:00</WhoisStartDate>
    <WhoisExpDate>2016-03-01T00:00:00</WhoisExpDate>
    <WhoisEmail>ru-bill@nic.ru</WhoisEmail>
    <WhoisDns>ns1.aif.ru. 130.193.65.55 ns2.aif.ru. 81.23.15.70 ns3.aif.ru. 81.23.15.81 ns4-cloud.nic.ru ns4-l2.ni</WhoisDns>
    <WhoisInfo>\nArgumenty i facty LTD</WhoisInfo>
    <WhoisPhone>+74957370601</WhoisPhone>
    <WhoisRegInfo>RU-CENTER-RU\nArgumenty i facty LTD\nRegional Network Information Center</WhoisRegInfo>
    <Url/>
    <Whois>1</Whois>
    <WhoisHistCount>0</WhoisHistCount>
</WhoisItem>
JSON:
{
  "WhoisStartDate":"Sun, 02 Feb 1997 22:00:00 GMT",
  "WhoisExpDate":"Mon, 29 Feb 2016 22:00:00 GMT",
  "WhoisEmail":"ru-bill@nic.ru",
  "WhoisDns":"ns1.aif.ru. 130.193.65.55 ns2.aif.ru. 81.23.15.70 ns3.aif.ru. 81.23.15.81 ns4-cloud.nic.ru ns4-l2.ni",
  "WhoisInfo":"\nArgumenty i facty LTD",
  "WhoisPhone":"+74957370601",
  "WhoisRegInfo":"RU-CENTER-RU\nArgumenty i facty LTD\nRegional Network Information Center",
  "Url":"",
  "Whois":1,
  "WhoisId":null,
  "WhoisHistCount":0
}
WhoisStartDate — Дата регистрации
WhoisExpDate — Дата окончания действия
WhoisEmail — E-mail регистратора
WhoisDns — DNS серверa
WhoisInfo — Владелец
WhoisPhone — Телефон
WhoisRegInfo — Регистратор
Наличие покупных ссылок
Url: /links/bulk/
HTTP метод(ы): POST
XML:
<ArrayOfString>
    <string>aif.ru</string>
    <string>microsoft.com</string>
</ArrayOfString>
JSON:
["aif.ru", "microsoft.com"]
XML:
<ArrayOfLinksItem>
    <LinksItem>
        <Url>aif.ru</Url>
        <BuyLinks>1</BuyLinks>
    </LinksItem>
    <LinksItem>
        <Url>microsoft.com</Url>
        <BuyLinks>0</BuyLinks>
    </LinksItem>
</ArrayOfLinksItem>
JSON:
[
  {
    "Url":"aif.ru",
    "BuyLinks":1
  },
  {
    "Url":"microsoft.com",
    "BuyLinks":0
  }
]
Кол-во сайтов на IP (массовая проверка)
Url: /sitesonip/bulk/count
HTTP метод(ы): POST
XML:
<ArrayOfString>
    <string>130.193.65.58</string>
    <string>134.170.185.46</string>
</ArrayOfString>
JSON:
["134.170.185.46", "130.193.65.58"]
XML:
<ArrayOfIpCountItem>
    <IpCountItem>
        <Address>134.170.185.46</Address>
        <Count>132</Count>
    </IpCountItem>
    <IpCountItem>
        <Address>130.193.65.58</Address>
        <Count>158</Count>
    </IpCountItem>
</ArrayOfIpCountItem>
JSON:
[
  {
    "Address":"134.170.185.46",
    "Count":132
  },
  {
    "Address":"130.193.65.58",
    "Count":158
  }
]
Пользовательские данные
Url: /user/data
HTTP метод(ы): GET
XML:
<UserData>
    <RdsAccountBalance>98.219610</RdsAccountBalance>
    <RdsEmail>user@rds.com</RdsEmail>
</UserData>
JSON:
{
  "RdsAccountBalance":98.219610,
  "RdsEmail":"user@rds.com"
}
Сайты владельца по партнерскому коду
Url: /api/commercials/{comType}/{code}
HTTP метод(ы): GET
Параметры:
  • {comType} – Тип партнерской программы (AdSense)
  • {code} – Партнерский код
XML:
<SiteItemCollectionOfCodeItem>
    <Collection>
        <CodeItem>
            <Url>photoregion.ru</Url>
        </CodeItem>
        <CodeItem>
            <Url>fan-t-asia.ru</Url>
        </CodeItem>
        <CodeItem>
            <Url>fotoregion.ru</Url>
        </CodeItem>
    </Collection>
    <CountAll>3</CountAll>
</SiteItemCollectionOfCodeItem>
JSON:
{
  "Collection":[
    {
      "Url":"photoregion.ru",
      "CommercialCodes":null
    },
    {
      "Url":"fan-t-asia.ru",
      "CommercialCodes":null
    },
    {
      "Url":"fotoregion.ru",
      "CommercialCodes":null
    }
  ],
  "CountAll":3
}
Кол-во сайтов по партнерскому коду
Url: /api/commercials/count/{comType}/{code}
HTTP метод(ы): GET
Параметры:
  • {comType} – Тип партнерской программы (AdSense)
  • {code} – Партнерский код
XML:
<int>5</int>
JSON:
5
WebMoney Id привязанные к доменам
Url: wmidsbysite
HTTP метод(ы): POST
XML:
<ArrayOfInitWmId>
    <InitWmId>
        <Url>forum.searchengines.ru</Url>
    </InitWmId>
    <InitWmId>
        <Url>alex-press.ru</Url>
        <MaxCount>2</MaxCount>
    </InitWmId>
</ArrayOfInitWmId>
JSON:
[
  {
    "Url":"forum.searchengines.ru",
    "MaxCount":null
  },
  {
    "Url":"alex-press.ru",
    "MaxCount":2
  }
]
Url — Доменное имена
Count — Максимальное кол-во результатов
XML:
<ArrayOfUrlWmIdsApiItem>
    <UrlWmIdsApiItem>
        <Url>forum.searchengines.ru</Url>
        <WmIds>
            <long>395480247803</long>
            <long>162039862914</long>
        </WmIds>
        <ResultsCount>2</ResultsCount>
    </UrlWmIdsApiItem>
    <UrlWmIdsApiItem>
        <Url>alex-press.ru</Url>
        <WmIds>
            <long>443488390692</long>
        </WmIds>
        <ResultsCount>1</ResultsCount>
    </UrlWmIdsApiItem>
</ArrayOfUrlWmIdsApiItem>
JSON:
[
  {
    "Url":"aif.ru",
    "HistoryType":"CyHistory",
    "OnlyDifferent":true,
    "OnlyDates":false,
    "HistoryItems":null,
    "ResultsCount":2,
    "State":"None"
  },
  {
    "Url":"microsoft.com",
    "HistoryType":"CyHistory",
    "OnlyDifferent":true,
    "OnlyDates":true,
    "HistoryItems":null,
    "ResultsCount":2,
    "State":"None"
  }
]
UrlWmIdsApiItem/Url — Доменное имя
UrlWmIdsApiItem/WmIds — WebMoney Id привязанные к доменному имени
UrlWmIdsApiItem/ResultsCount — Кол-во результатов
Множественное получение истории проверок
Url: historybulk/siteslibrary
HTTP метод(ы): POST
XML:
<ArrayOfHistoryInit>
    <HistoryInit>
        <Url>aif.ru</Url>
        <HistoryType>CyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>false</OnlyDates>
        <MaxCount>5</MaxCount>
        <DatesVariety>
            <Dates>
                <dateTime>2011-12-12T00:00:00</dateTime>
                <dateTime>2012-01-24T00:00:00</dateTime>
                <dateTime>2011-12-26T00:00:00</dateTime>
            </Dates>
            <DatesThrough>
                <DateInterval>
                    <BeginDate>2011-10-21T00:00:00</BeginDate>
                    <EndDate>2012-01-03T00:00:00</EndDate>
                </DateInterval>
            </DatesThrough>
        </DatesVariety>
    </HistoryInit>
    <HistoryInit>
        <Url>microsoft.com</Url>
        <HistoryType>IyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>true</OnlyDates>
        <MaxCount>5</MaxCount>
        <DatesVariety>
            <Dates>
                <dateTime>2011-12-26T00:00:00</dateTime>
                <dateTime>2006-12-12T00:00:00</dateTime>
            </Dates>
            <DatesThrough>
                <DateInterval>
                    <BeginDate>2011-10-21T00:00:00</BeginDate>
                    <EndDate>2012-01-03T00:00:00</EndDate>
                </DateInterval>
            </DatesThrough>
        </DatesVariety>
    </HistoryInit>
</ArrayOfHistoryInit>
JSON:
[
  {
    "Url":"aif.ru",
    "HistoryType":63,
    "OnlyDates":false,
    "OnlyDifferent":true,
    "MaxCount":5,
    "DatesVariety":{
      "Dates":[
        "\/Date(1323640800000+0300)\/",
        "\/Date(1327356000000+0300)\/",
        "\/Date(1324850400000+0300)\/"
      ],
      "DatesThrough":[
        {
          "BeginDate":"\/Date(1319144400000+0300)\/",
          "EndDate":"\/Date(1325541600000+0300)\/"
        }
      ]
    }
  },
  {
    "Url":"microsoft.com",
    "HistoryType":63,
    "OnlyDates":true,
    "OnlyDifferent":true,
    "MaxCount":5,
    "DatesVariety":{
      "Dates":[
        "\/Date(1324850400000+0300)\/",
        "\/Date(1165874400000+0300)\/"
      ],
      "DatesThrough":[
        {
          "BeginDate":"\/Date(1319144400000+0300)\/",
          "EndDate":"\/Date(1325541600000+0300)\/"
        }
      ]
    }
  }
]
Url — Доменное имя
HistoryType — Тип истории. В случае xml запроса может принимать значения: CyHistory - для проверки тИЦ, PrHistory - Google PageRank, IyHistory - Индекс Я. Для Json числовые значения 63, 64, 65 соотвественно
OnlyDifferent — Может принимать значения true/false. При true - выбираются только те даты где произошло изменения значения параметра, при false выбираются все
OnlyDates — Может принимать значения true/false. При true - получаются только даты проверок без значений (при этом оплата не взымается), при false получаются и даты и значения (такая проверка платная)
MaxCount — Максимальное возвращаемое кол-во результатов
DatesVariety — Контейнер в котором можно указать параметры выборки с учетом дат
Dates — Содержит в себе даты значения проверок в которые Вы хотите получить
DatesThrough — Содержит в себе периоды дат (DateInterval - содержащий начальное и конечное значения) значения проверок в которые Вы хотите получить
XML:
<ArrayOfHistoryBulkResult>
    <HistoryBulkResult>
        <Url>aif.ru</Url>
        <HistoryType>CyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>false</OnlyDates>
        <HistoryItems>
            <HistoryItem>
                <Date>2011-12-09T16:44:00</Date>
                <Value>11000</Value>
                <Yaca>false</Yaca>
            </HistoryItem>
            <HistoryItem>
                <Date>2011-11-07T13:20:00</Date>
                <Value>11000</Value>
                <Yaca>true</Yaca>
            </HistoryItem>
        </HistoryItems>
        <ResultsCount>2</ResultsCount>
        <State>None</State>
    </HistoryBulkResult>
    <HistoryBulkResult>
        <Url>microsoft.com</Url>
        <HistoryType>IyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>true</OnlyDates>
        <HistoryItems>
            <HistoryItem>
                <Date>2012-01-03T22:43:00</Date>
                <Value xsi:nil="true"/>
                <Yaca xsi:nil="true"/>
            </HistoryItem>
            <HistoryItem>
                <Date>2011-12-29T21:34:00</Date>
                <Value xsi:nil="true"/>
                <Yaca xsi:nil="true"/>
            </HistoryItem>
            <HistoryItem>
                <Date>2011-12-26T12:53:00</Date>
                <Value xsi:nil="true"/>
                <Yaca xsi:nil="true"/>
            </HistoryItem>
            <HistoryItem>
                <Date>2011-12-12T15:42:00</Date>
                <Value xsi:nil="true"/>
                <Yaca xsi:nil="true"/>
            </HistoryItem>
            <HistoryItem>
                <Date>2011-12-07T17:27:00</Date>
                <Value xsi:nil="true"/>
                <Yaca xsi:nil="true"/>
            </HistoryItem>
        </HistoryItems>
        <ResultsCount>5</ResultsCount>
        <State>None</State>
    </HistoryBulkResult>
</ArrayOfHistoryBulkResult>
JSON:
[
  {
    "Url":"aif.ru",
    "HistoryType":"CyHistory",
    "OnlyDifferent":true,
    "OnlyDates":false,
    "HistoryItems":[
      {
        "Date":"Fri, 09 Dec 2011 14:44:00 GMT",
        "Value":11000,
        "Yac":false
      },
      {
        "Date":"Mon, 07 Nov 2011 11:20:00 GMT",
        "Value":11000,
        "Yac":true
      }
    ],
    "ResultsCount":2,
    "State":"None"
  },
  {
    "Url":"microsoft.com",
    "HistoryType":"CyHistory",
    "OnlyDifferent":true,
    "OnlyDates":true,
    "HistoryItems":[
      {
        "Date":"Fri, 09 Dec 2011 14:29:00 GMT",
        "Value":null,
        "Yac":null
      },
      {
        "Date":"Sat, 22 Oct 2011 18:03:00 GMT",
        "Value":null,
        "Yac":null
      }
    ],
    "ResultsCount":2,
    "State":"None"
  }
]
ArrayOfHistoryBulkResult — Коллекция HistoryBulkResult - с рузультатми выборок истории по переданным раннее HistoryInit
HistoryItems — Коллекция HistoryItem, где Date - дата проверки, Value - значение, Yaca - наличие в Яндекс каталоге(заполнена в случае проверки тИЦ)
ResultsCount — Кол-во результатов
Множественное получение кол-ва результатов истории проверок
Url: historybulk/count/siteslibrary
HTTP метод(ы): POST
XML:
<ArrayOfHistoryInit>
    <HistoryInit>
        <Url>aif.ru</Url>
        <HistoryType>CyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>false</OnlyDates>
        <MaxCount>5</MaxCount>
        <DatesVariety>
            <Dates>
                <dateTime>2011-12-12T00:00:00</dateTime>
                <dateTime>2012-01-24T00:00:00</dateTime>
                <dateTime>2011-12-26T00:00:00</dateTime>
            </Dates>
            <DatesThrough>
                <DateInterval>
                    <BeginDate>2011-10-21T00:00:00</BeginDate>
                    <EndDate>2012-01-03T00:00:00</EndDate>
                </DateInterval>
            </DatesThrough>
        </DatesVariety>
    </HistoryInit>
    <HistoryInit>
        <Url>microsoft.com</Url>
        <HistoryType>IyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>true</OnlyDates>
        <MaxCount>5</MaxCount>
        <DatesVariety>
            <Dates>
                <dateTime>2011-12-26T00:00:00</dateTime>
                <dateTime>2006-12-12T00:00:00</dateTime>
            </Dates>
            <DatesThrough>
                <DateInterval>
                    <BeginDate>2011-10-21T00:00:00</BeginDate>
                    <EndDate>2012-01-03T00:00:00</EndDate>
                </DateInterval>
            </DatesThrough>
        </DatesVariety>
    </HistoryInit>
</ArrayOfHistoryInit>
JSON:
[
  {
    "Url":"aif.ru",
    "HistoryType":63,
    "OnlyDates":false,
    "OnlyDifferent":true,
    "MaxCount":5,
    "DatesVariety":{
      "Dates":[
        "\/Date(1323640800000+0300)\/",
        "\/Date(1327356000000+0300)\/",
        "\/Date(1324850400000+0300)\/"
      ],
      "DatesThrough":[
        {
          "BeginDate":"\/Date(1319144400000+0300)\/",
          "EndDate":"\/Date(1325541600000+0300)\/"
        }
      ]
    }
  },
  {
    "Url":"microsoft.com",
    "HistoryType":63,
    "OnlyDates":true,
    "OnlyDifferent":true,
    "MaxCount":5,
    "DatesVariety":{
      "Dates":[
        "\/Date(1324850400000+0300)\/",
        "\/Date(1165874400000+0300)\/"
      ],
      "DatesThrough":[
        {
          "BeginDate":"\/Date(1319144400000+0300)\/",
          "EndDate":"\/Date(1325541600000+0300)\/"
        }
      ]
    }
  }
]
Url — Доменное имя
HistoryType — Тип истории. В случае xml запроса может принимать значения: CyHistory - для проверки тИЦ, PrHistory - Google PageRank, IyHistory - Индекс Я. Для Json числовые значения 63, 64, 65 соотвественно
OnlyDifferent — Может принимать значения true/false. При true - выбираются только те даты где произошло изменения значения параметра, при false выбираются все
MaxCount — Максимальное возвращаемое кол-во результатов
DatesVariety — Контейнер в котором можно указать параметры выборки с учетом дат
Dates — Содержит в себе даты значения проверок в которые Вы хотите получить
DatesThrough — Содержит в себе периоды дат (DateInterval - содержащий начальное и конечное значения) значения проверок в которые Вы хотите получить
XML:
<ArrayOfHistoryBulkResult>
    <HistoryBulkResult>
        <Url>aif.ru</Url>
        <HistoryType>CyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>false</OnlyDates>
        <ResultsCount>2</ResultsCount>
        <State>None</State>
    </HistoryBulkResult>
    <HistoryBulkResult>
        <Url>microsoft.com</Url>
        <HistoryType>IyHistory</HistoryType>
        <OnlyDifferent>true</OnlyDifferent>
        <OnlyDates>true</OnlyDates>
        <ResultsCount>5</ResultsCount>
        <State>None</State>
    </HistoryBulkResult>
</ArrayOfHistoryBulkResult>
JSON:
[
  {
    "Url":"aif.ru",
    "HistoryType":"CyHistory",
    "OnlyDifferent":true,
    "OnlyDates":false,
    "HistoryItems":null,
    "ResultsCount":2,
    "State":"None"
  },
  {
    "Url":"microsoft.com",
    "HistoryType":"CyHistory",
    "OnlyDifferent":true,
    "OnlyDates":true,
    "HistoryItems":null,
    "ResultsCount":2,
    "State":"None"
  }
]
ArrayOfHistoryBulkResult — Коллекция HistoryBulkResult - содержащая кол-ва проверок по переданным раннее HistoryInit
ResultsCount — Кол-во результатов
Кол-во WebMoney Id привязанных к доменам
Url: wmidsbysite/count
HTTP метод(ы): POST
XML:
<ArrayOfInitWmId>
    <InitWmId>
        <Url>forum.searchengines.ru</Url>
    </InitWmId>
    <InitWmId>
        <Url>alex-press.ru</Url>
        <MaxCount>2</MaxCount>
    </InitWmId>
</ArrayOfInitWmId>
JSON:
["forum.searchengines.ru", "alex-press.ru"]
XML:
<ArrayOfUrlWmIdsApiItem>
    <UrlWmIdsApiItem>
        <Url>forum.searchengines.ru</Url>
        <ResultsCount>2</ResultsCount>
    </UrlWmIdsApiItem>
    <UrlWmIdsApiItem>
        <Url>alex-press.ru</Url>
        <ResultsCount>1</ResultsCount>
    </UrlWmIdsApiItem>
</ArrayOfUrlWmIdsApiItem>
JSON:
[
  {
    "Url":"forum.searchengines.ru",
    "WmIds":null,
    "ResultsCount":2
  },
  {
    "Url":"alex-press.ru",
    "WmIds":null,
    "ResultsCount":1
  }
]
Домены привязанные к WebMoney Id
Url: sitesbywmid
HTTP метод(ы): POST
XML:
<ArrayOfInitWmId>
    <InitWmId>
        <Url>395480247803</Url>
    </InitWmId>
    <InitWmId>
        <Url>443488390692</Url>
        <MaxCount>1</MaxCount>
    </InitWmId>
</ArrayOfInitWmId>
JSON:
[
  {
    "Url":"395480247803"
  },
  {
    "Url":"443488390692",
    "MaxCount":1
  }
]
Collection — Доменные имена
Count — Максимальное кол-во результатов
XML:
<ArrayOfWmIdUrlsApiItem>
    <WmIdUrlsApiItem>
        <WmId>395480247803</WmId>
        <Urls>
            <string>forum.searchengines.ru</string>
        </Urls>
        <ResultsCount>1</ResultsCount>
    </WmIdUrlsApiItem>
    <WmIdUrlsApiItem>
        <WmId>443488390692</WmId>
        <Urls>
            <string>alex-press.ru</string>
        </Urls>
        <ResultsCount>1</ResultsCount>
    </WmIdUrlsApiItem>
</ArrayOfWmIdUrlsApiItem>
JSON:
[
  {
    "WmId":395480247803,
    "Urls":[
      "forum.searchengines.ru"
    ],
    "ResultsCount":1
  },
  {
    "WmId":443488390692,
    "Urls":[
      "alex-press.ru"
    ],
    "ResultsCount":1
  }
]
WmIdUrlsApiItem/WmId — WebMoney Id
WmIdUrlsApiItem/ResultsCount — Кол-во результатов
WmIdUrlsApiItem/Urls — Доменные имена привязанные к WebMoney Id
Кол-во доменов привязанных к WebMoney Id
Url: sitesbywmid/count
HTTP метод(ы): POST
XML:
<ArrayOfLong>
    <long>395480247803</long>
    <long>443488390692</long>
</ArrayOfLong>
JSON:
["395480247803", "443488390692"]
XML:
<ArrayOfWmIdUrlsApiItem>
    <WmIdUrlsApiItem>
        <WmId>395480247803</WmId>
        <ResultsCount>1</ResultsCount>
    </WmIdUrlsApiItem>
    <WmIdUrlsApiItem>
        <WmId>443488390692</WmId>
        <ResultsCount>1</ResultsCount>
    </WmIdUrlsApiItem>
</ArrayOfWmIdUrlsApiItem>
JSON:
[
  {
    "WmId":395480247803,
    "ResultsCount":1
  },
  {
    "WmId":443488390692,
    "ResultsCount":1
  }
]
Занятость доменного имени
Url: domainemployment/{domain}
HTTP метод(ы): GET
XML:
<ArrayOfString>
    <string>habrahabr.com</string>
    <string>habrahabr.net</string>
    <string>habrahabr.org</string>
</ArrayOfString>
JSON:
["habrahabr.com", "habrahabr.net", "habrahabr.org"]

RDS © 2024 Все права защищены.

Ап ТИЦ: 22-08-2018 2306
Ап Индекс Я: 08-01-2019 2167
Ап PR: 09-12-2013 4023