@cmarket/partner-sdk 0.6.2 → 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.
@@ -32,16 +32,19 @@ import { BASE_PATH, BaseAPI, operationServerMap } from '../base';
32
32
  export const PartnerV1ApiAxiosParamCreator = function (configuration) {
33
33
  return {
34
34
  /**
35
- * V5 /acceptanceCompleteSend 후속. scope contracts:write + Idempotency-Key.
35
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
36
36
  * @summary 검수완료 전송
37
- * @param {string} bidId
37
+ * @param {string} bidId 공고 ID(= backend bidId = 등록 응답의 bidNo).
38
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
38
39
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
39
40
  * @param {*} [options] Override http request option.
40
41
  * @throws {RequiredError}
41
42
  */
42
- completeAcceptance: (bidId_1, completeAcceptanceRequestDto_1, ...args_1) => __awaiter(this, [bidId_1, completeAcceptanceRequestDto_1, ...args_1], void 0, function* (bidId, completeAcceptanceRequestDto, options = {}) {
43
+ completeAcceptance: (bidId_1, idempotencyKey_1, completeAcceptanceRequestDto_1, ...args_1) => __awaiter(this, [bidId_1, idempotencyKey_1, completeAcceptanceRequestDto_1, ...args_1], void 0, function* (bidId, idempotencyKey, completeAcceptanceRequestDto, options = {}) {
43
44
  // verify required parameter 'bidId' is not null or undefined
44
45
  assertParamExists('completeAcceptance', 'bidId', bidId);
46
+ // verify required parameter 'idempotencyKey' is not null or undefined
47
+ assertParamExists('completeAcceptance', 'idempotencyKey', idempotencyKey);
45
48
  // verify required parameter 'completeAcceptanceRequestDto' is not null or undefined
46
49
  assertParamExists('completeAcceptance', 'completeAcceptanceRequestDto', completeAcceptanceRequestDto);
47
50
  const localVarPath = `/v1/bids/{bidId}/acceptance`
@@ -60,6 +63,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration) {
60
63
  yield setBearerAuthToObject(localVarHeaderParameter, configuration);
61
64
  localVarHeaderParameter['Content-Type'] = 'application/json';
62
65
  localVarHeaderParameter['Accept'] = 'application/json';
66
+ if (idempotencyKey != null) {
67
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
68
+ }
63
69
  setSearchParams(localVarUrlObj, localVarQueryParameter);
64
70
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
65
71
  localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
@@ -314,13 +320,16 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration) {
314
320
  };
315
321
  }),
316
322
  /**
317
- * 유찰 처리(V5 yoochal 패리티). 유찰사유 코드(1~8)·상세를 받아 공고를 유찰 상태로 전환. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
323
+ * 공고를 유찰 상태로 전환합니다. **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` 헤더 필수.
318
324
  * @summary 유찰 처리
325
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
319
326
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
320
327
  * @param {*} [options] Override http request option.
321
328
  * @throws {RequiredError}
322
329
  */
323
- markBidFailed: (markBidFailedRequestDto_1, ...args_1) => __awaiter(this, [markBidFailedRequestDto_1, ...args_1], void 0, function* (markBidFailedRequestDto, options = {}) {
330
+ markBidFailed: (idempotencyKey_1, markBidFailedRequestDto_1, ...args_1) => __awaiter(this, [idempotencyKey_1, markBidFailedRequestDto_1, ...args_1], void 0, function* (idempotencyKey, markBidFailedRequestDto, options = {}) {
331
+ // verify required parameter 'idempotencyKey' is not null or undefined
332
+ assertParamExists('markBidFailed', 'idempotencyKey', idempotencyKey);
324
333
  // verify required parameter 'markBidFailedRequestDto' is not null or undefined
325
334
  assertParamExists('markBidFailed', 'markBidFailedRequestDto', markBidFailedRequestDto);
326
335
  const localVarPath = `/v1/awards/fail`;
@@ -338,6 +347,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration) {
338
347
  yield setBearerAuthToObject(localVarHeaderParameter, configuration);
339
348
  localVarHeaderParameter['Content-Type'] = 'application/json';
340
349
  localVarHeaderParameter['Accept'] = 'application/json';
350
+ if (idempotencyKey != null) {
351
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
352
+ }
341
353
  setSearchParams(localVarUrlObj, localVarQueryParameter);
342
354
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
343
355
  localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
@@ -381,13 +393,16 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration) {
381
393
  };
382
394
  }),
383
395
  /**
384
- * 낙찰 결과 등록. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
396
+ * 낙찰 결과를 등록하고 공고를 낙찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=W, 낙찰) — BidApi.xml `selectWinner` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 낙찰(AWARDED)로 전환됩니다. - 낙찰자(공급사) 응찰행이 낙찰 처리됩니다. - 협상 방식(H/K)은 이 엔드포인트 전에 `/v1/awards/nego-eval`로 평가 완료가 필요합니다. **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
385
397
  * @summary 낙찰 결과 전송
398
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
386
399
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
387
400
  * @param {*} [options] Override http request option.
388
401
  * @throws {RequiredError}
389
402
  */
390
- registerAward: (registerAwardRequestDto_1, ...args_1) => __awaiter(this, [registerAwardRequestDto_1, ...args_1], void 0, function* (registerAwardRequestDto, options = {}) {
403
+ registerAward: (idempotencyKey_1, registerAwardRequestDto_1, ...args_1) => __awaiter(this, [idempotencyKey_1, registerAwardRequestDto_1, ...args_1], void 0, function* (idempotencyKey, registerAwardRequestDto, options = {}) {
404
+ // verify required parameter 'idempotencyKey' is not null or undefined
405
+ assertParamExists('registerAward', 'idempotencyKey', idempotencyKey);
391
406
  // verify required parameter 'registerAwardRequestDto' is not null or undefined
392
407
  assertParamExists('registerAward', 'registerAwardRequestDto', registerAwardRequestDto);
393
408
  const localVarPath = `/v1/awards`;
@@ -405,6 +420,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration) {
405
420
  yield setBearerAuthToObject(localVarHeaderParameter, configuration);
406
421
  localVarHeaderParameter['Content-Type'] = 'application/json';
407
422
  localVarHeaderParameter['Accept'] = 'application/json';
423
+ if (idempotencyKey != null) {
424
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
425
+ }
408
426
  setSearchParams(localVarUrlObj, localVarQueryParameter);
409
427
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
410
428
  localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
@@ -449,13 +467,16 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration) {
449
467
  };
450
468
  }),
451
469
  /**
452
- * V5 /splitInvoiceRequest 후속. scope invoices:write + Idempotency-Key.
470
+ * 세금계산서 분할 발급 청구를 기록합니다. 발급 엔진이 아니라 \"분할 발급 청구 요청을 접수\"하는 엔드포인트입니다. **V5 대응:** `splitInvoiceRequest` — BidApi.xml `splitInvoice` 액션의 V6 후속. **호출 시점:** 검수완료 후 세금계산서를 분할 발급받고자 할 때. 공급가액과 부가세를 나누어 청구합니다. **부수효과:** - 분할 발급 청구가 기록됩니다(실제 세금계산서 발급은 별도 프로세스). - 작성일자(`issueDate`)는 미래 일자 불가(I5 — V5 `PgBidApiService:220-235` 패리티). 오늘 날짜는 허용. - `issueDate` 미지정 시 backend 기본값 적용. **금액 단위:** 원(KRW) 정수. `supplyAmount`(공급가액) + `vat`(부가세) 합산이 실제 청구 총액. **필수 스코프:** `invoices:write` **멱등성:** `Idempotency-Key` 헤더 필수.
453
471
  * @summary 계산서 분할 발급 청구
472
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
454
473
  * @param {RequestSplitInvoiceRequestDto} requestSplitInvoiceRequestDto
455
474
  * @param {*} [options] Override http request option.
456
475
  * @throws {RequiredError}
457
476
  */
458
- requestSplitInvoice: (requestSplitInvoiceRequestDto_1, ...args_1) => __awaiter(this, [requestSplitInvoiceRequestDto_1, ...args_1], void 0, function* (requestSplitInvoiceRequestDto, options = {}) {
477
+ requestSplitInvoice: (idempotencyKey_1, requestSplitInvoiceRequestDto_1, ...args_1) => __awaiter(this, [idempotencyKey_1, requestSplitInvoiceRequestDto_1, ...args_1], void 0, function* (idempotencyKey, requestSplitInvoiceRequestDto, options = {}) {
478
+ // verify required parameter 'idempotencyKey' is not null or undefined
479
+ assertParamExists('requestSplitInvoice', 'idempotencyKey', idempotencyKey);
459
480
  // verify required parameter 'requestSplitInvoiceRequestDto' is not null or undefined
460
481
  assertParamExists('requestSplitInvoice', 'requestSplitInvoiceRequestDto', requestSplitInvoiceRequestDto);
461
482
  const localVarPath = `/v1/invoices/split-requests`;
@@ -473,6 +494,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration) {
473
494
  yield setBearerAuthToObject(localVarHeaderParameter, configuration);
474
495
  localVarHeaderParameter['Content-Type'] = 'application/json';
475
496
  localVarHeaderParameter['Accept'] = 'application/json';
497
+ if (idempotencyKey != null) {
498
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
499
+ }
476
500
  setSearchParams(localVarUrlObj, localVarQueryParameter);
477
501
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
478
502
  localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
@@ -483,13 +507,16 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration) {
483
507
  };
484
508
  }),
485
509
  /**
486
- * 협상에의한계약(H/K) 응찰자별 기술/가격 점수 일괄 입력(V5 nego-eval 패리티). complete=true 평가완료 게이트까지 적용해 낙찰 진입 가능. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
510
+ * 협상에의한계약(낙찰방법 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` 헤더 필수.
487
511
  * @summary 협상(H/K) 점수평가
512
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
488
513
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
489
514
  * @param {*} [options] Override http request option.
490
515
  * @throws {RequiredError}
491
516
  */
492
- submitNegotiationScores: (submitNegotiationScoresRequestDto_1, ...args_1) => __awaiter(this, [submitNegotiationScoresRequestDto_1, ...args_1], void 0, function* (submitNegotiationScoresRequestDto, options = {}) {
517
+ submitNegotiationScores: (idempotencyKey_1, submitNegotiationScoresRequestDto_1, ...args_1) => __awaiter(this, [idempotencyKey_1, submitNegotiationScoresRequestDto_1, ...args_1], void 0, function* (idempotencyKey, submitNegotiationScoresRequestDto, options = {}) {
518
+ // verify required parameter 'idempotencyKey' is not null or undefined
519
+ assertParamExists('submitNegotiationScores', 'idempotencyKey', idempotencyKey);
493
520
  // verify required parameter 'submitNegotiationScoresRequestDto' is not null or undefined
494
521
  assertParamExists('submitNegotiationScores', 'submitNegotiationScoresRequestDto', submitNegotiationScoresRequestDto);
495
522
  const localVarPath = `/v1/awards/nego-eval`;
@@ -507,6 +534,9 @@ export const PartnerV1ApiAxiosParamCreator = function (configuration) {
507
534
  yield setBearerAuthToObject(localVarHeaderParameter, configuration);
508
535
  localVarHeaderParameter['Content-Type'] = 'application/json';
509
536
  localVarHeaderParameter['Accept'] = 'application/json';
537
+ if (idempotencyKey != null) {
538
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
539
+ }
510
540
  setSearchParams(localVarUrlObj, localVarQueryParameter);
511
541
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
512
542
  localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
@@ -559,17 +589,18 @@ export const PartnerV1ApiFp = function (configuration) {
559
589
  const localVarAxiosParamCreator = PartnerV1ApiAxiosParamCreator(configuration);
560
590
  return {
561
591
  /**
562
- * V5 /acceptanceCompleteSend 후속. scope contracts:write + Idempotency-Key.
592
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
563
593
  * @summary 검수완료 전송
564
- * @param {string} bidId
594
+ * @param {string} bidId 공고 ID(= backend bidId = 등록 응답의 bidNo).
595
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
565
596
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
566
597
  * @param {*} [options] Override http request option.
567
598
  * @throws {RequiredError}
568
599
  */
569
- completeAcceptance(bidId, completeAcceptanceRequestDto, options) {
600
+ completeAcceptance(bidId, idempotencyKey, completeAcceptanceRequestDto, options) {
570
601
  return __awaiter(this, void 0, void 0, function* () {
571
602
  var _a, _b, _c;
572
- const localVarAxiosArgs = yield localVarAxiosParamCreator.completeAcceptance(bidId, completeAcceptanceRequestDto, options);
603
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.completeAcceptance(bidId, idempotencyKey, completeAcceptanceRequestDto, options);
573
604
  const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
574
605
  const localVarOperationServerBasePath = (_c = (_b = operationServerMap['PartnerV1Api.completeAcceptance']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
575
606
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -690,16 +721,17 @@ export const PartnerV1ApiFp = function (configuration) {
690
721
  });
691
722
  },
692
723
  /**
693
- * 유찰 처리(V5 yoochal 패리티). 유찰사유 코드(1~8)·상세를 받아 공고를 유찰 상태로 전환. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
724
+ * 공고를 유찰 상태로 전환합니다. **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` 헤더 필수.
694
725
  * @summary 유찰 처리
726
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
695
727
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
696
728
  * @param {*} [options] Override http request option.
697
729
  * @throws {RequiredError}
698
730
  */
699
- markBidFailed(markBidFailedRequestDto, options) {
731
+ markBidFailed(idempotencyKey, markBidFailedRequestDto, options) {
700
732
  return __awaiter(this, void 0, void 0, function* () {
701
733
  var _a, _b, _c;
702
- const localVarAxiosArgs = yield localVarAxiosParamCreator.markBidFailed(markBidFailedRequestDto, options);
734
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.markBidFailed(idempotencyKey, markBidFailedRequestDto, options);
703
735
  const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
704
736
  const localVarOperationServerBasePath = (_c = (_b = operationServerMap['PartnerV1Api.markBidFailed']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
705
737
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -722,16 +754,17 @@ export const PartnerV1ApiFp = function (configuration) {
722
754
  });
723
755
  },
724
756
  /**
725
- * 낙찰 결과 등록. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
757
+ * 낙찰 결과를 등록하고 공고를 낙찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=W, 낙찰) — BidApi.xml `selectWinner` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 낙찰(AWARDED)로 전환됩니다. - 낙찰자(공급사) 응찰행이 낙찰 처리됩니다. - 협상 방식(H/K)은 이 엔드포인트 전에 `/v1/awards/nego-eval`로 평가 완료가 필요합니다. **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
726
758
  * @summary 낙찰 결과 전송
759
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
727
760
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
728
761
  * @param {*} [options] Override http request option.
729
762
  * @throws {RequiredError}
730
763
  */
731
- registerAward(registerAwardRequestDto, options) {
764
+ registerAward(idempotencyKey, registerAwardRequestDto, options) {
732
765
  return __awaiter(this, void 0, void 0, function* () {
733
766
  var _a, _b, _c;
734
- const localVarAxiosArgs = yield localVarAxiosParamCreator.registerAward(registerAwardRequestDto, options);
767
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.registerAward(idempotencyKey, registerAwardRequestDto, options);
735
768
  const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
736
769
  const localVarOperationServerBasePath = (_c = (_b = operationServerMap['PartnerV1Api.registerAward']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
737
770
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -754,32 +787,34 @@ export const PartnerV1ApiFp = function (configuration) {
754
787
  });
755
788
  },
756
789
  /**
757
- * V5 /splitInvoiceRequest 후속. scope invoices:write + Idempotency-Key.
790
+ * 세금계산서 분할 발급 청구를 기록합니다. 발급 엔진이 아니라 \"분할 발급 청구 요청을 접수\"하는 엔드포인트입니다. **V5 대응:** `splitInvoiceRequest` — BidApi.xml `splitInvoice` 액션의 V6 후속. **호출 시점:** 검수완료 후 세금계산서를 분할 발급받고자 할 때. 공급가액과 부가세를 나누어 청구합니다. **부수효과:** - 분할 발급 청구가 기록됩니다(실제 세금계산서 발급은 별도 프로세스). - 작성일자(`issueDate`)는 미래 일자 불가(I5 — V5 `PgBidApiService:220-235` 패리티). 오늘 날짜는 허용. - `issueDate` 미지정 시 backend 기본값 적용. **금액 단위:** 원(KRW) 정수. `supplyAmount`(공급가액) + `vat`(부가세) 합산이 실제 청구 총액. **필수 스코프:** `invoices:write` **멱등성:** `Idempotency-Key` 헤더 필수.
758
791
  * @summary 계산서 분할 발급 청구
792
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
759
793
  * @param {RequestSplitInvoiceRequestDto} requestSplitInvoiceRequestDto
760
794
  * @param {*} [options] Override http request option.
761
795
  * @throws {RequiredError}
762
796
  */
763
- requestSplitInvoice(requestSplitInvoiceRequestDto, options) {
797
+ requestSplitInvoice(idempotencyKey, requestSplitInvoiceRequestDto, options) {
764
798
  return __awaiter(this, void 0, void 0, function* () {
765
799
  var _a, _b, _c;
766
- const localVarAxiosArgs = yield localVarAxiosParamCreator.requestSplitInvoice(requestSplitInvoiceRequestDto, options);
800
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.requestSplitInvoice(idempotencyKey, requestSplitInvoiceRequestDto, options);
767
801
  const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
768
802
  const localVarOperationServerBasePath = (_c = (_b = operationServerMap['PartnerV1Api.requestSplitInvoice']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
769
803
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
770
804
  });
771
805
  },
772
806
  /**
773
- * 협상에의한계약(H/K) 응찰자별 기술/가격 점수 일괄 입력(V5 nego-eval 패리티). complete=true 평가완료 게이트까지 적용해 낙찰 진입 가능. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
807
+ * 협상에의한계약(낙찰방법 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` 헤더 필수.
774
808
  * @summary 협상(H/K) 점수평가
809
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
775
810
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
776
811
  * @param {*} [options] Override http request option.
777
812
  * @throws {RequiredError}
778
813
  */
779
- submitNegotiationScores(submitNegotiationScoresRequestDto, options) {
814
+ submitNegotiationScores(idempotencyKey, submitNegotiationScoresRequestDto, options) {
780
815
  return __awaiter(this, void 0, void 0, function* () {
781
816
  var _a, _b, _c;
782
- const localVarAxiosArgs = yield localVarAxiosParamCreator.submitNegotiationScores(submitNegotiationScoresRequestDto, options);
817
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.submitNegotiationScores(idempotencyKey, submitNegotiationScoresRequestDto, options);
783
818
  const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
784
819
  const localVarOperationServerBasePath = (_c = (_b = operationServerMap['PartnerV1Api.submitNegotiationScores']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
785
820
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -810,15 +845,16 @@ export const PartnerV1ApiFactory = function (configuration, basePath, axios) {
810
845
  const localVarFp = PartnerV1ApiFp(configuration);
811
846
  return {
812
847
  /**
813
- * V5 /acceptanceCompleteSend 후속. scope contracts:write + Idempotency-Key.
848
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
814
849
  * @summary 검수완료 전송
815
- * @param {string} bidId
850
+ * @param {string} bidId 공고 ID(= backend bidId = 등록 응답의 bidNo).
851
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
816
852
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
817
853
  * @param {*} [options] Override http request option.
818
854
  * @throws {RequiredError}
819
855
  */
820
- completeAcceptance(bidId, completeAcceptanceRequestDto, options) {
821
- return localVarFp.completeAcceptance(bidId, completeAcceptanceRequestDto, options).then((request) => request(axios, basePath));
856
+ completeAcceptance(bidId, idempotencyKey, completeAcceptanceRequestDto, options) {
857
+ return localVarFp.completeAcceptance(bidId, idempotencyKey, completeAcceptanceRequestDto, options).then((request) => request(axios, basePath));
822
858
  },
823
859
  /**
824
860
  * V5 /contractDocumentRec 후속. scope contracts:read.
@@ -893,14 +929,15 @@ export const PartnerV1ApiFactory = function (configuration, basePath, axios) {
893
929
  return localVarFp.healthControllerCheck(options).then((request) => request(axios, basePath));
894
930
  },
895
931
  /**
896
- * 유찰 처리(V5 yoochal 패리티). 유찰사유 코드(1~8)·상세를 받아 공고를 유찰 상태로 전환. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
932
+ * 공고를 유찰 상태로 전환합니다. **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` 헤더 필수.
897
933
  * @summary 유찰 처리
934
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
898
935
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
899
936
  * @param {*} [options] Override http request option.
900
937
  * @throws {RequiredError}
901
938
  */
902
- markBidFailed(markBidFailedRequestDto, options) {
903
- return localVarFp.markBidFailed(markBidFailedRequestDto, options).then((request) => request(axios, basePath));
939
+ markBidFailed(idempotencyKey, markBidFailedRequestDto, options) {
940
+ return localVarFp.markBidFailed(idempotencyKey, markBidFailedRequestDto, options).then((request) => request(axios, basePath));
904
941
  },
905
942
  /**
906
943
  * V5↔V6 응답 비교 불일치(verdict)를 적재한다. scope parity:write. V5 cutover 시 제거 예정(한시적 계약).
@@ -913,14 +950,15 @@ export const PartnerV1ApiFactory = function (configuration, basePath, axios) {
913
950
  return localVarFp.recordParityResult(body, options).then((request) => request(axios, basePath));
914
951
  },
915
952
  /**
916
- * 낙찰 결과 등록. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
953
+ * 낙찰 결과를 등록하고 공고를 낙찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=W, 낙찰) — BidApi.xml `selectWinner` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 낙찰(AWARDED)로 전환됩니다. - 낙찰자(공급사) 응찰행이 낙찰 처리됩니다. - 협상 방식(H/K)은 이 엔드포인트 전에 `/v1/awards/nego-eval`로 평가 완료가 필요합니다. **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
917
954
  * @summary 낙찰 결과 전송
955
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
918
956
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
919
957
  * @param {*} [options] Override http request option.
920
958
  * @throws {RequiredError}
921
959
  */
922
- registerAward(registerAwardRequestDto, options) {
923
- return localVarFp.registerAward(registerAwardRequestDto, options).then((request) => request(axios, basePath));
960
+ registerAward(idempotencyKey, registerAwardRequestDto, options) {
961
+ return localVarFp.registerAward(idempotencyKey, registerAwardRequestDto, options).then((request) => request(axios, basePath));
924
962
  },
925
963
  /**
926
964
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수.
@@ -933,24 +971,26 @@ export const PartnerV1ApiFactory = function (configuration, basePath, axios) {
933
971
  return localVarFp.registerBid(createBidRequestDto, options).then((request) => request(axios, basePath));
934
972
  },
935
973
  /**
936
- * V5 /splitInvoiceRequest 후속. scope invoices:write + Idempotency-Key.
974
+ * 세금계산서 분할 발급 청구를 기록합니다. 발급 엔진이 아니라 \"분할 발급 청구 요청을 접수\"하는 엔드포인트입니다. **V5 대응:** `splitInvoiceRequest` — BidApi.xml `splitInvoice` 액션의 V6 후속. **호출 시점:** 검수완료 후 세금계산서를 분할 발급받고자 할 때. 공급가액과 부가세를 나누어 청구합니다. **부수효과:** - 분할 발급 청구가 기록됩니다(실제 세금계산서 발급은 별도 프로세스). - 작성일자(`issueDate`)는 미래 일자 불가(I5 — V5 `PgBidApiService:220-235` 패리티). 오늘 날짜는 허용. - `issueDate` 미지정 시 backend 기본값 적용. **금액 단위:** 원(KRW) 정수. `supplyAmount`(공급가액) + `vat`(부가세) 합산이 실제 청구 총액. **필수 스코프:** `invoices:write` **멱등성:** `Idempotency-Key` 헤더 필수.
937
975
  * @summary 계산서 분할 발급 청구
976
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
938
977
  * @param {RequestSplitInvoiceRequestDto} requestSplitInvoiceRequestDto
939
978
  * @param {*} [options] Override http request option.
940
979
  * @throws {RequiredError}
941
980
  */
942
- requestSplitInvoice(requestSplitInvoiceRequestDto, options) {
943
- return localVarFp.requestSplitInvoice(requestSplitInvoiceRequestDto, options).then((request) => request(axios, basePath));
981
+ requestSplitInvoice(idempotencyKey, requestSplitInvoiceRequestDto, options) {
982
+ return localVarFp.requestSplitInvoice(idempotencyKey, requestSplitInvoiceRequestDto, options).then((request) => request(axios, basePath));
944
983
  },
945
984
  /**
946
- * 협상에의한계약(H/K) 응찰자별 기술/가격 점수 일괄 입력(V5 nego-eval 패리티). complete=true 평가완료 게이트까지 적용해 낙찰 진입 가능. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
985
+ * 협상에의한계약(낙찰방법 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` 헤더 필수.
947
986
  * @summary 협상(H/K) 점수평가
987
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
948
988
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
949
989
  * @param {*} [options] Override http request option.
950
990
  * @throws {RequiredError}
951
991
  */
952
- submitNegotiationScores(submitNegotiationScoresRequestDto, options) {
953
- return localVarFp.submitNegotiationScores(submitNegotiationScoresRequestDto, options).then((request) => request(axios, basePath));
992
+ submitNegotiationScores(idempotencyKey, submitNegotiationScoresRequestDto, options) {
993
+ return localVarFp.submitNegotiationScores(idempotencyKey, submitNegotiationScoresRequestDto, options).then((request) => request(axios, basePath));
954
994
  },
955
995
  /**
956
996
  * 스코프 `files:write` + `Idempotency-Key` 헤더 필수. base64 또는 url 중 정확히 하나를 제출한다.
@@ -969,15 +1009,16 @@ export const PartnerV1ApiFactory = function (configuration, basePath, axios) {
969
1009
  */
970
1010
  export class PartnerV1Api extends BaseAPI {
971
1011
  /**
972
- * V5 /acceptanceCompleteSend 후속. scope contracts:write + Idempotency-Key.
1012
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
973
1013
  * @summary 검수완료 전송
974
- * @param {string} bidId
1014
+ * @param {string} bidId 공고 ID(= backend bidId = 등록 응답의 bidNo).
1015
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
975
1016
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
976
1017
  * @param {*} [options] Override http request option.
977
1018
  * @throws {RequiredError}
978
1019
  */
979
- completeAcceptance(bidId, completeAcceptanceRequestDto, options) {
980
- return PartnerV1ApiFp(this.configuration).completeAcceptance(bidId, completeAcceptanceRequestDto, options).then((request) => request(this.axios, this.basePath));
1020
+ completeAcceptance(bidId, idempotencyKey, completeAcceptanceRequestDto, options) {
1021
+ return PartnerV1ApiFp(this.configuration).completeAcceptance(bidId, idempotencyKey, completeAcceptanceRequestDto, options).then((request) => request(this.axios, this.basePath));
981
1022
  }
982
1023
  /**
983
1024
  * V5 /contractDocumentRec 후속. scope contracts:read.
@@ -1052,14 +1093,15 @@ export class PartnerV1Api extends BaseAPI {
1052
1093
  return PartnerV1ApiFp(this.configuration).healthControllerCheck(options).then((request) => request(this.axios, this.basePath));
1053
1094
  }
1054
1095
  /**
1055
- * 유찰 처리(V5 yoochal 패리티). 유찰사유 코드(1~8)·상세를 받아 공고를 유찰 상태로 전환. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
1096
+ * 공고를 유찰 상태로 전환합니다. **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` 헤더 필수.
1056
1097
  * @summary 유찰 처리
1098
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1057
1099
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
1058
1100
  * @param {*} [options] Override http request option.
1059
1101
  * @throws {RequiredError}
1060
1102
  */
1061
- markBidFailed(markBidFailedRequestDto, options) {
1062
- return PartnerV1ApiFp(this.configuration).markBidFailed(markBidFailedRequestDto, options).then((request) => request(this.axios, this.basePath));
1103
+ markBidFailed(idempotencyKey, markBidFailedRequestDto, options) {
1104
+ return PartnerV1ApiFp(this.configuration).markBidFailed(idempotencyKey, markBidFailedRequestDto, options).then((request) => request(this.axios, this.basePath));
1063
1105
  }
1064
1106
  /**
1065
1107
  * V5↔V6 응답 비교 불일치(verdict)를 적재한다. scope parity:write. V5 cutover 시 제거 예정(한시적 계약).
@@ -1072,14 +1114,15 @@ export class PartnerV1Api extends BaseAPI {
1072
1114
  return PartnerV1ApiFp(this.configuration).recordParityResult(body, options).then((request) => request(this.axios, this.basePath));
1073
1115
  }
1074
1116
  /**
1075
- * 낙찰 결과 등록. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
1117
+ * 낙찰 결과를 등록하고 공고를 낙찰 상태로 전환합니다. **V5 대응:** `scsbidSend`(type=W, 낙찰) — BidApi.xml `selectWinner` 액션의 V6 후속. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고 상태가 입찰완료(마감)인 상태에서 호출해야 합니다. **부수효과:** - 공고 상태가 낙찰(AWARDED)로 전환됩니다. - 낙찰자(공급사) 응찰행이 낙찰 처리됩니다. - 협상 방식(H/K)은 이 엔드포인트 전에 `/v1/awards/nego-eval`로 평가 완료가 필요합니다. **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
1076
1118
  * @summary 낙찰 결과 전송
1119
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1077
1120
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
1078
1121
  * @param {*} [options] Override http request option.
1079
1122
  * @throws {RequiredError}
1080
1123
  */
1081
- registerAward(registerAwardRequestDto, options) {
1082
- return PartnerV1ApiFp(this.configuration).registerAward(registerAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
1124
+ registerAward(idempotencyKey, registerAwardRequestDto, options) {
1125
+ return PartnerV1ApiFp(this.configuration).registerAward(idempotencyKey, registerAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
1083
1126
  }
1084
1127
  /**
1085
1128
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수.
@@ -1092,24 +1135,26 @@ export class PartnerV1Api extends BaseAPI {
1092
1135
  return PartnerV1ApiFp(this.configuration).registerBid(createBidRequestDto, options).then((request) => request(this.axios, this.basePath));
1093
1136
  }
1094
1137
  /**
1095
- * V5 /splitInvoiceRequest 후속. scope invoices:write + Idempotency-Key.
1138
+ * 세금계산서 분할 발급 청구를 기록합니다. 발급 엔진이 아니라 \"분할 발급 청구 요청을 접수\"하는 엔드포인트입니다. **V5 대응:** `splitInvoiceRequest` — BidApi.xml `splitInvoice` 액션의 V6 후속. **호출 시점:** 검수완료 후 세금계산서를 분할 발급받고자 할 때. 공급가액과 부가세를 나누어 청구합니다. **부수효과:** - 분할 발급 청구가 기록됩니다(실제 세금계산서 발급은 별도 프로세스). - 작성일자(`issueDate`)는 미래 일자 불가(I5 — V5 `PgBidApiService:220-235` 패리티). 오늘 날짜는 허용. - `issueDate` 미지정 시 backend 기본값 적용. **금액 단위:** 원(KRW) 정수. `supplyAmount`(공급가액) + `vat`(부가세) 합산이 실제 청구 총액. **필수 스코프:** `invoices:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1096
1139
  * @summary 계산서 분할 발급 청구
1140
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1097
1141
  * @param {RequestSplitInvoiceRequestDto} requestSplitInvoiceRequestDto
1098
1142
  * @param {*} [options] Override http request option.
1099
1143
  * @throws {RequiredError}
1100
1144
  */
1101
- requestSplitInvoice(requestSplitInvoiceRequestDto, options) {
1102
- return PartnerV1ApiFp(this.configuration).requestSplitInvoice(requestSplitInvoiceRequestDto, options).then((request) => request(this.axios, this.basePath));
1145
+ requestSplitInvoice(idempotencyKey, requestSplitInvoiceRequestDto, options) {
1146
+ return PartnerV1ApiFp(this.configuration).requestSplitInvoice(idempotencyKey, requestSplitInvoiceRequestDto, options).then((request) => request(this.axios, this.basePath));
1103
1147
  }
1104
1148
  /**
1105
- * 협상에의한계약(H/K) 응찰자별 기술/가격 점수 일괄 입력(V5 nego-eval 패리티). complete=true 평가완료 게이트까지 적용해 낙찰 진입 가능. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수.
1149
+ * 협상에의한계약(낙찰방법 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` 헤더 필수.
1106
1150
  * @summary 협상(H/K) 점수평가
1151
+ * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
1107
1152
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
1108
1153
  * @param {*} [options] Override http request option.
1109
1154
  * @throws {RequiredError}
1110
1155
  */
1111
- submitNegotiationScores(submitNegotiationScoresRequestDto, options) {
1112
- return PartnerV1ApiFp(this.configuration).submitNegotiationScores(submitNegotiationScoresRequestDto, options).then((request) => request(this.axios, this.basePath));
1156
+ submitNegotiationScores(idempotencyKey, submitNegotiationScoresRequestDto, options) {
1157
+ return PartnerV1ApiFp(this.configuration).submitNegotiationScores(idempotencyKey, submitNegotiationScoresRequestDto, options).then((request) => request(this.axios, this.basePath));
1113
1158
  }
1114
1159
  /**
1115
1160
  * 스코프 `files:write` + `Idempotency-Key` 헤더 필수. base64 또는 url 중 정확히 하나를 제출한다.
@@ -11,15 +11,15 @@
11
11
  */
12
12
  export interface BidDocumentDto {
13
13
  /**
14
- * 서류 코드(paperCode).
14
+ * 서류 코드(paperCode). 생략 시 backend 가 paperName 으로 해소.
15
15
  */
16
- 'paperCode': number;
16
+ 'paperCode'?: number;
17
17
  /**
18
18
  * 서류명.
19
19
  */
20
20
  'paperName': string;
21
21
  /**
22
- * 자동생성 여부.
22
+ * 자동생성 여부. 생략 시 backend 가 paper master 기준으로 파생.
23
23
  */
24
- 'isAutoGenerated': boolean;
24
+ 'isAutoGenerated'?: boolean;
25
25
  }
@@ -29,6 +29,7 @@ export * from './mark-bid-failed-request-dto';
29
29
  export * from './negotiation-score-dto';
30
30
  export * from './negotiation-scored-response-dto';
31
31
  export * from './preconditions-dto';
32
+ export * from './problem-details-dto';
32
33
  export * from './register-award-request-dto';
33
34
  export * from './request-split-invoice-request-dto';
34
35
  export * from './split-invoice-response-dto';
@@ -29,6 +29,7 @@ export * from './mark-bid-failed-request-dto';
29
29
  export * from './negotiation-score-dto';
30
30
  export * from './negotiation-scored-response-dto';
31
31
  export * from './preconditions-dto';
32
+ export * from './problem-details-dto';
32
33
  export * from './register-award-request-dto';
33
34
  export * from './request-split-invoice-request-dto';
34
35
  export * from './split-invoice-response-dto';
@@ -0,0 +1,33 @@
1
+ /**
2
+ * CMARKET V6 Partner API
3
+ * 외부 ERP 연동용 RESTful API.
4
+ *
5
+ * The version of the OpenAPI document: 1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ export interface ProblemDetailsDto {
13
+ /**
14
+ * RFC 9457 에러 식별 URI. SDK 분기 키.
15
+ */
16
+ 'type': string;
17
+ /**
18
+ * 에러 제목(human-readable 요약).
19
+ */
20
+ 'title': string;
21
+ /**
22
+ * HTTP 상태 코드.
23
+ */
24
+ 'status': number;
25
+ /**
26
+ * 에러 상세 설명(human-readable). ValidationPipe 오류 시 세미콜론 구분 목록.
27
+ */
28
+ 'detail': string;
29
+ /**
30
+ * 요청 경로(에러 발생 URI).
31
+ */
32
+ 'instance'?: string;
33
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * CMARKET V6 Partner API
5
+ * 외부 ERP 연동용 RESTful API.
6
+ *
7
+ * The version of the OpenAPI document: 1.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -11,15 +11,15 @@
11
11
  */
12
12
  export interface BidDocumentDto {
13
13
  /**
14
- * 서류 코드(paperCode).
14
+ * 서류 코드(paperCode). 생략 시 backend 가 paperName 으로 해소.
15
15
  */
16
- 'paperCode': number;
16
+ 'paperCode'?: number;
17
17
  /**
18
18
  * 서류명.
19
19
  */
20
20
  'paperName': string;
21
21
  /**
22
- * 자동생성 여부.
22
+ * 자동생성 여부. 생략 시 backend 가 paper master 기준으로 파생.
23
23
  */
24
- 'isAutoGenerated': boolean;
24
+ 'isAutoGenerated'?: boolean;
25
25
  }
@@ -29,6 +29,7 @@ export * from './mark-bid-failed-request-dto';
29
29
  export * from './negotiation-score-dto';
30
30
  export * from './negotiation-scored-response-dto';
31
31
  export * from './preconditions-dto';
32
+ export * from './problem-details-dto';
32
33
  export * from './register-award-request-dto';
33
34
  export * from './request-split-invoice-request-dto';
34
35
  export * from './split-invoice-response-dto';
@@ -45,6 +45,7 @@ __exportStar(require("./mark-bid-failed-request-dto"), exports);
45
45
  __exportStar(require("./negotiation-score-dto"), exports);
46
46
  __exportStar(require("./negotiation-scored-response-dto"), exports);
47
47
  __exportStar(require("./preconditions-dto"), exports);
48
+ __exportStar(require("./problem-details-dto"), exports);
48
49
  __exportStar(require("./register-award-request-dto"), exports);
49
50
  __exportStar(require("./request-split-invoice-request-dto"), exports);
50
51
  __exportStar(require("./split-invoice-response-dto"), exports);