@cmarket/partner-sdk 0.7.0 → 0.8.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.
package/README.md CHANGED
@@ -188,7 +188,7 @@ public class Quickstart {
188
188
 
189
189
  ---
190
190
 
191
- ## @cmarket/partner-sdk@0.7.0
191
+ ## @cmarket/partner-sdk@0.8.0
192
192
 
193
193
  This generator creates TypeScript/JavaScript client that utilizes [axios](https://github.com/axios/axios). The generated Node module can be used in the following environments:
194
194
 
@@ -226,7 +226,7 @@ navigate to the folder of your consuming project and run one of the following co
226
226
  _published:_
227
227
 
228
228
  ```
229
- npm install @cmarket/partner-sdk@0.7.0 --save
229
+ npm install @cmarket/partner-sdk@0.8.0 --save
230
230
  ```
231
231
 
232
232
  _unPublished (not recommended):_
@@ -292,6 +292,7 @@ Class | Method | HTTP request | Description
292
292
  - [NegotiationScoreDto](docs/NegotiationScoreDto.md)
293
293
  - [NegotiationScoredResponseDto](docs/NegotiationScoredResponseDto.md)
294
294
  - [PreconditionsDto](docs/PreconditionsDto.md)
295
+ - [ProblemDetailsDto](docs/ProblemDetailsDto.md)
295
296
  - [RegisterAwardRequestDto](docs/RegisterAwardRequestDto.md)
296
297
  - [RequestSplitInvoiceRequestDto](docs/RequestSplitInvoiceRequestDto.md)
297
298
  - [SplitInvoiceResponseDto](docs/SplitInvoiceResponseDto.md)
@@ -54,6 +54,8 @@ import type { MarkBidFailedRequestDto } from '../models';
54
54
  // @ts-ignore
55
55
  import type { NegotiationScoredResponseDto } from '../models';
56
56
  // @ts-ignore
57
+ import type { ProblemDetailsDto } from '../models';
58
+ // @ts-ignore
57
59
  import type { RegisterAwardRequestDto } from '../models';
58
60
  // @ts-ignore
59
61
  import type { RequestSplitInvoiceRequestDto } from '../models';
@@ -69,16 +71,19 @@ import type { UploadFileRequestDto } from '../models';
69
71
  export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configuration) {
70
72
  return {
71
73
  /**
72
- * V5 /acceptanceCompleteSend 후속. scope contracts:write + Idempotency-Key.
74
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자를 함께 override할 수 있습니다(선택 필드). 비어있지 않은 값만 backend 가 `b2b_buy`에 stamp합니다(V5 taxbill UPDATE 조건부 set 패리티). - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
73
75
  * @summary 검수완료 전송
74
- * @param {string} bidId
76
+ * @param {string} bidId 공고 ID(= backend bidId = 등록 응답의 bidNo).
77
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
75
78
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
76
79
  * @param {*} [options] Override http request option.
77
80
  * @throws {RequiredError}
78
81
  */
79
- completeAcceptance: async (bidId: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
82
+ completeAcceptance: async (bidId: string, idempotencyKey: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
80
83
  // verify required parameter 'bidId' is not null or undefined
81
84
  assertParamExists('completeAcceptance', 'bidId', bidId)
85
+ // verify required parameter 'idempotencyKey' is not null or undefined
86
+ assertParamExists('completeAcceptance', 'idempotencyKey', idempotencyKey)
82
87
  // verify required parameter 'completeAcceptanceRequestDto' is not null or undefined
83
88
  assertParamExists('completeAcceptance', 'completeAcceptanceRequestDto', completeAcceptanceRequestDto)
84
89
  const localVarPath = `/v1/bids/{bidId}/acceptance`
@@ -101,6 +106,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configura
101
106
  localVarHeaderParameter['Content-Type'] = 'application/json';
102
107
  localVarHeaderParameter['Accept'] = 'application/json';
103
108
 
109
+ if (idempotencyKey != null) {
110
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
111
+ }
104
112
  setSearchParams(localVarUrlObj, localVarQueryParameter);
105
113
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
106
114
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -393,13 +401,16 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configura
393
401
  };
394
402
  },
395
403
  /**
396
- * 유찰 처리(V5 yoochal 패리티). 유찰사유 코드(1~8)·상세를 받아 공고를 유찰 상태로 전환. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
404
+ * 공고를 유찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=U, 유찰) — BidApi.xml `yoochal` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드(V5 `b2b_buy.sayou`)와 상세(V5 `b2b_buy.sa_desc`)가 기록됩니다. **유찰사유 코드 목록(BidFailureReason):** | 코드 | 의미 | |------|------| | `1` | 예정가격 초과 | | `2` | 자격 미달 | | `3` | 전문성 필요 | | `4` | 기타 (`failureReasonDetail` 필수) | | `5` | 참가자 없음 | | `6` | 단독 참가 | | `7` | 2인 미만 | | `8` | 최저가 미달 | **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
397
405
  * @summary 유찰 처리
406
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
398
407
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
399
408
  * @param {*} [options] Override http request option.
400
409
  * @throws {RequiredError}
401
410
  */
402
- markBidFailed: async (markBidFailedRequestDto: MarkBidFailedRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
411
+ markBidFailed: async (idempotencyKey: string, markBidFailedRequestDto: MarkBidFailedRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
412
+ // verify required parameter 'idempotencyKey' is not null or undefined
413
+ assertParamExists('markBidFailed', 'idempotencyKey', idempotencyKey)
403
414
  // verify required parameter 'markBidFailedRequestDto' is not null or undefined
404
415
  assertParamExists('markBidFailed', 'markBidFailedRequestDto', markBidFailedRequestDto)
405
416
  const localVarPath = `/v1/awards/fail`;
@@ -421,6 +432,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configura
421
432
  localVarHeaderParameter['Content-Type'] = 'application/json';
422
433
  localVarHeaderParameter['Accept'] = 'application/json';
423
434
 
435
+ if (idempotencyKey != null) {
436
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
437
+ }
424
438
  setSearchParams(localVarUrlObj, localVarQueryParameter);
425
439
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
426
440
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -470,13 +484,16 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configura
470
484
  };
471
485
  },
472
486
  /**
473
- * 낙찰 결과 등록. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
487
+ * 낙찰 결과를 등록하고 공고를 낙찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=W, 낙찰) — BidApi.xml `selectWinner` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 낙찰(AWARDED)로 전환됩니다. - 낙찰자(공급사) 응찰행이 낙찰 처리됩니다. - 협상 방식(H/K)은 이 엔드포인트 전에 `/v1/awards/nego-eval`로 평가 완료가 필요합니다. **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
474
488
  * @summary 낙찰 결과 전송
489
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
475
490
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
476
491
  * @param {*} [options] Override http request option.
477
492
  * @throws {RequiredError}
478
493
  */
479
- registerAward: async (registerAwardRequestDto: RegisterAwardRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
494
+ registerAward: async (idempotencyKey: string, registerAwardRequestDto: RegisterAwardRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
495
+ // verify required parameter 'idempotencyKey' is not null or undefined
496
+ assertParamExists('registerAward', 'idempotencyKey', idempotencyKey)
480
497
  // verify required parameter 'registerAwardRequestDto' is not null or undefined
481
498
  assertParamExists('registerAward', 'registerAwardRequestDto', registerAwardRequestDto)
482
499
  const localVarPath = `/v1/awards`;
@@ -498,6 +515,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configura
498
515
  localVarHeaderParameter['Content-Type'] = 'application/json';
499
516
  localVarHeaderParameter['Accept'] = 'application/json';
500
517
 
518
+ if (idempotencyKey != null) {
519
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
520
+ }
501
521
  setSearchParams(localVarUrlObj, localVarQueryParameter);
502
522
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
503
523
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -548,13 +568,16 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configura
548
568
  };
549
569
  },
550
570
  /**
551
- * V5 /splitInvoiceRequest 후속. scope invoices:write + Idempotency-Key.
571
+ * 세금계산서 분할 발급 청구를 기록합니다. 발급 엔진이 아니라 \"분할 발급 청구 요청을 접수\"하는 엔드포인트입니다. **V5 대응:** `splitInvoiceRequest` — BidApi.xml `splitInvoice` 액션의 V6 후속. **호출 시점:** 검수완료 후 세금계산서를 분할 발급받고자 할 때. 공급가액과 부가세를 나누어 청구합니다. **부수효과:** - 분할 발급 청구가 기록됩니다(실제 세금계산서 발급은 별도 프로세스). - 작성일자(`issueDate`)는 미래 일자 불가(I5 — V5 `PgBidApiService:220-235` 패리티). 오늘 날짜는 허용. - `issueDate` 미지정 시 backend 기본값 적용. **금액 단위:** 원(KRW) 정수. `supplyAmount`(공급가액) + `vat`(부가세) 합산이 실제 청구 총액. **필수 스코프:** `invoices:write` **멱등성:** `Idempotency-Key` 헤더 필수.
552
572
  * @summary 계산서 분할 발급 청구
573
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
553
574
  * @param {RequestSplitInvoiceRequestDto} requestSplitInvoiceRequestDto
554
575
  * @param {*} [options] Override http request option.
555
576
  * @throws {RequiredError}
556
577
  */
557
- requestSplitInvoice: async (requestSplitInvoiceRequestDto: RequestSplitInvoiceRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
578
+ requestSplitInvoice: async (idempotencyKey: string, requestSplitInvoiceRequestDto: RequestSplitInvoiceRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
579
+ // verify required parameter 'idempotencyKey' is not null or undefined
580
+ assertParamExists('requestSplitInvoice', 'idempotencyKey', idempotencyKey)
558
581
  // verify required parameter 'requestSplitInvoiceRequestDto' is not null or undefined
559
582
  assertParamExists('requestSplitInvoice', 'requestSplitInvoiceRequestDto', requestSplitInvoiceRequestDto)
560
583
  const localVarPath = `/v1/invoices/split-requests`;
@@ -576,6 +599,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configura
576
599
  localVarHeaderParameter['Content-Type'] = 'application/json';
577
600
  localVarHeaderParameter['Accept'] = 'application/json';
578
601
 
602
+ if (idempotencyKey != null) {
603
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
604
+ }
579
605
  setSearchParams(localVarUrlObj, localVarQueryParameter);
580
606
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
581
607
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -587,13 +613,16 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configura
587
613
  };
588
614
  },
589
615
  /**
590
- * 협상에의한계약(H/K) 응찰자별 기술/가격 점수 일괄 입력(V5 nego-eval 패리티). complete=true 평가완료 게이트까지 적용해 낙찰 진입 가능. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
616
+ * 협상에의한계약(낙찰방법 H/K) 응찰자별 기술/가격 점수를 일괄 입력합니다. **V5 대응:** `scsbidSend`(type=nego, 점수입력) — BidApi.xml `nego-eval` 액션의 V6 후속. **호출 시점:** 협상 방식 공고 마감 후 점수 평가를 진행할 때. `complete=true` 를 함께 보내면 평가완료 게이트(V5 `nego_complete_yn=Y`)까지 적용되어 낙찰 진입이 가능합니다. **부수효과:** - 각 응찰자의 기술점수(`techPoint`) 및 가격점수(`bidPoint`, 선택)가 저장됩니다. - `complete=true`인 경우 평가완료 상태로 전환되어 이후 `/v1/awards`로 낙찰 처리가 가능합니다. - 가격점수(`bidPoint`)를 생략하면 backend 가 배점 기준에 따라 자동 계산합니다. **응찰자 식별:** `sequence`(= V5 `buy_seq`, `entendrec` 응답의 `sequence` 필드). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
591
617
  * @summary 협상(H/K) 점수평가
618
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
592
619
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
593
620
  * @param {*} [options] Override http request option.
594
621
  * @throws {RequiredError}
595
622
  */
596
- submitNegotiationScores: async (submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
623
+ submitNegotiationScores: async (idempotencyKey: string, submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
624
+ // verify required parameter 'idempotencyKey' is not null or undefined
625
+ assertParamExists('submitNegotiationScores', 'idempotencyKey', idempotencyKey)
597
626
  // verify required parameter 'submitNegotiationScoresRequestDto' is not null or undefined
598
627
  assertParamExists('submitNegotiationScores', 'submitNegotiationScoresRequestDto', submitNegotiationScoresRequestDto)
599
628
  const localVarPath = `/v1/awards/nego-eval`;
@@ -615,6 +644,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration?: Configura
615
644
  localVarHeaderParameter['Content-Type'] = 'application/json';
616
645
  localVarHeaderParameter['Accept'] = 'application/json';
617
646
 
647
+ if (idempotencyKey != null) {
648
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
649
+ }
618
650
  setSearchParams(localVarUrlObj, localVarQueryParameter);
619
651
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
620
652
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -674,15 +706,16 @@ export const PartnerV1ApiFp = function(configuration?: Configuration) {
674
706
  const localVarAxiosParamCreator = PartnerV1ApiAxiosParamCreator(configuration)
675
707
  return {
676
708
  /**
677
- * V5 /acceptanceCompleteSend 후속. scope contracts:write + Idempotency-Key.
709
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자를 함께 override할 수 있습니다(선택 필드). 비어있지 않은 값만 backend 가 `b2b_buy`에 stamp합니다(V5 taxbill UPDATE 조건부 set 패리티). - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
678
710
  * @summary 검수완료 전송
679
- * @param {string} bidId
711
+ * @param {string} bidId 공고 ID(&#x3D; backend bidId &#x3D; 등록 응답의 bidNo).
712
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
680
713
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
681
714
  * @param {*} [options] Override http request option.
682
715
  * @throws {RequiredError}
683
716
  */
684
- async completeAcceptance(bidId: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AcceptanceResultResponseDto>> {
685
- const localVarAxiosArgs = await localVarAxiosParamCreator.completeAcceptance(bidId, completeAcceptanceRequestDto, options);
717
+ async completeAcceptance(bidId: string, idempotencyKey: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AcceptanceResultResponseDto>> {
718
+ const localVarAxiosArgs = await localVarAxiosParamCreator.completeAcceptance(bidId, idempotencyKey, completeAcceptanceRequestDto, options);
686
719
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
687
720
  const localVarOperationServerBasePath = operationServerMap['PartnerV1Api.completeAcceptance']?.[localVarOperationServerIndex]?.url;
688
721
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -781,14 +814,15 @@ export const PartnerV1ApiFp = function(configuration?: Configuration) {
781
814
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
782
815
  },
783
816
  /**
784
- * 유찰 처리(V5 yoochal 패리티). 유찰사유 코드(1~8)·상세를 받아 공고를 유찰 상태로 전환. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
817
+ * 공고를 유찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=U, 유찰) — BidApi.xml `yoochal` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드(V5 `b2b_buy.sayou`)와 상세(V5 `b2b_buy.sa_desc`)가 기록됩니다. **유찰사유 코드 목록(BidFailureReason):** | 코드 | 의미 | |------|------| | `1` | 예정가격 초과 | | `2` | 자격 미달 | | `3` | 전문성 필요 | | `4` | 기타 (`failureReasonDetail` 필수) | | `5` | 참가자 없음 | | `6` | 단독 참가 | | `7` | 2인 미만 | | `8` | 최저가 미달 | **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
785
818
  * @summary 유찰 처리
819
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
786
820
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
787
821
  * @param {*} [options] Override http request option.
788
822
  * @throws {RequiredError}
789
823
  */
790
- async markBidFailed(markBidFailedRequestDto: MarkBidFailedRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BidFailedResponseDto>> {
791
- const localVarAxiosArgs = await localVarAxiosParamCreator.markBidFailed(markBidFailedRequestDto, options);
824
+ async markBidFailed(idempotencyKey: string, markBidFailedRequestDto: MarkBidFailedRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BidFailedResponseDto>> {
825
+ const localVarAxiosArgs = await localVarAxiosParamCreator.markBidFailed(idempotencyKey, markBidFailedRequestDto, options);
792
826
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
793
827
  const localVarOperationServerBasePath = operationServerMap['PartnerV1Api.markBidFailed']?.[localVarOperationServerIndex]?.url;
794
828
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -807,14 +841,15 @@ export const PartnerV1ApiFp = function(configuration?: Configuration) {
807
841
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
808
842
  },
809
843
  /**
810
- * 낙찰 결과 등록. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
844
+ * 낙찰 결과를 등록하고 공고를 낙찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=W, 낙찰) — BidApi.xml `selectWinner` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 낙찰(AWARDED)로 전환됩니다. - 낙찰자(공급사) 응찰행이 낙찰 처리됩니다. - 협상 방식(H/K)은 이 엔드포인트 전에 `/v1/awards/nego-eval`로 평가 완료가 필요합니다. **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
811
845
  * @summary 낙찰 결과 전송
846
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
812
847
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
813
848
  * @param {*} [options] Override http request option.
814
849
  * @throws {RequiredError}
815
850
  */
816
- async registerAward(registerAwardRequestDto: RegisterAwardRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AwardRegisteredResponseDto>> {
817
- const localVarAxiosArgs = await localVarAxiosParamCreator.registerAward(registerAwardRequestDto, options);
851
+ async registerAward(idempotencyKey: string, registerAwardRequestDto: RegisterAwardRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AwardRegisteredResponseDto>> {
852
+ const localVarAxiosArgs = await localVarAxiosParamCreator.registerAward(idempotencyKey, registerAwardRequestDto, options);
818
853
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
819
854
  const localVarOperationServerBasePath = operationServerMap['PartnerV1Api.registerAward']?.[localVarOperationServerIndex]?.url;
820
855
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -833,27 +868,29 @@ export const PartnerV1ApiFp = function(configuration?: Configuration) {
833
868
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
834
869
  },
835
870
  /**
836
- * V5 /splitInvoiceRequest 후속. scope invoices:write + Idempotency-Key.
871
+ * 세금계산서 분할 발급 청구를 기록합니다. 발급 엔진이 아니라 \"분할 발급 청구 요청을 접수\"하는 엔드포인트입니다. **V5 대응:** `splitInvoiceRequest` — BidApi.xml `splitInvoice` 액션의 V6 후속. **호출 시점:** 검수완료 후 세금계산서를 분할 발급받고자 할 때. 공급가액과 부가세를 나누어 청구합니다. **부수효과:** - 분할 발급 청구가 기록됩니다(실제 세금계산서 발급은 별도 프로세스). - 작성일자(`issueDate`)는 미래 일자 불가(I5 — V5 `PgBidApiService:220-235` 패리티). 오늘 날짜는 허용. - `issueDate` 미지정 시 backend 기본값 적용. **금액 단위:** 원(KRW) 정수. `supplyAmount`(공급가액) + `vat`(부가세) 합산이 실제 청구 총액. **필수 스코프:** `invoices:write` **멱등성:** `Idempotency-Key` 헤더 필수.
837
872
  * @summary 계산서 분할 발급 청구
873
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
838
874
  * @param {RequestSplitInvoiceRequestDto} requestSplitInvoiceRequestDto
839
875
  * @param {*} [options] Override http request option.
840
876
  * @throws {RequiredError}
841
877
  */
842
- async requestSplitInvoice(requestSplitInvoiceRequestDto: RequestSplitInvoiceRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SplitInvoiceResponseDto>> {
843
- const localVarAxiosArgs = await localVarAxiosParamCreator.requestSplitInvoice(requestSplitInvoiceRequestDto, options);
878
+ async requestSplitInvoice(idempotencyKey: string, requestSplitInvoiceRequestDto: RequestSplitInvoiceRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SplitInvoiceResponseDto>> {
879
+ const localVarAxiosArgs = await localVarAxiosParamCreator.requestSplitInvoice(idempotencyKey, requestSplitInvoiceRequestDto, options);
844
880
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
845
881
  const localVarOperationServerBasePath = operationServerMap['PartnerV1Api.requestSplitInvoice']?.[localVarOperationServerIndex]?.url;
846
882
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
847
883
  },
848
884
  /**
849
- * 협상에의한계약(H/K) 응찰자별 기술/가격 점수 일괄 입력(V5 nego-eval 패리티). complete=true 평가완료 게이트까지 적용해 낙찰 진입 가능. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
885
+ * 협상에의한계약(낙찰방법 H/K) 응찰자별 기술/가격 점수를 일괄 입력합니다. **V5 대응:** `scsbidSend`(type=nego, 점수입력) — BidApi.xml `nego-eval` 액션의 V6 후속. **호출 시점:** 협상 방식 공고 마감 후 점수 평가를 진행할 때. `complete=true` 를 함께 보내면 평가완료 게이트(V5 `nego_complete_yn=Y`)까지 적용되어 낙찰 진입이 가능합니다. **부수효과:** - 각 응찰자의 기술점수(`techPoint`) 및 가격점수(`bidPoint`, 선택)가 저장됩니다. - `complete=true`인 경우 평가완료 상태로 전환되어 이후 `/v1/awards`로 낙찰 처리가 가능합니다. - 가격점수(`bidPoint`)를 생략하면 backend 가 배점 기준에 따라 자동 계산합니다. **응찰자 식별:** `sequence`(= V5 `buy_seq`, `entendrec` 응답의 `sequence` 필드). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
850
886
  * @summary 협상(H/K) 점수평가
887
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
851
888
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
852
889
  * @param {*} [options] Override http request option.
853
890
  * @throws {RequiredError}
854
891
  */
855
- async submitNegotiationScores(submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NegotiationScoredResponseDto>> {
856
- const localVarAxiosArgs = await localVarAxiosParamCreator.submitNegotiationScores(submitNegotiationScoresRequestDto, options);
892
+ async submitNegotiationScores(idempotencyKey: string, submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NegotiationScoredResponseDto>> {
893
+ const localVarAxiosArgs = await localVarAxiosParamCreator.submitNegotiationScores(idempotencyKey, submitNegotiationScoresRequestDto, options);
857
894
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
858
895
  const localVarOperationServerBasePath = operationServerMap['PartnerV1Api.submitNegotiationScores']?.[localVarOperationServerIndex]?.url;
859
896
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -881,15 +918,16 @@ export const PartnerV1ApiFactory = function (configuration?: Configuration, base
881
918
  const localVarFp = PartnerV1ApiFp(configuration)
882
919
  return {
883
920
  /**
884
- * V5 /acceptanceCompleteSend 후속. scope contracts:write + Idempotency-Key.
921
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자를 함께 override할 수 있습니다(선택 필드). 비어있지 않은 값만 backend 가 `b2b_buy`에 stamp합니다(V5 taxbill UPDATE 조건부 set 패리티). - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
885
922
  * @summary 검수완료 전송
886
- * @param {string} bidId
923
+ * @param {string} bidId 공고 ID(&#x3D; backend bidId &#x3D; 등록 응답의 bidNo).
924
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
887
925
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
888
926
  * @param {*} [options] Override http request option.
889
927
  * @throws {RequiredError}
890
928
  */
891
- completeAcceptance(bidId: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<AcceptanceResultResponseDto> {
892
- return localVarFp.completeAcceptance(bidId, completeAcceptanceRequestDto, options).then((request) => request(axios, basePath));
929
+ completeAcceptance(bidId: string, idempotencyKey: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<AcceptanceResultResponseDto> {
930
+ return localVarFp.completeAcceptance(bidId, idempotencyKey, completeAcceptanceRequestDto, options).then((request) => request(axios, basePath));
893
931
  },
894
932
  /**
895
933
  * V5 /contractDocumentRec 후속. scope contracts:read.
@@ -964,14 +1002,15 @@ export const PartnerV1ApiFactory = function (configuration?: Configuration, base
964
1002
  return localVarFp.healthControllerCheck(options).then((request) => request(axios, basePath));
965
1003
  },
966
1004
  /**
967
- * 유찰 처리(V5 yoochal 패리티). 유찰사유 코드(1~8)·상세를 받아 공고를 유찰 상태로 전환. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
1005
+ * 공고를 유찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=U, 유찰) — BidApi.xml `yoochal` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드(V5 `b2b_buy.sayou`)와 상세(V5 `b2b_buy.sa_desc`)가 기록됩니다. **유찰사유 코드 목록(BidFailureReason):** | 코드 | 의미 | |------|------| | `1` | 예정가격 초과 | | `2` | 자격 미달 | | `3` | 전문성 필요 | | `4` | 기타 (`failureReasonDetail` 필수) | | `5` | 참가자 없음 | | `6` | 단독 참가 | | `7` | 2인 미만 | | `8` | 최저가 미달 | **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
968
1006
  * @summary 유찰 처리
1007
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
969
1008
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
970
1009
  * @param {*} [options] Override http request option.
971
1010
  * @throws {RequiredError}
972
1011
  */
973
- markBidFailed(markBidFailedRequestDto: MarkBidFailedRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<BidFailedResponseDto> {
974
- return localVarFp.markBidFailed(markBidFailedRequestDto, options).then((request) => request(axios, basePath));
1012
+ markBidFailed(idempotencyKey: string, markBidFailedRequestDto: MarkBidFailedRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<BidFailedResponseDto> {
1013
+ return localVarFp.markBidFailed(idempotencyKey, markBidFailedRequestDto, options).then((request) => request(axios, basePath));
975
1014
  },
976
1015
  /**
977
1016
  * V5↔V6 응답 비교 불일치(verdict)를 적재한다. scope parity:write. V5 cutover 시 제거 예정(한시적 계약).
@@ -984,14 +1023,15 @@ export const PartnerV1ApiFactory = function (configuration?: Configuration, base
984
1023
  return localVarFp.recordParityResult(body, options).then((request) => request(axios, basePath));
985
1024
  },
986
1025
  /**
987
- * 낙찰 결과 등록. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
1026
+ * 낙찰 결과를 등록하고 공고를 낙찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=W, 낙찰) — BidApi.xml `selectWinner` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 낙찰(AWARDED)로 전환됩니다. - 낙찰자(공급사) 응찰행이 낙찰 처리됩니다. - 협상 방식(H/K)은 이 엔드포인트 전에 `/v1/awards/nego-eval`로 평가 완료가 필요합니다. **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
988
1027
  * @summary 낙찰 결과 전송
1028
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
989
1029
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
990
1030
  * @param {*} [options] Override http request option.
991
1031
  * @throws {RequiredError}
992
1032
  */
993
- registerAward(registerAwardRequestDto: RegisterAwardRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<AwardRegisteredResponseDto> {
994
- return localVarFp.registerAward(registerAwardRequestDto, options).then((request) => request(axios, basePath));
1033
+ registerAward(idempotencyKey: string, registerAwardRequestDto: RegisterAwardRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<AwardRegisteredResponseDto> {
1034
+ return localVarFp.registerAward(idempotencyKey, registerAwardRequestDto, options).then((request) => request(axios, basePath));
995
1035
  },
996
1036
  /**
997
1037
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수.
@@ -1004,24 +1044,26 @@ export const PartnerV1ApiFactory = function (configuration?: Configuration, base
1004
1044
  return localVarFp.registerBid(createBidRequestDto, options).then((request) => request(axios, basePath));
1005
1045
  },
1006
1046
  /**
1007
- * V5 /splitInvoiceRequest 후속. scope invoices:write + Idempotency-Key.
1047
+ * 세금계산서 분할 발급 청구를 기록합니다. 발급 엔진이 아니라 \"분할 발급 청구 요청을 접수\"하는 엔드포인트입니다. **V5 대응:** `splitInvoiceRequest` — BidApi.xml `splitInvoice` 액션의 V6 후속. **호출 시점:** 검수완료 후 세금계산서를 분할 발급받고자 할 때. 공급가액과 부가세를 나누어 청구합니다. **부수효과:** - 분할 발급 청구가 기록됩니다(실제 세금계산서 발급은 별도 프로세스). - 작성일자(`issueDate`)는 미래 일자 불가(I5 — V5 `PgBidApiService:220-235` 패리티). 오늘 날짜는 허용. - `issueDate` 미지정 시 backend 기본값 적용. **금액 단위:** 원(KRW) 정수. `supplyAmount`(공급가액) + `vat`(부가세) 합산이 실제 청구 총액. **필수 스코프:** `invoices:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1008
1048
  * @summary 계산서 분할 발급 청구
1049
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1009
1050
  * @param {RequestSplitInvoiceRequestDto} requestSplitInvoiceRequestDto
1010
1051
  * @param {*} [options] Override http request option.
1011
1052
  * @throws {RequiredError}
1012
1053
  */
1013
- requestSplitInvoice(requestSplitInvoiceRequestDto: RequestSplitInvoiceRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<SplitInvoiceResponseDto> {
1014
- return localVarFp.requestSplitInvoice(requestSplitInvoiceRequestDto, options).then((request) => request(axios, basePath));
1054
+ requestSplitInvoice(idempotencyKey: string, requestSplitInvoiceRequestDto: RequestSplitInvoiceRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<SplitInvoiceResponseDto> {
1055
+ return localVarFp.requestSplitInvoice(idempotencyKey, requestSplitInvoiceRequestDto, options).then((request) => request(axios, basePath));
1015
1056
  },
1016
1057
  /**
1017
- * 협상에의한계약(H/K) 응찰자별 기술/가격 점수 일괄 입력(V5 nego-eval 패리티). complete=true 평가완료 게이트까지 적용해 낙찰 진입 가능. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
1058
+ * 협상에의한계약(낙찰방법 H/K) 응찰자별 기술/가격 점수를 일괄 입력합니다. **V5 대응:** `scsbidSend`(type=nego, 점수입력) — BidApi.xml `nego-eval` 액션의 V6 후속. **호출 시점:** 협상 방식 공고 마감 후 점수 평가를 진행할 때. `complete=true` 를 함께 보내면 평가완료 게이트(V5 `nego_complete_yn=Y`)까지 적용되어 낙찰 진입이 가능합니다. **부수효과:** - 각 응찰자의 기술점수(`techPoint`) 및 가격점수(`bidPoint`, 선택)가 저장됩니다. - `complete=true`인 경우 평가완료 상태로 전환되어 이후 `/v1/awards`로 낙찰 처리가 가능합니다. - 가격점수(`bidPoint`)를 생략하면 backend 가 배점 기준에 따라 자동 계산합니다. **응찰자 식별:** `sequence`(= V5 `buy_seq`, `entendrec` 응답의 `sequence` 필드). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1018
1059
  * @summary 협상(H/K) 점수평가
1060
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1019
1061
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
1020
1062
  * @param {*} [options] Override http request option.
1021
1063
  * @throws {RequiredError}
1022
1064
  */
1023
- submitNegotiationScores(submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<NegotiationScoredResponseDto> {
1024
- return localVarFp.submitNegotiationScores(submitNegotiationScoresRequestDto, options).then((request) => request(axios, basePath));
1065
+ submitNegotiationScores(idempotencyKey: string, submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<NegotiationScoredResponseDto> {
1066
+ return localVarFp.submitNegotiationScores(idempotencyKey, submitNegotiationScoresRequestDto, options).then((request) => request(axios, basePath));
1025
1067
  },
1026
1068
  /**
1027
1069
  * 스코프 `files:write` + `Idempotency-Key` 헤더 필수. base64 또는 url 중 정확히 하나를 제출한다.
@@ -1041,15 +1083,16 @@ export const PartnerV1ApiFactory = function (configuration?: Configuration, base
1041
1083
  */
1042
1084
  export class PartnerV1Api extends BaseAPI {
1043
1085
  /**
1044
- * V5 /acceptanceCompleteSend 후속. scope contracts:write + Idempotency-Key.
1086
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자를 함께 override할 수 있습니다(선택 필드). 비어있지 않은 값만 backend 가 `b2b_buy`에 stamp합니다(V5 taxbill UPDATE 조건부 set 패리티). - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1045
1087
  * @summary 검수완료 전송
1046
- * @param {string} bidId
1088
+ * @param {string} bidId 공고 ID(&#x3D; backend bidId &#x3D; 등록 응답의 bidNo).
1089
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1047
1090
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
1048
1091
  * @param {*} [options] Override http request option.
1049
1092
  * @throws {RequiredError}
1050
1093
  */
1051
- public completeAcceptance(bidId: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options?: RawAxiosRequestConfig) {
1052
- return PartnerV1ApiFp(this.configuration).completeAcceptance(bidId, completeAcceptanceRequestDto, options).then((request) => request(this.axios, this.basePath));
1094
+ public completeAcceptance(bidId: string, idempotencyKey: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options?: RawAxiosRequestConfig) {
1095
+ return PartnerV1ApiFp(this.configuration).completeAcceptance(bidId, idempotencyKey, completeAcceptanceRequestDto, options).then((request) => request(this.axios, this.basePath));
1053
1096
  }
1054
1097
 
1055
1098
  /**
@@ -1132,14 +1175,15 @@ export class PartnerV1Api extends BaseAPI {
1132
1175
  }
1133
1176
 
1134
1177
  /**
1135
- * 유찰 처리(V5 yoochal 패리티). 유찰사유 코드(1~8)·상세를 받아 공고를 유찰 상태로 전환. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
1178
+ * 공고를 유찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=U, 유찰) — BidApi.xml `yoochal` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드(V5 `b2b_buy.sayou`)와 상세(V5 `b2b_buy.sa_desc`)가 기록됩니다. **유찰사유 코드 목록(BidFailureReason):** | 코드 | 의미 | |------|------| | `1` | 예정가격 초과 | | `2` | 자격 미달 | | `3` | 전문성 필요 | | `4` | 기타 (`failureReasonDetail` 필수) | | `5` | 참가자 없음 | | `6` | 단독 참가 | | `7` | 2인 미만 | | `8` | 최저가 미달 | **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1136
1179
  * @summary 유찰 처리
1180
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1137
1181
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
1138
1182
  * @param {*} [options] Override http request option.
1139
1183
  * @throws {RequiredError}
1140
1184
  */
1141
- public markBidFailed(markBidFailedRequestDto: MarkBidFailedRequestDto, options?: RawAxiosRequestConfig) {
1142
- return PartnerV1ApiFp(this.configuration).markBidFailed(markBidFailedRequestDto, options).then((request) => request(this.axios, this.basePath));
1185
+ public markBidFailed(idempotencyKey: string, markBidFailedRequestDto: MarkBidFailedRequestDto, options?: RawAxiosRequestConfig) {
1186
+ return PartnerV1ApiFp(this.configuration).markBidFailed(idempotencyKey, markBidFailedRequestDto, options).then((request) => request(this.axios, this.basePath));
1143
1187
  }
1144
1188
 
1145
1189
  /**
@@ -1154,14 +1198,15 @@ export class PartnerV1Api extends BaseAPI {
1154
1198
  }
1155
1199
 
1156
1200
  /**
1157
- * 낙찰 결과 등록. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
1201
+ * 낙찰 결과를 등록하고 공고를 낙찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=W, 낙찰) — BidApi.xml `selectWinner` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 낙찰(AWARDED)로 전환됩니다. - 낙찰자(공급사) 응찰행이 낙찰 처리됩니다. - 협상 방식(H/K)은 이 엔드포인트 전에 `/v1/awards/nego-eval`로 평가 완료가 필요합니다. **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
1158
1202
  * @summary 낙찰 결과 전송
1203
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1159
1204
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
1160
1205
  * @param {*} [options] Override http request option.
1161
1206
  * @throws {RequiredError}
1162
1207
  */
1163
- public registerAward(registerAwardRequestDto: RegisterAwardRequestDto, options?: RawAxiosRequestConfig) {
1164
- return PartnerV1ApiFp(this.configuration).registerAward(registerAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
1208
+ public registerAward(idempotencyKey: string, registerAwardRequestDto: RegisterAwardRequestDto, options?: RawAxiosRequestConfig) {
1209
+ return PartnerV1ApiFp(this.configuration).registerAward(idempotencyKey, registerAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
1165
1210
  }
1166
1211
 
1167
1212
  /**
@@ -1176,25 +1221,27 @@ export class PartnerV1Api extends BaseAPI {
1176
1221
  }
1177
1222
 
1178
1223
  /**
1179
- * V5 /splitInvoiceRequest 후속. scope invoices:write + Idempotency-Key.
1224
+ * 세금계산서 분할 발급 청구를 기록합니다. 발급 엔진이 아니라 \"분할 발급 청구 요청을 접수\"하는 엔드포인트입니다. **V5 대응:** `splitInvoiceRequest` — BidApi.xml `splitInvoice` 액션의 V6 후속. **호출 시점:** 검수완료 후 세금계산서를 분할 발급받고자 할 때. 공급가액과 부가세를 나누어 청구합니다. **부수효과:** - 분할 발급 청구가 기록됩니다(실제 세금계산서 발급은 별도 프로세스). - 작성일자(`issueDate`)는 미래 일자 불가(I5 — V5 `PgBidApiService:220-235` 패리티). 오늘 날짜는 허용. - `issueDate` 미지정 시 backend 기본값 적용. **금액 단위:** 원(KRW) 정수. `supplyAmount`(공급가액) + `vat`(부가세) 합산이 실제 청구 총액. **필수 스코프:** `invoices:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1180
1225
  * @summary 계산서 분할 발급 청구
1226
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1181
1227
  * @param {RequestSplitInvoiceRequestDto} requestSplitInvoiceRequestDto
1182
1228
  * @param {*} [options] Override http request option.
1183
1229
  * @throws {RequiredError}
1184
1230
  */
1185
- public requestSplitInvoice(requestSplitInvoiceRequestDto: RequestSplitInvoiceRequestDto, options?: RawAxiosRequestConfig) {
1186
- return PartnerV1ApiFp(this.configuration).requestSplitInvoice(requestSplitInvoiceRequestDto, options).then((request) => request(this.axios, this.basePath));
1231
+ public requestSplitInvoice(idempotencyKey: string, requestSplitInvoiceRequestDto: RequestSplitInvoiceRequestDto, options?: RawAxiosRequestConfig) {
1232
+ return PartnerV1ApiFp(this.configuration).requestSplitInvoice(idempotencyKey, requestSplitInvoiceRequestDto, options).then((request) => request(this.axios, this.basePath));
1187
1233
  }
1188
1234
 
1189
1235
  /**
1190
- * 협상에의한계약(H/K) 응찰자별 기술/가격 점수 일괄 입력(V5 nego-eval 패리티). complete=true 평가완료 게이트까지 적용해 낙찰 진입 가능. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
1236
+ * 협상에의한계약(낙찰방법 H/K) 응찰자별 기술/가격 점수를 일괄 입력합니다. **V5 대응:** `scsbidSend`(type=nego, 점수입력) — BidApi.xml `nego-eval` 액션의 V6 후속. **호출 시점:** 협상 방식 공고 마감 후 점수 평가를 진행할 때. `complete=true` 를 함께 보내면 평가완료 게이트(V5 `nego_complete_yn=Y`)까지 적용되어 낙찰 진입이 가능합니다. **부수효과:** - 각 응찰자의 기술점수(`techPoint`) 및 가격점수(`bidPoint`, 선택)가 저장됩니다. - `complete=true`인 경우 평가완료 상태로 전환되어 이후 `/v1/awards`로 낙찰 처리가 가능합니다. - 가격점수(`bidPoint`)를 생략하면 backend 가 배점 기준에 따라 자동 계산합니다. **응찰자 식별:** `sequence`(= V5 `buy_seq`, `entendrec` 응답의 `sequence` 필드). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1191
1237
  * @summary 협상(H/K) 점수평가
1238
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1192
1239
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
1193
1240
  * @param {*} [options] Override http request option.
1194
1241
  * @throws {RequiredError}
1195
1242
  */
1196
- public submitNegotiationScores(submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options?: RawAxiosRequestConfig) {
1197
- return PartnerV1ApiFp(this.configuration).submitNegotiationScores(submitNegotiationScoresRequestDto, options).then((request) => request(this.axios, this.basePath));
1243
+ public submitNegotiationScores(idempotencyKey: string, submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options?: RawAxiosRequestConfig) {
1244
+ return PartnerV1ApiFp(this.configuration).submitNegotiationScores(idempotencyKey, submitNegotiationScoresRequestDto, options).then((request) => request(this.axios, this.basePath));
1198
1245
  }
1199
1246
 
1200
1247
  /**