Документация по использованию

Документация по использованию Digincore API

Версия 1.0.7 от 29.04.2015

Diginore API предназначен для внесения доменов в очередь на автоматическую, либо экспертную (ручную) проверку, а также для получения результатов экспертной проверки ранее запрошенных доменов. 

Оглавление

 

Введение

Сроки обработки доменов определяются логикой функционирования системы. Логически выделяется два этапа:

  • этап сбора контента с сайтов
  • этап обработки полученных результатов.

Длительность полного цикла - сутки. В 2:30 (мск) этап сбора завершается и начинается обработка полученного контента. По завершении обработки, в промежуток с 11:00 до 14:00 (МСК, GMT+3) полученные результаты (блэклисты) выкладываются на https://digincore.com и становятся доступны для скачивания по прямым ссылкам. По завершении этапа обработки стартует очередной этап сбора.

Последний забор доменов на автоматическую и экспертную проверку из очереди в API осуществляется в 00:15 (МСК, GMT+3). Это дает возможность собрать контент со всех доменов, добавленных в API в течение суток до начала ближайшего этапа обработки.

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

 <наверх>

 

Особенности реализации API


Программный интерфейс реализован в соответствии со стандартом JSON-RPC 2.0 (http://jsonrpc.org/spec.html).

Тестовый веб-интерфейс для ручной проверки запросов размещен на https://digincore.com/api

Тестовый адрес API: https://digincore.com/api/json.test.php - может быть использован тестовый ключ (см. раздел Авторизация)

Рабочий адрес API: https://digincore.com/api/json.php - для использования требуется получение уникального ключа

Особенности запроса клиента:

  1. Названия переменных в поле "params" является регистро-зависимыми.
  2. Параметр id устанавливается запрашивающей стороной (заказчиком) и используется только для анализа ответов, чтобы не путаться на какой из запросов пришел какой ответ.
  3. Последовательность указания параметров в поле «params» в запросе клиента может быть двух видов:
    • Как массив упорядоченных значений (порядок следования важен). Пример: 
 { "jsonrpc":"2.0",     
  "method":"doSomethingPlease",
  "params":["3226999",["testhost1","testhost2","testhostN"]],
  "id":"18"}
    • Как подмножество пар переменная-значение. В этом случае порядок указания переменных не имеет значения. Пример:
 { "jsonrpc":"2.0",     
  "method":"doSomethingPlease",
  "params":{"userId":"3226999","domains":["testhost1","testhost2","testhostN"]},
  "id":8}

 <наверх> 

 

Авторизация

Авторизация реализована посредством отправки Клиентом ключа в каждом запросе. Передача данных осуществляется по протоколу HTTPS. Действующий тестовый ключ на тестовом API - cb69cd596f305fa5f24a998a817a160a

Пример использования:

{ "jsonrpc":"2.0",
    "method":"putDomainToExpertQueue",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a",
        "domainList":["mail.ru","porn.com"]},
    "id":11}


  <наверх>

 

Обработка ошибок

Все обрабатываемые ошибки делятся на две группы:

  • ошибки, связанные с корректностью использования протокола JSON-RPC – могут выдаваться для всех методов;
  • ошибки, связанные с корректностью использования отдельных методов.

 

Ошибки протокола (диапазон от -32600 до -32700):

code
message
meaning
значение
-32700
Parse error
Invalid JSON was received by the server.
Сервером получен некорректный JSON запрос. Ошибка при разборе JSON строки.
An error occurred on the server while parsing the JSON text.
-32600
Invalid Request
The JSON sent is not a valid Request object.
По протоколу прислан некорректный Request объект
-32601
Method not found
The method does not exist / is not available.
Запрашиваемый метод не существует или не доступен
-32602
Invalid parameters
Invalid method parameter(s).
Некорректные параметры запрашиваемого метода
-32603
Internal error
Internal JSON-RPC error.
Внутренняя ошибка JSON-RPC.

 

Ошибки использования отдельных методов (диапазон от -32000 до -32099)

code
message
метод
значение
-32000
Subscription period is expired
Все методы
Период подписки истек
-32001
Invalid user id
Все методы
Некорректный идентификатор пользователя
-32002
You have one active task already
Все методы
В данный момент выполняется ранее запрошенное задание пользователя
-32010
Expert queue day limit exceeded
putDomainToExpertQueue
Превышен дневной лимит вставки в экспертную очередь
-32011
Expert queue month limit exceeded
putDomainToExpertQueue
Превышен месячный лимит вставки в экспертную очередь
-32012
Bot queue day limit exceeded
putDomainToBotQueue
Превышен дневной лимит вставки в очередь на автоматическое оценивание
-32044
Invalid domain names
putDomainToExpertQueue, putDomainToBotQueue
Некорректный синтаксис вводимых доменов

 <наверх>  

 

Методы взаимодействия с очередью на экспертную проверку

метод putDomainToExpertQueue

Действие: Поместить подмножество доменов в очередь на экспертное оценивание.

Запрос клиента включает в себя формат передаваемых данных, название метода, идентификационный ключ клиента, массив доменов, предназначенных для вставки в очередь и уникальный номер транзакции.

Ответ сервера содержит: формат передаваемых данных и уникальный номер транзакции, а также, в зависимости от результата обработки запроса:

  • При успешной обработке – количество доменов, доступных для вставки после выполнения запроса;
  • При попытке ввода некорректных доменов – код и описание ошибки, массив некорректных доменов;
  • При превышении дневного или месячного лимитов – код и описание ошибки, количество доменов, доступных для вставки после выполнения запроса.

Формат JSON строки

Запрос клиента

Ответ сервера

В поле params - набор пар переменная-значение. Порядок не имеет значения.

{
    "jsonrpc":"2.0",     
    "method":"putDomainToExpertQueue",
    "params":{"userId":"userId_value",
                        "domainList":["testhost1", "testhost2"]},
    "id":unique_query_id

}
{
    "jsonrpc":"2.0",
    "result":{"ExpertQueueRemains":4},
    "error": {"code":Error_code , 
                     "message": "Message text",
                     "data":{"ExpertQueueRemains": "value",
                     "domains":["testhost1", "testhost2"]}},
    "id":unique_query_id
}

В поле "params" – упорядоченный список значений.

{ "jsonrpc":"2.0",     
    "method":"putDomainToExpertQueue",
    "params":["userId_value",
                        ["testhost1","testhost2","testhostN"]],
    "id":unique_query_id
}

 

Структура запроса клиента

JSONRequest Object Members

Значения

jsonrpc

формат передаваемых данных

2.0

method

имя команды, допустимое для исполнения

putDomainToExpertQueue

Params

userId

идентификатор пользователя

См. п. Авторизация

domainList

массив доменных имен, предназначенных для вставки в очередь.

Формат имени домена: «domain.com», «subdomain.domain.com».
Не принимаются доменные имена с префиксами протоколов ("http://") и путями до папок ("domain.com/path")
В случае, если вводится домен вида www.domain.com, он будет рассматриваться системой как домен третьего уровня, отличный от domain.com

Пример массива: domains:["msn.com", "maps.yandex.ru", "test.webserver.my.com"]

id

идентификатор отправленного запроса, генерируется отправляющей стороной и используется сверки пары запрос клиента - ответ сервера.

unique_query_id - целое число, тип integer

 

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

Пример запроса клиента

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

Успешное выполнение:  выдается количество доступных для вставки в экспертную очередь доменов после выполнения запроса и уникальный номер транзакции.

{ "jsonrpc":"2.0",
    "method":"putDomainToExpertQueue",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a",
        "domainList":["mail.ru","porn.com"]},
    "id":11}
{"jsonrpc":"2.0",
"result":{"ExpertQueueRemains":4},
"id":11}

Введены некорректные домены: выдается код ошибки (-32044), описание ошибки, массив доменов, не прошедших проверку на корректность написания доменного имени и уникальный номер транзакции.

{ "jsonrpc":"2.0",
    "method":"putDomainToExpertQueue",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a",
        "domainList":["pa","porn.com"]},
    "id":17}
{ "jsonrpc":"2.0",
 "error":{"code":-32044,
                "message":"Invalid domain name",
                "data":{
                       "domainList":["pa"]}},
 "id":17}

Превышен дневной/месячный лимит вставки в очередь: выдается код ошибки (-32010 для дневного и -32011 для месячного лимитов), описание ошибки, количество доступных для вставки в экспертную очередь доменов и уникальный номер транзакции.

{ "jsonrpc":"2.0",
    "method":"putDomainToExpertQueue",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a",
        "domainList":["mail.ru","porn.com"]},
    "id":11
}
Дневной лимит исчерпан:
{"jsonrpc":"2.0",
"error":{
"code":-32010,
"message":"Expert queue day limit exceeded",
"data":{"ExpertQueueRemains":"0"}},
"id":11}

Месячный лимит меньше вставляемого количества доменов:

{"jsonrpc":"2.0",
"error":{
"code":-32011,
"message":"Expert queue month limit exceeded",
"data":{"ExpertQueueRemains":"1"}},
"id":11}

Пропущен необходимый параметр (на примере domainList): выдается код (-32602) и описание ошибки, имя требуемого параметра.

{ "jsonrpc":"2.0",    
    "method":"putDomainToExpertQueue",
    "params":{"userId":"cb69cd596f305fa5f24a998a817a160a",
                        "domains":["mail.ru","porn.com"]},
    "id":4}
{"jsonrpc":"2.0",
"error":{"code":-32602,
                "message":»Invalid params»,
                "data":{"need the key":"domainList"}},
"id":4}

                  

Коды ошибок метода

В случае любой ошибки вставка доменов в очередь экспертной проверки НЕ производится.

Code

message

Значение

-32010

Day limit exceeded

Превышен дневной лимит вставки в экспертную очередь

-32011

Month limit exceeded

Превышен месячный лимит вставки в экспертную очередь

-32044

Invalid domain names

Некорректный синтаксис доменов (в массив domainListпередаются домены, не прошедшие проверку на корректность синтаксиса);

  <наверх>

 

метод getExpertDailyQueueRemains

Действие: Запросить количество доменов, доступных для вставки в очередь на экспертную оценку за текущие сутки.

Запрос клиента включает в себя формат передаваемых данных, название метода, идентификационный ключ клиента и уникальный номер транзакции.

Ответ сервера содержит формат передаваемых данных, количество доменов, доступных для вставки в очередь на экспертную оценку за текущий день и уникальный номер транзакции.

Формат JSON строки

Запрос клиента

Ответ сервера

{
    "jsonrpc":"2.0",
    "method":"getExpertDailyQueueRemains",
    "params":{"userId":"key_value"},
    "id":unique_query_id
}
{
    "jsonrpc":"2.0",
    "result":{"expertDailyQueueRemains":"value"},
    "error": {"code":Error_code , 
                     "message": "Message text",    
                     "data":{"Description":"value"}},
    "id":unique_query_id
}

 

Структура запроса клиента

JSON Object Members

Значения

jsonrpc

формат передаваемых данных

2.0

method

имя команды, допустимое для исполнения

getExpertDailyQueueRemains

params

userId

идентификатор пользователя

См. п. Авторизация

id

идентификатор отправленного запроса, генерируется отправляющей стороной и используется сверки пары запрос клиента - ответ сервера.

unique_query_id - целое число, тип integer

 

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

Запрос клиента

Ответ сервера

Успешное выполнение:  выдается формат передаваемых данных, количество доменов, доступных для вставки в экспертную очередь и уникальный номер транзакции

{ "jsonrpc":"2.0",
    "method":"getExpertDailyQueueRemains",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a"
        },
    "id":12}
{"jsonrpc":"2.0",
"result":{"expertDailyQueueRemains":"4"},
"id":12}

Ошибка -32602: Некорректный список параметров (на примере userId).

{"jsonrpc":"2.0",
    "method":"getExpertDailyQueueRemains",
    "params":{
        "usrId":"cb69cd596f305fa5f24a998a817a160a"
        },
    "id":12}
{"jsonrpc":"2.0",
"error":{"code":-32602,
                "message":"Invalid params",
                "data":{"need the key":"userId"}},
"id":12}

Ошибка -32001: некорректный идентификатор пользователя.

{"jsonrpc":"2.0",
    "method":"getExpertDailyQueueRemains",
    "params":{
        "userId":"wrong_userId"
        },
    "id":12}
{"jsonrpc":"2.0",
"error":{"code":-32001,
                "message":"Invalid user id"},
"id":12}

Собственных кодов ошибок метод не содержит. Ошибки обрабатываются в соответствии с п. Обработка ошибок.

  <наверх>

 

метод getExpertMonthQueueRemains

Действие: Запросить количество доменов, доступных для вставки в очередь на экспертную оценку за текущий месяц. Синтаксис команды и результатов выдачи аналогичен методу getExpertDailyQueueRemains.

Запрос клиента включает в себя формат передаваемых данных, название метода, идентификационный ключ клиента и уникальный номер транзакции.

Ответ сервера содержит формат передаваемых данных, количество доменов, доступных для вставки в очередь на экспертную оценку за текущий месяц и уникальный номер транзакции.

Формат JSON строки

Запрос клиента

Ответ сервера

{
    "jsonrpc":"2.0",
    "method":"getExpertMonthQueueRemains",
    "params":{"userId":"key_value"},
    "id":unique_query_id
}
{
    "jsonrpc":"2.0",
    "result":{"expertMonthQueueRemains":"value"},
    "error": {"code":Error_code , 
                     "message": "Message text",    
                     "data":{"Description":"value"}},
    "id":unique_query_id
}

 

Структура запроса клиента

JSON Object Members

Значения

jsonrpc

формат передаваемых данных

2.0

method

имя команды, допустимое для исполнения

getExpertMonthQueueRemains

params

userId

идентификатор пользователя

См. п. Авторизация

id

идентификатор отправленного запроса, генерируется отправляющей стороной и используется сверки пары запрос клиента - ответ сервера.

unique_query_id - целое число, тип integer

 

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

Запрос клиента

Ответ сервера

Успешное выполнение:  выдается формат передаваемых данных, количество доменов, доступных для вставки в экспертную очередь и уникальный номер транзакции

{ "jsonrpc":"2.0",
    "method":"getExpertMonthQueueRemains",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a"
        },
    "id":14}
{"jsonrpc":"2.0",
"result":{"expertMonthQueueRemains":"4"},
"id":14}

Ошибка -32602: Некорректный список параметров (на примере userId).

{ "jsonrpc":"2.0",
    "method":"getExpertDailyQueueRemains",
    "params":{
        "usrId":"cb69cd596f305fa5f24a998a817a160a"
        },
    "id":12}
{"jsonrpc":"2.0",
"error":{"code":-32602,
                "message":"Invalid params",
                "data":{"need the key":"userId"}},
"id":12}

Ошибка -32001: некорректный идентификатор пользователя.

{ "jsonrpc":"2.0",
    "method":"getExpertDailyQueueRemains",
    "params":{
        "userId":"wrong_userId"
        },
    "id":12}
{"jsonrpc":"2.0",
"error":{"code":-32001,
                "message":"Invalid user id"},
"id":12}

Собственных кодов ошибок метод не содержит. Ошибки обрабатываются в соответствии с п. Обработка ошибок.

  <наверх>

 

метод getExpertDomainRate

Действие:  запросить результат экспертной оценки доменов, ранее помещенных в очередь на экспертную оценку.

Запрос клиента включает в себя формат передаваемых данных, название метода, идентификационный ключ клиента, массив доменов, ранее введенных пользователем в очередь для экспертной оценки и уникальный номер транзакции.

Ответ сервера содержит формат передаваемых данных, уникальный номер транзакции и два массива в поле result:

  • accepted - массив ранее введенных в очередь на экспертную оценку пользователем доменов, содержащих поля имя домена ("domain"), идентификатор назначенной экспертом категории ("id_theme_result"), дату выставления оценки ("date_rate");
  • rejected – массив ранее не вводившихся пользователем в очередь на экспертную оценку доменов. В поле id_theme_result указывается значение -500, date_rate содержит нулевое значение.

В случае, если в списке запрошенных доменов отсутствуют ранее добавлявшиеся, либо ранее не добавлявшиеся пользователем в очередь на экспертную оценку домены, соответствующий массив ("accepted" или "rejected")  будет содержать значение false.

Формат JSON строки

Запрос клиента

Ответ сервера

{
    "jsonrpc":"2.0",
    "method":"getExpertDomainRate",
    "params":{     
"userId":"key_value ",
"domainList":["testhost1","testhost2","testhost3","testhostN"]},
    "id": unique_query_id
}
{"jsonrpc":"2.0",
"result":
  {"accepted":[
     {"domain":"testhost1","id_theme_result":"1","date_rate":"2012-03-02 09:31:52"},
     {"domain":"testhost2","id_theme_result":"10","date_rate":"2012-03-02 09:31:52"},
     {"domain":"testhost3","id_theme_result":"8","date_rate":"2012-03-02 09:31:52"}],
  "rejected":[
     {"domain":"testhostN","id_theme_result":"-500","date_rate":"0000-00-00 00:00:00"}]},
"id": unique_query_id }

Значения выдаваемых категорий (параметр “ id_theme_result ”):

  • 1 – Порнография
  • 3 - Сайты для взрослых
  • 18 - Медицинские сайты сексуальной направленности
  • 17 - Секс-шопы
  • 14 - Образовательные сайты в области секса и сексуальных отношений
  • 8 - Сайт не входит в перечисленные жесткие категории
  • 10 – Категория сайта еще не назначена (сайт находится в состоянии обработки экспертома)
  • -500 - Домен ранее не добавлялся пользователем в экспертную очередь для оценивания.

Структура запроса клиента

JSON Object Members

Значения

jsonrpc

формат передаваемых данных

2.0

method

имя команды, допустимое для исполнения

getExpertDomainRate

params

userId

идентификатор пользователя

См. п. Авторизация

domainList

домен, для которого запрашивается категория

Формат имени домена: «domain.com», «subdomain.domain.com».
Не принимаются доменные имена с префиксами протоколов ("http://") и путями до папок ("domain.com/path")
В случае, если вводится домен вида www.domain.com, он будет рассматриваться системой как домен третьего уровня, отличный от domain.com

id

идентификатор отправленного запроса, генерируется отправляющей стороной и используется сверки пары запрос клиента - ответ сервера.

unique_query_id - целое число, тип integer

 

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

Запрос клиента

Ответ сервера

Успешное выполнение:  выдается формат передаваемых данных, количество доменов, доступных для вставки в экспертную очередь и уникальный номер транзакции

{ "jsonrpc":"2.0",
  "method":"getExpertDomainRate",
  "params":{     
"userId":"cb69cd596f305fa5f24a998a817a160a",
"domainList":["porn.com","mail.ru","pornhub.com","non_entred.com","non_entred2.com"]},
  "id":20100}
{"jsonrpc":"2.0",
"result":
  {"accepted":[
     {"domain":"pornhub.com","id_theme_result":"1","date_rate":"2012-03-02 09:31:52"},
     {"domain":"porn.com","id_theme_result":"10","date_rate":"2012-03-02 09:31:52"},
     {"domain":"mail.ru","id_theme_result":"8","date_rate":"2012-03-02 09:31:52"}],
  "rejected":[
     {"domain":"non_entred.com","id_theme_result":"-500","date_rate":"0000-00-00 00:00:00"},
     {"domain":"non_entred2.com","id_theme_result":"-500","date_rate":"0000-00-00 00:00:00"}]},
"id":20100}

Все запрашиваемые домены были ранее внесены пользователем в очередь на экспертную оценку. Массив "rejected" содержит значение false.

{"jsonrpc":"2.0",
    "method":"getExpertDomainRate",
    "params":{     
"userId":"cb69cd596f305fa5f24a998a817a160a",
"domainList":["porn.com","mail.ru","pornhub.com"]},
    "id":20100}
{"jsonrpc":"2.0","result":
{"accepted":[
   {"domain":"pornhub.com","id_theme_result":"1","date_rate":"2012-03-02 09:31:52"},
   {"domain":"porn.com","id_theme_result":"10","date_rate":"2012-03-02 09:31:52"},
   {"domain":"mail.ru","id_theme_result":"8","date_rate":"2012-03-02 09:31:52"}],
"rejected":false},
"id":20100}

Ни один из запрашиваемых доменов ранее не был внесен пользователем в очередь на экспертную оценку. Массив "accepted" содержитзначение false.

{"jsonrpc":"2.0",
    "method":"getExpertDomainRate",
    "params":{     
"userId":"cb69cd596f305fa5f24a998a817a160a",
"domainList":["not_entered_yet.com","not_entered_yet1.com","not_entered_yet2.com"]},
    "id":20100}
{"jsonrpc":"2.0",
"result":{"accepted":false,
"rejected":[{
   "domain":"not_entered_yet.com","id_theme_result":"-500","date_rate":"0000-00-00 00:00:00"},
   {"domain":"not_entered_yet2.com","id_theme_result":"-500","date_rate":"0000-00-00 00:00:00"},
   {"domain":"not_entered_yet1.com","id_theme_result":"-500","date_rate":"0000-00-00 00:00:00"}]},
"id":20100}

Собственных кодов ошибок метод не содержит. Ошибки обрабатываются в соответствии с п. Обработка ошибок.

  <наверх>

 

Методы взаимодействия с очередью на автоматическую проверку

метод putDomainToBotQueue

Действие: Поместить подмножество доменов в очередь на автоматическое оценивание (синтаксис аналогичен методу putDomainToExpertQueue).

Запрос клиента включает в себя формат передаваемых данных, название метода, идентификационный ключ клиента, массив доменов, предназначенных для вставки в очередь и уникальный номер транзакции.

Ответ сервера содержит: формат передаваемых данных и уникальный номер транзакции, а также, в зависимости от результата обработки запроса:

  • при успешной обработке – количество доменов, доступных для вставки после выполнения запроса;
  • при попытке ввода некорректных доменов – код и описание ошибки, массив некорректных доменов;
  • при превышении дневного или месячного лимитов – код и описание ошибки, количество доменов, доступных для вставки после выполнения запроса.

Формат JSON строки

Запрос клиента

Ответ сервера

В поле params - набор пар переменная-значение. Порядок не имеет значения.

{
    "jsonrpc":"2.0",     
    "method":"putDomainToBotQueue",
    "params":{"userId":"userId_value",
                        "domainList":["testhost1", "testhost2"]},
    "id":unique_query_id
}
{
    "jsonrpc":"2.0",
    "result":{"BotQueueRemains":value},
    "error": {"code":Error_code , 
                     "message": "Message text",
                     "data":{"BotQueueRemains": "value",
                     "domains":["testhost1", "testhost2"]}},
    "id":unique_query_id
}

В поле "params" – упорядоченный список значений.

{
    "jsonrpc":"2.0",     
    "method":"putDomainToBotQueue",
    "params":["userId_value",
                        ["testhost1","testhost2","testhostN"]],
    "id":unique_query_id
}

 

Структура запроса клиента

JSONRequest Object Members

Значения

jsonrpc

формат передаваемых данных

2.0

method

имя команды, допустимое для исполнения

putDomainToExpertQueue

Params

userId

идентификатор пользователя

См. п. Авторизация

domainList

массив доменных имен, предназначенных для вставки в очередь.

Формат имени домена: «domain.com», «subdomain.domain.com».
Не принимаются доменные имена с префиксами протоколов ("http://") и путями до папок ("domain.com/path")
В случае, если вводится домен вида www.domain.com, он будет рассматриваться системой как домен третьего уровня, отличный от domain.com

Пример массива: domains:["msn.com", "maps.yandex.ru", "test.webserver.my.com"]

id

идентификатор отправленного запроса, генерируется отправляющей стороной и используется сверки пары запрос клиента - ответ сервера.

unique_query_id - целое число, тип integer

 

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

Пример запроса клиента

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

Успешное выполнение:  выдается количество доступных для вставки на проверку в автоматическую очередь доменов после выполнения запроса и уникальный номер транзакции.

{ "jsonrpc":"2.0",
    "method":"putDomainToBotQueue",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a",
        "domainList":["mail.ru","porn.com"]},
    "id":11}
{"jsonrpc":"2.0",
"result":{"BotQueueRemains":8999},
"id":11}

Превышен дневной  лимит вставки в очередь: выдается код (-32010) и описание ошибки, количество доступных для вставки в экспертную очередь доменов и уникальный номер транзакции.

{ "jsonrpc":"2.0",
    "method":"putDomainToBotQueue",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a",
        "domainList":["mail.ru","porn.com"]},
    "id":11}
 {"jsonrpc":"2.0",
  "error":{"code":-32012,
                 "message":"Bot queue day limit exceeded",
                 "data":{"BotQueueRemains":"1"}},
"id":11}

Введены некорректные домены: выдается код ошибки (-32044), описание ошибки, массив доменов, не прошедших проверку на корректность написания доменного имени и уникальный номер транзакции.

{ "jsonrpc":"2.0",
    "method":"putDomainToBotQueue",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a",
        "domainList":["pa",".co","porn.com"]},
    "id":17}
{"jsonrpc":"2.0",
"error":{"code":-32044,
                          "message":"Invalid domain name",
                          "data":{"domainList":["pa",".co"]}},
"id":17}

Пропущен необходимый параметр (на примере userId): выдается код (-32602) и описание ошибки, имя требуемого параметра.

{ "jsonrpc":"2.0",    
    "method":"putDomainToBotQueue",
    "params":{"user":"cb69cd596f305fa5f24a998a817a160a",
                        "domainList":["mail.ru","porn.com"]},
    "id":4}
{"jsonrpc":"2.0",
"error":{"code":-32602,
                "message":"Invalid params",
                "data":{"need the key":"userId"}},
"id":4}

                       

Коды ошибок метода

В случае любой ошибки вставка доменов в очередь экспертной проверки НЕ производится.

Code

message

Значение

-32012

Day limit exceeded

Превышен дневной лимит вставки в экспертную очередь

-32044

Invalid domain names

Некорректный синтаксис доменов (в массив domainList передаются домены, не прошедшие проверку на корректность синтаксиса)

  <наверх>

 

метод getSubscriptionExpired

Действие: получить дату истечения срока действия лицензионного ключа.

Запрос клиента включает в себя формат передаваемых данных, название метода, идентификационный ключ клиента и уникальный номер транзакции.

Ответ сервера содержит формат передаваемых данных, дату истечения срока действия лицензионного ключа и уникальный номер транзакции;

Формат JSON строки:

Запрос клиента

Ответ сервера

{
    "jsonrpc":"2.0",
    "method":"getSubscriptionExpired",
    "params":{"userId":"key_value"},
    "id":unique_query_id
}
{"jsonrpc":"2.0",
    "result":{"getSubscriptionExpired":"value"},
    "error": {"code":Error_code , 
                     "message": "Message text",    
                     "data":{"Description":"value"}},
    "id":unique_query_id}

 Структура запроса клиента

JSON Object Members

Значения

jsonrpc

формат передаваемых данных

2.0

method

имя команды, допустимое для исполнения

getSubscriptionExpired

params

userId

идентификатор пользователя

См. п. Авторизация

id

идентификатор отправленного запроса, генерируется отправляющей стороной и используется сверки пары запрос клиента - ответ сервера.

unique_query_id - целое число, тип integer

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

Запрос клиента

Ответ сервера

Успешное выполнение:  выдается формат передаваемых данных, количество доменов, доступных для вставки в экспертную очередь и уникальный номер транзакции

{ 
"jsonrpc":"2.0",
 "method":"getSubscriptionExpired",
 "params":{
     "userId":"cb69cd596f305fa5f24a998a817a160a"},
 "id":18
}
{"jsonrpc":"2.0",
     "result":{"expire_date":"2015-04-20 16:24:58"},
     "id":18}

Собственных кодов ошибок метод не содержит. Ошибки обрабатываются в соответствии с п. Обработка ошибок.

 

метод getBotQueueRemains

Действие: Запросить количество доменов, доступных для вставки в очередь на автоматическую оценку в текущие сутки. Синтаксис метода и результатов выдачи аналогичен методу getExpertDailyQueueRemains

Запрос клиента включает в себя формат передаваемых данных, название метода, идентификационный ключ клиента и уникальный номер транзакции.

Ответ сервера содержит формат передаваемых данных, количество доменов, доступных для вставки в очередь на автоматическую оценку за текущий день и уникальный номер транзакции.

Формат JSON строки

Запрос клиента

Ответ сервера

{
    "jsonrpc":"2.0",
    "method":"getBotDailyQueueRemains",
    "params":{"userId":"key_value"},
    "id":unique_query_id
}
{"jsonrpc":"2.0",
    "result":{"botDailyQueueRemains":"value"},
    "error": {"code":Error_code , 
                     "message": "Message text",    
                     "data":{"Description":"value"}},
    "id":unique_query_id}

 

Структура запроса клиента

JSON Object Members

Значения

jsonrpc

формат передаваемых данных

2.0

method

имя команды, допустимое для исполнения

getExpertDailyQueueRemains

params

userId

идентификатор пользователя

См. п. Авторизация

id

идентификатор отправленного запроса, генерируется отправляющей стороной и используется сверки пары запрос клиента - ответ сервера.

unique_query_id - целое число, тип integer

 

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

Запрос клиента

Ответ сервера

Успешное выполнение:  выдается формат передаваемых данных, количество доменов, доступных для вставки в экспертную очередь и уникальный номер транзакции

{ "jsonrpc":"2.0",
    "method":"getBotDailyQueueRemains",
    "params":{
        "userId":"cb69cd596f305fa5f24a998a817a160a"},
    "id":18}
{"jsonrpc":"2.0",
"result":{"botDailyQueueRemains":"8997"},
"id":18}

Собственных кодов ошибок метод не содержит. Ошибки обрабатываются в соответствии с п. Обработка ошибок.

  <наверх>

 

Примеры взаимодействия с Digincore API (на PHP)