@cmarket/partner-sdk 35.0.0 → 35.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. package/README.md +4 -4
  2. package/api/oauth-api.ts +1 -1
  3. package/api/partner-v1-api.ts +1 -1
  4. package/api/partner-v2-api.ts +5 -5
  5. package/api/well-known-api.ts +1 -1
  6. package/api.ts +1 -1
  7. package/base.ts +1 -1
  8. package/common.ts +1 -1
  9. package/configuration.ts +1 -1
  10. package/dist/api/oauth-api.d.ts +1 -1
  11. package/dist/api/oauth-api.js +1 -1
  12. package/dist/api/partner-v1-api.d.ts +1 -1
  13. package/dist/api/partner-v1-api.js +1 -1
  14. package/dist/api/partner-v2-api.d.ts +5 -5
  15. package/dist/api/partner-v2-api.js +5 -5
  16. package/dist/api/well-known-api.d.ts +1 -1
  17. package/dist/api/well-known-api.js +1 -1
  18. package/dist/api.d.ts +1 -1
  19. package/dist/api.js +1 -1
  20. package/dist/base.d.ts +1 -1
  21. package/dist/base.js +1 -1
  22. package/dist/common.d.ts +1 -1
  23. package/dist/common.js +1 -1
  24. package/dist/configuration.d.ts +1 -1
  25. package/dist/configuration.js +1 -1
  26. package/dist/esm/api/oauth-api.d.ts +1 -1
  27. package/dist/esm/api/oauth-api.js +1 -1
  28. package/dist/esm/api/partner-v1-api.d.ts +1 -1
  29. package/dist/esm/api/partner-v1-api.js +1 -1
  30. package/dist/esm/api/partner-v2-api.d.ts +5 -5
  31. package/dist/esm/api/partner-v2-api.js +5 -5
  32. package/dist/esm/api/well-known-api.d.ts +1 -1
  33. package/dist/esm/api/well-known-api.js +1 -1
  34. package/dist/esm/api.d.ts +1 -1
  35. package/dist/esm/api.js +1 -1
  36. package/dist/esm/base.d.ts +1 -1
  37. package/dist/esm/base.js +1 -1
  38. package/dist/esm/common.d.ts +1 -1
  39. package/dist/esm/common.js +1 -1
  40. package/dist/esm/configuration.d.ts +1 -1
  41. package/dist/esm/configuration.js +1 -1
  42. package/dist/esm/index.d.ts +1 -1
  43. package/dist/esm/index.js +1 -1
  44. package/dist/esm/models/acceptance-result-response-dto.d.ts +1 -1
  45. package/dist/esm/models/acceptance-result-response-dto.js +1 -1
  46. package/dist/esm/models/acceptance-result-v1-response-dto.d.ts +1 -1
  47. package/dist/esm/models/acceptance-result-v1-response-dto.js +1 -1
  48. package/dist/esm/models/acknowledge-products-v1-request-dto.d.ts +1 -1
  49. package/dist/esm/models/acknowledge-products-v1-request-dto.js +1 -1
  50. package/dist/esm/models/api-catalog-dto.d.ts +1 -1
  51. package/dist/esm/models/api-catalog-dto.js +1 -1
  52. package/dist/esm/models/api-catalog-entry-dto.d.ts +1 -1
  53. package/dist/esm/models/api-catalog-entry-dto.js +1 -1
  54. package/dist/esm/models/api-catalog-link-dto.d.ts +1 -1
  55. package/dist/esm/models/api-catalog-link-dto.js +1 -1
  56. package/dist/esm/models/authorization-server-metadata-dto.d.ts +1 -1
  57. package/dist/esm/models/authorization-server-metadata-dto.js +1 -1
  58. package/dist/esm/models/award-method-public.d.ts +1 -1
  59. package/dist/esm/models/award-method-public.js +1 -1
  60. package/dist/esm/models/award-registered-response-dto.d.ts +1 -1
  61. package/dist/esm/models/award-registered-response-dto.js +1 -1
  62. package/dist/esm/models/award-registered-v2-response-dto.d.ts +1 -1
  63. package/dist/esm/models/award-registered-v2-response-dto.js +1 -1
  64. package/dist/esm/models/award-reverted-v2-response-dto.d.ts +1 -1
  65. package/dist/esm/models/award-reverted-v2-response-dto.js +1 -1
  66. package/dist/esm/models/bid-acceptance-dto.d.ts +1 -1
  67. package/dist/esm/models/bid-acceptance-dto.js +1 -1
  68. package/dist/esm/models/bid-attachment-v1-dto.d.ts +1 -1
  69. package/dist/esm/models/bid-attachment-v1-dto.js +1 -1
  70. package/dist/esm/models/bid-bond-dto.d.ts +1 -1
  71. package/dist/esm/models/bid-bond-dto.js +1 -1
  72. package/dist/esm/models/bid-bond-v1-dto.d.ts +1 -1
  73. package/dist/esm/models/bid-bond-v1-dto.js +1 -1
  74. package/dist/esm/models/bid-cancelled-response-dto.d.ts +1 -1
  75. package/dist/esm/models/bid-cancelled-response-dto.js +1 -1
  76. package/dist/esm/models/bid-contact-dto.d.ts +1 -1
  77. package/dist/esm/models/bid-contact-dto.js +1 -1
  78. package/dist/esm/models/bid-contacts-dto.d.ts +1 -1
  79. package/dist/esm/models/bid-contacts-dto.js +1 -1
  80. package/dist/esm/models/bid-contract-document-dto.d.ts +1 -1
  81. package/dist/esm/models/bid-contract-document-dto.js +1 -1
  82. package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.d.ts +1 -1
  83. package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.js +1 -1
  84. package/dist/esm/models/bid-contract-documents-v1-response-dto.d.ts +1 -1
  85. package/dist/esm/models/bid-contract-documents-v1-response-dto.js +1 -1
  86. package/dist/esm/models/bid-created-response-dto.d.ts +1 -1
  87. package/dist/esm/models/bid-created-response-dto.js +1 -1
  88. package/dist/esm/models/bid-delivery-terms-dto.d.ts +1 -1
  89. package/dist/esm/models/bid-delivery-terms-dto.js +1 -1
  90. package/dist/esm/models/bid-detail-response-dto.d.ts +1 -1
  91. package/dist/esm/models/bid-detail-response-dto.js +1 -1
  92. package/dist/esm/models/bid-document-dto.d.ts +1 -1
  93. package/dist/esm/models/bid-document-dto.js +1 -1
  94. package/dist/esm/models/bid-document-v1-dto.d.ts +1 -1
  95. package/dist/esm/models/bid-document-v1-dto.js +1 -1
  96. package/dist/esm/models/bid-failed-response-dto.d.ts +1 -1
  97. package/dist/esm/models/bid-failed-response-dto.js +1 -1
  98. package/dist/esm/models/bid-failed-v2-response-dto.d.ts +1 -1
  99. package/dist/esm/models/bid-failed-v2-response-dto.js +1 -1
  100. package/dist/esm/models/bid-failure-reason.d.ts +1 -1
  101. package/dist/esm/models/bid-failure-reason.js +1 -1
  102. package/dist/esm/models/bid-item-dto.d.ts +1 -1
  103. package/dist/esm/models/bid-item-dto.js +1 -1
  104. package/dist/esm/models/bid-item-v1-dto.d.ts +1 -1
  105. package/dist/esm/models/bid-item-v1-dto.js +1 -1
  106. package/dist/esm/models/bid-lifecycle-dto.d.ts +1 -1
  107. package/dist/esm/models/bid-lifecycle-dto.js +1 -1
  108. package/dist/esm/models/bid-manager-dto.d.ts +1 -1
  109. package/dist/esm/models/bid-manager-dto.js +1 -1
  110. package/dist/esm/models/bid-manager-v1-dto.d.ts +1 -1
  111. package/dist/esm/models/bid-manager-v1-dto.js +1 -1
  112. package/dist/esm/models/bid-payment-terms-dto.d.ts +1 -1
  113. package/dist/esm/models/bid-payment-terms-dto.js +1 -1
  114. package/dist/esm/models/bid-product-dto.d.ts +1 -1
  115. package/dist/esm/models/bid-product-dto.js +1 -1
  116. package/dist/esm/models/bid-public-status.d.ts +1 -1
  117. package/dist/esm/models/bid-public-status.js +1 -1
  118. package/dist/esm/models/bid-registered-response-dto.d.ts +1 -1
  119. package/dist/esm/models/bid-registered-response-dto.js +1 -1
  120. package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +1 -1
  121. package/dist/esm/models/bid-result-participant-attachment-dto.js +1 -1
  122. package/dist/esm/models/bid-result-participant-dto.d.ts +1 -1
  123. package/dist/esm/models/bid-result-participant-dto.js +1 -1
  124. package/dist/esm/models/bid-result-v1-attachment-dto.d.ts +1 -1
  125. package/dist/esm/models/bid-result-v1-attachment-dto.js +1 -1
  126. package/dist/esm/models/bid-result-v1-bid-product-info-dto.d.ts +1 -1
  127. package/dist/esm/models/bid-result-v1-bid-product-info-dto.js +1 -1
  128. package/dist/esm/models/bid-result-v1-participant-dto.d.ts +1 -1
  129. package/dist/esm/models/bid-result-v1-participant-dto.js +1 -1
  130. package/dist/esm/models/bid-result-v1-product-dto.d.ts +1 -1
  131. package/dist/esm/models/bid-result-v1-product-dto.js +1 -1
  132. package/dist/esm/models/bid-results-batch-v1-request-dto.d.ts +1 -1
  133. package/dist/esm/models/bid-results-batch-v1-request-dto.js +1 -1
  134. package/dist/esm/models/bid-results-response-dto.d.ts +1 -1
  135. package/dist/esm/models/bid-results-response-dto.js +1 -1
  136. package/dist/esm/models/bid-results-v1-response-dto.d.ts +1 -1
  137. package/dist/esm/models/bid-results-v1-response-dto.js +1 -1
  138. package/dist/esm/models/bid-settlement-line-item-dto.d.ts +1 -1
  139. package/dist/esm/models/bid-settlement-line-item-dto.js +1 -1
  140. package/dist/esm/models/bid-settlement-participant-dto.d.ts +1 -1
  141. package/dist/esm/models/bid-settlement-participant-dto.js +1 -1
  142. package/dist/esm/models/bid-settlement-response-dto.d.ts +1 -1
  143. package/dist/esm/models/bid-settlement-response-dto.js +1 -1
  144. package/dist/esm/models/bid-statement-response-dto.d.ts +1 -1
  145. package/dist/esm/models/bid-statement-response-dto.js +1 -1
  146. package/dist/esm/models/bid-statement-v1-response-dto.d.ts +1 -1
  147. package/dist/esm/models/bid-statement-v1-response-dto.js +1 -1
  148. package/dist/esm/models/bid-status.d.ts +1 -1
  149. package/dist/esm/models/bid-status.js +1 -1
  150. package/dist/esm/models/bid-summary-dto.d.ts +1 -1
  151. package/dist/esm/models/bid-summary-dto.js +1 -1
  152. package/dist/esm/models/bid-updated-response-dto.d.ts +1 -1
  153. package/dist/esm/models/bid-updated-response-dto.js +1 -1
  154. package/dist/esm/models/cancel-bid-request-dto.d.ts +1 -1
  155. package/dist/esm/models/cancel-bid-request-dto.js +1 -1
  156. package/dist/esm/models/cancel-bid200-response.d.ts +1 -1
  157. package/dist/esm/models/cancel-bid200-response.js +1 -1
  158. package/dist/esm/models/card-payment-request-response-dto.d.ts +1 -1
  159. package/dist/esm/models/card-payment-request-response-dto.js +1 -1
  160. package/dist/esm/models/complete-acceptance-request-dto.d.ts +9 -1
  161. package/dist/esm/models/complete-acceptance-request-dto.js +1 -1
  162. package/dist/esm/models/complete-acceptance-v1-request-dto.d.ts +1 -1
  163. package/dist/esm/models/complete-acceptance-v1-request-dto.js +1 -1
  164. package/dist/esm/models/complete-acceptance200-response.d.ts +1 -1
  165. package/dist/esm/models/complete-acceptance200-response.js +1 -1
  166. package/dist/esm/models/complete-invoice200-response.d.ts +1 -1
  167. package/dist/esm/models/complete-invoice200-response.js +1 -1
  168. package/dist/esm/models/contract-document-item-dto.d.ts +1 -1
  169. package/dist/esm/models/contract-document-item-dto.js +1 -1
  170. package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  171. package/dist/esm/models/contract-restriction-confirm-input-dto.js +1 -1
  172. package/dist/esm/models/create-bid-request-dto.d.ts +1 -1
  173. package/dist/esm/models/create-bid-request-dto.js +1 -1
  174. package/dist/esm/models/create-bid-v1-request-dto.d.ts +1 -1
  175. package/dist/esm/models/create-bid-v1-request-dto.js +1 -1
  176. package/dist/esm/models/create-card-payment-request-dto.d.ts +1 -1
  177. package/dist/esm/models/create-card-payment-request-dto.js +1 -1
  178. package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +1 -1
  179. package/dist/esm/models/create-external-contract-documents-request-dto.js +1 -1
  180. package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +1 -1
  181. package/dist/esm/models/create-external-contract-documents-response-dto.js +1 -1
  182. package/dist/esm/models/external-contract-document-item-dto.d.ts +1 -1
  183. package/dist/esm/models/external-contract-document-item-dto.js +1 -1
  184. package/dist/esm/models/external-contract-documents-response-dto.d.ts +1 -1
  185. package/dist/esm/models/external-contract-documents-response-dto.js +1 -1
  186. package/dist/esm/models/external-contract-item-dto.d.ts +1 -1
  187. package/dist/esm/models/external-contract-item-dto.js +1 -1
  188. package/dist/esm/models/external-contract-snapshot-dto.d.ts +1 -1
  189. package/dist/esm/models/external-contract-snapshot-dto.js +1 -1
  190. package/dist/esm/models/external-document-inputs-dto.d.ts +1 -1
  191. package/dist/esm/models/external-document-inputs-dto.js +1 -1
  192. package/dist/esm/models/file-meta-response-dto.d.ts +1 -1
  193. package/dist/esm/models/file-meta-response-dto.js +1 -1
  194. package/dist/esm/models/file-uploaded-response-dto.d.ts +1 -1
  195. package/dist/esm/models/file-uploaded-response-dto.js +1 -1
  196. package/dist/esm/models/file-uploaded-v1-response-dto.d.ts +1 -1
  197. package/dist/esm/models/file-uploaded-v1-response-dto.js +1 -1
  198. package/dist/esm/models/generated-external-contract-document-dto.d.ts +1 -1
  199. package/dist/esm/models/generated-external-contract-document-dto.js +1 -1
  200. package/dist/esm/models/get-bid-settlement200-response.d.ts +1 -1
  201. package/dist/esm/models/get-bid-settlement200-response.js +1 -1
  202. package/dist/esm/models/get-bid-statement200-response.d.ts +1 -1
  203. package/dist/esm/models/get-bid-statement200-response.js +1 -1
  204. package/dist/esm/models/get-bid200-response.d.ts +1 -1
  205. package/dist/esm/models/get-bid200-response.js +1 -1
  206. package/dist/esm/models/get-file-meta200-response.d.ts +1 -1
  207. package/dist/esm/models/get-file-meta200-response.js +1 -1
  208. package/dist/esm/models/health-controller-check200-response.d.ts +1 -1
  209. package/dist/esm/models/health-controller-check200-response.js +1 -1
  210. package/dist/esm/models/health-response-dto.d.ts +1 -1
  211. package/dist/esm/models/health-response-dto.js +1 -1
  212. package/dist/esm/models/hierarchical-region-dto.d.ts +1 -1
  213. package/dist/esm/models/hierarchical-region-dto.js +1 -1
  214. package/dist/esm/models/hierarchical-region-v1-dto.d.ts +1 -1
  215. package/dist/esm/models/hierarchical-region-v1-dto.js +1 -1
  216. package/dist/esm/models/introspect-request-dto.d.ts +1 -1
  217. package/dist/esm/models/introspect-request-dto.js +1 -1
  218. package/dist/esm/models/introspection-response-dto.d.ts +1 -1
  219. package/dist/esm/models/introspection-response-dto.js +1 -1
  220. package/dist/esm/models/invalid-param-dto.d.ts +1 -1
  221. package/dist/esm/models/invalid-param-dto.js +1 -1
  222. package/dist/esm/models/invoice-completed-response-dto.d.ts +1 -1
  223. package/dist/esm/models/invoice-completed-response-dto.js +1 -1
  224. package/dist/esm/models/list-bid-results200-response.d.ts +1 -1
  225. package/dist/esm/models/list-bid-results200-response.js +1 -1
  226. package/dist/esm/models/list-bids-response-dto.d.ts +1 -1
  227. package/dist/esm/models/list-bids-response-dto.js +1 -1
  228. package/dist/esm/models/list-bids200-response.d.ts +1 -1
  229. package/dist/esm/models/list-bids200-response.js +1 -1
  230. package/dist/esm/models/mark-bid-failed-request-dto.d.ts +1 -1
  231. package/dist/esm/models/mark-bid-failed-request-dto.js +1 -1
  232. package/dist/esm/models/mark-bid-failed-v1-request-dto.d.ts +1 -1
  233. package/dist/esm/models/mark-bid-failed-v1-request-dto.js +1 -1
  234. package/dist/esm/models/mark-bid-failed201-response.d.ts +1 -1
  235. package/dist/esm/models/mark-bid-failed201-response.js +1 -1
  236. package/dist/esm/models/negotiation-score-v1-dto.d.ts +1 -1
  237. package/dist/esm/models/negotiation-score-v1-dto.js +1 -1
  238. package/dist/esm/models/negotiation-scored-response-dto.d.ts +1 -1
  239. package/dist/esm/models/negotiation-scored-response-dto.js +1 -1
  240. package/dist/esm/models/oauth-error-response-dto.d.ts +1 -1
  241. package/dist/esm/models/oauth-error-response-dto.js +1 -1
  242. package/dist/esm/models/preconditions-dto.d.ts +1 -1
  243. package/dist/esm/models/preconditions-dto.js +1 -1
  244. package/dist/esm/models/preconditions-v1-dto.d.ts +1 -1
  245. package/dist/esm/models/preconditions-v1-dto.js +1 -1
  246. package/dist/esm/models/problem-details-dto.d.ts +1 -1
  247. package/dist/esm/models/problem-details-dto.js +1 -1
  248. package/dist/esm/models/product-receipt-v1-response-dto.d.ts +1 -1
  249. package/dist/esm/models/product-receipt-v1-response-dto.js +1 -1
  250. package/dist/esm/models/product-v1-response-dto.d.ts +1 -1
  251. package/dist/esm/models/product-v1-response-dto.js +1 -1
  252. package/dist/esm/models/protected-resource-metadata-dto.d.ts +1 -1
  253. package/dist/esm/models/protected-resource-metadata-dto.js +1 -1
  254. package/dist/esm/models/register-award-request-dto.d.ts +1 -1
  255. package/dist/esm/models/register-award-request-dto.js +1 -1
  256. package/dist/esm/models/register-award-v1-request-dto.d.ts +1 -1
  257. package/dist/esm/models/register-award-v1-request-dto.js +1 -1
  258. package/dist/esm/models/register-award201-response.d.ts +1 -1
  259. package/dist/esm/models/register-award201-response.js +1 -1
  260. package/dist/esm/models/register-bid201-response.d.ts +1 -1
  261. package/dist/esm/models/register-bid201-response.js +1 -1
  262. package/dist/esm/models/register-semo-contract-request-dto.d.ts +1 -1
  263. package/dist/esm/models/register-semo-contract-request-dto.js +1 -1
  264. package/dist/esm/models/request-split-invoice-v1-request-dto.d.ts +1 -1
  265. package/dist/esm/models/request-split-invoice-v1-request-dto.js +1 -1
  266. package/dist/esm/models/retiree-roster-input-dto.d.ts +1 -1
  267. package/dist/esm/models/retiree-roster-input-dto.js +1 -1
  268. package/dist/esm/models/retiree-roster-row-dto.d.ts +1 -1
  269. package/dist/esm/models/retiree-roster-row-dto.js +1 -1
  270. package/dist/esm/models/revert-award-request-dto.d.ts +1 -1
  271. package/dist/esm/models/revert-award-request-dto.js +1 -1
  272. package/dist/esm/models/revert-award200-response.d.ts +1 -1
  273. package/dist/esm/models/revert-award200-response.js +1 -1
  274. package/dist/esm/models/revoke-request-dto.d.ts +1 -1
  275. package/dist/esm/models/revoke-request-dto.js +1 -1
  276. package/dist/esm/models/semo-contract-registered-response-dto.d.ts +1 -1
  277. package/dist/esm/models/semo-contract-registered-response-dto.js +1 -1
  278. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  279. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  280. package/dist/esm/models/split-invoice-v1-response-dto.d.ts +1 -1
  281. package/dist/esm/models/split-invoice-v1-response-dto.js +1 -1
  282. package/dist/esm/models/statement-document-dto.d.ts +1 -1
  283. package/dist/esm/models/statement-document-dto.js +1 -1
  284. package/dist/esm/models/statement-product-dto.d.ts +1 -1
  285. package/dist/esm/models/statement-product-dto.js +1 -1
  286. package/dist/esm/models/statement-v1-document-dto.d.ts +1 -1
  287. package/dist/esm/models/statement-v1-document-dto.js +1 -1
  288. package/dist/esm/models/statement-v1-product-dto.d.ts +1 -1
  289. package/dist/esm/models/statement-v1-product-dto.js +1 -1
  290. package/dist/esm/models/submit-negotiation-scores-v1-request-dto.d.ts +1 -1
  291. package/dist/esm/models/submit-negotiation-scores-v1-request-dto.js +1 -1
  292. package/dist/esm/models/supplier-card-payable-response-dto.d.ts +1 -1
  293. package/dist/esm/models/supplier-card-payable-response-dto.js +1 -1
  294. package/dist/esm/models/supplier-tax-type.d.ts +1 -1
  295. package/dist/esm/models/supplier-tax-type.js +1 -1
  296. package/dist/esm/models/token-request-dto.d.ts +1 -1
  297. package/dist/esm/models/token-request-dto.js +1 -1
  298. package/dist/esm/models/token-response-dto.d.ts +1 -1
  299. package/dist/esm/models/token-response-dto.js +1 -1
  300. package/dist/esm/models/update-bid-request-dto.d.ts +1 -1
  301. package/dist/esm/models/update-bid-request-dto.js +1 -1
  302. package/dist/esm/models/update-bid200-response.d.ts +1 -1
  303. package/dist/esm/models/update-bid200-response.js +1 -1
  304. package/dist/esm/models/upload-file-request-dto.d.ts +1 -1
  305. package/dist/esm/models/upload-file-request-dto.js +1 -1
  306. package/dist/esm/models/upload-file-v1-request-dto.d.ts +1 -1
  307. package/dist/esm/models/upload-file-v1-request-dto.js +1 -1
  308. package/dist/esm/models/upload-file201-response.d.ts +1 -1
  309. package/dist/esm/models/upload-file201-response.js +1 -1
  310. package/dist/index.d.ts +1 -1
  311. package/dist/index.js +1 -1
  312. package/dist/models/acceptance-result-response-dto.d.ts +1 -1
  313. package/dist/models/acceptance-result-response-dto.js +1 -1
  314. package/dist/models/acceptance-result-v1-response-dto.d.ts +1 -1
  315. package/dist/models/acceptance-result-v1-response-dto.js +1 -1
  316. package/dist/models/acknowledge-products-v1-request-dto.d.ts +1 -1
  317. package/dist/models/acknowledge-products-v1-request-dto.js +1 -1
  318. package/dist/models/api-catalog-dto.d.ts +1 -1
  319. package/dist/models/api-catalog-dto.js +1 -1
  320. package/dist/models/api-catalog-entry-dto.d.ts +1 -1
  321. package/dist/models/api-catalog-entry-dto.js +1 -1
  322. package/dist/models/api-catalog-link-dto.d.ts +1 -1
  323. package/dist/models/api-catalog-link-dto.js +1 -1
  324. package/dist/models/authorization-server-metadata-dto.d.ts +1 -1
  325. package/dist/models/authorization-server-metadata-dto.js +1 -1
  326. package/dist/models/award-method-public.d.ts +1 -1
  327. package/dist/models/award-method-public.js +1 -1
  328. package/dist/models/award-registered-response-dto.d.ts +1 -1
  329. package/dist/models/award-registered-response-dto.js +1 -1
  330. package/dist/models/award-registered-v2-response-dto.d.ts +1 -1
  331. package/dist/models/award-registered-v2-response-dto.js +1 -1
  332. package/dist/models/award-reverted-v2-response-dto.d.ts +1 -1
  333. package/dist/models/award-reverted-v2-response-dto.js +1 -1
  334. package/dist/models/bid-acceptance-dto.d.ts +1 -1
  335. package/dist/models/bid-acceptance-dto.js +1 -1
  336. package/dist/models/bid-attachment-v1-dto.d.ts +1 -1
  337. package/dist/models/bid-attachment-v1-dto.js +1 -1
  338. package/dist/models/bid-bond-dto.d.ts +1 -1
  339. package/dist/models/bid-bond-dto.js +1 -1
  340. package/dist/models/bid-bond-v1-dto.d.ts +1 -1
  341. package/dist/models/bid-bond-v1-dto.js +1 -1
  342. package/dist/models/bid-cancelled-response-dto.d.ts +1 -1
  343. package/dist/models/bid-cancelled-response-dto.js +1 -1
  344. package/dist/models/bid-contact-dto.d.ts +1 -1
  345. package/dist/models/bid-contact-dto.js +1 -1
  346. package/dist/models/bid-contacts-dto.d.ts +1 -1
  347. package/dist/models/bid-contacts-dto.js +1 -1
  348. package/dist/models/bid-contract-document-dto.d.ts +1 -1
  349. package/dist/models/bid-contract-document-dto.js +1 -1
  350. package/dist/models/bid-contract-documents-batch-v1-request-dto.d.ts +1 -1
  351. package/dist/models/bid-contract-documents-batch-v1-request-dto.js +1 -1
  352. package/dist/models/bid-contract-documents-v1-response-dto.d.ts +1 -1
  353. package/dist/models/bid-contract-documents-v1-response-dto.js +1 -1
  354. package/dist/models/bid-created-response-dto.d.ts +1 -1
  355. package/dist/models/bid-created-response-dto.js +1 -1
  356. package/dist/models/bid-delivery-terms-dto.d.ts +1 -1
  357. package/dist/models/bid-delivery-terms-dto.js +1 -1
  358. package/dist/models/bid-detail-response-dto.d.ts +1 -1
  359. package/dist/models/bid-detail-response-dto.js +1 -1
  360. package/dist/models/bid-document-dto.d.ts +1 -1
  361. package/dist/models/bid-document-dto.js +1 -1
  362. package/dist/models/bid-document-v1-dto.d.ts +1 -1
  363. package/dist/models/bid-document-v1-dto.js +1 -1
  364. package/dist/models/bid-failed-response-dto.d.ts +1 -1
  365. package/dist/models/bid-failed-response-dto.js +1 -1
  366. package/dist/models/bid-failed-v2-response-dto.d.ts +1 -1
  367. package/dist/models/bid-failed-v2-response-dto.js +1 -1
  368. package/dist/models/bid-failure-reason.d.ts +1 -1
  369. package/dist/models/bid-failure-reason.js +1 -1
  370. package/dist/models/bid-item-dto.d.ts +1 -1
  371. package/dist/models/bid-item-dto.js +1 -1
  372. package/dist/models/bid-item-v1-dto.d.ts +1 -1
  373. package/dist/models/bid-item-v1-dto.js +1 -1
  374. package/dist/models/bid-lifecycle-dto.d.ts +1 -1
  375. package/dist/models/bid-lifecycle-dto.js +1 -1
  376. package/dist/models/bid-manager-dto.d.ts +1 -1
  377. package/dist/models/bid-manager-dto.js +1 -1
  378. package/dist/models/bid-manager-v1-dto.d.ts +1 -1
  379. package/dist/models/bid-manager-v1-dto.js +1 -1
  380. package/dist/models/bid-payment-terms-dto.d.ts +1 -1
  381. package/dist/models/bid-payment-terms-dto.js +1 -1
  382. package/dist/models/bid-product-dto.d.ts +1 -1
  383. package/dist/models/bid-product-dto.js +1 -1
  384. package/dist/models/bid-public-status.d.ts +1 -1
  385. package/dist/models/bid-public-status.js +1 -1
  386. package/dist/models/bid-registered-response-dto.d.ts +1 -1
  387. package/dist/models/bid-registered-response-dto.js +1 -1
  388. package/dist/models/bid-result-participant-attachment-dto.d.ts +1 -1
  389. package/dist/models/bid-result-participant-attachment-dto.js +1 -1
  390. package/dist/models/bid-result-participant-dto.d.ts +1 -1
  391. package/dist/models/bid-result-participant-dto.js +1 -1
  392. package/dist/models/bid-result-v1-attachment-dto.d.ts +1 -1
  393. package/dist/models/bid-result-v1-attachment-dto.js +1 -1
  394. package/dist/models/bid-result-v1-bid-product-info-dto.d.ts +1 -1
  395. package/dist/models/bid-result-v1-bid-product-info-dto.js +1 -1
  396. package/dist/models/bid-result-v1-participant-dto.d.ts +1 -1
  397. package/dist/models/bid-result-v1-participant-dto.js +1 -1
  398. package/dist/models/bid-result-v1-product-dto.d.ts +1 -1
  399. package/dist/models/bid-result-v1-product-dto.js +1 -1
  400. package/dist/models/bid-results-batch-v1-request-dto.d.ts +1 -1
  401. package/dist/models/bid-results-batch-v1-request-dto.js +1 -1
  402. package/dist/models/bid-results-response-dto.d.ts +1 -1
  403. package/dist/models/bid-results-response-dto.js +1 -1
  404. package/dist/models/bid-results-v1-response-dto.d.ts +1 -1
  405. package/dist/models/bid-results-v1-response-dto.js +1 -1
  406. package/dist/models/bid-settlement-line-item-dto.d.ts +1 -1
  407. package/dist/models/bid-settlement-line-item-dto.js +1 -1
  408. package/dist/models/bid-settlement-participant-dto.d.ts +1 -1
  409. package/dist/models/bid-settlement-participant-dto.js +1 -1
  410. package/dist/models/bid-settlement-response-dto.d.ts +1 -1
  411. package/dist/models/bid-settlement-response-dto.js +1 -1
  412. package/dist/models/bid-statement-response-dto.d.ts +1 -1
  413. package/dist/models/bid-statement-response-dto.js +1 -1
  414. package/dist/models/bid-statement-v1-response-dto.d.ts +1 -1
  415. package/dist/models/bid-statement-v1-response-dto.js +1 -1
  416. package/dist/models/bid-status.d.ts +1 -1
  417. package/dist/models/bid-status.js +1 -1
  418. package/dist/models/bid-summary-dto.d.ts +1 -1
  419. package/dist/models/bid-summary-dto.js +1 -1
  420. package/dist/models/bid-updated-response-dto.d.ts +1 -1
  421. package/dist/models/bid-updated-response-dto.js +1 -1
  422. package/dist/models/cancel-bid-request-dto.d.ts +1 -1
  423. package/dist/models/cancel-bid-request-dto.js +1 -1
  424. package/dist/models/cancel-bid200-response.d.ts +1 -1
  425. package/dist/models/cancel-bid200-response.js +1 -1
  426. package/dist/models/card-payment-request-response-dto.d.ts +1 -1
  427. package/dist/models/card-payment-request-response-dto.js +1 -1
  428. package/dist/models/complete-acceptance-request-dto.d.ts +9 -1
  429. package/dist/models/complete-acceptance-request-dto.js +1 -1
  430. package/dist/models/complete-acceptance-v1-request-dto.d.ts +1 -1
  431. package/dist/models/complete-acceptance-v1-request-dto.js +1 -1
  432. package/dist/models/complete-acceptance200-response.d.ts +1 -1
  433. package/dist/models/complete-acceptance200-response.js +1 -1
  434. package/dist/models/complete-invoice200-response.d.ts +1 -1
  435. package/dist/models/complete-invoice200-response.js +1 -1
  436. package/dist/models/contract-document-item-dto.d.ts +1 -1
  437. package/dist/models/contract-document-item-dto.js +1 -1
  438. package/dist/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  439. package/dist/models/contract-restriction-confirm-input-dto.js +1 -1
  440. package/dist/models/create-bid-request-dto.d.ts +1 -1
  441. package/dist/models/create-bid-request-dto.js +1 -1
  442. package/dist/models/create-bid-v1-request-dto.d.ts +1 -1
  443. package/dist/models/create-bid-v1-request-dto.js +1 -1
  444. package/dist/models/create-card-payment-request-dto.d.ts +1 -1
  445. package/dist/models/create-card-payment-request-dto.js +1 -1
  446. package/dist/models/create-external-contract-documents-request-dto.d.ts +1 -1
  447. package/dist/models/create-external-contract-documents-request-dto.js +1 -1
  448. package/dist/models/create-external-contract-documents-response-dto.d.ts +1 -1
  449. package/dist/models/create-external-contract-documents-response-dto.js +1 -1
  450. package/dist/models/external-contract-document-item-dto.d.ts +1 -1
  451. package/dist/models/external-contract-document-item-dto.js +1 -1
  452. package/dist/models/external-contract-documents-response-dto.d.ts +1 -1
  453. package/dist/models/external-contract-documents-response-dto.js +1 -1
  454. package/dist/models/external-contract-item-dto.d.ts +1 -1
  455. package/dist/models/external-contract-item-dto.js +1 -1
  456. package/dist/models/external-contract-snapshot-dto.d.ts +1 -1
  457. package/dist/models/external-contract-snapshot-dto.js +1 -1
  458. package/dist/models/external-document-inputs-dto.d.ts +1 -1
  459. package/dist/models/external-document-inputs-dto.js +1 -1
  460. package/dist/models/file-meta-response-dto.d.ts +1 -1
  461. package/dist/models/file-meta-response-dto.js +1 -1
  462. package/dist/models/file-uploaded-response-dto.d.ts +1 -1
  463. package/dist/models/file-uploaded-response-dto.js +1 -1
  464. package/dist/models/file-uploaded-v1-response-dto.d.ts +1 -1
  465. package/dist/models/file-uploaded-v1-response-dto.js +1 -1
  466. package/dist/models/generated-external-contract-document-dto.d.ts +1 -1
  467. package/dist/models/generated-external-contract-document-dto.js +1 -1
  468. package/dist/models/get-bid-settlement200-response.d.ts +1 -1
  469. package/dist/models/get-bid-settlement200-response.js +1 -1
  470. package/dist/models/get-bid-statement200-response.d.ts +1 -1
  471. package/dist/models/get-bid-statement200-response.js +1 -1
  472. package/dist/models/get-bid200-response.d.ts +1 -1
  473. package/dist/models/get-bid200-response.js +1 -1
  474. package/dist/models/get-file-meta200-response.d.ts +1 -1
  475. package/dist/models/get-file-meta200-response.js +1 -1
  476. package/dist/models/health-controller-check200-response.d.ts +1 -1
  477. package/dist/models/health-controller-check200-response.js +1 -1
  478. package/dist/models/health-response-dto.d.ts +1 -1
  479. package/dist/models/health-response-dto.js +1 -1
  480. package/dist/models/hierarchical-region-dto.d.ts +1 -1
  481. package/dist/models/hierarchical-region-dto.js +1 -1
  482. package/dist/models/hierarchical-region-v1-dto.d.ts +1 -1
  483. package/dist/models/hierarchical-region-v1-dto.js +1 -1
  484. package/dist/models/introspect-request-dto.d.ts +1 -1
  485. package/dist/models/introspect-request-dto.js +1 -1
  486. package/dist/models/introspection-response-dto.d.ts +1 -1
  487. package/dist/models/introspection-response-dto.js +1 -1
  488. package/dist/models/invalid-param-dto.d.ts +1 -1
  489. package/dist/models/invalid-param-dto.js +1 -1
  490. package/dist/models/invoice-completed-response-dto.d.ts +1 -1
  491. package/dist/models/invoice-completed-response-dto.js +1 -1
  492. package/dist/models/list-bid-results200-response.d.ts +1 -1
  493. package/dist/models/list-bid-results200-response.js +1 -1
  494. package/dist/models/list-bids-response-dto.d.ts +1 -1
  495. package/dist/models/list-bids-response-dto.js +1 -1
  496. package/dist/models/list-bids200-response.d.ts +1 -1
  497. package/dist/models/list-bids200-response.js +1 -1
  498. package/dist/models/mark-bid-failed-request-dto.d.ts +1 -1
  499. package/dist/models/mark-bid-failed-request-dto.js +1 -1
  500. package/dist/models/mark-bid-failed-v1-request-dto.d.ts +1 -1
  501. package/dist/models/mark-bid-failed-v1-request-dto.js +1 -1
  502. package/dist/models/mark-bid-failed201-response.d.ts +1 -1
  503. package/dist/models/mark-bid-failed201-response.js +1 -1
  504. package/dist/models/negotiation-score-v1-dto.d.ts +1 -1
  505. package/dist/models/negotiation-score-v1-dto.js +1 -1
  506. package/dist/models/negotiation-scored-response-dto.d.ts +1 -1
  507. package/dist/models/negotiation-scored-response-dto.js +1 -1
  508. package/dist/models/oauth-error-response-dto.d.ts +1 -1
  509. package/dist/models/oauth-error-response-dto.js +1 -1
  510. package/dist/models/preconditions-dto.d.ts +1 -1
  511. package/dist/models/preconditions-dto.js +1 -1
  512. package/dist/models/preconditions-v1-dto.d.ts +1 -1
  513. package/dist/models/preconditions-v1-dto.js +1 -1
  514. package/dist/models/problem-details-dto.d.ts +1 -1
  515. package/dist/models/problem-details-dto.js +1 -1
  516. package/dist/models/product-receipt-v1-response-dto.d.ts +1 -1
  517. package/dist/models/product-receipt-v1-response-dto.js +1 -1
  518. package/dist/models/product-v1-response-dto.d.ts +1 -1
  519. package/dist/models/product-v1-response-dto.js +1 -1
  520. package/dist/models/protected-resource-metadata-dto.d.ts +1 -1
  521. package/dist/models/protected-resource-metadata-dto.js +1 -1
  522. package/dist/models/register-award-request-dto.d.ts +1 -1
  523. package/dist/models/register-award-request-dto.js +1 -1
  524. package/dist/models/register-award-v1-request-dto.d.ts +1 -1
  525. package/dist/models/register-award-v1-request-dto.js +1 -1
  526. package/dist/models/register-award201-response.d.ts +1 -1
  527. package/dist/models/register-award201-response.js +1 -1
  528. package/dist/models/register-bid201-response.d.ts +1 -1
  529. package/dist/models/register-bid201-response.js +1 -1
  530. package/dist/models/register-semo-contract-request-dto.d.ts +1 -1
  531. package/dist/models/register-semo-contract-request-dto.js +1 -1
  532. package/dist/models/request-split-invoice-v1-request-dto.d.ts +1 -1
  533. package/dist/models/request-split-invoice-v1-request-dto.js +1 -1
  534. package/dist/models/retiree-roster-input-dto.d.ts +1 -1
  535. package/dist/models/retiree-roster-input-dto.js +1 -1
  536. package/dist/models/retiree-roster-row-dto.d.ts +1 -1
  537. package/dist/models/retiree-roster-row-dto.js +1 -1
  538. package/dist/models/revert-award-request-dto.d.ts +1 -1
  539. package/dist/models/revert-award-request-dto.js +1 -1
  540. package/dist/models/revert-award200-response.d.ts +1 -1
  541. package/dist/models/revert-award200-response.js +1 -1
  542. package/dist/models/revoke-request-dto.d.ts +1 -1
  543. package/dist/models/revoke-request-dto.js +1 -1
  544. package/dist/models/semo-contract-registered-response-dto.d.ts +1 -1
  545. package/dist/models/semo-contract-registered-response-dto.js +1 -1
  546. package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  547. package/dist/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  548. package/dist/models/split-invoice-v1-response-dto.d.ts +1 -1
  549. package/dist/models/split-invoice-v1-response-dto.js +1 -1
  550. package/dist/models/statement-document-dto.d.ts +1 -1
  551. package/dist/models/statement-document-dto.js +1 -1
  552. package/dist/models/statement-product-dto.d.ts +1 -1
  553. package/dist/models/statement-product-dto.js +1 -1
  554. package/dist/models/statement-v1-document-dto.d.ts +1 -1
  555. package/dist/models/statement-v1-document-dto.js +1 -1
  556. package/dist/models/statement-v1-product-dto.d.ts +1 -1
  557. package/dist/models/statement-v1-product-dto.js +1 -1
  558. package/dist/models/submit-negotiation-scores-v1-request-dto.d.ts +1 -1
  559. package/dist/models/submit-negotiation-scores-v1-request-dto.js +1 -1
  560. package/dist/models/supplier-card-payable-response-dto.d.ts +1 -1
  561. package/dist/models/supplier-card-payable-response-dto.js +1 -1
  562. package/dist/models/supplier-tax-type.d.ts +1 -1
  563. package/dist/models/supplier-tax-type.js +1 -1
  564. package/dist/models/token-request-dto.d.ts +1 -1
  565. package/dist/models/token-request-dto.js +1 -1
  566. package/dist/models/token-response-dto.d.ts +1 -1
  567. package/dist/models/token-response-dto.js +1 -1
  568. package/dist/models/update-bid-request-dto.d.ts +1 -1
  569. package/dist/models/update-bid-request-dto.js +1 -1
  570. package/dist/models/update-bid200-response.d.ts +1 -1
  571. package/dist/models/update-bid200-response.js +1 -1
  572. package/dist/models/upload-file-request-dto.d.ts +1 -1
  573. package/dist/models/upload-file-request-dto.js +1 -1
  574. package/dist/models/upload-file-v1-request-dto.d.ts +1 -1
  575. package/dist/models/upload-file-v1-request-dto.js +1 -1
  576. package/dist/models/upload-file201-response.d.ts +1 -1
  577. package/dist/models/upload-file201-response.js +1 -1
  578. package/docs/CompleteAcceptanceRequestDto.md +4 -0
  579. package/docs/PartnerV2Api.md +1 -1
  580. package/index.ts +1 -1
  581. package/models/acceptance-result-response-dto.ts +1 -1
  582. package/models/acceptance-result-v1-response-dto.ts +1 -1
  583. package/models/acknowledge-products-v1-request-dto.ts +1 -1
  584. package/models/api-catalog-dto.ts +1 -1
  585. package/models/api-catalog-entry-dto.ts +1 -1
  586. package/models/api-catalog-link-dto.ts +1 -1
  587. package/models/authorization-server-metadata-dto.ts +1 -1
  588. package/models/award-method-public.ts +1 -1
  589. package/models/award-registered-response-dto.ts +1 -1
  590. package/models/award-registered-v2-response-dto.ts +1 -1
  591. package/models/award-reverted-v2-response-dto.ts +1 -1
  592. package/models/bid-acceptance-dto.ts +1 -1
  593. package/models/bid-attachment-v1-dto.ts +1 -1
  594. package/models/bid-bond-dto.ts +1 -1
  595. package/models/bid-bond-v1-dto.ts +1 -1
  596. package/models/bid-cancelled-response-dto.ts +1 -1
  597. package/models/bid-contact-dto.ts +1 -1
  598. package/models/bid-contacts-dto.ts +1 -1
  599. package/models/bid-contract-document-dto.ts +1 -1
  600. package/models/bid-contract-documents-batch-v1-request-dto.ts +1 -1
  601. package/models/bid-contract-documents-v1-response-dto.ts +1 -1
  602. package/models/bid-created-response-dto.ts +1 -1
  603. package/models/bid-delivery-terms-dto.ts +1 -1
  604. package/models/bid-detail-response-dto.ts +1 -1
  605. package/models/bid-document-dto.ts +1 -1
  606. package/models/bid-document-v1-dto.ts +1 -1
  607. package/models/bid-failed-response-dto.ts +1 -1
  608. package/models/bid-failed-v2-response-dto.ts +1 -1
  609. package/models/bid-failure-reason.ts +1 -1
  610. package/models/bid-item-dto.ts +1 -1
  611. package/models/bid-item-v1-dto.ts +1 -1
  612. package/models/bid-lifecycle-dto.ts +1 -1
  613. package/models/bid-manager-dto.ts +1 -1
  614. package/models/bid-manager-v1-dto.ts +1 -1
  615. package/models/bid-payment-terms-dto.ts +1 -1
  616. package/models/bid-product-dto.ts +1 -1
  617. package/models/bid-public-status.ts +1 -1
  618. package/models/bid-registered-response-dto.ts +1 -1
  619. package/models/bid-result-participant-attachment-dto.ts +1 -1
  620. package/models/bid-result-participant-dto.ts +1 -1
  621. package/models/bid-result-v1-attachment-dto.ts +1 -1
  622. package/models/bid-result-v1-bid-product-info-dto.ts +1 -1
  623. package/models/bid-result-v1-participant-dto.ts +1 -1
  624. package/models/bid-result-v1-product-dto.ts +1 -1
  625. package/models/bid-results-batch-v1-request-dto.ts +1 -1
  626. package/models/bid-results-response-dto.ts +1 -1
  627. package/models/bid-results-v1-response-dto.ts +1 -1
  628. package/models/bid-settlement-line-item-dto.ts +1 -1
  629. package/models/bid-settlement-participant-dto.ts +1 -1
  630. package/models/bid-settlement-response-dto.ts +1 -1
  631. package/models/bid-statement-response-dto.ts +1 -1
  632. package/models/bid-statement-v1-response-dto.ts +1 -1
  633. package/models/bid-status.ts +1 -1
  634. package/models/bid-summary-dto.ts +1 -1
  635. package/models/bid-updated-response-dto.ts +1 -1
  636. package/models/cancel-bid-request-dto.ts +1 -1
  637. package/models/cancel-bid200-response.ts +1 -1
  638. package/models/card-payment-request-response-dto.ts +1 -1
  639. package/models/complete-acceptance-request-dto.ts +9 -1
  640. package/models/complete-acceptance-v1-request-dto.ts +1 -1
  641. package/models/complete-acceptance200-response.ts +1 -1
  642. package/models/complete-invoice200-response.ts +1 -1
  643. package/models/contract-document-item-dto.ts +1 -1
  644. package/models/contract-restriction-confirm-input-dto.ts +1 -1
  645. package/models/create-bid-request-dto.ts +1 -1
  646. package/models/create-bid-v1-request-dto.ts +1 -1
  647. package/models/create-card-payment-request-dto.ts +1 -1
  648. package/models/create-external-contract-documents-request-dto.ts +1 -1
  649. package/models/create-external-contract-documents-response-dto.ts +1 -1
  650. package/models/external-contract-document-item-dto.ts +1 -1
  651. package/models/external-contract-documents-response-dto.ts +1 -1
  652. package/models/external-contract-item-dto.ts +1 -1
  653. package/models/external-contract-snapshot-dto.ts +1 -1
  654. package/models/external-document-inputs-dto.ts +1 -1
  655. package/models/file-meta-response-dto.ts +1 -1
  656. package/models/file-uploaded-response-dto.ts +1 -1
  657. package/models/file-uploaded-v1-response-dto.ts +1 -1
  658. package/models/generated-external-contract-document-dto.ts +1 -1
  659. package/models/get-bid-settlement200-response.ts +1 -1
  660. package/models/get-bid-statement200-response.ts +1 -1
  661. package/models/get-bid200-response.ts +1 -1
  662. package/models/get-file-meta200-response.ts +1 -1
  663. package/models/health-controller-check200-response.ts +1 -1
  664. package/models/health-response-dto.ts +1 -1
  665. package/models/hierarchical-region-dto.ts +1 -1
  666. package/models/hierarchical-region-v1-dto.ts +1 -1
  667. package/models/introspect-request-dto.ts +1 -1
  668. package/models/introspection-response-dto.ts +1 -1
  669. package/models/invalid-param-dto.ts +1 -1
  670. package/models/invoice-completed-response-dto.ts +1 -1
  671. package/models/list-bid-results200-response.ts +1 -1
  672. package/models/list-bids-response-dto.ts +1 -1
  673. package/models/list-bids200-response.ts +1 -1
  674. package/models/mark-bid-failed-request-dto.ts +1 -1
  675. package/models/mark-bid-failed-v1-request-dto.ts +1 -1
  676. package/models/mark-bid-failed201-response.ts +1 -1
  677. package/models/negotiation-score-v1-dto.ts +1 -1
  678. package/models/negotiation-scored-response-dto.ts +1 -1
  679. package/models/oauth-error-response-dto.ts +1 -1
  680. package/models/preconditions-dto.ts +1 -1
  681. package/models/preconditions-v1-dto.ts +1 -1
  682. package/models/problem-details-dto.ts +1 -1
  683. package/models/product-receipt-v1-response-dto.ts +1 -1
  684. package/models/product-v1-response-dto.ts +1 -1
  685. package/models/protected-resource-metadata-dto.ts +1 -1
  686. package/models/register-award-request-dto.ts +1 -1
  687. package/models/register-award-v1-request-dto.ts +1 -1
  688. package/models/register-award201-response.ts +1 -1
  689. package/models/register-bid201-response.ts +1 -1
  690. package/models/register-semo-contract-request-dto.ts +1 -1
  691. package/models/request-split-invoice-v1-request-dto.ts +1 -1
  692. package/models/retiree-roster-input-dto.ts +1 -1
  693. package/models/retiree-roster-row-dto.ts +1 -1
  694. package/models/revert-award-request-dto.ts +1 -1
  695. package/models/revert-award200-response.ts +1 -1
  696. package/models/revoke-request-dto.ts +1 -1
  697. package/models/semo-contract-registered-response-dto.ts +1 -1
  698. package/models/semo-contract-taxinvoice-status-response-dto.ts +1 -1
  699. package/models/split-invoice-v1-response-dto.ts +1 -1
  700. package/models/statement-document-dto.ts +1 -1
  701. package/models/statement-product-dto.ts +1 -1
  702. package/models/statement-v1-document-dto.ts +1 -1
  703. package/models/statement-v1-product-dto.ts +1 -1
  704. package/models/submit-negotiation-scores-v1-request-dto.ts +1 -1
  705. package/models/supplier-card-payable-response-dto.ts +1 -1
  706. package/models/supplier-tax-type.ts +1 -1
  707. package/models/token-request-dto.ts +1 -1
  708. package/models/token-response-dto.ts +1 -1
  709. package/models/update-bid-request-dto.ts +1 -1
  710. package/models/update-bid200-response.ts +1 -1
  711. package/models/upload-file-request-dto.ts +1 -1
  712. package/models/upload-file-v1-request-dto.ts +1 -1
  713. package/models/upload-file201-response.ts +1 -1
  714. package/package.json +1 -1
package/README.md CHANGED
@@ -13,7 +13,7 @@ CMARKET V6 Partner API 의 공식 클라이언트 SDK — 외부 ERP 가 입찰
13
13
  TypeScript / Node (npm):
14
14
 
15
15
  ```bash
16
- npm install @cmarket/partner-sdk@35.0.0
16
+ npm install @cmarket/partner-sdk@35.1.0
17
17
  ```
18
18
 
19
19
  Java (Maven):
@@ -22,7 +22,7 @@ Java (Maven):
22
22
  <dependency>
23
23
  <groupId>net.c-market</groupId>
24
24
  <artifactId>partner-sdk</artifactId>
25
- <version>35.0.0</version>
25
+ <version>35.1.0</version>
26
26
  </dependency>
27
27
  ```
28
28
 
@@ -375,7 +375,7 @@ CMARKET 운영팀에 등록해야 합니다(미등록 origin 은 iframe 로드
375
375
 
376
376
  ---
377
377
 
378
- ## @cmarket/partner-sdk@35.0.0
378
+ ## @cmarket/partner-sdk@35.1.0
379
379
 
380
380
  This generator creates TypeScript/JavaScript client that utilizes [axios](https://github.com/axios/axios). The generated Node module can be used in the following environments:
381
381
 
@@ -413,7 +413,7 @@ navigate to the folder of your consuming project and run one of the following co
413
413
  _published:_
414
414
 
415
415
  ```
416
- npm install @cmarket/partner-sdk@35.0.0 --save
416
+ npm install @cmarket/partner-sdk@35.1.0 --save
417
417
  ```
418
418
 
419
419
  _unPublished (not recommended):_
package/api/oauth-api.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 35.0.0
7
+ * The version of the OpenAPI document: 35.1.0
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).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 35.0.0
7
+ * The version of the OpenAPI document: 35.1.0
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).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 35.0.0
7
+ * The version of the OpenAPI document: 35.1.0
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).
@@ -146,7 +146,7 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration?: Configura
146
146
  };
147
147
  },
148
148
  /**
149
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
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` 헤더 필수.
150
150
  * @summary 검수완료 전송
151
151
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
152
152
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -1136,7 +1136,7 @@ export const PartnerV2ApiFp = function(configuration?: Configuration) {
1136
1136
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1137
1137
  },
1138
1138
  /**
1139
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
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` 헤더 필수.
1140
1140
  * @summary 검수완료 전송
1141
1141
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1142
1142
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -1467,7 +1467,7 @@ export const PartnerV2ApiFactory = function (configuration?: Configuration, base
1467
1467
  return localVarFp.cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options).then((request) => request(axios, basePath));
1468
1468
  },
1469
1469
  /**
1470
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
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` 헤더 필수.
1471
1471
  * @summary 검수완료 전송
1472
1472
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1473
1473
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -1731,7 +1731,7 @@ export class PartnerV2Api extends BaseAPI {
1731
1731
  }
1732
1732
 
1733
1733
  /**
1734
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
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` 헤더 필수.
1735
1735
  * @summary 검수완료 전송
1736
1736
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1737
1737
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 35.0.0
7
+ * The version of the OpenAPI document: 35.1.0
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).
package/api.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 35.0.0
7
+ * The version of the OpenAPI document: 35.1.0
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).
package/base.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 35.0.0
7
+ * The version of the OpenAPI document: 35.1.0
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).
package/common.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 35.0.0
7
+ * The version of the OpenAPI document: 35.1.0
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).
package/configuration.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * CMARKET V6 Partner API
4
4
  * 외부 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
5
  *
6
- * The version of the OpenAPI document: 35.0.0
6
+ * The version of the OpenAPI document: 35.1.0
7
7
  * Contact: semo.io.kr@gmail.com
8
8
  *
9
9
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 35.0.0
5
+ * The version of the OpenAPI document: 35.1.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
7
7
  *
8
- * The version of the OpenAPI document: 35.0.0
8
+ * The version of the OpenAPI document: 35.1.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 35.0.0
5
+ * The version of the OpenAPI document: 35.1.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
7
7
  *
8
- * The version of the OpenAPI document: 35.0.0
8
+ * The version of the OpenAPI document: 35.1.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 35.0.0
5
+ * The version of the OpenAPI document: 35.1.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -61,7 +61,7 @@ export declare const PartnerV2ApiAxiosParamCreator: (configuration?: Configurati
61
61
  */
62
62
  cancelBid: (bidRef: string, idempotencyKey: string, cancelBidRequestDto: CancelBidRequestDto, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
63
63
  /**
64
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
64
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
65
65
  * @summary 검수완료 전송
66
66
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
67
67
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -276,7 +276,7 @@ export declare const PartnerV2ApiFp: (configuration?: Configuration) => {
276
276
  */
277
277
  cancelBid(bidRef: string, idempotencyKey: string, cancelBidRequestDto: CancelBidRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CancelBid200Response>>;
278
278
  /**
279
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
279
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
280
280
  * @summary 검수완료 전송
281
281
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
282
282
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -491,7 +491,7 @@ export declare const PartnerV2ApiFactory: (configuration?: Configuration, basePa
491
491
  */
492
492
  cancelBid(bidRef: string, idempotencyKey: string, cancelBidRequestDto: CancelBidRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CancelBid200Response>;
493
493
  /**
494
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
494
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
495
495
  * @summary 검수완료 전송
496
496
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
497
497
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -706,7 +706,7 @@ export declare class PartnerV2Api extends BaseAPI {
706
706
  */
707
707
  cancelBid(bidRef: string, idempotencyKey: string, cancelBidRequestDto: CancelBidRequestDto, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CancelBid200Response, any, {}>>;
708
708
  /**
709
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
709
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
710
710
  * @summary 검수완료 전송
711
711
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
712
712
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
7
7
  *
8
- * The version of the OpenAPI document: 35.0.0
8
+ * The version of the OpenAPI document: 35.1.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -79,7 +79,7 @@ const PartnerV2ApiAxiosParamCreator = function (configuration) {
79
79
  };
80
80
  }),
81
81
  /**
82
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
82
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
83
83
  * @summary 검수완료 전송
84
84
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
85
85
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -955,7 +955,7 @@ const PartnerV2ApiFp = function (configuration) {
955
955
  });
956
956
  },
957
957
  /**
958
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
958
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
959
959
  * @summary 검수완료 전송
960
960
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
961
961
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -1352,7 +1352,7 @@ const PartnerV2ApiFactory = function (configuration, basePath, axios) {
1352
1352
  return localVarFp.cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options).then((request) => request(axios, basePath));
1353
1353
  },
1354
1354
  /**
1355
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1355
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
1356
1356
  * @summary 검수완료 전송
1357
1357
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1358
1358
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -1615,7 +1615,7 @@ class PartnerV2Api extends base_1.BaseAPI {
1615
1615
  return (0, exports.PartnerV2ApiFp)(this.configuration).cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options).then((request) => request(this.axios, this.basePath));
1616
1616
  }
1617
1617
  /**
1618
- * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidRef}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
1618
+ * 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **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` 헤더 필수.
1619
1619
  * @summary 검수완료 전송
1620
1620
  * @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
1621
1621
  * @param {string} idempotencyKey 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장.
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 35.0.0
5
+ * The version of the OpenAPI document: 35.1.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
7
7
  *
8
- * The version of the OpenAPI document: 35.0.0
8
+ * The version of the OpenAPI document: 35.1.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).