@nemigo/dadata 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,815 @@
1
+ import type { Timestamp } from "@nemigo/helpers/types";
2
+ export interface DaDataConfig {
3
+ secret: string;
4
+ token: string;
5
+ }
6
+ export type CleanPhoneType = "Стационарный" | "Мобильный" | "Прямой мобильный" | "Колл-центр" | "Неизвестный";
7
+ export interface CleanPhone {
8
+ type: CleanPhoneType;
9
+ /**
10
+ * @example `"+7 999 123-45-67"`
11
+ */
12
+ phone?: string;
13
+ /**
14
+ * @example `"7"`
15
+ */
16
+ country_code?: string;
17
+ /**
18
+ * Код города / DEF-код
19
+ *
20
+ * @example `"999"`
21
+ */
22
+ city_code?: string;
23
+ /**
24
+ * @example `"1234567"`
25
+ */
26
+ number?: string;
27
+ /**
28
+ * Добавочный номер
29
+ *
30
+ * @example `"89"`
31
+ */
32
+ extension?: string;
33
+ /**
34
+ * Оператор (только для России)
35
+ *
36
+ * @example `'ПАО "МТС"'`
37
+ */
38
+ provider?: string;
39
+ /**
40
+ * @example `"Россия"`
41
+ */
42
+ country?: string;
43
+ /**
44
+ * Регион (только для России)
45
+ *
46
+ * @example `"Брянская область"`
47
+ */
48
+ region?: string;
49
+ /**
50
+ * Город (только для стационарных телефонов)
51
+ *
52
+ * @example `"Москва"`
53
+ */
54
+ city?: string;
55
+ /**
56
+ * @example `"UTC+3"`
57
+ * @example `"UTC+5/UTC+6"`
58
+ */
59
+ timezone?: string;
60
+ /**
61
+ * - `0` — Телефон соответствует адресу
62
+ * - `2` — Города адреса и телефона отличаются
63
+ * - `3` — Регионы адреса и телефона отличаются
64
+ *
65
+ * P.S. бесполезный
66
+ */
67
+ qc_conflict: 0 | 2 | 3;
68
+ /**
69
+ * - `0` — Российский телефон, распознан уверенно
70
+ * - `7` — Иностранный телефон, распознан уверенно
71
+ * - `2` — Телефон пустой или заведомо «мусорный»
72
+ * - `1` — Телефон распознан с допущениями или не распознан (ненадёжно)
73
+ * - `3` — Обнаружено несколько телефонов, распознан первый
74
+ */
75
+ qc: 0 | 7 | 1 | 2 | 3;
76
+ /**
77
+ * Исходный запрос
78
+ */
79
+ source: string;
80
+ }
81
+ export type CleanPersonGender = "М" | "Ж" | "НД";
82
+ export interface CleanPerson {
83
+ gender: CleanPersonGender;
84
+ surname?: string;
85
+ name?: string;
86
+ patronymic?: string;
87
+ result?: string;
88
+ /**
89
+ * В родительном падеже (кого?)
90
+ */
91
+ result_genitive?: string;
92
+ /**
93
+ * В дательном падеже (кому?)
94
+ */
95
+ result_dative?: string;
96
+ /**
97
+ * В творительном падеже (кем?)
98
+ */
99
+ result_ablative?: string;
100
+ /**
101
+ * - `0` — Исходное значение распознано уверенно
102
+ * - `1` — Исходное значение распознано с допущениями или не распознано
103
+ */
104
+ qc: 1 | 0;
105
+ /**
106
+ * Исходный запрос
107
+ */
108
+ source: string;
109
+ }
110
+ /**
111
+ * @see https://confluence.hflabs.ru/pages/viewpage.action?pageId=204669103
112
+ */
113
+ export interface DaDataAddress {
114
+ /**
115
+ * Адрес одной строкой БЕЗ индекса
116
+ */
117
+ value: string;
118
+ /**
119
+ * Адрес одной строкой С индексом
120
+ */
121
+ unrestricted_value: string;
122
+ data: {
123
+ /**
124
+ * Индекс
125
+ */
126
+ postal_code?: string;
127
+ /**
128
+ * Страна
129
+ */
130
+ country: string;
131
+ /**
132
+ * Двухсимвольный код страны ISO 3166
133
+ */
134
+ country_iso_code: string;
135
+ /**
136
+ * Федеральный округ
137
+ */
138
+ federal_district: string;
139
+ /**
140
+ * ФИАС-код региона
141
+ */
142
+ region_fias_id: string;
143
+ /**
144
+ * КЛАДР-код региона
145
+ */
146
+ region_kladr_id: string;
147
+ /**
148
+ * Код региона ISO 3166
149
+ */
150
+ region_iso_code: string;
151
+ /**
152
+ * Регион с типом
153
+ */
154
+ region_with_type: string;
155
+ /**
156
+ * Тип региона (сокращенный)
157
+ */
158
+ region_type: string;
159
+ /**
160
+ * Тип региона
161
+ */
162
+ region_type_full: string;
163
+ /**
164
+ * Регион
165
+ */
166
+ region: string;
167
+ /**
168
+ * ФИАС-код района в регионе
169
+ */
170
+ area_fias_id?: string;
171
+ /**
172
+ * КЛАДР-код района в регионе
173
+ */
174
+ area_kladr_id?: string;
175
+ /**
176
+ * Район в регионе с типом
177
+ */
178
+ area_with_type?: string;
179
+ /**
180
+ * Тип района в регионе (сокращенный)
181
+ */
182
+ area_type?: string;
183
+ /**
184
+ * Тип района в регионе
185
+ */
186
+ area_type_full?: string;
187
+ /**
188
+ * Район в регионе
189
+ */
190
+ area?: string;
191
+ /**
192
+ * ФИАС-код муниципального поселения
193
+ */
194
+ sub_area_fias_id?: string;
195
+ /**
196
+ * КЛАДР-код муниципального поселения
197
+ */
198
+ sub_area_kladr_id?: string;
199
+ /**
200
+ * Муниципальное поселение с типом
201
+ */
202
+ sub_area_with_type?: string;
203
+ /**
204
+ * Тип муниципального поселения (сокращенный)
205
+ */
206
+ sub_area_type?: string;
207
+ /**
208
+ * Тип муниципального поселения
209
+ */
210
+ sub_area_type_full?: string;
211
+ /**
212
+ * Муниципальное поселение
213
+ */
214
+ sub_area?: string;
215
+ /**
216
+ * ФИАС-код города
217
+ */
218
+ city_fias_id?: string;
219
+ /**
220
+ * КЛАДР-код города
221
+ */
222
+ city_kladr_id?: string;
223
+ /**
224
+ * Город с типом
225
+ */
226
+ city_with_type?: string;
227
+ /**
228
+ * Тип города (сокращенный)
229
+ */
230
+ city_type?: string;
231
+ /**
232
+ * Тип города
233
+ */
234
+ city_type_full?: string;
235
+ /**
236
+ * Город
237
+ */
238
+ city?: string;
239
+ /**
240
+ * Административный округ (только для Москвы)
241
+ */
242
+ city_area?: string;
243
+ /**
244
+ * ФИАС-код нас. пункта
245
+ */
246
+ settlement_fias_id?: string;
247
+ /**
248
+ * КЛАДР-код нас. пункта
249
+ */
250
+ settlement_kladr_id?: string;
251
+ /**
252
+ * Населенный пункт с типом
253
+ */
254
+ settlement_with_type?: string;
255
+ /**
256
+ * Тип населенного пункта (сокращенный)
257
+ */
258
+ settlement_type?: string;
259
+ /**
260
+ * Тип населенного пункта
261
+ */
262
+ settlement_type_full?: string;
263
+ /**
264
+ * Населенный пункт
265
+ */
266
+ settlement?: string;
267
+ /**
268
+ * ФИАС-код улицы
269
+ */
270
+ street_fias_id?: string;
271
+ /**
272
+ * КЛАДР-код улицы
273
+ */
274
+ street_kladr_id?: string;
275
+ /**
276
+ * Улица с типом
277
+ */
278
+ street_with_type?: string;
279
+ /**
280
+ * Тип улицы (сокращенный)
281
+ */
282
+ street_type?: string;
283
+ /**
284
+ * Тип улицы
285
+ */
286
+ street_type_full?: string;
287
+ /**
288
+ * Улица
289
+ */
290
+ street?: string;
291
+ /**
292
+ * ФИАС-код участка
293
+ */
294
+ stead_fias_id?: string;
295
+ /**
296
+ * Кадастровый номер участка
297
+ */
298
+ stead_cadnum?: string;
299
+ /**
300
+ * Тип участка (сокращенный)
301
+ */
302
+ stead_type?: string;
303
+ /**
304
+ * Тип участка
305
+ */
306
+ stead_type_full?: string;
307
+ /**
308
+ * Участок
309
+ */
310
+ stead?: string;
311
+ /**
312
+ * ФИАС-код дома
313
+ */
314
+ house_fias_id?: string;
315
+ /**
316
+ * КЛАДР-код дома
317
+ */
318
+ house_kladr_id?: string;
319
+ /**
320
+ * Кадастровый номер дома
321
+ */
322
+ house_cadnum?: string;
323
+ /**
324
+ * Количество квартир в доме
325
+ */
326
+ house_flat_count?: string;
327
+ /**
328
+ * Тип дома (сокращенный)
329
+ */
330
+ house_type?: string;
331
+ /**
332
+ * Тип дома
333
+ */
334
+ house_type_full?: string;
335
+ /**
336
+ * Дом
337
+ */
338
+ house?: string;
339
+ /**
340
+ * Тип корпуса/строения (сокращенный)
341
+ */
342
+ block_type?: string;
343
+ /**
344
+ * Тип корпуса/строения
345
+ */
346
+ block_type_full?: string;
347
+ /**
348
+ * Корпус/строение
349
+ */
350
+ block?: string;
351
+ /**
352
+ * ФИАС-код квартиры
353
+ */
354
+ flat_fias_id?: string;
355
+ /**
356
+ * Кадастровый номер квартиры
357
+ */
358
+ flat_cadnum?: string;
359
+ /**
360
+ * Площадь квартиры
361
+ */
362
+ flat_area?: string;
363
+ /**
364
+ * Рыночная стоимость м²
365
+ */
366
+ square_meter_price?: string;
367
+ /**
368
+ * Рыночная стоимость квартиры
369
+ */
370
+ flat_price?: string;
371
+ /**
372
+ * Тип квартиры (сокращенный)
373
+ */
374
+ flat_type?: string;
375
+ /**
376
+ * Тип квартиры
377
+ */
378
+ flat_type_full?: string;
379
+ /**
380
+ * Квартира
381
+ */
382
+ flat?: string;
383
+ /**
384
+ * ФИАС-код комнаты
385
+ */
386
+ room_fias_id?: string;
387
+ /**
388
+ * Кадастровый номер комнаты
389
+ */
390
+ room_cadnum?: string;
391
+ /**
392
+ * Тип комнаты (сокращенный)
393
+ */
394
+ room_type?: string;
395
+ /**
396
+ * Тип комнаты
397
+ */
398
+ room_type_full?: string;
399
+ /**
400
+ * Комната
401
+ */
402
+ room?: string;
403
+ /**
404
+ * Абонентский ящик
405
+ */
406
+ postal_box?: string;
407
+ /**
408
+ * ФИАС-код (он же код ГАР) адреса для России.
409
+ * Идентификатор OpenStreetMap для Белоруссии, Казахстана и Узбекистана.
410
+ * Для остальных стран — не заполняется
411
+ */
412
+ fias_id: string;
413
+ /**
414
+ * Уровень детализации, до которого адрес найден в ФИАС (ГАР):
415
+ *
416
+ * - 0 — страна
417
+ * - 1 — регион
418
+ * - 3 — район
419
+ * - 4 — город
420
+ * - 5 — район города
421
+ * - 6 — населенный пункт
422
+ * - 7 — улица
423
+ * - 8 — дом
424
+ * - 9 — квартира или комната
425
+ * - 65 — планировочная структура
426
+ * - 75 — земельный участок
427
+ * - -1 — иностранный или пустой
428
+ */
429
+ fias_level: string;
430
+ /**
431
+ * Признак актуальности адреса в ФИАС
432
+ *
433
+ * - 0 — актуальный
434
+ * - 1–50 — переименован
435
+ * - 51 — переподчинен
436
+ * - 99 — удален
437
+ */
438
+ fias_actuality_state: string;
439
+ /**
440
+ * КЛАДР-код адреса
441
+ */
442
+ kladr_id: string;
443
+ /**
444
+ * Идентификатор GeoNames. Для России не заполняется
445
+ */
446
+ geoname_id?: string;
447
+ /**
448
+ * Признак центра района или региона:
449
+ *
450
+ * - 1 — центр района
451
+ * (Московская обл, Одинцовский р-н, г Одинцово)
452
+ * - 2 — центр региона
453
+ * (Новосибирская обл, г Новосибирск)
454
+ * - 3 — центр района и региона
455
+ * (Томская обл, г Томск)
456
+ * - 4 — центральный район региона
457
+ * (Тюменская обл, Тюменский р-н)
458
+ * - 0 — ничего из перечисленного
459
+ * (Московская обл, г Балашиха)
460
+ */
461
+ capital_marker: string;
462
+ /**
463
+ * Код ОКАТО
464
+ */
465
+ okato: string;
466
+ /**
467
+ * Код ОКТМО
468
+ */
469
+ oktmo: string;
470
+ /**
471
+ * Код ИФНС для физических лиц
472
+ */
473
+ tax_office: string;
474
+ /**
475
+ * Код ИФНС для организаций
476
+ */
477
+ tax_office_legal: string;
478
+ /**
479
+ * Координаты: широта
480
+ */
481
+ geo_lat?: string;
482
+ /**
483
+ * Координаты: долгота
484
+ */
485
+ geo_lon?: string;
486
+ /**
487
+ * Код точности координат:
488
+ *
489
+ * - 0 — точные координаты
490
+ * - 1 — ближайший дом
491
+ * - 2 — улица
492
+ * - 3 — населенный пункт
493
+ * - 4 — город
494
+ * - 5 — координаты не определены
495
+ */
496
+ qc_geo: string;
497
+ /**
498
+ * Внутри кольцевой?
499
+ */
500
+ beltway_hit?: string;
501
+ /**
502
+ * Расстояние от кольцевой в километрах
503
+ */
504
+ beltway_distance?: string;
505
+ /**
506
+ * Часовой пояс
507
+ *
508
+ * @examle "UTC+5"
509
+ */
510
+ timezone?: string;
511
+ /**
512
+ * Список исторических названий объекта нижнего уровня.
513
+ * Если подсказка до улицы — это прошлые названия этой улицы, если до города — города
514
+ */
515
+ history_values?: string[];
516
+ /**
517
+ * Искомое значение
518
+ */
519
+ source?: string;
520
+ };
521
+ }
522
+ /**
523
+ * @see https://confluence.hflabs.ru/pages/viewpage.action?pageId=204669126
524
+ */
525
+ export interface DaDataParty {
526
+ /**
527
+ * Краткое наименование организации {@link DaDataParty.name.short_with_opf}.
528
+ * Если краткое наименование не указано — полное наименование {@link DaDataParty.name.full_with_opf}
529
+ *
530
+ * @example "ООО ТОТСОФТ"
531
+ */
532
+ value: string;
533
+ /**
534
+ * Алиас к {@link DaDataParty.value}
535
+ */
536
+ unrestricted_value: string;
537
+ data: {
538
+ /**
539
+ * - "INDIVIDUAL" — ИП
540
+ *
541
+ * - "LEGAL" — юридическое лицо
542
+ */
543
+ type: "INDIVIDUAL" | "LEGAL";
544
+ state: {
545
+ /**
546
+ * - "ACTIVE" — действующая
547
+ * - "LIQUIDATING" — ликвидируется
548
+ * - "LIQUIDATED" — ликвидирована
549
+ * - "REORGANIZING" — в процессе присоединения к другому юрлицу, с последующей ликвидацией
550
+ * - "BANKRUPT" — банкрот
551
+ */
552
+ status: "ACTIVE" | "LIQUIDATING" | "LIQUIDATED" | "REORGANIZING" | "BANKRUPT";
553
+ /**
554
+ * Актуальность сведений
555
+ */
556
+ actuality_date: Timestamp;
557
+ /**
558
+ * Дата регистрации
559
+ */
560
+ registration_date?: Timestamp;
561
+ /**
562
+ * Дата ликвидации
563
+ */
564
+ liquidation_date?: Timestamp;
565
+ /**
566
+ * @see https://github.com/hflabs/party-state/blob/master/party-state.csv
567
+ */
568
+ code?: number;
569
+ };
570
+ name: {
571
+ /**
572
+ * Полное наименование
573
+ *
574
+ * @example 'ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ТОТСОФТ"'
575
+ */
576
+ full_with_opf: string;
577
+ /**
578
+ * Краткое наименование
579
+ *
580
+ * @example 'ООО "ТОТСОФТ"'
581
+ */
582
+ short_with_opf?: string;
583
+ /**
584
+ * Полное наименование без ОПФ (может быть неточное)
585
+ *
586
+ * @example "ТОТСОФТ"
587
+ */
588
+ full: string;
589
+ /**
590
+ * Краткое наименование без ОПФ (может быть неточное)
591
+ *
592
+ * @example "ТОТСОФТ"
593
+ */
594
+ short?: string;
595
+ };
596
+ /**
597
+ * Организационно-правовая форма
598
+ */
599
+ opf: {
600
+ /**
601
+ * Полное название ОПФ
602
+ *
603
+ * @example "Общество с ограниченной ответственностью"
604
+ */
605
+ full: string;
606
+ /**
607
+ * Краткое название ОПФ
608
+ *
609
+ * @example "ООО"
610
+ */
611
+ short: string;
612
+ /**
613
+ * Версия справочника ОКОПФ
614
+ */
615
+ type: "99" | "2012" | "2014";
616
+ /**
617
+ * Код ОКОПФ
618
+ *
619
+ * @example "12300"
620
+ */
621
+ code: string;
622
+ };
623
+ /**
624
+ * Головное подразделение или филиал
625
+ *
626
+ * Отсутствует у ИП
627
+ */
628
+ branch_type?: "MAIN" | "BRANCH";
629
+ /**
630
+ * Количество филиалов
631
+ *
632
+ * Отсутствует у ИП
633
+ */
634
+ branch_count?: number;
635
+ /**
636
+ * ФИО у ИП
637
+ */
638
+ fio: {
639
+ surname: string;
640
+ name: string;
641
+ patronymic?: string;
642
+ };
643
+ /**
644
+ * Руководитель
645
+ */
646
+ management?: {
647
+ /**
648
+ * ФИО руководителя
649
+ *
650
+ * @example "Аристов Михаил Викторович"
651
+ */
652
+ name: string;
653
+ /**
654
+ * Должность руководителя
655
+ *
656
+ * @example "ГЕНЕРАЛЬНЫЙ ДИРЕКТОР"
657
+ */
658
+ post: string;
659
+ /**
660
+ * Дата вступления в должность
661
+ */
662
+ start_date?: Timestamp;
663
+ /**
664
+ * Если в состав руководства входят дисквалифицированные лица
665
+ */
666
+ disqualified?: boolean;
667
+ };
668
+ /**
669
+ * Внутренний идентификатор в Дадате
670
+ */
671
+ hid: string;
672
+ inn: string;
673
+ kpp?: string;
674
+ /**
675
+ * КПП крупнейшего налогоплательщика
676
+ */
677
+ kpp_largest?: string;
678
+ /**
679
+ * Для представительств иностранных компаний — номер записи об аккредитации (НЗА, 11 цифр) в РАФП
680
+ */
681
+ ogrn: string;
682
+ /**
683
+ * Дата выдачи ОГРН
684
+ */
685
+ ogrn_date?: Timestamp;
686
+ /**
687
+ * Код ОКАТО
688
+ *
689
+ * @example "37401000000"
690
+ */
691
+ okato?: string;
692
+ /**
693
+ * Код ОКТМО
694
+ *
695
+ * @example "37701000001"
696
+ */
697
+ oktmo?: string;
698
+ /**
699
+ * Код ОКПО
700
+ *
701
+ * @example "55669204"
702
+ */
703
+ okpo?: string;
704
+ /**
705
+ * Код ОКОГУ
706
+ *
707
+ * @example "55669204"
708
+ */
709
+ okogu?: string;
710
+ /**
711
+ * Код ОКФС
712
+ *
713
+ * @example "16"
714
+ */
715
+ okfs?: string;
716
+ /**
717
+ * Код ОКВЭД
718
+ *
719
+ * @example "80.10"
720
+ */
721
+ okved?: string;
722
+ /**
723
+ * Версия справочника ОКВЭД
724
+ */
725
+ okved_type?: "2001" | "2014";
726
+ /**
727
+ * Юридический адрес
728
+ */
729
+ address?: DaDataAddress;
730
+ };
731
+ }
732
+ /**
733
+ * @see https://confluence.hflabs.ru/pages/viewpage.action?pageId=262996082
734
+ */
735
+ export interface DaDataBank {
736
+ /**
737
+ * Для банков ({@link DaDataBank.data.opf.type} = BANK): краткое наименование ({@link DaDataBank.data.name.short}).
738
+ * Если краткое наименование не указано — платежное наименование ({@link DaDataBank.data.name.payment})
739
+ *
740
+ * Для всех остальных: платежное наименование ({@link DaDataBank.data.name.payment})
741
+ */
742
+ value: string;
743
+ /**
744
+ * Алиас к {@link DaDataBank.value}
745
+ */
746
+ unrestricted_value: string;
747
+ data: {
748
+ inn?: string;
749
+ kpp?: string;
750
+ bic: string;
751
+ swift?: string;
752
+ /**
753
+ * Регистрационный номер в ЦБ РФ
754
+ */
755
+ registration_number: string;
756
+ /**
757
+ * Корреспондентский счет в ЦБ РФ
758
+ */
759
+ correspondent_account: string;
760
+ /**
761
+ * Казначейские счета территориального ОФК
762
+ */
763
+ treasury_accounts?: string[];
764
+ /**
765
+ * Наименование
766
+ */
767
+ name: {
768
+ payment: string;
769
+ short?: string;
770
+ };
771
+ /**
772
+ * Город для платежного поручения (поля справочника Tnp + Nnp)
773
+ */
774
+ payment_city: string;
775
+ /**
776
+ * Тип кредитной организации
777
+ */
778
+ opf: {
779
+ /**
780
+ * - CBR — главное управление Банка России
781
+ * - BANK — банк
782
+ * - BANK_BRANCH — филиал банка
783
+ * - NKO — небанковская кредитная организация (НКО)
784
+ * - NKO_BRANCH — филиал НКО
785
+ * - RKC — расчетно-кассовый центр
786
+ * - TREASURY — управление Казначейства
787
+ * - OTHER — другой
788
+ */
789
+ type: "CBR" | "BANK" | "BANK_BRANCH" | "NKO" | "NKO_BRANCH" | "RKC" | "TREASURY" | "OTHER";
790
+ };
791
+ state: {
792
+ /**
793
+ * - "ACTIVE" — действующая
794
+ * - "LIQUIDATING" — ликвидируется
795
+ * - "LIQUIDATED" — ликвидирована
796
+ *
797
+ * Статус `"LIQUIDATED"` в реальных данных не встречается, потому что Банк России не возвращает информацию о ликвидированных финансовых организациях
798
+ */
799
+ status: "ACTIVE" | "LIQUIDATING" | "LIQUIDATED" | "REORGANIZING" | "BANKRUPT";
800
+ /**
801
+ * Актуальность сведений
802
+ */
803
+ actuality_date: Timestamp;
804
+ /**
805
+ * Дата регистрации
806
+ */
807
+ registration_date?: Timestamp;
808
+ /**
809
+ * Дата ликвидации
810
+ */
811
+ liquidation_date?: Timestamp;
812
+ };
813
+ address?: DaDataAddress;
814
+ };
815
+ }