@cmarket/partner-sdk 36.1.0 → 36.1.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.
Files changed (629) hide show
  1. package/README.md +4 -4
  2. package/api/oauth-api.ts +1 -1
  3. package/api/partner-api-api.ts +69 -78
  4. package/api/products-api.ts +5 -5
  5. package/api/well-known-api.ts +1 -1
  6. package/api.ts +1 -1
  7. package/base.ts +1 -1
  8. package/common.ts +1 -1
  9. package/configuration.ts +1 -1
  10. package/dist/api/oauth-api.d.ts +1 -1
  11. package/dist/api/oauth-api.js +1 -1
  12. package/dist/api/partner-api-api.d.ts +65 -69
  13. package/dist/api/partner-api-api.js +69 -78
  14. package/dist/api/products-api.d.ts +5 -5
  15. package/dist/api/products-api.js +5 -5
  16. package/dist/api/well-known-api.d.ts +1 -1
  17. package/dist/api/well-known-api.js +1 -1
  18. package/dist/api.d.ts +1 -1
  19. package/dist/api.js +1 -1
  20. package/dist/base.d.ts +1 -1
  21. package/dist/base.js +1 -1
  22. package/dist/common.d.ts +1 -1
  23. package/dist/common.js +1 -1
  24. package/dist/configuration.d.ts +1 -1
  25. package/dist/configuration.js +1 -1
  26. package/dist/esm/api/oauth-api.d.ts +1 -1
  27. package/dist/esm/api/oauth-api.js +1 -1
  28. package/dist/esm/api/partner-api-api.d.ts +65 -69
  29. package/dist/esm/api/partner-api-api.js +69 -78
  30. package/dist/esm/api/products-api.d.ts +5 -5
  31. package/dist/esm/api/products-api.js +5 -5
  32. package/dist/esm/api/well-known-api.d.ts +1 -1
  33. package/dist/esm/api/well-known-api.js +1 -1
  34. package/dist/esm/api.d.ts +1 -1
  35. package/dist/esm/api.js +1 -1
  36. package/dist/esm/base.d.ts +1 -1
  37. package/dist/esm/base.js +1 -1
  38. package/dist/esm/common.d.ts +1 -1
  39. package/dist/esm/common.js +1 -1
  40. package/dist/esm/configuration.d.ts +1 -1
  41. package/dist/esm/configuration.js +1 -1
  42. package/dist/esm/index.d.ts +1 -1
  43. package/dist/esm/index.js +1 -1
  44. package/dist/esm/models/acceptance-result-response-dto.d.ts +1 -1
  45. package/dist/esm/models/acceptance-result-response-dto.js +1 -1
  46. package/dist/esm/models/acknowledge-product-receipt200-response.d.ts +1 -1
  47. package/dist/esm/models/acknowledge-product-receipt200-response.js +1 -1
  48. package/dist/esm/models/acknowledge-products-request-dto.d.ts +1 -1
  49. package/dist/esm/models/acknowledge-products-request-dto.js +1 -1
  50. package/dist/esm/models/api-catalog-dto.d.ts +1 -1
  51. package/dist/esm/models/api-catalog-dto.js +1 -1
  52. package/dist/esm/models/api-catalog-entry-dto.d.ts +1 -1
  53. package/dist/esm/models/api-catalog-entry-dto.js +1 -1
  54. package/dist/esm/models/api-catalog-link-dto.d.ts +1 -1
  55. package/dist/esm/models/api-catalog-link-dto.js +1 -1
  56. package/dist/esm/models/authorization-server-metadata-dto.d.ts +1 -1
  57. package/dist/esm/models/authorization-server-metadata-dto.js +1 -1
  58. package/dist/esm/models/award-method-public.d.ts +1 -1
  59. package/dist/esm/models/award-method-public.js +1 -1
  60. package/dist/esm/models/award-registered-v2-response-dto.d.ts +1 -1
  61. package/dist/esm/models/award-registered-v2-response-dto.js +1 -1
  62. package/dist/esm/models/award-reverted-v2-response-dto.d.ts +1 -1
  63. package/dist/esm/models/award-reverted-v2-response-dto.js +1 -1
  64. package/dist/esm/models/bid-acceptance-dto.d.ts +1 -1
  65. package/dist/esm/models/bid-acceptance-dto.js +1 -1
  66. package/dist/esm/models/bid-bond-dto.d.ts +1 -1
  67. package/dist/esm/models/bid-bond-dto.js +1 -1
  68. package/dist/esm/models/bid-cancelled-response-dto.d.ts +1 -1
  69. package/dist/esm/models/bid-cancelled-response-dto.js +1 -1
  70. package/dist/esm/models/bid-contact-dto.d.ts +1 -1
  71. package/dist/esm/models/bid-contact-dto.js +1 -1
  72. package/dist/esm/models/bid-contacts-dto.d.ts +1 -1
  73. package/dist/esm/models/bid-contacts-dto.js +1 -1
  74. package/dist/esm/models/bid-contract-document-dto.d.ts +1 -1
  75. package/dist/esm/models/bid-contract-document-dto.js +1 -1
  76. package/dist/esm/models/bid-delivery-terms-dto.d.ts +1 -1
  77. package/dist/esm/models/bid-delivery-terms-dto.js +1 -1
  78. package/dist/esm/models/bid-detail-response-dto.d.ts +1 -1
  79. package/dist/esm/models/bid-detail-response-dto.js +1 -1
  80. package/dist/esm/models/bid-document-dto.d.ts +1 -1
  81. package/dist/esm/models/bid-document-dto.js +1 -1
  82. package/dist/esm/models/bid-failed-v2-response-dto.d.ts +1 -1
  83. package/dist/esm/models/bid-failed-v2-response-dto.js +1 -1
  84. package/dist/esm/models/bid-item-dto.d.ts +1 -1
  85. package/dist/esm/models/bid-item-dto.js +1 -1
  86. package/dist/esm/models/bid-lifecycle-dto.d.ts +1 -1
  87. package/dist/esm/models/bid-lifecycle-dto.js +1 -1
  88. package/dist/esm/models/bid-manager-dto.d.ts +1 -1
  89. package/dist/esm/models/bid-manager-dto.js +1 -1
  90. package/dist/esm/models/bid-payment-terms-dto.d.ts +1 -1
  91. package/dist/esm/models/bid-payment-terms-dto.js +1 -1
  92. package/dist/esm/models/bid-product-dto.d.ts +1 -1
  93. package/dist/esm/models/bid-product-dto.js +1 -1
  94. package/dist/esm/models/bid-public-status.d.ts +1 -1
  95. package/dist/esm/models/bid-public-status.js +1 -1
  96. package/dist/esm/models/bid-registered-response-dto.d.ts +1 -1
  97. package/dist/esm/models/bid-registered-response-dto.js +1 -1
  98. package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +1 -1
  99. package/dist/esm/models/bid-result-participant-attachment-dto.js +1 -1
  100. package/dist/esm/models/bid-result-participant-dto.d.ts +1 -1
  101. package/dist/esm/models/bid-result-participant-dto.js +1 -1
  102. package/dist/esm/models/bid-results-response-dto.d.ts +1 -1
  103. package/dist/esm/models/bid-results-response-dto.js +1 -1
  104. package/dist/esm/models/bid-settlement-line-item-dto.d.ts +1 -1
  105. package/dist/esm/models/bid-settlement-line-item-dto.js +1 -1
  106. package/dist/esm/models/bid-settlement-participant-dto.d.ts +1 -1
  107. package/dist/esm/models/bid-settlement-participant-dto.js +1 -1
  108. package/dist/esm/models/bid-settlement-response-dto.d.ts +1 -1
  109. package/dist/esm/models/bid-settlement-response-dto.js +1 -1
  110. package/dist/esm/models/bid-statement-response-dto.d.ts +1 -1
  111. package/dist/esm/models/bid-statement-response-dto.js +1 -1
  112. package/dist/esm/models/bid-summary-dto.d.ts +1 -1
  113. package/dist/esm/models/bid-summary-dto.js +1 -1
  114. package/dist/esm/models/bid-type-public.d.ts +1 -1
  115. package/dist/esm/models/bid-type-public.js +1 -1
  116. package/dist/esm/models/bid-updated-response-dto.d.ts +1 -1
  117. package/dist/esm/models/bid-updated-response-dto.js +1 -1
  118. package/dist/esm/models/cancel-bid-request-dto.d.ts +1 -1
  119. package/dist/esm/models/cancel-bid-request-dto.js +1 -1
  120. package/dist/esm/models/cancel-bid200-response.d.ts +1 -1
  121. package/dist/esm/models/cancel-bid200-response.js +1 -1
  122. package/dist/esm/models/card-payment-request-response-dto.d.ts +1 -1
  123. package/dist/esm/models/card-payment-request-response-dto.js +1 -1
  124. package/dist/esm/models/complete-acceptance-request-dto.d.ts +1 -1
  125. package/dist/esm/models/complete-acceptance-request-dto.js +1 -1
  126. package/dist/esm/models/complete-acceptance200-response.d.ts +1 -1
  127. package/dist/esm/models/complete-acceptance200-response.js +1 -1
  128. package/dist/esm/models/complete-invoice200-response.d.ts +1 -1
  129. package/dist/esm/models/complete-invoice200-response.js +1 -1
  130. package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  131. package/dist/esm/models/contract-restriction-confirm-input-dto.js +1 -1
  132. package/dist/esm/models/create-bid-request-dto.d.ts +1 -1
  133. package/dist/esm/models/create-bid-request-dto.js +1 -1
  134. package/dist/esm/models/create-card-payment-dto.d.ts +1 -1
  135. package/dist/esm/models/create-card-payment-dto.js +1 -1
  136. package/dist/esm/models/create-card-payment-request-dto.d.ts +1 -1
  137. package/dist/esm/models/create-card-payment-request-dto.js +1 -1
  138. package/dist/esm/models/create-card-payment200-response.d.ts +1 -1
  139. package/dist/esm/models/create-card-payment200-response.js +1 -1
  140. package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +1 -1
  141. package/dist/esm/models/create-external-contract-documents-request-dto.js +1 -1
  142. package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +1 -1
  143. package/dist/esm/models/create-external-contract-documents-response-dto.js +1 -1
  144. package/dist/esm/models/delivery-date-type-public.d.ts +1 -1
  145. package/dist/esm/models/delivery-date-type-public.js +1 -1
  146. package/dist/esm/models/delivery-method-public.d.ts +1 -1
  147. package/dist/esm/models/delivery-method-public.js +1 -1
  148. package/dist/esm/models/excellent-procurement-public.d.ts +1 -1
  149. package/dist/esm/models/excellent-procurement-public.js +1 -1
  150. package/dist/esm/models/external-contract-document-item-dto.d.ts +1 -1
  151. package/dist/esm/models/external-contract-document-item-dto.js +1 -1
  152. package/dist/esm/models/external-contract-documents-response-dto.d.ts +1 -1
  153. package/dist/esm/models/external-contract-documents-response-dto.js +1 -1
  154. package/dist/esm/models/external-contract-item-dto.d.ts +1 -1
  155. package/dist/esm/models/external-contract-item-dto.js +1 -1
  156. package/dist/esm/models/external-contract-snapshot-dto.d.ts +1 -1
  157. package/dist/esm/models/external-contract-snapshot-dto.js +1 -1
  158. package/dist/esm/models/external-document-inputs-dto.d.ts +1 -1
  159. package/dist/esm/models/external-document-inputs-dto.js +1 -1
  160. package/dist/esm/models/file-meta-response-dto.d.ts +1 -1
  161. package/dist/esm/models/file-meta-response-dto.js +1 -1
  162. package/dist/esm/models/file-uploaded-response-dto.d.ts +1 -1
  163. package/dist/esm/models/file-uploaded-response-dto.js +1 -1
  164. package/dist/esm/models/generated-external-contract-document-dto.d.ts +1 -1
  165. package/dist/esm/models/generated-external-contract-document-dto.js +1 -1
  166. package/dist/esm/models/get-bid-settlement200-response.d.ts +1 -1
  167. package/dist/esm/models/get-bid-settlement200-response.js +1 -1
  168. package/dist/esm/models/get-bid-statement200-response.d.ts +1 -1
  169. package/dist/esm/models/get-bid-statement200-response.js +1 -1
  170. package/dist/esm/models/get-bid200-response.d.ts +1 -1
  171. package/dist/esm/models/get-bid200-response.js +1 -1
  172. package/dist/esm/models/get-file-meta200-response.d.ts +1 -1
  173. package/dist/esm/models/get-file-meta200-response.js +1 -1
  174. package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
  175. package/dist/esm/models/get-supplier-card-payable-v2200-response.js +1 -1
  176. package/dist/esm/models/green-product-public.d.ts +1 -1
  177. package/dist/esm/models/green-product-public.js +1 -1
  178. package/dist/esm/models/health-controller-check200-response.d.ts +1 -1
  179. package/dist/esm/models/health-controller-check200-response.js +1 -1
  180. package/dist/esm/models/health-response-dto.d.ts +1 -1
  181. package/dist/esm/models/health-response-dto.js +1 -1
  182. package/dist/esm/models/hierarchical-region-dto.d.ts +1 -1
  183. package/dist/esm/models/hierarchical-region-dto.js +1 -1
  184. package/dist/esm/models/introspect-request-dto.d.ts +1 -1
  185. package/dist/esm/models/introspect-request-dto.js +1 -1
  186. package/dist/esm/models/introspection-response-dto.d.ts +1 -1
  187. package/dist/esm/models/introspection-response-dto.js +1 -1
  188. package/dist/esm/models/invalid-param-dto.d.ts +1 -1
  189. package/dist/esm/models/invalid-param-dto.js +1 -1
  190. package/dist/esm/models/invoice-completed-response-dto.d.ts +1 -1
  191. package/dist/esm/models/invoice-completed-response-dto.js +1 -1
  192. package/dist/esm/models/invoice-split-response-dto.d.ts +1 -1
  193. package/dist/esm/models/invoice-split-response-dto.js +1 -1
  194. package/dist/esm/models/legal-mandatory-public.d.ts +1 -1
  195. package/dist/esm/models/legal-mandatory-public.js +1 -1
  196. package/dist/esm/models/list-bid-results200-response.d.ts +1 -1
  197. package/dist/esm/models/list-bid-results200-response.js +1 -1
  198. package/dist/esm/models/list-bids-response-dto.d.ts +1 -1
  199. package/dist/esm/models/list-bids-response-dto.js +1 -1
  200. package/dist/esm/models/list-bids200-response.d.ts +1 -1
  201. package/dist/esm/models/list-bids200-response.js +1 -1
  202. package/dist/esm/models/list-products200-response.d.ts +1 -1
  203. package/dist/esm/models/list-products200-response.js +1 -1
  204. package/dist/esm/models/mark-bid-failed-request-dto.d.ts +1 -1
  205. package/dist/esm/models/mark-bid-failed-request-dto.js +1 -1
  206. package/dist/esm/models/mark-bid-failed201-response.d.ts +1 -1
  207. package/dist/esm/models/mark-bid-failed201-response.js +1 -1
  208. package/dist/esm/models/negotiation-score-dto.d.ts +1 -1
  209. package/dist/esm/models/negotiation-score-dto.js +1 -1
  210. package/dist/esm/models/negotiation-scored-v2-response-dto.d.ts +1 -1
  211. package/dist/esm/models/negotiation-scored-v2-response-dto.js +1 -1
  212. package/dist/esm/models/oauth-error-response-dto.d.ts +1 -1
  213. package/dist/esm/models/oauth-error-response-dto.js +1 -1
  214. package/dist/esm/models/payment-method-public.d.ts +1 -1
  215. package/dist/esm/models/payment-method-public.js +1 -1
  216. package/dist/esm/models/preconditions-dto.d.ts +1 -1
  217. package/dist/esm/models/preconditions-dto.js +1 -1
  218. package/dist/esm/models/problem-details-dto.d.ts +1 -1
  219. package/dist/esm/models/problem-details-dto.js +1 -1
  220. package/dist/esm/models/product-receipt-response-dto.d.ts +1 -1
  221. package/dist/esm/models/product-receipt-response-dto.js +1 -1
  222. package/dist/esm/models/product-response-dto.d.ts +1 -1
  223. package/dist/esm/models/product-response-dto.js +1 -1
  224. package/dist/esm/models/protected-resource-metadata-dto.d.ts +1 -1
  225. package/dist/esm/models/protected-resource-metadata-dto.js +1 -1
  226. package/dist/esm/models/register-award-request-dto.d.ts +1 -1
  227. package/dist/esm/models/register-award-request-dto.js +1 -1
  228. package/dist/esm/models/register-award201-response.d.ts +1 -1
  229. package/dist/esm/models/register-award201-response.js +1 -1
  230. package/dist/esm/models/register-bid201-response.d.ts +1 -1
  231. package/dist/esm/models/register-bid201-response.js +1 -1
  232. package/dist/esm/models/register-semo-contract-request-dto.d.ts +1 -1
  233. package/dist/esm/models/register-semo-contract-request-dto.js +1 -1
  234. package/dist/esm/models/request-invoice-split-request-dto.d.ts +1 -1
  235. package/dist/esm/models/request-invoice-split-request-dto.js +1 -1
  236. package/dist/esm/models/request-invoice-split200-response.d.ts +1 -1
  237. package/dist/esm/models/request-invoice-split200-response.js +1 -1
  238. package/dist/esm/models/retiree-roster-input-dto.d.ts +1 -1
  239. package/dist/esm/models/retiree-roster-input-dto.js +1 -1
  240. package/dist/esm/models/retiree-roster-row-dto.d.ts +1 -1
  241. package/dist/esm/models/retiree-roster-row-dto.js +1 -1
  242. package/dist/esm/models/revert-award-request-dto.d.ts +1 -1
  243. package/dist/esm/models/revert-award-request-dto.js +1 -1
  244. package/dist/esm/models/revert-award200-response.d.ts +1 -1
  245. package/dist/esm/models/revert-award200-response.js +1 -1
  246. package/dist/esm/models/revoke-request-dto.d.ts +1 -1
  247. package/dist/esm/models/revoke-request-dto.js +1 -1
  248. package/dist/esm/models/semo-contract-registered-response-dto.d.ts +1 -1
  249. package/dist/esm/models/semo-contract-registered-response-dto.js +1 -1
  250. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  251. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  252. package/dist/esm/models/statement-document-dto.d.ts +1 -1
  253. package/dist/esm/models/statement-document-dto.js +1 -1
  254. package/dist/esm/models/statement-product-dto.d.ts +1 -1
  255. package/dist/esm/models/statement-product-dto.js +1 -1
  256. package/dist/esm/models/submit-negotiation-scores-request-dto.d.ts +1 -1
  257. package/dist/esm/models/submit-negotiation-scores-request-dto.js +1 -1
  258. package/dist/esm/models/submit-negotiation-scores201-response.d.ts +1 -1
  259. package/dist/esm/models/submit-negotiation-scores201-response.js +1 -1
  260. package/dist/esm/models/supplier-card-payable-response-dto.d.ts +1 -1
  261. package/dist/esm/models/supplier-card-payable-response-dto.js +1 -1
  262. package/dist/esm/models/supplier-tax-type.d.ts +1 -1
  263. package/dist/esm/models/supplier-tax-type.js +1 -1
  264. package/dist/esm/models/token-request-dto.d.ts +1 -1
  265. package/dist/esm/models/token-request-dto.js +1 -1
  266. package/dist/esm/models/token-response-dto.d.ts +1 -1
  267. package/dist/esm/models/token-response-dto.js +1 -1
  268. package/dist/esm/models/update-bid-request-dto.d.ts +1 -1
  269. package/dist/esm/models/update-bid-request-dto.js +1 -1
  270. package/dist/esm/models/update-bid200-response.d.ts +1 -1
  271. package/dist/esm/models/update-bid200-response.js +1 -1
  272. package/dist/esm/models/upload-file-request-dto.d.ts +1 -1
  273. package/dist/esm/models/upload-file-request-dto.js +1 -1
  274. package/dist/esm/models/upload-file201-response.d.ts +1 -1
  275. package/dist/esm/models/upload-file201-response.js +1 -1
  276. package/dist/index.d.ts +1 -1
  277. package/dist/index.js +1 -1
  278. package/dist/models/acceptance-result-response-dto.d.ts +1 -1
  279. package/dist/models/acceptance-result-response-dto.js +1 -1
  280. package/dist/models/acknowledge-product-receipt200-response.d.ts +1 -1
  281. package/dist/models/acknowledge-product-receipt200-response.js +1 -1
  282. package/dist/models/acknowledge-products-request-dto.d.ts +1 -1
  283. package/dist/models/acknowledge-products-request-dto.js +1 -1
  284. package/dist/models/api-catalog-dto.d.ts +1 -1
  285. package/dist/models/api-catalog-dto.js +1 -1
  286. package/dist/models/api-catalog-entry-dto.d.ts +1 -1
  287. package/dist/models/api-catalog-entry-dto.js +1 -1
  288. package/dist/models/api-catalog-link-dto.d.ts +1 -1
  289. package/dist/models/api-catalog-link-dto.js +1 -1
  290. package/dist/models/authorization-server-metadata-dto.d.ts +1 -1
  291. package/dist/models/authorization-server-metadata-dto.js +1 -1
  292. package/dist/models/award-method-public.d.ts +1 -1
  293. package/dist/models/award-method-public.js +1 -1
  294. package/dist/models/award-registered-v2-response-dto.d.ts +1 -1
  295. package/dist/models/award-registered-v2-response-dto.js +1 -1
  296. package/dist/models/award-reverted-v2-response-dto.d.ts +1 -1
  297. package/dist/models/award-reverted-v2-response-dto.js +1 -1
  298. package/dist/models/bid-acceptance-dto.d.ts +1 -1
  299. package/dist/models/bid-acceptance-dto.js +1 -1
  300. package/dist/models/bid-bond-dto.d.ts +1 -1
  301. package/dist/models/bid-bond-dto.js +1 -1
  302. package/dist/models/bid-cancelled-response-dto.d.ts +1 -1
  303. package/dist/models/bid-cancelled-response-dto.js +1 -1
  304. package/dist/models/bid-contact-dto.d.ts +1 -1
  305. package/dist/models/bid-contact-dto.js +1 -1
  306. package/dist/models/bid-contacts-dto.d.ts +1 -1
  307. package/dist/models/bid-contacts-dto.js +1 -1
  308. package/dist/models/bid-contract-document-dto.d.ts +1 -1
  309. package/dist/models/bid-contract-document-dto.js +1 -1
  310. package/dist/models/bid-delivery-terms-dto.d.ts +1 -1
  311. package/dist/models/bid-delivery-terms-dto.js +1 -1
  312. package/dist/models/bid-detail-response-dto.d.ts +1 -1
  313. package/dist/models/bid-detail-response-dto.js +1 -1
  314. package/dist/models/bid-document-dto.d.ts +1 -1
  315. package/dist/models/bid-document-dto.js +1 -1
  316. package/dist/models/bid-failed-v2-response-dto.d.ts +1 -1
  317. package/dist/models/bid-failed-v2-response-dto.js +1 -1
  318. package/dist/models/bid-item-dto.d.ts +1 -1
  319. package/dist/models/bid-item-dto.js +1 -1
  320. package/dist/models/bid-lifecycle-dto.d.ts +1 -1
  321. package/dist/models/bid-lifecycle-dto.js +1 -1
  322. package/dist/models/bid-manager-dto.d.ts +1 -1
  323. package/dist/models/bid-manager-dto.js +1 -1
  324. package/dist/models/bid-payment-terms-dto.d.ts +1 -1
  325. package/dist/models/bid-payment-terms-dto.js +1 -1
  326. package/dist/models/bid-product-dto.d.ts +1 -1
  327. package/dist/models/bid-product-dto.js +1 -1
  328. package/dist/models/bid-public-status.d.ts +1 -1
  329. package/dist/models/bid-public-status.js +1 -1
  330. package/dist/models/bid-registered-response-dto.d.ts +1 -1
  331. package/dist/models/bid-registered-response-dto.js +1 -1
  332. package/dist/models/bid-result-participant-attachment-dto.d.ts +1 -1
  333. package/dist/models/bid-result-participant-attachment-dto.js +1 -1
  334. package/dist/models/bid-result-participant-dto.d.ts +1 -1
  335. package/dist/models/bid-result-participant-dto.js +1 -1
  336. package/dist/models/bid-results-response-dto.d.ts +1 -1
  337. package/dist/models/bid-results-response-dto.js +1 -1
  338. package/dist/models/bid-settlement-line-item-dto.d.ts +1 -1
  339. package/dist/models/bid-settlement-line-item-dto.js +1 -1
  340. package/dist/models/bid-settlement-participant-dto.d.ts +1 -1
  341. package/dist/models/bid-settlement-participant-dto.js +1 -1
  342. package/dist/models/bid-settlement-response-dto.d.ts +1 -1
  343. package/dist/models/bid-settlement-response-dto.js +1 -1
  344. package/dist/models/bid-statement-response-dto.d.ts +1 -1
  345. package/dist/models/bid-statement-response-dto.js +1 -1
  346. package/dist/models/bid-summary-dto.d.ts +1 -1
  347. package/dist/models/bid-summary-dto.js +1 -1
  348. package/dist/models/bid-type-public.d.ts +1 -1
  349. package/dist/models/bid-type-public.js +1 -1
  350. package/dist/models/bid-updated-response-dto.d.ts +1 -1
  351. package/dist/models/bid-updated-response-dto.js +1 -1
  352. package/dist/models/cancel-bid-request-dto.d.ts +1 -1
  353. package/dist/models/cancel-bid-request-dto.js +1 -1
  354. package/dist/models/cancel-bid200-response.d.ts +1 -1
  355. package/dist/models/cancel-bid200-response.js +1 -1
  356. package/dist/models/card-payment-request-response-dto.d.ts +1 -1
  357. package/dist/models/card-payment-request-response-dto.js +1 -1
  358. package/dist/models/complete-acceptance-request-dto.d.ts +1 -1
  359. package/dist/models/complete-acceptance-request-dto.js +1 -1
  360. package/dist/models/complete-acceptance200-response.d.ts +1 -1
  361. package/dist/models/complete-acceptance200-response.js +1 -1
  362. package/dist/models/complete-invoice200-response.d.ts +1 -1
  363. package/dist/models/complete-invoice200-response.js +1 -1
  364. package/dist/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  365. package/dist/models/contract-restriction-confirm-input-dto.js +1 -1
  366. package/dist/models/create-bid-request-dto.d.ts +1 -1
  367. package/dist/models/create-bid-request-dto.js +1 -1
  368. package/dist/models/create-card-payment-dto.d.ts +1 -1
  369. package/dist/models/create-card-payment-dto.js +1 -1
  370. package/dist/models/create-card-payment-request-dto.d.ts +1 -1
  371. package/dist/models/create-card-payment-request-dto.js +1 -1
  372. package/dist/models/create-card-payment200-response.d.ts +1 -1
  373. package/dist/models/create-card-payment200-response.js +1 -1
  374. package/dist/models/create-external-contract-documents-request-dto.d.ts +1 -1
  375. package/dist/models/create-external-contract-documents-request-dto.js +1 -1
  376. package/dist/models/create-external-contract-documents-response-dto.d.ts +1 -1
  377. package/dist/models/create-external-contract-documents-response-dto.js +1 -1
  378. package/dist/models/delivery-date-type-public.d.ts +1 -1
  379. package/dist/models/delivery-date-type-public.js +1 -1
  380. package/dist/models/delivery-method-public.d.ts +1 -1
  381. package/dist/models/delivery-method-public.js +1 -1
  382. package/dist/models/excellent-procurement-public.d.ts +1 -1
  383. package/dist/models/excellent-procurement-public.js +1 -1
  384. package/dist/models/external-contract-document-item-dto.d.ts +1 -1
  385. package/dist/models/external-contract-document-item-dto.js +1 -1
  386. package/dist/models/external-contract-documents-response-dto.d.ts +1 -1
  387. package/dist/models/external-contract-documents-response-dto.js +1 -1
  388. package/dist/models/external-contract-item-dto.d.ts +1 -1
  389. package/dist/models/external-contract-item-dto.js +1 -1
  390. package/dist/models/external-contract-snapshot-dto.d.ts +1 -1
  391. package/dist/models/external-contract-snapshot-dto.js +1 -1
  392. package/dist/models/external-document-inputs-dto.d.ts +1 -1
  393. package/dist/models/external-document-inputs-dto.js +1 -1
  394. package/dist/models/file-meta-response-dto.d.ts +1 -1
  395. package/dist/models/file-meta-response-dto.js +1 -1
  396. package/dist/models/file-uploaded-response-dto.d.ts +1 -1
  397. package/dist/models/file-uploaded-response-dto.js +1 -1
  398. package/dist/models/generated-external-contract-document-dto.d.ts +1 -1
  399. package/dist/models/generated-external-contract-document-dto.js +1 -1
  400. package/dist/models/get-bid-settlement200-response.d.ts +1 -1
  401. package/dist/models/get-bid-settlement200-response.js +1 -1
  402. package/dist/models/get-bid-statement200-response.d.ts +1 -1
  403. package/dist/models/get-bid-statement200-response.js +1 -1
  404. package/dist/models/get-bid200-response.d.ts +1 -1
  405. package/dist/models/get-bid200-response.js +1 -1
  406. package/dist/models/get-file-meta200-response.d.ts +1 -1
  407. package/dist/models/get-file-meta200-response.js +1 -1
  408. package/dist/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
  409. package/dist/models/get-supplier-card-payable-v2200-response.js +1 -1
  410. package/dist/models/green-product-public.d.ts +1 -1
  411. package/dist/models/green-product-public.js +1 -1
  412. package/dist/models/health-controller-check200-response.d.ts +1 -1
  413. package/dist/models/health-controller-check200-response.js +1 -1
  414. package/dist/models/health-response-dto.d.ts +1 -1
  415. package/dist/models/health-response-dto.js +1 -1
  416. package/dist/models/hierarchical-region-dto.d.ts +1 -1
  417. package/dist/models/hierarchical-region-dto.js +1 -1
  418. package/dist/models/introspect-request-dto.d.ts +1 -1
  419. package/dist/models/introspect-request-dto.js +1 -1
  420. package/dist/models/introspection-response-dto.d.ts +1 -1
  421. package/dist/models/introspection-response-dto.js +1 -1
  422. package/dist/models/invalid-param-dto.d.ts +1 -1
  423. package/dist/models/invalid-param-dto.js +1 -1
  424. package/dist/models/invoice-completed-response-dto.d.ts +1 -1
  425. package/dist/models/invoice-completed-response-dto.js +1 -1
  426. package/dist/models/invoice-split-response-dto.d.ts +1 -1
  427. package/dist/models/invoice-split-response-dto.js +1 -1
  428. package/dist/models/legal-mandatory-public.d.ts +1 -1
  429. package/dist/models/legal-mandatory-public.js +1 -1
  430. package/dist/models/list-bid-results200-response.d.ts +1 -1
  431. package/dist/models/list-bid-results200-response.js +1 -1
  432. package/dist/models/list-bids-response-dto.d.ts +1 -1
  433. package/dist/models/list-bids-response-dto.js +1 -1
  434. package/dist/models/list-bids200-response.d.ts +1 -1
  435. package/dist/models/list-bids200-response.js +1 -1
  436. package/dist/models/list-products200-response.d.ts +1 -1
  437. package/dist/models/list-products200-response.js +1 -1
  438. package/dist/models/mark-bid-failed-request-dto.d.ts +1 -1
  439. package/dist/models/mark-bid-failed-request-dto.js +1 -1
  440. package/dist/models/mark-bid-failed201-response.d.ts +1 -1
  441. package/dist/models/mark-bid-failed201-response.js +1 -1
  442. package/dist/models/negotiation-score-dto.d.ts +1 -1
  443. package/dist/models/negotiation-score-dto.js +1 -1
  444. package/dist/models/negotiation-scored-v2-response-dto.d.ts +1 -1
  445. package/dist/models/negotiation-scored-v2-response-dto.js +1 -1
  446. package/dist/models/oauth-error-response-dto.d.ts +1 -1
  447. package/dist/models/oauth-error-response-dto.js +1 -1
  448. package/dist/models/payment-method-public.d.ts +1 -1
  449. package/dist/models/payment-method-public.js +1 -1
  450. package/dist/models/preconditions-dto.d.ts +1 -1
  451. package/dist/models/preconditions-dto.js +1 -1
  452. package/dist/models/problem-details-dto.d.ts +1 -1
  453. package/dist/models/problem-details-dto.js +1 -1
  454. package/dist/models/product-receipt-response-dto.d.ts +1 -1
  455. package/dist/models/product-receipt-response-dto.js +1 -1
  456. package/dist/models/product-response-dto.d.ts +1 -1
  457. package/dist/models/product-response-dto.js +1 -1
  458. package/dist/models/protected-resource-metadata-dto.d.ts +1 -1
  459. package/dist/models/protected-resource-metadata-dto.js +1 -1
  460. package/dist/models/register-award-request-dto.d.ts +1 -1
  461. package/dist/models/register-award-request-dto.js +1 -1
  462. package/dist/models/register-award201-response.d.ts +1 -1
  463. package/dist/models/register-award201-response.js +1 -1
  464. package/dist/models/register-bid201-response.d.ts +1 -1
  465. package/dist/models/register-bid201-response.js +1 -1
  466. package/dist/models/register-semo-contract-request-dto.d.ts +1 -1
  467. package/dist/models/register-semo-contract-request-dto.js +1 -1
  468. package/dist/models/request-invoice-split-request-dto.d.ts +1 -1
  469. package/dist/models/request-invoice-split-request-dto.js +1 -1
  470. package/dist/models/request-invoice-split200-response.d.ts +1 -1
  471. package/dist/models/request-invoice-split200-response.js +1 -1
  472. package/dist/models/retiree-roster-input-dto.d.ts +1 -1
  473. package/dist/models/retiree-roster-input-dto.js +1 -1
  474. package/dist/models/retiree-roster-row-dto.d.ts +1 -1
  475. package/dist/models/retiree-roster-row-dto.js +1 -1
  476. package/dist/models/revert-award-request-dto.d.ts +1 -1
  477. package/dist/models/revert-award-request-dto.js +1 -1
  478. package/dist/models/revert-award200-response.d.ts +1 -1
  479. package/dist/models/revert-award200-response.js +1 -1
  480. package/dist/models/revoke-request-dto.d.ts +1 -1
  481. package/dist/models/revoke-request-dto.js +1 -1
  482. package/dist/models/semo-contract-registered-response-dto.d.ts +1 -1
  483. package/dist/models/semo-contract-registered-response-dto.js +1 -1
  484. package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  485. package/dist/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  486. package/dist/models/statement-document-dto.d.ts +1 -1
  487. package/dist/models/statement-document-dto.js +1 -1
  488. package/dist/models/statement-product-dto.d.ts +1 -1
  489. package/dist/models/statement-product-dto.js +1 -1
  490. package/dist/models/submit-negotiation-scores-request-dto.d.ts +1 -1
  491. package/dist/models/submit-negotiation-scores-request-dto.js +1 -1
  492. package/dist/models/submit-negotiation-scores201-response.d.ts +1 -1
  493. package/dist/models/submit-negotiation-scores201-response.js +1 -1
  494. package/dist/models/supplier-card-payable-response-dto.d.ts +1 -1
  495. package/dist/models/supplier-card-payable-response-dto.js +1 -1
  496. package/dist/models/supplier-tax-type.d.ts +1 -1
  497. package/dist/models/supplier-tax-type.js +1 -1
  498. package/dist/models/token-request-dto.d.ts +1 -1
  499. package/dist/models/token-request-dto.js +1 -1
  500. package/dist/models/token-response-dto.d.ts +1 -1
  501. package/dist/models/token-response-dto.js +1 -1
  502. package/dist/models/update-bid-request-dto.d.ts +1 -1
  503. package/dist/models/update-bid-request-dto.js +1 -1
  504. package/dist/models/update-bid200-response.d.ts +1 -1
  505. package/dist/models/update-bid200-response.js +1 -1
  506. package/dist/models/upload-file-request-dto.d.ts +1 -1
  507. package/dist/models/upload-file-request-dto.js +1 -1
  508. package/dist/models/upload-file201-response.d.ts +1 -1
  509. package/dist/models/upload-file201-response.js +1 -1
  510. package/docs/PartnerApiApi.md +30 -33
  511. package/docs/ProductsApi.md +2 -2
  512. package/index.ts +1 -1
  513. package/models/acceptance-result-response-dto.ts +1 -1
  514. package/models/acknowledge-product-receipt200-response.ts +1 -1
  515. package/models/acknowledge-products-request-dto.ts +1 -1
  516. package/models/api-catalog-dto.ts +1 -1
  517. package/models/api-catalog-entry-dto.ts +1 -1
  518. package/models/api-catalog-link-dto.ts +1 -1
  519. package/models/authorization-server-metadata-dto.ts +1 -1
  520. package/models/award-method-public.ts +1 -1
  521. package/models/award-registered-v2-response-dto.ts +1 -1
  522. package/models/award-reverted-v2-response-dto.ts +1 -1
  523. package/models/bid-acceptance-dto.ts +1 -1
  524. package/models/bid-bond-dto.ts +1 -1
  525. package/models/bid-cancelled-response-dto.ts +1 -1
  526. package/models/bid-contact-dto.ts +1 -1
  527. package/models/bid-contacts-dto.ts +1 -1
  528. package/models/bid-contract-document-dto.ts +1 -1
  529. package/models/bid-delivery-terms-dto.ts +1 -1
  530. package/models/bid-detail-response-dto.ts +1 -1
  531. package/models/bid-document-dto.ts +1 -1
  532. package/models/bid-failed-v2-response-dto.ts +1 -1
  533. package/models/bid-item-dto.ts +1 -1
  534. package/models/bid-lifecycle-dto.ts +1 -1
  535. package/models/bid-manager-dto.ts +1 -1
  536. package/models/bid-payment-terms-dto.ts +1 -1
  537. package/models/bid-product-dto.ts +1 -1
  538. package/models/bid-public-status.ts +1 -1
  539. package/models/bid-registered-response-dto.ts +1 -1
  540. package/models/bid-result-participant-attachment-dto.ts +1 -1
  541. package/models/bid-result-participant-dto.ts +1 -1
  542. package/models/bid-results-response-dto.ts +1 -1
  543. package/models/bid-settlement-line-item-dto.ts +1 -1
  544. package/models/bid-settlement-participant-dto.ts +1 -1
  545. package/models/bid-settlement-response-dto.ts +1 -1
  546. package/models/bid-statement-response-dto.ts +1 -1
  547. package/models/bid-summary-dto.ts +1 -1
  548. package/models/bid-type-public.ts +1 -1
  549. package/models/bid-updated-response-dto.ts +1 -1
  550. package/models/cancel-bid-request-dto.ts +1 -1
  551. package/models/cancel-bid200-response.ts +1 -1
  552. package/models/card-payment-request-response-dto.ts +1 -1
  553. package/models/complete-acceptance-request-dto.ts +1 -1
  554. package/models/complete-acceptance200-response.ts +1 -1
  555. package/models/complete-invoice200-response.ts +1 -1
  556. package/models/contract-restriction-confirm-input-dto.ts +1 -1
  557. package/models/create-bid-request-dto.ts +1 -1
  558. package/models/create-card-payment-dto.ts +1 -1
  559. package/models/create-card-payment-request-dto.ts +1 -1
  560. package/models/create-card-payment200-response.ts +1 -1
  561. package/models/create-external-contract-documents-request-dto.ts +1 -1
  562. package/models/create-external-contract-documents-response-dto.ts +1 -1
  563. package/models/delivery-date-type-public.ts +1 -1
  564. package/models/delivery-method-public.ts +1 -1
  565. package/models/excellent-procurement-public.ts +1 -1
  566. package/models/external-contract-document-item-dto.ts +1 -1
  567. package/models/external-contract-documents-response-dto.ts +1 -1
  568. package/models/external-contract-item-dto.ts +1 -1
  569. package/models/external-contract-snapshot-dto.ts +1 -1
  570. package/models/external-document-inputs-dto.ts +1 -1
  571. package/models/file-meta-response-dto.ts +1 -1
  572. package/models/file-uploaded-response-dto.ts +1 -1
  573. package/models/generated-external-contract-document-dto.ts +1 -1
  574. package/models/get-bid-settlement200-response.ts +1 -1
  575. package/models/get-bid-statement200-response.ts +1 -1
  576. package/models/get-bid200-response.ts +1 -1
  577. package/models/get-file-meta200-response.ts +1 -1
  578. package/models/get-supplier-card-payable-v2200-response.ts +1 -1
  579. package/models/green-product-public.ts +1 -1
  580. package/models/health-controller-check200-response.ts +1 -1
  581. package/models/health-response-dto.ts +1 -1
  582. package/models/hierarchical-region-dto.ts +1 -1
  583. package/models/introspect-request-dto.ts +1 -1
  584. package/models/introspection-response-dto.ts +1 -1
  585. package/models/invalid-param-dto.ts +1 -1
  586. package/models/invoice-completed-response-dto.ts +1 -1
  587. package/models/invoice-split-response-dto.ts +1 -1
  588. package/models/legal-mandatory-public.ts +1 -1
  589. package/models/list-bid-results200-response.ts +1 -1
  590. package/models/list-bids-response-dto.ts +1 -1
  591. package/models/list-bids200-response.ts +1 -1
  592. package/models/list-products200-response.ts +1 -1
  593. package/models/mark-bid-failed-request-dto.ts +1 -1
  594. package/models/mark-bid-failed201-response.ts +1 -1
  595. package/models/negotiation-score-dto.ts +1 -1
  596. package/models/negotiation-scored-v2-response-dto.ts +1 -1
  597. package/models/oauth-error-response-dto.ts +1 -1
  598. package/models/payment-method-public.ts +1 -1
  599. package/models/preconditions-dto.ts +1 -1
  600. package/models/problem-details-dto.ts +1 -1
  601. package/models/product-receipt-response-dto.ts +1 -1
  602. package/models/product-response-dto.ts +1 -1
  603. package/models/protected-resource-metadata-dto.ts +1 -1
  604. package/models/register-award-request-dto.ts +1 -1
  605. package/models/register-award201-response.ts +1 -1
  606. package/models/register-bid201-response.ts +1 -1
  607. package/models/register-semo-contract-request-dto.ts +1 -1
  608. package/models/request-invoice-split-request-dto.ts +1 -1
  609. package/models/request-invoice-split200-response.ts +1 -1
  610. package/models/retiree-roster-input-dto.ts +1 -1
  611. package/models/retiree-roster-row-dto.ts +1 -1
  612. package/models/revert-award-request-dto.ts +1 -1
  613. package/models/revert-award200-response.ts +1 -1
  614. package/models/revoke-request-dto.ts +1 -1
  615. package/models/semo-contract-registered-response-dto.ts +1 -1
  616. package/models/semo-contract-taxinvoice-status-response-dto.ts +1 -1
  617. package/models/statement-document-dto.ts +1 -1
  618. package/models/statement-product-dto.ts +1 -1
  619. package/models/submit-negotiation-scores-request-dto.ts +1 -1
  620. package/models/submit-negotiation-scores201-response.ts +1 -1
  621. package/models/supplier-card-payable-response-dto.ts +1 -1
  622. package/models/supplier-tax-type.ts +1 -1
  623. package/models/token-request-dto.ts +1 -1
  624. package/models/token-response-dto.ts +1 -1
  625. package/models/update-bid-request-dto.ts +1 -1
  626. package/models/update-bid200-response.ts +1 -1
  627. package/models/upload-file-request-dto.ts +1 -1
  628. package/models/upload-file201-response.ts +1 -1
  629. package/package.json +1 -1
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403 입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 둘입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json` 입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body 를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug 은 **HTTP status 로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 36.1.0
7
+ * The version of the OpenAPI document: 36.1.1
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -108,7 +108,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
108
108
  * 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
109
109
  * @summary 공고 취소
110
110
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
111
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
111
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
112
112
  * @param {CancelBidRequestDto} cancelBidRequestDto
113
113
  * @param {*} [options] Override http request option.
114
114
  * @throws {RequiredError}
@@ -157,7 +157,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
157
157
  * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 수 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
158
158
  * @summary 검수완료 전송
159
159
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
160
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
160
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
161
161
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
162
162
  * @param {*} [options] Override http request option.
163
163
  * @throws {RequiredError}
@@ -206,7 +206,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
206
206
  * 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
207
207
  * @summary 정산 마감
208
208
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
209
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
209
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
210
210
  * @param {*} [options] Override http request option.
211
211
  * @throws {RequiredError}
212
212
  */
@@ -249,7 +249,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
249
249
  /**
250
250
  * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
251
251
  * @summary 결제창 발행
252
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
252
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
253
253
  * @param {CreateCardPaymentDto} createCardPaymentDto
254
254
  * @param {*} [options] Override http request option.
255
255
  * @throws {RequiredError}
@@ -294,7 +294,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
294
294
  /**
295
295
  * 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `paperCodes` 와 같은 순서로 같은 개수가 돌아옵니다.** 각 항목의 `fileUrl` 을 그대로 쓰면 되고, `paperCode` 로 어느 요청에 대한 결과인지 대응시킬 수 있습니다. **`name` 의 출처는 서류에 따라 다릅니다.** 시스템이 렌더한 서류는 계약서류명이고, 공급사 사전등록 3종(11·12·13)은 **공급사가 등록한 원본 파일명**입니다 — 채팅 첨부 라벨로 그대로 쓰세요. **필요한 입력:** 발주기관·공급사는 회원 ID 만 주면 됩니다. 상호·사업자번호·대표자·주소·직인은 c-market 이 회원 정보에서 직접 채웁니다. **전부 성공 또는 전부 실패입니다.** 지원하지 않는 서류가 하나라도 섞이면(400) 아무것도 만들지 않습니다. 렌더가 필요한 서류를 요청하면서 `contract` 를 빠뜨려도 마찬가지입니다(422). **135(수의계약체결제한여부확인서)를 요청하면 추가 입력이 필요합니다.** `contract.subject`(발주내용)·`contract.category`(계약구분)·`contract.buyerDepartment`(발주부서)가 필수이고, `documentInputs.contractRestrictionConfirm.answers`에 서식 ①~⑧에 대한 **계약상대자**의 답변 8개를 순서대로 담아야 합니다(c-market 이 대신 만들어낼 수 없는 값입니다). ⑨(발주자 확인사항)는 `documentInputs.contractRestrictionConfirm.buyerConfirmation`으로 선택 전달하며, 생략하면 서식에 빈칸으로 인쇄됩니다. 문항 ①~⑧의 원문은 `answers` 필드 설명을 참고하세요. **164(퇴직자영입현황확인서)를 요청하면 퇴직자 명단이 필요합니다.** `contract.subject`(서식의 \"수의계약 대상건명\")가 필수이고, `documentInputs.retireeRoster.rows` 에 명단을 넣습니다(성명·직급 필수, 직급·입사일·근무기간·비고 선택, 최대 50행). **퇴직자가 없으면 `rows` 를 빈 배열로 보내세요** — 서식에 \"해당사항 없음\"으로 인쇄됩니다. 블록 자체를 생략하면 422 입니다(\"퇴직자 없음\"과 \"확인하지 않음\"을 구분할 수 없기 때문입니다). **승낙사항(4·184·185·186·189·197·208)을 요청하면 `contract.subject`(계약건명)가 필수입니다.** 서식 상단 \"건명\" 칸에 인쇄되는 값이라 비면 어느 계약의 승낙인지 알 수 없습니다. 그 외 추가 입력은 없습니다 — 갑(발주기관) 서명란은 `buyerId` 로, 을(공급사) 서명란은 `supplierId` 로 c-market 이 채웁니다. 발주기관이 기관 전용 승낙사항 서식을 쓰면 요청한 코드 그대로 응답하되 PDF 는 그 기관 서식으로 발급됩니다. **응답의 `fileUrl` 은 만료되지 않습니다.** 채팅 메시지 등에 그대로 저장해 두어도 됩니다. **생성 가능한 회원 범위:** 조회와 같습니다 — 이 API 키에 설정된 대행 범위 안의 회원만 가능합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
296
296
  * @summary 계약서류 생성
297
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
297
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
298
298
  * @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
299
299
  * @param {*} [options] Override http request option.
300
300
  * @throws {RequiredError}
@@ -784,7 +784,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
784
784
  * 공고를 유찰 상태로 전환합니다. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드와 상세가 기록됩니다. **유찰사유 값 목록(failureReasonCode — 공개값):** | 값 | 의미 | |------|------| | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `OTHER` | 기타 (`failureReasonDetail` 필수) | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
785
785
  * @summary 유찰 처리
786
786
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
787
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
787
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
788
788
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
789
789
  * @param {*} [options] Override http request option.
790
790
  * @throws {RequiredError}
@@ -833,7 +833,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
833
833
  * 낙찰 결과를 등록합니다. 이 요청의 응답은 처리 상태 `AWARDED` 를 반환합니다. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 낙찰자(공급사)의 응찰 건이 낙찰 처리됩니다. - 이후 **공고의 조회 상태(status)는 계약진행(CONTRACT_IN_PROGRESS)** 으로 진행합니다. `AWARDED` 라는 공고 status 는 존재하지 않으므로, 낙찰 여부는 `GET /v2/bids/{bidRef}/results` 의 `participants[].isWinner` 또는 `GET /v2/bids/{bidRef}` 의 status(=계약진행)로 관측하세요(`status === \'AWARDED\'` 폴링 금지). - 협상 방식(NEGOTIATION/NEGOTIATION_AUTO) 공고는 이 엔드포인트 전에 `POST /v2/bids/{bidRef}/negotiation-scores`(협상 점수평가)로 평가를 완료해야 합니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
834
834
  * @summary 낙찰 결과 전송
835
835
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
836
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
836
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
837
837
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
838
838
  * @param {*} [options] Override http request option.
839
839
  * @throws {RequiredError}
@@ -881,7 +881,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
881
881
  /**
882
882
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
883
883
  * @summary 공고 등록
884
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
884
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
885
885
  * @param {CreateBidRequestDto} createBidRequestDto
886
886
  * @param {*} [options] Override http request option.
887
887
  * @throws {RequiredError}
@@ -926,7 +926,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
926
926
  /**
927
927
  * 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
928
928
  * @summary 계약 발행대상 등록
929
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
929
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
930
930
  * @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
931
931
  * @param {*} [options] Override http request option.
932
932
  * @throws {RequiredError}
@@ -972,7 +972,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
972
972
  * 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
973
973
  * @summary 계산서 분할 발급 청구
974
974
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
975
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
975
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
976
976
  * @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
977
977
  * @param {*} [options] Override http request option.
978
978
  * @throws {RequiredError}
@@ -1021,7 +1021,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
1021
1021
  * 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1022
1022
  * @summary 낙찰 되돌리기
1023
1023
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1024
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1024
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1025
1025
  * @param {RevertAwardRequestDto} revertAwardRequestDto
1026
1026
  * @param {*} [options] Override http request option.
1027
1027
  * @throws {RequiredError}
@@ -1070,7 +1070,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
1070
1070
  * 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 이 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
1071
1071
  * @summary 협상 점수평가
1072
1072
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1073
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1073
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1074
1074
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
1075
1075
  * @param {*} [options] Override http request option.
1076
1076
  * @throws {RequiredError}
@@ -1119,20 +1119,17 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
1119
1119
  * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1120
1120
  * @summary 공고 수정
1121
1121
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1122
- * @param {string} ifMatch
1123
- * @param {string} ifMatch2 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 사이 공고가 바뀌었으면 412 거절되며 아무것도 수정되지 않습니다.
1124
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 로 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1122
+ * @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다.
1123
+ * @param {string} idempotencyKey 멱등성 (1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1125
1124
  * @param {UpdateBidRequestDto} updateBidRequestDto
1126
1125
  * @param {*} [options] Override http request option.
1127
1126
  * @throws {RequiredError}
1128
1127
  */
1129
- updateBid: async (bidRef: string, ifMatch: string, ifMatch2: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
1128
+ updateBid: async (bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
1130
1129
  // verify required parameter 'bidRef' is not null or undefined
1131
1130
  assertParamExists('updateBid', 'bidRef', bidRef)
1132
1131
  // verify required parameter 'ifMatch' is not null or undefined
1133
1132
  assertParamExists('updateBid', 'ifMatch', ifMatch)
1134
- // verify required parameter 'ifMatch2' is not null or undefined
1135
- assertParamExists('updateBid', 'ifMatch2', ifMatch2)
1136
1133
  // verify required parameter 'idempotencyKey' is not null or undefined
1137
1134
  assertParamExists('updateBid', 'idempotencyKey', idempotencyKey)
1138
1135
  // verify required parameter 'updateBidRequestDto' is not null or undefined
@@ -1158,10 +1155,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
1158
1155
  localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
1159
1156
 
1160
1157
  if (ifMatch != null) {
1161
- localVarHeaderParameter['if-match'] = String(ifMatch);
1162
- }
1163
- if (ifMatch2 != null) {
1164
- localVarHeaderParameter['If-Match'] = String(ifMatch2);
1158
+ localVarHeaderParameter['If-Match'] = String(ifMatch);
1165
1159
  }
1166
1160
  if (idempotencyKey != null) {
1167
1161
  localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
@@ -1179,7 +1173,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
1179
1173
  /**
1180
1174
  * 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로 실으세요. 스코프 `files:write` + `Idempotency-Key` 헤더가 필요합니다.
1181
1175
  * @summary 공고 첨부파일 업로드
1182
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1176
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1183
1177
  * @param {UploadFileRequestDto} uploadFileRequestDto
1184
1178
  * @param {*} [options] Override http request option.
1185
1179
  * @throws {RequiredError}
@@ -1234,7 +1228,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1234
1228
  * 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
1235
1229
  * @summary 공고 취소
1236
1230
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1237
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1231
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1238
1232
  * @param {CancelBidRequestDto} cancelBidRequestDto
1239
1233
  * @param {*} [options] Override http request option.
1240
1234
  * @throws {RequiredError}
@@ -1249,7 +1243,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1249
1243
  * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 수 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1250
1244
  * @summary 검수완료 전송
1251
1245
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1252
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1246
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1253
1247
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
1254
1248
  * @param {*} [options] Override http request option.
1255
1249
  * @throws {RequiredError}
@@ -1264,7 +1258,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1264
1258
  * 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1265
1259
  * @summary 정산 마감
1266
1260
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1267
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1261
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1268
1262
  * @param {*} [options] Override http request option.
1269
1263
  * @throws {RequiredError}
1270
1264
  */
@@ -1277,7 +1271,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1277
1271
  /**
1278
1272
  * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1279
1273
  * @summary 결제창 발행
1280
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1274
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1281
1275
  * @param {CreateCardPaymentDto} createCardPaymentDto
1282
1276
  * @param {*} [options] Override http request option.
1283
1277
  * @throws {RequiredError}
@@ -1291,7 +1285,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1291
1285
  /**
1292
1286
  * 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `paperCodes` 와 같은 순서로 같은 개수가 돌아옵니다.** 각 항목의 `fileUrl` 을 그대로 쓰면 되고, `paperCode` 로 어느 요청에 대한 결과인지 대응시킬 수 있습니다. **`name` 의 출처는 서류에 따라 다릅니다.** 시스템이 렌더한 서류는 계약서류명이고, 공급사 사전등록 3종(11·12·13)은 **공급사가 등록한 원본 파일명**입니다 — 채팅 첨부 라벨로 그대로 쓰세요. **필요한 입력:** 발주기관·공급사는 회원 ID 만 주면 됩니다. 상호·사업자번호·대표자·주소·직인은 c-market 이 회원 정보에서 직접 채웁니다. **전부 성공 또는 전부 실패입니다.** 지원하지 않는 서류가 하나라도 섞이면(400) 아무것도 만들지 않습니다. 렌더가 필요한 서류를 요청하면서 `contract` 를 빠뜨려도 마찬가지입니다(422). **135(수의계약체결제한여부확인서)를 요청하면 추가 입력이 필요합니다.** `contract.subject`(발주내용)·`contract.category`(계약구분)·`contract.buyerDepartment`(발주부서)가 필수이고, `documentInputs.contractRestrictionConfirm.answers`에 서식 ①~⑧에 대한 **계약상대자**의 답변 8개를 순서대로 담아야 합니다(c-market 이 대신 만들어낼 수 없는 값입니다). ⑨(발주자 확인사항)는 `documentInputs.contractRestrictionConfirm.buyerConfirmation`으로 선택 전달하며, 생략하면 서식에 빈칸으로 인쇄됩니다. 문항 ①~⑧의 원문은 `answers` 필드 설명을 참고하세요. **164(퇴직자영입현황확인서)를 요청하면 퇴직자 명단이 필요합니다.** `contract.subject`(서식의 \"수의계약 대상건명\")가 필수이고, `documentInputs.retireeRoster.rows` 에 명단을 넣습니다(성명·직급 필수, 직급·입사일·근무기간·비고 선택, 최대 50행). **퇴직자가 없으면 `rows` 를 빈 배열로 보내세요** — 서식에 \"해당사항 없음\"으로 인쇄됩니다. 블록 자체를 생략하면 422 입니다(\"퇴직자 없음\"과 \"확인하지 않음\"을 구분할 수 없기 때문입니다). **승낙사항(4·184·185·186·189·197·208)을 요청하면 `contract.subject`(계약건명)가 필수입니다.** 서식 상단 \"건명\" 칸에 인쇄되는 값이라 비면 어느 계약의 승낙인지 알 수 없습니다. 그 외 추가 입력은 없습니다 — 갑(발주기관) 서명란은 `buyerId` 로, 을(공급사) 서명란은 `supplierId` 로 c-market 이 채웁니다. 발주기관이 기관 전용 승낙사항 서식을 쓰면 요청한 코드 그대로 응답하되 PDF 는 그 기관 서식으로 발급됩니다. **응답의 `fileUrl` 은 만료되지 않습니다.** 채팅 메시지 등에 그대로 저장해 두어도 됩니다. **생성 가능한 회원 범위:** 조회와 같습니다 — 이 API 키에 설정된 대행 범위 안의 회원만 가능합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
1293
1287
  * @summary 계약서류 생성
1294
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1288
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1295
1289
  * @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
1296
1290
  * @param {*} [options] Override http request option.
1297
1291
  * @throws {RequiredError}
@@ -1454,7 +1448,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1454
1448
  * 공고를 유찰 상태로 전환합니다. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드와 상세가 기록됩니다. **유찰사유 값 목록(failureReasonCode — 공개값):** | 값 | 의미 | |------|------| | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `OTHER` | 기타 (`failureReasonDetail` 필수) | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1455
1449
  * @summary 유찰 처리
1456
1450
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1457
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1451
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1458
1452
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
1459
1453
  * @param {*} [options] Override http request option.
1460
1454
  * @throws {RequiredError}
@@ -1469,7 +1463,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1469
1463
  * 낙찰 결과를 등록합니다. 이 요청의 응답은 처리 상태 `AWARDED` 를 반환합니다. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 낙찰자(공급사)의 응찰 건이 낙찰 처리됩니다. - 이후 **공고의 조회 상태(status)는 계약진행(CONTRACT_IN_PROGRESS)** 으로 진행합니다. `AWARDED` 라는 공고 status 는 존재하지 않으므로, 낙찰 여부는 `GET /v2/bids/{bidRef}/results` 의 `participants[].isWinner` 또는 `GET /v2/bids/{bidRef}` 의 status(=계약진행)로 관측하세요(`status === \'AWARDED\'` 폴링 금지). - 협상 방식(NEGOTIATION/NEGOTIATION_AUTO) 공고는 이 엔드포인트 전에 `POST /v2/bids/{bidRef}/negotiation-scores`(협상 점수평가)로 평가를 완료해야 합니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
1470
1464
  * @summary 낙찰 결과 전송
1471
1465
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1472
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1466
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1473
1467
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
1474
1468
  * @param {*} [options] Override http request option.
1475
1469
  * @throws {RequiredError}
@@ -1483,7 +1477,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1483
1477
  /**
1484
1478
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
1485
1479
  * @summary 공고 등록
1486
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1480
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1487
1481
  * @param {CreateBidRequestDto} createBidRequestDto
1488
1482
  * @param {*} [options] Override http request option.
1489
1483
  * @throws {RequiredError}
@@ -1497,7 +1491,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1497
1491
  /**
1498
1492
  * 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1499
1493
  * @summary 계약 발행대상 등록
1500
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1494
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1501
1495
  * @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
1502
1496
  * @param {*} [options] Override http request option.
1503
1497
  * @throws {RequiredError}
@@ -1512,7 +1506,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1512
1506
  * 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
1513
1507
  * @summary 계산서 분할 발급 청구
1514
1508
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1515
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1509
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1516
1510
  * @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
1517
1511
  * @param {*} [options] Override http request option.
1518
1512
  * @throws {RequiredError}
@@ -1527,7 +1521,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1527
1521
  * 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1528
1522
  * @summary 낙찰 되돌리기
1529
1523
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1530
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1524
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1531
1525
  * @param {RevertAwardRequestDto} revertAwardRequestDto
1532
1526
  * @param {*} [options] Override http request option.
1533
1527
  * @throws {RequiredError}
@@ -1542,7 +1536,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1542
1536
  * 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 이 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
1543
1537
  * @summary 협상 점수평가
1544
1538
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1545
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1539
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1546
1540
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
1547
1541
  * @param {*} [options] Override http request option.
1548
1542
  * @throws {RequiredError}
@@ -1557,15 +1551,14 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1557
1551
  * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1558
1552
  * @summary 공고 수정
1559
1553
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1560
- * @param {string} ifMatch
1561
- * @param {string} ifMatch2 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 사이 공고가 바뀌었으면 412 거절되며 아무것도 수정되지 않습니다.
1562
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 로 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1554
+ * @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다.
1555
+ * @param {string} idempotencyKey 멱등성 (1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1563
1556
  * @param {UpdateBidRequestDto} updateBidRequestDto
1564
1557
  * @param {*} [options] Override http request option.
1565
1558
  * @throws {RequiredError}
1566
1559
  */
1567
- async updateBid(bidRef: string, ifMatch: string, ifMatch2: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UpdateBid200Response>> {
1568
- const localVarAxiosArgs = await localVarAxiosParamCreator.updateBid(bidRef, ifMatch, ifMatch2, idempotencyKey, updateBidRequestDto, options);
1560
+ async updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UpdateBid200Response>> {
1561
+ const localVarAxiosArgs = await localVarAxiosParamCreator.updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options);
1569
1562
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1570
1563
  const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.updateBid']?.[localVarOperationServerIndex]?.url;
1571
1564
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -1573,7 +1566,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
1573
1566
  /**
1574
1567
  * 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로 실으세요. 스코프 `files:write` + `Idempotency-Key` 헤더가 필요합니다.
1575
1568
  * @summary 공고 첨부파일 업로드
1576
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1569
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1577
1570
  * @param {UploadFileRequestDto} uploadFileRequestDto
1578
1571
  * @param {*} [options] Override http request option.
1579
1572
  * @throws {RequiredError}
@@ -1597,7 +1590,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1597
1590
  * 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
1598
1591
  * @summary 공고 취소
1599
1592
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1600
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1593
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1601
1594
  * @param {CancelBidRequestDto} cancelBidRequestDto
1602
1595
  * @param {*} [options] Override http request option.
1603
1596
  * @throws {RequiredError}
@@ -1609,7 +1602,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1609
1602
  * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 수 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1610
1603
  * @summary 검수완료 전송
1611
1604
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1612
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1605
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1613
1606
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
1614
1607
  * @param {*} [options] Override http request option.
1615
1608
  * @throws {RequiredError}
@@ -1621,7 +1614,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1621
1614
  * 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1622
1615
  * @summary 정산 마감
1623
1616
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1624
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1617
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1625
1618
  * @param {*} [options] Override http request option.
1626
1619
  * @throws {RequiredError}
1627
1620
  */
@@ -1631,7 +1624,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1631
1624
  /**
1632
1625
  * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1633
1626
  * @summary 결제창 발행
1634
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1627
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1635
1628
  * @param {CreateCardPaymentDto} createCardPaymentDto
1636
1629
  * @param {*} [options] Override http request option.
1637
1630
  * @throws {RequiredError}
@@ -1642,7 +1635,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1642
1635
  /**
1643
1636
  * 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `paperCodes` 와 같은 순서로 같은 개수가 돌아옵니다.** 각 항목의 `fileUrl` 을 그대로 쓰면 되고, `paperCode` 로 어느 요청에 대한 결과인지 대응시킬 수 있습니다. **`name` 의 출처는 서류에 따라 다릅니다.** 시스템이 렌더한 서류는 계약서류명이고, 공급사 사전등록 3종(11·12·13)은 **공급사가 등록한 원본 파일명**입니다 — 채팅 첨부 라벨로 그대로 쓰세요. **필요한 입력:** 발주기관·공급사는 회원 ID 만 주면 됩니다. 상호·사업자번호·대표자·주소·직인은 c-market 이 회원 정보에서 직접 채웁니다. **전부 성공 또는 전부 실패입니다.** 지원하지 않는 서류가 하나라도 섞이면(400) 아무것도 만들지 않습니다. 렌더가 필요한 서류를 요청하면서 `contract` 를 빠뜨려도 마찬가지입니다(422). **135(수의계약체결제한여부확인서)를 요청하면 추가 입력이 필요합니다.** `contract.subject`(발주내용)·`contract.category`(계약구분)·`contract.buyerDepartment`(발주부서)가 필수이고, `documentInputs.contractRestrictionConfirm.answers`에 서식 ①~⑧에 대한 **계약상대자**의 답변 8개를 순서대로 담아야 합니다(c-market 이 대신 만들어낼 수 없는 값입니다). ⑨(발주자 확인사항)는 `documentInputs.contractRestrictionConfirm.buyerConfirmation`으로 선택 전달하며, 생략하면 서식에 빈칸으로 인쇄됩니다. 문항 ①~⑧의 원문은 `answers` 필드 설명을 참고하세요. **164(퇴직자영입현황확인서)를 요청하면 퇴직자 명단이 필요합니다.** `contract.subject`(서식의 \"수의계약 대상건명\")가 필수이고, `documentInputs.retireeRoster.rows` 에 명단을 넣습니다(성명·직급 필수, 직급·입사일·근무기간·비고 선택, 최대 50행). **퇴직자가 없으면 `rows` 를 빈 배열로 보내세요** — 서식에 \"해당사항 없음\"으로 인쇄됩니다. 블록 자체를 생략하면 422 입니다(\"퇴직자 없음\"과 \"확인하지 않음\"을 구분할 수 없기 때문입니다). **승낙사항(4·184·185·186·189·197·208)을 요청하면 `contract.subject`(계약건명)가 필수입니다.** 서식 상단 \"건명\" 칸에 인쇄되는 값이라 비면 어느 계약의 승낙인지 알 수 없습니다. 그 외 추가 입력은 없습니다 — 갑(발주기관) 서명란은 `buyerId` 로, 을(공급사) 서명란은 `supplierId` 로 c-market 이 채웁니다. 발주기관이 기관 전용 승낙사항 서식을 쓰면 요청한 코드 그대로 응답하되 PDF 는 그 기관 서식으로 발급됩니다. **응답의 `fileUrl` 은 만료되지 않습니다.** 채팅 메시지 등에 그대로 저장해 두어도 됩니다. **생성 가능한 회원 범위:** 조회와 같습니다 — 이 API 키에 설정된 대행 범위 안의 회원만 가능합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
1644
1637
  * @summary 계약서류 생성
1645
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1638
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1646
1639
  * @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
1647
1640
  * @param {*} [options] Override http request option.
1648
1641
  * @throws {RequiredError}
@@ -1769,7 +1762,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1769
1762
  * 공고를 유찰 상태로 전환합니다. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드와 상세가 기록됩니다. **유찰사유 값 목록(failureReasonCode — 공개값):** | 값 | 의미 | |------|------| | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `OTHER` | 기타 (`failureReasonDetail` 필수) | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1770
1763
  * @summary 유찰 처리
1771
1764
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1772
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1765
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1773
1766
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
1774
1767
  * @param {*} [options] Override http request option.
1775
1768
  * @throws {RequiredError}
@@ -1781,7 +1774,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1781
1774
  * 낙찰 결과를 등록합니다. 이 요청의 응답은 처리 상태 `AWARDED` 를 반환합니다. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 낙찰자(공급사)의 응찰 건이 낙찰 처리됩니다. - 이후 **공고의 조회 상태(status)는 계약진행(CONTRACT_IN_PROGRESS)** 으로 진행합니다. `AWARDED` 라는 공고 status 는 존재하지 않으므로, 낙찰 여부는 `GET /v2/bids/{bidRef}/results` 의 `participants[].isWinner` 또는 `GET /v2/bids/{bidRef}` 의 status(=계약진행)로 관측하세요(`status === \'AWARDED\'` 폴링 금지). - 협상 방식(NEGOTIATION/NEGOTIATION_AUTO) 공고는 이 엔드포인트 전에 `POST /v2/bids/{bidRef}/negotiation-scores`(협상 점수평가)로 평가를 완료해야 합니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
1782
1775
  * @summary 낙찰 결과 전송
1783
1776
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1784
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1777
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1785
1778
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
1786
1779
  * @param {*} [options] Override http request option.
1787
1780
  * @throws {RequiredError}
@@ -1792,7 +1785,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1792
1785
  /**
1793
1786
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
1794
1787
  * @summary 공고 등록
1795
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1788
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1796
1789
  * @param {CreateBidRequestDto} createBidRequestDto
1797
1790
  * @param {*} [options] Override http request option.
1798
1791
  * @throws {RequiredError}
@@ -1803,7 +1796,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1803
1796
  /**
1804
1797
  * 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1805
1798
  * @summary 계약 발행대상 등록
1806
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1799
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1807
1800
  * @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
1808
1801
  * @param {*} [options] Override http request option.
1809
1802
  * @throws {RequiredError}
@@ -1815,7 +1808,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1815
1808
  * 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
1816
1809
  * @summary 계산서 분할 발급 청구
1817
1810
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1818
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1811
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1819
1812
  * @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
1820
1813
  * @param {*} [options] Override http request option.
1821
1814
  * @throws {RequiredError}
@@ -1827,7 +1820,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1827
1820
  * 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1828
1821
  * @summary 낙찰 되돌리기
1829
1822
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1830
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1823
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1831
1824
  * @param {RevertAwardRequestDto} revertAwardRequestDto
1832
1825
  * @param {*} [options] Override http request option.
1833
1826
  * @throws {RequiredError}
@@ -1839,7 +1832,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1839
1832
  * 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 이 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
1840
1833
  * @summary 협상 점수평가
1841
1834
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1842
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1835
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1843
1836
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
1844
1837
  * @param {*} [options] Override http request option.
1845
1838
  * @throws {RequiredError}
@@ -1851,20 +1844,19 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
1851
1844
  * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1852
1845
  * @summary 공고 수정
1853
1846
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1854
- * @param {string} ifMatch
1855
- * @param {string} ifMatch2 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 사이 공고가 바뀌었으면 412 거절되며 아무것도 수정되지 않습니다.
1856
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 로 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1847
+ * @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다.
1848
+ * @param {string} idempotencyKey 멱등성 (1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1857
1849
  * @param {UpdateBidRequestDto} updateBidRequestDto
1858
1850
  * @param {*} [options] Override http request option.
1859
1851
  * @throws {RequiredError}
1860
1852
  */
1861
- updateBid(bidRef: string, ifMatch: string, ifMatch2: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UpdateBid200Response> {
1862
- return localVarFp.updateBid(bidRef, ifMatch, ifMatch2, idempotencyKey, updateBidRequestDto, options).then((request) => request(axios, basePath));
1853
+ updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UpdateBid200Response> {
1854
+ return localVarFp.updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options).then((request) => request(axios, basePath));
1863
1855
  },
1864
1856
  /**
1865
1857
  * 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로 실으세요. 스코프 `files:write` + `Idempotency-Key` 헤더가 필요합니다.
1866
1858
  * @summary 공고 첨부파일 업로드
1867
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1859
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1868
1860
  * @param {UploadFileRequestDto} uploadFileRequestDto
1869
1861
  * @param {*} [options] Override http request option.
1870
1862
  * @throws {RequiredError}
@@ -1883,7 +1875,7 @@ export class PartnerApiApi extends BaseAPI {
1883
1875
  * 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
1884
1876
  * @summary 공고 취소
1885
1877
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1886
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1878
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1887
1879
  * @param {CancelBidRequestDto} cancelBidRequestDto
1888
1880
  * @param {*} [options] Override http request option.
1889
1881
  * @throws {RequiredError}
@@ -1896,7 +1888,7 @@ export class PartnerApiApi extends BaseAPI {
1896
1888
  * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 수 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1897
1889
  * @summary 검수완료 전송
1898
1890
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1899
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1891
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1900
1892
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
1901
1893
  * @param {*} [options] Override http request option.
1902
1894
  * @throws {RequiredError}
@@ -1909,7 +1901,7 @@ export class PartnerApiApi extends BaseAPI {
1909
1901
  * 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1910
1902
  * @summary 정산 마감
1911
1903
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1912
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1904
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1913
1905
  * @param {*} [options] Override http request option.
1914
1906
  * @throws {RequiredError}
1915
1907
  */
@@ -1920,7 +1912,7 @@ export class PartnerApiApi extends BaseAPI {
1920
1912
  /**
1921
1913
  * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1922
1914
  * @summary 결제창 발행
1923
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1915
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1924
1916
  * @param {CreateCardPaymentDto} createCardPaymentDto
1925
1917
  * @param {*} [options] Override http request option.
1926
1918
  * @throws {RequiredError}
@@ -1932,7 +1924,7 @@ export class PartnerApiApi extends BaseAPI {
1932
1924
  /**
1933
1925
  * 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `paperCodes` 와 같은 순서로 같은 개수가 돌아옵니다.** 각 항목의 `fileUrl` 을 그대로 쓰면 되고, `paperCode` 로 어느 요청에 대한 결과인지 대응시킬 수 있습니다. **`name` 의 출처는 서류에 따라 다릅니다.** 시스템이 렌더한 서류는 계약서류명이고, 공급사 사전등록 3종(11·12·13)은 **공급사가 등록한 원본 파일명**입니다 — 채팅 첨부 라벨로 그대로 쓰세요. **필요한 입력:** 발주기관·공급사는 회원 ID 만 주면 됩니다. 상호·사업자번호·대표자·주소·직인은 c-market 이 회원 정보에서 직접 채웁니다. **전부 성공 또는 전부 실패입니다.** 지원하지 않는 서류가 하나라도 섞이면(400) 아무것도 만들지 않습니다. 렌더가 필요한 서류를 요청하면서 `contract` 를 빠뜨려도 마찬가지입니다(422). **135(수의계약체결제한여부확인서)를 요청하면 추가 입력이 필요합니다.** `contract.subject`(발주내용)·`contract.category`(계약구분)·`contract.buyerDepartment`(발주부서)가 필수이고, `documentInputs.contractRestrictionConfirm.answers`에 서식 ①~⑧에 대한 **계약상대자**의 답변 8개를 순서대로 담아야 합니다(c-market 이 대신 만들어낼 수 없는 값입니다). ⑨(발주자 확인사항)는 `documentInputs.contractRestrictionConfirm.buyerConfirmation`으로 선택 전달하며, 생략하면 서식에 빈칸으로 인쇄됩니다. 문항 ①~⑧의 원문은 `answers` 필드 설명을 참고하세요. **164(퇴직자영입현황확인서)를 요청하면 퇴직자 명단이 필요합니다.** `contract.subject`(서식의 \"수의계약 대상건명\")가 필수이고, `documentInputs.retireeRoster.rows` 에 명단을 넣습니다(성명·직급 필수, 직급·입사일·근무기간·비고 선택, 최대 50행). **퇴직자가 없으면 `rows` 를 빈 배열로 보내세요** — 서식에 \"해당사항 없음\"으로 인쇄됩니다. 블록 자체를 생략하면 422 입니다(\"퇴직자 없음\"과 \"확인하지 않음\"을 구분할 수 없기 때문입니다). **승낙사항(4·184·185·186·189·197·208)을 요청하면 `contract.subject`(계약건명)가 필수입니다.** 서식 상단 \"건명\" 칸에 인쇄되는 값이라 비면 어느 계약의 승낙인지 알 수 없습니다. 그 외 추가 입력은 없습니다 — 갑(발주기관) 서명란은 `buyerId` 로, 을(공급사) 서명란은 `supplierId` 로 c-market 이 채웁니다. 발주기관이 기관 전용 승낙사항 서식을 쓰면 요청한 코드 그대로 응답하되 PDF 는 그 기관 서식으로 발급됩니다. **응답의 `fileUrl` 은 만료되지 않습니다.** 채팅 메시지 등에 그대로 저장해 두어도 됩니다. **생성 가능한 회원 범위:** 조회와 같습니다 — 이 API 키에 설정된 대행 범위 안의 회원만 가능합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
1934
1926
  * @summary 계약서류 생성
1935
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
1927
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1936
1928
  * @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
1937
1929
  * @param {*} [options] Override http request option.
1938
1930
  * @throws {RequiredError}
@@ -2071,7 +2063,7 @@ export class PartnerApiApi extends BaseAPI {
2071
2063
  * 공고를 유찰 상태로 전환합니다. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드와 상세가 기록됩니다. **유찰사유 값 목록(failureReasonCode — 공개값):** | 값 | 의미 | |------|------| | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `OTHER` | 기타 (`failureReasonDetail` 필수) | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
2072
2064
  * @summary 유찰 처리
2073
2065
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
2074
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
2066
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2075
2067
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
2076
2068
  * @param {*} [options] Override http request option.
2077
2069
  * @throws {RequiredError}
@@ -2084,7 +2076,7 @@ export class PartnerApiApi extends BaseAPI {
2084
2076
  * 낙찰 결과를 등록합니다. 이 요청의 응답은 처리 상태 `AWARDED` 를 반환합니다. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 낙찰자(공급사)의 응찰 건이 낙찰 처리됩니다. - 이후 **공고의 조회 상태(status)는 계약진행(CONTRACT_IN_PROGRESS)** 으로 진행합니다. `AWARDED` 라는 공고 status 는 존재하지 않으므로, 낙찰 여부는 `GET /v2/bids/{bidRef}/results` 의 `participants[].isWinner` 또는 `GET /v2/bids/{bidRef}` 의 status(=계약진행)로 관측하세요(`status === \'AWARDED\'` 폴링 금지). - 협상 방식(NEGOTIATION/NEGOTIATION_AUTO) 공고는 이 엔드포인트 전에 `POST /v2/bids/{bidRef}/negotiation-scores`(협상 점수평가)로 평가를 완료해야 합니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
2085
2077
  * @summary 낙찰 결과 전송
2086
2078
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
2087
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
2079
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2088
2080
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
2089
2081
  * @param {*} [options] Override http request option.
2090
2082
  * @throws {RequiredError}
@@ -2096,7 +2088,7 @@ export class PartnerApiApi extends BaseAPI {
2096
2088
  /**
2097
2089
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
2098
2090
  * @summary 공고 등록
2099
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
2091
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2100
2092
  * @param {CreateBidRequestDto} createBidRequestDto
2101
2093
  * @param {*} [options] Override http request option.
2102
2094
  * @throws {RequiredError}
@@ -2108,7 +2100,7 @@ export class PartnerApiApi extends BaseAPI {
2108
2100
  /**
2109
2101
  * 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
2110
2102
  * @summary 계약 발행대상 등록
2111
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
2103
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2112
2104
  * @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
2113
2105
  * @param {*} [options] Override http request option.
2114
2106
  * @throws {RequiredError}
@@ -2121,7 +2113,7 @@ export class PartnerApiApi extends BaseAPI {
2121
2113
  * 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
2122
2114
  * @summary 계산서 분할 발급 청구
2123
2115
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
2124
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
2116
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2125
2117
  * @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
2126
2118
  * @param {*} [options] Override http request option.
2127
2119
  * @throws {RequiredError}
@@ -2134,7 +2126,7 @@ export class PartnerApiApi extends BaseAPI {
2134
2126
  * 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
2135
2127
  * @summary 낙찰 되돌리기
2136
2128
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
2137
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
2129
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2138
2130
  * @param {RevertAwardRequestDto} revertAwardRequestDto
2139
2131
  * @param {*} [options] Override http request option.
2140
2132
  * @throws {RequiredError}
@@ -2147,7 +2139,7 @@ export class PartnerApiApi extends BaseAPI {
2147
2139
  * 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 이 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
2148
2140
  * @summary 협상 점수평가
2149
2141
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
2150
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
2142
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2151
2143
  * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
2152
2144
  * @param {*} [options] Override http request option.
2153
2145
  * @throws {RequiredError}
@@ -2160,21 +2152,20 @@ export class PartnerApiApi extends BaseAPI {
2160
2152
  * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
2161
2153
  * @summary 공고 수정
2162
2154
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
2163
- * @param {string} ifMatch
2164
- * @param {string} ifMatch2 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 사이 공고가 바뀌었으면 412 거절되며 아무것도 수정되지 않습니다.
2165
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 로 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
2155
+ * @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다.
2156
+ * @param {string} idempotencyKey 멱등성 (1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2166
2157
  * @param {UpdateBidRequestDto} updateBidRequestDto
2167
2158
  * @param {*} [options] Override http request option.
2168
2159
  * @throws {RequiredError}
2169
2160
  */
2170
- public updateBid(bidRef: string, ifMatch: string, ifMatch2: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig) {
2171
- return PartnerApiApiFp(this.configuration).updateBid(bidRef, ifMatch, ifMatch2, idempotencyKey, updateBidRequestDto, options).then((request) => request(this.axios, this.basePath));
2161
+ public updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig) {
2162
+ return PartnerApiApiFp(this.configuration).updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options).then((request) => request(this.axios, this.basePath));
2172
2163
  }
2173
2164
 
2174
2165
  /**
2175
2166
  * 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로 실으세요. 스코프 `files:write` + `Idempotency-Key` 헤더가 필요합니다.
2176
2167
  * @summary 공고 첨부파일 업로드
2177
- * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). 같은 키 + 같은 body 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
2168
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2178
2169
  * @param {UploadFileRequestDto} uploadFileRequestDto
2179
2170
  * @param {*} [options] Override http request option.
2180
2171
  * @throws {RequiredError}