@cmarket/partner-sdk 35.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 (924) hide show
  1. package/README.md +58 -96
  2. package/api/oauth-api.ts +2 -2
  3. package/api/{partner-v2-api.ts → partner-api-api.ts} +437 -259
  4. package/api/products-api.ts +209 -0
  5. package/api/well-known-api.ts +2 -2
  6. package/api.ts +4 -4
  7. package/base.ts +2 -2
  8. package/common.ts +2 -2
  9. package/configuration.ts +2 -2
  10. package/dist/api/oauth-api.d.ts +2 -2
  11. package/dist/api/oauth-api.js +2 -2
  12. package/dist/api/{partner-v2-api.d.ts → partner-api-api.d.ts} +253 -177
  13. package/dist/api/{partner-v2-api.js → partner-api-api.js} +424 -260
  14. package/dist/api/products-api.d.ts +101 -0
  15. package/dist/api/products-api.js +204 -0
  16. package/dist/api/well-known-api.d.ts +2 -2
  17. package/dist/api/well-known-api.js +2 -2
  18. package/dist/api.d.ts +4 -4
  19. package/dist/api.js +4 -4
  20. package/dist/base.d.ts +2 -2
  21. package/dist/base.js +2 -2
  22. package/dist/common.d.ts +2 -2
  23. package/dist/common.js +2 -2
  24. package/dist/configuration.d.ts +2 -2
  25. package/dist/configuration.js +2 -2
  26. package/dist/esm/api/oauth-api.d.ts +2 -2
  27. package/dist/esm/api/oauth-api.js +2 -2
  28. package/dist/esm/api/{partner-v2-api.d.ts → partner-api-api.d.ts} +253 -177
  29. package/dist/esm/api/{partner-v2-api.js → partner-api-api.js} +419 -255
  30. package/dist/esm/api/products-api.d.ts +101 -0
  31. package/dist/esm/api/products-api.js +197 -0
  32. package/dist/esm/api/well-known-api.d.ts +2 -2
  33. package/dist/esm/api/well-known-api.js +2 -2
  34. package/dist/esm/api.d.ts +4 -4
  35. package/dist/esm/api.js +4 -4
  36. package/dist/esm/base.d.ts +2 -2
  37. package/dist/esm/base.js +2 -2
  38. package/dist/esm/common.d.ts +2 -2
  39. package/dist/esm/common.js +2 -2
  40. package/dist/esm/configuration.d.ts +2 -2
  41. package/dist/esm/configuration.js +2 -2
  42. package/dist/esm/index.d.ts +2 -2
  43. package/dist/esm/index.js +2 -2
  44. package/dist/esm/models/acceptance-result-response-dto.d.ts +3 -3
  45. package/dist/esm/models/acceptance-result-response-dto.js +2 -2
  46. package/dist/esm/models/acknowledge-product-receipt200-response.d.ts +21 -0
  47. package/dist/esm/models/acknowledge-product-receipt200-response.js +14 -0
  48. package/dist/esm/models/acknowledge-products-request-dto.d.ts +17 -0
  49. package/dist/esm/models/acknowledge-products-request-dto.js +14 -0
  50. package/dist/esm/models/api-catalog-dto.d.ts +2 -2
  51. package/dist/esm/models/api-catalog-dto.js +2 -2
  52. package/dist/esm/models/api-catalog-entry-dto.d.ts +2 -2
  53. package/dist/esm/models/api-catalog-entry-dto.js +2 -2
  54. package/dist/esm/models/api-catalog-link-dto.d.ts +2 -2
  55. package/dist/esm/models/api-catalog-link-dto.js +2 -2
  56. package/dist/esm/models/authorization-server-metadata-dto.d.ts +2 -2
  57. package/dist/esm/models/authorization-server-metadata-dto.js +2 -2
  58. package/dist/esm/models/award-method-public.d.ts +3 -3
  59. package/dist/esm/models/award-method-public.js +3 -3
  60. package/dist/esm/models/award-registered-v2-response-dto.d.ts +5 -5
  61. package/dist/esm/models/award-registered-v2-response-dto.js +2 -2
  62. package/dist/esm/models/award-reverted-v2-response-dto.d.ts +4 -4
  63. package/dist/esm/models/award-reverted-v2-response-dto.js +2 -2
  64. package/dist/esm/models/bid-acceptance-dto.d.ts +2 -2
  65. package/dist/esm/models/bid-acceptance-dto.js +2 -2
  66. package/dist/esm/models/bid-bond-dto.d.ts +2 -2
  67. package/dist/esm/models/bid-bond-dto.js +2 -2
  68. package/dist/esm/models/bid-cancelled-response-dto.d.ts +4 -4
  69. package/dist/esm/models/bid-cancelled-response-dto.js +2 -2
  70. package/dist/esm/models/bid-contact-dto.d.ts +2 -2
  71. package/dist/esm/models/bid-contact-dto.js +2 -2
  72. package/dist/esm/models/bid-contacts-dto.d.ts +2 -2
  73. package/dist/esm/models/bid-contacts-dto.js +2 -2
  74. package/dist/esm/models/bid-contract-document-dto.d.ts +2 -2
  75. package/dist/esm/models/bid-contract-document-dto.js +2 -2
  76. package/dist/esm/models/bid-delivery-terms-dto.d.ts +6 -4
  77. package/dist/esm/models/bid-delivery-terms-dto.js +2 -2
  78. package/dist/esm/models/bid-detail-response-dto.d.ts +5 -5
  79. package/dist/esm/models/bid-detail-response-dto.js +2 -2
  80. package/dist/esm/models/bid-document-dto.d.ts +2 -2
  81. package/dist/esm/models/bid-document-dto.js +2 -2
  82. package/dist/esm/models/bid-failed-v2-response-dto.d.ts +4 -4
  83. package/dist/esm/models/bid-failed-v2-response-dto.js +2 -2
  84. package/dist/esm/models/bid-item-dto.d.ts +2 -2
  85. package/dist/esm/models/bid-item-dto.js +2 -2
  86. package/dist/esm/models/bid-lifecycle-dto.d.ts +3 -3
  87. package/dist/esm/models/bid-lifecycle-dto.js +2 -2
  88. package/dist/esm/models/bid-manager-dto.d.ts +2 -2
  89. package/dist/esm/models/bid-manager-dto.js +2 -2
  90. package/dist/esm/models/bid-payment-terms-dto.d.ts +4 -3
  91. package/dist/esm/models/bid-payment-terms-dto.js +2 -2
  92. package/dist/esm/models/bid-product-dto.d.ts +2 -2
  93. package/dist/esm/models/bid-product-dto.js +2 -2
  94. package/dist/esm/models/bid-public-status.d.ts +2 -2
  95. package/dist/esm/models/bid-public-status.js +2 -2
  96. package/dist/esm/models/bid-registered-response-dto.d.ts +2 -2
  97. package/dist/esm/models/bid-registered-response-dto.js +2 -2
  98. package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +2 -2
  99. package/dist/esm/models/bid-result-participant-attachment-dto.js +2 -2
  100. package/dist/esm/models/bid-result-participant-dto.d.ts +2 -2
  101. package/dist/esm/models/bid-result-participant-dto.js +2 -2
  102. package/dist/esm/models/bid-results-response-dto.d.ts +3 -3
  103. package/dist/esm/models/bid-results-response-dto.js +2 -2
  104. package/dist/esm/models/bid-settlement-line-item-dto.d.ts +2 -2
  105. package/dist/esm/models/bid-settlement-line-item-dto.js +2 -2
  106. package/dist/esm/models/bid-settlement-participant-dto.d.ts +2 -2
  107. package/dist/esm/models/bid-settlement-participant-dto.js +2 -2
  108. package/dist/esm/models/bid-settlement-response-dto.d.ts +2 -2
  109. package/dist/esm/models/bid-settlement-response-dto.js +2 -2
  110. package/dist/esm/models/bid-statement-response-dto.d.ts +2 -2
  111. package/dist/esm/models/bid-statement-response-dto.js +2 -2
  112. package/dist/esm/models/bid-summary-dto.d.ts +9 -8
  113. package/dist/esm/models/bid-summary-dto.js +2 -2
  114. package/dist/esm/models/bid-type-public.d.ts +19 -0
  115. package/dist/esm/models/bid-type-public.js +20 -0
  116. package/dist/esm/models/bid-updated-response-dto.d.ts +2 -2
  117. package/dist/esm/models/bid-updated-response-dto.js +2 -2
  118. package/dist/esm/models/cancel-bid-request-dto.d.ts +2 -2
  119. package/dist/esm/models/cancel-bid-request-dto.js +2 -2
  120. package/dist/esm/models/cancel-bid200-response.d.ts +2 -2
  121. package/dist/esm/models/cancel-bid200-response.js +2 -2
  122. package/dist/esm/models/card-payment-request-response-dto.d.ts +2 -2
  123. package/dist/esm/models/card-payment-request-response-dto.js +2 -2
  124. package/dist/esm/models/complete-acceptance-request-dto.d.ts +4 -8
  125. package/dist/esm/models/complete-acceptance-request-dto.js +2 -2
  126. package/dist/esm/models/complete-acceptance200-response.d.ts +2 -2
  127. package/dist/esm/models/complete-acceptance200-response.js +2 -2
  128. package/dist/esm/models/complete-invoice200-response.d.ts +2 -2
  129. package/dist/esm/models/complete-invoice200-response.js +2 -2
  130. package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +2 -2
  131. package/dist/esm/models/contract-restriction-confirm-input-dto.js +2 -2
  132. package/dist/esm/models/create-bid-request-dto.d.ts +5 -5
  133. package/dist/esm/models/create-bid-request-dto.js +2 -2
  134. package/dist/esm/models/create-card-payment-dto.d.ts +41 -0
  135. package/dist/esm/models/create-card-payment-dto.js +14 -0
  136. package/dist/esm/models/create-card-payment-request-dto.d.ts +4 -4
  137. package/dist/esm/models/create-card-payment-request-dto.js +2 -2
  138. package/dist/esm/models/create-card-payment200-response.d.ts +21 -0
  139. package/dist/esm/models/create-card-payment200-response.js +14 -0
  140. package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +2 -2
  141. package/dist/esm/models/create-external-contract-documents-request-dto.js +2 -2
  142. package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +2 -2
  143. package/dist/esm/models/create-external-contract-documents-response-dto.js +2 -2
  144. package/dist/esm/models/delivery-date-type-public.d.ts +20 -0
  145. package/dist/esm/models/delivery-date-type-public.js +21 -0
  146. package/dist/esm/models/delivery-method-public.d.ts +20 -0
  147. package/dist/esm/models/delivery-method-public.js +21 -0
  148. package/dist/esm/models/excellent-procurement-public.d.ts +31 -0
  149. package/dist/esm/models/excellent-procurement-public.js +32 -0
  150. package/dist/esm/models/external-contract-document-item-dto.d.ts +2 -2
  151. package/dist/esm/models/external-contract-document-item-dto.js +2 -2
  152. package/dist/esm/models/external-contract-documents-response-dto.d.ts +2 -2
  153. package/dist/esm/models/external-contract-documents-response-dto.js +2 -2
  154. package/dist/esm/models/external-contract-item-dto.d.ts +2 -2
  155. package/dist/esm/models/external-contract-item-dto.js +2 -2
  156. package/dist/esm/models/external-contract-snapshot-dto.d.ts +2 -2
  157. package/dist/esm/models/external-contract-snapshot-dto.js +2 -2
  158. package/dist/esm/models/external-document-inputs-dto.d.ts +2 -2
  159. package/dist/esm/models/external-document-inputs-dto.js +2 -2
  160. package/dist/esm/models/file-meta-response-dto.d.ts +2 -2
  161. package/dist/esm/models/file-meta-response-dto.js +2 -2
  162. package/dist/esm/models/file-uploaded-response-dto.d.ts +3 -3
  163. package/dist/esm/models/file-uploaded-response-dto.js +2 -2
  164. package/dist/esm/models/generated-external-contract-document-dto.d.ts +2 -2
  165. package/dist/esm/models/generated-external-contract-document-dto.js +2 -2
  166. package/dist/esm/models/get-bid-settlement200-response.d.ts +2 -2
  167. package/dist/esm/models/get-bid-settlement200-response.js +2 -2
  168. package/dist/esm/models/get-bid-statement200-response.d.ts +2 -2
  169. package/dist/esm/models/get-bid-statement200-response.js +2 -2
  170. package/dist/esm/models/get-bid200-response.d.ts +2 -2
  171. package/dist/esm/models/get-bid200-response.js +2 -2
  172. package/dist/esm/models/get-file-meta200-response.d.ts +2 -2
  173. package/dist/esm/models/get-file-meta200-response.js +2 -2
  174. package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +21 -0
  175. package/dist/esm/models/get-supplier-card-payable-v2200-response.js +14 -0
  176. package/dist/esm/models/green-product-public.d.ts +21 -0
  177. package/dist/esm/models/green-product-public.js +22 -0
  178. package/dist/esm/models/health-controller-check200-response.d.ts +2 -2
  179. package/dist/esm/models/health-controller-check200-response.js +2 -2
  180. package/dist/esm/models/health-response-dto.d.ts +2 -2
  181. package/dist/esm/models/health-response-dto.js +2 -2
  182. package/dist/esm/models/hierarchical-region-dto.d.ts +2 -2
  183. package/dist/esm/models/hierarchical-region-dto.js +2 -2
  184. package/dist/esm/models/index.d.ts +22 -39
  185. package/dist/esm/models/index.js +22 -39
  186. package/dist/esm/models/introspect-request-dto.d.ts +2 -2
  187. package/dist/esm/models/introspect-request-dto.js +2 -2
  188. package/dist/esm/models/introspection-response-dto.d.ts +2 -2
  189. package/dist/esm/models/introspection-response-dto.js +2 -2
  190. package/dist/esm/models/invalid-param-dto.d.ts +3 -3
  191. package/dist/esm/models/invalid-param-dto.js +2 -2
  192. package/dist/esm/models/invoice-completed-response-dto.d.ts +2 -2
  193. package/dist/esm/models/invoice-completed-response-dto.js +2 -2
  194. package/dist/esm/models/invoice-split-response-dto.d.ts +17 -0
  195. package/dist/esm/models/invoice-split-response-dto.js +14 -0
  196. package/dist/esm/models/legal-mandatory-public.d.ts +25 -0
  197. package/dist/esm/models/legal-mandatory-public.js +26 -0
  198. package/dist/esm/models/list-bid-results200-response.d.ts +2 -2
  199. package/dist/esm/models/list-bid-results200-response.js +2 -2
  200. package/dist/esm/models/list-bids-response-dto.d.ts +2 -2
  201. package/dist/esm/models/list-bids-response-dto.js +2 -2
  202. package/dist/esm/models/list-bids200-response.d.ts +2 -2
  203. package/dist/esm/models/list-bids200-response.js +2 -2
  204. package/dist/esm/models/list-products200-response.d.ts +21 -0
  205. package/dist/esm/models/list-products200-response.js +14 -0
  206. package/dist/esm/models/mark-bid-failed-request-dto.d.ts +3 -3
  207. package/dist/esm/models/mark-bid-failed-request-dto.js +2 -2
  208. package/dist/esm/models/mark-bid-failed201-response.d.ts +2 -2
  209. package/dist/esm/models/mark-bid-failed201-response.js +2 -2
  210. package/dist/esm/models/negotiation-score-dto.d.ts +25 -0
  211. package/dist/esm/models/negotiation-score-dto.js +14 -0
  212. package/dist/esm/models/negotiation-scored-v2-response-dto.d.ts +29 -0
  213. package/dist/esm/models/negotiation-scored-v2-response-dto.js +16 -0
  214. package/dist/esm/models/oauth-error-response-dto.d.ts +2 -2
  215. package/dist/esm/models/oauth-error-response-dto.js +2 -2
  216. package/dist/esm/models/payment-method-public.d.ts +19 -0
  217. package/dist/esm/models/payment-method-public.js +20 -0
  218. package/dist/esm/models/preconditions-dto.d.ts +11 -50
  219. package/dist/esm/models/preconditions-dto.js +3 -33
  220. package/dist/esm/models/problem-details-dto.d.ts +3 -3
  221. package/dist/esm/models/problem-details-dto.js +2 -2
  222. package/dist/esm/models/product-receipt-response-dto.d.ts +17 -0
  223. package/dist/esm/models/product-receipt-response-dto.js +14 -0
  224. package/dist/esm/models/product-response-dto.d.ts +77 -0
  225. package/dist/esm/models/product-response-dto.js +14 -0
  226. package/dist/esm/models/protected-resource-metadata-dto.d.ts +2 -2
  227. package/dist/esm/models/protected-resource-metadata-dto.js +2 -2
  228. package/dist/esm/models/register-award-request-dto.d.ts +4 -4
  229. package/dist/esm/models/register-award-request-dto.js +2 -2
  230. package/dist/esm/models/register-award201-response.d.ts +2 -2
  231. package/dist/esm/models/register-award201-response.js +2 -2
  232. package/dist/esm/models/register-bid201-response.d.ts +2 -2
  233. package/dist/esm/models/register-bid201-response.js +2 -2
  234. package/dist/esm/models/register-semo-contract-request-dto.d.ts +2 -2
  235. package/dist/esm/models/register-semo-contract-request-dto.js +2 -2
  236. package/dist/esm/models/request-invoice-split-request-dto.d.ts +25 -0
  237. package/dist/esm/models/request-invoice-split-request-dto.js +14 -0
  238. package/dist/esm/models/request-invoice-split200-response.d.ts +21 -0
  239. package/dist/esm/models/request-invoice-split200-response.js +14 -0
  240. package/dist/esm/models/retiree-roster-input-dto.d.ts +2 -2
  241. package/dist/esm/models/retiree-roster-input-dto.js +2 -2
  242. package/dist/esm/models/retiree-roster-row-dto.d.ts +2 -2
  243. package/dist/esm/models/retiree-roster-row-dto.js +2 -2
  244. package/dist/esm/models/revert-award-request-dto.d.ts +2 -2
  245. package/dist/esm/models/revert-award-request-dto.js +2 -2
  246. package/dist/esm/models/revert-award200-response.d.ts +2 -2
  247. package/dist/esm/models/revert-award200-response.js +2 -2
  248. package/dist/esm/models/revoke-request-dto.d.ts +2 -2
  249. package/dist/esm/models/revoke-request-dto.js +2 -2
  250. package/dist/esm/models/semo-contract-registered-response-dto.d.ts +2 -2
  251. package/dist/esm/models/semo-contract-registered-response-dto.js +2 -2
  252. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +2 -2
  253. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +2 -2
  254. package/dist/esm/models/statement-document-dto.d.ts +2 -2
  255. package/dist/esm/models/statement-document-dto.js +2 -2
  256. package/dist/esm/models/statement-product-dto.d.ts +3 -3
  257. package/dist/esm/models/statement-product-dto.js +2 -2
  258. package/dist/esm/models/submit-negotiation-scores-request-dto.d.ts +22 -0
  259. package/dist/esm/models/submit-negotiation-scores-request-dto.js +14 -0
  260. package/dist/esm/models/submit-negotiation-scores201-response.d.ts +21 -0
  261. package/dist/esm/models/submit-negotiation-scores201-response.js +14 -0
  262. package/dist/esm/models/supplier-card-payable-response-dto.d.ts +2 -2
  263. package/dist/esm/models/supplier-card-payable-response-dto.js +2 -2
  264. package/dist/esm/models/supplier-tax-type.d.ts +2 -2
  265. package/dist/esm/models/supplier-tax-type.js +2 -2
  266. package/dist/esm/models/token-request-dto.d.ts +2 -2
  267. package/dist/esm/models/token-request-dto.js +2 -2
  268. package/dist/esm/models/token-response-dto.d.ts +2 -2
  269. package/dist/esm/models/token-response-dto.js +2 -2
  270. package/dist/esm/models/update-bid-request-dto.d.ts +7 -7
  271. package/dist/esm/models/update-bid-request-dto.js +2 -2
  272. package/dist/esm/models/update-bid200-response.d.ts +2 -2
  273. package/dist/esm/models/update-bid200-response.js +2 -2
  274. package/dist/esm/models/upload-file-request-dto.d.ts +3 -3
  275. package/dist/esm/models/upload-file-request-dto.js +2 -2
  276. package/dist/esm/models/upload-file201-response.d.ts +2 -2
  277. package/dist/esm/models/upload-file201-response.js +2 -2
  278. package/dist/esm/partner-client.d.ts +2 -2
  279. package/dist/esm/partner-client.js +2 -2
  280. package/dist/index.d.ts +2 -2
  281. package/dist/index.js +2 -2
  282. package/dist/models/acceptance-result-response-dto.d.ts +3 -3
  283. package/dist/models/acceptance-result-response-dto.js +2 -2
  284. package/dist/models/acknowledge-product-receipt200-response.d.ts +21 -0
  285. package/dist/models/acknowledge-product-receipt200-response.js +15 -0
  286. package/dist/models/acknowledge-products-request-dto.d.ts +17 -0
  287. package/dist/models/acknowledge-products-request-dto.js +15 -0
  288. package/dist/models/api-catalog-dto.d.ts +2 -2
  289. package/dist/models/api-catalog-dto.js +2 -2
  290. package/dist/models/api-catalog-entry-dto.d.ts +2 -2
  291. package/dist/models/api-catalog-entry-dto.js +2 -2
  292. package/dist/models/api-catalog-link-dto.d.ts +2 -2
  293. package/dist/models/api-catalog-link-dto.js +2 -2
  294. package/dist/models/authorization-server-metadata-dto.d.ts +2 -2
  295. package/dist/models/authorization-server-metadata-dto.js +2 -2
  296. package/dist/models/award-method-public.d.ts +3 -3
  297. package/dist/models/award-method-public.js +3 -3
  298. package/dist/models/award-registered-v2-response-dto.d.ts +5 -5
  299. package/dist/models/award-registered-v2-response-dto.js +2 -2
  300. package/dist/models/award-reverted-v2-response-dto.d.ts +4 -4
  301. package/dist/models/award-reverted-v2-response-dto.js +2 -2
  302. package/dist/models/bid-acceptance-dto.d.ts +2 -2
  303. package/dist/models/bid-acceptance-dto.js +2 -2
  304. package/dist/models/bid-bond-dto.d.ts +2 -2
  305. package/dist/models/bid-bond-dto.js +2 -2
  306. package/dist/models/bid-cancelled-response-dto.d.ts +4 -4
  307. package/dist/models/bid-cancelled-response-dto.js +2 -2
  308. package/dist/models/bid-contact-dto.d.ts +2 -2
  309. package/dist/models/bid-contact-dto.js +2 -2
  310. package/dist/models/bid-contacts-dto.d.ts +2 -2
  311. package/dist/models/bid-contacts-dto.js +2 -2
  312. package/dist/models/bid-contract-document-dto.d.ts +2 -2
  313. package/dist/models/bid-contract-document-dto.js +2 -2
  314. package/dist/models/bid-delivery-terms-dto.d.ts +6 -4
  315. package/dist/models/bid-delivery-terms-dto.js +2 -2
  316. package/dist/models/bid-detail-response-dto.d.ts +5 -5
  317. package/dist/models/bid-detail-response-dto.js +2 -2
  318. package/dist/models/bid-document-dto.d.ts +2 -2
  319. package/dist/models/bid-document-dto.js +2 -2
  320. package/dist/models/bid-failed-v2-response-dto.d.ts +4 -4
  321. package/dist/models/bid-failed-v2-response-dto.js +2 -2
  322. package/dist/models/bid-item-dto.d.ts +2 -2
  323. package/dist/models/bid-item-dto.js +2 -2
  324. package/dist/models/bid-lifecycle-dto.d.ts +3 -3
  325. package/dist/models/bid-lifecycle-dto.js +2 -2
  326. package/dist/models/bid-manager-dto.d.ts +2 -2
  327. package/dist/models/bid-manager-dto.js +2 -2
  328. package/dist/models/bid-payment-terms-dto.d.ts +4 -3
  329. package/dist/models/bid-payment-terms-dto.js +2 -2
  330. package/dist/models/bid-product-dto.d.ts +2 -2
  331. package/dist/models/bid-product-dto.js +2 -2
  332. package/dist/models/bid-public-status.d.ts +2 -2
  333. package/dist/models/bid-public-status.js +2 -2
  334. package/dist/models/bid-registered-response-dto.d.ts +2 -2
  335. package/dist/models/bid-registered-response-dto.js +2 -2
  336. package/dist/models/bid-result-participant-attachment-dto.d.ts +2 -2
  337. package/dist/models/bid-result-participant-attachment-dto.js +2 -2
  338. package/dist/models/bid-result-participant-dto.d.ts +2 -2
  339. package/dist/models/bid-result-participant-dto.js +2 -2
  340. package/dist/models/bid-results-response-dto.d.ts +3 -3
  341. package/dist/models/bid-results-response-dto.js +2 -2
  342. package/dist/models/bid-settlement-line-item-dto.d.ts +2 -2
  343. package/dist/models/bid-settlement-line-item-dto.js +2 -2
  344. package/dist/models/bid-settlement-participant-dto.d.ts +2 -2
  345. package/dist/models/bid-settlement-participant-dto.js +2 -2
  346. package/dist/models/bid-settlement-response-dto.d.ts +2 -2
  347. package/dist/models/bid-settlement-response-dto.js +2 -2
  348. package/dist/models/bid-statement-response-dto.d.ts +2 -2
  349. package/dist/models/bid-statement-response-dto.js +2 -2
  350. package/dist/models/bid-summary-dto.d.ts +9 -8
  351. package/dist/models/bid-summary-dto.js +2 -2
  352. package/dist/models/bid-type-public.d.ts +19 -0
  353. package/dist/models/bid-type-public.js +23 -0
  354. package/dist/models/bid-updated-response-dto.d.ts +2 -2
  355. package/dist/models/bid-updated-response-dto.js +2 -2
  356. package/dist/models/cancel-bid-request-dto.d.ts +2 -2
  357. package/dist/models/cancel-bid-request-dto.js +2 -2
  358. package/dist/models/cancel-bid200-response.d.ts +2 -2
  359. package/dist/models/cancel-bid200-response.js +2 -2
  360. package/dist/models/card-payment-request-response-dto.d.ts +2 -2
  361. package/dist/models/card-payment-request-response-dto.js +2 -2
  362. package/dist/models/complete-acceptance-request-dto.d.ts +4 -8
  363. package/dist/models/complete-acceptance-request-dto.js +2 -2
  364. package/dist/models/complete-acceptance200-response.d.ts +2 -2
  365. package/dist/models/complete-acceptance200-response.js +2 -2
  366. package/dist/models/complete-invoice200-response.d.ts +2 -2
  367. package/dist/models/complete-invoice200-response.js +2 -2
  368. package/dist/models/contract-restriction-confirm-input-dto.d.ts +2 -2
  369. package/dist/models/contract-restriction-confirm-input-dto.js +2 -2
  370. package/dist/models/create-bid-request-dto.d.ts +5 -5
  371. package/dist/models/create-bid-request-dto.js +2 -2
  372. package/dist/models/create-card-payment-dto.d.ts +41 -0
  373. package/dist/models/create-card-payment-dto.js +15 -0
  374. package/dist/models/create-card-payment-request-dto.d.ts +4 -4
  375. package/dist/models/create-card-payment-request-dto.js +2 -2
  376. package/dist/models/create-card-payment200-response.d.ts +21 -0
  377. package/dist/models/create-card-payment200-response.js +15 -0
  378. package/dist/models/create-external-contract-documents-request-dto.d.ts +2 -2
  379. package/dist/models/create-external-contract-documents-request-dto.js +2 -2
  380. package/dist/models/create-external-contract-documents-response-dto.d.ts +2 -2
  381. package/dist/models/create-external-contract-documents-response-dto.js +2 -2
  382. package/dist/models/delivery-date-type-public.d.ts +20 -0
  383. package/dist/models/delivery-date-type-public.js +24 -0
  384. package/dist/models/delivery-method-public.d.ts +20 -0
  385. package/dist/models/delivery-method-public.js +24 -0
  386. package/dist/models/excellent-procurement-public.d.ts +31 -0
  387. package/dist/models/excellent-procurement-public.js +35 -0
  388. package/dist/models/external-contract-document-item-dto.d.ts +2 -2
  389. package/dist/models/external-contract-document-item-dto.js +2 -2
  390. package/dist/models/external-contract-documents-response-dto.d.ts +2 -2
  391. package/dist/models/external-contract-documents-response-dto.js +2 -2
  392. package/dist/models/external-contract-item-dto.d.ts +2 -2
  393. package/dist/models/external-contract-item-dto.js +2 -2
  394. package/dist/models/external-contract-snapshot-dto.d.ts +2 -2
  395. package/dist/models/external-contract-snapshot-dto.js +2 -2
  396. package/dist/models/external-document-inputs-dto.d.ts +2 -2
  397. package/dist/models/external-document-inputs-dto.js +2 -2
  398. package/dist/models/file-meta-response-dto.d.ts +2 -2
  399. package/dist/models/file-meta-response-dto.js +2 -2
  400. package/dist/models/file-uploaded-response-dto.d.ts +3 -3
  401. package/dist/models/file-uploaded-response-dto.js +2 -2
  402. package/dist/models/generated-external-contract-document-dto.d.ts +2 -2
  403. package/dist/models/generated-external-contract-document-dto.js +2 -2
  404. package/dist/models/get-bid-settlement200-response.d.ts +2 -2
  405. package/dist/models/get-bid-settlement200-response.js +2 -2
  406. package/dist/models/get-bid-statement200-response.d.ts +2 -2
  407. package/dist/models/get-bid-statement200-response.js +2 -2
  408. package/dist/models/get-bid200-response.d.ts +2 -2
  409. package/dist/models/get-bid200-response.js +2 -2
  410. package/dist/models/get-file-meta200-response.d.ts +2 -2
  411. package/dist/models/get-file-meta200-response.js +2 -2
  412. package/dist/models/get-supplier-card-payable-v2200-response.d.ts +21 -0
  413. package/dist/models/get-supplier-card-payable-v2200-response.js +15 -0
  414. package/dist/models/green-product-public.d.ts +21 -0
  415. package/dist/models/green-product-public.js +25 -0
  416. package/dist/models/health-controller-check200-response.d.ts +2 -2
  417. package/dist/models/health-controller-check200-response.js +2 -2
  418. package/dist/models/health-response-dto.d.ts +2 -2
  419. package/dist/models/health-response-dto.js +2 -2
  420. package/dist/models/hierarchical-region-dto.d.ts +2 -2
  421. package/dist/models/hierarchical-region-dto.js +2 -2
  422. package/dist/models/index.d.ts +22 -39
  423. package/dist/models/index.js +22 -39
  424. package/dist/models/introspect-request-dto.d.ts +2 -2
  425. package/dist/models/introspect-request-dto.js +2 -2
  426. package/dist/models/introspection-response-dto.d.ts +2 -2
  427. package/dist/models/introspection-response-dto.js +2 -2
  428. package/dist/models/invalid-param-dto.d.ts +3 -3
  429. package/dist/models/invalid-param-dto.js +2 -2
  430. package/dist/models/invoice-completed-response-dto.d.ts +2 -2
  431. package/dist/models/invoice-completed-response-dto.js +2 -2
  432. package/dist/models/invoice-split-response-dto.d.ts +17 -0
  433. package/dist/models/invoice-split-response-dto.js +15 -0
  434. package/dist/models/legal-mandatory-public.d.ts +25 -0
  435. package/dist/models/legal-mandatory-public.js +29 -0
  436. package/dist/models/list-bid-results200-response.d.ts +2 -2
  437. package/dist/models/list-bid-results200-response.js +2 -2
  438. package/dist/models/list-bids-response-dto.d.ts +2 -2
  439. package/dist/models/list-bids-response-dto.js +2 -2
  440. package/dist/models/list-bids200-response.d.ts +2 -2
  441. package/dist/models/list-bids200-response.js +2 -2
  442. package/dist/models/list-products200-response.d.ts +21 -0
  443. package/dist/models/list-products200-response.js +15 -0
  444. package/dist/models/mark-bid-failed-request-dto.d.ts +3 -3
  445. package/dist/models/mark-bid-failed-request-dto.js +2 -2
  446. package/dist/models/mark-bid-failed201-response.d.ts +2 -2
  447. package/dist/models/mark-bid-failed201-response.js +2 -2
  448. package/dist/models/negotiation-score-dto.d.ts +25 -0
  449. package/dist/models/negotiation-score-dto.js +15 -0
  450. package/dist/models/negotiation-scored-v2-response-dto.d.ts +29 -0
  451. package/dist/models/negotiation-scored-v2-response-dto.js +19 -0
  452. package/dist/models/oauth-error-response-dto.d.ts +2 -2
  453. package/dist/models/oauth-error-response-dto.js +2 -2
  454. package/dist/models/payment-method-public.d.ts +19 -0
  455. package/dist/models/payment-method-public.js +23 -0
  456. package/dist/models/preconditions-dto.d.ts +11 -50
  457. package/dist/models/preconditions-dto.js +2 -34
  458. package/dist/models/problem-details-dto.d.ts +3 -3
  459. package/dist/models/problem-details-dto.js +2 -2
  460. package/dist/models/product-receipt-response-dto.d.ts +17 -0
  461. package/dist/models/product-receipt-response-dto.js +15 -0
  462. package/dist/models/product-response-dto.d.ts +77 -0
  463. package/dist/models/product-response-dto.js +15 -0
  464. package/dist/models/protected-resource-metadata-dto.d.ts +2 -2
  465. package/dist/models/protected-resource-metadata-dto.js +2 -2
  466. package/dist/models/register-award-request-dto.d.ts +4 -4
  467. package/dist/models/register-award-request-dto.js +2 -2
  468. package/dist/models/register-award201-response.d.ts +2 -2
  469. package/dist/models/register-award201-response.js +2 -2
  470. package/dist/models/register-bid201-response.d.ts +2 -2
  471. package/dist/models/register-bid201-response.js +2 -2
  472. package/dist/models/register-semo-contract-request-dto.d.ts +2 -2
  473. package/dist/models/register-semo-contract-request-dto.js +2 -2
  474. package/dist/models/request-invoice-split-request-dto.d.ts +25 -0
  475. package/dist/models/request-invoice-split-request-dto.js +15 -0
  476. package/dist/models/request-invoice-split200-response.d.ts +21 -0
  477. package/dist/models/request-invoice-split200-response.js +15 -0
  478. package/dist/models/retiree-roster-input-dto.d.ts +2 -2
  479. package/dist/models/retiree-roster-input-dto.js +2 -2
  480. package/dist/models/retiree-roster-row-dto.d.ts +2 -2
  481. package/dist/models/retiree-roster-row-dto.js +2 -2
  482. package/dist/models/revert-award-request-dto.d.ts +2 -2
  483. package/dist/models/revert-award-request-dto.js +2 -2
  484. package/dist/models/revert-award200-response.d.ts +2 -2
  485. package/dist/models/revert-award200-response.js +2 -2
  486. package/dist/models/revoke-request-dto.d.ts +2 -2
  487. package/dist/models/revoke-request-dto.js +2 -2
  488. package/dist/models/semo-contract-registered-response-dto.d.ts +2 -2
  489. package/dist/models/semo-contract-registered-response-dto.js +2 -2
  490. package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +2 -2
  491. package/dist/models/semo-contract-taxinvoice-status-response-dto.js +2 -2
  492. package/dist/models/statement-document-dto.d.ts +2 -2
  493. package/dist/models/statement-document-dto.js +2 -2
  494. package/dist/models/statement-product-dto.d.ts +3 -3
  495. package/dist/models/statement-product-dto.js +2 -2
  496. package/dist/models/submit-negotiation-scores-request-dto.d.ts +22 -0
  497. package/dist/models/submit-negotiation-scores-request-dto.js +15 -0
  498. package/dist/models/submit-negotiation-scores201-response.d.ts +21 -0
  499. package/dist/models/submit-negotiation-scores201-response.js +15 -0
  500. package/dist/models/supplier-card-payable-response-dto.d.ts +2 -2
  501. package/dist/models/supplier-card-payable-response-dto.js +2 -2
  502. package/dist/models/supplier-tax-type.d.ts +2 -2
  503. package/dist/models/supplier-tax-type.js +2 -2
  504. package/dist/models/token-request-dto.d.ts +2 -2
  505. package/dist/models/token-request-dto.js +2 -2
  506. package/dist/models/token-response-dto.d.ts +2 -2
  507. package/dist/models/token-response-dto.js +2 -2
  508. package/dist/models/update-bid-request-dto.d.ts +7 -7
  509. package/dist/models/update-bid-request-dto.js +2 -2
  510. package/dist/models/update-bid200-response.d.ts +2 -2
  511. package/dist/models/update-bid200-response.js +2 -2
  512. package/dist/models/upload-file-request-dto.d.ts +3 -3
  513. package/dist/models/upload-file-request-dto.js +2 -2
  514. package/dist/models/upload-file201-response.d.ts +2 -2
  515. package/dist/models/upload-file201-response.js +2 -2
  516. package/dist/partner-client.d.ts +2 -2
  517. package/dist/partner-client.js +1 -1
  518. package/docs/AcceptanceResultResponseDto.md +1 -1
  519. package/docs/AcknowledgeProductReceipt200Response.md +22 -0
  520. package/docs/AcknowledgeProductsRequestDto.md +20 -0
  521. package/docs/AwardMethodPublic.md +1 -1
  522. package/docs/AwardRegisteredV2ResponseDto.md +3 -3
  523. package/docs/AwardRevertedV2ResponseDto.md +2 -2
  524. package/docs/BidCancelledResponseDto.md +2 -2
  525. package/docs/BidDeliveryTermsDto.md +2 -2
  526. package/docs/BidDetailResponseDto.md +3 -3
  527. package/docs/BidFailedV2ResponseDto.md +2 -2
  528. package/docs/BidLifecycleDto.md +1 -1
  529. package/docs/BidPaymentTermsDto.md +1 -1
  530. package/docs/BidResultsResponseDto.md +1 -1
  531. package/docs/BidSummaryDto.md +6 -6
  532. package/docs/BidTypePublic.md +11 -0
  533. package/docs/CompleteAcceptanceRequestDto.md +2 -4
  534. package/docs/CreateBidRequestDto.md +6 -6
  535. package/docs/CreateCardPayment200Response.md +22 -0
  536. package/docs/CreateCardPaymentDto.md +32 -0
  537. package/docs/CreateCardPaymentRequestDto.md +2 -2
  538. package/docs/DeliveryDateTypePublic.md +13 -0
  539. package/docs/DeliveryMethodPublic.md +13 -0
  540. package/docs/ExcellentProcurementPublic.md +35 -0
  541. package/docs/FileUploadedResponseDto.md +1 -1
  542. package/docs/GetSupplierCardPayableV2200Response.md +22 -0
  543. package/docs/GreenProductPublic.md +15 -0
  544. package/docs/InvalidParamDto.md +1 -1
  545. package/docs/{AcceptanceResultV1ResponseDto.md → InvoiceSplitResponseDto.md} +4 -4
  546. package/docs/LegalMandatoryPublic.md +23 -0
  547. package/docs/ListProducts200Response.md +22 -0
  548. package/docs/MarkBidFailedRequestDto.md +1 -1
  549. package/docs/NegotiationScoreDto.md +24 -0
  550. package/docs/NegotiationScoredV2ResponseDto.md +24 -0
  551. package/docs/{PartnerV2Api.md → PartnerApiApi.md} +355 -212
  552. package/docs/PaymentMethodPublic.md +11 -0
  553. package/docs/PreconditionsDto.md +3 -7
  554. package/docs/ProblemDetailsDto.md +1 -1
  555. package/docs/ProductReceiptResponseDto.md +20 -0
  556. package/docs/ProductResponseDto.md +50 -0
  557. package/docs/ProductsApi.md +124 -0
  558. package/docs/RegisterAwardRequestDto.md +2 -2
  559. package/docs/RequestInvoiceSplit200Response.md +22 -0
  560. package/docs/RequestInvoiceSplitRequestDto.md +24 -0
  561. package/docs/StatementProductDto.md +2 -2
  562. package/docs/SubmitNegotiationScores201Response.md +22 -0
  563. package/docs/SubmitNegotiationScoresRequestDto.md +22 -0
  564. package/docs/UpdateBidRequestDto.md +10 -10
  565. package/docs/UploadFileRequestDto.md +1 -1
  566. package/index.ts +2 -2
  567. package/models/acceptance-result-response-dto.ts +3 -3
  568. package/models/acknowledge-product-receipt200-response.ts +27 -0
  569. package/models/acknowledge-products-request-dto.ts +23 -0
  570. package/models/api-catalog-dto.ts +2 -2
  571. package/models/api-catalog-entry-dto.ts +2 -2
  572. package/models/api-catalog-link-dto.ts +2 -2
  573. package/models/authorization-server-metadata-dto.ts +2 -2
  574. package/models/award-method-public.ts +3 -3
  575. package/models/award-registered-v2-response-dto.ts +5 -5
  576. package/models/award-reverted-v2-response-dto.ts +4 -4
  577. package/models/bid-acceptance-dto.ts +2 -2
  578. package/models/bid-bond-dto.ts +2 -2
  579. package/models/bid-cancelled-response-dto.ts +4 -4
  580. package/models/bid-contact-dto.ts +2 -2
  581. package/models/bid-contacts-dto.ts +2 -2
  582. package/models/bid-contract-document-dto.ts +2 -2
  583. package/models/bid-delivery-terms-dto.ts +12 -4
  584. package/models/bid-detail-response-dto.ts +5 -5
  585. package/models/bid-document-dto.ts +2 -2
  586. package/models/bid-failed-v2-response-dto.ts +4 -4
  587. package/models/bid-item-dto.ts +2 -2
  588. package/models/bid-lifecycle-dto.ts +3 -3
  589. package/models/bid-manager-dto.ts +2 -2
  590. package/models/bid-payment-terms-dto.ts +8 -3
  591. package/models/bid-product-dto.ts +2 -2
  592. package/models/bid-public-status.ts +2 -2
  593. package/models/bid-registered-response-dto.ts +2 -2
  594. package/models/bid-result-participant-attachment-dto.ts +2 -2
  595. package/models/bid-result-participant-dto.ts +2 -2
  596. package/models/bid-results-response-dto.ts +3 -3
  597. package/models/bid-settlement-line-item-dto.ts +2 -2
  598. package/models/bid-settlement-participant-dto.ts +2 -2
  599. package/models/bid-settlement-response-dto.ts +2 -2
  600. package/models/bid-statement-response-dto.ts +2 -2
  601. package/models/bid-summary-dto.ts +11 -8
  602. package/models/bid-type-public.ts +29 -0
  603. package/models/bid-updated-response-dto.ts +2 -2
  604. package/models/cancel-bid-request-dto.ts +2 -2
  605. package/models/cancel-bid200-response.ts +2 -2
  606. package/models/card-payment-request-response-dto.ts +2 -2
  607. package/models/complete-acceptance-request-dto.ts +4 -8
  608. package/models/complete-acceptance200-response.ts +2 -2
  609. package/models/complete-invoice200-response.ts +2 -2
  610. package/models/contract-restriction-confirm-input-dto.ts +2 -2
  611. package/models/create-bid-request-dto.ts +5 -5
  612. package/models/create-card-payment-dto.ts +47 -0
  613. package/models/create-card-payment-request-dto.ts +4 -4
  614. package/models/create-card-payment200-response.ts +27 -0
  615. package/models/create-external-contract-documents-request-dto.ts +2 -2
  616. package/models/create-external-contract-documents-response-dto.ts +2 -2
  617. package/models/delivery-date-type-public.ts +30 -0
  618. package/models/delivery-method-public.ts +30 -0
  619. package/models/excellent-procurement-public.ts +41 -0
  620. package/models/external-contract-document-item-dto.ts +2 -2
  621. package/models/external-contract-documents-response-dto.ts +2 -2
  622. package/models/external-contract-item-dto.ts +2 -2
  623. package/models/external-contract-snapshot-dto.ts +2 -2
  624. package/models/external-document-inputs-dto.ts +2 -2
  625. package/models/file-meta-response-dto.ts +2 -2
  626. package/models/file-uploaded-response-dto.ts +3 -3
  627. package/models/generated-external-contract-document-dto.ts +2 -2
  628. package/models/get-bid-settlement200-response.ts +2 -2
  629. package/models/get-bid-statement200-response.ts +2 -2
  630. package/models/get-bid200-response.ts +2 -2
  631. package/models/get-file-meta200-response.ts +2 -2
  632. package/models/get-supplier-card-payable-v2200-response.ts +27 -0
  633. package/models/green-product-public.ts +31 -0
  634. package/models/health-controller-check200-response.ts +2 -2
  635. package/models/health-response-dto.ts +2 -2
  636. package/models/hierarchical-region-dto.ts +2 -2
  637. package/models/index.ts +22 -39
  638. package/models/introspect-request-dto.ts +2 -2
  639. package/models/introspection-response-dto.ts +2 -2
  640. package/models/invalid-param-dto.ts +3 -3
  641. package/models/invoice-completed-response-dto.ts +2 -2
  642. package/models/invoice-split-response-dto.ts +23 -0
  643. package/models/legal-mandatory-public.ts +35 -0
  644. package/models/list-bid-results200-response.ts +2 -2
  645. package/models/list-bids-response-dto.ts +2 -2
  646. package/models/list-bids200-response.ts +2 -2
  647. package/models/list-products200-response.ts +27 -0
  648. package/models/mark-bid-failed-request-dto.ts +3 -3
  649. package/models/mark-bid-failed201-response.ts +2 -2
  650. package/models/negotiation-score-dto.ts +31 -0
  651. package/models/negotiation-scored-v2-response-dto.ts +38 -0
  652. package/models/oauth-error-response-dto.ts +2 -2
  653. package/models/payment-method-public.ts +29 -0
  654. package/models/preconditions-dto.ts +17 -55
  655. package/models/problem-details-dto.ts +3 -3
  656. package/models/product-receipt-response-dto.ts +23 -0
  657. package/models/product-response-dto.ts +83 -0
  658. package/models/protected-resource-metadata-dto.ts +2 -2
  659. package/models/register-award-request-dto.ts +4 -4
  660. package/models/register-award201-response.ts +2 -2
  661. package/models/register-bid201-response.ts +2 -2
  662. package/models/register-semo-contract-request-dto.ts +2 -2
  663. package/models/request-invoice-split-request-dto.ts +31 -0
  664. package/models/request-invoice-split200-response.ts +27 -0
  665. package/models/retiree-roster-input-dto.ts +2 -2
  666. package/models/retiree-roster-row-dto.ts +2 -2
  667. package/models/revert-award-request-dto.ts +2 -2
  668. package/models/revert-award200-response.ts +2 -2
  669. package/models/revoke-request-dto.ts +2 -2
  670. package/models/semo-contract-registered-response-dto.ts +2 -2
  671. package/models/semo-contract-taxinvoice-status-response-dto.ts +2 -2
  672. package/models/statement-document-dto.ts +2 -2
  673. package/models/statement-product-dto.ts +3 -3
  674. package/models/submit-negotiation-scores-request-dto.ts +30 -0
  675. package/models/submit-negotiation-scores201-response.ts +27 -0
  676. package/models/supplier-card-payable-response-dto.ts +2 -2
  677. package/models/supplier-tax-type.ts +2 -2
  678. package/models/token-request-dto.ts +2 -2
  679. package/models/token-response-dto.ts +2 -2
  680. package/models/update-bid-request-dto.ts +7 -7
  681. package/models/update-bid200-response.ts +2 -2
  682. package/models/upload-file-request-dto.ts +3 -3
  683. package/models/upload-file201-response.ts +2 -2
  684. package/package.json +1 -1
  685. package/partner-client.ts +3 -3
  686. package/api/partner-v1-api.ts +0 -998
  687. package/dist/api/partner-v1-api.d.ts +0 -440
  688. package/dist/api/partner-v1-api.js +0 -913
  689. package/dist/esm/api/partner-v1-api.d.ts +0 -440
  690. package/dist/esm/api/partner-v1-api.js +0 -906
  691. package/dist/esm/models/acceptance-result-v1-response-dto.d.ts +0 -17
  692. package/dist/esm/models/acceptance-result-v1-response-dto.js +0 -14
  693. package/dist/esm/models/acknowledge-products-v1-request-dto.d.ts +0 -17
  694. package/dist/esm/models/acknowledge-products-v1-request-dto.js +0 -14
  695. package/dist/esm/models/award-registered-response-dto.d.ts +0 -17
  696. package/dist/esm/models/award-registered-response-dto.js +0 -14
  697. package/dist/esm/models/bid-attachment-v1-dto.d.ts +0 -21
  698. package/dist/esm/models/bid-attachment-v1-dto.js +0 -14
  699. package/dist/esm/models/bid-bond-v1-dto.d.ts +0 -27
  700. package/dist/esm/models/bid-bond-v1-dto.js +0 -18
  701. package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.d.ts +0 -17
  702. package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.js +0 -14
  703. package/dist/esm/models/bid-contract-documents-v1-response-dto.d.ts +0 -30
  704. package/dist/esm/models/bid-contract-documents-v1-response-dto.js +0 -14
  705. package/dist/esm/models/bid-created-response-dto.d.ts +0 -21
  706. package/dist/esm/models/bid-created-response-dto.js +0 -14
  707. package/dist/esm/models/bid-document-v1-dto.d.ts +0 -25
  708. package/dist/esm/models/bid-document-v1-dto.js +0 -14
  709. package/dist/esm/models/bid-failed-response-dto.d.ts +0 -17
  710. package/dist/esm/models/bid-failed-response-dto.js +0 -14
  711. package/dist/esm/models/bid-failure-reason.d.ts +0 -25
  712. package/dist/esm/models/bid-failure-reason.js +0 -26
  713. package/dist/esm/models/bid-item-v1-dto.d.ts +0 -41
  714. package/dist/esm/models/bid-item-v1-dto.js +0 -14
  715. package/dist/esm/models/bid-manager-v1-dto.d.ts +0 -33
  716. package/dist/esm/models/bid-manager-v1-dto.js +0 -14
  717. package/dist/esm/models/bid-result-v1-attachment-dto.d.ts +0 -33
  718. package/dist/esm/models/bid-result-v1-attachment-dto.js +0 -14
  719. package/dist/esm/models/bid-result-v1-bid-product-info-dto.d.ts +0 -45
  720. package/dist/esm/models/bid-result-v1-bid-product-info-dto.js +0 -14
  721. package/dist/esm/models/bid-result-v1-participant-dto.d.ts +0 -183
  722. package/dist/esm/models/bid-result-v1-participant-dto.js +0 -14
  723. package/dist/esm/models/bid-result-v1-product-dto.d.ts +0 -53
  724. package/dist/esm/models/bid-result-v1-product-dto.js +0 -14
  725. package/dist/esm/models/bid-results-batch-v1-request-dto.d.ts +0 -25
  726. package/dist/esm/models/bid-results-batch-v1-request-dto.js +0 -14
  727. package/dist/esm/models/bid-results-v1-response-dto.d.ts +0 -164
  728. package/dist/esm/models/bid-results-v1-response-dto.js +0 -14
  729. package/dist/esm/models/bid-statement-v1-response-dto.d.ts +0 -31
  730. package/dist/esm/models/bid-statement-v1-response-dto.js +0 -14
  731. package/dist/esm/models/bid-status.d.ts +0 -23
  732. package/dist/esm/models/bid-status.js +0 -24
  733. package/dist/esm/models/complete-acceptance-v1-request-dto.d.ts +0 -65
  734. package/dist/esm/models/complete-acceptance-v1-request-dto.js +0 -14
  735. package/dist/esm/models/contract-document-item-dto.d.ts +0 -45
  736. package/dist/esm/models/contract-document-item-dto.js +0 -14
  737. package/dist/esm/models/create-bid-v1-request-dto.d.ts +0 -331
  738. package/dist/esm/models/create-bid-v1-request-dto.js +0 -113
  739. package/dist/esm/models/file-uploaded-v1-response-dto.d.ts +0 -17
  740. package/dist/esm/models/file-uploaded-v1-response-dto.js +0 -14
  741. package/dist/esm/models/hierarchical-region-v1-dto.d.ts +0 -21
  742. package/dist/esm/models/hierarchical-region-v1-dto.js +0 -14
  743. package/dist/esm/models/mark-bid-failed-v1-request-dto.d.ts +0 -26
  744. package/dist/esm/models/mark-bid-failed-v1-request-dto.js +0 -14
  745. package/dist/esm/models/negotiation-score-v1-dto.d.ts +0 -25
  746. package/dist/esm/models/negotiation-score-v1-dto.js +0 -14
  747. package/dist/esm/models/negotiation-scored-response-dto.d.ts +0 -17
  748. package/dist/esm/models/negotiation-scored-response-dto.js +0 -14
  749. package/dist/esm/models/preconditions-v1-dto.d.ts +0 -88
  750. package/dist/esm/models/preconditions-v1-dto.js +0 -44
  751. package/dist/esm/models/product-receipt-v1-response-dto.d.ts +0 -17
  752. package/dist/esm/models/product-receipt-v1-response-dto.js +0 -14
  753. package/dist/esm/models/product-v1-response-dto.d.ts +0 -105
  754. package/dist/esm/models/product-v1-response-dto.js +0 -14
  755. package/dist/esm/models/register-award-v1-request-dto.d.ts +0 -33
  756. package/dist/esm/models/register-award-v1-request-dto.js +0 -14
  757. package/dist/esm/models/request-split-invoice-v1-request-dto.d.ts +0 -29
  758. package/dist/esm/models/request-split-invoice-v1-request-dto.js +0 -14
  759. package/dist/esm/models/split-invoice-v1-response-dto.d.ts +0 -17
  760. package/dist/esm/models/split-invoice-v1-response-dto.js +0 -14
  761. package/dist/esm/models/statement-v1-document-dto.d.ts +0 -33
  762. package/dist/esm/models/statement-v1-document-dto.js +0 -14
  763. package/dist/esm/models/statement-v1-product-dto.d.ts +0 -49
  764. package/dist/esm/models/statement-v1-product-dto.js +0 -14
  765. package/dist/esm/models/submit-negotiation-scores-v1-request-dto.d.ts +0 -22
  766. package/dist/esm/models/submit-negotiation-scores-v1-request-dto.js +0 -14
  767. package/dist/esm/models/upload-file-v1-request-dto.d.ts +0 -25
  768. package/dist/esm/models/upload-file-v1-request-dto.js +0 -14
  769. package/dist/models/acceptance-result-v1-response-dto.d.ts +0 -17
  770. package/dist/models/acceptance-result-v1-response-dto.js +0 -15
  771. package/dist/models/acknowledge-products-v1-request-dto.d.ts +0 -17
  772. package/dist/models/acknowledge-products-v1-request-dto.js +0 -15
  773. package/dist/models/award-registered-response-dto.d.ts +0 -17
  774. package/dist/models/award-registered-response-dto.js +0 -15
  775. package/dist/models/bid-attachment-v1-dto.d.ts +0 -21
  776. package/dist/models/bid-attachment-v1-dto.js +0 -15
  777. package/dist/models/bid-bond-v1-dto.d.ts +0 -27
  778. package/dist/models/bid-bond-v1-dto.js +0 -21
  779. package/dist/models/bid-contract-documents-batch-v1-request-dto.d.ts +0 -17
  780. package/dist/models/bid-contract-documents-batch-v1-request-dto.js +0 -15
  781. package/dist/models/bid-contract-documents-v1-response-dto.d.ts +0 -30
  782. package/dist/models/bid-contract-documents-v1-response-dto.js +0 -15
  783. package/dist/models/bid-created-response-dto.d.ts +0 -21
  784. package/dist/models/bid-created-response-dto.js +0 -15
  785. package/dist/models/bid-document-v1-dto.d.ts +0 -25
  786. package/dist/models/bid-document-v1-dto.js +0 -15
  787. package/dist/models/bid-failed-response-dto.d.ts +0 -17
  788. package/dist/models/bid-failed-response-dto.js +0 -15
  789. package/dist/models/bid-failure-reason.d.ts +0 -25
  790. package/dist/models/bid-failure-reason.js +0 -29
  791. package/dist/models/bid-item-v1-dto.d.ts +0 -41
  792. package/dist/models/bid-item-v1-dto.js +0 -15
  793. package/dist/models/bid-manager-v1-dto.d.ts +0 -33
  794. package/dist/models/bid-manager-v1-dto.js +0 -15
  795. package/dist/models/bid-result-v1-attachment-dto.d.ts +0 -33
  796. package/dist/models/bid-result-v1-attachment-dto.js +0 -15
  797. package/dist/models/bid-result-v1-bid-product-info-dto.d.ts +0 -45
  798. package/dist/models/bid-result-v1-bid-product-info-dto.js +0 -15
  799. package/dist/models/bid-result-v1-participant-dto.d.ts +0 -183
  800. package/dist/models/bid-result-v1-participant-dto.js +0 -15
  801. package/dist/models/bid-result-v1-product-dto.d.ts +0 -53
  802. package/dist/models/bid-result-v1-product-dto.js +0 -15
  803. package/dist/models/bid-results-batch-v1-request-dto.d.ts +0 -25
  804. package/dist/models/bid-results-batch-v1-request-dto.js +0 -15
  805. package/dist/models/bid-results-v1-response-dto.d.ts +0 -164
  806. package/dist/models/bid-results-v1-response-dto.js +0 -15
  807. package/dist/models/bid-statement-v1-response-dto.d.ts +0 -31
  808. package/dist/models/bid-statement-v1-response-dto.js +0 -15
  809. package/dist/models/bid-status.d.ts +0 -23
  810. package/dist/models/bid-status.js +0 -27
  811. package/dist/models/complete-acceptance-v1-request-dto.d.ts +0 -65
  812. package/dist/models/complete-acceptance-v1-request-dto.js +0 -15
  813. package/dist/models/contract-document-item-dto.d.ts +0 -45
  814. package/dist/models/contract-document-item-dto.js +0 -15
  815. package/dist/models/create-bid-v1-request-dto.d.ts +0 -331
  816. package/dist/models/create-bid-v1-request-dto.js +0 -116
  817. package/dist/models/file-uploaded-v1-response-dto.d.ts +0 -17
  818. package/dist/models/file-uploaded-v1-response-dto.js +0 -15
  819. package/dist/models/hierarchical-region-v1-dto.d.ts +0 -21
  820. package/dist/models/hierarchical-region-v1-dto.js +0 -15
  821. package/dist/models/mark-bid-failed-v1-request-dto.d.ts +0 -26
  822. package/dist/models/mark-bid-failed-v1-request-dto.js +0 -15
  823. package/dist/models/negotiation-score-v1-dto.d.ts +0 -25
  824. package/dist/models/negotiation-score-v1-dto.js +0 -15
  825. package/dist/models/negotiation-scored-response-dto.d.ts +0 -17
  826. package/dist/models/negotiation-scored-response-dto.js +0 -15
  827. package/dist/models/preconditions-v1-dto.d.ts +0 -88
  828. package/dist/models/preconditions-v1-dto.js +0 -47
  829. package/dist/models/product-receipt-v1-response-dto.d.ts +0 -17
  830. package/dist/models/product-receipt-v1-response-dto.js +0 -15
  831. package/dist/models/product-v1-response-dto.d.ts +0 -105
  832. package/dist/models/product-v1-response-dto.js +0 -15
  833. package/dist/models/register-award-v1-request-dto.d.ts +0 -33
  834. package/dist/models/register-award-v1-request-dto.js +0 -15
  835. package/dist/models/request-split-invoice-v1-request-dto.d.ts +0 -29
  836. package/dist/models/request-split-invoice-v1-request-dto.js +0 -15
  837. package/dist/models/split-invoice-v1-response-dto.d.ts +0 -17
  838. package/dist/models/split-invoice-v1-response-dto.js +0 -15
  839. package/dist/models/statement-v1-document-dto.d.ts +0 -33
  840. package/dist/models/statement-v1-document-dto.js +0 -15
  841. package/dist/models/statement-v1-product-dto.d.ts +0 -49
  842. package/dist/models/statement-v1-product-dto.js +0 -15
  843. package/dist/models/submit-negotiation-scores-v1-request-dto.d.ts +0 -22
  844. package/dist/models/submit-negotiation-scores-v1-request-dto.js +0 -15
  845. package/dist/models/upload-file-v1-request-dto.d.ts +0 -25
  846. package/dist/models/upload-file-v1-request-dto.js +0 -15
  847. package/docs/AcknowledgeProductsV1RequestDto.md +0 -20
  848. package/docs/AwardRegisteredResponseDto.md +0 -20
  849. package/docs/BidAttachmentV1Dto.md +0 -22
  850. package/docs/BidBondV1Dto.md +0 -22
  851. package/docs/BidContractDocumentsBatchV1RequestDto.md +0 -20
  852. package/docs/BidContractDocumentsV1ResponseDto.md +0 -26
  853. package/docs/BidCreatedResponseDto.md +0 -22
  854. package/docs/BidDocumentV1Dto.md +0 -24
  855. package/docs/BidFailedResponseDto.md +0 -20
  856. package/docs/BidFailureReason.md +0 -23
  857. package/docs/BidItemV1Dto.md +0 -32
  858. package/docs/BidManagerV1Dto.md +0 -28
  859. package/docs/BidResultV1AttachmentDto.md +0 -28
  860. package/docs/BidResultV1BidProductInfoDto.md +0 -34
  861. package/docs/BidResultV1ParticipantDto.md +0 -102
  862. package/docs/BidResultV1ProductDto.md +0 -38
  863. package/docs/BidResultsBatchV1RequestDto.md +0 -24
  864. package/docs/BidResultsV1ResponseDto.md +0 -92
  865. package/docs/BidStatementV1ResponseDto.md +0 -26
  866. package/docs/BidStatus.md +0 -19
  867. package/docs/CompleteAcceptanceV1RequestDto.md +0 -44
  868. package/docs/ContractDocumentItemDto.md +0 -34
  869. package/docs/CreateBidV1RequestDto.md +0 -114
  870. package/docs/FileUploadedV1ResponseDto.md +0 -20
  871. package/docs/HierarchicalRegionV1Dto.md +0 -22
  872. package/docs/MarkBidFailedV1RequestDto.md +0 -24
  873. package/docs/NegotiationScoreV1Dto.md +0 -24
  874. package/docs/NegotiationScoredResponseDto.md +0 -20
  875. package/docs/PartnerV1Api.md +0 -707
  876. package/docs/PreconditionsV1Dto.md +0 -38
  877. package/docs/ProductReceiptV1ResponseDto.md +0 -20
  878. package/docs/ProductV1ResponseDto.md +0 -64
  879. package/docs/RegisterAwardV1RequestDto.md +0 -28
  880. package/docs/RequestSplitInvoiceV1RequestDto.md +0 -26
  881. package/docs/SplitInvoiceV1ResponseDto.md +0 -20
  882. package/docs/StatementV1DocumentDto.md +0 -28
  883. package/docs/StatementV1ProductDto.md +0 -36
  884. package/docs/SubmitNegotiationScoresV1RequestDto.md +0 -22
  885. package/docs/UploadFileV1RequestDto.md +0 -24
  886. package/models/acceptance-result-v1-response-dto.ts +0 -23
  887. package/models/acknowledge-products-v1-request-dto.ts +0 -23
  888. package/models/award-registered-response-dto.ts +0 -23
  889. package/models/bid-attachment-v1-dto.ts +0 -27
  890. package/models/bid-bond-v1-dto.ts +0 -36
  891. package/models/bid-contract-documents-batch-v1-request-dto.ts +0 -23
  892. package/models/bid-contract-documents-v1-response-dto.ts +0 -38
  893. package/models/bid-created-response-dto.ts +0 -27
  894. package/models/bid-document-v1-dto.ts +0 -31
  895. package/models/bid-failed-response-dto.ts +0 -23
  896. package/models/bid-failure-reason.ts +0 -35
  897. package/models/bid-item-v1-dto.ts +0 -47
  898. package/models/bid-manager-v1-dto.ts +0 -39
  899. package/models/bid-result-v1-attachment-dto.ts +0 -39
  900. package/models/bid-result-v1-bid-product-info-dto.ts +0 -51
  901. package/models/bid-result-v1-participant-dto.ts +0 -193
  902. package/models/bid-result-v1-product-dto.ts +0 -59
  903. package/models/bid-results-batch-v1-request-dto.ts +0 -31
  904. package/models/bid-results-v1-response-dto.ts +0 -178
  905. package/models/bid-statement-v1-response-dto.ts +0 -41
  906. package/models/bid-status.ts +0 -33
  907. package/models/complete-acceptance-v1-request-dto.ts +0 -71
  908. package/models/contract-document-item-dto.ts +0 -51
  909. package/models/create-bid-v1-request-dto.ts +0 -371
  910. package/models/file-uploaded-v1-response-dto.ts +0 -23
  911. package/models/hierarchical-region-v1-dto.ts +0 -27
  912. package/models/mark-bid-failed-v1-request-dto.ts +0 -36
  913. package/models/negotiation-score-v1-dto.ts +0 -31
  914. package/models/negotiation-scored-response-dto.ts +0 -23
  915. package/models/preconditions-v1-dto.ts +0 -101
  916. package/models/product-receipt-v1-response-dto.ts +0 -23
  917. package/models/product-v1-response-dto.ts +0 -111
  918. package/models/register-award-v1-request-dto.ts +0 -39
  919. package/models/request-split-invoice-v1-request-dto.ts +0 -35
  920. package/models/split-invoice-v1-response-dto.ts +0 -23
  921. package/models/statement-v1-document-dto.ts +0 -39
  922. package/models/statement-v1-product-dto.ts +0 -55
  923. package/models/submit-negotiation-scores-v1-request-dto.ts +0 -30
  924. package/models/upload-file-v1-request-dto.ts +0 -31
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * CMARKET V6 Partner API
5
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `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 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 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 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP 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` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 개가 실립니다 `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` \"그런 것이 있었는지 모르겠다\", `410` \"있었고 의도적으로 없앴다\" 입니다. `410` 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
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: 35.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).
@@ -28,8 +28,6 @@ import type { CancelBid200Response } from '../models';
28
28
  // @ts-ignore
29
29
  import type { CancelBidRequestDto } from '../models';
30
30
  // @ts-ignore
31
- import type { CardPaymentRequestResponseDto } from '../models';
32
- // @ts-ignore
33
31
  import type { CompleteAcceptance200Response } from '../models';
34
32
  // @ts-ignore
35
33
  import type { CompleteAcceptanceRequestDto } from '../models';
@@ -38,7 +36,9 @@ import type { CompleteInvoice200Response } from '../models';
38
36
  // @ts-ignore
39
37
  import type { CreateBidRequestDto } from '../models';
40
38
  // @ts-ignore
41
- import type { CreateCardPaymentRequestDto } from '../models';
39
+ import type { CreateCardPayment200Response } from '../models';
40
+ // @ts-ignore
41
+ import type { CreateCardPaymentDto } from '../models';
42
42
  // @ts-ignore
43
43
  import type { CreateExternalContractDocumentsRequestDto } from '../models';
44
44
  // @ts-ignore
@@ -54,6 +54,8 @@ import type { GetBidStatement200Response } from '../models';
54
54
  // @ts-ignore
55
55
  import type { GetFileMeta200Response } from '../models';
56
56
  // @ts-ignore
57
+ import type { GetSupplierCardPayableV2200Response } from '../models';
58
+ // @ts-ignore
57
59
  import type { HealthControllerCheck200Response } from '../models';
58
60
  // @ts-ignore
59
61
  import type { ListBidResults200Response } from '../models';
@@ -74,6 +76,10 @@ import type { RegisterBid201Response } from '../models';
74
76
  // @ts-ignore
75
77
  import type { RegisterSemoContractRequestDto } from '../models';
76
78
  // @ts-ignore
79
+ import type { RequestInvoiceSplit200Response } from '../models';
80
+ // @ts-ignore
81
+ import type { RequestInvoiceSplitRequestDto } from '../models';
82
+ // @ts-ignore
77
83
  import type { RevertAward200Response } from '../models';
78
84
  // @ts-ignore
79
85
  import type { RevertAwardRequestDto } from '../models';
@@ -82,7 +88,9 @@ import type { SemoContractRegisteredResponseDto } from '../models';
82
88
  // @ts-ignore
83
89
  import type { SemoContractTaxinvoiceStatusResponseDto } from '../models';
84
90
  // @ts-ignore
85
- import type { SupplierCardPayableResponseDto } from '../models';
91
+ import type { SubmitNegotiationScores201Response } from '../models';
92
+ // @ts-ignore
93
+ import type { SubmitNegotiationScoresRequestDto } from '../models';
86
94
  // @ts-ignore
87
95
  import type { UpdateBid200Response } from '../models';
88
96
  // @ts-ignore
@@ -92,15 +100,15 @@ import type { UploadFile201Response } from '../models';
92
100
  // @ts-ignore
93
101
  import type { UploadFileRequestDto } from '../models';
94
102
  /**
95
- * PartnerV2Api - axios parameter creator
103
+ * PartnerApiApi - axios parameter creator
96
104
  */
97
- export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configuration) {
105
+ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configuration) {
98
106
  return {
99
107
  /**
100
108
  * 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
101
109
  * @summary 공고 취소
102
110
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
103
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간).
111
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
104
112
  * @param {CancelBidRequestDto} cancelBidRequestDto
105
113
  * @param {*} [options] Override http request option.
106
114
  * @throws {RequiredError}
@@ -146,10 +154,10 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
146
154
  };
147
155
  },
148
156
  /**
149
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답은 204가 아닌 200입니다 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
157
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
150
158
  * @summary 검수완료 전송
151
159
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
152
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
160
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
153
161
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
154
162
  * @param {*} [options] Override http request option.
155
163
  * @throws {RequiredError}
@@ -196,9 +204,9 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
196
204
  },
197
205
  /**
198
206
  * 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
199
- * @summary 정산 마감(송장 강제완료)
207
+ * @summary 정산 마감
200
208
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
201
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간). UUID v4 권장.
209
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
202
210
  * @param {*} [options] Override http request option.
203
211
  * @throws {RequiredError}
204
212
  */
@@ -239,20 +247,19 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
239
247
  };
240
248
  },
241
249
  /**
242
- * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인(APPROVED)되어 바로 결제 가능합니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. 거기서 카드를 골라 결제합니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/card-payment-requests/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 를 신규 연동에 권합니다. 이 경로도 계속 동작하며 중단 일정은 없습니다.
243
- * @summary 결제창 발행 (구 경로)
244
- * @param {string} idempotencyKey 재시도 안전을 위한 멱등 키.
245
- * @param {CreateCardPaymentRequestDto} createCardPaymentRequestDto
250
+ * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
251
+ * @summary 결제창 발행
252
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
253
+ * @param {CreateCardPaymentDto} createCardPaymentDto
246
254
  * @param {*} [options] Override http request option.
247
- * @deprecated
248
255
  * @throws {RequiredError}
249
256
  */
250
- createCardPaymentRequest: async (idempotencyKey: string, createCardPaymentRequestDto: CreateCardPaymentRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
257
+ createCardPayment: async (idempotencyKey: string, createCardPaymentDto: CreateCardPaymentDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
251
258
  // verify required parameter 'idempotencyKey' is not null or undefined
252
- assertParamExists('createCardPaymentRequest', 'idempotencyKey', idempotencyKey)
253
- // verify required parameter 'createCardPaymentRequestDto' is not null or undefined
254
- assertParamExists('createCardPaymentRequest', 'createCardPaymentRequestDto', createCardPaymentRequestDto)
255
- const localVarPath = `/v2/card-payment-requests`;
259
+ assertParamExists('createCardPayment', 'idempotencyKey', idempotencyKey)
260
+ // verify required parameter 'createCardPaymentDto' is not null or undefined
261
+ assertParamExists('createCardPayment', 'createCardPaymentDto', createCardPaymentDto)
262
+ const localVarPath = `/v2/card-payments`;
256
263
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
257
264
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
258
265
  let baseOptions;
@@ -277,7 +284,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
277
284
  setSearchParams(localVarUrlObj, localVarQueryParameter);
278
285
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
279
286
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
280
- localVarRequestOptions.data = serializeDataIfNeeded(createCardPaymentRequestDto, localVarRequestOptions, configuration)
287
+ localVarRequestOptions.data = serializeDataIfNeeded(createCardPaymentDto, localVarRequestOptions, configuration)
281
288
 
282
289
  return {
283
290
  url: toPathString(localVarUrlObj),
@@ -287,7 +294,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
287
294
  /**
288
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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
289
296
  * @summary 계약서류 생성
290
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
297
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
291
298
  * @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
292
299
  * @param {*} [options] Override http request option.
293
300
  * @throws {RequiredError}
@@ -330,8 +337,8 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
330
337
  };
331
338
  },
332
339
  /**
333
- * 무인증 — `fileKey` 자체가 capability 다(V5 `/download/{fileKey}` 같은 보안 모델). 파트너 응답의 `fileUrl`/`fullUrl` 이 이 URL 을 가리킨다. 요청 시점에 서명하므로 URL 을 저장해 두어도 만료되지 않는다. 응답은 실제 저장소 URL 로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}` 가 파일 메타와 `downloadUrl` 을 v2 응답 규약으로 돌려줍니다. 이 안정 URL 은 파트너 응답의 `fileUrl`/`fullUrl` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
334
- * @summary 파일 다운로드 — 안정 URL(302)
340
+ * 무인증 — `fileKey` 자체가 capability 다(키를 아는 쪽이 접근 권한을 가진다). 파트너 응답의 `fileUrl`/`fullUrl` 이 이 URL 을 가리킨다. 요청 시점에 서명하므로 URL 을 저장해 두어도 만료되지 않는다. 응답은 실제 저장소 URL 로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}` 가 파일 메타와 `downloadUrl` 을 v2 응답 규약으로 돌려줍니다. 이 안정 URL 은 파트너 응답의 `fileUrl`/`fullUrl` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
341
+ * @summary 파일 다운로드
335
342
  * @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(&#x60;POST /v1|/v2/files&#x60;) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다.
336
343
  * @param {*} [options] Override http request option.
337
344
  * @throws {RequiredError}
@@ -363,7 +370,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
363
370
  };
364
371
  },
365
372
  /**
366
- * 공고의 모든 정보를 한 번에 조회합니다 — 기본 정보·납품/대금 조건·담당자·품목, 응찰 참여자(투찰가·순위·낙찰 여부), 계약서류, 검수 진행 상태, 라이프사이클 하위 상태. 스코프 `bids:read`. ERP 는 이 엔드포인트를 폴링해 async 처리(정산 마감 등)의 성사를 관측합니다. **낙찰 여부:** 이 응답의 `status` 가 아니라 `participants[].isWinner` 로 관측합니다. AWARDED 라는 공고 상태는 존재하지 않으며(낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 전이) `status === \'AWARDED\'` 를 기다리면 영원히 도달하지 않습니다. **여러 건을 한 번에:** 공고마다 이 조회를 반복하지 말고 `GET /v2/bid-results` 배치 조회를 쓰세요. **계약서류:** `contractDocuments[].generationState` 는 **관측 전용**입니다. `DEAD_LETTER` 가 보이면 자동 재시도가 소진된 상태이며 API 로 되살릴 수 없습니다운영에 문의하세요. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
373
+ * 공고의 모든 정보를 한 번에 조회합니다 — 기본 정보·납품/대금 조건·담당자·품목, 응찰 참여자(투찰가·순위·낙찰 여부), 계약서류, 검수 진행 상태, 라이프사이클 하위 상태. 스코프 `bids:read`. ERP 는 이 엔드포인트를 폴링해 async 처리(정산 마감 등)의 성사를 관측합니다. **낙찰 여부:** 이 응답의 `status` 가 아니라 `participants[].isWinner` 로 관측합니다. AWARDED 라는 공고 상태는 존재하지 않으며(낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 전이) `status === \'AWARDED\'` 를 기다리면 영원히 도달하지 않습니다. **여러 건을 한 번에:** 공고마다 이 조회를 반복하지 말고 `GET /v2/bid-results` 배치 조회를 쓰세요. **계약서류는 이 응답에 실립니다.** `contractDocuments[]` 가 서류별 `paperCode`·`paperName`· `fileKey`·`downloadUrl`·`uploadedAt`·`winnerSequence` 를 담습니다 — 계약서류만 따로 받는 엔드포인트는 두지 않습니다. `generationState` 는 **관측 전용**이며 `DEAD_LETTER` 가 보이면 자동 재시도가 소진된 상태라 API 로 되살릴 수 없습니다(운영에 문의하세요). **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
367
374
  * @summary 공고 상세 조회
368
375
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
369
376
  * @param {*} [options] Override http request option.
@@ -401,7 +408,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
401
408
  };
402
409
  },
403
410
  /**
404
- * 낙찰 공급사의 사업자·계좌·공급가액/부가세·응찰 품목내역을 조회합니다. 대금 지급에 필요한 정보입니다. 가시성 마스킹과는 직교한 정산 데이터이며 읽기 전용입니다. **필수 스코프:** `invoices:read` — 종전에는 `bids:read` 를 요구했습니다. 대금·계좌가 실리는 응답이라 공고 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
411
+ * 낙찰 공급사의 사업자·계좌·공급가액/부가세·응찰 품목내역을 조회합니다. 대금 지급에 필요한 정보입니다. 다른 조회에서 일부 참가자 정보가 가려지는 경우와 무관하게, 이 정산 정보는 읽기 전용으로 항상 그대로 제공됩니다. **필수 스코프:** `invoices:read` — 종전에는 `bids:read` 를 요구했습니다. 대금·계좌가 실리는 응답이라 공고 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
405
412
  * @summary 정산 정보 조회
406
413
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
407
414
  * @param {*} [options] Override http request option.
@@ -483,7 +490,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
483
490
  },
484
491
  /**
485
492
  * 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **구 경로:** 버전 없는 `GET /files/{fileKey}` 는 만료 없는 안정 주소이고 파트너 응답의 `fileUrl`/`fullUrl` 이 그 값을 가리킵니다. 인증도 스코프도 없는 옛 표면이라 신규 연동은 이 엔드포인트를 쓰세요. 구 경로는 당분간 유지됩니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
486
- * @summary 파일 조회(메타 + 내려받기 주소)
493
+ * @summary 파일 정보 조회
487
494
  * @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
488
495
  * @param {*} [options] Override http request option.
489
496
  * @throws {RequiredError}
@@ -558,17 +565,16 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
558
565
  };
559
566
  },
560
567
  /**
561
- * 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어는 지지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **필수 스코프:** `payments:write` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 신규 연동에 권합니다. 경로도 계속 동작하며 중단 일정은 없습니다.
562
- * @summary 공급사 카드결제 가능 여부 (구 경로)
568
+ * 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write` 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
569
+ * @summary 공급사 카드결제 가능 여부
563
570
  * @param {string} memberId 계약업체 회원 ID
564
571
  * @param {*} [options] Override http request option.
565
- * @deprecated
566
572
  * @throws {RequiredError}
567
573
  */
568
- getSupplierCardPayable: async (memberId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
574
+ getSupplierCardPayableV2: async (memberId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
569
575
  // verify required parameter 'memberId' is not null or undefined
570
- assertParamExists('getSupplierCardPayable', 'memberId', memberId)
571
- const localVarPath = `/v2/card-payment-requests/suppliers/{memberId}/card-payable`
576
+ assertParamExists('getSupplierCardPayableV2', 'memberId', memberId)
577
+ const localVarPath = `/v2/suppliers/{memberId}/card-payable`
572
578
  .replace('{memberId}', encodeURIComponent(String(memberId)));
573
579
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
574
580
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -583,9 +589,9 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
583
589
 
584
590
  // authentication partner-oauth2 required
585
591
  // oauth required
586
- await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["payments:write"], configuration)
592
+ await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["payments:read"], configuration)
587
593
 
588
- localVarHeaderParameter['Accept'] = 'application/json';
594
+ localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
589
595
 
590
596
  setSearchParams(localVarUrlObj, localVarQueryParameter);
591
597
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
@@ -627,15 +633,15 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
627
633
  };
628
634
  },
629
635
  /**
630
- * 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. **이 엔드포인트를 폴링에 쓰세요.** 공고 하나씩 조회하는 대신 최대 100건을 한 왕복으로 받습니다. 응답에는 `ETag` 실리므로, 다음 요청에 `If-None-Match` 로 되보내면 결과가 그대로일 때 `304` 를 본문 없이 받습니다 — 마감을 기다리는 동안의 전송량이 사라집니다. **식별자 전달:** `?bidIds=A,B,C`(쉼표) 또는 `?bidIds=A&bidIds=B`(반복) 둘 다 됩니다. **없는 공고는 응답에서 빠집니다.** 존재하지 않거나 대행 범위 밖인 식별자는 오류가 아니라 누락으로 처리됩니다 요청한 건수와 받은 건수가 다를 수 있으니 `bidId` 로 대조하세요. **단건 조회:** 공고 하나만 볼 때도 `bidIds` 에 하나만 넣거나 `GET /v2/bids/{bidRef}` 상세 조회를 쓰세요. 종전의 `GET /v2/bids/{bidRef}/result` 상세 응답의 부분집합이라 폐지됐습니다.
631
- * @summary 공고 결과 배치 조회
632
- * @param {string} bidIds 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 &#x60;bidIds&#x60; 를 반복해 전달합니다. 최대 100건.
636
+ * 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. **이 엔드포인트를 폴링에 쓰세요.** 공고를 하나씩 조회하는 대신 최대 100건을 한 왕복으로 받습니다. 응답에 실린 `ETag` 다음 요청의 `If-None-Match` 로 되보내면, 결과가 그대로일 때 `304` 를 본문 없이 받습니다. **식별자 전달:** `?bidRefs=A,B,C`(쉼표) 또는 `?bidRefs=A&bidRefs=B`(반복) 둘 다 됩니다. **없는 공고는 응답에서 빠집니다.** 존재하지 않거나 대행 범위 밖인 식별자는 오류가 아니라 누락으로 처리됩니다. 요청한 건수와 받은 건수가 다를 수 있으므로, 보낸 값이 공고번호였다면 `bidId` 로, 구매번호였다면 `purchaseNo` 로 대조하세요. **공고 하나만 볼 때도** `bidRefs` 에 하나만 넣으면 됩니다. 응찰 결과 외에 납품 조건·품목·계약서류까지 필요하면 `GET /v2/bids/{bidRef}` 상세 조회를 쓰세요.
637
+ * @summary 공고 결과 조회
638
+ * @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 &#x60;bidRefs&#x60; 를 반복해 전달합니다. 최대 100건입니다.
633
639
  * @param {*} [options] Override http request option.
634
640
  * @throws {RequiredError}
635
641
  */
636
- listBidResults: async (bidIds: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
637
- // verify required parameter 'bidIds' is not null or undefined
638
- assertParamExists('listBidResults', 'bidIds', bidIds)
642
+ listBidResults: async (bidRefs: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
643
+ // verify required parameter 'bidRefs' is not null or undefined
644
+ assertParamExists('listBidResults', 'bidRefs', bidRefs)
639
645
  const localVarPath = `/v2/bid-results`;
640
646
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
641
647
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -652,8 +658,8 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
652
658
  // oauth required
653
659
  await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["bids:read"], configuration)
654
660
 
655
- if (bidIds !== undefined) {
656
- localVarQueryParameter['bidIds'] = bidIds;
661
+ if (bidRefs !== undefined) {
662
+ localVarQueryParameter['bidRefs'] = bidRefs;
657
663
  }
658
664
 
659
665
  localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
@@ -672,13 +678,13 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
672
678
  * @summary 공고 목록 조회
673
679
  * @param {number} [limit] 페이지 크기(1~100, 기본 100).
674
680
  * @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 &#x60;nextCursor&#x60; 를 그대로 전달한다. 미지정 시 첫 페이지. &#x60;nextCursor&#x3D;null&#x60; 이면 마지막 페이지다.
675
- * @param {Array<string>} [bidIds] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV 로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
676
- * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다.
681
+ * @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV 로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
682
+ * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다.
677
683
  * @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. &#x60;results&#x60;&#x3D;응찰 참여자, &#x60;products&#x60;&#x3D;공고 등록 품목, &#x60;contacts&#x60;&#x3D;발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
678
684
  * @param {*} [options] Override http request option.
679
685
  * @throws {RequiredError}
680
686
  */
681
- listBids: async (limit?: number, cursor?: string, bidIds?: Array<string>, status?: Array<BidPublicStatus>, include?: Array<ListBidsIncludeEnum>, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
687
+ listBids: async (limit?: number, cursor?: string, bidRefs?: Array<string>, status?: Array<BidPublicStatus>, include?: Array<ListBidsIncludeEnum>, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
682
688
  const localVarPath = `/v2/bids`;
683
689
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
684
690
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -703,8 +709,8 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
703
709
  localVarQueryParameter['cursor'] = cursor;
704
710
  }
705
711
 
706
- if (bidIds) {
707
- localVarQueryParameter['bidIds'] = bidIds;
712
+ if (bidRefs) {
713
+ localVarQueryParameter['bidRefs'] = bidRefs;
708
714
  }
709
715
 
710
716
  if (status) {
@@ -778,7 +784,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
778
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` 헤더 필수.
779
785
  * @summary 유찰 처리
780
786
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
781
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
787
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
782
788
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
783
789
  * @param {*} [options] Override http request option.
784
790
  * @throws {RequiredError}
@@ -827,7 +833,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
827
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시간 내 캐시 응답 반환.
828
834
  * @summary 낙찰 결과 전송
829
835
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
830
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
836
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
831
837
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
832
838
  * @param {*} [options] Override http request option.
833
839
  * @throws {RequiredError}
@@ -875,7 +881,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
875
881
  /**
876
882
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
877
883
  * @summary 공고 등록
878
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 캐시 응답 반환.
884
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
879
885
  * @param {CreateBidRequestDto} createBidRequestDto
880
886
  * @param {*} [options] Override http request option.
881
887
  * @throws {RequiredError}
@@ -920,7 +926,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
920
926
  /**
921
927
  * 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
922
928
  * @summary 계약 발행대상 등록
923
- * @param {string} idempotencyKey 재시도 안전을 위한 멱등 키.
929
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
924
930
  * @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
925
931
  * @param {*} [options] Override http request option.
926
932
  * @throws {RequiredError}
@@ -962,11 +968,60 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
962
968
  options: localVarRequestOptions,
963
969
  };
964
970
  },
971
+ /**
972
+ * 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
973
+ * @summary 계산서 분할 발급 청구
974
+ * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
975
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
976
+ * @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
977
+ * @param {*} [options] Override http request option.
978
+ * @throws {RequiredError}
979
+ */
980
+ requestInvoiceSplit: async (bidRef: string, idempotencyKey: string, requestInvoiceSplitRequestDto: RequestInvoiceSplitRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
981
+ // verify required parameter 'bidRef' is not null or undefined
982
+ assertParamExists('requestInvoiceSplit', 'bidRef', bidRef)
983
+ // verify required parameter 'idempotencyKey' is not null or undefined
984
+ assertParamExists('requestInvoiceSplit', 'idempotencyKey', idempotencyKey)
985
+ // verify required parameter 'requestInvoiceSplitRequestDto' is not null or undefined
986
+ assertParamExists('requestInvoiceSplit', 'requestInvoiceSplitRequestDto', requestInvoiceSplitRequestDto)
987
+ const localVarPath = `/v2/bids/{bidRef}/invoice-splits`
988
+ .replace('{bidRef}', encodeURIComponent(String(bidRef)));
989
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
990
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
991
+ let baseOptions;
992
+ if (configuration) {
993
+ baseOptions = configuration.baseOptions;
994
+ }
995
+
996
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
997
+ const localVarHeaderParameter = {} as any;
998
+ const localVarQueryParameter = {} as any;
999
+
1000
+ // authentication partner-oauth2 required
1001
+ // oauth required
1002
+ await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["invoices:write"], configuration)
1003
+
1004
+ localVarHeaderParameter['Content-Type'] = 'application/json';
1005
+ localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
1006
+
1007
+ if (idempotencyKey != null) {
1008
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
1009
+ }
1010
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
1011
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
1012
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
1013
+ localVarRequestOptions.data = serializeDataIfNeeded(requestInvoiceSplitRequestDto, localVarRequestOptions, configuration)
1014
+
1015
+ return {
1016
+ url: toPathString(localVarUrlObj),
1017
+ options: localVarRequestOptions,
1018
+ };
1019
+ },
965
1020
  /**
966
1021
  * 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
967
1022
  * @summary 낙찰 되돌리기
968
1023
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
969
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간).
1024
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
970
1025
  * @param {RevertAwardRequestDto} revertAwardRequestDto
971
1026
  * @param {*} [options] Override http request option.
972
1027
  * @throws {RequiredError}
@@ -1012,23 +1067,69 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
1012
1067
  };
1013
1068
  },
1014
1069
  /**
1015
- * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEdit=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1070
+ * 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body buyerId 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 + 동일 body 재전송 24시간 캐시 응답 반환.
1071
+ * @summary 협상 점수평가
1072
+ * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1073
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1074
+ * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
1075
+ * @param {*} [options] Override http request option.
1076
+ * @throws {RequiredError}
1077
+ */
1078
+ submitNegotiationScores: async (bidRef: string, idempotencyKey: string, submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
1079
+ // verify required parameter 'bidRef' is not null or undefined
1080
+ assertParamExists('submitNegotiationScores', 'bidRef', bidRef)
1081
+ // verify required parameter 'idempotencyKey' is not null or undefined
1082
+ assertParamExists('submitNegotiationScores', 'idempotencyKey', idempotencyKey)
1083
+ // verify required parameter 'submitNegotiationScoresRequestDto' is not null or undefined
1084
+ assertParamExists('submitNegotiationScores', 'submitNegotiationScoresRequestDto', submitNegotiationScoresRequestDto)
1085
+ const localVarPath = `/v2/bids/{bidRef}/negotiation-scores`
1086
+ .replace('{bidRef}', encodeURIComponent(String(bidRef)));
1087
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
1088
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
1089
+ let baseOptions;
1090
+ if (configuration) {
1091
+ baseOptions = configuration.baseOptions;
1092
+ }
1093
+
1094
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
1095
+ const localVarHeaderParameter = {} as any;
1096
+ const localVarQueryParameter = {} as any;
1097
+
1098
+ // authentication partner-oauth2 required
1099
+ // oauth required
1100
+ await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["awards:write"], configuration)
1101
+
1102
+ localVarHeaderParameter['Content-Type'] = 'application/json';
1103
+ localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
1104
+
1105
+ if (idempotencyKey != null) {
1106
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
1107
+ }
1108
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
1109
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
1110
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
1111
+ localVarRequestOptions.data = serializeDataIfNeeded(submitNegotiationScoresRequestDto, localVarRequestOptions, configuration)
1112
+
1113
+ return {
1114
+ url: toPathString(localVarUrlObj),
1115
+ options: localVarRequestOptions,
1116
+ };
1117
+ },
1118
+ /**
1119
+ * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1016
1120
  * @summary 공고 수정
1017
1121
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1018
- * @param {string} ifMatch
1019
- * @param {string} ifMatch2 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 사이 공고가 바뀌었으면 412 거절되며 아무것도 수정되지 않습니다.
1020
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환.
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시간 동안 캐시된 응답을 그대로 돌려줍니다.
1021
1124
  * @param {UpdateBidRequestDto} updateBidRequestDto
1022
1125
  * @param {*} [options] Override http request option.
1023
1126
  * @throws {RequiredError}
1024
1127
  */
1025
- 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> => {
1026
1129
  // verify required parameter 'bidRef' is not null or undefined
1027
1130
  assertParamExists('updateBid', 'bidRef', bidRef)
1028
1131
  // verify required parameter 'ifMatch' is not null or undefined
1029
1132
  assertParamExists('updateBid', 'ifMatch', ifMatch)
1030
- // verify required parameter 'ifMatch2' is not null or undefined
1031
- assertParamExists('updateBid', 'ifMatch2', ifMatch2)
1032
1133
  // verify required parameter 'idempotencyKey' is not null or undefined
1033
1134
  assertParamExists('updateBid', 'idempotencyKey', idempotencyKey)
1034
1135
  // verify required parameter 'updateBidRequestDto' is not null or undefined
@@ -1054,10 +1155,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
1054
1155
  localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
1055
1156
 
1056
1157
  if (ifMatch != null) {
1057
- localVarHeaderParameter['if-match'] = String(ifMatch);
1058
- }
1059
- if (ifMatch2 != null) {
1060
- localVarHeaderParameter['If-Match'] = String(ifMatch2);
1158
+ localVarHeaderParameter['If-Match'] = String(ifMatch);
1061
1159
  }
1062
1160
  if (idempotencyKey != null) {
1063
1161
  localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
@@ -1073,13 +1171,16 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
1073
1171
  };
1074
1172
  },
1075
1173
  /**
1076
- * 스코프 `files:write` + `Idempotency-Key` 헤더 필수. base64 또는 url 중 정확히 하나를 제출한다.
1077
- * @summary 공고 첨부파일 업로드(base64 또는 url) → fileKey
1174
+ * 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로 실으세요. 스코프 `files:write` + `Idempotency-Key` 헤더가 필요합니다.
1175
+ * @summary 공고 첨부파일 업로드
1176
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1078
1177
  * @param {UploadFileRequestDto} uploadFileRequestDto
1079
1178
  * @param {*} [options] Override http request option.
1080
1179
  * @throws {RequiredError}
1081
1180
  */
1082
- uploadFile: async (uploadFileRequestDto: UploadFileRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
1181
+ uploadFile: async (idempotencyKey: string, uploadFileRequestDto: UploadFileRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
1182
+ // verify required parameter 'idempotencyKey' is not null or undefined
1183
+ assertParamExists('uploadFile', 'idempotencyKey', idempotencyKey)
1083
1184
  // verify required parameter 'uploadFileRequestDto' is not null or undefined
1084
1185
  assertParamExists('uploadFile', 'uploadFileRequestDto', uploadFileRequestDto)
1085
1186
  const localVarPath = `/v2/files`;
@@ -1101,6 +1202,9 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
1101
1202
  localVarHeaderParameter['Content-Type'] = 'application/json';
1102
1203
  localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
1103
1204
 
1205
+ if (idempotencyKey != null) {
1206
+ localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
1207
+ }
1104
1208
  setSearchParams(localVarUrlObj, localVarQueryParameter);
1105
1209
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
1106
1210
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -1115,16 +1219,16 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
1115
1219
  };
1116
1220
 
1117
1221
  /**
1118
- * PartnerV2Api - functional programming interface
1222
+ * PartnerApiApi - functional programming interface
1119
1223
  */
1120
- export const PartnerV2ApiFp = function(configuration?: Configuration) {
1121
- const localVarAxiosParamCreator = PartnerV2ApiAxiosParamCreator(configuration)
1224
+ export const PartnerApiApiFp = function(configuration?: Configuration) {
1225
+ const localVarAxiosParamCreator = PartnerApiApiAxiosParamCreator(configuration)
1122
1226
  return {
1123
1227
  /**
1124
1228
  * 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
1125
1229
  * @summary 공고 취소
1126
1230
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1127
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간).
1231
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1128
1232
  * @param {CancelBidRequestDto} cancelBidRequestDto
1129
1233
  * @param {*} [options] Override http request option.
1130
1234
  * @throws {RequiredError}
@@ -1132,14 +1236,14 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1132
1236
  async cancelBid(bidRef: string, idempotencyKey: string, cancelBidRequestDto: CancelBidRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CancelBid200Response>> {
1133
1237
  const localVarAxiosArgs = await localVarAxiosParamCreator.cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options);
1134
1238
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1135
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.cancelBid']?.[localVarOperationServerIndex]?.url;
1239
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.cancelBid']?.[localVarOperationServerIndex]?.url;
1136
1240
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1137
1241
  },
1138
1242
  /**
1139
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답은 204가 아닌 200입니다 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1243
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1140
1244
  * @summary 검수완료 전송
1141
1245
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1142
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1246
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1143
1247
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
1144
1248
  * @param {*} [options] Override http request option.
1145
1249
  * @throws {RequiredError}
@@ -1147,42 +1251,41 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1147
1251
  async completeAcceptance(bidRef: string, idempotencyKey: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CompleteAcceptance200Response>> {
1148
1252
  const localVarAxiosArgs = await localVarAxiosParamCreator.completeAcceptance(bidRef, idempotencyKey, completeAcceptanceRequestDto, options);
1149
1253
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1150
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.completeAcceptance']?.[localVarOperationServerIndex]?.url;
1254
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.completeAcceptance']?.[localVarOperationServerIndex]?.url;
1151
1255
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1152
1256
  },
1153
1257
  /**
1154
1258
  * 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1155
- * @summary 정산 마감(송장 강제완료)
1259
+ * @summary 정산 마감
1156
1260
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1157
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간). UUID v4 권장.
1261
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1158
1262
  * @param {*} [options] Override http request option.
1159
1263
  * @throws {RequiredError}
1160
1264
  */
1161
1265
  async completeInvoice(bidRef: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CompleteInvoice200Response>> {
1162
1266
  const localVarAxiosArgs = await localVarAxiosParamCreator.completeInvoice(bidRef, idempotencyKey, options);
1163
1267
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1164
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.completeInvoice']?.[localVarOperationServerIndex]?.url;
1268
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.completeInvoice']?.[localVarOperationServerIndex]?.url;
1165
1269
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1166
1270
  },
1167
1271
  /**
1168
- * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인(APPROVED)되어 바로 결제 가능합니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. 거기서 카드를 골라 결제합니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/card-payment-requests/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 를 신규 연동에 권합니다. 이 경로도 계속 동작하며 중단 일정은 없습니다.
1169
- * @summary 결제창 발행 (구 경로)
1170
- * @param {string} idempotencyKey 재시도 안전을 위한 멱등 키.
1171
- * @param {CreateCardPaymentRequestDto} createCardPaymentRequestDto
1272
+ * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1273
+ * @summary 결제창 발행
1274
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1275
+ * @param {CreateCardPaymentDto} createCardPaymentDto
1172
1276
  * @param {*} [options] Override http request option.
1173
- * @deprecated
1174
1277
  * @throws {RequiredError}
1175
1278
  */
1176
- async createCardPaymentRequest(idempotencyKey: string, createCardPaymentRequestDto: CreateCardPaymentRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CardPaymentRequestResponseDto>> {
1177
- const localVarAxiosArgs = await localVarAxiosParamCreator.createCardPaymentRequest(idempotencyKey, createCardPaymentRequestDto, options);
1279
+ async createCardPayment(idempotencyKey: string, createCardPaymentDto: CreateCardPaymentDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateCardPayment200Response>> {
1280
+ const localVarAxiosArgs = await localVarAxiosParamCreator.createCardPayment(idempotencyKey, createCardPaymentDto, options);
1178
1281
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1179
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.createCardPaymentRequest']?.[localVarOperationServerIndex]?.url;
1282
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.createCardPayment']?.[localVarOperationServerIndex]?.url;
1180
1283
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1181
1284
  },
1182
1285
  /**
1183
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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
1184
1287
  * @summary 계약서류 생성
1185
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1288
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1186
1289
  * @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
1187
1290
  * @param {*} [options] Override http request option.
1188
1291
  * @throws {RequiredError}
@@ -1190,12 +1293,12 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1190
1293
  async createExternalContractDocuments(idempotencyKey: string, createExternalContractDocumentsRequestDto: CreateExternalContractDocumentsRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateExternalContractDocumentsResponseDto>> {
1191
1294
  const localVarAxiosArgs = await localVarAxiosParamCreator.createExternalContractDocuments(idempotencyKey, createExternalContractDocumentsRequestDto, options);
1192
1295
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1193
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.createExternalContractDocuments']?.[localVarOperationServerIndex]?.url;
1296
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.createExternalContractDocuments']?.[localVarOperationServerIndex]?.url;
1194
1297
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1195
1298
  },
1196
1299
  /**
1197
- * 무인증 — `fileKey` 자체가 capability 다(V5 `/download/{fileKey}` 같은 보안 모델). 파트너 응답의 `fileUrl`/`fullUrl` 이 이 URL 을 가리킨다. 요청 시점에 서명하므로 URL 을 저장해 두어도 만료되지 않는다. 응답은 실제 저장소 URL 로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}` 가 파일 메타와 `downloadUrl` 을 v2 응답 규약으로 돌려줍니다. 이 안정 URL 은 파트너 응답의 `fileUrl`/`fullUrl` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
1198
- * @summary 파일 다운로드 — 안정 URL(302)
1300
+ * 무인증 — `fileKey` 자체가 capability 다(키를 아는 쪽이 접근 권한을 가진다). 파트너 응답의 `fileUrl`/`fullUrl` 이 이 URL 을 가리킨다. 요청 시점에 서명하므로 URL 을 저장해 두어도 만료되지 않는다. 응답은 실제 저장소 URL 로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}` 가 파일 메타와 `downloadUrl` 을 v2 응답 규약으로 돌려줍니다. 이 안정 URL 은 파트너 응답의 `fileUrl`/`fullUrl` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
1301
+ * @summary 파일 다운로드
1199
1302
  * @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(&#x60;POST /v1|/v2/files&#x60;) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다.
1200
1303
  * @param {*} [options] Override http request option.
1201
1304
  * @throws {RequiredError}
@@ -1203,11 +1306,11 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1203
1306
  async downloadFile(fileKey: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
1204
1307
  const localVarAxiosArgs = await localVarAxiosParamCreator.downloadFile(fileKey, options);
1205
1308
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1206
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.downloadFile']?.[localVarOperationServerIndex]?.url;
1309
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.downloadFile']?.[localVarOperationServerIndex]?.url;
1207
1310
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1208
1311
  },
1209
1312
  /**
1210
- * 공고의 모든 정보를 한 번에 조회합니다 — 기본 정보·납품/대금 조건·담당자·품목, 응찰 참여자(투찰가·순위·낙찰 여부), 계약서류, 검수 진행 상태, 라이프사이클 하위 상태. 스코프 `bids:read`. ERP 는 이 엔드포인트를 폴링해 async 처리(정산 마감 등)의 성사를 관측합니다. **낙찰 여부:** 이 응답의 `status` 가 아니라 `participants[].isWinner` 로 관측합니다. AWARDED 라는 공고 상태는 존재하지 않으며(낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 전이) `status === \'AWARDED\'` 를 기다리면 영원히 도달하지 않습니다. **여러 건을 한 번에:** 공고마다 이 조회를 반복하지 말고 `GET /v2/bid-results` 배치 조회를 쓰세요. **계약서류:** `contractDocuments[].generationState` 는 **관측 전용**입니다. `DEAD_LETTER` 가 보이면 자동 재시도가 소진된 상태이며 API 로 되살릴 수 없습니다운영에 문의하세요. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1313
+ * 공고의 모든 정보를 한 번에 조회합니다 — 기본 정보·납품/대금 조건·담당자·품목, 응찰 참여자(투찰가·순위·낙찰 여부), 계약서류, 검수 진행 상태, 라이프사이클 하위 상태. 스코프 `bids:read`. ERP 는 이 엔드포인트를 폴링해 async 처리(정산 마감 등)의 성사를 관측합니다. **낙찰 여부:** 이 응답의 `status` 가 아니라 `participants[].isWinner` 로 관측합니다. AWARDED 라는 공고 상태는 존재하지 않으며(낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 전이) `status === \'AWARDED\'` 를 기다리면 영원히 도달하지 않습니다. **여러 건을 한 번에:** 공고마다 이 조회를 반복하지 말고 `GET /v2/bid-results` 배치 조회를 쓰세요. **계약서류는 이 응답에 실립니다.** `contractDocuments[]` 가 서류별 `paperCode`·`paperName`· `fileKey`·`downloadUrl`·`uploadedAt`·`winnerSequence` 를 담습니다 — 계약서류만 따로 받는 엔드포인트는 두지 않습니다. `generationState` 는 **관측 전용**이며 `DEAD_LETTER` 가 보이면 자동 재시도가 소진된 상태라 API 로 되살릴 수 없습니다(운영에 문의하세요). **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1211
1314
  * @summary 공고 상세 조회
1212
1315
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1213
1316
  * @param {*} [options] Override http request option.
@@ -1216,11 +1319,11 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1216
1319
  async getBid(bidRef: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetBid200Response>> {
1217
1320
  const localVarAxiosArgs = await localVarAxiosParamCreator.getBid(bidRef, options);
1218
1321
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1219
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.getBid']?.[localVarOperationServerIndex]?.url;
1322
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getBid']?.[localVarOperationServerIndex]?.url;
1220
1323
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1221
1324
  },
1222
1325
  /**
1223
- * 낙찰 공급사의 사업자·계좌·공급가액/부가세·응찰 품목내역을 조회합니다. 대금 지급에 필요한 정보입니다. 가시성 마스킹과는 직교한 정산 데이터이며 읽기 전용입니다. **필수 스코프:** `invoices:read` — 종전에는 `bids:read` 를 요구했습니다. 대금·계좌가 실리는 응답이라 공고 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
1326
+ * 낙찰 공급사의 사업자·계좌·공급가액/부가세·응찰 품목내역을 조회합니다. 대금 지급에 필요한 정보입니다. 다른 조회에서 일부 참가자 정보가 가려지는 경우와 무관하게, 이 정산 정보는 읽기 전용으로 항상 그대로 제공됩니다. **필수 스코프:** `invoices:read` — 종전에는 `bids:read` 를 요구했습니다. 대금·계좌가 실리는 응답이라 공고 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
1224
1327
  * @summary 정산 정보 조회
1225
1328
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1226
1329
  * @param {*} [options] Override http request option.
@@ -1229,7 +1332,7 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1229
1332
  async getBidSettlement(bidRef: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetBidSettlement200Response>> {
1230
1333
  const localVarAxiosArgs = await localVarAxiosParamCreator.getBidSettlement(bidRef, options);
1231
1334
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1232
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.getBidSettlement']?.[localVarOperationServerIndex]?.url;
1335
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getBidSettlement']?.[localVarOperationServerIndex]?.url;
1233
1336
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1234
1337
  },
1235
1338
  /**
@@ -1243,12 +1346,12 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1243
1346
  async getBidStatement(bidRef: string, paperCode?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetBidStatement200Response>> {
1244
1347
  const localVarAxiosArgs = await localVarAxiosParamCreator.getBidStatement(bidRef, paperCode, options);
1245
1348
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1246
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.getBidStatement']?.[localVarOperationServerIndex]?.url;
1349
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getBidStatement']?.[localVarOperationServerIndex]?.url;
1247
1350
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1248
1351
  },
1249
1352
  /**
1250
1353
  * 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **구 경로:** 버전 없는 `GET /files/{fileKey}` 는 만료 없는 안정 주소이고 파트너 응답의 `fileUrl`/`fullUrl` 이 그 값을 가리킵니다. 인증도 스코프도 없는 옛 표면이라 신규 연동은 이 엔드포인트를 쓰세요. 구 경로는 당분간 유지됩니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
1251
- * @summary 파일 조회(메타 + 내려받기 주소)
1354
+ * @summary 파일 정보 조회
1252
1355
  * @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
1253
1356
  * @param {*} [options] Override http request option.
1254
1357
  * @throws {RequiredError}
@@ -1256,7 +1359,7 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1256
1359
  async getFileMeta(fileKey: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetFileMeta200Response>> {
1257
1360
  const localVarAxiosArgs = await localVarAxiosParamCreator.getFileMeta(fileKey, options);
1258
1361
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1259
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.getFileMeta']?.[localVarOperationServerIndex]?.url;
1362
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getFileMeta']?.[localVarOperationServerIndex]?.url;
1260
1363
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1261
1364
  },
1262
1365
  /**
@@ -1269,21 +1372,20 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1269
1372
  async getSemoContractTaxinvoiceStatus(externalContractId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SemoContractTaxinvoiceStatusResponseDto>> {
1270
1373
  const localVarAxiosArgs = await localVarAxiosParamCreator.getSemoContractTaxinvoiceStatus(externalContractId, options);
1271
1374
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1272
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.getSemoContractTaxinvoiceStatus']?.[localVarOperationServerIndex]?.url;
1375
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getSemoContractTaxinvoiceStatus']?.[localVarOperationServerIndex]?.url;
1273
1376
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1274
1377
  },
1275
1378
  /**
1276
- * 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어는 지지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **필수 스코프:** `payments:write` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 신규 연동에 권합니다. 경로도 계속 동작하며 중단 일정은 없습니다.
1277
- * @summary 공급사 카드결제 가능 여부 (구 경로)
1379
+ * 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write` 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
1380
+ * @summary 공급사 카드결제 가능 여부
1278
1381
  * @param {string} memberId 계약업체 회원 ID
1279
1382
  * @param {*} [options] Override http request option.
1280
- * @deprecated
1281
1383
  * @throws {RequiredError}
1282
1384
  */
1283
- async getSupplierCardPayable(memberId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SupplierCardPayableResponseDto>> {
1284
- const localVarAxiosArgs = await localVarAxiosParamCreator.getSupplierCardPayable(memberId, options);
1385
+ async getSupplierCardPayableV2(memberId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSupplierCardPayableV2200Response>> {
1386
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getSupplierCardPayableV2(memberId, options);
1285
1387
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1286
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.getSupplierCardPayable']?.[localVarOperationServerIndex]?.url;
1388
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getSupplierCardPayableV2']?.[localVarOperationServerIndex]?.url;
1287
1389
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1288
1390
  },
1289
1391
  /**
@@ -1295,20 +1397,20 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1295
1397
  async healthControllerCheck(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HealthControllerCheck200Response>> {
1296
1398
  const localVarAxiosArgs = await localVarAxiosParamCreator.healthControllerCheck(options);
1297
1399
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1298
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.healthControllerCheck']?.[localVarOperationServerIndex]?.url;
1400
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.healthControllerCheck']?.[localVarOperationServerIndex]?.url;
1299
1401
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1300
1402
  },
1301
1403
  /**
1302
- * 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. **이 엔드포인트를 폴링에 쓰세요.** 공고 하나씩 조회하는 대신 최대 100건을 한 왕복으로 받습니다. 응답에는 `ETag` 실리므로, 다음 요청에 `If-None-Match` 로 되보내면 결과가 그대로일 때 `304` 를 본문 없이 받습니다 — 마감을 기다리는 동안의 전송량이 사라집니다. **식별자 전달:** `?bidIds=A,B,C`(쉼표) 또는 `?bidIds=A&bidIds=B`(반복) 둘 다 됩니다. **없는 공고는 응답에서 빠집니다.** 존재하지 않거나 대행 범위 밖인 식별자는 오류가 아니라 누락으로 처리됩니다 요청한 건수와 받은 건수가 다를 수 있으니 `bidId` 로 대조하세요. **단건 조회:** 공고 하나만 볼 때도 `bidIds` 에 하나만 넣거나 `GET /v2/bids/{bidRef}` 상세 조회를 쓰세요. 종전의 `GET /v2/bids/{bidRef}/result` 상세 응답의 부분집합이라 폐지됐습니다.
1303
- * @summary 공고 결과 배치 조회
1304
- * @param {string} bidIds 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 &#x60;bidIds&#x60; 를 반복해 전달합니다. 최대 100건.
1404
+ * 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. **이 엔드포인트를 폴링에 쓰세요.** 공고를 하나씩 조회하는 대신 최대 100건을 한 왕복으로 받습니다. 응답에 실린 `ETag` 다음 요청의 `If-None-Match` 로 되보내면, 결과가 그대로일 때 `304` 를 본문 없이 받습니다. **식별자 전달:** `?bidRefs=A,B,C`(쉼표) 또는 `?bidRefs=A&bidRefs=B`(반복) 둘 다 됩니다. **없는 공고는 응답에서 빠집니다.** 존재하지 않거나 대행 범위 밖인 식별자는 오류가 아니라 누락으로 처리됩니다. 요청한 건수와 받은 건수가 다를 수 있으므로, 보낸 값이 공고번호였다면 `bidId` 로, 구매번호였다면 `purchaseNo` 로 대조하세요. **공고 하나만 볼 때도** `bidRefs` 에 하나만 넣으면 됩니다. 응찰 결과 외에 납품 조건·품목·계약서류까지 필요하면 `GET /v2/bids/{bidRef}` 상세 조회를 쓰세요.
1405
+ * @summary 공고 결과 조회
1406
+ * @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 &#x60;bidRefs&#x60; 를 반복해 전달합니다. 최대 100건입니다.
1305
1407
  * @param {*} [options] Override http request option.
1306
1408
  * @throws {RequiredError}
1307
1409
  */
1308
- async listBidResults(bidIds: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListBidResults200Response>> {
1309
- const localVarAxiosArgs = await localVarAxiosParamCreator.listBidResults(bidIds, options);
1410
+ async listBidResults(bidRefs: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListBidResults200Response>> {
1411
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listBidResults(bidRefs, options);
1310
1412
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1311
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.listBidResults']?.[localVarOperationServerIndex]?.url;
1413
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.listBidResults']?.[localVarOperationServerIndex]?.url;
1312
1414
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1313
1415
  },
1314
1416
  /**
@@ -1316,16 +1418,16 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1316
1418
  * @summary 공고 목록 조회
1317
1419
  * @param {number} [limit] 페이지 크기(1~100, 기본 100).
1318
1420
  * @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 &#x60;nextCursor&#x60; 를 그대로 전달한다. 미지정 시 첫 페이지. &#x60;nextCursor&#x3D;null&#x60; 이면 마지막 페이지다.
1319
- * @param {Array<string>} [bidIds] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV 로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
1320
- * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다.
1421
+ * @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV 로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
1422
+ * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다.
1321
1423
  * @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. &#x60;results&#x60;&#x3D;응찰 참여자, &#x60;products&#x60;&#x3D;공고 등록 품목, &#x60;contacts&#x60;&#x3D;발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
1322
1424
  * @param {*} [options] Override http request option.
1323
1425
  * @throws {RequiredError}
1324
1426
  */
1325
- async listBids(limit?: number, cursor?: string, bidIds?: Array<string>, status?: Array<BidPublicStatus>, include?: Array<ListBidsIncludeEnum>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListBids200Response>> {
1326
- const localVarAxiosArgs = await localVarAxiosParamCreator.listBids(limit, cursor, bidIds, status, include, options);
1427
+ async listBids(limit?: number, cursor?: string, bidRefs?: Array<string>, status?: Array<BidPublicStatus>, include?: Array<ListBidsIncludeEnum>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListBids200Response>> {
1428
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listBids(limit, cursor, bidRefs, status, include, options);
1327
1429
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1328
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.listBids']?.[localVarOperationServerIndex]?.url;
1430
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.listBids']?.[localVarOperationServerIndex]?.url;
1329
1431
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1330
1432
  },
1331
1433
  /**
@@ -1339,14 +1441,14 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1339
1441
  async listExternalContractDocuments(buyerId: string, bidType: ListExternalContractDocumentsBidTypeEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ExternalContractDocumentsResponseDto>> {
1340
1442
  const localVarAxiosArgs = await localVarAxiosParamCreator.listExternalContractDocuments(buyerId, bidType, options);
1341
1443
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1342
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.listExternalContractDocuments']?.[localVarOperationServerIndex]?.url;
1444
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.listExternalContractDocuments']?.[localVarOperationServerIndex]?.url;
1343
1445
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1344
1446
  },
1345
1447
  /**
1346
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` 헤더 필수.
1347
1449
  * @summary 유찰 처리
1348
1450
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1349
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1451
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1350
1452
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
1351
1453
  * @param {*} [options] Override http request option.
1352
1454
  * @throws {RequiredError}
@@ -1354,14 +1456,14 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1354
1456
  async markBidFailed(bidRef: string, idempotencyKey: string, markBidFailedRequestDto: MarkBidFailedRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MarkBidFailed201Response>> {
1355
1457
  const localVarAxiosArgs = await localVarAxiosParamCreator.markBidFailed(bidRef, idempotencyKey, markBidFailedRequestDto, options);
1356
1458
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1357
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.markBidFailed']?.[localVarOperationServerIndex]?.url;
1459
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.markBidFailed']?.[localVarOperationServerIndex]?.url;
1358
1460
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1359
1461
  },
1360
1462
  /**
1361
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시간 내 캐시 응답 반환.
1362
1464
  * @summary 낙찰 결과 전송
1363
1465
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1364
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1466
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1365
1467
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
1366
1468
  * @param {*} [options] Override http request option.
1367
1469
  * @throws {RequiredError}
@@ -1369,13 +1471,13 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1369
1471
  async registerAward(bidRef: string, idempotencyKey: string, registerAwardRequestDto: RegisterAwardRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegisterAward201Response>> {
1370
1472
  const localVarAxiosArgs = await localVarAxiosParamCreator.registerAward(bidRef, idempotencyKey, registerAwardRequestDto, options);
1371
1473
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1372
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.registerAward']?.[localVarOperationServerIndex]?.url;
1474
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.registerAward']?.[localVarOperationServerIndex]?.url;
1373
1475
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1374
1476
  },
1375
1477
  /**
1376
1478
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
1377
1479
  * @summary 공고 등록
1378
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 캐시 응답 반환.
1480
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1379
1481
  * @param {CreateBidRequestDto} createBidRequestDto
1380
1482
  * @param {*} [options] Override http request option.
1381
1483
  * @throws {RequiredError}
@@ -1383,13 +1485,13 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1383
1485
  async registerBid(idempotencyKey: string, createBidRequestDto: CreateBidRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegisterBid201Response>> {
1384
1486
  const localVarAxiosArgs = await localVarAxiosParamCreator.registerBid(idempotencyKey, createBidRequestDto, options);
1385
1487
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1386
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.registerBid']?.[localVarOperationServerIndex]?.url;
1488
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.registerBid']?.[localVarOperationServerIndex]?.url;
1387
1489
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1388
1490
  },
1389
1491
  /**
1390
1492
  * 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1391
1493
  * @summary 계약 발행대상 등록
1392
- * @param {string} idempotencyKey 재시도 안전을 위한 멱등 키.
1494
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1393
1495
  * @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
1394
1496
  * @param {*} [options] Override http request option.
1395
1497
  * @throws {RequiredError}
@@ -1397,14 +1499,29 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1397
1499
  async registerSemoContract(idempotencyKey: string, registerSemoContractRequestDto: RegisterSemoContractRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SemoContractRegisteredResponseDto>> {
1398
1500
  const localVarAxiosArgs = await localVarAxiosParamCreator.registerSemoContract(idempotencyKey, registerSemoContractRequestDto, options);
1399
1501
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1400
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.registerSemoContract']?.[localVarOperationServerIndex]?.url;
1502
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.registerSemoContract']?.[localVarOperationServerIndex]?.url;
1503
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1504
+ },
1505
+ /**
1506
+ * 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
1507
+ * @summary 계산서 분할 발급 청구
1508
+ * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1509
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1510
+ * @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
1511
+ * @param {*} [options] Override http request option.
1512
+ * @throws {RequiredError}
1513
+ */
1514
+ async requestInvoiceSplit(bidRef: string, idempotencyKey: string, requestInvoiceSplitRequestDto: RequestInvoiceSplitRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RequestInvoiceSplit200Response>> {
1515
+ const localVarAxiosArgs = await localVarAxiosParamCreator.requestInvoiceSplit(bidRef, idempotencyKey, requestInvoiceSplitRequestDto, options);
1516
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1517
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.requestInvoiceSplit']?.[localVarOperationServerIndex]?.url;
1401
1518
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1402
1519
  },
1403
1520
  /**
1404
1521
  * 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1405
1522
  * @summary 낙찰 되돌리기
1406
1523
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1407
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간).
1524
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1408
1525
  * @param {RevertAwardRequestDto} revertAwardRequestDto
1409
1526
  * @param {*} [options] Override http request option.
1410
1527
  * @throws {RequiredError}
@@ -1412,53 +1529,68 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1412
1529
  async revertAward(bidRef: string, idempotencyKey: string, revertAwardRequestDto: RevertAwardRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RevertAward200Response>> {
1413
1530
  const localVarAxiosArgs = await localVarAxiosParamCreator.revertAward(bidRef, idempotencyKey, revertAwardRequestDto, options);
1414
1531
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1415
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.revertAward']?.[localVarOperationServerIndex]?.url;
1532
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.revertAward']?.[localVarOperationServerIndex]?.url;
1416
1533
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1417
1534
  },
1418
1535
  /**
1419
- * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEdit=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1536
+ * 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body buyerId 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 + 동일 body 재전송 24시간 캐시 응답 반환.
1537
+ * @summary 협상 점수평가
1538
+ * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1539
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1540
+ * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
1541
+ * @param {*} [options] Override http request option.
1542
+ * @throws {RequiredError}
1543
+ */
1544
+ async submitNegotiationScores(bidRef: string, idempotencyKey: string, submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SubmitNegotiationScores201Response>> {
1545
+ const localVarAxiosArgs = await localVarAxiosParamCreator.submitNegotiationScores(bidRef, idempotencyKey, submitNegotiationScoresRequestDto, options);
1546
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1547
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.submitNegotiationScores']?.[localVarOperationServerIndex]?.url;
1548
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1549
+ },
1550
+ /**
1551
+ * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1420
1552
  * @summary 공고 수정
1421
1553
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1422
- * @param {string} ifMatch
1423
- * @param {string} ifMatch2 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 사이 공고가 바뀌었으면 412 거절되며 아무것도 수정되지 않습니다.
1424
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환.
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시간 동안 캐시된 응답을 그대로 돌려줍니다.
1425
1556
  * @param {UpdateBidRequestDto} updateBidRequestDto
1426
1557
  * @param {*} [options] Override http request option.
1427
1558
  * @throws {RequiredError}
1428
1559
  */
1429
- async updateBid(bidRef: string, ifMatch: string, ifMatch2: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UpdateBid200Response>> {
1430
- 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);
1431
1562
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1432
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.updateBid']?.[localVarOperationServerIndex]?.url;
1563
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.updateBid']?.[localVarOperationServerIndex]?.url;
1433
1564
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1434
1565
  },
1435
1566
  /**
1436
- * 스코프 `files:write` + `Idempotency-Key` 헤더 필수. base64 또는 url 중 정확히 하나를 제출한다.
1437
- * @summary 공고 첨부파일 업로드(base64 또는 url) → fileKey
1567
+ * 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로 실으세요. 스코프 `files:write` + `Idempotency-Key` 헤더가 필요합니다.
1568
+ * @summary 공고 첨부파일 업로드
1569
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1438
1570
  * @param {UploadFileRequestDto} uploadFileRequestDto
1439
1571
  * @param {*} [options] Override http request option.
1440
1572
  * @throws {RequiredError}
1441
1573
  */
1442
- async uploadFile(uploadFileRequestDto: UploadFileRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UploadFile201Response>> {
1443
- const localVarAxiosArgs = await localVarAxiosParamCreator.uploadFile(uploadFileRequestDto, options);
1574
+ async uploadFile(idempotencyKey: string, uploadFileRequestDto: UploadFileRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UploadFile201Response>> {
1575
+ const localVarAxiosArgs = await localVarAxiosParamCreator.uploadFile(idempotencyKey, uploadFileRequestDto, options);
1444
1576
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1445
- const localVarOperationServerBasePath = operationServerMap['PartnerV2Api.uploadFile']?.[localVarOperationServerIndex]?.url;
1577
+ const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.uploadFile']?.[localVarOperationServerIndex]?.url;
1446
1578
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1447
1579
  },
1448
1580
  }
1449
1581
  };
1450
1582
 
1451
1583
  /**
1452
- * PartnerV2Api - factory interface
1584
+ * PartnerApiApi - factory interface
1453
1585
  */
1454
- export const PartnerV2ApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
1455
- const localVarFp = PartnerV2ApiFp(configuration)
1586
+ export const PartnerApiApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
1587
+ const localVarFp = PartnerApiApiFp(configuration)
1456
1588
  return {
1457
1589
  /**
1458
1590
  * 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
1459
1591
  * @summary 공고 취소
1460
1592
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1461
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간).
1593
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1462
1594
  * @param {CancelBidRequestDto} cancelBidRequestDto
1463
1595
  * @param {*} [options] Override http request option.
1464
1596
  * @throws {RequiredError}
@@ -1467,10 +1599,10 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1467
1599
  return localVarFp.cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options).then((request) => request(axios, basePath));
1468
1600
  },
1469
1601
  /**
1470
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답은 204가 아닌 200입니다 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1602
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1471
1603
  * @summary 검수완료 전송
1472
1604
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1473
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1605
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1474
1606
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
1475
1607
  * @param {*} [options] Override http request option.
1476
1608
  * @throws {RequiredError}
@@ -1480,9 +1612,9 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1480
1612
  },
1481
1613
  /**
1482
1614
  * 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1483
- * @summary 정산 마감(송장 강제완료)
1615
+ * @summary 정산 마감
1484
1616
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1485
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간). UUID v4 권장.
1617
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1486
1618
  * @param {*} [options] Override http request option.
1487
1619
  * @throws {RequiredError}
1488
1620
  */
@@ -1490,21 +1622,20 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1490
1622
  return localVarFp.completeInvoice(bidRef, idempotencyKey, options).then((request) => request(axios, basePath));
1491
1623
  },
1492
1624
  /**
1493
- * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인(APPROVED)되어 바로 결제 가능합니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. 거기서 카드를 골라 결제합니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/card-payment-requests/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 를 신규 연동에 권합니다. 이 경로도 계속 동작하며 중단 일정은 없습니다.
1494
- * @summary 결제창 발행 (구 경로)
1495
- * @param {string} idempotencyKey 재시도 안전을 위한 멱등 키.
1496
- * @param {CreateCardPaymentRequestDto} createCardPaymentRequestDto
1625
+ * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1626
+ * @summary 결제창 발행
1627
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1628
+ * @param {CreateCardPaymentDto} createCardPaymentDto
1497
1629
  * @param {*} [options] Override http request option.
1498
- * @deprecated
1499
1630
  * @throws {RequiredError}
1500
1631
  */
1501
- createCardPaymentRequest(idempotencyKey: string, createCardPaymentRequestDto: CreateCardPaymentRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CardPaymentRequestResponseDto> {
1502
- return localVarFp.createCardPaymentRequest(idempotencyKey, createCardPaymentRequestDto, options).then((request) => request(axios, basePath));
1632
+ createCardPayment(idempotencyKey: string, createCardPaymentDto: CreateCardPaymentDto, options?: RawAxiosRequestConfig): AxiosPromise<CreateCardPayment200Response> {
1633
+ return localVarFp.createCardPayment(idempotencyKey, createCardPaymentDto, options).then((request) => request(axios, basePath));
1503
1634
  },
1504
1635
  /**
1505
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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
1506
1637
  * @summary 계약서류 생성
1507
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1638
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1508
1639
  * @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
1509
1640
  * @param {*} [options] Override http request option.
1510
1641
  * @throws {RequiredError}
@@ -1513,8 +1644,8 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1513
1644
  return localVarFp.createExternalContractDocuments(idempotencyKey, createExternalContractDocumentsRequestDto, options).then((request) => request(axios, basePath));
1514
1645
  },
1515
1646
  /**
1516
- * 무인증 — `fileKey` 자체가 capability 다(V5 `/download/{fileKey}` 같은 보안 모델). 파트너 응답의 `fileUrl`/`fullUrl` 이 이 URL 을 가리킨다. 요청 시점에 서명하므로 URL 을 저장해 두어도 만료되지 않는다. 응답은 실제 저장소 URL 로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}` 가 파일 메타와 `downloadUrl` 을 v2 응답 규약으로 돌려줍니다. 이 안정 URL 은 파트너 응답의 `fileUrl`/`fullUrl` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
1517
- * @summary 파일 다운로드 — 안정 URL(302)
1647
+ * 무인증 — `fileKey` 자체가 capability 다(키를 아는 쪽이 접근 권한을 가진다). 파트너 응답의 `fileUrl`/`fullUrl` 이 이 URL 을 가리킨다. 요청 시점에 서명하므로 URL 을 저장해 두어도 만료되지 않는다. 응답은 실제 저장소 URL 로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}` 가 파일 메타와 `downloadUrl` 을 v2 응답 규약으로 돌려줍니다. 이 안정 URL 은 파트너 응답의 `fileUrl`/`fullUrl` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
1648
+ * @summary 파일 다운로드
1518
1649
  * @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(&#x60;POST /v1|/v2/files&#x60;) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다.
1519
1650
  * @param {*} [options] Override http request option.
1520
1651
  * @throws {RequiredError}
@@ -1523,7 +1654,7 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1523
1654
  return localVarFp.downloadFile(fileKey, options).then((request) => request(axios, basePath));
1524
1655
  },
1525
1656
  /**
1526
- * 공고의 모든 정보를 한 번에 조회합니다 — 기본 정보·납품/대금 조건·담당자·품목, 응찰 참여자(투찰가·순위·낙찰 여부), 계약서류, 검수 진행 상태, 라이프사이클 하위 상태. 스코프 `bids:read`. ERP 는 이 엔드포인트를 폴링해 async 처리(정산 마감 등)의 성사를 관측합니다. **낙찰 여부:** 이 응답의 `status` 가 아니라 `participants[].isWinner` 로 관측합니다. AWARDED 라는 공고 상태는 존재하지 않으며(낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 전이) `status === \'AWARDED\'` 를 기다리면 영원히 도달하지 않습니다. **여러 건을 한 번에:** 공고마다 이 조회를 반복하지 말고 `GET /v2/bid-results` 배치 조회를 쓰세요. **계약서류:** `contractDocuments[].generationState` 는 **관측 전용**입니다. `DEAD_LETTER` 가 보이면 자동 재시도가 소진된 상태이며 API 로 되살릴 수 없습니다운영에 문의하세요. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1657
+ * 공고의 모든 정보를 한 번에 조회합니다 — 기본 정보·납품/대금 조건·담당자·품목, 응찰 참여자(투찰가·순위·낙찰 여부), 계약서류, 검수 진행 상태, 라이프사이클 하위 상태. 스코프 `bids:read`. ERP 는 이 엔드포인트를 폴링해 async 처리(정산 마감 등)의 성사를 관측합니다. **낙찰 여부:** 이 응답의 `status` 가 아니라 `participants[].isWinner` 로 관측합니다. AWARDED 라는 공고 상태는 존재하지 않으며(낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 전이) `status === \'AWARDED\'` 를 기다리면 영원히 도달하지 않습니다. **여러 건을 한 번에:** 공고마다 이 조회를 반복하지 말고 `GET /v2/bid-results` 배치 조회를 쓰세요. **계약서류는 이 응답에 실립니다.** `contractDocuments[]` 가 서류별 `paperCode`·`paperName`· `fileKey`·`downloadUrl`·`uploadedAt`·`winnerSequence` 를 담습니다 — 계약서류만 따로 받는 엔드포인트는 두지 않습니다. `generationState` 는 **관측 전용**이며 `DEAD_LETTER` 가 보이면 자동 재시도가 소진된 상태라 API 로 되살릴 수 없습니다(운영에 문의하세요). **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1527
1658
  * @summary 공고 상세 조회
1528
1659
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1529
1660
  * @param {*} [options] Override http request option.
@@ -1533,7 +1664,7 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1533
1664
  return localVarFp.getBid(bidRef, options).then((request) => request(axios, basePath));
1534
1665
  },
1535
1666
  /**
1536
- * 낙찰 공급사의 사업자·계좌·공급가액/부가세·응찰 품목내역을 조회합니다. 대금 지급에 필요한 정보입니다. 가시성 마스킹과는 직교한 정산 데이터이며 읽기 전용입니다. **필수 스코프:** `invoices:read` — 종전에는 `bids:read` 를 요구했습니다. 대금·계좌가 실리는 응답이라 공고 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
1667
+ * 낙찰 공급사의 사업자·계좌·공급가액/부가세·응찰 품목내역을 조회합니다. 대금 지급에 필요한 정보입니다. 다른 조회에서 일부 참가자 정보가 가려지는 경우와 무관하게, 이 정산 정보는 읽기 전용으로 항상 그대로 제공됩니다. **필수 스코프:** `invoices:read` — 종전에는 `bids:read` 를 요구했습니다. 대금·계좌가 실리는 응답이라 공고 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
1537
1668
  * @summary 정산 정보 조회
1538
1669
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1539
1670
  * @param {*} [options] Override http request option.
@@ -1555,7 +1686,7 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1555
1686
  },
1556
1687
  /**
1557
1688
  * 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **구 경로:** 버전 없는 `GET /files/{fileKey}` 는 만료 없는 안정 주소이고 파트너 응답의 `fileUrl`/`fullUrl` 이 그 값을 가리킵니다. 인증도 스코프도 없는 옛 표면이라 신규 연동은 이 엔드포인트를 쓰세요. 구 경로는 당분간 유지됩니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
1558
- * @summary 파일 조회(메타 + 내려받기 주소)
1689
+ * @summary 파일 정보 조회
1559
1690
  * @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
1560
1691
  * @param {*} [options] Override http request option.
1561
1692
  * @throws {RequiredError}
@@ -1574,15 +1705,14 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1574
1705
  return localVarFp.getSemoContractTaxinvoiceStatus(externalContractId, options).then((request) => request(axios, basePath));
1575
1706
  },
1576
1707
  /**
1577
- * 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어는 지지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **필수 스코프:** `payments:write` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 신규 연동에 권합니다. 경로도 계속 동작하며 중단 일정은 없습니다.
1578
- * @summary 공급사 카드결제 가능 여부 (구 경로)
1708
+ * 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write` 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
1709
+ * @summary 공급사 카드결제 가능 여부
1579
1710
  * @param {string} memberId 계약업체 회원 ID
1580
1711
  * @param {*} [options] Override http request option.
1581
- * @deprecated
1582
1712
  * @throws {RequiredError}
1583
1713
  */
1584
- getSupplierCardPayable(memberId: string, options?: RawAxiosRequestConfig): AxiosPromise<SupplierCardPayableResponseDto> {
1585
- return localVarFp.getSupplierCardPayable(memberId, options).then((request) => request(axios, basePath));
1714
+ getSupplierCardPayableV2(memberId: string, options?: RawAxiosRequestConfig): AxiosPromise<GetSupplierCardPayableV2200Response> {
1715
+ return localVarFp.getSupplierCardPayableV2(memberId, options).then((request) => request(axios, basePath));
1586
1716
  },
1587
1717
  /**
1588
1718
  * ERP 연동 직전 회선·인증 endpoint 동작 확인용.
@@ -1594,28 +1724,28 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1594
1724
  return localVarFp.healthControllerCheck(options).then((request) => request(axios, basePath));
1595
1725
  },
1596
1726
  /**
1597
- * 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. **이 엔드포인트를 폴링에 쓰세요.** 공고 하나씩 조회하는 대신 최대 100건을 한 왕복으로 받습니다. 응답에는 `ETag` 실리므로, 다음 요청에 `If-None-Match` 로 되보내면 결과가 그대로일 때 `304` 를 본문 없이 받습니다 — 마감을 기다리는 동안의 전송량이 사라집니다. **식별자 전달:** `?bidIds=A,B,C`(쉼표) 또는 `?bidIds=A&bidIds=B`(반복) 둘 다 됩니다. **없는 공고는 응답에서 빠집니다.** 존재하지 않거나 대행 범위 밖인 식별자는 오류가 아니라 누락으로 처리됩니다 요청한 건수와 받은 건수가 다를 수 있으니 `bidId` 로 대조하세요. **단건 조회:** 공고 하나만 볼 때도 `bidIds` 에 하나만 넣거나 `GET /v2/bids/{bidRef}` 상세 조회를 쓰세요. 종전의 `GET /v2/bids/{bidRef}/result` 상세 응답의 부분집합이라 폐지됐습니다.
1598
- * @summary 공고 결과 배치 조회
1599
- * @param {string} bidIds 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 &#x60;bidIds&#x60; 를 반복해 전달합니다. 최대 100건.
1727
+ * 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. **이 엔드포인트를 폴링에 쓰세요.** 공고를 하나씩 조회하는 대신 최대 100건을 한 왕복으로 받습니다. 응답에 실린 `ETag` 다음 요청의 `If-None-Match` 로 되보내면, 결과가 그대로일 때 `304` 를 본문 없이 받습니다. **식별자 전달:** `?bidRefs=A,B,C`(쉼표) 또는 `?bidRefs=A&bidRefs=B`(반복) 둘 다 됩니다. **없는 공고는 응답에서 빠집니다.** 존재하지 않거나 대행 범위 밖인 식별자는 오류가 아니라 누락으로 처리됩니다. 요청한 건수와 받은 건수가 다를 수 있으므로, 보낸 값이 공고번호였다면 `bidId` 로, 구매번호였다면 `purchaseNo` 로 대조하세요. **공고 하나만 볼 때도** `bidRefs` 에 하나만 넣으면 됩니다. 응찰 결과 외에 납품 조건·품목·계약서류까지 필요하면 `GET /v2/bids/{bidRef}` 상세 조회를 쓰세요.
1728
+ * @summary 공고 결과 조회
1729
+ * @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 &#x60;bidRefs&#x60; 를 반복해 전달합니다. 최대 100건입니다.
1600
1730
  * @param {*} [options] Override http request option.
1601
1731
  * @throws {RequiredError}
1602
1732
  */
1603
- listBidResults(bidIds: string, options?: RawAxiosRequestConfig): AxiosPromise<ListBidResults200Response> {
1604
- return localVarFp.listBidResults(bidIds, options).then((request) => request(axios, basePath));
1733
+ listBidResults(bidRefs: string, options?: RawAxiosRequestConfig): AxiosPromise<ListBidResults200Response> {
1734
+ return localVarFp.listBidResults(bidRefs, options).then((request) => request(axios, basePath));
1605
1735
  },
1606
1736
  /**
1607
1737
  * 발주처(API 키 바인딩)의 공고를 게시일 최신순으로 조회합니다. 스코프 `bids:read`. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(쿼리에 buyerId 를 넣지 않습니다). **페이지네이션(cursor):** `limit`(1~100, 기본 100) + `cursor`(불투명 토큰). 응답의 `nextCursor` 를 다음 요청 `cursor` 로 전달하면 다음 페이지를 받습니다. `nextCursor=null` 이면 마지막 페이지입니다. **상태·낙찰방법:** 공개값(의미 문자열)으로 반환됩니다. 낙찰 여부는 상태가 아니라 낙찰 결과 조회의 `participants[].isWinner` 로 관측합니다(AWARDED 상태는 없습니다).
1608
1738
  * @summary 공고 목록 조회
1609
1739
  * @param {number} [limit] 페이지 크기(1~100, 기본 100).
1610
1740
  * @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 &#x60;nextCursor&#x60; 를 그대로 전달한다. 미지정 시 첫 페이지. &#x60;nextCursor&#x3D;null&#x60; 이면 마지막 페이지다.
1611
- * @param {Array<string>} [bidIds] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV 로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
1612
- * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다.
1741
+ * @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV 로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
1742
+ * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다.
1613
1743
  * @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. &#x60;results&#x60;&#x3D;응찰 참여자, &#x60;products&#x60;&#x3D;공고 등록 품목, &#x60;contacts&#x60;&#x3D;발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
1614
1744
  * @param {*} [options] Override http request option.
1615
1745
  * @throws {RequiredError}
1616
1746
  */
1617
- listBids(limit?: number, cursor?: string, bidIds?: Array<string>, status?: Array<BidPublicStatus>, include?: Array<ListBidsIncludeEnum>, options?: RawAxiosRequestConfig): AxiosPromise<ListBids200Response> {
1618
- return localVarFp.listBids(limit, cursor, bidIds, status, include, options).then((request) => request(axios, basePath));
1747
+ listBids(limit?: number, cursor?: string, bidRefs?: Array<string>, status?: Array<BidPublicStatus>, include?: Array<ListBidsIncludeEnum>, options?: RawAxiosRequestConfig): AxiosPromise<ListBids200Response> {
1748
+ return localVarFp.listBids(limit, cursor, bidRefs, status, include, options).then((request) => request(axios, basePath));
1619
1749
  },
1620
1750
  /**
1621
1751
  * 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market 이 데이터를 채워 PDF 로 만들어 주는 서류입니다. 생성 API 의 `paperCodes` 에 넣을 수 있습니다. - `autoGenerated=false` — 이 API 로는 만들 수 없는 서류입니다(거래명세서처럼 세금계산서 발행 같은 별도 시점이 필요한 서류). 목록에서 감추지 말고 사용자가 직접 첨부하도록 안내하세요. **조회 가능한 회원 범위:** 이 API 키에 설정된 대행 범위(소속 그룹 전원 또는 지정 회원 목록) 안의 회원만 조회할 수 있습니다. 범위 밖이면 403 입니다. 대행 범위는 키 설정이며 스코프와는 별개 축입니다. **필수 스코프:** `contracts:read` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
@@ -1632,7 +1762,7 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1632
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` 헤더 필수.
1633
1763
  * @summary 유찰 처리
1634
1764
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1635
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1765
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1636
1766
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
1637
1767
  * @param {*} [options] Override http request option.
1638
1768
  * @throws {RequiredError}
@@ -1644,7 +1774,7 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1644
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시간 내 캐시 응답 반환.
1645
1775
  * @summary 낙찰 결과 전송
1646
1776
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1647
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1777
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1648
1778
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
1649
1779
  * @param {*} [options] Override http request option.
1650
1780
  * @throws {RequiredError}
@@ -1655,7 +1785,7 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1655
1785
  /**
1656
1786
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
1657
1787
  * @summary 공고 등록
1658
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 캐시 응답 반환.
1788
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1659
1789
  * @param {CreateBidRequestDto} createBidRequestDto
1660
1790
  * @param {*} [options] Override http request option.
1661
1791
  * @throws {RequiredError}
@@ -1666,7 +1796,7 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1666
1796
  /**
1667
1797
  * 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1668
1798
  * @summary 계약 발행대상 등록
1669
- * @param {string} idempotencyKey 재시도 안전을 위한 멱등 키.
1799
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1670
1800
  * @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
1671
1801
  * @param {*} [options] Override http request option.
1672
1802
  * @throws {RequiredError}
@@ -1674,11 +1804,23 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1674
1804
  registerSemoContract(idempotencyKey: string, registerSemoContractRequestDto: RegisterSemoContractRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<SemoContractRegisteredResponseDto> {
1675
1805
  return localVarFp.registerSemoContract(idempotencyKey, registerSemoContractRequestDto, options).then((request) => request(axios, basePath));
1676
1806
  },
1807
+ /**
1808
+ * 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
1809
+ * @summary 계산서 분할 발급 청구
1810
+ * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1811
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1812
+ * @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
1813
+ * @param {*} [options] Override http request option.
1814
+ * @throws {RequiredError}
1815
+ */
1816
+ requestInvoiceSplit(bidRef: string, idempotencyKey: string, requestInvoiceSplitRequestDto: RequestInvoiceSplitRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<RequestInvoiceSplit200Response> {
1817
+ return localVarFp.requestInvoiceSplit(bidRef, idempotencyKey, requestInvoiceSplitRequestDto, options).then((request) => request(axios, basePath));
1818
+ },
1677
1819
  /**
1678
1820
  * 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1679
1821
  * @summary 낙찰 되돌리기
1680
1822
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1681
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간).
1823
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1682
1824
  * @param {RevertAwardRequestDto} revertAwardRequestDto
1683
1825
  * @param {*} [options] Override http request option.
1684
1826
  * @throws {RequiredError}
@@ -1687,130 +1829,141 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1687
1829
  return localVarFp.revertAward(bidRef, idempotencyKey, revertAwardRequestDto, options).then((request) => request(axios, basePath));
1688
1830
  },
1689
1831
  /**
1690
- * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEdit=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1832
+ * 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body buyerId 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 + 동일 body 재전송 24시간 캐시 응답 반환.
1833
+ * @summary 협상 점수평가
1834
+ * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1835
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1836
+ * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
1837
+ * @param {*} [options] Override http request option.
1838
+ * @throws {RequiredError}
1839
+ */
1840
+ submitNegotiationScores(bidRef: string, idempotencyKey: string, submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<SubmitNegotiationScores201Response> {
1841
+ return localVarFp.submitNegotiationScores(bidRef, idempotencyKey, submitNegotiationScoresRequestDto, options).then((request) => request(axios, basePath));
1842
+ },
1843
+ /**
1844
+ * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1691
1845
  * @summary 공고 수정
1692
1846
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1693
- * @param {string} ifMatch
1694
- * @param {string} ifMatch2 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 사이 공고가 바뀌었으면 412 거절되며 아무것도 수정되지 않습니다.
1695
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환.
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시간 동안 캐시된 응답을 그대로 돌려줍니다.
1696
1849
  * @param {UpdateBidRequestDto} updateBidRequestDto
1697
1850
  * @param {*} [options] Override http request option.
1698
1851
  * @throws {RequiredError}
1699
1852
  */
1700
- updateBid(bidRef: string, ifMatch: string, ifMatch2: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UpdateBid200Response> {
1701
- 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));
1702
1855
  },
1703
1856
  /**
1704
- * 스코프 `files:write` + `Idempotency-Key` 헤더 필수. base64 또는 url 중 정확히 하나를 제출한다.
1705
- * @summary 공고 첨부파일 업로드(base64 또는 url) → fileKey
1857
+ * 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로 실으세요. 스코프 `files:write` + `Idempotency-Key` 헤더가 필요합니다.
1858
+ * @summary 공고 첨부파일 업로드
1859
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1706
1860
  * @param {UploadFileRequestDto} uploadFileRequestDto
1707
1861
  * @param {*} [options] Override http request option.
1708
1862
  * @throws {RequiredError}
1709
1863
  */
1710
- uploadFile(uploadFileRequestDto: UploadFileRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UploadFile201Response> {
1711
- return localVarFp.uploadFile(uploadFileRequestDto, options).then((request) => request(axios, basePath));
1864
+ uploadFile(idempotencyKey: string, uploadFileRequestDto: UploadFileRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UploadFile201Response> {
1865
+ return localVarFp.uploadFile(idempotencyKey, uploadFileRequestDto, options).then((request) => request(axios, basePath));
1712
1866
  },
1713
1867
  };
1714
1868
  };
1715
1869
 
1716
1870
  /**
1717
- * PartnerV2Api - object-oriented interface
1871
+ * PartnerApiApi - object-oriented interface
1718
1872
  */
1719
- export class PartnerV2Api extends BaseAPI {
1873
+ export class PartnerApiApi extends BaseAPI {
1720
1874
  /**
1721
1875
  * 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
1722
1876
  * @summary 공고 취소
1723
1877
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1724
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간).
1878
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1725
1879
  * @param {CancelBidRequestDto} cancelBidRequestDto
1726
1880
  * @param {*} [options] Override http request option.
1727
1881
  * @throws {RequiredError}
1728
1882
  */
1729
1883
  public cancelBid(bidRef: string, idempotencyKey: string, cancelBidRequestDto: CancelBidRequestDto, options?: RawAxiosRequestConfig) {
1730
- return PartnerV2ApiFp(this.configuration).cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options).then((request) => request(this.axios, this.basePath));
1884
+ return PartnerApiApiFp(this.configuration).cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options).then((request) => request(this.axios, this.basePath));
1731
1885
  }
1732
1886
 
1733
1887
  /**
1734
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답은 204가 아닌 200입니다 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1888
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1735
1889
  * @summary 검수완료 전송
1736
1890
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1737
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1891
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1738
1892
  * @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
1739
1893
  * @param {*} [options] Override http request option.
1740
1894
  * @throws {RequiredError}
1741
1895
  */
1742
1896
  public completeAcceptance(bidRef: string, idempotencyKey: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options?: RawAxiosRequestConfig) {
1743
- return PartnerV2ApiFp(this.configuration).completeAcceptance(bidRef, idempotencyKey, completeAcceptanceRequestDto, options).then((request) => request(this.axios, this.basePath));
1897
+ return PartnerApiApiFp(this.configuration).completeAcceptance(bidRef, idempotencyKey, completeAcceptanceRequestDto, options).then((request) => request(this.axios, this.basePath));
1744
1898
  }
1745
1899
 
1746
1900
  /**
1747
1901
  * 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1748
- * @summary 정산 마감(송장 강제완료)
1902
+ * @summary 정산 마감
1749
1903
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1750
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간). UUID v4 권장.
1904
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1751
1905
  * @param {*} [options] Override http request option.
1752
1906
  * @throws {RequiredError}
1753
1907
  */
1754
1908
  public completeInvoice(bidRef: string, idempotencyKey: string, options?: RawAxiosRequestConfig) {
1755
- return PartnerV2ApiFp(this.configuration).completeInvoice(bidRef, idempotencyKey, options).then((request) => request(this.axios, this.basePath));
1909
+ return PartnerApiApiFp(this.configuration).completeInvoice(bidRef, idempotencyKey, options).then((request) => request(this.axios, this.basePath));
1756
1910
  }
1757
1911
 
1758
1912
  /**
1759
- * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인(APPROVED)되어 바로 결제 가능합니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. 거기서 카드를 골라 결제합니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/card-payment-requests/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 를 신규 연동에 권합니다. 이 경로도 계속 동작하며 중단 일정은 없습니다.
1760
- * @summary 결제창 발행 (구 경로)
1761
- * @param {string} idempotencyKey 재시도 안전을 위한 멱등 키.
1762
- * @param {CreateCardPaymentRequestDto} createCardPaymentRequestDto
1913
+ * 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1914
+ * @summary 결제창 발행
1915
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1916
+ * @param {CreateCardPaymentDto} createCardPaymentDto
1763
1917
  * @param {*} [options] Override http request option.
1764
- * @deprecated
1765
1918
  * @throws {RequiredError}
1766
1919
  */
1767
- public createCardPaymentRequest(idempotencyKey: string, createCardPaymentRequestDto: CreateCardPaymentRequestDto, options?: RawAxiosRequestConfig) {
1768
- return PartnerV2ApiFp(this.configuration).createCardPaymentRequest(idempotencyKey, createCardPaymentRequestDto, options).then((request) => request(this.axios, this.basePath));
1920
+ public createCardPayment(idempotencyKey: string, createCardPaymentDto: CreateCardPaymentDto, options?: RawAxiosRequestConfig) {
1921
+ return PartnerApiApiFp(this.configuration).createCardPayment(idempotencyKey, createCardPaymentDto, options).then((request) => request(this.axios, this.basePath));
1769
1922
  }
1770
1923
 
1771
1924
  /**
1772
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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
1773
1926
  * @summary 계약서류 생성
1774
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
1927
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1775
1928
  * @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
1776
1929
  * @param {*} [options] Override http request option.
1777
1930
  * @throws {RequiredError}
1778
1931
  */
1779
1932
  public createExternalContractDocuments(idempotencyKey: string, createExternalContractDocumentsRequestDto: CreateExternalContractDocumentsRequestDto, options?: RawAxiosRequestConfig) {
1780
- return PartnerV2ApiFp(this.configuration).createExternalContractDocuments(idempotencyKey, createExternalContractDocumentsRequestDto, options).then((request) => request(this.axios, this.basePath));
1933
+ return PartnerApiApiFp(this.configuration).createExternalContractDocuments(idempotencyKey, createExternalContractDocumentsRequestDto, options).then((request) => request(this.axios, this.basePath));
1781
1934
  }
1782
1935
 
1783
1936
  /**
1784
- * 무인증 — `fileKey` 자체가 capability 다(V5 `/download/{fileKey}` 같은 보안 모델). 파트너 응답의 `fileUrl`/`fullUrl` 이 이 URL 을 가리킨다. 요청 시점에 서명하므로 URL 을 저장해 두어도 만료되지 않는다. 응답은 실제 저장소 URL 로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}` 가 파일 메타와 `downloadUrl` 을 v2 응답 규약으로 돌려줍니다. 이 안정 URL 은 파트너 응답의 `fileUrl`/`fullUrl` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
1785
- * @summary 파일 다운로드 — 안정 URL(302)
1937
+ * 무인증 — `fileKey` 자체가 capability 다(키를 아는 쪽이 접근 권한을 가진다). 파트너 응답의 `fileUrl`/`fullUrl` 이 이 URL 을 가리킨다. 요청 시점에 서명하므로 URL 을 저장해 두어도 만료되지 않는다. 응답은 실제 저장소 URL 로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}` 가 파일 메타와 `downloadUrl` 을 v2 응답 규약으로 돌려줍니다. 이 안정 URL 은 파트너 응답의 `fileUrl`/`fullUrl` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
1938
+ * @summary 파일 다운로드
1786
1939
  * @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(&#x60;POST /v1|/v2/files&#x60;) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다.
1787
1940
  * @param {*} [options] Override http request option.
1788
1941
  * @throws {RequiredError}
1789
1942
  */
1790
1943
  public downloadFile(fileKey: string, options?: RawAxiosRequestConfig) {
1791
- return PartnerV2ApiFp(this.configuration).downloadFile(fileKey, options).then((request) => request(this.axios, this.basePath));
1944
+ return PartnerApiApiFp(this.configuration).downloadFile(fileKey, options).then((request) => request(this.axios, this.basePath));
1792
1945
  }
1793
1946
 
1794
1947
  /**
1795
- * 공고의 모든 정보를 한 번에 조회합니다 — 기본 정보·납품/대금 조건·담당자·품목, 응찰 참여자(투찰가·순위·낙찰 여부), 계약서류, 검수 진행 상태, 라이프사이클 하위 상태. 스코프 `bids:read`. ERP 는 이 엔드포인트를 폴링해 async 처리(정산 마감 등)의 성사를 관측합니다. **낙찰 여부:** 이 응답의 `status` 가 아니라 `participants[].isWinner` 로 관측합니다. AWARDED 라는 공고 상태는 존재하지 않으며(낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 전이) `status === \'AWARDED\'` 를 기다리면 영원히 도달하지 않습니다. **여러 건을 한 번에:** 공고마다 이 조회를 반복하지 말고 `GET /v2/bid-results` 배치 조회를 쓰세요. **계약서류:** `contractDocuments[].generationState` 는 **관측 전용**입니다. `DEAD_LETTER` 가 보이면 자동 재시도가 소진된 상태이며 API 로 되살릴 수 없습니다운영에 문의하세요. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1948
+ * 공고의 모든 정보를 한 번에 조회합니다 — 기본 정보·납품/대금 조건·담당자·품목, 응찰 참여자(투찰가·순위·낙찰 여부), 계약서류, 검수 진행 상태, 라이프사이클 하위 상태. 스코프 `bids:read`. ERP 는 이 엔드포인트를 폴링해 async 처리(정산 마감 등)의 성사를 관측합니다. **낙찰 여부:** 이 응답의 `status` 가 아니라 `participants[].isWinner` 로 관측합니다. AWARDED 라는 공고 상태는 존재하지 않으며(낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 전이) `status === \'AWARDED\'` 를 기다리면 영원히 도달하지 않습니다. **여러 건을 한 번에:** 공고마다 이 조회를 반복하지 말고 `GET /v2/bid-results` 배치 조회를 쓰세요. **계약서류는 이 응답에 실립니다.** `contractDocuments[]` 가 서류별 `paperCode`·`paperName`· `fileKey`·`downloadUrl`·`uploadedAt`·`winnerSequence` 를 담습니다 — 계약서류만 따로 받는 엔드포인트는 두지 않습니다. `generationState` 는 **관측 전용**이며 `DEAD_LETTER` 가 보이면 자동 재시도가 소진된 상태라 API 로 되살릴 수 없습니다(운영에 문의하세요). **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1796
1949
  * @summary 공고 상세 조회
1797
1950
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1798
1951
  * @param {*} [options] Override http request option.
1799
1952
  * @throws {RequiredError}
1800
1953
  */
1801
1954
  public getBid(bidRef: string, options?: RawAxiosRequestConfig) {
1802
- return PartnerV2ApiFp(this.configuration).getBid(bidRef, options).then((request) => request(this.axios, this.basePath));
1955
+ return PartnerApiApiFp(this.configuration).getBid(bidRef, options).then((request) => request(this.axios, this.basePath));
1803
1956
  }
1804
1957
 
1805
1958
  /**
1806
- * 낙찰 공급사의 사업자·계좌·공급가액/부가세·응찰 품목내역을 조회합니다. 대금 지급에 필요한 정보입니다. 가시성 마스킹과는 직교한 정산 데이터이며 읽기 전용입니다. **필수 스코프:** `invoices:read` — 종전에는 `bids:read` 를 요구했습니다. 대금·계좌가 실리는 응답이라 공고 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
1959
+ * 낙찰 공급사의 사업자·계좌·공급가액/부가세·응찰 품목내역을 조회합니다. 대금 지급에 필요한 정보입니다. 다른 조회에서 일부 참가자 정보가 가려지는 경우와 무관하게, 이 정산 정보는 읽기 전용으로 항상 그대로 제공됩니다. **필수 스코프:** `invoices:read` — 종전에는 `bids:read` 를 요구했습니다. 대금·계좌가 실리는 응답이라 공고 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
1807
1960
  * @summary 정산 정보 조회
1808
1961
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1809
1962
  * @param {*} [options] Override http request option.
1810
1963
  * @throws {RequiredError}
1811
1964
  */
1812
1965
  public getBidSettlement(bidRef: string, options?: RawAxiosRequestConfig) {
1813
- return PartnerV2ApiFp(this.configuration).getBidSettlement(bidRef, options).then((request) => request(this.axios, this.basePath));
1966
+ return PartnerApiApiFp(this.configuration).getBidSettlement(bidRef, options).then((request) => request(this.axios, this.basePath));
1814
1967
  }
1815
1968
 
1816
1969
  /**
@@ -1822,18 +1975,18 @@ export class PartnerV2Api extends BaseAPI {
1822
1975
  * @throws {RequiredError}
1823
1976
  */
1824
1977
  public getBidStatement(bidRef: string, paperCode?: number, options?: RawAxiosRequestConfig) {
1825
- return PartnerV2ApiFp(this.configuration).getBidStatement(bidRef, paperCode, options).then((request) => request(this.axios, this.basePath));
1978
+ return PartnerApiApiFp(this.configuration).getBidStatement(bidRef, paperCode, options).then((request) => request(this.axios, this.basePath));
1826
1979
  }
1827
1980
 
1828
1981
  /**
1829
1982
  * 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **구 경로:** 버전 없는 `GET /files/{fileKey}` 는 만료 없는 안정 주소이고 파트너 응답의 `fileUrl`/`fullUrl` 이 그 값을 가리킵니다. 인증도 스코프도 없는 옛 표면이라 신규 연동은 이 엔드포인트를 쓰세요. 구 경로는 당분간 유지됩니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
1830
- * @summary 파일 조회(메타 + 내려받기 주소)
1983
+ * @summary 파일 정보 조회
1831
1984
  * @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
1832
1985
  * @param {*} [options] Override http request option.
1833
1986
  * @throws {RequiredError}
1834
1987
  */
1835
1988
  public getFileMeta(fileKey: string, options?: RawAxiosRequestConfig) {
1836
- return PartnerV2ApiFp(this.configuration).getFileMeta(fileKey, options).then((request) => request(this.axios, this.basePath));
1989
+ return PartnerApiApiFp(this.configuration).getFileMeta(fileKey, options).then((request) => request(this.axios, this.basePath));
1837
1990
  }
1838
1991
 
1839
1992
  /**
@@ -1844,19 +1997,18 @@ export class PartnerV2Api extends BaseAPI {
1844
1997
  * @throws {RequiredError}
1845
1998
  */
1846
1999
  public getSemoContractTaxinvoiceStatus(externalContractId: string, options?: RawAxiosRequestConfig) {
1847
- return PartnerV2ApiFp(this.configuration).getSemoContractTaxinvoiceStatus(externalContractId, options).then((request) => request(this.axios, this.basePath));
2000
+ return PartnerApiApiFp(this.configuration).getSemoContractTaxinvoiceStatus(externalContractId, options).then((request) => request(this.axios, this.basePath));
1848
2001
  }
1849
2002
 
1850
2003
  /**
1851
- * 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어는 지지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **필수 스코프:** `payments:write` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 신규 연동에 권합니다. 경로도 계속 동작하며 중단 일정은 없습니다.
1852
- * @summary 공급사 카드결제 가능 여부 (구 경로)
2004
+ * 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write` 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
2005
+ * @summary 공급사 카드결제 가능 여부
1853
2006
  * @param {string} memberId 계약업체 회원 ID
1854
2007
  * @param {*} [options] Override http request option.
1855
- * @deprecated
1856
2008
  * @throws {RequiredError}
1857
2009
  */
1858
- public getSupplierCardPayable(memberId: string, options?: RawAxiosRequestConfig) {
1859
- return PartnerV2ApiFp(this.configuration).getSupplierCardPayable(memberId, options).then((request) => request(this.axios, this.basePath));
2010
+ public getSupplierCardPayableV2(memberId: string, options?: RawAxiosRequestConfig) {
2011
+ return PartnerApiApiFp(this.configuration).getSupplierCardPayableV2(memberId, options).then((request) => request(this.axios, this.basePath));
1860
2012
  }
1861
2013
 
1862
2014
  /**
@@ -1866,18 +2018,18 @@ export class PartnerV2Api extends BaseAPI {
1866
2018
  * @throws {RequiredError}
1867
2019
  */
1868
2020
  public healthControllerCheck(options?: RawAxiosRequestConfig) {
1869
- return PartnerV2ApiFp(this.configuration).healthControllerCheck(options).then((request) => request(this.axios, this.basePath));
2021
+ return PartnerApiApiFp(this.configuration).healthControllerCheck(options).then((request) => request(this.axios, this.basePath));
1870
2022
  }
1871
2023
 
1872
2024
  /**
1873
- * 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. **이 엔드포인트를 폴링에 쓰세요.** 공고 하나씩 조회하는 대신 최대 100건을 한 왕복으로 받습니다. 응답에는 `ETag` 실리므로, 다음 요청에 `If-None-Match` 로 되보내면 결과가 그대로일 때 `304` 를 본문 없이 받습니다 — 마감을 기다리는 동안의 전송량이 사라집니다. **식별자 전달:** `?bidIds=A,B,C`(쉼표) 또는 `?bidIds=A&bidIds=B`(반복) 둘 다 됩니다. **없는 공고는 응답에서 빠집니다.** 존재하지 않거나 대행 범위 밖인 식별자는 오류가 아니라 누락으로 처리됩니다 요청한 건수와 받은 건수가 다를 수 있으니 `bidId` 로 대조하세요. **단건 조회:** 공고 하나만 볼 때도 `bidIds` 에 하나만 넣거나 `GET /v2/bids/{bidRef}` 상세 조회를 쓰세요. 종전의 `GET /v2/bids/{bidRef}/result` 상세 응답의 부분집합이라 폐지됐습니다.
1874
- * @summary 공고 결과 배치 조회
1875
- * @param {string} bidIds 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 &#x60;bidIds&#x60; 를 반복해 전달합니다. 최대 100건.
2025
+ * 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. **이 엔드포인트를 폴링에 쓰세요.** 공고를 하나씩 조회하는 대신 최대 100건을 한 왕복으로 받습니다. 응답에 실린 `ETag` 다음 요청의 `If-None-Match` 로 되보내면, 결과가 그대로일 때 `304` 를 본문 없이 받습니다. **식별자 전달:** `?bidRefs=A,B,C`(쉼표) 또는 `?bidRefs=A&bidRefs=B`(반복) 둘 다 됩니다. **없는 공고는 응답에서 빠집니다.** 존재하지 않거나 대행 범위 밖인 식별자는 오류가 아니라 누락으로 처리됩니다. 요청한 건수와 받은 건수가 다를 수 있으므로, 보낸 값이 공고번호였다면 `bidId` 로, 구매번호였다면 `purchaseNo` 로 대조하세요. **공고 하나만 볼 때도** `bidRefs` 에 하나만 넣으면 됩니다. 응찰 결과 외에 납품 조건·품목·계약서류까지 필요하면 `GET /v2/bids/{bidRef}` 상세 조회를 쓰세요.
2026
+ * @summary 공고 결과 조회
2027
+ * @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 &#x60;bidRefs&#x60; 를 반복해 전달합니다. 최대 100건입니다.
1876
2028
  * @param {*} [options] Override http request option.
1877
2029
  * @throws {RequiredError}
1878
2030
  */
1879
- public listBidResults(bidIds: string, options?: RawAxiosRequestConfig) {
1880
- return PartnerV2ApiFp(this.configuration).listBidResults(bidIds, options).then((request) => request(this.axios, this.basePath));
2031
+ public listBidResults(bidRefs: string, options?: RawAxiosRequestConfig) {
2032
+ return PartnerApiApiFp(this.configuration).listBidResults(bidRefs, options).then((request) => request(this.axios, this.basePath));
1881
2033
  }
1882
2034
 
1883
2035
  /**
@@ -1885,14 +2037,14 @@ export class PartnerV2Api extends BaseAPI {
1885
2037
  * @summary 공고 목록 조회
1886
2038
  * @param {number} [limit] 페이지 크기(1~100, 기본 100).
1887
2039
  * @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 &#x60;nextCursor&#x60; 를 그대로 전달한다. 미지정 시 첫 페이지. &#x60;nextCursor&#x3D;null&#x60; 이면 마지막 페이지다.
1888
- * @param {Array<string>} [bidIds] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV 로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
1889
- * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다.
2040
+ * @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV 로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
2041
+ * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다.
1890
2042
  * @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. &#x60;results&#x60;&#x3D;응찰 참여자, &#x60;products&#x60;&#x3D;공고 등록 품목, &#x60;contacts&#x60;&#x3D;발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
1891
2043
  * @param {*} [options] Override http request option.
1892
2044
  * @throws {RequiredError}
1893
2045
  */
1894
- public listBids(limit?: number, cursor?: string, bidIds?: Array<string>, status?: Array<BidPublicStatus>, include?: Array<ListBidsIncludeEnum>, options?: RawAxiosRequestConfig) {
1895
- return PartnerV2ApiFp(this.configuration).listBids(limit, cursor, bidIds, status, include, options).then((request) => request(this.axios, this.basePath));
2046
+ public listBids(limit?: number, cursor?: string, bidRefs?: Array<string>, status?: Array<BidPublicStatus>, include?: Array<ListBidsIncludeEnum>, options?: RawAxiosRequestConfig) {
2047
+ return PartnerApiApiFp(this.configuration).listBids(limit, cursor, bidRefs, status, include, options).then((request) => request(this.axios, this.basePath));
1896
2048
  }
1897
2049
 
1898
2050
  /**
@@ -1904,96 +2056,122 @@ export class PartnerV2Api extends BaseAPI {
1904
2056
  * @throws {RequiredError}
1905
2057
  */
1906
2058
  public listExternalContractDocuments(buyerId: string, bidType: ListExternalContractDocumentsBidTypeEnum, options?: RawAxiosRequestConfig) {
1907
- return PartnerV2ApiFp(this.configuration).listExternalContractDocuments(buyerId, bidType, options).then((request) => request(this.axios, this.basePath));
2059
+ return PartnerApiApiFp(this.configuration).listExternalContractDocuments(buyerId, bidType, options).then((request) => request(this.axios, this.basePath));
1908
2060
  }
1909
2061
 
1910
2062
  /**
1911
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` 헤더 필수.
1912
2064
  * @summary 유찰 처리
1913
2065
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1914
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
2066
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1915
2067
  * @param {MarkBidFailedRequestDto} markBidFailedRequestDto
1916
2068
  * @param {*} [options] Override http request option.
1917
2069
  * @throws {RequiredError}
1918
2070
  */
1919
2071
  public markBidFailed(bidRef: string, idempotencyKey: string, markBidFailedRequestDto: MarkBidFailedRequestDto, options?: RawAxiosRequestConfig) {
1920
- return PartnerV2ApiFp(this.configuration).markBidFailed(bidRef, idempotencyKey, markBidFailedRequestDto, options).then((request) => request(this.axios, this.basePath));
2072
+ return PartnerApiApiFp(this.configuration).markBidFailed(bidRef, idempotencyKey, markBidFailedRequestDto, options).then((request) => request(this.axios, this.basePath));
1921
2073
  }
1922
2074
 
1923
2075
  /**
1924
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시간 내 캐시 응답 반환.
1925
2077
  * @summary 낙찰 결과 전송
1926
2078
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1927
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 + 동일 body 재전송 캐시 응답 반환(24시간). UUID v4 권장.
2079
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1928
2080
  * @param {RegisterAwardRequestDto} registerAwardRequestDto
1929
2081
  * @param {*} [options] Override http request option.
1930
2082
  * @throws {RequiredError}
1931
2083
  */
1932
2084
  public registerAward(bidRef: string, idempotencyKey: string, registerAwardRequestDto: RegisterAwardRequestDto, options?: RawAxiosRequestConfig) {
1933
- return PartnerV2ApiFp(this.configuration).registerAward(bidRef, idempotencyKey, registerAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
2085
+ return PartnerApiApiFp(this.configuration).registerAward(bidRef, idempotencyKey, registerAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
1934
2086
  }
1935
2087
 
1936
2088
  /**
1937
2089
  * 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
1938
2090
  * @summary 공고 등록
1939
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 캐시 응답 반환.
2091
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1940
2092
  * @param {CreateBidRequestDto} createBidRequestDto
1941
2093
  * @param {*} [options] Override http request option.
1942
2094
  * @throws {RequiredError}
1943
2095
  */
1944
2096
  public registerBid(idempotencyKey: string, createBidRequestDto: CreateBidRequestDto, options?: RawAxiosRequestConfig) {
1945
- return PartnerV2ApiFp(this.configuration).registerBid(idempotencyKey, createBidRequestDto, options).then((request) => request(this.axios, this.basePath));
2097
+ return PartnerApiApiFp(this.configuration).registerBid(idempotencyKey, createBidRequestDto, options).then((request) => request(this.axios, this.basePath));
1946
2098
  }
1947
2099
 
1948
2100
  /**
1949
2101
  * 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
1950
2102
  * @summary 계약 발행대상 등록
1951
- * @param {string} idempotencyKey 재시도 안전을 위한 멱등 키.
2103
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1952
2104
  * @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
1953
2105
  * @param {*} [options] Override http request option.
1954
2106
  * @throws {RequiredError}
1955
2107
  */
1956
2108
  public registerSemoContract(idempotencyKey: string, registerSemoContractRequestDto: RegisterSemoContractRequestDto, options?: RawAxiosRequestConfig) {
1957
- return PartnerV2ApiFp(this.configuration).registerSemoContract(idempotencyKey, registerSemoContractRequestDto, options).then((request) => request(this.axios, this.basePath));
2109
+ return PartnerApiApiFp(this.configuration).registerSemoContract(idempotencyKey, registerSemoContractRequestDto, options).then((request) => request(this.axios, this.basePath));
2110
+ }
2111
+
2112
+ /**
2113
+ * 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
2114
+ * @summary 계산서 분할 발급 청구
2115
+ * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
2116
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2117
+ * @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
2118
+ * @param {*} [options] Override http request option.
2119
+ * @throws {RequiredError}
2120
+ */
2121
+ public requestInvoiceSplit(bidRef: string, idempotencyKey: string, requestInvoiceSplitRequestDto: RequestInvoiceSplitRequestDto, options?: RawAxiosRequestConfig) {
2122
+ return PartnerApiApiFp(this.configuration).requestInvoiceSplit(bidRef, idempotencyKey, requestInvoiceSplitRequestDto, options).then((request) => request(this.axios, this.basePath));
1958
2123
  }
1959
2124
 
1960
2125
  /**
1961
2126
  * 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
1962
2127
  * @summary 낙찰 되돌리기
1963
2128
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1964
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일재전송 캐시 응답 반환(24시간).
2129
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 + 같은 body 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1965
2130
  * @param {RevertAwardRequestDto} revertAwardRequestDto
1966
2131
  * @param {*} [options] Override http request option.
1967
2132
  * @throws {RequiredError}
1968
2133
  */
1969
2134
  public revertAward(bidRef: string, idempotencyKey: string, revertAwardRequestDto: RevertAwardRequestDto, options?: RawAxiosRequestConfig) {
1970
- return PartnerV2ApiFp(this.configuration).revertAward(bidRef, idempotencyKey, revertAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
2135
+ return PartnerApiApiFp(this.configuration).revertAward(bidRef, idempotencyKey, revertAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
2136
+ }
2137
+
2138
+ /**
2139
+ * 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 이 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
2140
+ * @summary 협상 점수평가
2141
+ * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
2142
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
2143
+ * @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
2144
+ * @param {*} [options] Override http request option.
2145
+ * @throws {RequiredError}
2146
+ */
2147
+ public submitNegotiationScores(bidRef: string, idempotencyKey: string, submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto, options?: RawAxiosRequestConfig) {
2148
+ return PartnerApiApiFp(this.configuration).submitNegotiationScores(bidRef, idempotencyKey, submitNegotiationScoresRequestDto, options).then((request) => request(this.axios, this.basePath));
1971
2149
  }
1972
2150
 
1973
2151
  /**
1974
- * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEdit=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
2152
+ * 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
1975
2153
  * @summary 공고 수정
1976
2154
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1977
- * @param {string} ifMatch
1978
- * @param {string} ifMatch2 수정하려는 공고의 ETag(필수). 직전 &#x60;GET /v2/bids/{bidRef}&#x60; 응답의 &#x60;ETag&#x60; 헤더 값을 그대로 실어 보내세요. 누락하면 428, 사이 공고가 바뀌었으면 412 거절되며 아무것도 수정되지 않습니다.
1979
- * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환.
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시간 동안 캐시된 응답을 그대로 돌려줍니다.
1980
2157
  * @param {UpdateBidRequestDto} updateBidRequestDto
1981
2158
  * @param {*} [options] Override http request option.
1982
2159
  * @throws {RequiredError}
1983
2160
  */
1984
- public updateBid(bidRef: string, ifMatch: string, ifMatch2: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig) {
1985
- return PartnerV2ApiFp(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));
1986
2163
  }
1987
2164
 
1988
2165
  /**
1989
- * 스코프 `files:write` + `Idempotency-Key` 헤더 필수. base64 또는 url 중 정확히 하나를 제출한다.
1990
- * @summary 공고 첨부파일 업로드(base64 또는 url) → fileKey
2166
+ * 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로 실으세요. 스코프 `files:write` + `Idempotency-Key` 헤더가 필요합니다.
2167
+ * @summary 공고 첨부파일 업로드
2168
+ * @param {string} idempotencyKey 멱등성 키(1~255자, &#x60;[A-Za-z0-9_-]&#x60;). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: &#x60;bid-create-{구매번호}&#x60;)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
1991
2169
  * @param {UploadFileRequestDto} uploadFileRequestDto
1992
2170
  * @param {*} [options] Override http request option.
1993
2171
  * @throws {RequiredError}
1994
2172
  */
1995
- public uploadFile(uploadFileRequestDto: UploadFileRequestDto, options?: RawAxiosRequestConfig) {
1996
- return PartnerV2ApiFp(this.configuration).uploadFile(uploadFileRequestDto, options).then((request) => request(this.axios, this.basePath));
2173
+ public uploadFile(idempotencyKey: string, uploadFileRequestDto: UploadFileRequestDto, options?: RawAxiosRequestConfig) {
2174
+ return PartnerApiApiFp(this.configuration).uploadFile(idempotencyKey, uploadFileRequestDto, options).then((request) => request(this.axios, this.basePath));
1997
2175
  }
1998
2176
  }
1999
2177