@cmarket/partner-sdk 35.0.0 → 36.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (924) hide show
  1. package/README.md +58 -96
  2. package/api/oauth-api.ts +2 -2
  3. package/api/{partner-v2-api.ts → partner-api-api.ts} +426 -239
  4. package/api/products-api.ts +209 -0
  5. package/api/well-known-api.ts +2 -2
  6. package/api.ts +4 -4
  7. package/base.ts +2 -2
  8. package/common.ts +2 -2
  9. package/configuration.ts +2 -2
  10. package/dist/api/oauth-api.d.ts +2 -2
  11. package/dist/api/oauth-api.js +2 -2
  12. package/dist/api/{partner-v2-api.d.ts → partner-api-api.d.ts} +245 -165
  13. package/dist/api/{partner-v2-api.js → partner-api-api.js} +413 -240
  14. package/dist/api/products-api.d.ts +101 -0
  15. package/dist/api/products-api.js +204 -0
  16. package/dist/api/well-known-api.d.ts +2 -2
  17. package/dist/api/well-known-api.js +2 -2
  18. package/dist/api.d.ts +4 -4
  19. package/dist/api.js +4 -4
  20. package/dist/base.d.ts +2 -2
  21. package/dist/base.js +2 -2
  22. package/dist/common.d.ts +2 -2
  23. package/dist/common.js +2 -2
  24. package/dist/configuration.d.ts +2 -2
  25. package/dist/configuration.js +2 -2
  26. package/dist/esm/api/oauth-api.d.ts +2 -2
  27. package/dist/esm/api/oauth-api.js +2 -2
  28. package/dist/esm/api/{partner-v2-api.d.ts → partner-api-api.d.ts} +245 -165
  29. package/dist/esm/api/{partner-v2-api.js → partner-api-api.js} +408 -235
  30. package/dist/esm/api/products-api.d.ts +101 -0
  31. package/dist/esm/api/products-api.js +197 -0
  32. package/dist/esm/api/well-known-api.d.ts +2 -2
  33. package/dist/esm/api/well-known-api.js +2 -2
  34. package/dist/esm/api.d.ts +4 -4
  35. package/dist/esm/api.js +4 -4
  36. package/dist/esm/base.d.ts +2 -2
  37. package/dist/esm/base.js +2 -2
  38. package/dist/esm/common.d.ts +2 -2
  39. package/dist/esm/common.js +2 -2
  40. package/dist/esm/configuration.d.ts +2 -2
  41. package/dist/esm/configuration.js +2 -2
  42. package/dist/esm/index.d.ts +2 -2
  43. package/dist/esm/index.js +2 -2
  44. package/dist/esm/models/acceptance-result-response-dto.d.ts +3 -3
  45. package/dist/esm/models/acceptance-result-response-dto.js +2 -2
  46. package/dist/esm/models/acknowledge-product-receipt200-response.d.ts +21 -0
  47. package/dist/esm/models/acknowledge-product-receipt200-response.js +14 -0
  48. package/dist/esm/models/acknowledge-products-request-dto.d.ts +17 -0
  49. package/dist/esm/models/acknowledge-products-request-dto.js +14 -0
  50. package/dist/esm/models/api-catalog-dto.d.ts +2 -2
  51. package/dist/esm/models/api-catalog-dto.js +2 -2
  52. package/dist/esm/models/api-catalog-entry-dto.d.ts +2 -2
  53. package/dist/esm/models/api-catalog-entry-dto.js +2 -2
  54. package/dist/esm/models/api-catalog-link-dto.d.ts +2 -2
  55. package/dist/esm/models/api-catalog-link-dto.js +2 -2
  56. package/dist/esm/models/authorization-server-metadata-dto.d.ts +2 -2
  57. package/dist/esm/models/authorization-server-metadata-dto.js +2 -2
  58. package/dist/esm/models/award-method-public.d.ts +3 -3
  59. package/dist/esm/models/award-method-public.js +3 -3
  60. package/dist/esm/models/award-registered-v2-response-dto.d.ts +5 -5
  61. package/dist/esm/models/award-registered-v2-response-dto.js +2 -2
  62. package/dist/esm/models/award-reverted-v2-response-dto.d.ts +4 -4
  63. package/dist/esm/models/award-reverted-v2-response-dto.js +2 -2
  64. package/dist/esm/models/bid-acceptance-dto.d.ts +2 -2
  65. package/dist/esm/models/bid-acceptance-dto.js +2 -2
  66. package/dist/esm/models/bid-bond-dto.d.ts +2 -2
  67. package/dist/esm/models/bid-bond-dto.js +2 -2
  68. package/dist/esm/models/bid-cancelled-response-dto.d.ts +4 -4
  69. package/dist/esm/models/bid-cancelled-response-dto.js +2 -2
  70. package/dist/esm/models/bid-contact-dto.d.ts +2 -2
  71. package/dist/esm/models/bid-contact-dto.js +2 -2
  72. package/dist/esm/models/bid-contacts-dto.d.ts +2 -2
  73. package/dist/esm/models/bid-contacts-dto.js +2 -2
  74. package/dist/esm/models/bid-contract-document-dto.d.ts +2 -2
  75. package/dist/esm/models/bid-contract-document-dto.js +2 -2
  76. package/dist/esm/models/bid-delivery-terms-dto.d.ts +6 -4
  77. package/dist/esm/models/bid-delivery-terms-dto.js +2 -2
  78. package/dist/esm/models/bid-detail-response-dto.d.ts +5 -5
  79. package/dist/esm/models/bid-detail-response-dto.js +2 -2
  80. package/dist/esm/models/bid-document-dto.d.ts +2 -2
  81. package/dist/esm/models/bid-document-dto.js +2 -2
  82. package/dist/esm/models/bid-failed-v2-response-dto.d.ts +4 -4
  83. package/dist/esm/models/bid-failed-v2-response-dto.js +2 -2
  84. package/dist/esm/models/bid-item-dto.d.ts +2 -2
  85. package/dist/esm/models/bid-item-dto.js +2 -2
  86. package/dist/esm/models/bid-lifecycle-dto.d.ts +3 -3
  87. package/dist/esm/models/bid-lifecycle-dto.js +2 -2
  88. package/dist/esm/models/bid-manager-dto.d.ts +2 -2
  89. package/dist/esm/models/bid-manager-dto.js +2 -2
  90. package/dist/esm/models/bid-payment-terms-dto.d.ts +4 -3
  91. package/dist/esm/models/bid-payment-terms-dto.js +2 -2
  92. package/dist/esm/models/bid-product-dto.d.ts +2 -2
  93. package/dist/esm/models/bid-product-dto.js +2 -2
  94. package/dist/esm/models/bid-public-status.d.ts +2 -2
  95. package/dist/esm/models/bid-public-status.js +2 -2
  96. package/dist/esm/models/bid-registered-response-dto.d.ts +2 -2
  97. package/dist/esm/models/bid-registered-response-dto.js +2 -2
  98. package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +2 -2
  99. package/dist/esm/models/bid-result-participant-attachment-dto.js +2 -2
  100. package/dist/esm/models/bid-result-participant-dto.d.ts +2 -2
  101. package/dist/esm/models/bid-result-participant-dto.js +2 -2
  102. package/dist/esm/models/bid-results-response-dto.d.ts +3 -3
  103. package/dist/esm/models/bid-results-response-dto.js +2 -2
  104. package/dist/esm/models/bid-settlement-line-item-dto.d.ts +2 -2
  105. package/dist/esm/models/bid-settlement-line-item-dto.js +2 -2
  106. package/dist/esm/models/bid-settlement-participant-dto.d.ts +2 -2
  107. package/dist/esm/models/bid-settlement-participant-dto.js +2 -2
  108. package/dist/esm/models/bid-settlement-response-dto.d.ts +2 -2
  109. package/dist/esm/models/bid-settlement-response-dto.js +2 -2
  110. package/dist/esm/models/bid-statement-response-dto.d.ts +2 -2
  111. package/dist/esm/models/bid-statement-response-dto.js +2 -2
  112. package/dist/esm/models/bid-summary-dto.d.ts +9 -8
  113. package/dist/esm/models/bid-summary-dto.js +2 -2
  114. package/dist/esm/models/bid-type-public.d.ts +19 -0
  115. package/dist/esm/models/bid-type-public.js +20 -0
  116. package/dist/esm/models/bid-updated-response-dto.d.ts +2 -2
  117. package/dist/esm/models/bid-updated-response-dto.js +2 -2
  118. package/dist/esm/models/cancel-bid-request-dto.d.ts +2 -2
  119. package/dist/esm/models/cancel-bid-request-dto.js +2 -2
  120. package/dist/esm/models/cancel-bid200-response.d.ts +2 -2
  121. package/dist/esm/models/cancel-bid200-response.js +2 -2
  122. package/dist/esm/models/card-payment-request-response-dto.d.ts +2 -2
  123. package/dist/esm/models/card-payment-request-response-dto.js +2 -2
  124. package/dist/esm/models/complete-acceptance-request-dto.d.ts +10 -6
  125. package/dist/esm/models/complete-acceptance-request-dto.js +2 -2
  126. package/dist/esm/models/complete-acceptance200-response.d.ts +2 -2
  127. package/dist/esm/models/complete-acceptance200-response.js +2 -2
  128. package/dist/esm/models/complete-invoice200-response.d.ts +2 -2
  129. package/dist/esm/models/complete-invoice200-response.js +2 -2
  130. package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +2 -2
  131. package/dist/esm/models/contract-restriction-confirm-input-dto.js +2 -2
  132. package/dist/esm/models/create-bid-request-dto.d.ts +5 -5
  133. package/dist/esm/models/create-bid-request-dto.js +2 -2
  134. package/dist/esm/models/create-card-payment-dto.d.ts +41 -0
  135. package/dist/esm/models/create-card-payment-dto.js +14 -0
  136. package/dist/esm/models/create-card-payment-request-dto.d.ts +4 -4
  137. package/dist/esm/models/create-card-payment-request-dto.js +2 -2
  138. package/dist/esm/models/create-card-payment200-response.d.ts +21 -0
  139. package/dist/esm/models/create-card-payment200-response.js +14 -0
  140. package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +2 -2
  141. package/dist/esm/models/create-external-contract-documents-request-dto.js +2 -2
  142. package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +2 -2
  143. package/dist/esm/models/create-external-contract-documents-response-dto.js +2 -2
  144. package/dist/esm/models/delivery-date-type-public.d.ts +20 -0
  145. package/dist/esm/models/delivery-date-type-public.js +21 -0
  146. package/dist/esm/models/delivery-method-public.d.ts +20 -0
  147. package/dist/esm/models/delivery-method-public.js +21 -0
  148. package/dist/esm/models/excellent-procurement-public.d.ts +31 -0
  149. package/dist/esm/models/excellent-procurement-public.js +32 -0
  150. package/dist/esm/models/external-contract-document-item-dto.d.ts +2 -2
  151. package/dist/esm/models/external-contract-document-item-dto.js +2 -2
  152. package/dist/esm/models/external-contract-documents-response-dto.d.ts +2 -2
  153. package/dist/esm/models/external-contract-documents-response-dto.js +2 -2
  154. package/dist/esm/models/external-contract-item-dto.d.ts +2 -2
  155. package/dist/esm/models/external-contract-item-dto.js +2 -2
  156. package/dist/esm/models/external-contract-snapshot-dto.d.ts +2 -2
  157. package/dist/esm/models/external-contract-snapshot-dto.js +2 -2
  158. package/dist/esm/models/external-document-inputs-dto.d.ts +2 -2
  159. package/dist/esm/models/external-document-inputs-dto.js +2 -2
  160. package/dist/esm/models/file-meta-response-dto.d.ts +2 -2
  161. package/dist/esm/models/file-meta-response-dto.js +2 -2
  162. package/dist/esm/models/file-uploaded-response-dto.d.ts +3 -3
  163. package/dist/esm/models/file-uploaded-response-dto.js +2 -2
  164. package/dist/esm/models/generated-external-contract-document-dto.d.ts +2 -2
  165. package/dist/esm/models/generated-external-contract-document-dto.js +2 -2
  166. package/dist/esm/models/get-bid-settlement200-response.d.ts +2 -2
  167. package/dist/esm/models/get-bid-settlement200-response.js +2 -2
  168. package/dist/esm/models/get-bid-statement200-response.d.ts +2 -2
  169. package/dist/esm/models/get-bid-statement200-response.js +2 -2
  170. package/dist/esm/models/get-bid200-response.d.ts +2 -2
  171. package/dist/esm/models/get-bid200-response.js +2 -2
  172. package/dist/esm/models/get-file-meta200-response.d.ts +2 -2
  173. package/dist/esm/models/get-file-meta200-response.js +2 -2
  174. package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +21 -0
  175. package/dist/esm/models/get-supplier-card-payable-v2200-response.js +14 -0
  176. package/dist/esm/models/green-product-public.d.ts +21 -0
  177. package/dist/esm/models/green-product-public.js +22 -0
  178. package/dist/esm/models/health-controller-check200-response.d.ts +2 -2
  179. package/dist/esm/models/health-controller-check200-response.js +2 -2
  180. package/dist/esm/models/health-response-dto.d.ts +2 -2
  181. package/dist/esm/models/health-response-dto.js +2 -2
  182. package/dist/esm/models/hierarchical-region-dto.d.ts +2 -2
  183. package/dist/esm/models/hierarchical-region-dto.js +2 -2
  184. package/dist/esm/models/index.d.ts +22 -39
  185. package/dist/esm/models/index.js +22 -39
  186. package/dist/esm/models/introspect-request-dto.d.ts +2 -2
  187. package/dist/esm/models/introspect-request-dto.js +2 -2
  188. package/dist/esm/models/introspection-response-dto.d.ts +2 -2
  189. package/dist/esm/models/introspection-response-dto.js +2 -2
  190. package/dist/esm/models/invalid-param-dto.d.ts +3 -3
  191. package/dist/esm/models/invalid-param-dto.js +2 -2
  192. package/dist/esm/models/invoice-completed-response-dto.d.ts +2 -2
  193. package/dist/esm/models/invoice-completed-response-dto.js +2 -2
  194. package/dist/esm/models/invoice-split-response-dto.d.ts +17 -0
  195. package/dist/esm/models/invoice-split-response-dto.js +14 -0
  196. package/dist/esm/models/legal-mandatory-public.d.ts +25 -0
  197. package/dist/esm/models/legal-mandatory-public.js +26 -0
  198. package/dist/esm/models/list-bid-results200-response.d.ts +2 -2
  199. package/dist/esm/models/list-bid-results200-response.js +2 -2
  200. package/dist/esm/models/list-bids-response-dto.d.ts +2 -2
  201. package/dist/esm/models/list-bids-response-dto.js +2 -2
  202. package/dist/esm/models/list-bids200-response.d.ts +2 -2
  203. package/dist/esm/models/list-bids200-response.js +2 -2
  204. package/dist/esm/models/list-products200-response.d.ts +21 -0
  205. package/dist/esm/models/list-products200-response.js +14 -0
  206. package/dist/esm/models/mark-bid-failed-request-dto.d.ts +3 -3
  207. package/dist/esm/models/mark-bid-failed-request-dto.js +2 -2
  208. package/dist/esm/models/mark-bid-failed201-response.d.ts +2 -2
  209. package/dist/esm/models/mark-bid-failed201-response.js +2 -2
  210. package/dist/esm/models/negotiation-score-dto.d.ts +25 -0
  211. package/dist/esm/models/negotiation-score-dto.js +14 -0
  212. package/dist/esm/models/negotiation-scored-v2-response-dto.d.ts +29 -0
  213. package/dist/esm/models/negotiation-scored-v2-response-dto.js +16 -0
  214. package/dist/esm/models/oauth-error-response-dto.d.ts +2 -2
  215. package/dist/esm/models/oauth-error-response-dto.js +2 -2
  216. package/dist/esm/models/payment-method-public.d.ts +19 -0
  217. package/dist/esm/models/payment-method-public.js +20 -0
  218. package/dist/esm/models/preconditions-dto.d.ts +11 -50
  219. package/dist/esm/models/preconditions-dto.js +3 -33
  220. package/dist/esm/models/problem-details-dto.d.ts +3 -3
  221. package/dist/esm/models/problem-details-dto.js +2 -2
  222. package/dist/esm/models/product-receipt-response-dto.d.ts +17 -0
  223. package/dist/esm/models/product-receipt-response-dto.js +14 -0
  224. package/dist/esm/models/product-response-dto.d.ts +77 -0
  225. package/dist/esm/models/product-response-dto.js +14 -0
  226. package/dist/esm/models/protected-resource-metadata-dto.d.ts +2 -2
  227. package/dist/esm/models/protected-resource-metadata-dto.js +2 -2
  228. package/dist/esm/models/register-award-request-dto.d.ts +4 -4
  229. package/dist/esm/models/register-award-request-dto.js +2 -2
  230. package/dist/esm/models/register-award201-response.d.ts +2 -2
  231. package/dist/esm/models/register-award201-response.js +2 -2
  232. package/dist/esm/models/register-bid201-response.d.ts +2 -2
  233. package/dist/esm/models/register-bid201-response.js +2 -2
  234. package/dist/esm/models/register-semo-contract-request-dto.d.ts +2 -2
  235. package/dist/esm/models/register-semo-contract-request-dto.js +2 -2
  236. package/dist/esm/models/request-invoice-split-request-dto.d.ts +25 -0
  237. package/dist/esm/models/request-invoice-split-request-dto.js +14 -0
  238. package/dist/esm/models/request-invoice-split200-response.d.ts +21 -0
  239. package/dist/esm/models/request-invoice-split200-response.js +14 -0
  240. package/dist/esm/models/retiree-roster-input-dto.d.ts +2 -2
  241. package/dist/esm/models/retiree-roster-input-dto.js +2 -2
  242. package/dist/esm/models/retiree-roster-row-dto.d.ts +2 -2
  243. package/dist/esm/models/retiree-roster-row-dto.js +2 -2
  244. package/dist/esm/models/revert-award-request-dto.d.ts +2 -2
  245. package/dist/esm/models/revert-award-request-dto.js +2 -2
  246. package/dist/esm/models/revert-award200-response.d.ts +2 -2
  247. package/dist/esm/models/revert-award200-response.js +2 -2
  248. package/dist/esm/models/revoke-request-dto.d.ts +2 -2
  249. package/dist/esm/models/revoke-request-dto.js +2 -2
  250. package/dist/esm/models/semo-contract-registered-response-dto.d.ts +2 -2
  251. package/dist/esm/models/semo-contract-registered-response-dto.js +2 -2
  252. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +2 -2
  253. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +2 -2
  254. package/dist/esm/models/statement-document-dto.d.ts +2 -2
  255. package/dist/esm/models/statement-document-dto.js +2 -2
  256. package/dist/esm/models/statement-product-dto.d.ts +3 -3
  257. package/dist/esm/models/statement-product-dto.js +2 -2
  258. package/dist/esm/models/submit-negotiation-scores-request-dto.d.ts +22 -0
  259. package/dist/esm/models/submit-negotiation-scores-request-dto.js +14 -0
  260. package/dist/esm/models/submit-negotiation-scores201-response.d.ts +21 -0
  261. package/dist/esm/models/submit-negotiation-scores201-response.js +14 -0
  262. package/dist/esm/models/supplier-card-payable-response-dto.d.ts +2 -2
  263. package/dist/esm/models/supplier-card-payable-response-dto.js +2 -2
  264. package/dist/esm/models/supplier-tax-type.d.ts +2 -2
  265. package/dist/esm/models/supplier-tax-type.js +2 -2
  266. package/dist/esm/models/token-request-dto.d.ts +2 -2
  267. package/dist/esm/models/token-request-dto.js +2 -2
  268. package/dist/esm/models/token-response-dto.d.ts +2 -2
  269. package/dist/esm/models/token-response-dto.js +2 -2
  270. package/dist/esm/models/update-bid-request-dto.d.ts +7 -7
  271. package/dist/esm/models/update-bid-request-dto.js +2 -2
  272. package/dist/esm/models/update-bid200-response.d.ts +2 -2
  273. package/dist/esm/models/update-bid200-response.js +2 -2
  274. package/dist/esm/models/upload-file-request-dto.d.ts +3 -3
  275. package/dist/esm/models/upload-file-request-dto.js +2 -2
  276. package/dist/esm/models/upload-file201-response.d.ts +2 -2
  277. package/dist/esm/models/upload-file201-response.js +2 -2
  278. package/dist/esm/partner-client.d.ts +2 -2
  279. package/dist/esm/partner-client.js +2 -2
  280. package/dist/index.d.ts +2 -2
  281. package/dist/index.js +2 -2
  282. package/dist/models/acceptance-result-response-dto.d.ts +3 -3
  283. package/dist/models/acceptance-result-response-dto.js +2 -2
  284. package/dist/models/acknowledge-product-receipt200-response.d.ts +21 -0
  285. package/dist/models/acknowledge-product-receipt200-response.js +15 -0
  286. package/dist/models/acknowledge-products-request-dto.d.ts +17 -0
  287. package/dist/models/acknowledge-products-request-dto.js +15 -0
  288. package/dist/models/api-catalog-dto.d.ts +2 -2
  289. package/dist/models/api-catalog-dto.js +2 -2
  290. package/dist/models/api-catalog-entry-dto.d.ts +2 -2
  291. package/dist/models/api-catalog-entry-dto.js +2 -2
  292. package/dist/models/api-catalog-link-dto.d.ts +2 -2
  293. package/dist/models/api-catalog-link-dto.js +2 -2
  294. package/dist/models/authorization-server-metadata-dto.d.ts +2 -2
  295. package/dist/models/authorization-server-metadata-dto.js +2 -2
  296. package/dist/models/award-method-public.d.ts +3 -3
  297. package/dist/models/award-method-public.js +3 -3
  298. package/dist/models/award-registered-v2-response-dto.d.ts +5 -5
  299. package/dist/models/award-registered-v2-response-dto.js +2 -2
  300. package/dist/models/award-reverted-v2-response-dto.d.ts +4 -4
  301. package/dist/models/award-reverted-v2-response-dto.js +2 -2
  302. package/dist/models/bid-acceptance-dto.d.ts +2 -2
  303. package/dist/models/bid-acceptance-dto.js +2 -2
  304. package/dist/models/bid-bond-dto.d.ts +2 -2
  305. package/dist/models/bid-bond-dto.js +2 -2
  306. package/dist/models/bid-cancelled-response-dto.d.ts +4 -4
  307. package/dist/models/bid-cancelled-response-dto.js +2 -2
  308. package/dist/models/bid-contact-dto.d.ts +2 -2
  309. package/dist/models/bid-contact-dto.js +2 -2
  310. package/dist/models/bid-contacts-dto.d.ts +2 -2
  311. package/dist/models/bid-contacts-dto.js +2 -2
  312. package/dist/models/bid-contract-document-dto.d.ts +2 -2
  313. package/dist/models/bid-contract-document-dto.js +2 -2
  314. package/dist/models/bid-delivery-terms-dto.d.ts +6 -4
  315. package/dist/models/bid-delivery-terms-dto.js +2 -2
  316. package/dist/models/bid-detail-response-dto.d.ts +5 -5
  317. package/dist/models/bid-detail-response-dto.js +2 -2
  318. package/dist/models/bid-document-dto.d.ts +2 -2
  319. package/dist/models/bid-document-dto.js +2 -2
  320. package/dist/models/bid-failed-v2-response-dto.d.ts +4 -4
  321. package/dist/models/bid-failed-v2-response-dto.js +2 -2
  322. package/dist/models/bid-item-dto.d.ts +2 -2
  323. package/dist/models/bid-item-dto.js +2 -2
  324. package/dist/models/bid-lifecycle-dto.d.ts +3 -3
  325. package/dist/models/bid-lifecycle-dto.js +2 -2
  326. package/dist/models/bid-manager-dto.d.ts +2 -2
  327. package/dist/models/bid-manager-dto.js +2 -2
  328. package/dist/models/bid-payment-terms-dto.d.ts +4 -3
  329. package/dist/models/bid-payment-terms-dto.js +2 -2
  330. package/dist/models/bid-product-dto.d.ts +2 -2
  331. package/dist/models/bid-product-dto.js +2 -2
  332. package/dist/models/bid-public-status.d.ts +2 -2
  333. package/dist/models/bid-public-status.js +2 -2
  334. package/dist/models/bid-registered-response-dto.d.ts +2 -2
  335. package/dist/models/bid-registered-response-dto.js +2 -2
  336. package/dist/models/bid-result-participant-attachment-dto.d.ts +2 -2
  337. package/dist/models/bid-result-participant-attachment-dto.js +2 -2
  338. package/dist/models/bid-result-participant-dto.d.ts +2 -2
  339. package/dist/models/bid-result-participant-dto.js +2 -2
  340. package/dist/models/bid-results-response-dto.d.ts +3 -3
  341. package/dist/models/bid-results-response-dto.js +2 -2
  342. package/dist/models/bid-settlement-line-item-dto.d.ts +2 -2
  343. package/dist/models/bid-settlement-line-item-dto.js +2 -2
  344. package/dist/models/bid-settlement-participant-dto.d.ts +2 -2
  345. package/dist/models/bid-settlement-participant-dto.js +2 -2
  346. package/dist/models/bid-settlement-response-dto.d.ts +2 -2
  347. package/dist/models/bid-settlement-response-dto.js +2 -2
  348. package/dist/models/bid-statement-response-dto.d.ts +2 -2
  349. package/dist/models/bid-statement-response-dto.js +2 -2
  350. package/dist/models/bid-summary-dto.d.ts +9 -8
  351. package/dist/models/bid-summary-dto.js +2 -2
  352. package/dist/models/bid-type-public.d.ts +19 -0
  353. package/dist/models/bid-type-public.js +23 -0
  354. package/dist/models/bid-updated-response-dto.d.ts +2 -2
  355. package/dist/models/bid-updated-response-dto.js +2 -2
  356. package/dist/models/cancel-bid-request-dto.d.ts +2 -2
  357. package/dist/models/cancel-bid-request-dto.js +2 -2
  358. package/dist/models/cancel-bid200-response.d.ts +2 -2
  359. package/dist/models/cancel-bid200-response.js +2 -2
  360. package/dist/models/card-payment-request-response-dto.d.ts +2 -2
  361. package/dist/models/card-payment-request-response-dto.js +2 -2
  362. package/dist/models/complete-acceptance-request-dto.d.ts +10 -6
  363. package/dist/models/complete-acceptance-request-dto.js +2 -2
  364. package/dist/models/complete-acceptance200-response.d.ts +2 -2
  365. package/dist/models/complete-acceptance200-response.js +2 -2
  366. package/dist/models/complete-invoice200-response.d.ts +2 -2
  367. package/dist/models/complete-invoice200-response.js +2 -2
  368. package/dist/models/contract-restriction-confirm-input-dto.d.ts +2 -2
  369. package/dist/models/contract-restriction-confirm-input-dto.js +2 -2
  370. package/dist/models/create-bid-request-dto.d.ts +5 -5
  371. package/dist/models/create-bid-request-dto.js +2 -2
  372. package/dist/models/create-card-payment-dto.d.ts +41 -0
  373. package/dist/models/create-card-payment-dto.js +15 -0
  374. package/dist/models/create-card-payment-request-dto.d.ts +4 -4
  375. package/dist/models/create-card-payment-request-dto.js +2 -2
  376. package/dist/models/create-card-payment200-response.d.ts +21 -0
  377. package/dist/models/create-card-payment200-response.js +15 -0
  378. package/dist/models/create-external-contract-documents-request-dto.d.ts +2 -2
  379. package/dist/models/create-external-contract-documents-request-dto.js +2 -2
  380. package/dist/models/create-external-contract-documents-response-dto.d.ts +2 -2
  381. package/dist/models/create-external-contract-documents-response-dto.js +2 -2
  382. package/dist/models/delivery-date-type-public.d.ts +20 -0
  383. package/dist/models/delivery-date-type-public.js +24 -0
  384. package/dist/models/delivery-method-public.d.ts +20 -0
  385. package/dist/models/delivery-method-public.js +24 -0
  386. package/dist/models/excellent-procurement-public.d.ts +31 -0
  387. package/dist/models/excellent-procurement-public.js +35 -0
  388. package/dist/models/external-contract-document-item-dto.d.ts +2 -2
  389. package/dist/models/external-contract-document-item-dto.js +2 -2
  390. package/dist/models/external-contract-documents-response-dto.d.ts +2 -2
  391. package/dist/models/external-contract-documents-response-dto.js +2 -2
  392. package/dist/models/external-contract-item-dto.d.ts +2 -2
  393. package/dist/models/external-contract-item-dto.js +2 -2
  394. package/dist/models/external-contract-snapshot-dto.d.ts +2 -2
  395. package/dist/models/external-contract-snapshot-dto.js +2 -2
  396. package/dist/models/external-document-inputs-dto.d.ts +2 -2
  397. package/dist/models/external-document-inputs-dto.js +2 -2
  398. package/dist/models/file-meta-response-dto.d.ts +2 -2
  399. package/dist/models/file-meta-response-dto.js +2 -2
  400. package/dist/models/file-uploaded-response-dto.d.ts +3 -3
  401. package/dist/models/file-uploaded-response-dto.js +2 -2
  402. package/dist/models/generated-external-contract-document-dto.d.ts +2 -2
  403. package/dist/models/generated-external-contract-document-dto.js +2 -2
  404. package/dist/models/get-bid-settlement200-response.d.ts +2 -2
  405. package/dist/models/get-bid-settlement200-response.js +2 -2
  406. package/dist/models/get-bid-statement200-response.d.ts +2 -2
  407. package/dist/models/get-bid-statement200-response.js +2 -2
  408. package/dist/models/get-bid200-response.d.ts +2 -2
  409. package/dist/models/get-bid200-response.js +2 -2
  410. package/dist/models/get-file-meta200-response.d.ts +2 -2
  411. package/dist/models/get-file-meta200-response.js +2 -2
  412. package/dist/models/get-supplier-card-payable-v2200-response.d.ts +21 -0
  413. package/dist/models/get-supplier-card-payable-v2200-response.js +15 -0
  414. package/dist/models/green-product-public.d.ts +21 -0
  415. package/dist/models/green-product-public.js +25 -0
  416. package/dist/models/health-controller-check200-response.d.ts +2 -2
  417. package/dist/models/health-controller-check200-response.js +2 -2
  418. package/dist/models/health-response-dto.d.ts +2 -2
  419. package/dist/models/health-response-dto.js +2 -2
  420. package/dist/models/hierarchical-region-dto.d.ts +2 -2
  421. package/dist/models/hierarchical-region-dto.js +2 -2
  422. package/dist/models/index.d.ts +22 -39
  423. package/dist/models/index.js +22 -39
  424. package/dist/models/introspect-request-dto.d.ts +2 -2
  425. package/dist/models/introspect-request-dto.js +2 -2
  426. package/dist/models/introspection-response-dto.d.ts +2 -2
  427. package/dist/models/introspection-response-dto.js +2 -2
  428. package/dist/models/invalid-param-dto.d.ts +3 -3
  429. package/dist/models/invalid-param-dto.js +2 -2
  430. package/dist/models/invoice-completed-response-dto.d.ts +2 -2
  431. package/dist/models/invoice-completed-response-dto.js +2 -2
  432. package/dist/models/invoice-split-response-dto.d.ts +17 -0
  433. package/dist/models/invoice-split-response-dto.js +15 -0
  434. package/dist/models/legal-mandatory-public.d.ts +25 -0
  435. package/dist/models/legal-mandatory-public.js +29 -0
  436. package/dist/models/list-bid-results200-response.d.ts +2 -2
  437. package/dist/models/list-bid-results200-response.js +2 -2
  438. package/dist/models/list-bids-response-dto.d.ts +2 -2
  439. package/dist/models/list-bids-response-dto.js +2 -2
  440. package/dist/models/list-bids200-response.d.ts +2 -2
  441. package/dist/models/list-bids200-response.js +2 -2
  442. package/dist/models/list-products200-response.d.ts +21 -0
  443. package/dist/models/list-products200-response.js +15 -0
  444. package/dist/models/mark-bid-failed-request-dto.d.ts +3 -3
  445. package/dist/models/mark-bid-failed-request-dto.js +2 -2
  446. package/dist/models/mark-bid-failed201-response.d.ts +2 -2
  447. package/dist/models/mark-bid-failed201-response.js +2 -2
  448. package/dist/models/negotiation-score-dto.d.ts +25 -0
  449. package/dist/models/negotiation-score-dto.js +15 -0
  450. package/dist/models/negotiation-scored-v2-response-dto.d.ts +29 -0
  451. package/dist/models/negotiation-scored-v2-response-dto.js +19 -0
  452. package/dist/models/oauth-error-response-dto.d.ts +2 -2
  453. package/dist/models/oauth-error-response-dto.js +2 -2
  454. package/dist/models/payment-method-public.d.ts +19 -0
  455. package/dist/models/payment-method-public.js +23 -0
  456. package/dist/models/preconditions-dto.d.ts +11 -50
  457. package/dist/models/preconditions-dto.js +2 -34
  458. package/dist/models/problem-details-dto.d.ts +3 -3
  459. package/dist/models/problem-details-dto.js +2 -2
  460. package/dist/models/product-receipt-response-dto.d.ts +17 -0
  461. package/dist/models/product-receipt-response-dto.js +15 -0
  462. package/dist/models/product-response-dto.d.ts +77 -0
  463. package/dist/models/product-response-dto.js +15 -0
  464. package/dist/models/protected-resource-metadata-dto.d.ts +2 -2
  465. package/dist/models/protected-resource-metadata-dto.js +2 -2
  466. package/dist/models/register-award-request-dto.d.ts +4 -4
  467. package/dist/models/register-award-request-dto.js +2 -2
  468. package/dist/models/register-award201-response.d.ts +2 -2
  469. package/dist/models/register-award201-response.js +2 -2
  470. package/dist/models/register-bid201-response.d.ts +2 -2
  471. package/dist/models/register-bid201-response.js +2 -2
  472. package/dist/models/register-semo-contract-request-dto.d.ts +2 -2
  473. package/dist/models/register-semo-contract-request-dto.js +2 -2
  474. package/dist/models/request-invoice-split-request-dto.d.ts +25 -0
  475. package/dist/models/request-invoice-split-request-dto.js +15 -0
  476. package/dist/models/request-invoice-split200-response.d.ts +21 -0
  477. package/dist/models/request-invoice-split200-response.js +15 -0
  478. package/dist/models/retiree-roster-input-dto.d.ts +2 -2
  479. package/dist/models/retiree-roster-input-dto.js +2 -2
  480. package/dist/models/retiree-roster-row-dto.d.ts +2 -2
  481. package/dist/models/retiree-roster-row-dto.js +2 -2
  482. package/dist/models/revert-award-request-dto.d.ts +2 -2
  483. package/dist/models/revert-award-request-dto.js +2 -2
  484. package/dist/models/revert-award200-response.d.ts +2 -2
  485. package/dist/models/revert-award200-response.js +2 -2
  486. package/dist/models/revoke-request-dto.d.ts +2 -2
  487. package/dist/models/revoke-request-dto.js +2 -2
  488. package/dist/models/semo-contract-registered-response-dto.d.ts +2 -2
  489. package/dist/models/semo-contract-registered-response-dto.js +2 -2
  490. package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +2 -2
  491. package/dist/models/semo-contract-taxinvoice-status-response-dto.js +2 -2
  492. package/dist/models/statement-document-dto.d.ts +2 -2
  493. package/dist/models/statement-document-dto.js +2 -2
  494. package/dist/models/statement-product-dto.d.ts +3 -3
  495. package/dist/models/statement-product-dto.js +2 -2
  496. package/dist/models/submit-negotiation-scores-request-dto.d.ts +22 -0
  497. package/dist/models/submit-negotiation-scores-request-dto.js +15 -0
  498. package/dist/models/submit-negotiation-scores201-response.d.ts +21 -0
  499. package/dist/models/submit-negotiation-scores201-response.js +15 -0
  500. package/dist/models/supplier-card-payable-response-dto.d.ts +2 -2
  501. package/dist/models/supplier-card-payable-response-dto.js +2 -2
  502. package/dist/models/supplier-tax-type.d.ts +2 -2
  503. package/dist/models/supplier-tax-type.js +2 -2
  504. package/dist/models/token-request-dto.d.ts +2 -2
  505. package/dist/models/token-request-dto.js +2 -2
  506. package/dist/models/token-response-dto.d.ts +2 -2
  507. package/dist/models/token-response-dto.js +2 -2
  508. package/dist/models/update-bid-request-dto.d.ts +7 -7
  509. package/dist/models/update-bid-request-dto.js +2 -2
  510. package/dist/models/update-bid200-response.d.ts +2 -2
  511. package/dist/models/update-bid200-response.js +2 -2
  512. package/dist/models/upload-file-request-dto.d.ts +3 -3
  513. package/dist/models/upload-file-request-dto.js +2 -2
  514. package/dist/models/upload-file201-response.d.ts +2 -2
  515. package/dist/models/upload-file201-response.js +2 -2
  516. package/dist/partner-client.d.ts +2 -2
  517. package/dist/partner-client.js +1 -1
  518. package/docs/AcceptanceResultResponseDto.md +1 -1
  519. package/docs/AcknowledgeProductReceipt200Response.md +22 -0
  520. package/docs/AcknowledgeProductsRequestDto.md +20 -0
  521. package/docs/AwardMethodPublic.md +1 -1
  522. package/docs/AwardRegisteredV2ResponseDto.md +3 -3
  523. package/docs/AwardRevertedV2ResponseDto.md +2 -2
  524. package/docs/BidCancelledResponseDto.md +2 -2
  525. package/docs/BidDeliveryTermsDto.md +2 -2
  526. package/docs/BidDetailResponseDto.md +3 -3
  527. package/docs/BidFailedV2ResponseDto.md +2 -2
  528. package/docs/BidLifecycleDto.md +1 -1
  529. package/docs/BidPaymentTermsDto.md +1 -1
  530. package/docs/BidResultsResponseDto.md +1 -1
  531. package/docs/BidSummaryDto.md +6 -6
  532. package/docs/BidTypePublic.md +11 -0
  533. package/docs/CompleteAcceptanceRequestDto.md +5 -3
  534. package/docs/CreateBidRequestDto.md +6 -6
  535. package/docs/CreateCardPayment200Response.md +22 -0
  536. package/docs/CreateCardPaymentDto.md +32 -0
  537. package/docs/CreateCardPaymentRequestDto.md +2 -2
  538. package/docs/DeliveryDateTypePublic.md +13 -0
  539. package/docs/DeliveryMethodPublic.md +13 -0
  540. package/docs/ExcellentProcurementPublic.md +35 -0
  541. package/docs/FileUploadedResponseDto.md +1 -1
  542. package/docs/GetSupplierCardPayableV2200Response.md +22 -0
  543. package/docs/GreenProductPublic.md +15 -0
  544. package/docs/InvalidParamDto.md +1 -1
  545. package/docs/{AcceptanceResultV1ResponseDto.md → InvoiceSplitResponseDto.md} +4 -4
  546. package/docs/LegalMandatoryPublic.md +23 -0
  547. package/docs/ListProducts200Response.md +22 -0
  548. package/docs/MarkBidFailedRequestDto.md +1 -1
  549. package/docs/NegotiationScoreDto.md +24 -0
  550. package/docs/NegotiationScoredV2ResponseDto.md +24 -0
  551. package/docs/{PartnerV2Api.md → PartnerApiApi.md} +353 -207
  552. package/docs/PaymentMethodPublic.md +11 -0
  553. package/docs/PreconditionsDto.md +3 -7
  554. package/docs/ProblemDetailsDto.md +1 -1
  555. package/docs/ProductReceiptResponseDto.md +20 -0
  556. package/docs/ProductResponseDto.md +50 -0
  557. package/docs/ProductsApi.md +124 -0
  558. package/docs/RegisterAwardRequestDto.md +2 -2
  559. package/docs/RequestInvoiceSplit200Response.md +22 -0
  560. package/docs/RequestInvoiceSplitRequestDto.md +24 -0
  561. package/docs/StatementProductDto.md +2 -2
  562. package/docs/SubmitNegotiationScores201Response.md +22 -0
  563. package/docs/SubmitNegotiationScoresRequestDto.md +22 -0
  564. package/docs/UpdateBidRequestDto.md +10 -10
  565. package/docs/UploadFileRequestDto.md +1 -1
  566. package/index.ts +2 -2
  567. package/models/acceptance-result-response-dto.ts +3 -3
  568. package/models/acknowledge-product-receipt200-response.ts +27 -0
  569. package/models/acknowledge-products-request-dto.ts +23 -0
  570. package/models/api-catalog-dto.ts +2 -2
  571. package/models/api-catalog-entry-dto.ts +2 -2
  572. package/models/api-catalog-link-dto.ts +2 -2
  573. package/models/authorization-server-metadata-dto.ts +2 -2
  574. package/models/award-method-public.ts +3 -3
  575. package/models/award-registered-v2-response-dto.ts +5 -5
  576. package/models/award-reverted-v2-response-dto.ts +4 -4
  577. package/models/bid-acceptance-dto.ts +2 -2
  578. package/models/bid-bond-dto.ts +2 -2
  579. package/models/bid-cancelled-response-dto.ts +4 -4
  580. package/models/bid-contact-dto.ts +2 -2
  581. package/models/bid-contacts-dto.ts +2 -2
  582. package/models/bid-contract-document-dto.ts +2 -2
  583. package/models/bid-delivery-terms-dto.ts +12 -4
  584. package/models/bid-detail-response-dto.ts +5 -5
  585. package/models/bid-document-dto.ts +2 -2
  586. package/models/bid-failed-v2-response-dto.ts +4 -4
  587. package/models/bid-item-dto.ts +2 -2
  588. package/models/bid-lifecycle-dto.ts +3 -3
  589. package/models/bid-manager-dto.ts +2 -2
  590. package/models/bid-payment-terms-dto.ts +8 -3
  591. package/models/bid-product-dto.ts +2 -2
  592. package/models/bid-public-status.ts +2 -2
  593. package/models/bid-registered-response-dto.ts +2 -2
  594. package/models/bid-result-participant-attachment-dto.ts +2 -2
  595. package/models/bid-result-participant-dto.ts +2 -2
  596. package/models/bid-results-response-dto.ts +3 -3
  597. package/models/bid-settlement-line-item-dto.ts +2 -2
  598. package/models/bid-settlement-participant-dto.ts +2 -2
  599. package/models/bid-settlement-response-dto.ts +2 -2
  600. package/models/bid-statement-response-dto.ts +2 -2
  601. package/models/bid-summary-dto.ts +11 -8
  602. package/models/bid-type-public.ts +29 -0
  603. package/models/bid-updated-response-dto.ts +2 -2
  604. package/models/cancel-bid-request-dto.ts +2 -2
  605. package/models/cancel-bid200-response.ts +2 -2
  606. package/models/card-payment-request-response-dto.ts +2 -2
  607. package/models/complete-acceptance-request-dto.ts +10 -6
  608. package/models/complete-acceptance200-response.ts +2 -2
  609. package/models/complete-invoice200-response.ts +2 -2
  610. package/models/contract-restriction-confirm-input-dto.ts +2 -2
  611. package/models/create-bid-request-dto.ts +5 -5
  612. package/models/create-card-payment-dto.ts +47 -0
  613. package/models/create-card-payment-request-dto.ts +4 -4
  614. package/models/create-card-payment200-response.ts +27 -0
  615. package/models/create-external-contract-documents-request-dto.ts +2 -2
  616. package/models/create-external-contract-documents-response-dto.ts +2 -2
  617. package/models/delivery-date-type-public.ts +30 -0
  618. package/models/delivery-method-public.ts +30 -0
  619. package/models/excellent-procurement-public.ts +41 -0
  620. package/models/external-contract-document-item-dto.ts +2 -2
  621. package/models/external-contract-documents-response-dto.ts +2 -2
  622. package/models/external-contract-item-dto.ts +2 -2
  623. package/models/external-contract-snapshot-dto.ts +2 -2
  624. package/models/external-document-inputs-dto.ts +2 -2
  625. package/models/file-meta-response-dto.ts +2 -2
  626. package/models/file-uploaded-response-dto.ts +3 -3
  627. package/models/generated-external-contract-document-dto.ts +2 -2
  628. package/models/get-bid-settlement200-response.ts +2 -2
  629. package/models/get-bid-statement200-response.ts +2 -2
  630. package/models/get-bid200-response.ts +2 -2
  631. package/models/get-file-meta200-response.ts +2 -2
  632. package/models/get-supplier-card-payable-v2200-response.ts +27 -0
  633. package/models/green-product-public.ts +31 -0
  634. package/models/health-controller-check200-response.ts +2 -2
  635. package/models/health-response-dto.ts +2 -2
  636. package/models/hierarchical-region-dto.ts +2 -2
  637. package/models/index.ts +22 -39
  638. package/models/introspect-request-dto.ts +2 -2
  639. package/models/introspection-response-dto.ts +2 -2
  640. package/models/invalid-param-dto.ts +3 -3
  641. package/models/invoice-completed-response-dto.ts +2 -2
  642. package/models/invoice-split-response-dto.ts +23 -0
  643. package/models/legal-mandatory-public.ts +35 -0
  644. package/models/list-bid-results200-response.ts +2 -2
  645. package/models/list-bids-response-dto.ts +2 -2
  646. package/models/list-bids200-response.ts +2 -2
  647. package/models/list-products200-response.ts +27 -0
  648. package/models/mark-bid-failed-request-dto.ts +3 -3
  649. package/models/mark-bid-failed201-response.ts +2 -2
  650. package/models/negotiation-score-dto.ts +31 -0
  651. package/models/negotiation-scored-v2-response-dto.ts +38 -0
  652. package/models/oauth-error-response-dto.ts +2 -2
  653. package/models/payment-method-public.ts +29 -0
  654. package/models/preconditions-dto.ts +17 -55
  655. package/models/problem-details-dto.ts +3 -3
  656. package/models/product-receipt-response-dto.ts +23 -0
  657. package/models/product-response-dto.ts +83 -0
  658. package/models/protected-resource-metadata-dto.ts +2 -2
  659. package/models/register-award-request-dto.ts +4 -4
  660. package/models/register-award201-response.ts +2 -2
  661. package/models/register-bid201-response.ts +2 -2
  662. package/models/register-semo-contract-request-dto.ts +2 -2
  663. package/models/request-invoice-split-request-dto.ts +31 -0
  664. package/models/request-invoice-split200-response.ts +27 -0
  665. package/models/retiree-roster-input-dto.ts +2 -2
  666. package/models/retiree-roster-row-dto.ts +2 -2
  667. package/models/revert-award-request-dto.ts +2 -2
  668. package/models/revert-award200-response.ts +2 -2
  669. package/models/revoke-request-dto.ts +2 -2
  670. package/models/semo-contract-registered-response-dto.ts +2 -2
  671. package/models/semo-contract-taxinvoice-status-response-dto.ts +2 -2
  672. package/models/statement-document-dto.ts +2 -2
  673. package/models/statement-product-dto.ts +3 -3
  674. package/models/submit-negotiation-scores-request-dto.ts +30 -0
  675. package/models/submit-negotiation-scores201-response.ts +27 -0
  676. package/models/supplier-card-payable-response-dto.ts +2 -2
  677. package/models/supplier-tax-type.ts +2 -2
  678. package/models/token-request-dto.ts +2 -2
  679. package/models/token-response-dto.ts +2 -2
  680. package/models/update-bid-request-dto.ts +7 -7
  681. package/models/update-bid200-response.ts +2 -2
  682. package/models/upload-file-request-dto.ts +3 -3
  683. package/models/upload-file201-response.ts +2 -2
  684. package/package.json +1 -1
  685. package/partner-client.ts +3 -3
  686. package/api/partner-v1-api.ts +0 -998
  687. package/dist/api/partner-v1-api.d.ts +0 -440
  688. package/dist/api/partner-v1-api.js +0 -913
  689. package/dist/esm/api/partner-v1-api.d.ts +0 -440
  690. package/dist/esm/api/partner-v1-api.js +0 -906
  691. package/dist/esm/models/acceptance-result-v1-response-dto.d.ts +0 -17
  692. package/dist/esm/models/acceptance-result-v1-response-dto.js +0 -14
  693. package/dist/esm/models/acknowledge-products-v1-request-dto.d.ts +0 -17
  694. package/dist/esm/models/acknowledge-products-v1-request-dto.js +0 -14
  695. package/dist/esm/models/award-registered-response-dto.d.ts +0 -17
  696. package/dist/esm/models/award-registered-response-dto.js +0 -14
  697. package/dist/esm/models/bid-attachment-v1-dto.d.ts +0 -21
  698. package/dist/esm/models/bid-attachment-v1-dto.js +0 -14
  699. package/dist/esm/models/bid-bond-v1-dto.d.ts +0 -27
  700. package/dist/esm/models/bid-bond-v1-dto.js +0 -18
  701. package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.d.ts +0 -17
  702. package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.js +0 -14
  703. package/dist/esm/models/bid-contract-documents-v1-response-dto.d.ts +0 -30
  704. package/dist/esm/models/bid-contract-documents-v1-response-dto.js +0 -14
  705. package/dist/esm/models/bid-created-response-dto.d.ts +0 -21
  706. package/dist/esm/models/bid-created-response-dto.js +0 -14
  707. package/dist/esm/models/bid-document-v1-dto.d.ts +0 -25
  708. package/dist/esm/models/bid-document-v1-dto.js +0 -14
  709. package/dist/esm/models/bid-failed-response-dto.d.ts +0 -17
  710. package/dist/esm/models/bid-failed-response-dto.js +0 -14
  711. package/dist/esm/models/bid-failure-reason.d.ts +0 -25
  712. package/dist/esm/models/bid-failure-reason.js +0 -26
  713. package/dist/esm/models/bid-item-v1-dto.d.ts +0 -41
  714. package/dist/esm/models/bid-item-v1-dto.js +0 -14
  715. package/dist/esm/models/bid-manager-v1-dto.d.ts +0 -33
  716. package/dist/esm/models/bid-manager-v1-dto.js +0 -14
  717. package/dist/esm/models/bid-result-v1-attachment-dto.d.ts +0 -33
  718. package/dist/esm/models/bid-result-v1-attachment-dto.js +0 -14
  719. package/dist/esm/models/bid-result-v1-bid-product-info-dto.d.ts +0 -45
  720. package/dist/esm/models/bid-result-v1-bid-product-info-dto.js +0 -14
  721. package/dist/esm/models/bid-result-v1-participant-dto.d.ts +0 -183
  722. package/dist/esm/models/bid-result-v1-participant-dto.js +0 -14
  723. package/dist/esm/models/bid-result-v1-product-dto.d.ts +0 -53
  724. package/dist/esm/models/bid-result-v1-product-dto.js +0 -14
  725. package/dist/esm/models/bid-results-batch-v1-request-dto.d.ts +0 -25
  726. package/dist/esm/models/bid-results-batch-v1-request-dto.js +0 -14
  727. package/dist/esm/models/bid-results-v1-response-dto.d.ts +0 -164
  728. package/dist/esm/models/bid-results-v1-response-dto.js +0 -14
  729. package/dist/esm/models/bid-statement-v1-response-dto.d.ts +0 -31
  730. package/dist/esm/models/bid-statement-v1-response-dto.js +0 -14
  731. package/dist/esm/models/bid-status.d.ts +0 -23
  732. package/dist/esm/models/bid-status.js +0 -24
  733. package/dist/esm/models/complete-acceptance-v1-request-dto.d.ts +0 -65
  734. package/dist/esm/models/complete-acceptance-v1-request-dto.js +0 -14
  735. package/dist/esm/models/contract-document-item-dto.d.ts +0 -45
  736. package/dist/esm/models/contract-document-item-dto.js +0 -14
  737. package/dist/esm/models/create-bid-v1-request-dto.d.ts +0 -331
  738. package/dist/esm/models/create-bid-v1-request-dto.js +0 -113
  739. package/dist/esm/models/file-uploaded-v1-response-dto.d.ts +0 -17
  740. package/dist/esm/models/file-uploaded-v1-response-dto.js +0 -14
  741. package/dist/esm/models/hierarchical-region-v1-dto.d.ts +0 -21
  742. package/dist/esm/models/hierarchical-region-v1-dto.js +0 -14
  743. package/dist/esm/models/mark-bid-failed-v1-request-dto.d.ts +0 -26
  744. package/dist/esm/models/mark-bid-failed-v1-request-dto.js +0 -14
  745. package/dist/esm/models/negotiation-score-v1-dto.d.ts +0 -25
  746. package/dist/esm/models/negotiation-score-v1-dto.js +0 -14
  747. package/dist/esm/models/negotiation-scored-response-dto.d.ts +0 -17
  748. package/dist/esm/models/negotiation-scored-response-dto.js +0 -14
  749. package/dist/esm/models/preconditions-v1-dto.d.ts +0 -88
  750. package/dist/esm/models/preconditions-v1-dto.js +0 -44
  751. package/dist/esm/models/product-receipt-v1-response-dto.d.ts +0 -17
  752. package/dist/esm/models/product-receipt-v1-response-dto.js +0 -14
  753. package/dist/esm/models/product-v1-response-dto.d.ts +0 -105
  754. package/dist/esm/models/product-v1-response-dto.js +0 -14
  755. package/dist/esm/models/register-award-v1-request-dto.d.ts +0 -33
  756. package/dist/esm/models/register-award-v1-request-dto.js +0 -14
  757. package/dist/esm/models/request-split-invoice-v1-request-dto.d.ts +0 -29
  758. package/dist/esm/models/request-split-invoice-v1-request-dto.js +0 -14
  759. package/dist/esm/models/split-invoice-v1-response-dto.d.ts +0 -17
  760. package/dist/esm/models/split-invoice-v1-response-dto.js +0 -14
  761. package/dist/esm/models/statement-v1-document-dto.d.ts +0 -33
  762. package/dist/esm/models/statement-v1-document-dto.js +0 -14
  763. package/dist/esm/models/statement-v1-product-dto.d.ts +0 -49
  764. package/dist/esm/models/statement-v1-product-dto.js +0 -14
  765. package/dist/esm/models/submit-negotiation-scores-v1-request-dto.d.ts +0 -22
  766. package/dist/esm/models/submit-negotiation-scores-v1-request-dto.js +0 -14
  767. package/dist/esm/models/upload-file-v1-request-dto.d.ts +0 -25
  768. package/dist/esm/models/upload-file-v1-request-dto.js +0 -14
  769. package/dist/models/acceptance-result-v1-response-dto.d.ts +0 -17
  770. package/dist/models/acceptance-result-v1-response-dto.js +0 -15
  771. package/dist/models/acknowledge-products-v1-request-dto.d.ts +0 -17
  772. package/dist/models/acknowledge-products-v1-request-dto.js +0 -15
  773. package/dist/models/award-registered-response-dto.d.ts +0 -17
  774. package/dist/models/award-registered-response-dto.js +0 -15
  775. package/dist/models/bid-attachment-v1-dto.d.ts +0 -21
  776. package/dist/models/bid-attachment-v1-dto.js +0 -15
  777. package/dist/models/bid-bond-v1-dto.d.ts +0 -27
  778. package/dist/models/bid-bond-v1-dto.js +0 -21
  779. package/dist/models/bid-contract-documents-batch-v1-request-dto.d.ts +0 -17
  780. package/dist/models/bid-contract-documents-batch-v1-request-dto.js +0 -15
  781. package/dist/models/bid-contract-documents-v1-response-dto.d.ts +0 -30
  782. package/dist/models/bid-contract-documents-v1-response-dto.js +0 -15
  783. package/dist/models/bid-created-response-dto.d.ts +0 -21
  784. package/dist/models/bid-created-response-dto.js +0 -15
  785. package/dist/models/bid-document-v1-dto.d.ts +0 -25
  786. package/dist/models/bid-document-v1-dto.js +0 -15
  787. package/dist/models/bid-failed-response-dto.d.ts +0 -17
  788. package/dist/models/bid-failed-response-dto.js +0 -15
  789. package/dist/models/bid-failure-reason.d.ts +0 -25
  790. package/dist/models/bid-failure-reason.js +0 -29
  791. package/dist/models/bid-item-v1-dto.d.ts +0 -41
  792. package/dist/models/bid-item-v1-dto.js +0 -15
  793. package/dist/models/bid-manager-v1-dto.d.ts +0 -33
  794. package/dist/models/bid-manager-v1-dto.js +0 -15
  795. package/dist/models/bid-result-v1-attachment-dto.d.ts +0 -33
  796. package/dist/models/bid-result-v1-attachment-dto.js +0 -15
  797. package/dist/models/bid-result-v1-bid-product-info-dto.d.ts +0 -45
  798. package/dist/models/bid-result-v1-bid-product-info-dto.js +0 -15
  799. package/dist/models/bid-result-v1-participant-dto.d.ts +0 -183
  800. package/dist/models/bid-result-v1-participant-dto.js +0 -15
  801. package/dist/models/bid-result-v1-product-dto.d.ts +0 -53
  802. package/dist/models/bid-result-v1-product-dto.js +0 -15
  803. package/dist/models/bid-results-batch-v1-request-dto.d.ts +0 -25
  804. package/dist/models/bid-results-batch-v1-request-dto.js +0 -15
  805. package/dist/models/bid-results-v1-response-dto.d.ts +0 -164
  806. package/dist/models/bid-results-v1-response-dto.js +0 -15
  807. package/dist/models/bid-statement-v1-response-dto.d.ts +0 -31
  808. package/dist/models/bid-statement-v1-response-dto.js +0 -15
  809. package/dist/models/bid-status.d.ts +0 -23
  810. package/dist/models/bid-status.js +0 -27
  811. package/dist/models/complete-acceptance-v1-request-dto.d.ts +0 -65
  812. package/dist/models/complete-acceptance-v1-request-dto.js +0 -15
  813. package/dist/models/contract-document-item-dto.d.ts +0 -45
  814. package/dist/models/contract-document-item-dto.js +0 -15
  815. package/dist/models/create-bid-v1-request-dto.d.ts +0 -331
  816. package/dist/models/create-bid-v1-request-dto.js +0 -116
  817. package/dist/models/file-uploaded-v1-response-dto.d.ts +0 -17
  818. package/dist/models/file-uploaded-v1-response-dto.js +0 -15
  819. package/dist/models/hierarchical-region-v1-dto.d.ts +0 -21
  820. package/dist/models/hierarchical-region-v1-dto.js +0 -15
  821. package/dist/models/mark-bid-failed-v1-request-dto.d.ts +0 -26
  822. package/dist/models/mark-bid-failed-v1-request-dto.js +0 -15
  823. package/dist/models/negotiation-score-v1-dto.d.ts +0 -25
  824. package/dist/models/negotiation-score-v1-dto.js +0 -15
  825. package/dist/models/negotiation-scored-response-dto.d.ts +0 -17
  826. package/dist/models/negotiation-scored-response-dto.js +0 -15
  827. package/dist/models/preconditions-v1-dto.d.ts +0 -88
  828. package/dist/models/preconditions-v1-dto.js +0 -47
  829. package/dist/models/product-receipt-v1-response-dto.d.ts +0 -17
  830. package/dist/models/product-receipt-v1-response-dto.js +0 -15
  831. package/dist/models/product-v1-response-dto.d.ts +0 -105
  832. package/dist/models/product-v1-response-dto.js +0 -15
  833. package/dist/models/register-award-v1-request-dto.d.ts +0 -33
  834. package/dist/models/register-award-v1-request-dto.js +0 -15
  835. package/dist/models/request-split-invoice-v1-request-dto.d.ts +0 -29
  836. package/dist/models/request-split-invoice-v1-request-dto.js +0 -15
  837. package/dist/models/split-invoice-v1-response-dto.d.ts +0 -17
  838. package/dist/models/split-invoice-v1-response-dto.js +0 -15
  839. package/dist/models/statement-v1-document-dto.d.ts +0 -33
  840. package/dist/models/statement-v1-document-dto.js +0 -15
  841. package/dist/models/statement-v1-product-dto.d.ts +0 -49
  842. package/dist/models/statement-v1-product-dto.js +0 -15
  843. package/dist/models/submit-negotiation-scores-v1-request-dto.d.ts +0 -22
  844. package/dist/models/submit-negotiation-scores-v1-request-dto.js +0 -15
  845. package/dist/models/upload-file-v1-request-dto.d.ts +0 -25
  846. package/dist/models/upload-file-v1-request-dto.js +0 -15
  847. package/docs/AcknowledgeProductsV1RequestDto.md +0 -20
  848. package/docs/AwardRegisteredResponseDto.md +0 -20
  849. package/docs/BidAttachmentV1Dto.md +0 -22
  850. package/docs/BidBondV1Dto.md +0 -22
  851. package/docs/BidContractDocumentsBatchV1RequestDto.md +0 -20
  852. package/docs/BidContractDocumentsV1ResponseDto.md +0 -26
  853. package/docs/BidCreatedResponseDto.md +0 -22
  854. package/docs/BidDocumentV1Dto.md +0 -24
  855. package/docs/BidFailedResponseDto.md +0 -20
  856. package/docs/BidFailureReason.md +0 -23
  857. package/docs/BidItemV1Dto.md +0 -32
  858. package/docs/BidManagerV1Dto.md +0 -28
  859. package/docs/BidResultV1AttachmentDto.md +0 -28
  860. package/docs/BidResultV1BidProductInfoDto.md +0 -34
  861. package/docs/BidResultV1ParticipantDto.md +0 -102
  862. package/docs/BidResultV1ProductDto.md +0 -38
  863. package/docs/BidResultsBatchV1RequestDto.md +0 -24
  864. package/docs/BidResultsV1ResponseDto.md +0 -92
  865. package/docs/BidStatementV1ResponseDto.md +0 -26
  866. package/docs/BidStatus.md +0 -19
  867. package/docs/CompleteAcceptanceV1RequestDto.md +0 -44
  868. package/docs/ContractDocumentItemDto.md +0 -34
  869. package/docs/CreateBidV1RequestDto.md +0 -114
  870. package/docs/FileUploadedV1ResponseDto.md +0 -20
  871. package/docs/HierarchicalRegionV1Dto.md +0 -22
  872. package/docs/MarkBidFailedV1RequestDto.md +0 -24
  873. package/docs/NegotiationScoreV1Dto.md +0 -24
  874. package/docs/NegotiationScoredResponseDto.md +0 -20
  875. package/docs/PartnerV1Api.md +0 -707
  876. package/docs/PreconditionsV1Dto.md +0 -38
  877. package/docs/ProductReceiptV1ResponseDto.md +0 -20
  878. package/docs/ProductV1ResponseDto.md +0 -64
  879. package/docs/RegisterAwardV1RequestDto.md +0 -28
  880. package/docs/RequestSplitInvoiceV1RequestDto.md +0 -26
  881. package/docs/SplitInvoiceV1ResponseDto.md +0 -20
  882. package/docs/StatementV1DocumentDto.md +0 -28
  883. package/docs/StatementV1ProductDto.md +0 -36
  884. package/docs/SubmitNegotiationScoresV1RequestDto.md +0 -22
  885. package/docs/UploadFileV1RequestDto.md +0 -24
  886. package/models/acceptance-result-v1-response-dto.ts +0 -23
  887. package/models/acknowledge-products-v1-request-dto.ts +0 -23
  888. package/models/award-registered-response-dto.ts +0 -23
  889. package/models/bid-attachment-v1-dto.ts +0 -27
  890. package/models/bid-bond-v1-dto.ts +0 -36
  891. package/models/bid-contract-documents-batch-v1-request-dto.ts +0 -23
  892. package/models/bid-contract-documents-v1-response-dto.ts +0 -38
  893. package/models/bid-created-response-dto.ts +0 -27
  894. package/models/bid-document-v1-dto.ts +0 -31
  895. package/models/bid-failed-response-dto.ts +0 -23
  896. package/models/bid-failure-reason.ts +0 -35
  897. package/models/bid-item-v1-dto.ts +0 -47
  898. package/models/bid-manager-v1-dto.ts +0 -39
  899. package/models/bid-result-v1-attachment-dto.ts +0 -39
  900. package/models/bid-result-v1-bid-product-info-dto.ts +0 -51
  901. package/models/bid-result-v1-participant-dto.ts +0 -193
  902. package/models/bid-result-v1-product-dto.ts +0 -59
  903. package/models/bid-results-batch-v1-request-dto.ts +0 -31
  904. package/models/bid-results-v1-response-dto.ts +0 -178
  905. package/models/bid-statement-v1-response-dto.ts +0 -41
  906. package/models/bid-status.ts +0 -33
  907. package/models/complete-acceptance-v1-request-dto.ts +0 -71
  908. package/models/contract-document-item-dto.ts +0 -51
  909. package/models/create-bid-v1-request-dto.ts +0 -371
  910. package/models/file-uploaded-v1-response-dto.ts +0 -23
  911. package/models/hierarchical-region-v1-dto.ts +0 -27
  912. package/models/mark-bid-failed-v1-request-dto.ts +0 -36
  913. package/models/negotiation-score-v1-dto.ts +0 -31
  914. package/models/negotiation-scored-response-dto.ts +0 -23
  915. package/models/preconditions-v1-dto.ts +0 -101
  916. package/models/product-receipt-v1-response-dto.ts +0 -23
  917. package/models/product-v1-response-dto.ts +0 -111
  918. package/models/register-award-v1-request-dto.ts +0 -39
  919. package/models/request-split-invoice-v1-request-dto.ts +0 -35
  920. package/models/split-invoice-v1-response-dto.ts +0 -23
  921. package/models/statement-v1-document-dto.ts +0 -39
  922. package/models/statement-v1-product-dto.ts +0 -55
  923. package/models/submit-negotiation-scores-v1-request-dto.ts +0 -30
  924. package/models/upload-file-v1-request-dto.ts +0 -31
@@ -1,21 +0,0 @@
1
- /**
2
- * CMARKET V6 Partner API
3
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
- *
5
- * The version of the OpenAPI document: 35.0.0
6
- * Contact: semo.io.kr@gmail.com
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- export interface HierarchicalRegionV1Dto {
13
- /**
14
- * 광역시도명.
15
- */
16
- 'province': string;
17
- /**
18
- * 시군구 목록 (빈 배열 = 광역시도 전체).
19
- */
20
- 'districts': Array<string>;
21
- }
@@ -1,14 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
- *
7
- * The version of the OpenAPI document: 35.0.0
8
- * Contact: semo.io.kr@gmail.com
9
- *
10
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
- * https://openapi-generator.tech
12
- * Do not edit the class manually.
13
- */
14
- export {};
@@ -1,26 +0,0 @@
1
- /**
2
- * CMARKET V6 Partner API
3
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
- *
5
- * The version of the OpenAPI document: 35.0.0
6
- * Contact: semo.io.kr@gmail.com
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- import type { BidFailureReason } from './bid-failure-reason';
13
- export interface MarkBidFailedV1RequestDto {
14
- /**
15
- * 공고 구매번호(등록 응답의 bidNo). V5 `bid_puchase_no`.
16
- */
17
- 'bidNo': string;
18
- /**
19
- * 유찰사유 코드(= V5 b2b_buy.sayou). 1~8. - `1` 금액초과 · `2` 조건불일치 · `3` 전문성요구 · `4` 기타 · `5` 응찰업체없음 - `6` 단일 업체 참여(V5 화면에서 주석 처리된 레거시 옵션 — 신규 사용 비권장) - **`7` 참여 3곳 미만** — SDK 상수명은 `LESS_THAN_TWO` 이지만 실제 의미는 **참여 업체가 3곳 미만**이다(V5 가이드 규정). 상수명을 신뢰하지 말 것. - `8` 전원 하한가미달
20
- */
21
- 'failureReasonCode': BidFailureReason;
22
- /**
23
- * 유찰사유 상세(= V5 b2b_buy.sa_desc). 코드 4[기타] 일 때 필수, 최대 150자.
24
- */
25
- 'failureReasonDetail'?: string;
26
- }
@@ -1,14 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
- *
7
- * The version of the OpenAPI document: 35.0.0
8
- * Contact: semo.io.kr@gmail.com
9
- *
10
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
- * https://openapi-generator.tech
12
- * Do not edit the class manually.
13
- */
14
- export {};
@@ -1,25 +0,0 @@
1
- /**
2
- * CMARKET V6 Partner API
3
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
- *
5
- * The version of the OpenAPI document: 35.0.0
6
- * Contact: semo.io.kr@gmail.com
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- export interface NegotiationScoreV1Dto {
13
- /**
14
- * 응찰 순번(= V5 buy_seq = 입찰결과 조회 응답의 sequence).
15
- */
16
- 'sequence': number;
17
- /**
18
- * 기술점수(= V5 tech_point). 0~100, 소수 1자리까지. 실제 상한은 `100 − 가격점수 배정비율`(배정비율 0/10/20/30 → 100/90/80/70)이며 backend 가 집행한다.
19
- */
20
- 'techPoint': number;
21
- /**
22
- * 가격점수(= V5 bid_point). 0~100, 소수 1자리까지. V5 는 이 값을 필수로 요구한다(null 이면 거부). 자동계산 낙찰방법에서는 backend 가 0~50 범위를 집행한다.
23
- */
24
- 'bidPoint': number;
25
- }
@@ -1,14 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
- *
7
- * The version of the OpenAPI document: 35.0.0
8
- * Contact: semo.io.kr@gmail.com
9
- *
10
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
- * https://openapi-generator.tech
12
- * Do not edit the class manually.
13
- */
14
- export {};
@@ -1,17 +0,0 @@
1
- /**
2
- * CMARKET V6 Partner API
3
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
- *
5
- * The version of the OpenAPI document: 35.0.0
6
- * Contact: semo.io.kr@gmail.com
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- export interface NegotiationScoredResponseDto {
13
- /**
14
- * 공고 구매번호.
15
- */
16
- 'bidNo': string;
17
- }
@@ -1,14 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
- *
7
- * The version of the OpenAPI document: 35.0.0
8
- * Contact: semo.io.kr@gmail.com
9
- *
10
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
- * https://openapi-generator.tech
12
- * Do not edit the class manually.
13
- */
14
- export {};
@@ -1,88 +0,0 @@
1
- /**
2
- * CMARKET V6 Partner API
3
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
- *
5
- * The version of the OpenAPI document: 35.0.0
6
- * Contact: semo.io.kr@gmail.com
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- import type { BidBondV1Dto } from './bid-bond-v1-dto';
13
- export interface PreconditionsV1Dto {
14
- /**
15
- * 입찰보증금 설정.
16
- */
17
- 'bidBond'?: BidBondV1Dto;
18
- /**
19
- * 사업자등록증 납부 관련업체 자격 제한.
20
- */
21
- 'businessRegistered'?: boolean;
22
- /**
23
- * 총판/대리점 자격 제한.
24
- */
25
- 'distributor'?: boolean;
26
- /**
27
- * 제조사 자격 제한.
28
- */
29
- 'manufacturer'?: boolean;
30
- /**
31
- * 직접생산확인증명 보유 업체로 제한.
32
- */
33
- 'directProduction'?: boolean;
34
- /**
35
- * 법적의무구매 대상 코드. I=중증장애인생산품, K=중소기업, L=여성기업, O1=장애인표준사업장, O2=장애인기업, O3=사회적협동조합.
36
- */
37
- 'legalMandatory'?: Array<PreconditionsV1DtoLegalMandatoryEnum>;
38
- /**
39
- * 기술개발제품 인증 코드. P0=전체, P101~P113=개별 인증(우수조달물품·NEP·GS·성능인증 등).
40
- */
41
- 'excellentProcurement'?: Array<PreconditionsV1DtoExcellentProcurementEnum>;
42
- /**
43
- * 녹색제품 인증 코드. Q0=전체, Q101=환경표지, Q102=저탄소, Q103=우수재활용(GR).
44
- */
45
- 'greenProduct'?: Array<PreconditionsV1DtoGreenProductEnum>;
46
- /**
47
- * 창업기업 자격 제한.
48
- */
49
- 'startup'?: boolean;
50
- /**
51
- * 사회적기업 자격 제한.
52
- */
53
- 'social'?: boolean;
54
- }
55
- export declare const PreconditionsV1DtoLegalMandatoryEnum: {
56
- readonly I: "I";
57
- readonly J: "J";
58
- readonly K: "K";
59
- readonly L: "L";
60
- readonly O1: "O1";
61
- readonly O2: "O2";
62
- readonly O3: "O3";
63
- };
64
- export type PreconditionsV1DtoLegalMandatoryEnum = typeof PreconditionsV1DtoLegalMandatoryEnum[keyof typeof PreconditionsV1DtoLegalMandatoryEnum];
65
- export declare const PreconditionsV1DtoExcellentProcurementEnum: {
66
- readonly P0: "P0";
67
- readonly P101: "P101";
68
- readonly P102: "P102";
69
- readonly P103: "P103";
70
- readonly P104: "P104";
71
- readonly P105: "P105";
72
- readonly P106: "P106";
73
- readonly P107: "P107";
74
- readonly P108: "P108";
75
- readonly P109: "P109";
76
- readonly P110: "P110";
77
- readonly P111: "P111";
78
- readonly P112: "P112";
79
- readonly P113: "P113";
80
- };
81
- export type PreconditionsV1DtoExcellentProcurementEnum = typeof PreconditionsV1DtoExcellentProcurementEnum[keyof typeof PreconditionsV1DtoExcellentProcurementEnum];
82
- export declare const PreconditionsV1DtoGreenProductEnum: {
83
- readonly Q0: "Q0";
84
- readonly Q101: "Q101";
85
- readonly Q102: "Q102";
86
- readonly Q103: "Q103";
87
- };
88
- export type PreconditionsV1DtoGreenProductEnum = typeof PreconditionsV1DtoGreenProductEnum[keyof typeof PreconditionsV1DtoGreenProductEnum];
@@ -1,44 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
- *
7
- * The version of the OpenAPI document: 35.0.0
8
- * Contact: semo.io.kr@gmail.com
9
- *
10
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
- * https://openapi-generator.tech
12
- * Do not edit the class manually.
13
- */
14
- export const PreconditionsV1DtoLegalMandatoryEnum = {
15
- I: 'I',
16
- J: 'J',
17
- K: 'K',
18
- L: 'L',
19
- O1: 'O1',
20
- O2: 'O2',
21
- O3: 'O3',
22
- };
23
- export const PreconditionsV1DtoExcellentProcurementEnum = {
24
- P0: 'P0',
25
- P101: 'P101',
26
- P102: 'P102',
27
- P103: 'P103',
28
- P104: 'P104',
29
- P105: 'P105',
30
- P106: 'P106',
31
- P107: 'P107',
32
- P108: 'P108',
33
- P109: 'P109',
34
- P110: 'P110',
35
- P111: 'P111',
36
- P112: 'P112',
37
- P113: 'P113',
38
- };
39
- export const PreconditionsV1DtoGreenProductEnum = {
40
- Q0: 'Q0',
41
- Q101: 'Q101',
42
- Q102: 'Q102',
43
- Q103: 'Q103',
44
- };
@@ -1,17 +0,0 @@
1
- /**
2
- * CMARKET V6 Partner API
3
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
- *
5
- * The version of the OpenAPI document: 35.0.0
6
- * Contact: semo.io.kr@gmail.com
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- export interface ProductReceiptV1ResponseDto {
13
- /**
14
- * 전송완료로 마킹된 물품 건수.
15
- */
16
- 'acknowledged': number;
17
- }
@@ -1,14 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
- *
7
- * The version of the OpenAPI document: 35.0.0
8
- * Contact: semo.io.kr@gmail.com
9
- *
10
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
- * https://openapi-generator.tech
12
- * Do not edit the class manually.
13
- */
14
- export {};
@@ -1,105 +0,0 @@
1
- /**
2
- * CMARKET V6 Partner API
3
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
4
- *
5
- * The version of the OpenAPI document: 35.0.0
6
- * Contact: semo.io.kr@gmail.com
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- export interface ProductV1ResponseDto {
13
- /**
14
- * 물품 코드 (V5 pdt_cd) — 수신확인 시 이 값을 되돌려준다.
15
- */
16
- 'pdtCd': number;
17
- /**
18
- * 물품명 (V5 pdt_name).
19
- */
20
- 'pdtName': string | null;
21
- /**
22
- * 상세 — V5 고정 문구 \"규격참조\".
23
- */
24
- 'pdtDetail': string;
25
- /**
26
- * 옵션/썸네일 이미지 URL (V5 pdt_simg_url2). 없으면 빈 문자열. 외부 도메인에 원본이 있는 물품은 그 주소를 그대로 내보내므로 이 필드만 호스트가 다를 수 있다.
27
- */
28
- 'pdtSimgUrl2': string | null;
29
- /**
30
- * 대표 이미지 URL (V5 pdt_simg_url). 만료 없는 안정 URL 이라 그대로 저장해도 된다 — 요청 시점에 실제 저장소로 302 된다. 이미지가 없는 물품은 공용 빈 이미지로 내려간다.
31
- */
32
- 'pdtSimgUrl': string;
33
- /**
34
- * V5 pdt_home — 항상 빈 문자열.
35
- */
36
- 'pdtHome': string;
37
- /**
38
- * V5 pdt_origin — 항상 빈 문자열.
39
- */
40
- 'pdtOrigin': string;
41
- /**
42
- * 단위 (V5 pdt_unit).
43
- */
44
- 'pdtUnit': string;
45
- /**
46
- * 용량 (V5 pdt_capacity).
47
- */
48
- 'pdtCapacity': string;
49
- /**
50
- * CAS 번호 (V5 pdt_cas).
51
- */
52
- 'pdtCas': string;
53
- /**
54
- * 분류 (V5 pdt_cat).
55
- */
56
- 'pdtCat': string;
57
- /**
58
- * 옵션 여부 (V5 pdt_option) — 항상 \"N\".
59
- */
60
- 'pdtOption': string;
61
- /**
62
- * 브랜드명 (V5 brand_name).
63
- */
64
- 'brandName': string;
65
- /**
66
- * KCL 카테고리 코드 (V5 pdt_category_kcl = cate_code).
67
- */
68
- 'pdtCategoryKcl': string;
69
- /**
70
- * 옵션그룹 ID (V5 po_group_id).
71
- */
72
- 'poGroupId': string;
73
- /**
74
- * 옵션그룹명 (V5 po_title).
75
- */
76
- 'poTitle': string;
77
- /**
78
- * V5 po_idx — 항상 \"0\".
79
- */
80
- 'poIdx': string;
81
- /**
82
- * 품목코드 (V5 po_itemcode = pdt_code∥pdt_cd).
83
- */
84
- 'poItemcode': string;
85
- /**
86
- * 규격 (V5 po_spec = pdt_spec).
87
- */
88
- 'poSpec': string;
89
- /**
90
- * 단가 (V5 pdt_price).
91
- */
92
- 'pdtPrice': number;
93
- /**
94
- * 분류 코드 (V5 pdt_cat_cd).
95
- */
96
- 'pdtCatCd': string;
97
- /**
98
- * 용량 코드 (V5 pdt_capacity_cd).
99
- */
100
- 'pdtCapacityCd': number;
101
- /**
102
- * 등록 회원 ID (V5 member_id). KCL 외 플랫폼 소비자에게만 포함.
103
- */
104
- 'memberId'?: string | null;
105
- }
@@ -1,14 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 성공 응답 봉투 `/v2` 의 모든 2xx 본문은 `{ \"data\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `meta` 키는 아예 나가지 않습니다(빈 객체를 싣지 않습니다). 봉투를 쓰지 않는 표면은 셋입니다. `/oauth/_*` 와 `/.well-known/_*` 는 각각 RFC 6749·RFC 8414·RFC 9728 이 최상위 필드를 규정하고, `/v1/_*` 은 동결된 레거시 표면이며, 파일 내용 응답은 본문이 JSON 이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json 이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2` 의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId` 와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId` 를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시입니다. 폐지 일정이 정해지면 /v1 응답에 헤더 세 개가 실립니다 — `Deprecation`(RFC 9745, `@<epoch초>`) · `Sunset`(RFC 8594, HTTP-date) · `Link`(RFC 8288, `rel=\"deprecation\"`/`rel=\"sunset\"` — 이전 안내 문서를 가리킵니다). 일정이 정해지기 전에는 셋 다 나가지 않습니다. 종료일이 지난 뒤의 호출은 `404` 가 아니라 **`410 Gone`** 과 `type: …/endpoint-sunset` 으로 거절됩니다. 둘의 뜻이 다릅니다 — `404` 는 \"그런 것이 있었는지 모르겠다\", `410` 은 \"있었고 의도적으로 없앴다\" 입니다. `410` 을 받으면 경로 오타를 의심하지 말고 /v2 로 이전하세요. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
6
- *
7
- * The version of the OpenAPI document: 35.0.0
8
- * Contact: semo.io.kr@gmail.com
9
- *
10
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
- * https://openapi-generator.tech
12
- * Do not edit the class manually.
13
- */
14
- export {};