apick-api 4.8.2 → 4.12.1

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.
package/src/index.d.ts CHANGED
@@ -246,6 +246,188 @@ export interface LinkedinCompany {
246
246
  readonly updates: readonly { readonly title: string; readonly link: string; readonly date: string; readonly text: string }[];
247
247
  }
248
248
 
249
+ export interface CourtAuctionItem {
250
+ readonly itemNo: number | null;
251
+ readonly address: string;
252
+ readonly propertyKind: string;
253
+ readonly appraisedPrice: number | null;
254
+ readonly minimumPrice: number | null;
255
+ readonly failedCount: number;
256
+ readonly saleDate: string;
257
+ readonly saleTime: string;
258
+ readonly depositRate: number | null;
259
+ }
260
+
261
+ export interface CourtAuction {
262
+ readonly result: number;
263
+ readonly msg: string;
264
+ readonly success: number;
265
+ readonly case: {
266
+ readonly caseNo: string;
267
+ readonly court: string;
268
+ readonly caseName: string;
269
+ readonly receivedAt: string;
270
+ readonly claimAmount: number | null;
271
+ readonly judgeDept: string;
272
+ readonly judgeDeptTel: string;
273
+ readonly executorTel: string;
274
+ readonly auctionStatus: string;
275
+ readonly completedAt: string;
276
+ readonly suspended: boolean;
277
+ readonly suspensionReason: string;
278
+ };
279
+ readonly items: readonly CourtAuctionItem[];
280
+ readonly saleSchedule: readonly {
281
+ readonly saleDate: string;
282
+ readonly saleTime: string;
283
+ readonly items: readonly { readonly itemNo: number | null; readonly minimumPrice: number | null }[];
284
+ }[];
285
+ readonly claimDeadline: string;
286
+ readonly relatedCases: readonly { readonly caseNo: string; readonly court: string; readonly kind: string }[];
287
+ readonly count: number;
288
+ }
289
+
290
+ export interface RegistryDocVerify {
291
+ readonly verified: boolean;
292
+ readonly status: 'confirmed' | 'not_found' | 'count_exhausted' | 'invalid_format' | 'not_opened' | 'unknown';
293
+ readonly message: string;
294
+ readonly kind: 'realestate' | 'corporate' | 'movable';
295
+ readonly document: string | null;
296
+ readonly issued_date: string | null;
297
+ readonly registry_office: string | null;
298
+ }
299
+
300
+ export interface BidQueryOptions {
301
+ readonly bizType?: '물품' | '공사' | '용역' | '외자';
302
+ readonly startDate?: string;
303
+ readonly endDate?: string;
304
+ readonly bidNtceNo?: string;
305
+ readonly indstrytyCd?: string;
306
+ readonly pageNo?: number;
307
+ readonly numOfRows?: number;
308
+ }
309
+
310
+ export interface RtmsQueryOptions {
311
+ readonly propertyType?: 'apt' | 'rh' | 'sh' | 'offi';
312
+ readonly pageNo?: number;
313
+ readonly numOfRows?: number;
314
+ }
315
+
316
+ export interface DistributionEntry {
317
+ readonly name?: string;
318
+ readonly band?: string;
319
+ readonly count: number;
320
+ readonly share_pct: number;
321
+ }
322
+
323
+ export interface BidSummary {
324
+ readonly total: number;
325
+ readonly agency_count: number;
326
+ readonly industry_count: number;
327
+ readonly budget_total: number | null;
328
+ readonly budget_median: number | null;
329
+ readonly closing_within_3d: number;
330
+ readonly closed: number;
331
+ readonly first_close_at: string | null;
332
+ readonly last_close_at: string | null;
333
+ }
334
+
335
+ export interface BidPosting {
336
+ readonly bid_no: string;
337
+ readonly bid_name: string;
338
+ readonly agency: string;
339
+ readonly notice_at: string | null;
340
+ readonly close_at: string | null;
341
+ readonly days_left: number | null;
342
+ readonly urgency: string;
343
+ readonly budget: number | null;
344
+ readonly budget_band: string;
345
+ readonly industry: string;
346
+ readonly method: string;
347
+ }
348
+
349
+ export interface BidNotice {
350
+ readonly summary: BidSummary;
351
+ readonly distribution: {
352
+ readonly by_agency: readonly DistributionEntry[];
353
+ readonly by_industry: readonly DistributionEntry[];
354
+ readonly by_method: readonly DistributionEntry[];
355
+ readonly by_budget_band: readonly DistributionEntry[];
356
+ readonly by_urgency: readonly DistributionEntry[];
357
+ };
358
+ readonly deadlines: readonly BidPosting[];
359
+ readonly largest: readonly BidPosting[];
360
+ readonly insights: readonly string[];
361
+ }
362
+
363
+ export interface BidAward {
364
+ readonly summary: {
365
+ readonly total: number;
366
+ readonly winner_count: number;
367
+ readonly avg_success_rate: number | null;
368
+ readonly median_success_rate: number | null;
369
+ readonly success_rate_stdev: number | null;
370
+ readonly avg_participants: number | null;
371
+ readonly rate_sample: number;
372
+ readonly winner_concentration_hhi: number | null;
373
+ readonly success_amount_total: number | null;
374
+ };
375
+ readonly distribution: {
376
+ readonly by_winner: readonly DistributionEntry[];
377
+ readonly by_agency: readonly DistributionEntry[];
378
+ readonly by_rate_band: readonly DistributionEntry[];
379
+ };
380
+ readonly competitors: readonly { readonly name: string; readonly wins: number; readonly share_pct: number; readonly amount_total: number | null }[];
381
+ readonly low_rate: readonly BidPosting[];
382
+ readonly insights: readonly string[];
383
+ }
384
+
385
+ export interface RtmsTrade {
386
+ readonly summary: {
387
+ readonly total: number;
388
+ readonly complex_count: number;
389
+ readonly median_amount: number | null;
390
+ readonly median_price_per_sqm: number | null;
391
+ readonly avg_price_per_sqm: number | null;
392
+ readonly direct_deal_share_pct: number | null;
393
+ readonly canceled_count: number;
394
+ readonly median_area: number | null;
395
+ readonly median_build_year: number | null;
396
+ };
397
+ readonly distribution: {
398
+ readonly by_complex: readonly DistributionEntry[];
399
+ readonly by_area_band: readonly DistributionEntry[];
400
+ readonly by_amount_band: readonly DistributionEntry[];
401
+ readonly by_floor: readonly DistributionEntry[];
402
+ };
403
+ readonly complexes: readonly Readonly<Record<string, unknown>>[];
404
+ readonly anomalies: readonly Readonly<Record<string, unknown>>[];
405
+ readonly insights: readonly string[];
406
+ }
407
+
408
+ export interface RtmsRent {
409
+ readonly summary: {
410
+ readonly total: number;
411
+ readonly complex_count: number;
412
+ readonly jeonse_count: number;
413
+ readonly jeonse_share_pct: number | null;
414
+ readonly median_deposit: number | null;
415
+ readonly median_monthly_rent: number | null;
416
+ readonly median_deposit_per_sqm: number | null;
417
+ readonly avg_annual_rent_to_deposit_pct: number | null;
418
+ readonly renewal_share_pct: number | null;
419
+ };
420
+ readonly distribution: {
421
+ readonly by_complex: readonly DistributionEntry[];
422
+ readonly by_deposit_band: readonly DistributionEntry[];
423
+ readonly by_monthly_band: readonly DistributionEntry[];
424
+ readonly by_contract_type: readonly DistributionEntry[];
425
+ };
426
+ readonly complexes: readonly Readonly<Record<string, unknown>>[];
427
+ readonly jeonse_ratio: Readonly<Record<string, unknown>> | null;
428
+ readonly insights: readonly string[];
429
+ }
430
+
249
431
  export interface LinkedinJob {
250
432
  readonly job_posting_id: string;
251
433
  readonly title: string;
@@ -359,6 +541,12 @@ export interface MaskResidentNumberOptions extends OcrOptions {
359
541
  export const AUTH_PROVIDERS: readonly [
360
542
  'kakao', 'naver', 'toss', 'pass', 'samsung', 'kb', 'shinhan', 'hana', 'woori', 'ibk', 'nh', 'kakaobank', 'banksalad'
361
543
  ];
544
+ /** 정부24 통합 조회에서 고를 수 있는 상품 키. */
545
+ export const GOV24_BUNDLE_PRODUCTS: readonly [
546
+ 'resident_registration', 'resident_registration_cho', 'driving_license', 'health_checkup',
547
+ 'police_penalty', 'parking_fine_target', 'mortgage_loan', 'housing_refund_balance',
548
+ 'housing_pension_balance', 'housing_loan_stage', 'mortgage_application', 'confirm_verify', 'power_bill'
549
+ ];
362
550
  export type AuthProvider = typeof AUTH_PROVIDERS[number];
363
551
 
364
552
  /** 간편인증 기반 조회 상품(재직·소득·연금·면허·건강검진 등)의 공통 입력. */
@@ -377,6 +565,109 @@ export interface RequestDrivingLicenseInput extends DataRequestInput {}
377
565
  export interface RequestHealthCheckupInput extends DataRequestInput {}
378
566
  export interface RequestCashReceiptDeductionInput extends DataRequestInput { incomeYears?: number; }
379
567
  export interface RequestTaxReturnHistoryInput extends DataRequestInput { years?: number; }
568
+ /** 주민등록표 발급 공통 입력. `sido`·`sigungu` 는 주민등록 주소지다. */
569
+ export interface ResidentRegistrationOptions {
570
+ sido: string;
571
+ sigungu: string;
572
+ purposeCd?: string;
573
+ submitTarget?: string;
574
+ includeAddressHistory?: 'Y' | 'N';
575
+ includeHousehold?: 'Y' | 'N';
576
+ }
577
+ export interface RequestResidentRegistrationInput extends DataRequestInput, ResidentRegistrationOptions {}
578
+ export interface RequestResidentRegistrationChoInput extends DataRequestInput, ResidentRegistrationOptions {}
579
+ /**
580
+ * 정부24 통합 조회 입력. `products` 로 조회할 상품 키를 고른다.
581
+ * 등본·초본을 고르면 `sido`·`sigungu` 가 필요하다.
582
+ */
583
+ export interface RequestGov24BundleInput extends DataRequestInput {
584
+ products: string[] | string;
585
+ sido?: string;
586
+ sigungu?: string;
587
+ purposeCd?: string;
588
+ submitTarget?: string;
589
+ includeAddressHistory?: 'Y' | 'N';
590
+ includeHousehold?: 'Y' | 'N';
591
+ }
592
+
593
+ /**
594
+ * 홈택스 민원증명 발급 조건. 신청인 본인명의 발급이고 발급 1건 60P 정액이다.
595
+ * `format` 은 응답 형식이고, `json`·`both` 이면 발급된 PDF를 파싱한 `PDF데이터` 가 함께 온다.
596
+ * 코드 값(`use_purpose`·`submit_to`·`itrf_cd`)은 정부 공통코드다.
597
+ */
598
+ export interface HometaxCertificateOptions extends DataRequestInput {
599
+ year?: string;
600
+ use_purpose?: string;
601
+ submit_to?: string;
602
+ delivery?: '06' | '10' | '04' | '12';
603
+ format?: 'pdf' | 'json' | 'both';
604
+ engl_yn?: 'Y' | 'N';
605
+ quantity?: number;
606
+ email?: string;
607
+ fax_no?: string;
608
+ wallet_address?: string;
609
+ }
610
+ export interface RequestIncomeAmountCertInput extends HometaxCertificateOptions {}
611
+ export interface RequestPensionCreditCertInput extends HometaxCertificateOptions {
612
+ address_open_yn?: 'Y' | 'N';
613
+ resno_open_yn?: 'Y' | 'N';
614
+ }
615
+ export interface RequestFactCertInput extends HometaxCertificateOptions {
616
+ start_month?: string;
617
+ end_month?: string;
618
+ itrf_cd?: string;
619
+ issuance?: '1' | '2';
620
+ }
621
+ /** 소득 증빙서류 통합발급 입력. `year`·`use_purpose`·`submit_to`·`delivery` 가 필수다. */
622
+ export interface RequestIncomeCertBundleInput extends HometaxCertificateOptions {
623
+ year: string;
624
+ use_purpose: string;
625
+ submit_to: string;
626
+ delivery: '06' | '10' | '04' | '12';
627
+ amount_open_yn?: 'Y' | 'N';
628
+ income_source_open_yn?: 'Y' | 'N';
629
+ withholding_all_print_yn?: 'Y' | 'N';
630
+ address_open_yn?: 'Y' | 'N';
631
+ resno_open_yn?: 'Y' | 'N';
632
+ }
633
+ /**
634
+ * 사업자 증빙서류 통합발급 입력. `business_no` 와 발급 입력이 필수이고,
635
+ * `bind_id` 가 없으면 대표자 본인 확인 동의 `agreed: true` 가 있어야 접수된다.
636
+ */
637
+ export interface RequestBusinessCertBundleInput extends HometaxCertificateOptions {
638
+ business_no: string;
639
+ year: string;
640
+ use_purpose: string;
641
+ submit_to: string;
642
+ delivery: '06' | '10' | '04' | '12';
643
+ period?: '1' | '2' | 'all';
644
+ agreed?: boolean;
645
+ bind_id?: string;
646
+ }
647
+ export interface RequestTaxClearanceCertInput extends RequestFactCertInput {
648
+ cert_type?: 'B0006' | 'B0010';
649
+ }
650
+ /** 발급 PDF를 열어 글자를 뽑고 라벨 기준으로 만든 값. 필드는 비어 있을 수 있다. */
651
+ export interface HometaxPdfData {
652
+ 사용가능: boolean;
653
+ 페이지수: number;
654
+ 필드: Record<string, string | number>;
655
+ 텍스트: string;
656
+ 사유?: string;
657
+ }
658
+ /** 홈택스 민원증명 결과. `format` 이 json·both 이면 `발급문서`(base64)와 `PDF데이터` 가 함께 온다. */
659
+ export interface HometaxCertificateResultPayload {
660
+ 문서확인번호: string;
661
+ 귀속연도?: string;
662
+ 소득금액?: string;
663
+ 응답형식?: 'pdf' | 'json' | 'both';
664
+ 발급문서?: string;
665
+ 문서파일명?: string;
666
+ 문서해시?: string;
667
+ 문서크기?: number;
668
+ PDF데이터?: HometaxPdfData;
669
+ [key: string]: unknown;
670
+ }
380
671
 
381
672
  export type DataRequestStatus =
382
673
  | 'AUTH_REQUESTED' | 'AUTH_WAITING' | 'AUTH_COMPLETED' | 'AUTH_REJECTED' | 'AUTH_EXPIRED'
@@ -522,6 +813,36 @@ export interface TaxReturnHistoryInfo {
522
813
  }
523
814
  export interface TaxReturnHistoryResultPayload { taxReturnHistory: TaxReturnHistoryInfo; }
524
815
 
816
+ /** 주민등록표 등본·초본 발급 결과. `발급문서` 는 PDF 원본의 base64 다. */
817
+ export interface ResidentRegistrationInfo {
818
+ 문서확인번호: string;
819
+ 발급일자: string;
820
+ 성명: string;
821
+ 발급문서: string;
822
+ 문서파일명: string;
823
+ 문서해시?: string;
824
+ 문서크기?: number;
825
+ 조회결과?: string;
826
+ }
827
+ export interface ResidentRegistrationResultPayload { residentRegistration: ResidentRegistrationInfo; }
828
+ export interface ResidentRegistrationChoResultPayload { residentRegistrationCho: ResidentRegistrationInfo; }
829
+ /** 통합 조회는 고른 상품의 섹션만 담는다. 섹션 키는 상품 키의 camelCase 다. */
830
+ /** 소득 증빙서류 통합발급 결과. 증명마다 섹션이 따로 오며 일부만 발급되면 status 가 PARTIAL_SUCCESS 다. */
831
+ export type IncomeCertBundleResultPayload = Record<string, unknown> & {
832
+ incomeAmountCert?: HometaxCertificateResultPayload;
833
+ pensionCreditCert?: HometaxCertificateResultPayload;
834
+ };
835
+ /** 사업자 증빙서류 통합발급 결과. 성공 응답에 다음 조회에 쓸 `bind_id` 가 함께 올 수 있다. */
836
+ export type BusinessCertBundleResultPayload = Record<string, unknown> & {
837
+ businessRegistrationCert?: HometaxCertificateResultPayload;
838
+ vatTaxBaseCert?: HometaxCertificateResultPayload;
839
+ financialStatementCert?: HometaxCertificateResultPayload;
840
+ };
841
+ export type Gov24BundleResultPayload = Record<string, unknown> & {
842
+ residentRegistration?: ResidentRegistrationInfo;
843
+ residentRegistrationCho?: ResidentRegistrationInfo;
844
+ };
845
+
525
846
  export interface YoutubeThumbnail { url: string; width: number; height: number; }
526
847
  export interface YoutubeChapter { title: string; start_time: number | null; end_time: number | null; }
527
848
  export interface YoutubeMetadata {
@@ -696,6 +1017,12 @@ export class ApickClient {
696
1017
  linkedinProfile(url: string): Promise<ApickResult<LinkedinProfile>>;
697
1018
  linkedinCompany(url: string): Promise<ApickResult<LinkedinCompany>>;
698
1019
  linkedinJob(url: string): Promise<ApickResult<LinkedinJob>>;
1020
+ courtAuction(caseNo: string, court: string): Promise<ApickResult<CourtAuction>>;
1021
+ registryDocVerify(issueNo: string, options?: { readonly kind?: 'realestate' | 'corporate' | 'movable' }): Promise<ApickResult<RegistryDocVerify>>;
1022
+ bidNotice(options: BidQueryOptions): Promise<ApickResult<BidNotice>>;
1023
+ bidAward(options: BidQueryOptions): Promise<ApickResult<BidAward>>;
1024
+ rtmsTrade(lawdCd: string, dealYmd: string, options?: RtmsQueryOptions): Promise<ApickResult<RtmsTrade>>;
1025
+ rtmsRent(lawdCd: string, dealYmd: string, options?: RtmsQueryOptions): Promise<ApickResult<RtmsRent>>;
699
1026
  screenshot(url: string): Promise<ApickBinaryResult>;
700
1027
  youtubeMetadata(url: string): Promise<ApickResult<YoutubeMetadata>>;
701
1028
  youtubeThumbnail(url: string): Promise<ApickBinaryResult>;
@@ -752,6 +1079,24 @@ export class ApickClient {
752
1079
  getCashReceiptDeduction(transactionId: string): Promise<ApickResult<DataRequestResult<CashReceiptDeductionResultPayload>>>;
753
1080
  requestTaxReturnHistory(input: RequestTaxReturnHistoryInput): Promise<ApickResult<DataRequestAcceptedData>>;
754
1081
  getTaxReturnHistory(transactionId: string): Promise<ApickResult<DataRequestResult<TaxReturnHistoryResultPayload>>>;
1082
+ requestIncomeAmountCert(input: RequestIncomeAmountCertInput): Promise<ApickResult<DataRequestAcceptedData>>;
1083
+ getIncomeAmountCert(transactionId: string): Promise<ApickResult<DataRequestResult<HometaxCertificateResultPayload>>>;
1084
+ requestPensionCreditCert(input: RequestPensionCreditCertInput): Promise<ApickResult<DataRequestAcceptedData>>;
1085
+ getPensionCreditCert(transactionId: string): Promise<ApickResult<DataRequestResult<HometaxCertificateResultPayload>>>;
1086
+ requestFactCert(input: RequestFactCertInput): Promise<ApickResult<DataRequestAcceptedData>>;
1087
+ getFactCert(transactionId: string): Promise<ApickResult<DataRequestResult<HometaxCertificateResultPayload>>>;
1088
+ requestTaxClearanceCert(input: RequestTaxClearanceCertInput): Promise<ApickResult<DataRequestAcceptedData>>;
1089
+ getTaxClearanceCert(transactionId: string): Promise<ApickResult<DataRequestResult<HometaxCertificateResultPayload>>>;
1090
+ requestIncomeCertBundle(input: RequestIncomeCertBundleInput): Promise<ApickResult<DataRequestAcceptedData>>;
1091
+ getIncomeCertBundle(transactionId: string): Promise<ApickResult<DataRequestResult<IncomeCertBundleResultPayload>>>;
1092
+ requestBusinessCertBundle(input: RequestBusinessCertBundleInput): Promise<ApickResult<DataRequestAcceptedData>>;
1093
+ getBusinessCertBundle(transactionId: string): Promise<ApickResult<DataRequestResult<BusinessCertBundleResultPayload>>>;
1094
+ requestResidentRegistration(input: RequestResidentRegistrationInput): Promise<ApickResult<DataRequestAcceptedData>>;
1095
+ getResidentRegistration(transactionId: string): Promise<ApickResult<DataRequestResult<ResidentRegistrationResultPayload>>>;
1096
+ requestResidentRegistrationCho(input: RequestResidentRegistrationChoInput): Promise<ApickResult<DataRequestAcceptedData>>;
1097
+ getResidentRegistrationCho(transactionId: string): Promise<ApickResult<DataRequestResult<ResidentRegistrationChoResultPayload>>>;
1098
+ requestGov24Bundle(input: RequestGov24BundleInput): Promise<ApickResult<DataRequestAcceptedData>>;
1099
+ getGov24Bundle(transactionId: string): Promise<ApickResult<DataRequestResult<Gov24BundleResultPayload>>>;
755
1100
  searchSkills(options?: SkillSearchOptions): Promise<ApickResult<SkillPage<SkillSummary>>>;
756
1101
  /** Public measured results and methods; model scores are not accuracy guarantees. */
757
1102
  getSkillPerformance(): Promise<ApickResult<SkillPerformanceReport>>;
@@ -864,7 +1209,7 @@ export interface SkillSummary {
864
1209
  export interface SkillDetail extends SkillSummary {
865
1210
  description: string; billing_rule: 'validated_result' | 'subagent_usage'; limits: SkillLimits | null;
866
1211
  delivery?: 'installed_agent'; installation?: {package:string;command:string;api_key_env:string;guide:string;usage:string};
867
- billing?: {markup_percent:number;installation_points:number;base_points:number;complete_cache_points:number;quota:null};
1212
+ billing?: {installation_points:number;base_points:number;complete_cache_points:number;quota:null};
868
1213
  input_schema: Record<string, unknown>; output_schema: Record<string, unknown>;
869
1214
  examples: unknown[]; stats: Record<string, unknown> | null; published_at: string | null;
870
1215
  }