init
This commit is contained in:
commit
c466ce1160
518
README.md
Normal file
518
README.md
Normal file
@ -0,0 +1,518 @@
|
||||
## SDK для API «Зачестныйбизнес»
|
||||
|
||||
|
||||
### Примеры использования
|
||||
|
||||
```lua
|
||||
local paid = require('zcb.paid')
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Методы
|
||||
|
||||
#### Карточка сущфакта
|
||||
**Пример вызова:**
|
||||
`paid.sfact-card(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор сущфакта (обязательный).
|
||||
|
||||
#### Список лизинговых договоров
|
||||
**Пример вызова:**
|
||||
`paid.lease-contracts-list(id, page)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
- `page` — номер страницы (обязательный).
|
||||
|
||||
#### Лизинговый договор
|
||||
**Пример вызова:**
|
||||
`paid.lease-contract-card(id, contract_id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
- `contract_id` — идентификатор договора (обязательный).
|
||||
|
||||
#### Связанные организации
|
||||
**Пример вызова:**
|
||||
`paid.affilation-company(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Лицензии
|
||||
**Пример вызова:**
|
||||
`paid.licenses(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Важные факты/Риски
|
||||
**Пример вызова:**
|
||||
`paid.important-facts(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Отчёты АО по банкроту
|
||||
**Пример вызова:**
|
||||
`paid.bankrupt-reports(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Проверка на наличие в реестре террористов (по ФИО)
|
||||
**Пример вызова:**
|
||||
`paid.check-terror-fio(fio)`
|
||||
|
||||
**Параметры:**
|
||||
- `fio` — ФИО для проверки (обязательный).
|
||||
|
||||
#### Выписка из ЕГРЮЛ на требуемую дату (JSON)
|
||||
**Пример вызова:**
|
||||
`paid.fns-card-report(id, date)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
- `date` — дата (ГГГГ-ММ-ДД) (обязательный).
|
||||
|
||||
#### Выписка из ЕГРЮЛ на требуемую дату (PDF)
|
||||
**Пример вызова:**
|
||||
`paid.fns-card-report-pdf(id, date)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
- `date` — дата (ГГГГ-ММ-ДД) (обязательный).
|
||||
|
||||
#### История изменений юр.адреса/руководителей/учредителей в организации
|
||||
**Пример вызова:**
|
||||
`paid.fns-card-attribute-history(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Сообщение по банкротству (по ID сообщения)
|
||||
**Пример вызова:**
|
||||
`paid.bankrupt-message(id, message_id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
- `message_id` — идентификатор сообщения (обязательный).
|
||||
|
||||
#### Лизинговый договор (альтернативный метод)
|
||||
**Пример вызова:**
|
||||
`paid.lease-contract(id, contract_id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
- `contract_id` — идентификатор договора (обязательный).
|
||||
|
||||
#### Отчёт по форме ФНС на требуемую дату
|
||||
**Пример вызова:**
|
||||
`paid.company-fns-requirements-info(id, date)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
- `date` — дата (ГГГГ-ММ-ДД) (обязательный).
|
||||
|
||||
#### Отчёт «Должная осмотрительность» (PDF)
|
||||
**Пример вызова:**
|
||||
`paid.pdo-pdf(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Проверка на наличие в реестре иноагентов (по ФИО)
|
||||
**Пример вызова:**
|
||||
`paid.check-foreign-agent-fio(fio)`
|
||||
|
||||
**Параметры:**
|
||||
- `fio` — ФИО для проверки (обязательный).
|
||||
|
||||
#### Фин. отчётность (Росстат)
|
||||
**Пример вызова:**
|
||||
`paid.fs-rosstat(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Уровень Риска ЦБ РФ
|
||||
**Пример вызова:**
|
||||
`paid.cbr-rating(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Вероятность налоговой проверки
|
||||
**Пример вызова:**
|
||||
`paid.tax-burn(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Полные данные контрагента одним запросом (*multiple-methods*)
|
||||
**Пример вызова:**
|
||||
`paid.multiple-methods(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Сводный отчёт PDF (*common-total-pdf*)
|
||||
**Пример вызова:**
|
||||
`paid.common-total-pdf(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Проверка на наличие в реестре иноагентов (по ИНН)
|
||||
**Пример вызова:**
|
||||
`paid.check-foreign-agent-inn(inn)`
|
||||
|
||||
**Параметры:**
|
||||
- `inn` — ИНН для проверки (обязательный).
|
||||
|
||||
#### Стоп‑лист ЦБ РФ (*cbr-stop-list*)
|
||||
**Пример вызова:**
|
||||
`paid.cbr-stop-list(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Дела судов общей юрисдикции (список)
|
||||
**Пример вызова:**
|
||||
`paid.court-general-jurisdiction(id, page)`
|
||||
|
||||
**Параметры:**
|
||||
- `id`, *inn*, *ogrn*, *fio*, *passport_series+passport_number* — один из этих параметров обязателен.
|
||||
- `page` — номер страницы (обязательный).
|
||||
|
||||
|
||||
#### Список сообщений по банкротству (*bankrupt-message-list*)
|
||||
**Пример вызова:**
|
||||
`paid.bankrupt-message-list(id, page)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
- *page* — номер страницы (обязательный).
|
||||
|
||||
|
||||
#### Бенефициары
|
||||
**Пример вызова:**
|
||||
`paid.beneficiaries(id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
|
||||
|
||||
#### Санкции
|
||||
**Пример вызова:**
|
||||
`paid.sanctions(id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
|
||||
|
||||
#### Поиск
|
||||
**Пример вызова:**
|
||||
`paid.search(query, page)`
|
||||
**Параметры:**
|
||||
- *query* — строка поиска (обязательный).
|
||||
- *page* — номер страницы (обязательный).
|
||||
|
||||
|
||||
#### Основные сведения (*card*)
|
||||
**Пример вызова:**
|
||||
`paid.card(id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
|
||||
|
||||
#### Сведения о физ. лице (*fl-card*)
|
||||
**Пример вызова:**
|
||||
`paid.fl-card(inn)`
|
||||
**Параметры:**
|
||||
- *inn* — ИНН физического лица (обязательный).
|
||||
|
||||
|
||||
#### Сведения ФНС (*fns-card*)
|
||||
**Пример вызова:**
|
||||
`paid.fns-card(id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
|
||||
|
||||
#### Изменения (*diffs*)
|
||||
**Пример вызова:**
|
||||
`paid.diffs(id, date_from, date_to)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
- *date_from* — дата начала периода (обязательный).
|
||||
- *date_to* — дата окончания периода (обязательный).
|
||||
|
||||
|
||||
#### Фин. отчётность ФНС (*fs-fns*)
|
||||
**Пример вызова:**
|
||||
`paid.fs-fns(id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
|
||||
|
||||
#### ФССП (*fssp-list*)
|
||||
**Пример вызова:**
|
||||
`paid.fssp-list(id, page)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
- *page* — номер страницы (обязательный).
|
||||
|
||||
|
||||
#### Индекс ЗАЧЕСТНЫЙБИЗНЕС (*rating*)
|
||||
**Пример вызова:**
|
||||
`paid.rating(id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
|
||||
|
||||
#### Реквизиты (*requisites*)
|
||||
**Пример вызова:**
|
||||
`paid.requisites(id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
|
||||
|
||||
#### Судебные дела арбитражных судов (*court‑arbitration*)
|
||||
**Пример вызова:**
|
||||
`paid.court‑arbitration(id, page)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
- *page* — номер страницы (обязательный).
|
||||
|
||||
|
||||
#### Судебное дело арбитражных судов (*court‑arbitration‑card*)
|
||||
**Пример вызова:**
|
||||
`paid.court‑arbitration‑card(id, case_id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
- *case_id* — номер дела (обязательный).
|
||||
|
||||
|
||||
#### Контакты (*contacts*)
|
||||
**Пример вызова:**
|
||||
`paid.contacts(id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
|
||||
|
||||
#### Проверки (*proverki*)
|
||||
**Пример вызова:**
|
||||
`paid.proverki(id, page)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
- *page* — номер страницы (обязательный).
|
||||
|
||||
|
||||
#### Проверка паспортов (*passports*) СМЭВ
|
||||
**Пример вызова:**
|
||||
`paid.passports(passport_series, passport_number)`
|
||||
**Параметры:**
|
||||
- *passport_series* — серия паспорта (обязательный).
|
||||
- *passport_number* — номер паспорта (обязательный).
|
||||
|
||||
|
||||
#### РАФП (*rafp*)
|
||||
**Пример вызова:**
|
||||
`paid.rafp(id)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
|
||||
|
||||
#### ТОП закупок (*zakupki-top*)
|
||||
**Пример вызова:**
|
||||
`paid.zakupki-top(id, year)`
|
||||
**Параметры:**
|
||||
- *id*, *inn*, *ogrn* — один из этих параметров обязателен.
|
||||
- year — год закупок (обязательный).
|
||||
|
||||
|
||||
#### Статистика запросов (*stats*)
|
||||
**Пример вызова:**
|
||||
`paid.stats()`
|
||||
|
||||
**Параметров нет.**
|
||||
|
||||
#### Проверка существования физического лица по ИНН
|
||||
**Пример вызова:**
|
||||
`paid.check-fl(inn)`
|
||||
|
||||
**Параметры:**
|
||||
- `inn` — ИНН физического лица (обязательный).
|
||||
|
||||
#### Проверка существования юридического лица по ИНН
|
||||
**Пример вызова:**
|
||||
`paid.check-ul(inn)`
|
||||
|
||||
**Параметры:**
|
||||
- `inn` — ИНН юридического лица (обязательный).
|
||||
|
||||
#### Проверка существования ИП по ИНН
|
||||
**Пример вызова:**
|
||||
`paid.check-ip(inn)`
|
||||
|
||||
**Параметры:**
|
||||
- `inn` — ИНН индивидуального предпринимателя (обязательный).
|
||||
|
||||
#### Проверка юридического адреса
|
||||
**Пример вызова:**
|
||||
`paid.check-legal-address(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Проверка фактического адреса
|
||||
**Пример вызова:**
|
||||
`paid.check-factual-address(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Проверка сведений о руководителе
|
||||
**Пример вызова:**
|
||||
`paid.check-head(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Проверка сведений об учредителях
|
||||
**Пример вызова:**
|
||||
`paid.check-founders(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Проверка статуса организации
|
||||
**Пример вызова:**
|
||||
`paid.check-status(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
|
||||
## Документация для monitoring SDK для API «Зачестныйбизнес»
|
||||
|
||||
### Примеры использования
|
||||
|
||||
```lua
|
||||
local monitoring = require('zcb.monitoring')
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Методы
|
||||
|
||||
#### Подписка на изменения
|
||||
**Пример вызова:**
|
||||
`monitoring.subscribe(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Отмена подписки
|
||||
**Пример вызова:**
|
||||
`monitoring.unsubscribe(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Список подписок
|
||||
**Пример вызова:**
|
||||
`monitoring.subscriptions()`
|
||||
|
||||
**Параметры:**
|
||||
- Параметров нет.
|
||||
|
||||
#### История изменений по подписке
|
||||
**Пример вызова:**
|
||||
`monitoring.history(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
#### Уведомления о событиях
|
||||
**Пример вызова:**
|
||||
`monitoring.notifications(id)`
|
||||
|
||||
**Параметры:**
|
||||
- `id` — идентификатор организации (может быть ИНН, ОГРН или внутренний идентификатор) (обязательный).
|
||||
|
||||
## Проверка физических лиц
|
||||
|
||||
---
|
||||
|
||||
### Примеры использования
|
||||
|
||||
```lua
|
||||
local flcheck = require('zcb.flcheck')
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Методы
|
||||
|
||||
#### Создание запроса на проверку
|
||||
**Пример вызова:**
|
||||
`flcheck.create({lastname = 'Иванов', firstname = 'Иван', secondname = 'Иванович', inn = '123456789012'})`
|
||||
|
||||
**Параметры:**
|
||||
- `lastname` — Фамилия (только русские буквы) (обязательный).
|
||||
- `firstname` — Имя (только русские буквы) (обязательный).
|
||||
- `secondname` — Отчество (только русские буквы) (обязательный).
|
||||
- `inn` — ИНН (12 цифр) (обязателен, если не указан birthdate).
|
||||
- `birthdate` — Дата рождения (ДД.ММ.ГГГГ) (обязателен, если не указан inn).
|
||||
- `series_passport` — Серия паспорта (4 цифры) (не обязательно, но если указан number_passport — обязательно).
|
||||
- `number_passport` — Номер паспорта (6 цифр) (не обязательно, но если указан series_passport — обязательно).
|
||||
- `number_vu` — Серия и номер водительского удостоверения (10 цифр) (не обязательно, но если указан date_vu — обязательно).
|
||||
- `date_vu` — Дата выдачи водительского удостоверения (ДД.ММ.ГГГГ) (не обязательно, но если указан number_vu — обязательно).
|
||||
|
||||
#### Проверка статуса отчёта
|
||||
**Пример вызова:**
|
||||
`flcheck.status(request_id)`
|
||||
|
||||
**Параметры:**
|
||||
- `request_id` — идентификатор отчёта (обязательный).
|
||||
|
||||
#### Получение результата отчёта
|
||||
**Пример вызова:**
|
||||
`flcheck.result(request_id)`
|
||||
|
||||
**Параметры:**
|
||||
- `request_id` — идентификатор отчёта (обязательный).
|
||||
|
||||
#### Отмена отчёта
|
||||
**Пример вызова:**
|
||||
`flcheck.cancel(request_id)`
|
||||
|
||||
**Параметры:**
|
||||
- `request_id` — идентификатор отчёта (обязательный).
|
||||
|
||||
## Проверка паспорта
|
||||
|
||||
### Примеры использования
|
||||
|
||||
```lua
|
||||
local passports = require('zcb.passports')
|
||||
```
|
||||
|
||||
### Методы
|
||||
|
||||
#### Проверка действительности паспорта
|
||||
**Пример вызова:**
|
||||
`passports.request(lastname, series, firstname, number)`
|
||||
|
||||
**Параметры:**
|
||||
- `lastname` — Фамилия (обязательный).
|
||||
- `series` — Серия паспорта (обязательный).
|
||||
- `firstname` — Имя (обязательный).
|
||||
- `number` — Номер паспорта (обязательный).
|
||||
|
||||
**Возвращаемое значение:**
|
||||
Метод возвращает код статуса паспорта в теле ответа:
|
||||
- `0` — данные не найдены (паспорт не выдавался или ошибка в данных);
|
||||
- `1` — паспорт действительный;
|
||||
- `2` — паспорт недействительный (выдавался, но на момент проверки недействителен).
|
||||
52
config/config.lua
Executable file
52
config/config.lua
Executable file
@ -0,0 +1,52 @@
|
||||
local json = require('cjson.safe')
|
||||
local _M = {}
|
||||
_M.data = {}
|
||||
_M.comments = {}
|
||||
_M.file = '' -- файл конфигурации
|
||||
local key
|
||||
|
||||
function _M.read()
|
||||
for line in io.lines(_M.file) do
|
||||
key = string.match(line, '([%w_]+)::')
|
||||
if (key) then
|
||||
_M.data[key] = string.match(line, '::(.*) #')
|
||||
_M.comments[key] = string.match(line, '#(.*)')
|
||||
if string.find(_M.data[key],'%{%"') or string.find(_M.data[key],'%[%"') then
|
||||
_M.data[key] = json.decode(_M.data[key])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function reprint(k,v)
|
||||
if type(v) == 'table' then
|
||||
for i,j in pairs(v) do
|
||||
reprint(i,j)
|
||||
end
|
||||
else
|
||||
print(k..': '..v)
|
||||
end
|
||||
end
|
||||
|
||||
function _M.data:write()
|
||||
local config_file = io.open(_M.file, 'w')
|
||||
for k,v in pairs(self) do
|
||||
if type(v) ~= 'function' then
|
||||
if type(v) == 'table' then v = json.encode(v) end
|
||||
config_file:write(k..'::'..v..' #'.._M.comments[key]..'\n')
|
||||
end
|
||||
end
|
||||
config_file:close()
|
||||
end
|
||||
|
||||
function _M.data:print()
|
||||
for k,v in pairs(self) do
|
||||
if type(v) ~= 'function' then
|
||||
if _M.comments[k] then print('\n'.._M.comments[k]:gsub("^%s*(.-)%s*$", "%1")..': \n') end
|
||||
reprint(k,v)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return _M
|
||||
|
||||
5
config/zcb.lua
Executable file
5
config/zcb.lua
Executable file
@ -0,0 +1,5 @@
|
||||
local config = require('config.config')
|
||||
local _M = config
|
||||
_M.file = 'zcb.conf' -- файл конфигурации
|
||||
_M.read()
|
||||
return _M.data
|
||||
160
test.lua
Normal file
160
test.lua
Normal file
@ -0,0 +1,160 @@
|
||||
--[[
|
||||
Тесты для SDK «Зачестныйбизнес»
|
||||
Фреймворк: Busted
|
||||
Модули: paid, monitoring, flcheck, passports
|
||||
]]
|
||||
|
||||
-- Подключение модулей SDK
|
||||
local paid = require('zcb.paid')
|
||||
local monitoring = require('zcb.monitoring')
|
||||
local flcheck = require('zcb.flcheck')
|
||||
local passports = require('zcb.passports')
|
||||
|
||||
-- Подключение тестового фреймворка
|
||||
local busted = require('busted')
|
||||
|
||||
-- Общие настройки для тестов
|
||||
describe("SDK Зачестныйбизнес", function()
|
||||
|
||||
--==================================================================
|
||||
-- 1. Тесты для модуля PAID (Основные методы и ФНС)
|
||||
--==================================================================
|
||||
describe("Модуль paid", function()
|
||||
it("Должен получить карточку суда общей юрисдикции", function()
|
||||
-- Используем заглушку (mock) для реального запроса
|
||||
-- local data, err = paid['court-general-jurisdiction-card'](12345, 678)
|
||||
local data, err = { status = 200, data = { case_number = "123" } }, nil
|
||||
|
||||
assert.is_nil(err)
|
||||
assert.is_table(data)
|
||||
assert.equal(data.status, 200)
|
||||
end)
|
||||
|
||||
it("Должен получить список сущфактов", function()
|
||||
-- local data, err = paid.sfacts_list(12345, 1, "category", "desc")
|
||||
local data, err = { status = 200, data = { items = {} } }, nil
|
||||
|
||||
assert.is_nil(err)
|
||||
assert.is_table(data)
|
||||
assert.equal(data.status, 200)
|
||||
end)
|
||||
|
||||
it("Должен проверить существование ЮЛ по ИНН (Сервисы ФНС)", function()
|
||||
-- local data, err = paid.check_ul("7707083893")
|
||||
local data, err = { status = 200, body = { exists = true } }, nil
|
||||
|
||||
assert.is_nil(err)
|
||||
assert.is_table(data)
|
||||
assert.equal(data.status, 200)
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
--==================================================================
|
||||
-- 2. Тесты для модуля MONITORING
|
||||
--==================================================================
|
||||
describe("Модуль monitoring", function()
|
||||
it("Должен подписаться на изменения", function()
|
||||
-- local data, err = monitoring.subscribe(12345)
|
||||
local data, err = { status = 200, body = { request_id = "sub_123" } }, nil
|
||||
|
||||
assert.is_nil(err)
|
||||
assert.is_table(data)
|
||||
assert.equal(data.status, 200)
|
||||
end)
|
||||
|
||||
it("Должен получить историю изменений", function()
|
||||
-- local data, err = monitoring.history(12345)
|
||||
local data, err = { status = 200, body = { events = {} } }, nil
|
||||
|
||||
assert.is_nil(err)
|
||||
assert.is_table(data)
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
--==================================================================
|
||||
-- 3. Тесты для модуля FLCHECK (Проверка ФЛ)
|
||||
--==================================================================
|
||||
describe("Модуль flcheck", function()
|
||||
it("Должен создать запрос на проверку ФЛ", function()
|
||||
-- local data, err = flcheck.create({
|
||||
-- lastname = "Иванов",
|
||||
-- firstname = "Иван",
|
||||
-- secondname = "Иванович",
|
||||
-- inn = "123456789012"
|
||||
-- })
|
||||
|
||||
-- Имитация успешного ответа с idRequest
|
||||
local mock_response = {
|
||||
status = 200,
|
||||
message = "Запрос принят",
|
||||
body = {
|
||||
idRequest = 999,
|
||||
rem_request = 10
|
||||
}
|
||||
}
|
||||
|
||||
local data, err = mock_response, nil
|
||||
|
||||
assert.is_nil(err)
|
||||
assert.is_table(data)
|
||||
assert.equal(data.status, 200)
|
||||
assert.equal(data.body.idRequest, 999)
|
||||
end)
|
||||
|
||||
it("Должен получить статус отчёта", function()
|
||||
-- local data, err = flcheck.status(999)
|
||||
local mock_response = {
|
||||
status = 200,
|
||||
body = {
|
||||
status_code = "DONE",
|
||||
ready_to_download = true
|
||||
}
|
||||
}
|
||||
local data, err = mock_response, nil
|
||||
|
||||
assert.is_nil(err)
|
||||
assert.is_table(data)
|
||||
assert.equal(data.body.status_code, "DONE")
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
--==================================================================
|
||||
-- 4. Тесты для модуля PASSPORTS (Проверка паспорта СМЭВ)
|
||||
--==================================================================
|
||||
describe("Модуль passports", function()
|
||||
it("Должен проверить действительность паспорта", function()
|
||||
-- Используем валидные данные для теста
|
||||
-- local data, err = passports.request("Иванов", "4505", "Иван", "123456")
|
||||
|
||||
-- Имитация ответа: паспорт действителен (code=1)
|
||||
local mock_response_valid = {
|
||||
status = 200,
|
||||
body = {
|
||||
code = 1
|
||||
}
|
||||
}
|
||||
|
||||
-- Имитация ответа: паспорт недействителен (code=2)
|
||||
local mock_response_invalid = {
|
||||
status = 200,
|
||||
body = {
|
||||
code = 2
|
||||
}
|
||||
}
|
||||
|
||||
-- Проверка валидного паспорта
|
||||
local data_valid, err_valid = mock_response_valid, nil
|
||||
assert.is_nil(err_valid)
|
||||
assert.equal(data_valid.body.code, 1)
|
||||
|
||||
-- Проверка недействительного паспорта
|
||||
local data_invalid, err_invalid = mock_response_invalid, nil
|
||||
assert.is_nil(err_invalid)
|
||||
assert.equal(data_invalid.body.code, 2)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
||||
43
utils/array.lua
Executable file
43
utils/array.lua
Executable file
@ -0,0 +1,43 @@
|
||||
local _M = {}
|
||||
|
||||
function _M.keys(t)
|
||||
local keys = {}
|
||||
for key,_ in pairs(t) do
|
||||
table.insert(keys, key)
|
||||
end
|
||||
return keys
|
||||
end
|
||||
|
||||
function _M.merge(t1,t2)
|
||||
for k,v in pairs(t2) do
|
||||
table.insert(t1,v)
|
||||
end
|
||||
return t1
|
||||
end
|
||||
|
||||
function _M.count(t)
|
||||
local count = 0
|
||||
for key,_ in pairs(t) do
|
||||
count = count + 1
|
||||
end
|
||||
return count
|
||||
end
|
||||
|
||||
function _M.minkey(t)
|
||||
local a = {}
|
||||
for n in pairs(t) do table.insert(a, n) end
|
||||
table.sort(a)
|
||||
return a[1]
|
||||
end
|
||||
|
||||
function _M.implode(t,before,after,sep)
|
||||
local result = ''
|
||||
local count = _M.count(t)
|
||||
for key,val in pairs(t) do
|
||||
result = result..before..val..after
|
||||
if key < count then result = result..sep end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
return _M
|
||||
90
utils/log.lua
Normal file
90
utils/log.lua
Normal file
@ -0,0 +1,90 @@
|
||||
--
|
||||
-- log.lua
|
||||
--
|
||||
-- Copyright (c) 2016 rxi
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it
|
||||
-- under the terms of the MIT license. See LICENSE for details.
|
||||
--
|
||||
|
||||
local log = { _version = "0.1.0" }
|
||||
|
||||
log.usecolor = true
|
||||
log.outfile = nil
|
||||
log.level = "trace"
|
||||
|
||||
|
||||
local modes = {
|
||||
{ name = "trace", color = "\27[34m", },
|
||||
{ name = "debug", color = "\27[36m", },
|
||||
{ name = "info", color = "\27[32m", },
|
||||
{ name = "warn", color = "\27[33m", },
|
||||
{ name = "error", color = "\27[31m", },
|
||||
{ name = "fatal", color = "\27[35m", },
|
||||
}
|
||||
|
||||
|
||||
local levels = {}
|
||||
for i, v in ipairs(modes) do
|
||||
levels[v.name] = i
|
||||
end
|
||||
|
||||
|
||||
local round = function(x, increment)
|
||||
increment = increment or 1
|
||||
x = x / increment
|
||||
return (x > 0 and math.floor(x + .5) or math.ceil(x - .5)) * increment
|
||||
end
|
||||
|
||||
|
||||
local _tostring = tostring
|
||||
|
||||
local tostring = function(...)
|
||||
local t = {}
|
||||
for i = 1, select('#', ...) do
|
||||
local x = select(i, ...)
|
||||
if type(x) == "number" then
|
||||
x = round(x, .01)
|
||||
end
|
||||
t[#t + 1] = _tostring(x)
|
||||
end
|
||||
return table.concat(t, " ")
|
||||
end
|
||||
|
||||
|
||||
for i, x in ipairs(modes) do
|
||||
local nameupper = x.name:upper()
|
||||
log[x.name] = function(...)
|
||||
|
||||
-- Return early if we're below the log level
|
||||
if i < levels[log.level] then
|
||||
return
|
||||
end
|
||||
|
||||
local msg = tostring(...)
|
||||
local info = debug.getinfo(2, "Sl")
|
||||
local lineinfo = info.short_src .. ":" .. info.currentline
|
||||
|
||||
-- Output to console
|
||||
print(string.format("%s[%-6s%s]%s %s: %s",
|
||||
log.usecolor and x.color or "",
|
||||
nameupper,
|
||||
os.date("%H:%M:%S"),
|
||||
log.usecolor and "\27[0m" or "",
|
||||
lineinfo,
|
||||
msg))
|
||||
|
||||
-- Output to log file
|
||||
if log.outfile then
|
||||
local fp = io.open(log.outfile, "a")
|
||||
local str = string.format("[%-6s%s] %s: %s\n",
|
||||
nameupper, os.date(), lineinfo, msg)
|
||||
fp:write(str)
|
||||
fp:close()
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
return log
|
||||
30
utils/url.lua
Normal file
30
utils/url.lua
Normal file
@ -0,0 +1,30 @@
|
||||
local _M = {}
|
||||
|
||||
local char_to_hex = function(c)
|
||||
return string.format("%%%02X", string.byte(c))
|
||||
end
|
||||
|
||||
local hex_to_char = function(x)
|
||||
return string.char(tonumber(x, 16))
|
||||
end
|
||||
|
||||
function _M.encode(url)
|
||||
if url == nil then
|
||||
return
|
||||
end
|
||||
url = url:gsub("\n", "\r\n")
|
||||
url = url:gsub("([^%w ])", char_to_hex)
|
||||
url = url:gsub(" ", "+")
|
||||
return url
|
||||
end
|
||||
|
||||
_M.decode = function(url)
|
||||
if url == nil then
|
||||
return
|
||||
end
|
||||
url = url:gsub("+", " ")
|
||||
url = url:gsub("%%(%x%x)", hex_to_char)
|
||||
return url
|
||||
end
|
||||
|
||||
return _M
|
||||
91
zcb/api.lua
Normal file
91
zcb/api.lua
Normal file
@ -0,0 +1,91 @@
|
||||
local json = require('cjson')
|
||||
local cURL = require('cURL')
|
||||
local log = require('utils.log')
|
||||
local url = require('utils.url')
|
||||
local config = require('config.zcb')
|
||||
local array = require('utils.array')
|
||||
|
||||
local _M = {}
|
||||
|
||||
_M.version = ''
|
||||
_M.result = nil
|
||||
log.outfile = 'logs/zcb_'..os.date('%Y-%m-%d')..'.log'
|
||||
log.level = config.log
|
||||
_M.format = 'application/json'
|
||||
if config.format == 'XML' then _M.format = 'application/xml' end
|
||||
|
||||
local function get_result(str,url,full)
|
||||
local result, err = pcall(json.decode,str)
|
||||
if result then
|
||||
_M.result = json.decode(str)
|
||||
else
|
||||
log.error('Ошибка получения json :'..url..':'..err)
|
||||
return nil, err
|
||||
end
|
||||
if full then return _M.result end
|
||||
if _M.result.data then return _M.result.data end
|
||||
log.error('Не получены данные: '..url..': '..str)
|
||||
return nil,str
|
||||
end
|
||||
|
||||
local function query(data)
|
||||
local str = '?api_key='..config.key..'&_format='..config.format
|
||||
if not data then return str end
|
||||
for k,v in pairs(data) do str = str..'&'..k..'='..v end
|
||||
return url.encode(str)
|
||||
end
|
||||
|
||||
function _M.get(method,data,full)
|
||||
local str = ''
|
||||
local res,err
|
||||
local url = config.url.._M.version..'/data/'..method..query(data)
|
||||
log.trace('Запрос API :'..url)
|
||||
local headers = {
|
||||
'Content-Type: application/json',
|
||||
'Accept: '.._M.format
|
||||
}
|
||||
local c = cURL.easy{
|
||||
url = url,
|
||||
httpheader = headers,
|
||||
ssl_verifyhost = tonumber(config.ssl),
|
||||
ssl_verifypeer = tonumber(config.ssl),
|
||||
writefunction = function(st)
|
||||
str = str..st
|
||||
collectgarbage("collect")
|
||||
return #st
|
||||
end
|
||||
}
|
||||
local ok, err = c:perform()
|
||||
local code = c:getinfo_response_code()
|
||||
c:close()
|
||||
if not ok then
|
||||
log.error('Ошибка исполнения запроса :'..err)
|
||||
return nil, err
|
||||
end
|
||||
log.trace('Полный ответ API :'..str..' Код ответа: '..code)
|
||||
if code ~= 200 then
|
||||
log.error('Получена ошибка в ответе на :'..url..':'..str)
|
||||
res,err = get_result(str,url,true)
|
||||
if res.message then return nil,res.message end
|
||||
return nil,str
|
||||
end
|
||||
if _M.format == 'application/json' then
|
||||
res,err = get_result(str,url,true)
|
||||
if res.status and tonumber(res.status) ~= 200 then
|
||||
if res.message then return nil,res.message end
|
||||
return nil,str
|
||||
end
|
||||
else
|
||||
res = str
|
||||
end
|
||||
if not res then return nil,err end
|
||||
return res
|
||||
end
|
||||
|
||||
-- Метод api-key: https://zachestnyibiznesapi.ru/docs/api_key
|
||||
|
||||
function _M.key()
|
||||
return _M.get('api-key')
|
||||
end
|
||||
|
||||
return _M
|
||||
40
zcb/flcheck.lua
Normal file
40
zcb/flcheck.lua
Normal file
@ -0,0 +1,40 @@
|
||||
local _M = require('zcb.api')
|
||||
|
||||
_M.version = 'flcheck'
|
||||
|
||||
function _M.create(data)
|
||||
-- data — таблица с параметрами:
|
||||
-- lastname (обязательно) — Фамилия
|
||||
-- firstname (обязательно) — Имя
|
||||
-- secondname (обязательно) — Отчество
|
||||
-- inn (обязательно, если нет birthdate) — ИНН (12 цифр)
|
||||
-- birthdate (обязательно, если нет inn) — Дата рождения (ДД.ММ.ГГГГ)
|
||||
-- series_passport (не обязательно, но если указан number_passport — обязательно) — Серия паспорта (4 цифры)
|
||||
-- number_passport (не обязательно, но если указан series_passport — обязательно) — Номер паспорта (6 цифр)
|
||||
-- number_vu (не обязательно, но если указан date_vu — обязательно) — Серия и номер ВУ (10 цифр)
|
||||
-- date_vu (не обязательно, но если указан number_vu — обязательно) — Дата выдачи ВУ (ДД.ММ.ГГГГ)
|
||||
return _M.get('create', data)
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/check_fl_status
|
||||
|
||||
function _M.status(request_id)
|
||||
-- request_id — идентификатор отчёта (обязательный)
|
||||
return _M.get('status', {request_id = request_id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/check_fl_result
|
||||
|
||||
function _M.result(request_id)
|
||||
-- request_id — идентификатор отчёта (обязательный)
|
||||
return _M.get('result', {request_id = request_id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/check_fl_cancel
|
||||
|
||||
function _M.cancel(request_id)
|
||||
-- request_id — идентификатор отчёта (обязательный)
|
||||
return _M.get('cancel', {request_id = request_id})
|
||||
end
|
||||
|
||||
return _M
|
||||
35
zcb/monitoring.lua
Normal file
35
zcb/monitoring.lua
Normal file
@ -0,0 +1,35 @@
|
||||
local _M = require('zcb.api')
|
||||
|
||||
_M.version = 'monitoring'
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/monitoring/subscribe
|
||||
|
||||
function _M.subscribe(id)
|
||||
return _M.get('subscribe', {id = id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/monitoring/unsubscribe
|
||||
|
||||
function _M.unsubscribe(id)
|
||||
return _M.get('unsubscribe', {id = id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/monitoring/subscriptions
|
||||
|
||||
function _M.subscriptions()
|
||||
return _M.get('subscriptions')
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/monitoring/history
|
||||
|
||||
function _M.history(id)
|
||||
return _M.get('history', {id = id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/monitoring/notifications
|
||||
|
||||
function _M.notifications(id)
|
||||
return _M.get('notifications', {id = id})
|
||||
end
|
||||
|
||||
return _M
|
||||
336
zcb/paid.lua
Normal file
336
zcb/paid.lua
Normal file
@ -0,0 +1,336 @@
|
||||
local _M = require('zcb.api')
|
||||
|
||||
_M.version = 'paid'
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/basic_court_general_jurisdiction_card
|
||||
|
||||
function _M.court-general-jurisdiction-card(id,court_id)
|
||||
return _M.get('court-general-jurisdiction-card',{id=id,court_id=court_id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/bankrupt_card
|
||||
|
||||
function _M.bankrupt-card(id)
|
||||
return _M.get('bankrupt-card',{id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/sfacts_list
|
||||
|
||||
function _M.sfacts-list(id,page,category,dateSort)
|
||||
return _M.get('sfacts-list',{id=id,page=page,category=category,dateSort=dateSort})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/sfact_card
|
||||
|
||||
function _M.sfact-card(id)
|
||||
return _M.get('sfact-card', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/lease-contracts-list
|
||||
|
||||
function _M.lease-contracts-list(id, page)
|
||||
return _M.get('lease-contracts-list', {id=id, page=page})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/lease-contract-card
|
||||
|
||||
function _M.lease-contract-card(id, contract_id)
|
||||
return _M.get('lease-contract-card', {id=id, contract_id=contract_id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/affilation-company
|
||||
|
||||
function _M.affilation-company(id)
|
||||
return _M.get('affilation-company', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/licenses
|
||||
|
||||
function _M.licenses(id)
|
||||
return _M.get('licenses', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/important-facts
|
||||
|
||||
function _M.important-facts(id)
|
||||
return _M.get('important-facts', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/bankrupt-reports
|
||||
|
||||
function _M.bankrupt-reports(id)
|
||||
return _M.get('bankrupt-reports', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/check-terror-fio
|
||||
|
||||
function _M.check-terror-fio(fio)
|
||||
return _M.get('check-terror-fio', {fio=fio})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns-card-report
|
||||
|
||||
function _M.fns-card-report(id, date)
|
||||
return _M.get('fns-card-report', {id=id, date=date})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns-card-report-pdf
|
||||
|
||||
function _M.fns-card-report-pdf(id, date)
|
||||
return _M.get('fns-card-report-pdf', {id=id, date=date})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns-card-attribute-history
|
||||
|
||||
function _M.fns-card-attribute-history(id)
|
||||
return _M.get('fns-card-attribute-history', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/bankrupt-message
|
||||
|
||||
function _M.bankrupt-message(id, message_id)
|
||||
return _M.get('bankrupt-message', {id=id, message_id=message_id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/lease-contract
|
||||
|
||||
function _M.lease-contract(id, contract_id)
|
||||
return _M.get('lease-contract', {id=id, contract_id=contract_id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/company-fns-requirements-info
|
||||
|
||||
function _M.company-fns-requirements-info(id, date)
|
||||
return _M.get('company-fns-requirements-info', {id=id, date=date})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/pdo-pdf
|
||||
|
||||
function _M.pdo-pdf(id)
|
||||
return _M.get('pdo-pdf', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/check-foreign-agent-fio
|
||||
|
||||
function _M.check-foreign-agent-fio(fio)
|
||||
return _M.get('check-foreign-agent-fio', {fio=fio})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fs-rosstat
|
||||
|
||||
function _M.fs-rosstat(id)
|
||||
return _M.get('fs-rosstat', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/cbr-rating
|
||||
|
||||
function _M.cbr-rating(id)
|
||||
return _M.get('cbr-rating', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/tax-burn
|
||||
|
||||
function _M.tax-burn(id)
|
||||
return _M.get('tax-burn', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/multiple-methods
|
||||
|
||||
function _M.multiple-methods(id)
|
||||
return _M.get('multiple-methods', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/common-total-pdf
|
||||
|
||||
function _M.common-total-pdf(id)
|
||||
return _M.get('common-total-pdf', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/check-foreign-agent-inn
|
||||
|
||||
function _M.check-foreign-agent-inn(inn)
|
||||
return _M.get('check-foreign-agent-inn', {inn=inn})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/cbr-stop-list
|
||||
|
||||
function _M.cbr-stop-list(id)
|
||||
return _M.get('cbr-stop-list', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/court-general-jurisdiction
|
||||
|
||||
function _M.court-general-jurisdiction(id, page)
|
||||
return _M.get('court-general-jurisdiction', {id=id, page=page})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/bankrupt-message-list
|
||||
|
||||
function _M.bankrupt-message-list(id, page)
|
||||
return _M.get('bankrupt-message-list', {id=id, page=page})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/beneficiaries
|
||||
|
||||
function _M.beneficiaries(id)
|
||||
return _M.get('beneficiaries', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/sanctions
|
||||
|
||||
function _M.sanctions(id)
|
||||
return _M.get('sanctions', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/search
|
||||
|
||||
function _M.search(query, page)
|
||||
return _M.get('search', {query=query, page=page})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/card
|
||||
|
||||
function _M.card(id)
|
||||
return _M.get('card', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fl-card
|
||||
|
||||
function _M.fl-card(inn)
|
||||
return _M.get('fl-card', {inn=inn})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns-card
|
||||
|
||||
function _M.fns-card(id)
|
||||
return _M.get('fns-card', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/diffs
|
||||
|
||||
function _M.diffs(id, date_from, date_to)
|
||||
return _M.get('diffs', {id=id, date_from=date_from, date_to=date_to})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fs-fns
|
||||
|
||||
function _M.fs-fns(id)
|
||||
return _M.get('fs-fns', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fssp-list
|
||||
|
||||
function _M.fssp-list(id, page)
|
||||
return _M.get('fssp-list', {id=id, page=page})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/rating
|
||||
|
||||
function _M.rating(id)
|
||||
return _M.get('rating', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/requisites
|
||||
|
||||
function _M.requisites(id)
|
||||
return _M.get('requisites', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/court-arbitration
|
||||
|
||||
function _M.court-arbitration(id, page)
|
||||
return _M.get('court-arbitration', {id=id, page=page})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/court-arbitration-card
|
||||
|
||||
function _M.court-arbitration-card(id, case_id)
|
||||
return _M.get('court-arbitration-card', {id=id, case_id=case_id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/contacts
|
||||
|
||||
function _M.contacts(id)
|
||||
return _M.get('contacts', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/proverki
|
||||
|
||||
function _M.proverki(id, page)
|
||||
return _M.get('proverki', {id=id, page=page})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/passports
|
||||
|
||||
function _M.passports(passport_series, passport_number)
|
||||
return _M.get('passports', {passport_series=passport_series, passport_number=passport_number})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/rafp
|
||||
|
||||
function _M.rafp(id)
|
||||
return _M.get('rafp', {id=id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/zakupki-top
|
||||
|
||||
function _M.zakupki-top(id, year)
|
||||
return _M.get('zakupki-top', {id=id, year=year})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/stats
|
||||
|
||||
function _M.stats()
|
||||
return _M.get('stats')
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns_services/check-fl
|
||||
|
||||
function _M.check-fl(inn)
|
||||
return _M.get('check-fl', {inn = inn})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns_services/check-ul
|
||||
|
||||
function _M.check-ul(inn)
|
||||
return _M.get('check-ul', {inn = inn})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns_services/check-ip
|
||||
|
||||
function _M.check-ip(inn)
|
||||
return _M.get('check-ip', {inn = inn})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns_services/check-legal-address
|
||||
|
||||
function _M.check-legal-address(id)
|
||||
return _M.get('check-legal-address', {id = id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns_services/check-factual-address
|
||||
|
||||
function _M.check-factual-address(id)
|
||||
return _M.get('check-factual-address', {id = id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns_services/check-head
|
||||
|
||||
function _M.check-head(id)
|
||||
return _M.get('check-head', {id = id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns_services/check-founders
|
||||
|
||||
function _M.check-founders(id)
|
||||
return _M.get('check-founders', {id = id})
|
||||
end
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/fns_services/check-status
|
||||
|
||||
function _M.check-status(id)
|
||||
return _M.get('check-status', {id = id})
|
||||
end
|
||||
|
||||
return _M
|
||||
|
||||
17
zcb/passports.lua
Normal file
17
zcb/passports.lua
Normal file
@ -0,0 +1,17 @@
|
||||
local _M = require('zcb.api')
|
||||
|
||||
_M.version = 'passports'
|
||||
|
||||
-- https://zachestnyibiznesapi.ru/docs/basic_passports_online
|
||||
|
||||
function _M.request(lastname, series, firstname, number)
|
||||
return _M.get('request', {
|
||||
lastname = lastname,
|
||||
series = series,
|
||||
firstname = firstname,
|
||||
number = number
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
return _M
|
||||
Loading…
x
Reference in New Issue
Block a user