Получение данных о контрагенте - интеграция с сервисом ЗаЧестныйБизнес

Здесь мы рассмотрим интеграцию с сервисом За честный бизнес (ЗЧБ) - https://zachestnyibiznesapi.ru

Сервис возвращает большое количество информации по нужному контрагенту.

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

Каждый запрос имеет стоимость, по сравнению с ДАДАТА запросы дорогие, при общей схожести лучше информацию максимально тянуть из Дадаты, и только то чего там нет - из ЗЧБ.

Доступна информация:

  • Сведения ФНС (fns-card)
  • Фин. отчетность (fs)
  • Фин. отчетность ФНС (fs-fns)
  • ФССП (fssp-list)
  • Рейтинг (rating)
  • Судебные дела (court-arbitration)
  • Контакты (contacts)
  • Проверки (proverki)
  • РАФП (rafp)
  • ТОП закупок (zakupki-top)
  • Список сообщений по банкротству (bankrupt-message-list)
  • Карточка банкрота (bankrupt-card)
  • Список лизинговых договоров (lease-contracts-list)
  • Связанные организации (affilation-company)
  • Лицензии (licenses)
  • Важные факты/Риски (important-facts)
  • Проверка на наличие в реестре террористов (check-terror-fio)
  • Выписка из ЕГРЮЛ на требуемую дату (fns-card-report)
  • История изменений юр.адреса/руководителей/учредителей в организации 
  • Отчет по форме ФНС на требуемую дату (company-fns-requirements-info)
  • Проверка на наличие в реестре иноагентов (check-foreign-agent-fio)
  • и пр.

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

https://zachestnyibiznesapi.ru/paid/data/bankrupt-message-list?id=***&api_key=token

вместо id чаще всего ИНН, но иногда ОГРН, надо смотреть описание метода.

Токен получаем после регистрации на сайте сервиса. 

формат на выходе - JSON, некоторые методы поддерживают XML.

Пример процедуры запроса к внешнему API (исходящий запрос API):

CREATE PROCEDURE [dbo].[api_zchb_get_request]
  @parameters ExtendedDictionaryParameter READONLY,  -- (Key, Value2)
  @username nvarchar(32)  -- current site user
AS
BEGIN
  declare @token nvarchar(max)=isnull((select value from as_settings where code='zchb_token'),'')
    declare @param nvarchar(max)=isnull((SELECT Value2 FROM @parameters WHERE [Key]='itemID'),'')
    declare @method nvarchar(max)='fssp-list'

  --обновляем
     insert as_trace(header,username,code,created) values('api_zchb_get,caller='+@caller+',method='+@method+',param='+@param,@username,'api_zchb_get',getdate())

  --select 1
     select '' Msg, 1 Result, @method RequestParameterForResponse,
        'https://zachestnyibiznesapi.ru/paid/data/'+@method+'?id='+@param+'&'+'api_key='+@token Url
END

Использовать API можно следующим образом (в таблице указываем название метода API - он будет вызываться до загрузки таблицы и поставлять в него данные)

CREATE PROCEDURE [dbo].[crud_zchb_fssp_getItems]
  @filters ExtendedDictionaryParameter READONLY,  
  @sort sql_variant,
  @direction nvarchar(8),
  @page int,
  @pageSize int,
  @username nvarchar(32)
AS
BEGIN
  declare @res nvarchar(max)=isnull((select Value2 from @filters where [Key]='zchb_get'),'')
  select  isnull(json_value(f.value,'$."Должник"'),'') name,
        isnull(json_value(f.value,'$."Адрес"'),'') desc_name,
      isnull(json_value(f.value,'$."НомИспПроизв"'),'') deloNum,
        isnull('От '+convert(nvarchar,dbo.srv_ddt2date(json_value(f.value,'$."ДатаВозбуждения"')+'000'),104),'') desc_deloNum,
            isnull(json_value(f.value,'$."Страховые взносы, включая пени"'),'') treb,
              isnull('Исп.документ '+json_value(f.value,'$."ДатаИспДок"'),'')+
                isnull(' от '+convert(nvarchar,dbo.srv_ddt2date(json_value(f.value,'$."ДатаИспДок"')+'000'),104),'') desc_treb,
            isnull(dbo.as_num(try_cast(json_value(f.value,'$."СуммаДолга"')as int),2)+' руб.','') dolg,
              isnull('Остаток долга '+dbo.as_num(try_cast(json_value(f.value,'$."ОстатокДолга"')as int),2)+' руб.','') desc_dolg,
            isnull(json_value(f.value,'$."ОтделСудебПрист"'),'') pristav,
        isnull(json_value(f.value,'$."АдрОтделаСудебПрист"'),'') desc_pristav
  into #res                
    from openjson(@res,'$.body.docs') f

    --select 1
    select * from #res
    order by name
    OFFSET @PageSize * (@Page - 1) ROWS  FETCH NEXT @PageSize ROWS ONLY
    
    --select 2
    select count(*) from #res
    drop table #res
    
END


Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

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

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

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

Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Сайт использует Cookie. Правила конфиденциальности OK