Документация Гарант Коннект
(API к системе ГАРАНТ). Версия 1.5

СКАЧАТЬ ИНСТРУКЦИЮ

Доступ к API

Для успешного вызова методов API необходимы:

Полученный токен следует передавать в заголовке Authorization при каждом вызове API, указывая тип токена Bearer перед его значением. Пример получения такого заголовка:

 

1. Вы запрашиваете токен у обслуживающей организации, в ответ на email придет токен, представляющий собой строку:

U1QtOTkwMTAyLWNud3FpdWhmbzg3M

2. Токен добавляется в заголовок

Authorization: Bearer

3. Итоговый заголовок, добавляемый в каждый запрос к API:

Authorization: Bearer U1QtOTkwMTAyLWNud3FpdWhmbzg3M

 

Методы API

Базовый адрес для Гарант. Интернет версии - это https://api.garant.ru. Для Интранет версии базовый адрес совпадает с адресом вашего сервера. Все примеры ниже даны для Интернет версии.

Методы API доступны и в Интернет версии и в ИнтрАнет. Таблица доступности:

 

 

Метод

Интернет-версия

Интранет-версия

Поиск

доступна

доступна

Простановка ссылок

доступна

недоступна

Экспорт документа

доступна

недоступна

Документы на контроле

доступна

недоступна

Список категорий

доступна

недоступна

Лента Прайм

доступна

недоступна

 

Ограничения

На вызовы методов накладываются следующие ограничения:

Поиск

Позволяет провести поиск по документам в комплекте, с которым связан токен аутентификации.

Запрос

POST

URL: https://api.garant.ru/v1/search

HEADERS:

ПАРАМЕТРЫ

 

Параметры передаются в теле запроса в формате JSON. Все параметры обязательны. Строковые значения передаются в кодировке UTF-8.

 

 

Параметр

Тип

Описание

text

String

Поисковая фраза

count

Integer

Максимальное количество документов в ответе. Целое число от 1 до 30. Любое другое число будет проигнорировано и заменено на 1

kind

String Array

Массив строк, содержащие коды типов правовой информации среди которых выполнять поиск. Пустой массив приведет к поиску по всем документам, кроме пользовательских. Коды:

  • 001 - федеральное законодательство
  • 002 - региональное законодательство
  • 003 - судебная практика
  • 004 - пользовательские документы (этот код нельзя задавать вместе с другими, иначе ошибка с кодом 400, см. раздел Коды ошибок).

sort

Integer

Значение для сортировки:

  • 0 - по степени соответствия
  • 1 - по дате документа
  • 2 - по дате последнего изменения
  • 3 - по юридической силе

sortOrder

Integer

Направление сортировки:

  • 0 - по убыванию (для даты это означает от свежей к более старой)
  • 1 - по возрастанию

Пример:

{
        "text": "44-фз о контрактной системе",
        "count": 30,
        "kind": ["001", "002"],
        "sort": 0,
        "sortOrder": 0
}

 

 

Ответ

Успешный JSON-ответ содержит список найденных документов. Или пустой список если ничего не найдено.

 

 

Параметр

Тип

Описание

documents

Object Array

Массив найденных документов

documents[].name

String

Имя документа

documents[].url

String

Относительная ссылка на документ, чтобы получить абсолютную ссылку нужно добавить вначале https://internet.garant.ru

или свой адрес сервера, если вызов выполняется через API Гарант. Интранет-версии

documents[].topic

Integer

Внутренний номер документа, который может быть использован в других функциях API, например в Экспорт документа

 

Пример:

{
        "documents": [{
                "name": "Постановление Администрации Бологовского района Тверской области от 24 декабря 2018 г. N 251-п \"О внесении изменений в постановление Администрации муниципального образования \"Бологовский район\" Тверской области от 17.12.2014 N 272-п\"",
                "url": "/#/document/16379553",
                "topic": 16379553
        }, {
                "name": "Предписание Управления Федеральной антимонопольной службы по Москве от 21 января 2019 г. по делу N 2-57-611/77-19",
                "url": "/#/document/75323053",
                "topic": 75323053
        }]
}

 

Простановка ссылок

Позволяет найти и расставить ссылки на нормативные документы в переданном фрагменте текста.

Запрос

POST

URL: https://api.garant.ru/v1/find-hyperlinks

HEADERS:

ПАРАМЕТРЫ

 

Параметры передаются в теле запроса в формате JSON. Все параметры, обязательны. Строковые значения передаются в кодировке UTF-8.

 

 

Параметр

Тип

Описание

text

String

Фрагмент текста в формате plain text или html. Не более 20Мб

baseUrl

String

Базовая часть url для создания ссылки. Например: https://internet.garant.ru

 

Пример:

{
"text": "Настоящий Закон в соответствии с Федеральным законом от 29 декабря 2017 года N 443-ФЗ регулирует отдельные отношения, возникающие в процессе организации дорожного движения, а также при организации и осуществлении парковочной деятельности на территории Орловской области.",
"baseUrl": "https://internet.garant.ru"
}

 

 

Ответ

Успешный JSON-ответ содержит фрагмент текст, переданного в запросе, в котором проставлены ссылки на нормативные акты.

 

 

Параметр

Тип

Описание

text

String

Фрагмент текста в формате html, с расставленными ссылкам.

Проставленные ссылки бывают только двух форматов:

  1. https://internet.garant.ru/#/document/$topic - ссылка на документ, где $topic - это внутренний номер документа, который может быть использован в других функциях API, например в Экспорте.
  2. https://internet.garant.ru/#/document/$topic/entry/$sub - ссылка на внутренний элемент документа: на раздел, пункт, статью и т.д.; $sub - это внутренний номер метки, которая указывает на начало элемента документа.

 

Пример:

{
"text": "Настоящий Закон в соответствии с <a href=\"https://internet.garant.ru/#/document/71848756\">Федеральным _fcksavedurl=\"https://internet.garant.ru/#/document/71848756\">Федеральным законом</a> от 29 декабря 2017 года N 443-ФЗ регулирует отдельные отношения, возникающие в процессе организации дорожного движения, а также при организации и осуществлении парковочной деятельности на территории Орловской области."
}

 

 

Экспорт документа (rtf)

Позволяет получить текст документа в текстовом формате rtf.

Запрос

GET

URL: https://api.garant.ru/v1/topic/$topic/download

HEADERS:

ПАРАМЕТРЫ

 

Параметры передаются в строке запроса и являются обязательными.

 

 

Параметр

Тип

Описание

$topic

Integer

Внутренний номер документа, может быть получен из функции Поиска

 

Пример cURL:

user@server:~$ curl "https://api.garant.ru/v1/topic/10103000/download"
--header "Authorization: Bearer xxxxYYYYzzzzz"
--output 10103000.rtf

Ответ

В случае успешного ответа файл сохранится на диск.

 

Экспорт документа (html)

Позволяет получить текст документа формате html, может включать комментарии юристов Гаранта.

Запрос

GET

URL: https://api.garant.ru/v1/topic/$topic/html

HEADERS:

ПАРАМЕТРЫ

 

Параметры передаются в строке запроса и являются обязательными.

 

 

Параметр

Тип

Описание

$topic

Integer

Внутренний номер документа, может быть получен из функции Поиска


Ответ

Успешный JSON-ответ содержит массив страниц документа.

 

Параметр

Тип

Описание

items

Object Array

Массив страниц документа

items[].number

Integer

Номер страницы

items[].text

String

Текст страницы в формате html

 

Пример: 

{

        "items": [{

                        "number:": 1,

                        "text": "<p id=\"p_521837163\" class=\"s_3\">Гражданский кодекс Российской Федерации<br/>..."

                },

                {

                        "number:": 2,

                        "text": "<div class=\"block\" data-relativeBlockId=\"10000\"><div class=\"block\"..."

                }

        ]

}

 

Экспорт документа (odt)

Позволяет получить текст документа в текстовом формате odt.

Запрос

GET

URL: https://api.garant.ru/v1/topic/$topic/download-odt

HEADERS:

             Authorization: Bearer ***

ПАРАМЕТРЫ

 

Параметры передаются в строке запроса и являются обязательными.

 

Параметр

Тип

Описание

$topic

Integer

Внутренний номер документа, может быть получен из функции Поиска

 

Пример cURL:

user@server:~$ curl "https://api.garant.ru/v1/topic/10103000/download-odt"
--header "Authorization: Bearer xxxxYYYYzzzzz"

 

Ответ

В случае успешного ответа файл сохранится на диск.

 

Экспорт документа (pdf)

Позволяет получить текст документа в текстовом формате pdf.

Запрос

GET

URL: https://api.garant.ru/v1/topic/$topic/download-pdf

HEADERS:

             Authorization: Bearer ***

ПАРАМЕТРЫ

 

Параметры передаются в строке запроса и являются обязательными.

 

Параметр

Тип

Описание

$topic

Integer

Внутренний номер документа, может быть получен из функции Поиска

 

Пример cURL:

user@server:~$ curl "https://api.garant.ru/v1/topic/10103000/download-pdf"
--header "Authorization: Bearer xxxxYYYYzzzzz"

 

Ответ

 

В случае успешного ответа файл сохранится на диск.

 

Документы на контроле

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

Запрос

POST

URL: https://api.garant.ru/v1/find-modified

HEADERS:

ПАРАМЕТРЫ

 

Параметры передаются в теле запроса в формате JSON. Все параметры обязательны. Строковые значения передаются в кодировке UTF-8.

 

 

Параметр

Тип

Описание

topics

String Array

Массив внутренних номеров документов для которых надо проверить наличие изменений. Не больше 100 номеров в одном запросе, если больше 100 вернется код ошибки 400

modDate

String Date

Дата, начиная с которой будут проверяться переданные документов на наличие изменений текста. Не может быть старше месяца от текущей даты. Формат даты ГГГГ-ММ-ДД

 

Пример:

{
"topics": [77682742, 45069704, 49054494],
"modDate": "2019-07-01"
}

 

Ответ

Успешный JSON-ответ содержит массив документов из запроса, но только те, в которых произошли изменения.

 

 

Параметр

Тип

Описание

topics

Object Array

Массив документов из запроса

topics[].topic

Integer

Внутренний номер документа

topics[].modStatus

Integer

Статус изменения:

  • 1 - изменился
  • 2 - не найден

 

Пример:

{
"topics": [{
"topic:": 77682742,
"modStatus": 1
},
{
"topic:": 45069704,
"modStatus": 1
},
{
"topic:": 49054494,
"modStatus": 2
}
]
}

 

 

Фрагменты на контроле

Позволяет определить наличие изменений во фрагменте текста нормативного документа начиная с указанной даты. Фрагмент определяется ссылкой, которую можно вручную скопировать из браузера при просмотре нужного документа в Системе ГАРАНТЗапрос

POST

URL: https://api.garant.ru/v1/block-on-control/changed

HEADERS:

             Accept: application/json

             Content-type: application/json

             Authorization: Bearer ***

ПАРАМЕТРЫ

 

Параметры передаются в теле запроса в формате JSON. Все параметры обязательны.

 

Параметр

Тип

Описание

fromDate

String Date

Дата, начиная с которой будут проверяться переданные фрагменты на изменения текста. Формат даты ГГГГ-ММ-ДД

Не может быть ранее 01.01.2018

urlArray

String Array

Массив ссылок на фрагменты, которые надо проверить на изменения. Ссылки могут включать только документы из комплекта Законодательство России.

 

Пример:

{
"fromDate": "2019-10-15",
"urlArray": [
"http://internet.garant.ru/#/document/77675772/entry/4001",
"http://internet.garant.ru/#/document/77675772/entry/15",
"http://internet.garant.ru/#/document/77675772/entry/194"
]
}

 

Ответ

Успешный JSON-ответ содержит список ссылок, в которых произошли изменения

 

Параметр

Тип

Описание

urlArray

Object Array

Массив ссылок, которые менялись

urlArray[].url

String

Ссылка из запроса

urlArray[].modStatus

Integer

Статус изменения:

             1 - изменился

             2 - не найден

 

Пример:

{
"urlArray": [{
"url": "http://internet.garant.ru/#/document/77675772/entry/4001",
"modStatus": 1
}]
}

 

Список категорий для Ленты Прайм

Вернет список тематических категорий, которые можно использовать для уточнения по каким темам должна формироваться лента прайм (см. функцию Лента Прайм).

Запрос

GET

URL: https://api.garant.ru/v1/prime

HEADERS:

 

Ответ

Успешный JSON-ответ содержит дерево тематических категорий.

 

 

Параметр

Тип

Описание

categories

Object array

Список категорий первого уровня

categories[].text

String

Название категории

categories[].children

Object array

Список категорий второго уровня. Может отсутствовать.

categories[].id

Integer

Идентификатор категории, используется в методе Лента Прайм. На категориях первого уровня отсутствует.

 

Пример:

{

        "categories": [{

                "text": "Вид информации",

                "children": [{

                        "text": "Федеральное законодательство и проекты федеральных законов",

                        "id": 24

                }, {

                        "text": "Региональное законодательство",

                        "children": [{

                                "text": "г.Москва",

                                "id": 142

                        }],

                        "id": 33

                }],

                "id": 1008

        }, {

                "text": "Ваша профессия",

                "children": [{

                        "text": "Руководитель",

                        "id": 144

                }],

                "id": 1004

        }]

}

 

Лента Прайм

Возвращает ленту новостей Прайм в формате JSON.

Запрос

POST

URL: https://api.garant.ru/v1/prime/create-news

HEADERS:

ПАРАМЕТРЫ

 

Параметры передаются в теле запроса в формате JSON. Все параметры обязательны. Строковые значения передаются в кодировке UTF-8.

 

 

Параметр

Тип

Описание

categories

Integer Array

Список ID категорий, по которым будет сформирована лента новостей. Пустой массив означает - все категории.

fromDate

String Date

Дата, начиная с которой будет сформирован список новостей. Формат даты ГГГГ-ММ-ДД.

Пример:

{

        "fromDate": "2019-11-01",

        "categories": [1, 2, 3, 4, 5]

}

  

 

Ответ

Успешный JSON-ответ содержит список новостей. Или пустой список если ничего не найдено.

 

 

Параметр

Тип

Описание

news

Object array

Массив найденный новостей

news[].name

String

Заголовок новости

news[].document

Object

Документ, анонсированный в новости

document.url

String

Относительная ссылка на документ, чтобы получить абсолютную ссылку нужно добавить вначале https://internet.garant.ru для коммерческих пользователей или https://ivo.garant.ru для некоммерческих

document.topic

Integer

Внутренний номер документа, который может быть использован в других функциях API, например в Экспорт документа

document.name

String

Имя документа

news[].paragraphs

String array

Список текстов параграфов, из которых состоит новость

 

Пример:

{

        "news": [{

                "name": "Городские округа с внутригородским делением",

                "document": {

"url": "/#/document/72957500",

                        "topic": 72957500,

                        "name": "Городские округа с внутригородским делением в муниципально-территориальном устройстве"

                },

                "paragraphs": ["Городские округа с внутригородским делением", "В статье проводится правовой анализ изменений"]

        }]

}

 

 

Информация о документе

Возвращает атрибуты документа

Запрос

GET

URL: https://api.garant.ru/v1/topic/$topic

HEADERS:

             Accept: application/json

             Content-type: application/json

             Authorization: Bearer ***

ПАРАМЕТРЫ

 

Параметры передаются в строке запроса и являются обязательными.

 

Параметр

Тип

Описание

$topic

Integer

Внутренний номер документа, может быть получен из функции Поиска

 

 

 

Ответ

Успешный JSON-ответ содержит атрибуты документа

 

Параметр

Тип

Описание

url

String

Относительная ссылка на документ, чтобы получить абсолютную ссылку нужно добавить вначале https://internet.garant.ru для коммерческих пользователей или https://ivo.garant.ru для некоммерческих

topic

Integer

Внутренний номер документа, который может быть использован в других функциях API, например в Экспорт документа

name

String

Имя документа

type

Array

Список типов документов (напр. Приказ)

adopted

String

Орган\источник

class

String

Тема

date

String

Дата

number

Array

Список номеров

rdate

String

Дата регистрации

rcode

String

Регистрационный номер

rstatus

String

Статус регистрации

category

String

Значимость

status

String

Статус

kind

String

Вид информации

territory

String

Территория

segment

String

Информационный блок

 

Пример:

{

     "url": "/#/document/72957500",

     "topic": 72957500,

     "name": "Городские округа с внутригородским делением в муниципально-территориальном устройстве",

     "type": ["Акт"],

     "adopted": "Референдум Российской Федерации",

     "class": "Основы государственно-правового устройства\\Основы конституционного строя",

     "date": "01.01.2001",

     "number": ["0"],

     "rdate": "01.01.2001",

     "rcode": "01",

     "rstatus": "Иные",

     "category": "Общие",

     "status": "Действующие",

     "kind": "Комментарии",

     "territory": "Российская Федерация",

     "segmentK3": "Практика высших судебных органов"

}

 

Коды ошибок

В случае ошибки API возвращается HTTP-код ошибки.

  

HTTP Код

Метод API

Описание

400

Все

Ошибка синтаксиса запроса (неправильный формат данных)

400

Документы на контроле

В запросе передано больше 100 документов для проверки

400

Лента прайм

Переданная дата больше чем на один год отличается от текущей или разница между fromDate и toDate более 10 дней

401

Все

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

403

Все

Нет прав на данный запрос (недостаточно разрешений у токена)

404

Экспорт документа, Документы на контроле

Документ не найден

404

Лента прайм

Не найдена категория, переданная в запросе

423

Простановка ссылок, Документы на контроле

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

423

Экспорт документа

Количество запросов превысило 30 с начала календарного месяца

423

Информация о документе

 

Количество запросов превысило 300 с начала календарного месяца

429

Все

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

 

  

Примеры поиска с помощью языка запросов

В этом разделе приводится описание возможности поиска документов по значениям разных реквизитов. Для этих целей разработан специальный язык запросов, на котором необходимо описывать строку для поиска - поле text - в методе API Поиск.

Поиск по номеру

{

 "text": "& BOOL(| CasesNumber(001/20-П))",

 "count": 30,

 "isQuery": true,

 "kind": ["003"],

 "sort": 0,

 "sortOrder": 0

}

 

Поиск по словам в тексте

{

 "text": "& BOOL(& MorphoText(налог))",

 "count": 30,

 "isQuery": true,

 "kind": ["001", "002", "003"],

 "sort": 0,

 "sortOrder": 0

}

 

Поиск по дате

{

 "text": "& BOOL(Date(20.01.2022;26.01.2022))",

 "count": 30,

 "isQuery": true,

 "kind": ["001","002","003"],

 "sort": 0,

 "sortOrder": 0

}

Поиск по словам в названии

{

 "text": "& BOOL(& MorphoName(Конституция))",

 "count": 30,

 "isQuery": true,

 "kind": ["001","002","003"],

 "sort": 0,

 "sortOrder": 0

}

 

Поиск по типу

{

 "text": "& BOOL(| Type(Аттестат))",

 "count": 30,

 "isQuery": true,

 "kind": ["001","002","003"],

 "sort": 0,

 "sortOrder": 0

}

 

Поиск по органу государственной власти

{

 "text": "& BOOL(| Adopted(Органы власти г. Москвы))",

 "count": 30,

 "isQuery": true,

 "kind": ["001","002","003"],

 "sort": 0,

 "sortOrder": 0

}

 

Поиск по дате регистрации в Минюсте

{

 "text": "& BOOL(RDate(20.01.2022;26.01.2022))",

 "count": 30,

 "isQuery": true,

 "kind": ["001","002","003"],

 "sort": 0,

 "sortOrder": 0

}

 

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

{

 "text": "& BOOL(| Type(Акт)) & BOOL(| Number(44))",

 "count": 30,

 "isQuery": true,

 "kind": ["001","002","003"],

 "sort": 0,

 "sortOrder": 0

}