@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
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
7
7
  *
8
- * The version of the OpenAPI document: 25.0.0
8
+ * The version of the OpenAPI document: 25.2.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (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).
@@ -15,7 +15,7 @@ export interface TokenResponseDto {
15
15
  */
16
16
  'access_token': string;
17
17
  /**
18
- * Bearer 고정.
18
+ * Authorization 헤더에 쓸 스킴입니다. DPoP 로 발급된 토큰은 `DPoP`, 그 외는 `Bearer` 입니다.
19
19
  */
20
20
  'token_type': TokenResponseDtoTokenTypeEnum;
21
21
  /**
@@ -29,5 +29,6 @@ export interface TokenResponseDto {
29
29
  }
30
30
  export declare const TokenResponseDtoTokenTypeEnum: {
31
31
  readonly Bearer: "Bearer";
32
+ readonly DpoP: "DPoP";
32
33
  };
33
34
  export type TokenResponseDtoTokenTypeEnum = typeof TokenResponseDtoTokenTypeEnum[keyof typeof TokenResponseDtoTokenTypeEnum];
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
7
7
  *
8
- * The version of the OpenAPI document: 25.0.0
8
+ * The version of the OpenAPI document: 25.2.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -16,4 +16,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.TokenResponseDtoTokenTypeEnum = void 0;
17
17
  exports.TokenResponseDtoTokenTypeEnum = {
18
18
  Bearer: 'Bearer',
19
+ DpoP: 'DPoP',
19
20
  };
@@ -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).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
7
7
  *
8
- * The version of the OpenAPI document: 25.0.0
8
+ * The version of the OpenAPI document: 25.2.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (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).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
7
7
  *
8
- * The version of the OpenAPI document: 25.0.0
8
+ * The version of the OpenAPI document: 25.2.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (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).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (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` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
7
7
  *
8
- * The version of the OpenAPI document: 25.0.0
8
+ * The version of the OpenAPI document: 25.2.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -0,0 +1,24 @@
1
+ # BidContactDto
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **name** | **string** | 담당자명. | [default to undefined]
9
+ **phone** | **string** | 연락처. | [default to undefined]
10
+ **email** | **string** | 이메일. | [default to undefined]
11
+
12
+ ## Example
13
+
14
+ ```typescript
15
+ import { BidContactDto } from '@cmarket/partner-sdk';
16
+
17
+ const instance: BidContactDto = {
18
+ name,
19
+ phone,
20
+ email,
21
+ };
22
+ ```
23
+
24
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -0,0 +1,22 @@
1
+ # BidContactsDto
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **contract** | [**BidContactDto**](BidContactDto.md) | 계약 담당자. | [default to undefined]
9
+ **tech** | [**BidContactDto**](BidContactDto.md) | 기술(사양문의) 담당자. | [default to undefined]
10
+
11
+ ## Example
12
+
13
+ ```typescript
14
+ import { BidContactsDto } from '@cmarket/partner-sdk';
15
+
16
+ const instance: BidContactsDto = {
17
+ contract,
18
+ tech,
19
+ };
20
+ ```
21
+
22
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -0,0 +1,28 @@
1
+ # BidDeliveryTermsDto
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **dateType** | **string** | 납품기한 유형(공개값). 미지정이면 null. | [default to undefined]
9
+ **date** | **string** | 납품 기한일(ISO 8601). 기간형이면 null. | [default to undefined]
10
+ **periodDays** | **number** | 납품 기간(일). 기한일형이면 null. | [default to undefined]
11
+ **method** | **string** | 납품 방법(공개값). 미지정이면 null. | [default to undefined]
12
+ **address** | **string** | 납품 장소. | [default to undefined]
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ import { BidDeliveryTermsDto } from '@cmarket/partner-sdk';
18
+
19
+ const instance: BidDeliveryTermsDto = {
20
+ dateType,
21
+ date,
22
+ periodDays,
23
+ method,
24
+ address,
25
+ };
26
+ ```
27
+
28
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -0,0 +1,22 @@
1
+ # BidPaymentTermsDto
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **method** | **string** | 결제 방법(공개값). 미지정이면 null. | [default to undefined]
9
+ **days** | **number** | 결제 기일(일). 미지정이면 null. | [default to undefined]
10
+
11
+ ## Example
12
+
13
+ ```typescript
14
+ import { BidPaymentTermsDto } from '@cmarket/partner-sdk';
15
+
16
+ const instance: BidPaymentTermsDto = {
17
+ method,
18
+ days,
19
+ };
20
+ ```
21
+
22
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -0,0 +1,30 @@
1
+ # BidProductDto
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **itemCode** | **string** | 품목 코드. | [default to undefined]
9
+ **productName** | **string** | 품목명. | [default to undefined]
10
+ **spec** | **string** | 규격. | [default to undefined]
11
+ **unit** | **string** | 단위. | [default to undefined]
12
+ **quantity** | **number** | 수량. | [default to undefined]
13
+ **unitPrice** | **number** | 단가. | [default to undefined]
14
+
15
+ ## Example
16
+
17
+ ```typescript
18
+ import { BidProductDto } from '@cmarket/partner-sdk';
19
+
20
+ const instance: BidProductDto = {
21
+ itemCode,
22
+ productName,
23
+ spec,
24
+ unit,
25
+ quantity,
26
+ unitPrice,
27
+ };
28
+ ```
29
+
30
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -1,6 +1,5 @@
1
1
  # BidPublicStatus
2
2
 
3
- 공고 상태(공개값). 낙찰 여부는 이 값이 아니라 낙찰 결과 조회의 `participants[].isWinner` 로 관측한다(AWARDED 상태는 없다 — 낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 간다).
4
3
 
5
4
  ## Enum
6
5
 
@@ -15,6 +15,14 @@ Name | Type | Description | Notes
15
15
  **budgetAmount** | **number** | 예산(예정)금액. 미공개/미지정이면 null. | [default to undefined]
16
16
  **awardedAmount** | **number** | 낙찰금액(&#x60;b2b_buy_winning.nac_price&#x60;). 낙찰 전/무낙찰이면 null. | [default to undefined]
17
17
  **lifecycle** | [**BidLifecycleDto**](BidLifecycleDto.md) | 라이프사이클 하위 상태(계약서류/지급/계산서/납품). | [default to undefined]
18
+ **bidType** | **string** | 입찰방식(공개값). 미지정이면 null. | [optional] [default to undefined]
19
+ **awardedAt** | **string** | 낙찰 확정 시각(ISO 8601 UTC). 낙찰 전이면 null. | [optional] [default to undefined]
20
+ **inspectionConfirmedAt** | **string** | 검수 확정 시각(ISO 8601 UTC). 미검수면 null. | [optional] [default to undefined]
21
+ **delivery** | [**BidDeliveryTermsDto**](BidDeliveryTermsDto.md) | 납품 조건. | [optional] [default to undefined]
22
+ **payment** | [**BidPaymentTermsDto**](BidPaymentTermsDto.md) | 결제 조건. | [optional] [default to undefined]
23
+ **contacts** | [**BidContactsDto**](BidContactsDto.md) | 계약/기술 담당자. &#x60;include&#x3D;contacts&#x60; 일 때만 존재한다. | [optional] [default to undefined]
24
+ **participants** | [**Array&lt;BidResultParticipantDto&gt;**](BidResultParticipantDto.md) | 응찰 참여자. &#x60;include&#x3D;results&#x60; 일 때만 존재한다. | [optional] [default to undefined]
25
+ **products** | [**Array&lt;BidProductDto&gt;**](BidProductDto.md) | 공고 등록 품목. &#x60;include&#x3D;products&#x60; 일 때만 존재한다. | [optional] [default to undefined]
18
26
 
19
27
  ## Example
20
28
 
@@ -32,6 +40,14 @@ const instance: BidSummaryDto = {
32
40
  budgetAmount,
33
41
  awardedAmount,
34
42
  lifecycle,
43
+ bidType,
44
+ awardedAt,
45
+ inspectionConfirmedAt,
46
+ delivery,
47
+ payment,
48
+ contacts,
49
+ participants,
50
+ products,
35
51
  };
36
52
  ```
37
53
 
@@ -928,10 +928,16 @@ const apiInstance = new PartnerV2Api(configuration);
928
928
 
929
929
  let limit: number; //페이지 크기(1~100, 기본 100). (optional) (default to 100)
930
930
  let cursor: string; //다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor` 를 그대로 전달한다. 미지정 시 첫 페이지. `nextCursor=null` 이면 마지막 페이지다. (optional) (default to undefined)
931
+ let bidIds: Array<string>; //조회할 공고 식별자 CSV(최대 100건). 지정 시 그 공고만 조회한다. (optional) (default to undefined)
932
+ let status: Array<BidPublicStatus>; //공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다. (optional) (default to undefined)
933
+ let include: Array<'results' | 'products' | 'contacts'>; //행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다). (optional) (default to undefined)
931
934
 
932
935
  const { status, data } = await apiInstance.listBids(
933
936
  limit,
934
- cursor
937
+ cursor,
938
+ bidIds,
939
+ status,
940
+ include
935
941
  );
936
942
  ```
937
943
 
@@ -941,6 +947,9 @@ const { status, data } = await apiInstance.listBids(
941
947
  |------------- | ------------- | ------------- | -------------|
942
948
  | **limit** | [**number**] | 페이지 크기(1~100, 기본 100). | (optional) defaults to 100|
943
949
  | **cursor** | [**string**] | 다음 페이지 커서(불투명 토큰). 직전 응답의 &#x60;nextCursor&#x60; 를 그대로 전달한다. 미지정 시 첫 페이지. &#x60;nextCursor&#x3D;null&#x60; 이면 마지막 페이지다. | (optional) defaults to undefined|
950
+ | **bidIds** | **Array&lt;string&gt;** | 조회할 공고 식별자 CSV(최대 100건). 지정 시 그 공고만 조회한다. | (optional) defaults to undefined|
951
+ | **status** | **Array&lt;BidPublicStatus&gt;** | 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다. | (optional) defaults to undefined|
952
+ | **include** | **Array<&#39;results&#39; &#124; &#39;products&#39; &#124; &#39;contacts&#39;>** | 행별 확장 부착 CSV. &#x60;results&#x60;&#x3D;응찰 참여자, &#x60;products&#x60;&#x3D;공고 등록 품목, &#x60;contacts&#x60;&#x3D;발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다). | (optional) defaults to undefined|
944
953
 
945
954
 
946
955
  ### Return type
@@ -6,7 +6,7 @@
6
6
  Name | Type | Description | Notes
7
7
  ------------ | ------------- | ------------- | -------------
8
8
  **access_token** | **string** | 발급된 JWT access token. | [default to undefined]
9
- **token_type** | **string** | Bearer 고정. | [default to undefined]
9
+ **token_type** | **string** | Authorization 헤더에 쓸 스킴입니다. DPoP 로 발급된 토큰은 &#x60;DPoP&#x60;, 그 외는 &#x60;Bearer&#x60; 입니다. | [default to undefined]
10
10
  **expires_in** | **number** | 유효 기간 (초). | [default to undefined]
11
11
  **scope** | **string** | 발급된 스코프 (space-separated). | [default to undefined]
12
12
 
package/index.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (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).
@@ -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).
@@ -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).
@@ -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).
@@ -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).
@@ -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).
@@ -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).
@@ -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).
@@ -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).
@@ -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).
@@ -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).