@cmarket/partner-sdk 25.0.0 → 25.2.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 (641) hide show
  1. package/README.md +9 -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 +40 -8
  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 +24 -5
  15. package/dist/api/partner-v2-api.js +35 -9
  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 +24 -5
  31. package/dist/esm/api/partner-v2-api.js +34 -8
  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/authorization-server-metadata-dto.d.ts +1 -1
  51. package/dist/esm/models/authorization-server-metadata-dto.js +1 -1
  52. package/dist/esm/models/award-method-public.d.ts +1 -1
  53. package/dist/esm/models/award-method-public.js +1 -1
  54. package/dist/esm/models/award-registered-response-dto.d.ts +1 -1
  55. package/dist/esm/models/award-registered-response-dto.js +1 -1
  56. package/dist/esm/models/award-registered-v2-response-dto.d.ts +1 -1
  57. package/dist/esm/models/award-registered-v2-response-dto.js +1 -1
  58. package/dist/esm/models/bid-attachment-v1-dto.d.ts +1 -1
  59. package/dist/esm/models/bid-attachment-v1-dto.js +1 -1
  60. package/dist/esm/models/bid-bond-dto.d.ts +1 -1
  61. package/dist/esm/models/bid-bond-dto.js +1 -1
  62. package/dist/esm/models/bid-bond-v1-dto.d.ts +1 -1
  63. package/dist/esm/models/bid-bond-v1-dto.js +1 -1
  64. package/dist/esm/models/bid-contact-dto.d.ts +25 -0
  65. package/dist/esm/models/bid-contact-dto.js +14 -0
  66. package/dist/esm/models/bid-contacts-dto.d.ts +22 -0
  67. package/dist/esm/models/bid-contacts-dto.js +14 -0
  68. package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.d.ts +1 -1
  69. package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.js +1 -1
  70. package/dist/esm/models/bid-contract-documents-v1-response-dto.d.ts +1 -1
  71. package/dist/esm/models/bid-contract-documents-v1-response-dto.js +1 -1
  72. package/dist/esm/models/bid-created-response-dto.d.ts +1 -1
  73. package/dist/esm/models/bid-created-response-dto.js +1 -1
  74. package/dist/esm/models/bid-delivery-terms-dto.d.ts +33 -0
  75. package/dist/esm/models/bid-delivery-terms-dto.js +14 -0
  76. package/dist/esm/models/bid-detail-response-dto.d.ts +1 -1
  77. package/dist/esm/models/bid-detail-response-dto.js +1 -1
  78. package/dist/esm/models/bid-document-dto.d.ts +1 -1
  79. package/dist/esm/models/bid-document-dto.js +1 -1
  80. package/dist/esm/models/bid-document-v1-dto.d.ts +1 -1
  81. package/dist/esm/models/bid-document-v1-dto.js +1 -1
  82. package/dist/esm/models/bid-failed-response-dto.d.ts +1 -1
  83. package/dist/esm/models/bid-failed-response-dto.js +1 -1
  84. package/dist/esm/models/bid-failed-v2-response-dto.d.ts +1 -1
  85. package/dist/esm/models/bid-failed-v2-response-dto.js +1 -1
  86. package/dist/esm/models/bid-failure-reason.d.ts +1 -1
  87. package/dist/esm/models/bid-failure-reason.js +1 -1
  88. package/dist/esm/models/bid-item-dto.d.ts +1 -1
  89. package/dist/esm/models/bid-item-dto.js +1 -1
  90. package/dist/esm/models/bid-item-v1-dto.d.ts +1 -1
  91. package/dist/esm/models/bid-item-v1-dto.js +1 -1
  92. package/dist/esm/models/bid-lifecycle-dto.d.ts +1 -1
  93. package/dist/esm/models/bid-lifecycle-dto.js +1 -1
  94. package/dist/esm/models/bid-manager-dto.d.ts +1 -1
  95. package/dist/esm/models/bid-manager-dto.js +1 -1
  96. package/dist/esm/models/bid-manager-v1-dto.d.ts +1 -1
  97. package/dist/esm/models/bid-manager-v1-dto.js +1 -1
  98. package/dist/esm/models/bid-participant-summary-dto.d.ts +1 -1
  99. package/dist/esm/models/bid-participant-summary-dto.js +1 -1
  100. package/dist/esm/models/bid-payment-terms-dto.d.ts +21 -0
  101. package/dist/esm/models/bid-payment-terms-dto.js +14 -0
  102. package/dist/esm/models/bid-product-dto.d.ts +37 -0
  103. package/dist/esm/models/bid-product-dto.js +14 -0
  104. package/dist/esm/models/bid-public-status.d.ts +1 -4
  105. package/dist/esm/models/bid-public-status.js +1 -4
  106. package/dist/esm/models/bid-published-response-dto.d.ts +1 -1
  107. package/dist/esm/models/bid-published-response-dto.js +1 -1
  108. package/dist/esm/models/bid-registered-response-dto.d.ts +1 -1
  109. package/dist/esm/models/bid-registered-response-dto.js +1 -1
  110. package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +1 -1
  111. package/dist/esm/models/bid-result-participant-attachment-dto.js +1 -1
  112. package/dist/esm/models/bid-result-participant-dto.d.ts +1 -1
  113. package/dist/esm/models/bid-result-participant-dto.js +1 -1
  114. package/dist/esm/models/bid-result-v1-attachment-dto.d.ts +1 -1
  115. package/dist/esm/models/bid-result-v1-attachment-dto.js +1 -1
  116. package/dist/esm/models/bid-result-v1-bid-product-info-dto.d.ts +1 -1
  117. package/dist/esm/models/bid-result-v1-bid-product-info-dto.js +1 -1
  118. package/dist/esm/models/bid-result-v1-participant-dto.d.ts +1 -1
  119. package/dist/esm/models/bid-result-v1-participant-dto.js +1 -1
  120. package/dist/esm/models/bid-result-v1-product-dto.d.ts +1 -1
  121. package/dist/esm/models/bid-result-v1-product-dto.js +1 -1
  122. package/dist/esm/models/bid-results-batch-v1-request-dto.d.ts +1 -1
  123. package/dist/esm/models/bid-results-batch-v1-request-dto.js +1 -1
  124. package/dist/esm/models/bid-results-response-dto.d.ts +1 -1
  125. package/dist/esm/models/bid-results-response-dto.js +1 -1
  126. package/dist/esm/models/bid-results-v1-response-dto.d.ts +1 -1
  127. package/dist/esm/models/bid-results-v1-response-dto.js +1 -1
  128. package/dist/esm/models/bid-settlement-line-item-dto.d.ts +1 -1
  129. package/dist/esm/models/bid-settlement-line-item-dto.js +1 -1
  130. package/dist/esm/models/bid-settlement-participant-dto.d.ts +1 -1
  131. package/dist/esm/models/bid-settlement-participant-dto.js +1 -1
  132. package/dist/esm/models/bid-settlement-response-dto.d.ts +1 -1
  133. package/dist/esm/models/bid-settlement-response-dto.js +1 -1
  134. package/dist/esm/models/bid-statement-response-dto.d.ts +1 -1
  135. package/dist/esm/models/bid-statement-response-dto.js +1 -1
  136. package/dist/esm/models/bid-statement-v1-response-dto.d.ts +1 -1
  137. package/dist/esm/models/bid-statement-v1-response-dto.js +1 -1
  138. package/dist/esm/models/bid-status.d.ts +1 -1
  139. package/dist/esm/models/bid-status.js +1 -1
  140. package/dist/esm/models/bid-summary-dto.d.ts +38 -1
  141. package/dist/esm/models/bid-summary-dto.js +1 -1
  142. package/dist/esm/models/bid-updated-response-dto.d.ts +1 -1
  143. package/dist/esm/models/bid-updated-response-dto.js +1 -1
  144. package/dist/esm/models/card-payment-request-response-dto.d.ts +1 -1
  145. package/dist/esm/models/card-payment-request-response-dto.js +1 -1
  146. package/dist/esm/models/close-sandbox-bid-response-dto.d.ts +1 -1
  147. package/dist/esm/models/close-sandbox-bid-response-dto.js +1 -1
  148. package/dist/esm/models/complete-acceptance-request-dto.d.ts +1 -1
  149. package/dist/esm/models/complete-acceptance-request-dto.js +1 -1
  150. package/dist/esm/models/complete-acceptance-v1-request-dto.d.ts +1 -1
  151. package/dist/esm/models/complete-acceptance-v1-request-dto.js +1 -1
  152. package/dist/esm/models/contract-document-item-dto.d.ts +1 -1
  153. package/dist/esm/models/contract-document-item-dto.js +1 -1
  154. package/dist/esm/models/contract-documents-regenerated-response-dto.d.ts +1 -1
  155. package/dist/esm/models/contract-documents-regenerated-response-dto.js +1 -1
  156. package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  157. package/dist/esm/models/contract-restriction-confirm-input-dto.js +1 -1
  158. package/dist/esm/models/create-bid-request-dto.d.ts +1 -1
  159. package/dist/esm/models/create-bid-request-dto.js +1 -1
  160. package/dist/esm/models/create-bid-v1-request-dto.d.ts +1 -1
  161. package/dist/esm/models/create-bid-v1-request-dto.js +1 -1
  162. package/dist/esm/models/create-card-payment-request-dto.d.ts +1 -1
  163. package/dist/esm/models/create-card-payment-request-dto.js +1 -1
  164. package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +1 -1
  165. package/dist/esm/models/create-external-contract-documents-request-dto.js +1 -1
  166. package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +1 -1
  167. package/dist/esm/models/create-external-contract-documents-response-dto.js +1 -1
  168. package/dist/esm/models/embed-launch-request-dto.d.ts +1 -1
  169. package/dist/esm/models/embed-launch-request-dto.js +1 -1
  170. package/dist/esm/models/embed-launch-response-dto.d.ts +1 -1
  171. package/dist/esm/models/embed-launch-response-dto.js +1 -1
  172. package/dist/esm/models/external-contract-document-item-dto.d.ts +1 -1
  173. package/dist/esm/models/external-contract-document-item-dto.js +1 -1
  174. package/dist/esm/models/external-contract-documents-response-dto.d.ts +1 -1
  175. package/dist/esm/models/external-contract-documents-response-dto.js +1 -1
  176. package/dist/esm/models/external-contract-item-dto.d.ts +1 -1
  177. package/dist/esm/models/external-contract-item-dto.js +1 -1
  178. package/dist/esm/models/external-contract-snapshot-dto.d.ts +1 -1
  179. package/dist/esm/models/external-contract-snapshot-dto.js +1 -1
  180. package/dist/esm/models/external-document-inputs-dto.d.ts +1 -1
  181. package/dist/esm/models/external-document-inputs-dto.js +1 -1
  182. package/dist/esm/models/file-uploaded-response-dto.d.ts +1 -1
  183. package/dist/esm/models/file-uploaded-response-dto.js +1 -1
  184. package/dist/esm/models/file-uploaded-v1-response-dto.d.ts +1 -1
  185. package/dist/esm/models/file-uploaded-v1-response-dto.js +1 -1
  186. package/dist/esm/models/generated-external-contract-document-dto.d.ts +1 -1
  187. package/dist/esm/models/generated-external-contract-document-dto.js +1 -1
  188. package/dist/esm/models/health-response-dto.d.ts +1 -1
  189. package/dist/esm/models/health-response-dto.js +1 -1
  190. package/dist/esm/models/hierarchical-region-dto.d.ts +1 -1
  191. package/dist/esm/models/hierarchical-region-dto.js +1 -1
  192. package/dist/esm/models/hierarchical-region-v1-dto.d.ts +1 -1
  193. package/dist/esm/models/hierarchical-region-v1-dto.js +1 -1
  194. package/dist/esm/models/index.d.ts +5 -0
  195. package/dist/esm/models/index.js +5 -0
  196. package/dist/esm/models/invalid-param-dto.d.ts +1 -1
  197. package/dist/esm/models/invalid-param-dto.js +1 -1
  198. package/dist/esm/models/invoice-completed-response-dto.d.ts +1 -1
  199. package/dist/esm/models/invoice-completed-response-dto.js +1 -1
  200. package/dist/esm/models/issue-tax-invoice-request-dto.d.ts +1 -1
  201. package/dist/esm/models/issue-tax-invoice-request-dto.js +1 -1
  202. package/dist/esm/models/list-bids-response-dto.d.ts +1 -1
  203. package/dist/esm/models/list-bids-response-dto.js +1 -1
  204. package/dist/esm/models/mark-bid-failed-request-dto.d.ts +1 -1
  205. package/dist/esm/models/mark-bid-failed-request-dto.js +1 -1
  206. package/dist/esm/models/mark-bid-failed-v1-request-dto.d.ts +1 -1
  207. package/dist/esm/models/mark-bid-failed-v1-request-dto.js +1 -1
  208. package/dist/esm/models/negotiation-score-dto.d.ts +1 -1
  209. package/dist/esm/models/negotiation-score-dto.js +1 -1
  210. package/dist/esm/models/negotiation-score-v1-dto.d.ts +1 -1
  211. package/dist/esm/models/negotiation-score-v1-dto.js +1 -1
  212. package/dist/esm/models/negotiation-scored-response-dto.d.ts +1 -1
  213. package/dist/esm/models/negotiation-scored-response-dto.js +1 -1
  214. package/dist/esm/models/negotiation-scored-v2-response-dto.d.ts +1 -1
  215. package/dist/esm/models/negotiation-scored-v2-response-dto.js +1 -1
  216. package/dist/esm/models/oauth-error-response-dto.d.ts +1 -1
  217. package/dist/esm/models/oauth-error-response-dto.js +1 -1
  218. package/dist/esm/models/preconditions-dto.d.ts +1 -1
  219. package/dist/esm/models/preconditions-dto.js +1 -1
  220. package/dist/esm/models/preconditions-v1-dto.d.ts +1 -1
  221. package/dist/esm/models/preconditions-v1-dto.js +1 -1
  222. package/dist/esm/models/problem-details-dto.d.ts +1 -1
  223. package/dist/esm/models/problem-details-dto.js +1 -1
  224. package/dist/esm/models/product-receipt-v1-response-dto.d.ts +1 -1
  225. package/dist/esm/models/product-receipt-v1-response-dto.js +1 -1
  226. package/dist/esm/models/product-v1-response-dto.d.ts +1 -1
  227. package/dist/esm/models/product-v1-response-dto.js +1 -1
  228. package/dist/esm/models/protected-resource-metadata-dto.d.ts +1 -1
  229. package/dist/esm/models/protected-resource-metadata-dto.js +1 -1
  230. package/dist/esm/models/register-award-request-dto.d.ts +1 -1
  231. package/dist/esm/models/register-award-request-dto.js +1 -1
  232. package/dist/esm/models/register-award-v1-request-dto.d.ts +1 -1
  233. package/dist/esm/models/register-award-v1-request-dto.js +1 -1
  234. package/dist/esm/models/register-semo-contract-request-dto.d.ts +1 -1
  235. package/dist/esm/models/register-semo-contract-request-dto.js +1 -1
  236. package/dist/esm/models/request-split-invoice-v1-request-dto.d.ts +1 -1
  237. package/dist/esm/models/request-split-invoice-v1-request-dto.js +1 -1
  238. package/dist/esm/models/retiree-roster-input-dto.d.ts +1 -1
  239. package/dist/esm/models/retiree-roster-input-dto.js +1 -1
  240. package/dist/esm/models/retiree-roster-row-dto.d.ts +1 -1
  241. package/dist/esm/models/retiree-roster-row-dto.js +1 -1
  242. package/dist/esm/models/revoke-request-dto.d.ts +1 -1
  243. package/dist/esm/models/revoke-request-dto.js +1 -1
  244. package/dist/esm/models/semo-contract-registered-response-dto.d.ts +1 -1
  245. package/dist/esm/models/semo-contract-registered-response-dto.js +1 -1
  246. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  247. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  248. package/dist/esm/models/split-invoice-v1-response-dto.d.ts +1 -1
  249. package/dist/esm/models/split-invoice-v1-response-dto.js +1 -1
  250. package/dist/esm/models/statement-document-dto.d.ts +1 -1
  251. package/dist/esm/models/statement-document-dto.js +1 -1
  252. package/dist/esm/models/statement-product-dto.d.ts +1 -1
  253. package/dist/esm/models/statement-product-dto.js +1 -1
  254. package/dist/esm/models/statement-v1-document-dto.d.ts +1 -1
  255. package/dist/esm/models/statement-v1-document-dto.js +1 -1
  256. package/dist/esm/models/statement-v1-product-dto.d.ts +1 -1
  257. package/dist/esm/models/statement-v1-product-dto.js +1 -1
  258. package/dist/esm/models/submit-negotiation-scores-request-dto.d.ts +1 -1
  259. package/dist/esm/models/submit-negotiation-scores-request-dto.js +1 -1
  260. package/dist/esm/models/submit-negotiation-scores-v1-request-dto.d.ts +1 -1
  261. package/dist/esm/models/submit-negotiation-scores-v1-request-dto.js +1 -1
  262. package/dist/esm/models/supplier-card-payable-response-dto.d.ts +1 -1
  263. package/dist/esm/models/supplier-card-payable-response-dto.js +1 -1
  264. package/dist/esm/models/supplier-tax-type.d.ts +1 -1
  265. package/dist/esm/models/supplier-tax-type.js +1 -1
  266. package/dist/esm/models/tax-invoice-issued-response-dto.d.ts +1 -1
  267. package/dist/esm/models/tax-invoice-issued-response-dto.js +1 -1
  268. package/dist/esm/models/token-request-dto.d.ts +1 -1
  269. package/dist/esm/models/token-request-dto.js +1 -1
  270. package/dist/esm/models/token-response-dto.d.ts +3 -2
  271. package/dist/esm/models/token-response-dto.js +2 -1
  272. package/dist/esm/models/update-bid-request-dto.d.ts +1 -1
  273. package/dist/esm/models/update-bid-request-dto.js +1 -1
  274. package/dist/esm/models/upload-file-request-dto.d.ts +1 -1
  275. package/dist/esm/models/upload-file-request-dto.js +1 -1
  276. package/dist/esm/models/upload-file-v1-request-dto.d.ts +1 -1
  277. package/dist/esm/models/upload-file-v1-request-dto.js +1 -1
  278. package/dist/index.d.ts +1 -1
  279. package/dist/index.js +1 -1
  280. package/dist/models/acceptance-result-response-dto.d.ts +1 -1
  281. package/dist/models/acceptance-result-response-dto.js +1 -1
  282. package/dist/models/acceptance-result-v1-response-dto.d.ts +1 -1
  283. package/dist/models/acceptance-result-v1-response-dto.js +1 -1
  284. package/dist/models/acknowledge-products-v1-request-dto.d.ts +1 -1
  285. package/dist/models/acknowledge-products-v1-request-dto.js +1 -1
  286. package/dist/models/authorization-server-metadata-dto.d.ts +1 -1
  287. package/dist/models/authorization-server-metadata-dto.js +1 -1
  288. package/dist/models/award-method-public.d.ts +1 -1
  289. package/dist/models/award-method-public.js +1 -1
  290. package/dist/models/award-registered-response-dto.d.ts +1 -1
  291. package/dist/models/award-registered-response-dto.js +1 -1
  292. package/dist/models/award-registered-v2-response-dto.d.ts +1 -1
  293. package/dist/models/award-registered-v2-response-dto.js +1 -1
  294. package/dist/models/bid-attachment-v1-dto.d.ts +1 -1
  295. package/dist/models/bid-attachment-v1-dto.js +1 -1
  296. package/dist/models/bid-bond-dto.d.ts +1 -1
  297. package/dist/models/bid-bond-dto.js +1 -1
  298. package/dist/models/bid-bond-v1-dto.d.ts +1 -1
  299. package/dist/models/bid-bond-v1-dto.js +1 -1
  300. package/dist/models/bid-contact-dto.d.ts +25 -0
  301. package/dist/models/bid-contact-dto.js +15 -0
  302. package/dist/models/bid-contacts-dto.d.ts +22 -0
  303. package/dist/models/bid-contacts-dto.js +15 -0
  304. package/dist/models/bid-contract-documents-batch-v1-request-dto.d.ts +1 -1
  305. package/dist/models/bid-contract-documents-batch-v1-request-dto.js +1 -1
  306. package/dist/models/bid-contract-documents-v1-response-dto.d.ts +1 -1
  307. package/dist/models/bid-contract-documents-v1-response-dto.js +1 -1
  308. package/dist/models/bid-created-response-dto.d.ts +1 -1
  309. package/dist/models/bid-created-response-dto.js +1 -1
  310. package/dist/models/bid-delivery-terms-dto.d.ts +33 -0
  311. package/dist/models/bid-delivery-terms-dto.js +15 -0
  312. package/dist/models/bid-detail-response-dto.d.ts +1 -1
  313. package/dist/models/bid-detail-response-dto.js +1 -1
  314. package/dist/models/bid-document-dto.d.ts +1 -1
  315. package/dist/models/bid-document-dto.js +1 -1
  316. package/dist/models/bid-document-v1-dto.d.ts +1 -1
  317. package/dist/models/bid-document-v1-dto.js +1 -1
  318. package/dist/models/bid-failed-response-dto.d.ts +1 -1
  319. package/dist/models/bid-failed-response-dto.js +1 -1
  320. package/dist/models/bid-failed-v2-response-dto.d.ts +1 -1
  321. package/dist/models/bid-failed-v2-response-dto.js +1 -1
  322. package/dist/models/bid-failure-reason.d.ts +1 -1
  323. package/dist/models/bid-failure-reason.js +1 -1
  324. package/dist/models/bid-item-dto.d.ts +1 -1
  325. package/dist/models/bid-item-dto.js +1 -1
  326. package/dist/models/bid-item-v1-dto.d.ts +1 -1
  327. package/dist/models/bid-item-v1-dto.js +1 -1
  328. package/dist/models/bid-lifecycle-dto.d.ts +1 -1
  329. package/dist/models/bid-lifecycle-dto.js +1 -1
  330. package/dist/models/bid-manager-dto.d.ts +1 -1
  331. package/dist/models/bid-manager-dto.js +1 -1
  332. package/dist/models/bid-manager-v1-dto.d.ts +1 -1
  333. package/dist/models/bid-manager-v1-dto.js +1 -1
  334. package/dist/models/bid-participant-summary-dto.d.ts +1 -1
  335. package/dist/models/bid-participant-summary-dto.js +1 -1
  336. package/dist/models/bid-payment-terms-dto.d.ts +21 -0
  337. package/dist/models/bid-payment-terms-dto.js +15 -0
  338. package/dist/models/bid-product-dto.d.ts +37 -0
  339. package/dist/models/bid-product-dto.js +15 -0
  340. package/dist/models/bid-public-status.d.ts +1 -4
  341. package/dist/models/bid-public-status.js +1 -4
  342. package/dist/models/bid-published-response-dto.d.ts +1 -1
  343. package/dist/models/bid-published-response-dto.js +1 -1
  344. package/dist/models/bid-registered-response-dto.d.ts +1 -1
  345. package/dist/models/bid-registered-response-dto.js +1 -1
  346. package/dist/models/bid-result-participant-attachment-dto.d.ts +1 -1
  347. package/dist/models/bid-result-participant-attachment-dto.js +1 -1
  348. package/dist/models/bid-result-participant-dto.d.ts +1 -1
  349. package/dist/models/bid-result-participant-dto.js +1 -1
  350. package/dist/models/bid-result-v1-attachment-dto.d.ts +1 -1
  351. package/dist/models/bid-result-v1-attachment-dto.js +1 -1
  352. package/dist/models/bid-result-v1-bid-product-info-dto.d.ts +1 -1
  353. package/dist/models/bid-result-v1-bid-product-info-dto.js +1 -1
  354. package/dist/models/bid-result-v1-participant-dto.d.ts +1 -1
  355. package/dist/models/bid-result-v1-participant-dto.js +1 -1
  356. package/dist/models/bid-result-v1-product-dto.d.ts +1 -1
  357. package/dist/models/bid-result-v1-product-dto.js +1 -1
  358. package/dist/models/bid-results-batch-v1-request-dto.d.ts +1 -1
  359. package/dist/models/bid-results-batch-v1-request-dto.js +1 -1
  360. package/dist/models/bid-results-response-dto.d.ts +1 -1
  361. package/dist/models/bid-results-response-dto.js +1 -1
  362. package/dist/models/bid-results-v1-response-dto.d.ts +1 -1
  363. package/dist/models/bid-results-v1-response-dto.js +1 -1
  364. package/dist/models/bid-settlement-line-item-dto.d.ts +1 -1
  365. package/dist/models/bid-settlement-line-item-dto.js +1 -1
  366. package/dist/models/bid-settlement-participant-dto.d.ts +1 -1
  367. package/dist/models/bid-settlement-participant-dto.js +1 -1
  368. package/dist/models/bid-settlement-response-dto.d.ts +1 -1
  369. package/dist/models/bid-settlement-response-dto.js +1 -1
  370. package/dist/models/bid-statement-response-dto.d.ts +1 -1
  371. package/dist/models/bid-statement-response-dto.js +1 -1
  372. package/dist/models/bid-statement-v1-response-dto.d.ts +1 -1
  373. package/dist/models/bid-statement-v1-response-dto.js +1 -1
  374. package/dist/models/bid-status.d.ts +1 -1
  375. package/dist/models/bid-status.js +1 -1
  376. package/dist/models/bid-summary-dto.d.ts +38 -1
  377. package/dist/models/bid-summary-dto.js +1 -1
  378. package/dist/models/bid-updated-response-dto.d.ts +1 -1
  379. package/dist/models/bid-updated-response-dto.js +1 -1
  380. package/dist/models/card-payment-request-response-dto.d.ts +1 -1
  381. package/dist/models/card-payment-request-response-dto.js +1 -1
  382. package/dist/models/close-sandbox-bid-response-dto.d.ts +1 -1
  383. package/dist/models/close-sandbox-bid-response-dto.js +1 -1
  384. package/dist/models/complete-acceptance-request-dto.d.ts +1 -1
  385. package/dist/models/complete-acceptance-request-dto.js +1 -1
  386. package/dist/models/complete-acceptance-v1-request-dto.d.ts +1 -1
  387. package/dist/models/complete-acceptance-v1-request-dto.js +1 -1
  388. package/dist/models/contract-document-item-dto.d.ts +1 -1
  389. package/dist/models/contract-document-item-dto.js +1 -1
  390. package/dist/models/contract-documents-regenerated-response-dto.d.ts +1 -1
  391. package/dist/models/contract-documents-regenerated-response-dto.js +1 -1
  392. package/dist/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  393. package/dist/models/contract-restriction-confirm-input-dto.js +1 -1
  394. package/dist/models/create-bid-request-dto.d.ts +1 -1
  395. package/dist/models/create-bid-request-dto.js +1 -1
  396. package/dist/models/create-bid-v1-request-dto.d.ts +1 -1
  397. package/dist/models/create-bid-v1-request-dto.js +1 -1
  398. package/dist/models/create-card-payment-request-dto.d.ts +1 -1
  399. package/dist/models/create-card-payment-request-dto.js +1 -1
  400. package/dist/models/create-external-contract-documents-request-dto.d.ts +1 -1
  401. package/dist/models/create-external-contract-documents-request-dto.js +1 -1
  402. package/dist/models/create-external-contract-documents-response-dto.d.ts +1 -1
  403. package/dist/models/create-external-contract-documents-response-dto.js +1 -1
  404. package/dist/models/embed-launch-request-dto.d.ts +1 -1
  405. package/dist/models/embed-launch-request-dto.js +1 -1
  406. package/dist/models/embed-launch-response-dto.d.ts +1 -1
  407. package/dist/models/embed-launch-response-dto.js +1 -1
  408. package/dist/models/external-contract-document-item-dto.d.ts +1 -1
  409. package/dist/models/external-contract-document-item-dto.js +1 -1
  410. package/dist/models/external-contract-documents-response-dto.d.ts +1 -1
  411. package/dist/models/external-contract-documents-response-dto.js +1 -1
  412. package/dist/models/external-contract-item-dto.d.ts +1 -1
  413. package/dist/models/external-contract-item-dto.js +1 -1
  414. package/dist/models/external-contract-snapshot-dto.d.ts +1 -1
  415. package/dist/models/external-contract-snapshot-dto.js +1 -1
  416. package/dist/models/external-document-inputs-dto.d.ts +1 -1
  417. package/dist/models/external-document-inputs-dto.js +1 -1
  418. package/dist/models/file-uploaded-response-dto.d.ts +1 -1
  419. package/dist/models/file-uploaded-response-dto.js +1 -1
  420. package/dist/models/file-uploaded-v1-response-dto.d.ts +1 -1
  421. package/dist/models/file-uploaded-v1-response-dto.js +1 -1
  422. package/dist/models/generated-external-contract-document-dto.d.ts +1 -1
  423. package/dist/models/generated-external-contract-document-dto.js +1 -1
  424. package/dist/models/health-response-dto.d.ts +1 -1
  425. package/dist/models/health-response-dto.js +1 -1
  426. package/dist/models/hierarchical-region-dto.d.ts +1 -1
  427. package/dist/models/hierarchical-region-dto.js +1 -1
  428. package/dist/models/hierarchical-region-v1-dto.d.ts +1 -1
  429. package/dist/models/hierarchical-region-v1-dto.js +1 -1
  430. package/dist/models/index.d.ts +5 -0
  431. package/dist/models/index.js +5 -0
  432. package/dist/models/invalid-param-dto.d.ts +1 -1
  433. package/dist/models/invalid-param-dto.js +1 -1
  434. package/dist/models/invoice-completed-response-dto.d.ts +1 -1
  435. package/dist/models/invoice-completed-response-dto.js +1 -1
  436. package/dist/models/issue-tax-invoice-request-dto.d.ts +1 -1
  437. package/dist/models/issue-tax-invoice-request-dto.js +1 -1
  438. package/dist/models/list-bids-response-dto.d.ts +1 -1
  439. package/dist/models/list-bids-response-dto.js +1 -1
  440. package/dist/models/mark-bid-failed-request-dto.d.ts +1 -1
  441. package/dist/models/mark-bid-failed-request-dto.js +1 -1
  442. package/dist/models/mark-bid-failed-v1-request-dto.d.ts +1 -1
  443. package/dist/models/mark-bid-failed-v1-request-dto.js +1 -1
  444. package/dist/models/negotiation-score-dto.d.ts +1 -1
  445. package/dist/models/negotiation-score-dto.js +1 -1
  446. package/dist/models/negotiation-score-v1-dto.d.ts +1 -1
  447. package/dist/models/negotiation-score-v1-dto.js +1 -1
  448. package/dist/models/negotiation-scored-response-dto.d.ts +1 -1
  449. package/dist/models/negotiation-scored-response-dto.js +1 -1
  450. package/dist/models/negotiation-scored-v2-response-dto.d.ts +1 -1
  451. package/dist/models/negotiation-scored-v2-response-dto.js +1 -1
  452. package/dist/models/oauth-error-response-dto.d.ts +1 -1
  453. package/dist/models/oauth-error-response-dto.js +1 -1
  454. package/dist/models/preconditions-dto.d.ts +1 -1
  455. package/dist/models/preconditions-dto.js +1 -1
  456. package/dist/models/preconditions-v1-dto.d.ts +1 -1
  457. package/dist/models/preconditions-v1-dto.js +1 -1
  458. package/dist/models/problem-details-dto.d.ts +1 -1
  459. package/dist/models/problem-details-dto.js +1 -1
  460. package/dist/models/product-receipt-v1-response-dto.d.ts +1 -1
  461. package/dist/models/product-receipt-v1-response-dto.js +1 -1
  462. package/dist/models/product-v1-response-dto.d.ts +1 -1
  463. package/dist/models/product-v1-response-dto.js +1 -1
  464. package/dist/models/protected-resource-metadata-dto.d.ts +1 -1
  465. package/dist/models/protected-resource-metadata-dto.js +1 -1
  466. package/dist/models/register-award-request-dto.d.ts +1 -1
  467. package/dist/models/register-award-request-dto.js +1 -1
  468. package/dist/models/register-award-v1-request-dto.d.ts +1 -1
  469. package/dist/models/register-award-v1-request-dto.js +1 -1
  470. package/dist/models/register-semo-contract-request-dto.d.ts +1 -1
  471. package/dist/models/register-semo-contract-request-dto.js +1 -1
  472. package/dist/models/request-split-invoice-v1-request-dto.d.ts +1 -1
  473. package/dist/models/request-split-invoice-v1-request-dto.js +1 -1
  474. package/dist/models/retiree-roster-input-dto.d.ts +1 -1
  475. package/dist/models/retiree-roster-input-dto.js +1 -1
  476. package/dist/models/retiree-roster-row-dto.d.ts +1 -1
  477. package/dist/models/retiree-roster-row-dto.js +1 -1
  478. package/dist/models/revoke-request-dto.d.ts +1 -1
  479. package/dist/models/revoke-request-dto.js +1 -1
  480. package/dist/models/semo-contract-registered-response-dto.d.ts +1 -1
  481. package/dist/models/semo-contract-registered-response-dto.js +1 -1
  482. package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  483. package/dist/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  484. package/dist/models/split-invoice-v1-response-dto.d.ts +1 -1
  485. package/dist/models/split-invoice-v1-response-dto.js +1 -1
  486. package/dist/models/statement-document-dto.d.ts +1 -1
  487. package/dist/models/statement-document-dto.js +1 -1
  488. package/dist/models/statement-product-dto.d.ts +1 -1
  489. package/dist/models/statement-product-dto.js +1 -1
  490. package/dist/models/statement-v1-document-dto.d.ts +1 -1
  491. package/dist/models/statement-v1-document-dto.js +1 -1
  492. package/dist/models/statement-v1-product-dto.d.ts +1 -1
  493. package/dist/models/statement-v1-product-dto.js +1 -1
  494. package/dist/models/submit-negotiation-scores-request-dto.d.ts +1 -1
  495. package/dist/models/submit-negotiation-scores-request-dto.js +1 -1
  496. package/dist/models/submit-negotiation-scores-v1-request-dto.d.ts +1 -1
  497. package/dist/models/submit-negotiation-scores-v1-request-dto.js +1 -1
  498. package/dist/models/supplier-card-payable-response-dto.d.ts +1 -1
  499. package/dist/models/supplier-card-payable-response-dto.js +1 -1
  500. package/dist/models/supplier-tax-type.d.ts +1 -1
  501. package/dist/models/supplier-tax-type.js +1 -1
  502. package/dist/models/tax-invoice-issued-response-dto.d.ts +1 -1
  503. package/dist/models/tax-invoice-issued-response-dto.js +1 -1
  504. package/dist/models/token-request-dto.d.ts +1 -1
  505. package/dist/models/token-request-dto.js +1 -1
  506. package/dist/models/token-response-dto.d.ts +3 -2
  507. package/dist/models/token-response-dto.js +2 -1
  508. package/dist/models/update-bid-request-dto.d.ts +1 -1
  509. package/dist/models/update-bid-request-dto.js +1 -1
  510. package/dist/models/upload-file-request-dto.d.ts +1 -1
  511. package/dist/models/upload-file-request-dto.js +1 -1
  512. package/dist/models/upload-file-v1-request-dto.d.ts +1 -1
  513. package/dist/models/upload-file-v1-request-dto.js +1 -1
  514. package/docs/BidContactDto.md +24 -0
  515. package/docs/BidContactsDto.md +22 -0
  516. package/docs/BidDeliveryTermsDto.md +28 -0
  517. package/docs/BidPaymentTermsDto.md +22 -0
  518. package/docs/BidProductDto.md +30 -0
  519. package/docs/BidPublicStatus.md +0 -1
  520. package/docs/BidSummaryDto.md +16 -0
  521. package/docs/PartnerV2Api.md +10 -1
  522. package/docs/TokenResponseDto.md +1 -1
  523. package/index.ts +1 -1
  524. package/models/acceptance-result-response-dto.ts +1 -1
  525. package/models/acceptance-result-v1-response-dto.ts +1 -1
  526. package/models/acknowledge-products-v1-request-dto.ts +1 -1
  527. package/models/authorization-server-metadata-dto.ts +1 -1
  528. package/models/award-method-public.ts +1 -1
  529. package/models/award-registered-response-dto.ts +1 -1
  530. package/models/award-registered-v2-response-dto.ts +1 -1
  531. package/models/bid-attachment-v1-dto.ts +1 -1
  532. package/models/bid-bond-dto.ts +1 -1
  533. package/models/bid-bond-v1-dto.ts +1 -1
  534. package/models/bid-contact-dto.ts +31 -0
  535. package/models/bid-contacts-dto.ts +30 -0
  536. package/models/bid-contract-documents-batch-v1-request-dto.ts +1 -1
  537. package/models/bid-contract-documents-v1-response-dto.ts +1 -1
  538. package/models/bid-created-response-dto.ts +1 -1
  539. package/models/bid-delivery-terms-dto.ts +39 -0
  540. package/models/bid-detail-response-dto.ts +1 -1
  541. package/models/bid-document-dto.ts +1 -1
  542. package/models/bid-document-v1-dto.ts +1 -1
  543. package/models/bid-failed-response-dto.ts +1 -1
  544. package/models/bid-failed-v2-response-dto.ts +1 -1
  545. package/models/bid-failure-reason.ts +1 -1
  546. package/models/bid-item-dto.ts +1 -1
  547. package/models/bid-item-v1-dto.ts +1 -1
  548. package/models/bid-lifecycle-dto.ts +1 -1
  549. package/models/bid-manager-dto.ts +1 -1
  550. package/models/bid-manager-v1-dto.ts +1 -1
  551. package/models/bid-participant-summary-dto.ts +1 -1
  552. package/models/bid-payment-terms-dto.ts +27 -0
  553. package/models/bid-product-dto.ts +43 -0
  554. package/models/bid-public-status.ts +1 -4
  555. package/models/bid-published-response-dto.ts +1 -1
  556. package/models/bid-registered-response-dto.ts +1 -1
  557. package/models/bid-result-participant-attachment-dto.ts +1 -1
  558. package/models/bid-result-participant-dto.ts +1 -1
  559. package/models/bid-result-v1-attachment-dto.ts +1 -1
  560. package/models/bid-result-v1-bid-product-info-dto.ts +1 -1
  561. package/models/bid-result-v1-participant-dto.ts +1 -1
  562. package/models/bid-result-v1-product-dto.ts +1 -1
  563. package/models/bid-results-batch-v1-request-dto.ts +1 -1
  564. package/models/bid-results-response-dto.ts +1 -1
  565. package/models/bid-results-v1-response-dto.ts +1 -1
  566. package/models/bid-settlement-line-item-dto.ts +1 -1
  567. package/models/bid-settlement-participant-dto.ts +1 -1
  568. package/models/bid-settlement-response-dto.ts +1 -1
  569. package/models/bid-statement-response-dto.ts +1 -1
  570. package/models/bid-statement-v1-response-dto.ts +1 -1
  571. package/models/bid-status.ts +1 -1
  572. package/models/bid-summary-dto.ts +48 -1
  573. package/models/bid-updated-response-dto.ts +1 -1
  574. package/models/card-payment-request-response-dto.ts +1 -1
  575. package/models/close-sandbox-bid-response-dto.ts +1 -1
  576. package/models/complete-acceptance-request-dto.ts +1 -1
  577. package/models/complete-acceptance-v1-request-dto.ts +1 -1
  578. package/models/contract-document-item-dto.ts +1 -1
  579. package/models/contract-documents-regenerated-response-dto.ts +1 -1
  580. package/models/contract-restriction-confirm-input-dto.ts +1 -1
  581. package/models/create-bid-request-dto.ts +1 -1
  582. package/models/create-bid-v1-request-dto.ts +1 -1
  583. package/models/create-card-payment-request-dto.ts +1 -1
  584. package/models/create-external-contract-documents-request-dto.ts +1 -1
  585. package/models/create-external-contract-documents-response-dto.ts +1 -1
  586. package/models/embed-launch-request-dto.ts +1 -1
  587. package/models/embed-launch-response-dto.ts +1 -1
  588. package/models/external-contract-document-item-dto.ts +1 -1
  589. package/models/external-contract-documents-response-dto.ts +1 -1
  590. package/models/external-contract-item-dto.ts +1 -1
  591. package/models/external-contract-snapshot-dto.ts +1 -1
  592. package/models/external-document-inputs-dto.ts +1 -1
  593. package/models/file-uploaded-response-dto.ts +1 -1
  594. package/models/file-uploaded-v1-response-dto.ts +1 -1
  595. package/models/generated-external-contract-document-dto.ts +1 -1
  596. package/models/health-response-dto.ts +1 -1
  597. package/models/hierarchical-region-dto.ts +1 -1
  598. package/models/hierarchical-region-v1-dto.ts +1 -1
  599. package/models/index.ts +5 -0
  600. package/models/invalid-param-dto.ts +1 -1
  601. package/models/invoice-completed-response-dto.ts +1 -1
  602. package/models/issue-tax-invoice-request-dto.ts +1 -1
  603. package/models/list-bids-response-dto.ts +1 -1
  604. package/models/mark-bid-failed-request-dto.ts +1 -1
  605. package/models/mark-bid-failed-v1-request-dto.ts +1 -1
  606. package/models/negotiation-score-dto.ts +1 -1
  607. package/models/negotiation-score-v1-dto.ts +1 -1
  608. package/models/negotiation-scored-response-dto.ts +1 -1
  609. package/models/negotiation-scored-v2-response-dto.ts +1 -1
  610. package/models/oauth-error-response-dto.ts +1 -1
  611. package/models/preconditions-dto.ts +1 -1
  612. package/models/preconditions-v1-dto.ts +1 -1
  613. package/models/problem-details-dto.ts +1 -1
  614. package/models/product-receipt-v1-response-dto.ts +1 -1
  615. package/models/product-v1-response-dto.ts +1 -1
  616. package/models/protected-resource-metadata-dto.ts +1 -1
  617. package/models/register-award-request-dto.ts +1 -1
  618. package/models/register-award-v1-request-dto.ts +1 -1
  619. package/models/register-semo-contract-request-dto.ts +1 -1
  620. package/models/request-split-invoice-v1-request-dto.ts +1 -1
  621. package/models/retiree-roster-input-dto.ts +1 -1
  622. package/models/retiree-roster-row-dto.ts +1 -1
  623. package/models/revoke-request-dto.ts +1 -1
  624. package/models/semo-contract-registered-response-dto.ts +1 -1
  625. package/models/semo-contract-taxinvoice-status-response-dto.ts +1 -1
  626. package/models/split-invoice-v1-response-dto.ts +1 -1
  627. package/models/statement-document-dto.ts +1 -1
  628. package/models/statement-product-dto.ts +1 -1
  629. package/models/statement-v1-document-dto.ts +1 -1
  630. package/models/statement-v1-product-dto.ts +1 -1
  631. package/models/submit-negotiation-scores-request-dto.ts +1 -1
  632. package/models/submit-negotiation-scores-v1-request-dto.ts +1 -1
  633. package/models/supplier-card-payable-response-dto.ts +1 -1
  634. package/models/supplier-tax-type.ts +1 -1
  635. package/models/tax-invoice-issued-response-dto.ts +1 -1
  636. package/models/token-request-dto.ts +1 -1
  637. package/models/token-response-dto.ts +3 -2
  638. package/models/update-bid-request-dto.ts +1 -1
  639. package/models/upload-file-request-dto.ts +1 -1
  640. package/models/upload-file-v1-request-dto.ts +1 -1
  641. package/package.json +1 -1
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -567,10 +567,13 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration) {
567
567
  * @summary 공고 목록 조회
568
568
  * @param {number} [limit] 페이지 크기(1~100, 기본 100).
569
569
  * @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 &#x60;nextCursor&#x60; 를 그대로 전달한다. 미지정 시 첫 페이지. &#x60;nextCursor&#x3D;null&#x60; 이면 마지막 페이지다.
570
+ * @param {Array<string>} [bidIds] 조회할 공고 식별자 CSV(최대 100건). 지정 시 그 공고만 조회한다.
571
+ * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다.
572
+ * @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. &#x60;results&#x60;&#x3D;응찰 참여자, &#x60;products&#x60;&#x3D;공고 등록 품목, &#x60;contacts&#x60;&#x3D;발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
570
573
  * @param {*} [options] Override http request option.
571
574
  * @throws {RequiredError}
572
575
  */
573
- listBids: (limit_1, cursor_1, ...args_1) => __awaiter(this, [limit_1, cursor_1, ...args_1], void 0, function* (limit, cursor, options = {}) {
576
+ listBids: (limit_1, cursor_1, bidIds_1, status_1, include_1, ...args_1) => __awaiter(this, [limit_1, cursor_1, bidIds_1, status_1, include_1, ...args_1], void 0, function* (limit, cursor, bidIds, status, include, options = {}) {
574
577
  const localVarPath = `/v2/bids`;
575
578
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
576
579
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -590,6 +593,15 @@ export const PartnerV2ApiAxiosParamCreator = function (configuration) {
590
593
  if (cursor !== undefined) {
591
594
  localVarQueryParameter['cursor'] = cursor;
592
595
  }
596
+ if (bidIds) {
597
+ localVarQueryParameter['bidIds'] = bidIds;
598
+ }
599
+ if (status) {
600
+ localVarQueryParameter['status'] = status;
601
+ }
602
+ if (include) {
603
+ localVarQueryParameter['include'] = include;
604
+ }
593
605
  localVarHeaderParameter['Accept'] = 'application/json';
594
606
  setSearchParams(localVarUrlObj, localVarQueryParameter);
595
607
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
@@ -1262,13 +1274,16 @@ export const PartnerV2ApiFp = function (configuration) {
1262
1274
  * @summary 공고 목록 조회
1263
1275
  * @param {number} [limit] 페이지 크기(1~100, 기본 100).
1264
1276
  * @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 &#x60;nextCursor&#x60; 를 그대로 전달한다. 미지정 시 첫 페이지. &#x60;nextCursor&#x3D;null&#x60; 이면 마지막 페이지다.
1277
+ * @param {Array<string>} [bidIds] 조회할 공고 식별자 CSV(최대 100건). 지정 시 그 공고만 조회한다.
1278
+ * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다.
1279
+ * @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. &#x60;results&#x60;&#x3D;응찰 참여자, &#x60;products&#x60;&#x3D;공고 등록 품목, &#x60;contacts&#x60;&#x3D;발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
1265
1280
  * @param {*} [options] Override http request option.
1266
1281
  * @throws {RequiredError}
1267
1282
  */
1268
- listBids(limit, cursor, options) {
1283
+ listBids(limit, cursor, bidIds, status, include, options) {
1269
1284
  return __awaiter(this, void 0, void 0, function* () {
1270
1285
  var _a, _b, _c;
1271
- const localVarAxiosArgs = yield localVarAxiosParamCreator.listBids(limit, cursor, options);
1286
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.listBids(limit, cursor, bidIds, status, include, options);
1272
1287
  const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
1273
1288
  const localVarOperationServerBasePath = (_c = (_b = operationServerMap['PartnerV2Api.listBids']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
1274
1289
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -1616,11 +1631,14 @@ export const PartnerV2ApiFactory = function (configuration, basePath, axios) {
1616
1631
  * @summary 공고 목록 조회
1617
1632
  * @param {number} [limit] 페이지 크기(1~100, 기본 100).
1618
1633
  * @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 &#x60;nextCursor&#x60; 를 그대로 전달한다. 미지정 시 첫 페이지. &#x60;nextCursor&#x3D;null&#x60; 이면 마지막 페이지다.
1634
+ * @param {Array<string>} [bidIds] 조회할 공고 식별자 CSV(최대 100건). 지정 시 그 공고만 조회한다.
1635
+ * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다.
1636
+ * @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. &#x60;results&#x60;&#x3D;응찰 참여자, &#x60;products&#x60;&#x3D;공고 등록 품목, &#x60;contacts&#x60;&#x3D;발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
1619
1637
  * @param {*} [options] Override http request option.
1620
1638
  * @throws {RequiredError}
1621
1639
  */
1622
- listBids(limit, cursor, options) {
1623
- return localVarFp.listBids(limit, cursor, options).then((request) => request(axios, basePath));
1640
+ listBids(limit, cursor, bidIds, status, include, options) {
1641
+ return localVarFp.listBids(limit, cursor, bidIds, status, include, options).then((request) => request(axios, basePath));
1624
1642
  },
1625
1643
  /**
1626
1644
  * 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market 이 데이터를 채워 PDF 로 만들어 주는 서류입니다. 생성 API 의 `paperCodes` 에 넣을 수 있습니다. - `autoGenerated=false` — 이 API 로는 만들 수 없는 서류입니다(거래명세서처럼 세금계산서 발행 같은 별도 시점이 필요한 서류). 목록에서 감추지 말고 사용자가 직접 첨부하도록 안내하세요. **조회 가능한 회원 범위:** 이 API 키에 설정된 대행 범위(소속 그룹 전원 또는 지정 회원 목록) 안의 회원만 조회할 수 있습니다. 범위 밖이면 403 입니다. 대행 범위는 키 설정이며 스코프와는 별개 축입니다. **필수 스코프:** `contracts:read`
@@ -1902,11 +1920,14 @@ export class PartnerV2Api extends BaseAPI {
1902
1920
  * @summary 공고 목록 조회
1903
1921
  * @param {number} [limit] 페이지 크기(1~100, 기본 100).
1904
1922
  * @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 &#x60;nextCursor&#x60; 를 그대로 전달한다. 미지정 시 첫 페이지. &#x60;nextCursor&#x3D;null&#x60; 이면 마지막 페이지다.
1923
+ * @param {Array<string>} [bidIds] 조회할 공고 식별자 CSV(최대 100건). 지정 시 그 공고만 조회한다.
1924
+ * @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다.
1925
+ * @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. &#x60;results&#x60;&#x3D;응찰 참여자, &#x60;products&#x60;&#x3D;공고 등록 품목, &#x60;contacts&#x60;&#x3D;발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
1905
1926
  * @param {*} [options] Override http request option.
1906
1927
  * @throws {RequiredError}
1907
1928
  */
1908
- listBids(limit, cursor, options) {
1909
- return PartnerV2ApiFp(this.configuration).listBids(limit, cursor, options).then((request) => request(this.axios, this.basePath));
1929
+ listBids(limit, cursor, bidIds, status, include, options) {
1930
+ return PartnerV2ApiFp(this.configuration).listBids(limit, cursor, bidIds, status, include, options).then((request) => request(this.axios, this.basePath));
1910
1931
  }
1911
1932
  /**
1912
1933
  * 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market 이 데이터를 채워 PDF 로 만들어 주는 서류입니다. 생성 API 의 `paperCodes` 에 넣을 수 있습니다. - `autoGenerated=false` — 이 API 로는 만들 수 없는 서류입니다(거래명세서처럼 세금계산서 발행 같은 별도 시점이 필요한 서류). 목록에서 감추지 말고 사용자가 직접 첨부하도록 안내하세요. **조회 가능한 회원 범위:** 이 API 키에 설정된 대행 범위(소속 그룹 전원 또는 지정 회원 목록) 안의 회원만 조회할 수 있습니다. 범위 밖이면 403 입니다. 대행 범위는 키 설정이며 스코프와는 별개 축입니다. **필수 스코프:** `contracts:read`
@@ -2021,6 +2042,11 @@ export class PartnerV2Api extends BaseAPI {
2021
2042
  return PartnerV2ApiFp(this.configuration).uploadFile(uploadFileRequestDto, options).then((request) => request(this.axios, this.basePath));
2022
2043
  }
2023
2044
  }
2045
+ export const ListBidsIncludeEnum = {
2046
+ Results: 'results',
2047
+ Products: 'products',
2048
+ Contacts: 'contacts',
2049
+ };
2024
2050
  export const ListExternalContractDocumentsBidTypeEnum = {
2025
2051
  Goods: 'goods',
2026
2052
  Service: 'service',
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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/dist/esm/api.d.ts CHANGED
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
package/dist/esm/api.js 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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
package/dist/esm/base.js 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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
5
5
  *
6
- * The version of the OpenAPI document: 25.0.0
6
+ * The version of the OpenAPI document: 25.2.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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
package/dist/esm/index.js 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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
6
  *
7
- * The version of the OpenAPI document: 25.0.0
7
+ * The version of the OpenAPI document: 25.2.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).
@@ -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 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `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 를 되돌릴 것. ## 레이트 리밋 전역 **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) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
4
  *
5
- * The version of the OpenAPI document: 25.0.0
5
+ * The version of the OpenAPI document: 25.2.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).