API (Application Programming Interface)


Общий принцип работы
Примеры выполнения запроса к API (на PHP)
Результат выполнения запроса к API


Метод Описание
Метод getOrganization Метод возвращает подробный анализ финансового состояния организации по сравнению с отраслевыми и общероссийскими показателями.
Метод getOrganizationShort Метод возвращает краткий анализ финансового состояния организации по сравнению с отраслевыми и общероссийскими показателями.
Метод compareOrganizations Метод возвращает подробный анализ сравнения финансового состояния двух организаций.
Метод calculateInputData Метод возвращает подробный анализ финансового состояния организации по данным, введенным вручную.


Общий принцип работы


Взаимодействие с API происходит по протоколу HTTPS методом POST.

URL доступа к API:
https://www.testfirm.ru/api/

Обязательными параметрами для каждого запроса являются:
- key - ключ доступа к API (выдается бесплатно, для его получения заполните форму);
- method - выбранный метод.



Примеры выполнения запроса к API (на PHP)


$fields = ['key' => '99c5e07b4d5de9d18c350cdf64c5aa3d', 'method' => 'getOrganization', 'inn' => '7736050003'];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.testfirm.ru/api/');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$results = curl_exec($ch);
или

$fields = ['key' => '99c5e07b4d5de9d18c350cdf64c5aa3d', 'method' => 'getOrganization', 'inn' => '7736050003'];

$opts = [
    'http' => [
    'method' => 'POST',
    'header' => 'Content-type: application/x-www-form-urlencoded',
    'content' => http_build_query($fields)
    ]
];

$results = file_get_contents('https://www.testfirm.ru/api/', false, stream_context_create($opts));


Результат выполнения запроса к API


Результат всегда возвращается в формате JSON.

В случае неуспешного выполнения запроса возвращаются поля status, error_code, error_text:

{
    "status": "error",
    "error_code": "REQUIRED_PARAMETER_NOT_SPECIFIED",
    "error_text": "Не указан обязательный параметр key"
}
В случае успешного выполнения запроса возвращаются поля status и data:

{
    "status": "success",
    "data": {
        "url": "https://www.testfirm.ru/result/7736050003_pao-gazprom",
        "org": {
            "inn": "7736050003",
            "name": "ПАО "ГАЗПРОМ"",
            "okved": "46.71",
            "okved_text": "Торговля оптовая твердым, жидким и газообразным топливом и подобными продуктами"
            "revenue": 3934488441000,
            "assets": 13852945759000,
            "org_group": 5,
            "org_group_text": "крупные предприятия (свыше 2 млрд. руб.)",
            "region": "77",
            "region_text": "Москва",
            "stat_year": 2016
        },
        "result": {
            "all": {
                "score": 1.222,
                "score_text": "значительно лучше"
                "score_longtext": "Финансовое состояние организации значительно лучше среднего по РФ."
            },
            "industry": {
                "okved": "46.71",
                "okved_text": "Торговля оптовая твердым, жидким и газообразным топливом и подобными продуктами",
                "score": 1.222,
                "score_text": "значительно лучше",
                "score_longtext": "Финансовое состояние организации значительно лучше среднего по отрасли."
            }
        },
        "change": {
            "value": -0.222,
            "value_text": "ухудшилось"
        },
        "details": {
            "avtonom": {
                "title": "Коэффициент автономии",
                "value": 0.752,
                "industry_mediana": 0.124,
                "industry_rank": 2,
                "all_mediana": 0.214,
                "all_rank": 2
            },
            "sosobesp": {
                "title": "Коэффициент обеспеченности собственными оборотными средствами",
                "value": -0.127,
                "industry_mediana": 0.073,
                "industry_rank": -2,
                "all_mediana": 0.043,
                "all_rank": -1
            },
            "pokrinvest": {
                "title": "Коэффициент покрытия инвестиций",
                "value": 0.891,
                "industry_mediana": 0.228,
                "industry_rank": 2,
                "all_mediana": 0.399,
                "all_rank": 2
            },
            "CurrentRatio": {
                "title": "Коэффициент текущей ликвидности",
                "value": 2.022,
                "industry_mediana": 1.164,
                "industry_rank": 2,
                "all_mediana": 1.218,
                "all_rank": 2
            },
            "QuickRatio": {
                "title": "Коэффициент быстрой ликвидности",
                "value": 1.649,
                "industry_mediana": 1.042,
                "industry_rank": 2,
                "all_mediana": 0.941,
                "all_rank": 2
            },
            "CashRatio" : {
                "title": "Коэффициент абсолютной ликвидности",
                "value": 0.482,
                "industry_mediana": 0.076,
                "industry_rank": 2,
                "all_mediana": 0.109,
                "all_rank": 2
            },
            "ROA": {
                "title": "Рентабельность активов",
                "value": 0.031,
                "industry_mediana": 0.033,
                "industry_rank": -1,
                "all_mediana": 0.036,
                "all_rank": -1
            },
            "ProfitMargin": {
                "title": "Норма чистой прибыли",
                "value": 0.105,
                "industry_mediana": 0.005,
                "industry_rank": 2,
                "all_mediana": 0.015,
                "all_rank": 2
            },
            "GrossMargin": {
                "title": "Рентабельность продаж",
                "value": 0.085,
                "industry_mediana": 0.013,
                "industry_rank": 2,
                "all_mediana": 0.036,
                "all_rank": 1
            }
        },
        "counter": 35
    }
}


Метод getOrganization


Метод возвращает подробный анализ финансового состояния организации по сравнению с отраслевыми и общероссийскими показателями.

Обязательным параметром для данного метода является inn (ИНН организации).

Показать описание формата возвращаемых данных

Описание формата возвращаемых данных (поле data)

Если организация не найдена, возвращается пустой массив.

Ключ Описание
urlАдрес страницы результата анализа на сайте. Если организация не найдена, данный параметр не возвращается.
orgМассив с основными данными об организации. Если организация не найдена, данный массив не возвращается.
org → innИНН организации.
org → nameНазвание организации.
org → okvedКод ОКВЭД.
org → okved_textНазвание ОКВЭД.
org → revenueВыручка (в рублях, может отсутствовать).
org → assetsАктивы (в рублях, может отсутствовать).
org → org_groupКатегория предприятия.
org → org_group_textНазвание категории предприятия.
org → regionКод региона.
org → region_textНазвание региона.
org → stat_yearГод, за который использовалась отчетность для анализа.
resultМассив с результатами анализа фин. состояния организации. Если для анализа не хватило данных отчетности, то данный массив не возвращается.
result → industryМассив с результатами анализа фин. состояния организации с отраслевыми показателями.
result → industry → okvedКод ОКВЭД, для которого проведен анализ с отраслевыми показателями (может отличаться от ОКВЭД организации, если в базе Росстата нет данных).
result → industry → okved_textНазвание ОКВЭД.
result → industry → scoreИтоговый балл сравнения показателей организации с отраслевыми.
result → industry → score_textКраткий текст результата сравнения показателей организации с отраслевыми.
result → industry → score_longtextПолный текст результата сравнения показателей организации с отраслевыми.
result → allМассив с результатами анализа фин. состояния организации с общероссийскими показателями.
result → all → scoreИтоговый балл сравнения показателей организации с общероссийскими.
result → all → score_textКраткий текст результата сравнения показателей организации с общероссийскими.
result → all → score_longtextПолный текст результата сравнения показателей организации с общероссийскими.
changeИзменение финансового состояния за год. Если отсутствует отчетность за предыдущий год, то данный массив не возвращается.
change → valueИзменение финансового состояния (в баллах) за год.
change → value_textТекстовое описание изменения фин. состояния организации за год.
detailsПодробности анализа финансового состояния организации. Если для анализа не хватило данных отчетности, то данный массив не возвращается.
details → avtonomКод показателя.
details → avtonom → titleНазвание показателя.
details → avtonom → valueРассчитанное значение данного показателя для организации.
details → avtonom → industry_medianaМедианное значение данного показателя для отрасли.
details → avtonom → industry_rankБалл по итогам сравнения показателя организации с отраслевыми.
details → avtonom → all_medianaМедианное значение данного показателя для РФ.
details → avtonom → all_rankБалл по итогам сравнения показателя организации с общероссийскими.
warningsПредупреждения (может отсутствовать).
warnings → fns_no_reportПредупреждение, что организация не сдавала отчетность в ФНС более года.
warnings → fns_debtПредупреждение, что организация имеет превышающую 1000 рублей задолженность по уплате налогов.
counterКоличество выполненных запросов за последние 30 дней.

Метод getOrganizationShort


Метод возвращает краткий анализ финансового состояния организации по сравнению с отраслевыми и общероссийскими показателями.

Обязательным параметром для данного метода является inn (ИНН организации).

Показать описание формата возвращаемых данных

Описание формата возвращаемых данных (поле data)

Если организация не найдена, возвращается пустой массив.

Ключ Описание
urlАдрес страницы результата анализа на сайте.
nameНазвание организации.
industry_okvedКод ОКВЭД, для которого проведен анализ с отраслевыми показателями. Если для анализа не хватило данных отчетности, то данный параметр не возвращается.
industry_scoreИтоговый балл сравнения показателей организации с отраслевыми. Если для анализа не хватило данных отчетности, то данный параметр не возвращается.
industry_score_textПолный текст результата сравнения показателей организации с отраслевыми. Если для анализа не хватило данных отчетности, то данный параметр не возвращается.
all_scoreИтоговый балл сравнения показателей организации с общероссийскими. Если для анализа не хватило данных отчетности, то данный параметр не возвращается.
all_score_textПолный текст результата сравнения показателей организации с общероссийскими. Если для анализа не хватило данных отчетности, то данный параметр не возвращается.
counterКоличество выполненных запросов за последние 30 дней.

Метод compareOrganizations


Метод возвращает подробный анализ сравнения финансового состояния двух организаций.

Обязательными параметрами для данного метода являются:
- inn1 (ИНН основной организации);
- inn2 (ИНН организации-конкурента).

Показать описание формата возвращаемых данных

Описание формата возвращаемых данных (поле data)

Если организация не найдена, возвращается пустой массив.

Ключ Описание
urlАдрес страницы результата анализа на сайте. Если организация не найдена, данный параметр не возвращается.
orgМассив с данными об основной организации. Если организация не найдена, данный массив не возвращается.
org → innИНН организации.
org → nameНазвание организации.
org → okvedКод ОКВЭД.
org → okved_textНазвание ОКВЭД.
org → revenueВыручка (в рублях, может отсутствовать).
org → assetsАктивы (в рублях, может отсутствовать).
org → org_groupКатегория организации по выручке.
org → org_group_textНазвание категории организации по выручке.
org → regionКод региона.
org → region_textНазвание региона.
org → stat_yearГод, за который использовалась отчетность для анализа.
competitorМассив с данными об организации-конкуренте. Если организация не найдена, данный массив не возвращается.
competitor → innИНН организации-конкурента.
competitor → nameНазвание организации-конкурента.
competitor → okvedКод ОКВЭД организации-конкурента.
competitor → okved_textНазвание ОКВЭД организации-конкурента.
competitor → revenueВыручка (в рублях) организации-конкурента (может отсутствовать).
competitor → assetsАктивы (в рублях) организации-конкурента (может отсутствовать).
competitor → org_groupКатегория организации-конкурента.
competitor → org_group_textНазвание категории организации-конкурента.
competitor → regionКод региона организации-конкурента.
competitor → region_textНазвание региона организации-конкурента.
competitor → stat_yearГод, за который использовалась отчетность для анализа.
resultМассив с результатами анализа фин. состояния основной организации. Если для анализа не хватило данных отчетности, то данный массив не возвращается.
result → industryМассив с результатами анализа фин. состояния основной организации с отраслевыми показателями.
result → industry → okvedКод ОКВЭД, для которого проведен анализ с отраслевыми показателями (может отличаться от ОКВЭД организации, если в базе Росстата нет данных).
result → industry → okved_textНазвание ОКВЭД.
result → industry → scoreИтоговый балл сравнения показателей основной организации с отраслевыми.
result → industry → score_textКраткий текст результата сравнения показателей основной организации с отраслевыми.
result → industry → score_longtextПолный текст результата сравнения показателей основной организации с отраслевыми.
result → competitorМассив с результатами сравнительного анализа фин. состояния организации с показателями конкурента. Если для анализа не хватило данных отчетности о конкуренте, то данный массив не возвращается.
result → competitor → scoreИтоговый балл сравнения показателей организации с конкурентом.
result → competitor → score_textКраткий текст результата сравнения показателей организации с конкурентом.
result → competitor → score_longtextПолный текст результата сравнения показателей организации с конкурентом.
changeИзменение финансового состояния основной организации за год. Если отсутствует отчетность за предыдущий год, то данный массив не возвращается.
change → valueИзменение финансового состояния основной организации (в баллах) за год.
change → value_textТекстовое описание изменения фин. состояния основной организации за год.
detailsПодробности анализа финансового состояния организации. Если для анализа не хватило данных отчетности, то данный массив не возвращается.
details → avtonomКод показателя.
details → avtonom → titleНазвание показателя.
details → avtonom → valueРассчитанное значение данного показателя для основной организации.
details → avtonom → industry_medianaМедианное значение данного показателя для отрасли.
details → avtonom → industry_rankБалл по итогам сравнения показателя основной организации с отраслевыми.
details → avtonom → competitor_valueРассчитанное значение данного показателя для организации-конкурента (может отсутствовать).
details → avtonom → competitor_rankБалл по итогам сравнения показателя основной организации с конкурентом (может отсутствовать).
counterКоличество выполненных запросов за последние 30 дней.


Метод calculateInputData


Метод возвращает подробный анализ финансового состояния организации по данным, введенным вручную.

Обязательными параметрами для данного метода являются:
- okved (код вида деятельности (ОКВЭД);
- dimension (размерность исходных данных - 1, 1000, 1000000 (руб.));
- form1 (данные формы №1 "Бухгалтерский баланс"). Параметр указывается в виде массива, где ключами могут быть 1100, 1230, 1240, 1250, 1200, 1300, 1400, 1500, 1600 (1700), а значениями выступают показатели в формате массива, где первый элемент - значение показателя на текущий год, второй элемент - значение показателя за предыдущий год. Все показатели указывать необязательно. В случае отсутствия показателя за предыдущий год можно передавать текущий показатель в виде числа. Подробнее - в примере выполнения запроса.
- form2 (данные формы №2 "Отчет о финансовых результатах"). Параметр указывается в виде массива, где ключами могут быть 2110, 2200, 2400, а значениями выступают показатели в формате числа.

Показать пример выполнения запроса к API

// Вариант 1

$fields = [
    'key' => '99c5e07b4d5de9d18c350cdf64c5aa3d',
    'method' => 'calculateInputData',
    'okved' => '62.01',
    'dimension' => 1000,
    'form1' => [
        1100 => [6000, 5000],
        1230 => [8000, 9000],
        1240 => [0, 0],
        1250 => [200, 400],
        1200 => [9000, 10000],
        1300 => [8000, 9000],
        1400 => [6000, 4000],
        1500 => [12000, 14000],
        1600 => [15000, 16000],
    ],
    'form2' => [
        2110 => 10000,
        2200 => 500,
        2400 => 2000,
    ],
];

$opts = [
    'http' => [
    'method' => 'POST',
    'header' => 'Content-type: application/x-www-form-urlencoded',
    'content' => http_build_query($fields)
    ]
];

$results = file_get_contents('https://www.testfirm.ru/api/', false, stream_context_create($opts));


// Вариант 2

$fields = [
    'key' => '99c5e07b4d5de9d18c350cdf64c5aa3d',
    'method' => 'calculateInputData',
    'okved' => '62.01',
    'dimension' => 1000,
    'form1' => [
        1100 => [6000, 5000],
        1230 => [8000, 9000],
        1250 => 200,
        1200 => [9000, 10000],
        1300 => 8000,
        1400 => [6000, 4000],
        1500 => 12000,
        1600 => [15000, 16000],
    ],
    'form2' => [
        2110 => 10000,
        2200 => 500,
        2400 => 2000,
    ],
];

$opts = [
    'http' => [
    'method' => 'POST',
    'header' => 'Content-type: application/x-www-form-urlencoded',
    'content' => http_build_query($fields)
    ]
];

$results = file_get_contents('https://www.testfirm.ru/api/', false, stream_context_create($opts));

Показать описание формата возвращаемых данных

Описание формата возвращаемых данных (поле data)

Если данных для анализа недостаточно, возвращается пустой массив.

Ключ Описание
resultМассив с результатами анализа фин. состояния организации. Если для анализа не хватило данных отчетности, то данный массив не возвращается.
result → industryМассив с результатами анализа фин. состояния организации с отраслевыми показателями.
result → industry → okvedКод ОКВЭД, для которого проведен анализ с отраслевыми показателями (может отличаться от ОКВЭД организации, если в базе Росстата нет данных).
result → industry → okved_textНазвание ОКВЭД.
result → industry → scoreИтоговый балл сравнения показателей организации с отраслевыми.
result → industry → score_textКраткий текст результата сравнения показателей организации с отраслевыми.
result → industry → score_longtextПолный текст результата сравнения показателей организации с отраслевыми.
result → allМассив с результатами анализа фин. состояния организации с общероссийскими показателями.
result → all → scoreИтоговый балл сравнения показателей организации с общероссийскими.
result → all → score_textКраткий текст результата сравнения показателей организации с общероссийскими.
result → all → score_longtextПолный текст результата сравнения показателей организации с общероссийскими.
detailsПодробности анализа финансового состояния организации. Если для анализа не хватило данных отчетности, то данный массив не возвращается.
details → avtonomКод показателя.
details → avtonom → titleНазвание показателя.
details → avtonom → valueРассчитанное значение данного показателя для организации.
details → avtonom → industry_medianaМедианное значение данного показателя для отрасли.
details → avtonom → industry_rankБалл по итогам сравнения показателя организации с отраслевыми.
details → avtonom → all_medianaМедианное значение данного показателя для РФ.
details → avtonom → all_rankБалл по итогам сравнения показателя организации с общероссийскими.
counterКоличество выполненных запросов за последние 30 дней.