@cmarket/partner-sdk 47.0.0 β†’ 49.0.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 (964) hide show
  1. package/README.md +5 -103
  2. package/api/oauth-api.ts +1 -1
  3. package/api/partner-api-api.ts +16 -1209
  4. package/api/products-api.ts +1 -1
  5. package/api/well-known-api.ts +1 -1
  6. package/api.ts +1 -2
  7. package/base.ts +1 -1
  8. package/common.ts +1 -1
  9. package/configuration.ts +1 -1
  10. package/dist/api/oauth-api.d.ts +1 -1
  11. package/dist/api/oauth-api.js +1 -1
  12. package/dist/api/partner-api-api.d.ts +1 -543
  13. package/dist/api/partner-api-api.js +16 -1120
  14. package/dist/api/products-api.d.ts +1 -1
  15. package/dist/api/products-api.js +1 -1
  16. package/dist/api/well-known-api.d.ts +1 -1
  17. package/dist/api/well-known-api.js +1 -1
  18. package/dist/api.d.ts +1 -2
  19. package/dist/api.js +1 -2
  20. package/dist/base.d.ts +1 -1
  21. package/dist/base.js +1 -1
  22. package/dist/common.d.ts +1 -1
  23. package/dist/common.js +1 -1
  24. package/dist/configuration.d.ts +1 -1
  25. package/dist/configuration.js +1 -1
  26. package/dist/esm/api/oauth-api.d.ts +1 -1
  27. package/dist/esm/api/oauth-api.js +1 -1
  28. package/dist/esm/api/partner-api-api.d.ts +1 -543
  29. package/dist/esm/api/partner-api-api.js +15 -1119
  30. package/dist/esm/api/products-api.d.ts +1 -1
  31. package/dist/esm/api/products-api.js +1 -1
  32. package/dist/esm/api/well-known-api.d.ts +1 -1
  33. package/dist/esm/api/well-known-api.js +1 -1
  34. package/dist/esm/api.d.ts +1 -2
  35. package/dist/esm/api.js +1 -2
  36. package/dist/esm/base.d.ts +1 -1
  37. package/dist/esm/base.js +1 -1
  38. package/dist/esm/common.d.ts +1 -1
  39. package/dist/esm/common.js +1 -1
  40. package/dist/esm/configuration.d.ts +1 -1
  41. package/dist/esm/configuration.js +1 -1
  42. package/dist/esm/index.d.ts +1 -1
  43. package/dist/esm/index.js +1 -1
  44. package/dist/esm/models/acceptance-result-response-dto.d.ts +1 -1
  45. package/dist/esm/models/acceptance-result-response-dto.js +1 -1
  46. package/dist/esm/models/acknowledge-product-receipt200-response.d.ts +1 -1
  47. package/dist/esm/models/acknowledge-product-receipt200-response.js +1 -1
  48. package/dist/esm/models/acknowledge-products-request-dto.d.ts +1 -1
  49. package/dist/esm/models/acknowledge-products-request-dto.js +1 -1
  50. package/dist/esm/models/api-catalog-dto.d.ts +1 -1
  51. package/dist/esm/models/api-catalog-dto.js +1 -1
  52. package/dist/esm/models/api-catalog-entry-dto.d.ts +1 -1
  53. package/dist/esm/models/api-catalog-entry-dto.js +1 -1
  54. package/dist/esm/models/api-catalog-link-dto.d.ts +1 -1
  55. package/dist/esm/models/api-catalog-link-dto.js +1 -1
  56. package/dist/esm/models/authorization-server-metadata-dto.d.ts +1 -1
  57. package/dist/esm/models/authorization-server-metadata-dto.js +1 -1
  58. package/dist/esm/models/avalues-input-dto.d.ts +1 -1
  59. package/dist/esm/models/avalues-input-dto.js +1 -1
  60. package/dist/esm/models/award-registered-v2-response-dto.d.ts +1 -1
  61. package/dist/esm/models/award-registered-v2-response-dto.js +1 -1
  62. package/dist/esm/models/bid-attachment-input-dto.d.ts +1 -1
  63. package/dist/esm/models/bid-attachment-input-dto.js +1 -1
  64. package/dist/esm/models/bid-bond-dto.d.ts +1 -1
  65. package/dist/esm/models/bid-bond-dto.js +1 -1
  66. package/dist/esm/models/bid-document-dto.d.ts +1 -1
  67. package/dist/esm/models/bid-document-dto.js +1 -1
  68. package/dist/esm/models/bid-failed-v2-response-dto.d.ts +1 -1
  69. package/dist/esm/models/bid-failed-v2-response-dto.js +1 -1
  70. package/dist/esm/models/bid-item-dto.d.ts +1 -1
  71. package/dist/esm/models/bid-item-dto.js +1 -1
  72. package/dist/esm/models/bid-manager-dto.d.ts +1 -1
  73. package/dist/esm/models/bid-manager-dto.js +1 -1
  74. package/dist/esm/models/bid-public-status.d.ts +4 -1
  75. package/dist/esm/models/bid-public-status.js +4 -1
  76. package/dist/esm/models/bid-registered-response-dto.d.ts +1 -1
  77. package/dist/esm/models/bid-registered-response-dto.js +1 -1
  78. package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +1 -1
  79. package/dist/esm/models/bid-result-participant-attachment-dto.js +1 -1
  80. package/dist/esm/models/bid-result-participant-dto.d.ts +1 -1
  81. package/dist/esm/models/bid-result-participant-dto.js +1 -1
  82. package/dist/esm/models/bid-results-response-dto.d.ts +1 -1
  83. package/dist/esm/models/bid-results-response-dto.js +1 -1
  84. package/dist/esm/models/bid-statement-response-dto.d.ts +1 -1
  85. package/dist/esm/models/bid-statement-response-dto.js +1 -1
  86. package/dist/esm/models/card-payment-request-response-dto.d.ts +1 -1
  87. package/dist/esm/models/card-payment-request-response-dto.js +1 -1
  88. package/dist/esm/models/complete-acceptance-request-dto.d.ts +1 -1
  89. package/dist/esm/models/complete-acceptance-request-dto.js +1 -1
  90. package/dist/esm/models/complete-acceptance200-response.d.ts +1 -1
  91. package/dist/esm/models/complete-acceptance200-response.js +1 -1
  92. package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  93. package/dist/esm/models/contract-restriction-confirm-input-dto.js +1 -1
  94. package/dist/esm/models/create-bid-request-dto.d.ts +1 -1
  95. package/dist/esm/models/create-bid-request-dto.js +1 -1
  96. package/dist/esm/models/create-card-payment-dto.d.ts +1 -1
  97. package/dist/esm/models/create-card-payment-dto.js +1 -1
  98. package/dist/esm/models/create-card-payment-request-dto.d.ts +1 -1
  99. package/dist/esm/models/create-card-payment-request-dto.js +1 -1
  100. package/dist/esm/models/create-card-payment200-response.d.ts +1 -1
  101. package/dist/esm/models/create-card-payment200-response.js +1 -1
  102. package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +1 -1
  103. package/dist/esm/models/create-external-contract-documents-request-dto.js +1 -1
  104. package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +1 -1
  105. package/dist/esm/models/create-external-contract-documents-response-dto.js +1 -1
  106. package/dist/esm/models/excellent-procurement-public.d.ts +1 -1
  107. package/dist/esm/models/excellent-procurement-public.js +1 -1
  108. package/dist/esm/models/external-contract-document-item-dto.d.ts +1 -1
  109. package/dist/esm/models/external-contract-document-item-dto.js +1 -1
  110. package/dist/esm/models/external-contract-documents-response-dto.d.ts +1 -1
  111. package/dist/esm/models/external-contract-documents-response-dto.js +1 -1
  112. package/dist/esm/models/external-contract-item-dto.d.ts +1 -1
  113. package/dist/esm/models/external-contract-item-dto.js +1 -1
  114. package/dist/esm/models/external-contract-snapshot-dto.d.ts +1 -1
  115. package/dist/esm/models/external-contract-snapshot-dto.js +1 -1
  116. package/dist/esm/models/external-document-inputs-dto.d.ts +1 -1
  117. package/dist/esm/models/external-document-inputs-dto.js +1 -1
  118. package/dist/esm/models/file-uploaded-response-dto.d.ts +1 -1
  119. package/dist/esm/models/file-uploaded-response-dto.js +1 -1
  120. package/dist/esm/models/generated-external-contract-document-dto.d.ts +1 -1
  121. package/dist/esm/models/generated-external-contract-document-dto.js +1 -1
  122. package/dist/esm/models/get-bid-statement200-response.d.ts +1 -1
  123. package/dist/esm/models/get-bid-statement200-response.js +1 -1
  124. package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
  125. package/dist/esm/models/get-supplier-card-payable-v2200-response.js +1 -1
  126. package/dist/esm/models/green-product-public.d.ts +1 -1
  127. package/dist/esm/models/green-product-public.js +1 -1
  128. package/dist/esm/models/health-controller-check200-response.d.ts +1 -1
  129. package/dist/esm/models/health-controller-check200-response.js +1 -1
  130. package/dist/esm/models/health-response-dto.d.ts +1 -1
  131. package/dist/esm/models/health-response-dto.js +1 -1
  132. package/dist/esm/models/hierarchical-region-dto.d.ts +1 -1
  133. package/dist/esm/models/hierarchical-region-dto.js +1 -1
  134. package/dist/esm/models/index.d.ts +1 -82
  135. package/dist/esm/models/index.js +1 -82
  136. package/dist/esm/models/introspect-request-dto.d.ts +1 -1
  137. package/dist/esm/models/introspect-request-dto.js +1 -1
  138. package/dist/esm/models/introspection-response-dto.d.ts +1 -1
  139. package/dist/esm/models/introspection-response-dto.js +1 -1
  140. package/dist/esm/models/invalid-param-dto.d.ts +1 -1
  141. package/dist/esm/models/invalid-param-dto.js +1 -1
  142. package/dist/esm/models/invoice-split-response-dto.d.ts +1 -1
  143. package/dist/esm/models/invoice-split-response-dto.js +1 -1
  144. package/dist/esm/models/legal-mandatory-public.d.ts +1 -1
  145. package/dist/esm/models/legal-mandatory-public.js +1 -1
  146. package/dist/esm/models/{list-bids200-response-meta.d.ts β†’ list-bid-results200-response-meta.d.ts} +2 -2
  147. package/dist/esm/models/{bid-attachment-dto.js β†’ list-bid-results200-response-meta.js} +1 -1
  148. package/dist/esm/models/list-bid-results200-response.d.ts +3 -3
  149. package/dist/esm/models/list-bid-results200-response.js +1 -1
  150. package/dist/esm/models/list-products200-response.d.ts +3 -3
  151. package/dist/esm/models/list-products200-response.js +1 -1
  152. package/dist/esm/models/mark-bid-failed-request-dto.d.ts +1 -1
  153. package/dist/esm/models/mark-bid-failed-request-dto.js +1 -1
  154. package/dist/esm/models/mark-bid-failed201-response.d.ts +1 -1
  155. package/dist/esm/models/mark-bid-failed201-response.js +1 -1
  156. package/dist/esm/models/nominated-supplier-dto.d.ts +1 -1
  157. package/dist/esm/models/nominated-supplier-dto.js +1 -1
  158. package/dist/esm/models/oauth-error-response-dto.d.ts +1 -1
  159. package/dist/esm/models/oauth-error-response-dto.js +1 -1
  160. package/dist/esm/models/preconditions-dto.d.ts +1 -1
  161. package/dist/esm/models/preconditions-dto.js +1 -1
  162. package/dist/esm/models/problem-details-dto.d.ts +1 -1
  163. package/dist/esm/models/problem-details-dto.js +1 -1
  164. package/dist/esm/models/product-receipt-response-dto.d.ts +1 -1
  165. package/dist/esm/models/product-receipt-response-dto.js +1 -1
  166. package/dist/esm/models/product-response-dto.d.ts +1 -1
  167. package/dist/esm/models/product-response-dto.js +1 -1
  168. package/dist/esm/models/protected-resource-metadata-dto.d.ts +1 -1
  169. package/dist/esm/models/protected-resource-metadata-dto.js +1 -1
  170. package/dist/esm/models/qualification-review-input-dto.d.ts +1 -1
  171. package/dist/esm/models/qualification-review-input-dto.js +1 -1
  172. package/dist/esm/models/register-award-request-dto.d.ts +1 -1
  173. package/dist/esm/models/register-award-request-dto.js +1 -1
  174. package/dist/esm/models/register-award201-response.d.ts +1 -1
  175. package/dist/esm/models/register-award201-response.js +1 -1
  176. package/dist/esm/models/register-bid201-response.d.ts +1 -1
  177. package/dist/esm/models/register-bid201-response.js +1 -1
  178. package/dist/esm/models/register-semo-contract-request-dto.d.ts +1 -1
  179. package/dist/esm/models/register-semo-contract-request-dto.js +1 -1
  180. package/dist/esm/models/request-invoice-split-request-dto.d.ts +1 -1
  181. package/dist/esm/models/request-invoice-split-request-dto.js +1 -1
  182. package/dist/esm/models/request-invoice-split200-response.d.ts +1 -1
  183. package/dist/esm/models/request-invoice-split200-response.js +1 -1
  184. package/dist/esm/models/retiree-roster-input-dto.d.ts +1 -1
  185. package/dist/esm/models/retiree-roster-input-dto.js +1 -1
  186. package/dist/esm/models/retiree-roster-row-dto.d.ts +1 -1
  187. package/dist/esm/models/retiree-roster-row-dto.js +1 -1
  188. package/dist/esm/models/revoke-request-dto.d.ts +1 -1
  189. package/dist/esm/models/revoke-request-dto.js +1 -1
  190. package/dist/esm/models/semo-contract-registered-response-dto.d.ts +1 -1
  191. package/dist/esm/models/semo-contract-registered-response-dto.js +1 -1
  192. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  193. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  194. package/dist/esm/models/site-briefing-input-dto.d.ts +1 -1
  195. package/dist/esm/models/site-briefing-input-dto.js +1 -1
  196. package/dist/esm/models/statement-document-dto.d.ts +1 -1
  197. package/dist/esm/models/statement-document-dto.js +1 -1
  198. package/dist/esm/models/statement-product-dto.d.ts +1 -1
  199. package/dist/esm/models/statement-product-dto.js +1 -1
  200. package/dist/esm/models/supplier-card-payable-response-dto.d.ts +1 -1
  201. package/dist/esm/models/supplier-card-payable-response-dto.js +1 -1
  202. package/dist/esm/models/token-request-dto.d.ts +1 -1
  203. package/dist/esm/models/token-request-dto.js +1 -1
  204. package/dist/esm/models/token-response-dto.d.ts +1 -1
  205. package/dist/esm/models/token-response-dto.js +1 -1
  206. package/dist/esm/models/upload-file-request-dto.d.ts +1 -1
  207. package/dist/esm/models/upload-file-request-dto.js +1 -1
  208. package/dist/esm/models/upload-file201-response.d.ts +1 -1
  209. package/dist/esm/models/upload-file201-response.js +1 -1
  210. package/dist/esm/models/userinfo-response-dto.d.ts +1 -1
  211. package/dist/esm/models/userinfo-response-dto.js +1 -1
  212. package/dist/index.d.ts +1 -1
  213. package/dist/index.js +1 -1
  214. package/dist/models/acceptance-result-response-dto.d.ts +1 -1
  215. package/dist/models/acceptance-result-response-dto.js +1 -1
  216. package/dist/models/acknowledge-product-receipt200-response.d.ts +1 -1
  217. package/dist/models/acknowledge-product-receipt200-response.js +1 -1
  218. package/dist/models/acknowledge-products-request-dto.d.ts +1 -1
  219. package/dist/models/acknowledge-products-request-dto.js +1 -1
  220. package/dist/models/api-catalog-dto.d.ts +1 -1
  221. package/dist/models/api-catalog-dto.js +1 -1
  222. package/dist/models/api-catalog-entry-dto.d.ts +1 -1
  223. package/dist/models/api-catalog-entry-dto.js +1 -1
  224. package/dist/models/api-catalog-link-dto.d.ts +1 -1
  225. package/dist/models/api-catalog-link-dto.js +1 -1
  226. package/dist/models/authorization-server-metadata-dto.d.ts +1 -1
  227. package/dist/models/authorization-server-metadata-dto.js +1 -1
  228. package/dist/models/avalues-input-dto.d.ts +1 -1
  229. package/dist/models/avalues-input-dto.js +1 -1
  230. package/dist/models/award-registered-v2-response-dto.d.ts +1 -1
  231. package/dist/models/award-registered-v2-response-dto.js +1 -1
  232. package/dist/models/bid-attachment-input-dto.d.ts +1 -1
  233. package/dist/models/bid-attachment-input-dto.js +1 -1
  234. package/dist/models/bid-bond-dto.d.ts +1 -1
  235. package/dist/models/bid-bond-dto.js +1 -1
  236. package/dist/models/bid-document-dto.d.ts +1 -1
  237. package/dist/models/bid-document-dto.js +1 -1
  238. package/dist/models/bid-failed-v2-response-dto.d.ts +1 -1
  239. package/dist/models/bid-failed-v2-response-dto.js +1 -1
  240. package/dist/models/bid-item-dto.d.ts +1 -1
  241. package/dist/models/bid-item-dto.js +1 -1
  242. package/dist/models/bid-manager-dto.d.ts +1 -1
  243. package/dist/models/bid-manager-dto.js +1 -1
  244. package/dist/models/bid-public-status.d.ts +4 -1
  245. package/dist/models/bid-public-status.js +4 -1
  246. package/dist/models/bid-registered-response-dto.d.ts +1 -1
  247. package/dist/models/bid-registered-response-dto.js +1 -1
  248. package/dist/models/bid-result-participant-attachment-dto.d.ts +1 -1
  249. package/dist/models/bid-result-participant-attachment-dto.js +1 -1
  250. package/dist/models/bid-result-participant-dto.d.ts +1 -1
  251. package/dist/models/bid-result-participant-dto.js +1 -1
  252. package/dist/models/bid-results-response-dto.d.ts +1 -1
  253. package/dist/models/bid-results-response-dto.js +1 -1
  254. package/dist/models/bid-statement-response-dto.d.ts +1 -1
  255. package/dist/models/bid-statement-response-dto.js +1 -1
  256. package/dist/models/card-payment-request-response-dto.d.ts +1 -1
  257. package/dist/models/card-payment-request-response-dto.js +1 -1
  258. package/dist/models/complete-acceptance-request-dto.d.ts +1 -1
  259. package/dist/models/complete-acceptance-request-dto.js +1 -1
  260. package/dist/models/complete-acceptance200-response.d.ts +1 -1
  261. package/dist/models/complete-acceptance200-response.js +1 -1
  262. package/dist/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  263. package/dist/models/contract-restriction-confirm-input-dto.js +1 -1
  264. package/dist/models/create-bid-request-dto.d.ts +1 -1
  265. package/dist/models/create-bid-request-dto.js +1 -1
  266. package/dist/models/create-card-payment-dto.d.ts +1 -1
  267. package/dist/models/create-card-payment-dto.js +1 -1
  268. package/dist/models/create-card-payment-request-dto.d.ts +1 -1
  269. package/dist/models/create-card-payment-request-dto.js +1 -1
  270. package/dist/models/create-card-payment200-response.d.ts +1 -1
  271. package/dist/models/create-card-payment200-response.js +1 -1
  272. package/dist/models/create-external-contract-documents-request-dto.d.ts +1 -1
  273. package/dist/models/create-external-contract-documents-request-dto.js +1 -1
  274. package/dist/models/create-external-contract-documents-response-dto.d.ts +1 -1
  275. package/dist/models/create-external-contract-documents-response-dto.js +1 -1
  276. package/dist/models/excellent-procurement-public.d.ts +1 -1
  277. package/dist/models/excellent-procurement-public.js +1 -1
  278. package/dist/models/external-contract-document-item-dto.d.ts +1 -1
  279. package/dist/models/external-contract-document-item-dto.js +1 -1
  280. package/dist/models/external-contract-documents-response-dto.d.ts +1 -1
  281. package/dist/models/external-contract-documents-response-dto.js +1 -1
  282. package/dist/models/external-contract-item-dto.d.ts +1 -1
  283. package/dist/models/external-contract-item-dto.js +1 -1
  284. package/dist/models/external-contract-snapshot-dto.d.ts +1 -1
  285. package/dist/models/external-contract-snapshot-dto.js +1 -1
  286. package/dist/models/external-document-inputs-dto.d.ts +1 -1
  287. package/dist/models/external-document-inputs-dto.js +1 -1
  288. package/dist/models/file-uploaded-response-dto.d.ts +1 -1
  289. package/dist/models/file-uploaded-response-dto.js +1 -1
  290. package/dist/models/generated-external-contract-document-dto.d.ts +1 -1
  291. package/dist/models/generated-external-contract-document-dto.js +1 -1
  292. package/dist/models/get-bid-statement200-response.d.ts +1 -1
  293. package/dist/models/get-bid-statement200-response.js +1 -1
  294. package/dist/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
  295. package/dist/models/get-supplier-card-payable-v2200-response.js +1 -1
  296. package/dist/models/green-product-public.d.ts +1 -1
  297. package/dist/models/green-product-public.js +1 -1
  298. package/dist/models/health-controller-check200-response.d.ts +1 -1
  299. package/dist/models/health-controller-check200-response.js +1 -1
  300. package/dist/models/health-response-dto.d.ts +1 -1
  301. package/dist/models/health-response-dto.js +1 -1
  302. package/dist/models/hierarchical-region-dto.d.ts +1 -1
  303. package/dist/models/hierarchical-region-dto.js +1 -1
  304. package/dist/models/index.d.ts +1 -82
  305. package/dist/models/index.js +1 -82
  306. package/dist/models/introspect-request-dto.d.ts +1 -1
  307. package/dist/models/introspect-request-dto.js +1 -1
  308. package/dist/models/introspection-response-dto.d.ts +1 -1
  309. package/dist/models/introspection-response-dto.js +1 -1
  310. package/dist/models/invalid-param-dto.d.ts +1 -1
  311. package/dist/models/invalid-param-dto.js +1 -1
  312. package/dist/models/invoice-split-response-dto.d.ts +1 -1
  313. package/dist/models/invoice-split-response-dto.js +1 -1
  314. package/dist/models/legal-mandatory-public.d.ts +1 -1
  315. package/dist/models/legal-mandatory-public.js +1 -1
  316. package/dist/models/{list-bids200-response-meta.d.ts β†’ list-bid-results200-response-meta.d.ts} +2 -2
  317. package/dist/models/{bid-acceptance-dto.js β†’ list-bid-results200-response-meta.js} +1 -1
  318. package/dist/models/list-bid-results200-response.d.ts +3 -3
  319. package/dist/models/list-bid-results200-response.js +1 -1
  320. package/dist/models/list-products200-response.d.ts +3 -3
  321. package/dist/models/list-products200-response.js +1 -1
  322. package/dist/models/mark-bid-failed-request-dto.d.ts +1 -1
  323. package/dist/models/mark-bid-failed-request-dto.js +1 -1
  324. package/dist/models/mark-bid-failed201-response.d.ts +1 -1
  325. package/dist/models/mark-bid-failed201-response.js +1 -1
  326. package/dist/models/nominated-supplier-dto.d.ts +1 -1
  327. package/dist/models/nominated-supplier-dto.js +1 -1
  328. package/dist/models/oauth-error-response-dto.d.ts +1 -1
  329. package/dist/models/oauth-error-response-dto.js +1 -1
  330. package/dist/models/preconditions-dto.d.ts +1 -1
  331. package/dist/models/preconditions-dto.js +1 -1
  332. package/dist/models/problem-details-dto.d.ts +1 -1
  333. package/dist/models/problem-details-dto.js +1 -1
  334. package/dist/models/product-receipt-response-dto.d.ts +1 -1
  335. package/dist/models/product-receipt-response-dto.js +1 -1
  336. package/dist/models/product-response-dto.d.ts +1 -1
  337. package/dist/models/product-response-dto.js +1 -1
  338. package/dist/models/protected-resource-metadata-dto.d.ts +1 -1
  339. package/dist/models/protected-resource-metadata-dto.js +1 -1
  340. package/dist/models/qualification-review-input-dto.d.ts +1 -1
  341. package/dist/models/qualification-review-input-dto.js +1 -1
  342. package/dist/models/register-award-request-dto.d.ts +1 -1
  343. package/dist/models/register-award-request-dto.js +1 -1
  344. package/dist/models/register-award201-response.d.ts +1 -1
  345. package/dist/models/register-award201-response.js +1 -1
  346. package/dist/models/register-bid201-response.d.ts +1 -1
  347. package/dist/models/register-bid201-response.js +1 -1
  348. package/dist/models/register-semo-contract-request-dto.d.ts +1 -1
  349. package/dist/models/register-semo-contract-request-dto.js +1 -1
  350. package/dist/models/request-invoice-split-request-dto.d.ts +1 -1
  351. package/dist/models/request-invoice-split-request-dto.js +1 -1
  352. package/dist/models/request-invoice-split200-response.d.ts +1 -1
  353. package/dist/models/request-invoice-split200-response.js +1 -1
  354. package/dist/models/retiree-roster-input-dto.d.ts +1 -1
  355. package/dist/models/retiree-roster-input-dto.js +1 -1
  356. package/dist/models/retiree-roster-row-dto.d.ts +1 -1
  357. package/dist/models/retiree-roster-row-dto.js +1 -1
  358. package/dist/models/revoke-request-dto.d.ts +1 -1
  359. package/dist/models/revoke-request-dto.js +1 -1
  360. package/dist/models/semo-contract-registered-response-dto.d.ts +1 -1
  361. package/dist/models/semo-contract-registered-response-dto.js +1 -1
  362. package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  363. package/dist/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  364. package/dist/models/site-briefing-input-dto.d.ts +1 -1
  365. package/dist/models/site-briefing-input-dto.js +1 -1
  366. package/dist/models/statement-document-dto.d.ts +1 -1
  367. package/dist/models/statement-document-dto.js +1 -1
  368. package/dist/models/statement-product-dto.d.ts +1 -1
  369. package/dist/models/statement-product-dto.js +1 -1
  370. package/dist/models/supplier-card-payable-response-dto.d.ts +1 -1
  371. package/dist/models/supplier-card-payable-response-dto.js +1 -1
  372. package/dist/models/token-request-dto.d.ts +1 -1
  373. package/dist/models/token-request-dto.js +1 -1
  374. package/dist/models/token-response-dto.d.ts +1 -1
  375. package/dist/models/token-response-dto.js +1 -1
  376. package/dist/models/upload-file-request-dto.d.ts +1 -1
  377. package/dist/models/upload-file-request-dto.js +1 -1
  378. package/dist/models/upload-file201-response.d.ts +1 -1
  379. package/dist/models/upload-file201-response.js +1 -1
  380. package/dist/models/userinfo-response-dto.d.ts +1 -1
  381. package/dist/models/userinfo-response-dto.js +1 -1
  382. package/docs/BidPublicStatus.md +1 -0
  383. package/docs/ListBidResults200Response.md +1 -1
  384. package/docs/{ListBids200ResponseMeta.md β†’ ListBidResults200ResponseMeta.md} +3 -3
  385. package/docs/ListProducts200Response.md +1 -1
  386. package/docs/PartnerApiApi.md +153 -1030
  387. package/index.ts +1 -1
  388. package/models/acceptance-result-response-dto.ts +1 -1
  389. package/models/acknowledge-product-receipt200-response.ts +1 -1
  390. package/models/acknowledge-products-request-dto.ts +1 -1
  391. package/models/api-catalog-dto.ts +1 -1
  392. package/models/api-catalog-entry-dto.ts +1 -1
  393. package/models/api-catalog-link-dto.ts +1 -1
  394. package/models/authorization-server-metadata-dto.ts +1 -1
  395. package/models/avalues-input-dto.ts +1 -1
  396. package/models/award-registered-v2-response-dto.ts +1 -1
  397. package/models/bid-attachment-input-dto.ts +1 -1
  398. package/models/bid-bond-dto.ts +1 -1
  399. package/models/bid-document-dto.ts +1 -1
  400. package/models/bid-failed-v2-response-dto.ts +1 -1
  401. package/models/bid-item-dto.ts +1 -1
  402. package/models/bid-manager-dto.ts +1 -1
  403. package/models/bid-public-status.ts +4 -1
  404. package/models/bid-registered-response-dto.ts +1 -1
  405. package/models/bid-result-participant-attachment-dto.ts +1 -1
  406. package/models/bid-result-participant-dto.ts +1 -1
  407. package/models/bid-results-response-dto.ts +1 -1
  408. package/models/bid-statement-response-dto.ts +1 -1
  409. package/models/card-payment-request-response-dto.ts +1 -1
  410. package/models/complete-acceptance-request-dto.ts +1 -1
  411. package/models/complete-acceptance200-response.ts +1 -1
  412. package/models/contract-restriction-confirm-input-dto.ts +1 -1
  413. package/models/create-bid-request-dto.ts +1 -1
  414. package/models/create-card-payment-dto.ts +1 -1
  415. package/models/create-card-payment-request-dto.ts +1 -1
  416. package/models/create-card-payment200-response.ts +1 -1
  417. package/models/create-external-contract-documents-request-dto.ts +1 -1
  418. package/models/create-external-contract-documents-response-dto.ts +1 -1
  419. package/models/excellent-procurement-public.ts +1 -1
  420. package/models/external-contract-document-item-dto.ts +1 -1
  421. package/models/external-contract-documents-response-dto.ts +1 -1
  422. package/models/external-contract-item-dto.ts +1 -1
  423. package/models/external-contract-snapshot-dto.ts +1 -1
  424. package/models/external-document-inputs-dto.ts +1 -1
  425. package/models/file-uploaded-response-dto.ts +1 -1
  426. package/models/generated-external-contract-document-dto.ts +1 -1
  427. package/models/get-bid-statement200-response.ts +1 -1
  428. package/models/get-supplier-card-payable-v2200-response.ts +1 -1
  429. package/models/green-product-public.ts +1 -1
  430. package/models/health-controller-check200-response.ts +1 -1
  431. package/models/health-response-dto.ts +1 -1
  432. package/models/hierarchical-region-dto.ts +1 -1
  433. package/models/index.ts +1 -82
  434. package/models/introspect-request-dto.ts +1 -1
  435. package/models/introspection-response-dto.ts +1 -1
  436. package/models/invalid-param-dto.ts +1 -1
  437. package/models/invoice-split-response-dto.ts +1 -1
  438. package/models/legal-mandatory-public.ts +1 -1
  439. package/models/{list-bids200-response-meta.ts β†’ list-bid-results200-response-meta.ts} +2 -2
  440. package/models/list-bid-results200-response.ts +3 -3
  441. package/models/list-products200-response.ts +3 -3
  442. package/models/mark-bid-failed-request-dto.ts +1 -1
  443. package/models/mark-bid-failed201-response.ts +1 -1
  444. package/models/nominated-supplier-dto.ts +1 -1
  445. package/models/oauth-error-response-dto.ts +1 -1
  446. package/models/preconditions-dto.ts +1 -1
  447. package/models/problem-details-dto.ts +1 -1
  448. package/models/product-receipt-response-dto.ts +1 -1
  449. package/models/product-response-dto.ts +1 -1
  450. package/models/protected-resource-metadata-dto.ts +1 -1
  451. package/models/qualification-review-input-dto.ts +1 -1
  452. package/models/register-award-request-dto.ts +1 -1
  453. package/models/register-award201-response.ts +1 -1
  454. package/models/register-bid201-response.ts +1 -1
  455. package/models/register-semo-contract-request-dto.ts +1 -1
  456. package/models/request-invoice-split-request-dto.ts +1 -1
  457. package/models/request-invoice-split200-response.ts +1 -1
  458. package/models/retiree-roster-input-dto.ts +1 -1
  459. package/models/retiree-roster-row-dto.ts +1 -1
  460. package/models/revoke-request-dto.ts +1 -1
  461. package/models/semo-contract-registered-response-dto.ts +1 -1
  462. package/models/semo-contract-taxinvoice-status-response-dto.ts +1 -1
  463. package/models/site-briefing-input-dto.ts +1 -1
  464. package/models/statement-document-dto.ts +1 -1
  465. package/models/statement-product-dto.ts +1 -1
  466. package/models/supplier-card-payable-response-dto.ts +1 -1
  467. package/models/token-request-dto.ts +1 -1
  468. package/models/token-response-dto.ts +1 -1
  469. package/models/upload-file-request-dto.ts +1 -1
  470. package/models/upload-file201-response.ts +1 -1
  471. package/models/userinfo-response-dto.ts +1 -1
  472. package/package.json +1 -1
  473. package/api/embed-api.ts +0 -133
  474. package/dist/api/embed-api.d.ts +0 -68
  475. package/dist/api/embed-api.js +0 -133
  476. package/dist/esm/api/embed-api.d.ts +0 -68
  477. package/dist/esm/api/embed-api.js +0 -126
  478. package/dist/esm/models/award-method-public.d.ts +0 -25
  479. package/dist/esm/models/award-method-public.js +0 -26
  480. package/dist/esm/models/award-reverted-v2-response-dto.d.ts +0 -25
  481. package/dist/esm/models/award-reverted-v2-response-dto.js +0 -16
  482. package/dist/esm/models/bid-acceptance-dto.d.ts +0 -29
  483. package/dist/esm/models/bid-acceptance-dto.js +0 -14
  484. package/dist/esm/models/bid-attachment-dto.d.ts +0 -29
  485. package/dist/esm/models/bid-avalues-dto.d.ts +0 -41
  486. package/dist/esm/models/bid-avalues-dto.js +0 -14
  487. package/dist/esm/models/bid-award-method-detail-dto.d.ts +0 -26
  488. package/dist/esm/models/bid-award-method-detail-dto.js +0 -14
  489. package/dist/esm/models/bid-cancellation-dto.d.ts +0 -17
  490. package/dist/esm/models/bid-cancellation-dto.js +0 -14
  491. package/dist/esm/models/bid-cancelled-response-dto.d.ts +0 -25
  492. package/dist/esm/models/bid-cancelled-response-dto.js +0 -16
  493. package/dist/esm/models/bid-category-public.d.ts +0 -21
  494. package/dist/esm/models/bid-category-public.js +0 -22
  495. package/dist/esm/models/bid-contact-dto.d.ts +0 -33
  496. package/dist/esm/models/bid-contact-dto.js +0 -14
  497. package/dist/esm/models/bid-contacts-dto.d.ts +0 -22
  498. package/dist/esm/models/bid-contacts-dto.js +0 -14
  499. package/dist/esm/models/bid-contract-document-dto.d.ts +0 -60
  500. package/dist/esm/models/bid-contract-document-dto.js +0 -19
  501. package/dist/esm/models/bid-delivery-terms-dto.d.ts +0 -35
  502. package/dist/esm/models/bid-delivery-terms-dto.js +0 -14
  503. package/dist/esm/models/bid-detail-response-dto.d.ts +0 -211
  504. package/dist/esm/models/bid-detail-response-dto.js +0 -14
  505. package/dist/esm/models/bid-license-requirement-dto.d.ts +0 -26
  506. package/dist/esm/models/bid-license-requirement-dto.js +0 -14
  507. package/dist/esm/models/bid-lifecycle-dto.d.ts +0 -33
  508. package/dist/esm/models/bid-lifecycle-dto.js +0 -14
  509. package/dist/esm/models/bid-must-read-notice-dto.d.ts +0 -21
  510. package/dist/esm/models/bid-must-read-notice-dto.js +0 -14
  511. package/dist/esm/models/bid-payment-terms-dto.d.ts +0 -22
  512. package/dist/esm/models/bid-payment-terms-dto.js +0 -14
  513. package/dist/esm/models/bid-preliminary-price-dto.d.ts +0 -38
  514. package/dist/esm/models/bid-preliminary-price-dto.js +0 -14
  515. package/dist/esm/models/bid-preliminary-price-slot-dto.d.ts +0 -25
  516. package/dist/esm/models/bid-preliminary-price-slot-dto.js +0 -14
  517. package/dist/esm/models/bid-product-dto.d.ts +0 -55
  518. package/dist/esm/models/bid-product-dto.js +0 -14
  519. package/dist/esm/models/bid-qualification-review-dto.d.ts +0 -35
  520. package/dist/esm/models/bid-qualification-review-dto.js +0 -14
  521. package/dist/esm/models/bid-region-dto.d.ts +0 -21
  522. package/dist/esm/models/bid-region-dto.js +0 -14
  523. package/dist/esm/models/bid-region-restriction-dto.d.ts +0 -22
  524. package/dist/esm/models/bid-region-restriction-dto.js +0 -14
  525. package/dist/esm/models/bid-related-bid-dto.d.ts +0 -22
  526. package/dist/esm/models/bid-related-bid-dto.js +0 -14
  527. package/dist/esm/models/bid-required-document-dto.d.ts +0 -25
  528. package/dist/esm/models/bid-required-document-dto.js +0 -14
  529. package/dist/esm/models/bid-settlement-line-item-dto.d.ts +0 -49
  530. package/dist/esm/models/bid-settlement-line-item-dto.js +0 -14
  531. package/dist/esm/models/bid-settlement-participant-dto.d.ts +0 -91
  532. package/dist/esm/models/bid-settlement-participant-dto.js +0 -14
  533. package/dist/esm/models/bid-settlement-response-dto.d.ts +0 -22
  534. package/dist/esm/models/bid-settlement-response-dto.js +0 -14
  535. package/dist/esm/models/bid-site-briefing-dto.d.ts +0 -21
  536. package/dist/esm/models/bid-site-briefing-dto.js +0 -14
  537. package/dist/esm/models/bid-summary-dto.d.ts +0 -94
  538. package/dist/esm/models/bid-summary-dto.js +0 -14
  539. package/dist/esm/models/bid-type-public.d.ts +0 -19
  540. package/dist/esm/models/bid-type-public.js +0 -20
  541. package/dist/esm/models/bid-updated-response-dto.d.ts +0 -17
  542. package/dist/esm/models/bid-updated-response-dto.js +0 -14
  543. package/dist/esm/models/bidding-style-public.d.ts +0 -19
  544. package/dist/esm/models/bidding-style-public.js +0 -20
  545. package/dist/esm/models/cancel-bid-request-dto.d.ts +0 -17
  546. package/dist/esm/models/cancel-bid-request-dto.js +0 -14
  547. package/dist/esm/models/cancel-bid200-response.d.ts +0 -15
  548. package/dist/esm/models/cancel-bid200-response.js +0 -14
  549. package/dist/esm/models/cancel-kcl-mro-order-request-dto.d.ts +0 -15
  550. package/dist/esm/models/cancel-kcl-mro-order-request-dto.js +0 -14
  551. package/dist/esm/models/cancel-kcl-mro-order-response-dto.d.ts +0 -17
  552. package/dist/esm/models/cancel-kcl-mro-order-response-dto.js +0 -14
  553. package/dist/esm/models/cancel-kcl-mro-order200-response.d.ts +0 -15
  554. package/dist/esm/models/cancel-kcl-mro-order200-response.js +0 -14
  555. package/dist/esm/models/complete-invoice200-response.d.ts +0 -15
  556. package/dist/esm/models/complete-invoice200-response.js +0 -14
  557. package/dist/esm/models/complete-upload-request-dto.d.ts +0 -17
  558. package/dist/esm/models/complete-upload-request-dto.js +0 -14
  559. package/dist/esm/models/create-embed-launch201-response.d.ts +0 -15
  560. package/dist/esm/models/create-embed-launch201-response.js +0 -14
  561. package/dist/esm/models/create-file-upload-url201-response.d.ts +0 -15
  562. package/dist/esm/models/create-file-upload-url201-response.js +0 -14
  563. package/dist/esm/models/create-upload-url-request-dto.d.ts +0 -21
  564. package/dist/esm/models/create-upload-url-request-dto.js +0 -14
  565. package/dist/esm/models/delivery-date-type-public.d.ts +0 -20
  566. package/dist/esm/models/delivery-date-type-public.js +0 -21
  567. package/dist/esm/models/delivery-method-public.d.ts +0 -20
  568. package/dist/esm/models/delivery-method-public.js +0 -21
  569. package/dist/esm/models/embed-bid-prefill-dto.d.ts +0 -75
  570. package/dist/esm/models/embed-bid-prefill-dto.js +0 -23
  571. package/dist/esm/models/embed-bid-prefill-item-dto.d.ts +0 -33
  572. package/dist/esm/models/embed-bid-prefill-item-dto.js +0 -14
  573. package/dist/esm/models/embed-bid-prefill-manager-dto.d.ts +0 -29
  574. package/dist/esm/models/embed-bid-prefill-manager-dto.js +0 -14
  575. package/dist/esm/models/embed-launch-request-dto.d.ts +0 -56
  576. package/dist/esm/models/embed-launch-request-dto.js +0 -29
  577. package/dist/esm/models/embed-launch-response-dto.d.ts +0 -21
  578. package/dist/esm/models/embed-launch-response-dto.js +0 -14
  579. package/dist/esm/models/get-bid-settlement200-response.d.ts +0 -15
  580. package/dist/esm/models/get-bid-settlement200-response.js +0 -14
  581. package/dist/esm/models/get-bid200-response.d.ts +0 -15
  582. package/dist/esm/models/get-bid200-response.js +0 -14
  583. package/dist/esm/models/get-kcl-mro-order-status200-response.d.ts +0 -15
  584. package/dist/esm/models/get-kcl-mro-order-status200-response.js +0 -14
  585. package/dist/esm/models/handover-type-public.d.ts +0 -19
  586. package/dist/esm/models/handover-type-public.js +0 -20
  587. package/dist/esm/models/invoice-completed-response-dto.d.ts +0 -17
  588. package/dist/esm/models/invoice-completed-response-dto.js +0 -14
  589. package/dist/esm/models/kcl-mro-order-item-dto.d.ts +0 -44
  590. package/dist/esm/models/kcl-mro-order-item-dto.js +0 -22
  591. package/dist/esm/models/kcl-mro-order-status-response-dto.d.ts +0 -34
  592. package/dist/esm/models/kcl-mro-order-status-response-dto.js +0 -14
  593. package/dist/esm/models/kcl-mro-quote-result-dto.d.ts +0 -33
  594. package/dist/esm/models/kcl-mro-quote-result-dto.js +0 -14
  595. package/dist/esm/models/kcl-mro-ship-to-dto.d.ts +0 -24
  596. package/dist/esm/models/kcl-mro-ship-to-dto.js +0 -14
  597. package/dist/esm/models/license-combination-mode.d.ts +0 -19
  598. package/dist/esm/models/license-combination-mode.js +0 -20
  599. package/dist/esm/models/list-bids200-response-meta.js +0 -14
  600. package/dist/esm/models/list-bids200-response.d.ts +0 -17
  601. package/dist/esm/models/list-bids200-response.js +0 -14
  602. package/dist/esm/models/list-suppliers200-response.d.ts +0 -17
  603. package/dist/esm/models/list-suppliers200-response.js +0 -14
  604. package/dist/esm/models/payment-method-public.d.ts +0 -19
  605. package/dist/esm/models/payment-method-public.js +0 -20
  606. package/dist/esm/models/preliminary-price-region-public.d.ts +0 -20
  607. package/dist/esm/models/preliminary-price-region-public.js +0 -21
  608. package/dist/esm/models/price-score-type-public.d.ts +0 -20
  609. package/dist/esm/models/price-score-type-public.js +0 -21
  610. package/dist/esm/models/pricing-type-public.d.ts +0 -19
  611. package/dist/esm/models/pricing-type-public.js +0 -20
  612. package/dist/esm/models/regulation-type-public.d.ts +0 -19
  613. package/dist/esm/models/regulation-type-public.js +0 -20
  614. package/dist/esm/models/related-bid-relation.d.ts +0 -20
  615. package/dist/esm/models/related-bid-relation.js +0 -21
  616. package/dist/esm/models/relay-kcl-mro-order-request-dto.d.ts +0 -35
  617. package/dist/esm/models/relay-kcl-mro-order-request-dto.js +0 -14
  618. package/dist/esm/models/relay-kcl-mro-order-response-dto.d.ts +0 -26
  619. package/dist/esm/models/relay-kcl-mro-order-response-dto.js +0 -14
  620. package/dist/esm/models/relay-kcl-mro-order200-response.d.ts +0 -15
  621. package/dist/esm/models/relay-kcl-mro-order200-response.js +0 -14
  622. package/dist/esm/models/revert-award-request-dto.d.ts +0 -17
  623. package/dist/esm/models/revert-award-request-dto.js +0 -14
  624. package/dist/esm/models/revert-award200-response.d.ts +0 -15
  625. package/dist/esm/models/revert-award200-response.js +0 -14
  626. package/dist/esm/models/supplier-response-dto.d.ts +0 -33
  627. package/dist/esm/models/supplier-response-dto.js +0 -14
  628. package/dist/esm/models/supplier-tax-type.d.ts +0 -19
  629. package/dist/esm/models/supplier-tax-type.js +0 -20
  630. package/dist/esm/models/taxation-type-public.d.ts +0 -20
  631. package/dist/esm/models/taxation-type-public.js +0 -21
  632. package/dist/esm/models/two-stage-phase-public.d.ts +0 -19
  633. package/dist/esm/models/two-stage-phase-public.js +0 -20
  634. package/dist/esm/models/update-bid-request-dto.d.ts +0 -343
  635. package/dist/esm/models/update-bid-request-dto.js +0 -105
  636. package/dist/esm/models/update-bid200-response.d.ts +0 -15
  637. package/dist/esm/models/update-bid200-response.js +0 -14
  638. package/dist/esm/models/upload-url-created-response-dto.d.ts +0 -29
  639. package/dist/esm/models/upload-url-created-response-dto.js +0 -14
  640. package/dist/models/award-method-public.d.ts +0 -25
  641. package/dist/models/award-method-public.js +0 -29
  642. package/dist/models/award-reverted-v2-response-dto.d.ts +0 -25
  643. package/dist/models/award-reverted-v2-response-dto.js +0 -19
  644. package/dist/models/bid-acceptance-dto.d.ts +0 -29
  645. package/dist/models/bid-attachment-dto.d.ts +0 -29
  646. package/dist/models/bid-attachment-dto.js +0 -15
  647. package/dist/models/bid-avalues-dto.d.ts +0 -41
  648. package/dist/models/bid-avalues-dto.js +0 -15
  649. package/dist/models/bid-award-method-detail-dto.d.ts +0 -26
  650. package/dist/models/bid-award-method-detail-dto.js +0 -15
  651. package/dist/models/bid-cancellation-dto.d.ts +0 -17
  652. package/dist/models/bid-cancellation-dto.js +0 -15
  653. package/dist/models/bid-cancelled-response-dto.d.ts +0 -25
  654. package/dist/models/bid-cancelled-response-dto.js +0 -19
  655. package/dist/models/bid-category-public.d.ts +0 -21
  656. package/dist/models/bid-category-public.js +0 -25
  657. package/dist/models/bid-contact-dto.d.ts +0 -33
  658. package/dist/models/bid-contact-dto.js +0 -15
  659. package/dist/models/bid-contacts-dto.d.ts +0 -22
  660. package/dist/models/bid-contacts-dto.js +0 -15
  661. package/dist/models/bid-contract-document-dto.d.ts +0 -60
  662. package/dist/models/bid-contract-document-dto.js +0 -22
  663. package/dist/models/bid-delivery-terms-dto.d.ts +0 -35
  664. package/dist/models/bid-delivery-terms-dto.js +0 -15
  665. package/dist/models/bid-detail-response-dto.d.ts +0 -211
  666. package/dist/models/bid-detail-response-dto.js +0 -15
  667. package/dist/models/bid-license-requirement-dto.d.ts +0 -26
  668. package/dist/models/bid-license-requirement-dto.js +0 -15
  669. package/dist/models/bid-lifecycle-dto.d.ts +0 -33
  670. package/dist/models/bid-lifecycle-dto.js +0 -15
  671. package/dist/models/bid-must-read-notice-dto.d.ts +0 -21
  672. package/dist/models/bid-must-read-notice-dto.js +0 -15
  673. package/dist/models/bid-payment-terms-dto.d.ts +0 -22
  674. package/dist/models/bid-payment-terms-dto.js +0 -15
  675. package/dist/models/bid-preliminary-price-dto.d.ts +0 -38
  676. package/dist/models/bid-preliminary-price-dto.js +0 -15
  677. package/dist/models/bid-preliminary-price-slot-dto.d.ts +0 -25
  678. package/dist/models/bid-preliminary-price-slot-dto.js +0 -15
  679. package/dist/models/bid-product-dto.d.ts +0 -55
  680. package/dist/models/bid-product-dto.js +0 -15
  681. package/dist/models/bid-qualification-review-dto.d.ts +0 -35
  682. package/dist/models/bid-qualification-review-dto.js +0 -15
  683. package/dist/models/bid-region-dto.d.ts +0 -21
  684. package/dist/models/bid-region-dto.js +0 -15
  685. package/dist/models/bid-region-restriction-dto.d.ts +0 -22
  686. package/dist/models/bid-region-restriction-dto.js +0 -15
  687. package/dist/models/bid-related-bid-dto.d.ts +0 -22
  688. package/dist/models/bid-related-bid-dto.js +0 -15
  689. package/dist/models/bid-required-document-dto.d.ts +0 -25
  690. package/dist/models/bid-required-document-dto.js +0 -15
  691. package/dist/models/bid-settlement-line-item-dto.d.ts +0 -49
  692. package/dist/models/bid-settlement-line-item-dto.js +0 -15
  693. package/dist/models/bid-settlement-participant-dto.d.ts +0 -91
  694. package/dist/models/bid-settlement-participant-dto.js +0 -15
  695. package/dist/models/bid-settlement-response-dto.d.ts +0 -22
  696. package/dist/models/bid-settlement-response-dto.js +0 -15
  697. package/dist/models/bid-site-briefing-dto.d.ts +0 -21
  698. package/dist/models/bid-site-briefing-dto.js +0 -15
  699. package/dist/models/bid-summary-dto.d.ts +0 -94
  700. package/dist/models/bid-summary-dto.js +0 -15
  701. package/dist/models/bid-type-public.d.ts +0 -19
  702. package/dist/models/bid-type-public.js +0 -23
  703. package/dist/models/bid-updated-response-dto.d.ts +0 -17
  704. package/dist/models/bid-updated-response-dto.js +0 -15
  705. package/dist/models/bidding-style-public.d.ts +0 -19
  706. package/dist/models/bidding-style-public.js +0 -23
  707. package/dist/models/cancel-bid-request-dto.d.ts +0 -17
  708. package/dist/models/cancel-bid-request-dto.js +0 -15
  709. package/dist/models/cancel-bid200-response.d.ts +0 -15
  710. package/dist/models/cancel-bid200-response.js +0 -15
  711. package/dist/models/cancel-kcl-mro-order-request-dto.d.ts +0 -15
  712. package/dist/models/cancel-kcl-mro-order-request-dto.js +0 -15
  713. package/dist/models/cancel-kcl-mro-order-response-dto.d.ts +0 -17
  714. package/dist/models/cancel-kcl-mro-order-response-dto.js +0 -15
  715. package/dist/models/cancel-kcl-mro-order200-response.d.ts +0 -15
  716. package/dist/models/cancel-kcl-mro-order200-response.js +0 -15
  717. package/dist/models/complete-invoice200-response.d.ts +0 -15
  718. package/dist/models/complete-invoice200-response.js +0 -15
  719. package/dist/models/complete-upload-request-dto.d.ts +0 -17
  720. package/dist/models/complete-upload-request-dto.js +0 -15
  721. package/dist/models/create-embed-launch201-response.d.ts +0 -15
  722. package/dist/models/create-embed-launch201-response.js +0 -15
  723. package/dist/models/create-file-upload-url201-response.d.ts +0 -15
  724. package/dist/models/create-file-upload-url201-response.js +0 -15
  725. package/dist/models/create-upload-url-request-dto.d.ts +0 -21
  726. package/dist/models/create-upload-url-request-dto.js +0 -15
  727. package/dist/models/delivery-date-type-public.d.ts +0 -20
  728. package/dist/models/delivery-date-type-public.js +0 -24
  729. package/dist/models/delivery-method-public.d.ts +0 -20
  730. package/dist/models/delivery-method-public.js +0 -24
  731. package/dist/models/embed-bid-prefill-dto.d.ts +0 -75
  732. package/dist/models/embed-bid-prefill-dto.js +0 -26
  733. package/dist/models/embed-bid-prefill-item-dto.d.ts +0 -33
  734. package/dist/models/embed-bid-prefill-item-dto.js +0 -15
  735. package/dist/models/embed-bid-prefill-manager-dto.d.ts +0 -29
  736. package/dist/models/embed-bid-prefill-manager-dto.js +0 -15
  737. package/dist/models/embed-launch-request-dto.d.ts +0 -56
  738. package/dist/models/embed-launch-request-dto.js +0 -32
  739. package/dist/models/embed-launch-response-dto.d.ts +0 -21
  740. package/dist/models/embed-launch-response-dto.js +0 -15
  741. package/dist/models/get-bid-settlement200-response.d.ts +0 -15
  742. package/dist/models/get-bid-settlement200-response.js +0 -15
  743. package/dist/models/get-bid200-response.d.ts +0 -15
  744. package/dist/models/get-bid200-response.js +0 -15
  745. package/dist/models/get-kcl-mro-order-status200-response.d.ts +0 -15
  746. package/dist/models/get-kcl-mro-order-status200-response.js +0 -15
  747. package/dist/models/handover-type-public.d.ts +0 -19
  748. package/dist/models/handover-type-public.js +0 -23
  749. package/dist/models/invoice-completed-response-dto.d.ts +0 -17
  750. package/dist/models/invoice-completed-response-dto.js +0 -15
  751. package/dist/models/kcl-mro-order-item-dto.d.ts +0 -44
  752. package/dist/models/kcl-mro-order-item-dto.js +0 -25
  753. package/dist/models/kcl-mro-order-status-response-dto.d.ts +0 -34
  754. package/dist/models/kcl-mro-order-status-response-dto.js +0 -15
  755. package/dist/models/kcl-mro-quote-result-dto.d.ts +0 -33
  756. package/dist/models/kcl-mro-quote-result-dto.js +0 -15
  757. package/dist/models/kcl-mro-ship-to-dto.d.ts +0 -24
  758. package/dist/models/kcl-mro-ship-to-dto.js +0 -15
  759. package/dist/models/license-combination-mode.d.ts +0 -19
  760. package/dist/models/license-combination-mode.js +0 -23
  761. package/dist/models/list-bids200-response-meta.js +0 -15
  762. package/dist/models/list-bids200-response.d.ts +0 -17
  763. package/dist/models/list-bids200-response.js +0 -15
  764. package/dist/models/list-suppliers200-response.d.ts +0 -17
  765. package/dist/models/list-suppliers200-response.js +0 -15
  766. package/dist/models/payment-method-public.d.ts +0 -19
  767. package/dist/models/payment-method-public.js +0 -23
  768. package/dist/models/preliminary-price-region-public.d.ts +0 -20
  769. package/dist/models/preliminary-price-region-public.js +0 -24
  770. package/dist/models/price-score-type-public.d.ts +0 -20
  771. package/dist/models/price-score-type-public.js +0 -24
  772. package/dist/models/pricing-type-public.d.ts +0 -19
  773. package/dist/models/pricing-type-public.js +0 -23
  774. package/dist/models/regulation-type-public.d.ts +0 -19
  775. package/dist/models/regulation-type-public.js +0 -23
  776. package/dist/models/related-bid-relation.d.ts +0 -20
  777. package/dist/models/related-bid-relation.js +0 -24
  778. package/dist/models/relay-kcl-mro-order-request-dto.d.ts +0 -35
  779. package/dist/models/relay-kcl-mro-order-request-dto.js +0 -15
  780. package/dist/models/relay-kcl-mro-order-response-dto.d.ts +0 -26
  781. package/dist/models/relay-kcl-mro-order-response-dto.js +0 -15
  782. package/dist/models/relay-kcl-mro-order200-response.d.ts +0 -15
  783. package/dist/models/relay-kcl-mro-order200-response.js +0 -15
  784. package/dist/models/revert-award-request-dto.d.ts +0 -17
  785. package/dist/models/revert-award-request-dto.js +0 -15
  786. package/dist/models/revert-award200-response.d.ts +0 -15
  787. package/dist/models/revert-award200-response.js +0 -15
  788. package/dist/models/supplier-response-dto.d.ts +0 -33
  789. package/dist/models/supplier-response-dto.js +0 -15
  790. package/dist/models/supplier-tax-type.d.ts +0 -19
  791. package/dist/models/supplier-tax-type.js +0 -23
  792. package/dist/models/taxation-type-public.d.ts +0 -20
  793. package/dist/models/taxation-type-public.js +0 -24
  794. package/dist/models/two-stage-phase-public.d.ts +0 -19
  795. package/dist/models/two-stage-phase-public.js +0 -23
  796. package/dist/models/update-bid-request-dto.d.ts +0 -343
  797. package/dist/models/update-bid-request-dto.js +0 -108
  798. package/dist/models/update-bid200-response.d.ts +0 -15
  799. package/dist/models/update-bid200-response.js +0 -15
  800. package/dist/models/upload-url-created-response-dto.d.ts +0 -29
  801. package/dist/models/upload-url-created-response-dto.js +0 -15
  802. package/docs/AwardMethodPublic.md +0 -23
  803. package/docs/AwardRevertedV2ResponseDto.md +0 -22
  804. package/docs/BidAValuesDto.md +0 -32
  805. package/docs/BidAcceptanceDto.md +0 -26
  806. package/docs/BidAttachmentDto.md +0 -26
  807. package/docs/BidAwardMethodDetailDto.md +0 -24
  808. package/docs/BidCancellationDto.md +0 -20
  809. package/docs/BidCancelledResponseDto.md +0 -22
  810. package/docs/BidCategoryPublic.md +0 -15
  811. package/docs/BidContactDto.md +0 -28
  812. package/docs/BidContactsDto.md +0 -22
  813. package/docs/BidContractDocumentDto.md +0 -38
  814. package/docs/BidDeliveryTermsDto.md +0 -28
  815. package/docs/BidDetailResponseDto.md +0 -104
  816. package/docs/BidLicenseRequirementDto.md +0 -24
  817. package/docs/BidLifecycleDto.md +0 -28
  818. package/docs/BidMustReadNoticeDto.md +0 -22
  819. package/docs/BidPaymentTermsDto.md +0 -22
  820. package/docs/BidPreliminaryPriceDto.md +0 -30
  821. package/docs/BidPreliminaryPriceSlotDto.md +0 -24
  822. package/docs/BidProductDto.md +0 -38
  823. package/docs/BidQualificationReviewDto.md +0 -28
  824. package/docs/BidRegionDto.md +0 -22
  825. package/docs/BidRegionRestrictionDto.md +0 -22
  826. package/docs/BidRelatedBidDto.md +0 -22
  827. package/docs/BidRequiredDocumentDto.md +0 -24
  828. package/docs/BidSettlementLineItemDto.md +0 -36
  829. package/docs/BidSettlementParticipantDto.md +0 -56
  830. package/docs/BidSettlementResponseDto.md +0 -22
  831. package/docs/BidSiteBriefingDto.md +0 -22
  832. package/docs/BidSummaryDto.md +0 -54
  833. package/docs/BidTypePublic.md +0 -11
  834. package/docs/BidUpdatedResponseDto.md +0 -20
  835. package/docs/BiddingStylePublic.md +0 -11
  836. package/docs/CancelBid200Response.md +0 -20
  837. package/docs/CancelBidRequestDto.md +0 -20
  838. package/docs/CancelKclMroOrder200Response.md +0 -20
  839. package/docs/CancelKclMroOrderRequestDto.md +0 -22
  840. package/docs/CancelKclMroOrderResponseDto.md +0 -20
  841. package/docs/CompleteInvoice200Response.md +0 -20
  842. package/docs/CompleteUploadRequestDto.md +0 -20
  843. package/docs/CreateEmbedLaunch201Response.md +0 -20
  844. package/docs/CreateFileUploadUrl201Response.md +0 -20
  845. package/docs/CreateUploadUrlRequestDto.md +0 -22
  846. package/docs/DeliveryDateTypePublic.md +0 -13
  847. package/docs/DeliveryMethodPublic.md +0 -13
  848. package/docs/EmbedApi.md +0 -68
  849. package/docs/EmbedBidPrefillDto.md +0 -42
  850. package/docs/EmbedBidPrefillItemDto.md +0 -28
  851. package/docs/EmbedBidPrefillManagerDto.md +0 -26
  852. package/docs/EmbedLaunchRequestDto.md +0 -30
  853. package/docs/EmbedLaunchResponseDto.md +0 -22
  854. package/docs/GetBid200Response.md +0 -20
  855. package/docs/GetBidSettlement200Response.md +0 -20
  856. package/docs/GetKclMroOrderStatus200Response.md +0 -20
  857. package/docs/HandoverTypePublic.md +0 -11
  858. package/docs/InvoiceCompletedResponseDto.md +0 -20
  859. package/docs/KclMroOrderItemDto.md +0 -34
  860. package/docs/KclMroOrderStatusResponseDto.md +0 -30
  861. package/docs/KclMroQuoteResultDto.md +0 -28
  862. package/docs/KclMroShipToDto.md +0 -28
  863. package/docs/LicenseCombinationMode.md +0 -11
  864. package/docs/ListBids200Response.md +0 -22
  865. package/docs/ListSuppliers200Response.md +0 -22
  866. package/docs/PaymentMethodPublic.md +0 -11
  867. package/docs/PreliminaryPriceRegionPublic.md +0 -13
  868. package/docs/PriceScoreTypePublic.md +0 -13
  869. package/docs/PricingTypePublic.md +0 -11
  870. package/docs/RegulationTypePublic.md +0 -11
  871. package/docs/RelatedBidRelation.md +0 -13
  872. package/docs/RelayKclMroOrder200Response.md +0 -20
  873. package/docs/RelayKclMroOrderRequestDto.md +0 -32
  874. package/docs/RelayKclMroOrderResponseDto.md +0 -26
  875. package/docs/RevertAward200Response.md +0 -20
  876. package/docs/RevertAwardRequestDto.md +0 -20
  877. package/docs/SupplierResponseDto.md +0 -28
  878. package/docs/SupplierTaxType.md +0 -11
  879. package/docs/TaxationTypePublic.md +0 -13
  880. package/docs/TwoStagePhasePublic.md +0 -11
  881. package/docs/UpdateBid200Response.md +0 -20
  882. package/docs/UpdateBidRequestDto.md +0 -124
  883. package/docs/UploadUrlCreatedResponseDto.md +0 -26
  884. package/models/award-method-public.ts +0 -35
  885. package/models/award-reverted-v2-response-dto.ts +0 -34
  886. package/models/bid-acceptance-dto.ts +0 -35
  887. package/models/bid-attachment-dto.ts +0 -35
  888. package/models/bid-avalues-dto.ts +0 -47
  889. package/models/bid-award-method-detail-dto.ts +0 -36
  890. package/models/bid-cancellation-dto.ts +0 -23
  891. package/models/bid-cancelled-response-dto.ts +0 -34
  892. package/models/bid-category-public.ts +0 -31
  893. package/models/bid-contact-dto.ts +0 -39
  894. package/models/bid-contacts-dto.ts +0 -30
  895. package/models/bid-contract-document-dto.ts +0 -69
  896. package/models/bid-delivery-terms-dto.ts +0 -47
  897. package/models/bid-detail-response-dto.ts +0 -271
  898. package/models/bid-license-requirement-dto.ts +0 -36
  899. package/models/bid-lifecycle-dto.ts +0 -39
  900. package/models/bid-must-read-notice-dto.ts +0 -27
  901. package/models/bid-payment-terms-dto.ts +0 -32
  902. package/models/bid-preliminary-price-dto.ts +0 -46
  903. package/models/bid-preliminary-price-slot-dto.ts +0 -31
  904. package/models/bid-product-dto.ts +0 -67
  905. package/models/bid-qualification-review-dto.ts +0 -47
  906. package/models/bid-region-dto.ts +0 -27
  907. package/models/bid-region-restriction-dto.ts +0 -30
  908. package/models/bid-related-bid-dto.ts +0 -32
  909. package/models/bid-required-document-dto.ts +0 -31
  910. package/models/bid-settlement-line-item-dto.ts +0 -55
  911. package/models/bid-settlement-participant-dto.ts +0 -103
  912. package/models/bid-settlement-response-dto.ts +0 -30
  913. package/models/bid-site-briefing-dto.ts +0 -27
  914. package/models/bid-summary-dto.ts +0 -120
  915. package/models/bid-type-public.ts +0 -29
  916. package/models/bid-updated-response-dto.ts +0 -23
  917. package/models/bidding-style-public.ts +0 -29
  918. package/models/cancel-bid-request-dto.ts +0 -23
  919. package/models/cancel-bid200-response.ts +0 -23
  920. package/models/cancel-kcl-mro-order-request-dto.ts +0 -21
  921. package/models/cancel-kcl-mro-order-response-dto.ts +0 -23
  922. package/models/cancel-kcl-mro-order200-response.ts +0 -23
  923. package/models/complete-invoice200-response.ts +0 -23
  924. package/models/complete-upload-request-dto.ts +0 -23
  925. package/models/create-embed-launch201-response.ts +0 -23
  926. package/models/create-file-upload-url201-response.ts +0 -23
  927. package/models/create-upload-url-request-dto.ts +0 -27
  928. package/models/delivery-date-type-public.ts +0 -30
  929. package/models/delivery-method-public.ts +0 -30
  930. package/models/embed-bid-prefill-dto.ts +0 -89
  931. package/models/embed-bid-prefill-item-dto.ts +0 -39
  932. package/models/embed-bid-prefill-manager-dto.ts +0 -35
  933. package/models/embed-launch-request-dto.ts +0 -68
  934. package/models/embed-launch-response-dto.ts +0 -27
  935. package/models/get-bid-settlement200-response.ts +0 -23
  936. package/models/get-bid200-response.ts +0 -23
  937. package/models/get-kcl-mro-order-status200-response.ts +0 -23
  938. package/models/handover-type-public.ts +0 -29
  939. package/models/invoice-completed-response-dto.ts +0 -23
  940. package/models/kcl-mro-order-item-dto.ts +0 -54
  941. package/models/kcl-mro-order-status-response-dto.ts +0 -40
  942. package/models/kcl-mro-quote-result-dto.ts +0 -39
  943. package/models/kcl-mro-ship-to-dto.ts +0 -30
  944. package/models/license-combination-mode.ts +0 -29
  945. package/models/list-bids200-response.ts +0 -27
  946. package/models/list-suppliers200-response.ts +0 -27
  947. package/models/payment-method-public.ts +0 -29
  948. package/models/preliminary-price-region-public.ts +0 -30
  949. package/models/price-score-type-public.ts +0 -30
  950. package/models/pricing-type-public.ts +0 -29
  951. package/models/regulation-type-public.ts +0 -29
  952. package/models/related-bid-relation.ts +0 -30
  953. package/models/relay-kcl-mro-order-request-dto.ts +0 -47
  954. package/models/relay-kcl-mro-order-response-dto.ts +0 -32
  955. package/models/relay-kcl-mro-order200-response.ts +0 -23
  956. package/models/revert-award-request-dto.ts +0 -23
  957. package/models/revert-award200-response.ts +0 -23
  958. package/models/supplier-response-dto.ts +0 -39
  959. package/models/supplier-tax-type.ts +0 -29
  960. package/models/taxation-type-public.ts +0 -30
  961. package/models/two-stage-phase-public.ts +0 -29
  962. package/models/update-bid-request-dto.ts +0 -386
  963. package/models/update-bid200-response.ts +0 -23
  964. package/models/upload-url-created-response-dto.ts +0 -35
@@ -1,27 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
-
17
- export interface BidMustReadNoticeDto {
18
- /**
19
- * μœ μ˜μ‚¬ν•­ 제λͺ©.
20
- */
21
- 'title': string;
22
- /**
23
- * μœ μ˜μ‚¬ν•­ λ³Έλ¬Έ. μ€„λ°”κΏˆ(`\\n`)이 포함될 수 μžˆμŠ΅λ‹ˆλ‹€.
24
- */
25
- 'content': string;
26
- }
27
-
@@ -1,32 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
- // May contain unused imports in some cases
17
- // @ts-ignore
18
- import type { PaymentMethodPublic } from './payment-method-public';
19
-
20
- export interface BidPaymentTermsDto {
21
- /**
22
- * 결제 방법(κ³΅κ°œκ°’). 미지정이면 null.
23
- */
24
- 'method': PaymentMethodPublic | null;
25
- /**
26
- * 결제 기일(일). 미지정이면 null.
27
- */
28
- 'days': number | null;
29
- }
30
-
31
-
32
-
@@ -1,46 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
- // May contain unused imports in some cases
17
- // @ts-ignore
18
- import type { BidPreliminaryPriceSlotDto } from './bid-preliminary-price-slot-dto';
19
-
20
- export interface BidPreliminaryPriceDto {
21
- /**
22
- * κΈ°μ΄ˆκΈˆμ•‘(원, λΆ€κ°€μ„Έ 포함). μ˜ˆλΉ„κ°€κ²© μŠ¬λ‘―μ„ λ§Œλ“€μ–΄ λ‚΄λŠ” 기쀀값이며 μ˜ˆμ‚°κΈˆμ•‘μ—μ„œ νŒŒμƒν•©λ‹ˆλ‹€.
23
- */
24
- 'basePrice': number;
25
- /**
26
- * 슬둯 ν‘œ(보톡 15μΉΈ).
27
- */
28
- 'slots': Array<BidPreliminaryPriceSlotDto>;
29
- /**
30
- * μΆ”μ²¨λœ 슬둯 번호.
31
- */
32
- 'selectedSlots': Array<string>;
33
- /**
34
- * μ˜ˆμ •κ°€κ²©(원, λΆ€κ°€μ„Έ 포함). μΆ”μ²¨λœ 슬둯 κ°€κ²©μ˜ ν‰κ· μž…λ‹ˆλ‹€.
35
- */
36
- 'averagePrice': string | null;
37
- /**
38
- * λ‚™μ°°ν•˜ν•œκ°€(원, λΆ€κ°€μ„Έ 포함). `floor(μ˜ˆμ •κ°€κ²© Γ— λ‚™μ°°ν•˜ν•œμœ¨ / 100)` 이며, 이 κΈˆμ•‘ 미만으둜 μ‘μ°°ν•˜λ©΄ λ‚™μ°° λŒ€μƒμ—μ„œ λΉ μ§‘λ‹ˆλ‹€.
39
- */
40
- 'floorPrice': string | null;
41
- /**
42
- * 적용 λ‚™μ°°ν•˜ν•œμœ¨(%).
43
- */
44
- 'appliedLowestPercent': number | null;
45
- }
46
-
@@ -1,31 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
-
17
- export interface BidPreliminaryPriceSlotDto {
18
- /**
19
- * 슬둯 번호(1~15).
20
- */
21
- 'slot': number;
22
- /**
23
- * 슬둯 가격(원, λΆ€κ°€μ„Έ 포함). μ˜ˆμ‚°κΈˆμ•‘μ—μ„œ νŒŒμƒν•˜λ―€λ‘œ μ˜ˆμ‚°κ³Ό 같은 μΆ•μž…λ‹ˆλ‹€.
24
- */
25
- 'price': number;
26
- /**
27
- * 이 μŠ¬λ‘―μ„ κ³ λ₯Έ 응찰 수.
28
- */
29
- 'pickCount': number;
30
- }
31
-
@@ -1,67 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
- // May contain unused imports in some cases
17
- // @ts-ignore
18
- import type { HandoverTypePublic } from './handover-type-public';
19
- // May contain unused imports in some cases
20
- // @ts-ignore
21
- import type { TaxationTypePublic } from './taxation-type-public';
22
-
23
- export interface BidProductDto {
24
- /**
25
- * ν’ˆλͺ© μ½”λ“œ.
26
- */
27
- 'itemCode': string | null;
28
- /**
29
- * ν’ˆλͺ©λͺ….
30
- */
31
- 'productName': string;
32
- /**
33
- * 규격.
34
- */
35
- 'spec': string | null;
36
- /**
37
- * λ‹¨μœ„.
38
- */
39
- 'unit': string | null;
40
- /**
41
- * μˆ˜λŸ‰.
42
- */
43
- 'quantity': number;
44
- /**
45
- * 단가(원). λΆ€κ°€μ„Έ 포함 μ—¬λΆ€λŠ” `amountsIncludeVat` λ₯Ό λ”°λ¦…λ‹ˆλ‹€.
46
- */
47
- 'unitPrice': number;
48
- /**
49
- * μ œμ‘°μ‚¬. 곡고상세 화면이 규격 쀄에 ν•¨κ»˜ ν‘œμ‹œν•˜λŠ” 보쑰 식별 정보닀.
50
- */
51
- 'manufacturer': string | null;
52
- /**
53
- * λͺ¨λΈλͺ….
54
- */
55
- 'modelNumber': string | null;
56
- /**
57
- * 과세ꡬ뢄. 곡고 λ‹¨μœ„ κΈ°λ³Έκ°’κ³Ό λ‹€λ₯Έ ν’ˆλͺ©μ„ μœ„ν•΄ ν’ˆλͺ©λ§ˆλ‹€ λ”°λ‘œ μ‹€λ¦°λ‹€. 미지정이면 null.
58
- */
59
- 'taxationType': TaxationTypePublic | null;
60
- /**
61
- * μΈμˆ˜λ„ 방식. `LOADING_POINT`=상차도(μΆœν•˜μ§€ 인수), `ARRIVAL_POINT`=도착도(λ‚©ν’ˆμž₯μ†Œ 인수). 미지정이면 null.
62
- */
63
- 'handoverType': HandoverTypePublic | null;
64
- }
65
-
66
-
67
-
@@ -1,47 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
- // May contain unused imports in some cases
17
- // @ts-ignore
18
- import type { BidAValuesDto } from './bid-avalues-dto';
19
- // May contain unused imports in some cases
20
- // @ts-ignore
21
- import type { PriceScoreTypePublic } from './price-score-type-public';
22
-
23
- export interface BidQualificationReviewDto {
24
- /**
25
- * κΈ°μ΄ˆμˆœκ³΅μ‚¬μ›κ°€(원).
26
- */
27
- 'ncBase': number;
28
- /**
29
- * Aκ°’ 7개 ν•­λͺ©.
30
- */
31
- 'aValues': BidAValuesDto;
32
- /**
33
- * Aκ°’ 합계(원).
34
- */
35
- 'aValueSum': number;
36
- /**
37
- * 적용 λ‚™μ°°ν•˜ν•œμœ¨(%). 미섀정이면 null.
38
- */
39
- 'lowestPercent': number | null;
40
- /**
41
- * κ°€κ²©μ μˆ˜ 산식. `STANDARD`=기본산식(쒅합·전문곡사), `SPECIALTY_LARGE`=μ „κΈ°Β·μ •λ³΄ν†΅μ‹ Β·μ†Œλ°©Β·κ΅­κ°€μœ μ‚°κ³΅μ‚¬ 10μ–΅ 이상, `SPECIALTY_MEDIUM`=같은 μ—…μ’… 3μ–΅ 이상~10μ–΅ 미만. 미섀정이면 null.
42
- */
43
- 'priceScoreType': PriceScoreTypePublic | null;
44
- }
45
-
46
-
47
-
@@ -1,27 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
-
17
- export interface BidRegionDto {
18
- /**
19
- * κ΄‘μ—­μ‹œλ„λͺ….
20
- */
21
- 'province': string;
22
- /**
23
- * μ„ νƒλœ μ‹œκ΅°κ΅¬. κ΄‘μ—­ 전체λ₯Ό κ³ λ₯Έ 경우 κ·Έ κ΄‘μ—­μ˜ μ‹œκ΅°κ΅¬κ°€ λͺ¨λ‘ λ“€μ–΄μ˜΅λ‹ˆλ‹€.
24
- */
25
- 'districts': Array<string>;
26
- }
27
-
@@ -1,30 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
- // May contain unused imports in some cases
17
- // @ts-ignore
18
- import type { BidRegionDto } from './bid-region-dto';
19
-
20
- export interface BidRegionRestrictionDto {
21
- /**
22
- * μ„ νƒλœ μ§€μ—­. λΉ„μ–΄ 있으면 μ œν•œ μ—†μŒ(μ „κ΅­)μž…λ‹ˆλ‹€.
23
- */
24
- 'regions': Array<BidRegionDto>;
25
- /**
26
- * λ°œμ£ΌκΈ°κ΄€ 인근 μ§€μ—­λ§Œ ν—ˆμš©ν•˜λŠ”μ§€(견적 도메인 μ „μš© μΆ•). trueλ©΄ `regions`와 λ¬΄κ΄€ν•˜κ²Œ 인근 μ§€μ—­μœΌλ‘œ μ œν•œν•©λ‹ˆλ‹€.
27
- */
28
- 'sameRegionOnly': boolean;
29
- }
30
-
@@ -1,32 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
- // May contain unused imports in some cases
17
- // @ts-ignore
18
- import type { RelatedBidRelation } from './related-bid-relation';
19
-
20
- export interface BidRelatedBidDto {
21
- /**
22
- * μ—°κ²°λœ 곡고 id.
23
- */
24
- 'bidId': string;
25
- /**
26
- * 이 κ³΅κ³ μ—μ„œ λ³Έ μƒλŒ€μ˜ μœ„μΉ˜. `STAGE_2`=이 곡고(1단계)μ—μ„œ νŒŒμƒλœ 2단계 곡고, `STAGE_1`=이 곡고(2단계)의 λΆ€λͺ¨ 1단계 곡고, `PREVIOUS_BID`=재곡고 직전 곡고.
27
- */
28
- 'relation': RelatedBidRelation;
29
- }
30
-
31
-
32
-
@@ -1,31 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
-
17
- export interface BidRequiredDocumentDto {
18
- /**
19
- * μ„œλ₯˜ μ½”λ“œ.
20
- */
21
- 'paperCode': number;
22
- /**
23
- * μ„œλ₯˜λͺ….
24
- */
25
- 'paperName': string;
26
- /**
27
- * μ‹œμŠ€ν…œμ΄ μžλ™ μƒμ„±ν•˜λŠ” μ„œλ₯˜μΈμ§€. falseλ©΄ 곡급사가 직접 μ œμΆœν•©λ‹ˆλ‹€.
28
- */
29
- 'isAutoGenerated': boolean;
30
- }
31
-
@@ -1,55 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * CMARKET V6 Partner API
5
- * μ™ΈλΆ€ ERP μ—°λ™μš© RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` ν”Œλ‘œμš°). `/oauth/token`μ—μ„œ 토큰을 λ°œκΈ‰λ°›μ•„ `Authorization: Bearer <token>` ν—€λ”λ‘œ μ‹€μœΌμ„Έμš”. ## κΆŒν•œ β€” 두 개의 λ…λ¦½λœ μΆ• `403`을 λ§Œλ‚¬λ‹€λ©΄ λ‘˜ 쀑 μ–΄λŠ 좕에 κ±Έλ¦° 것인지 λ¨Όμ € κ΅¬λΆ„ν•˜μ„Έμš”. - **μŠ€μ½”ν”„** = *무엇을 ν•  수 μžˆλ‚˜*. 토큰에 λΆ€μ—¬λœ `bids:read`Β·`contracts:write` λ“±μž…λ‹ˆλ‹€. 미보유 μ‹œ `…/insufficient-scope`. - **λŒ€ν–‰ λ²”μœ„** = *λˆ„κ΅¬μ˜ 데이터λ₯Ό λ‹€λ£° 수 μžˆλ‚˜*. API ν‚€ 섀정이며 μŠ€μ½”ν”„λ‘œ ν‘œν˜„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²”μœ„ 밖이면 μŠ€μ½”ν”„μ™€ λ¬΄κ΄€ν•˜κ²Œ 403μž…λ‹ˆλ‹€. λŒ€ν–‰ λ²”μœ„λŠ” ν‚€λ§ˆλ‹€ λ‘˜ 쀑 ν•˜λ‚˜λ‘œ μ„€μ •λ©λ‹ˆλ‹€ β€” **μ†Œμ† κ·Έλ£Ή 전원**(κΈ°κ΄€ ν‚€. μ‚¬μ—…μ²˜Β·λΆ€μ„œ 계정이 μƒˆλ‘œ 생겨도 μžλ™ 포함) λ˜λŠ” **μ§€μ • λ°œμ£ΌκΈ°κ΄€ λͺ©λ‘**(κ³„μ•½μœΌλ‘œ ν•©μ˜λœ λͺ©λ‘). λ²”μœ„λ₯Ό λ„“ν˜€μ•Ό ν•˜λ©΄ μŠ€μ½”ν”„κ°€ μ•„λ‹ˆλΌ ν‚€ μ„€μ • 변경을 μš”μ²­ν•˜μ„Έμš”. ## 성곡 응닡 ν˜•μ‹ `/v2`의 λͺ¨λ“  2xx 본문은 `{ \"data\": … }`μž…λ‹ˆλ‹€. 단일 λ¦¬μ†ŒμŠ€λ“  λͺ©λ‘μ΄λ“  κ°™μŠ΅λ‹ˆλ‹€. **λͺ©λ‘μ€ `data`κ°€ 배열이고 `meta`κ°€ 항상 ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€** β€” `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 λ¦¬μ†ŒμŠ€ μ‘λ‹΅μ—λŠ” `meta`κ°€ λ‚˜κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν˜•μ‹μ„ μ“°μ§€ μ•ŠλŠ” μ—”λ“œν¬μΈνŠΈλŠ” λ‘˜μž…λ‹ˆλ‹€. `/oauth/_*`와 `/.well-known/_*`λŠ” 각각 RFC 6749Β·RFC 8414Β·RFC 9728이 μ΅œμƒμœ„ ν•„λ“œλ₯Ό κ·œμ •ν•˜κ³ , 파일 λ‚΄μš© 응닡은 본문이 JSON이 μ•„λ‹™λ‹ˆλ‹€. μ—λŸ¬ μ‘λ‹΅μ—λŠ” 이 ν˜•μ‹μ„ μ”Œμš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” μ•„λž˜ problem+json이 λ‹¨λ…μœΌλ‘œ μ±…μž„μ§‘λ‹ˆλ‹€. ## 쑰건뢀 μš”μ²­ (ETag) `/v2`의 λͺ¨λ“  `GET` 응닡에 weak `ETag`(`W/\"…\"`)κ°€ μ‹€λ¦½λ‹ˆλ‹€. 받은 값을 λ‹€μŒ μš”μ²­μ˜ `If-None-Match` ν—€λ”λ‘œ λ˜λ³΄λ‚΄λ©΄, λ‚΄μš©μ΄ κ·ΈλŒ€λ‘œμΌ λ•Œ `304 Not Modified`λ₯Ό λ³Έλ¬Έ 없이 λ°›μŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ λ‚˜κΈ°λ₯Ό 기닀리며 같은 μžμ›μ„ 반볡 μ‘°νšŒν•˜λŠ” 연동이라면 이 헀더 ν•˜λ‚˜λ‘œ μ „μ†‘λŸ‰μ΄ μ‚¬λΌμ§‘λ‹ˆλ‹€. ## μ—λŸ¬ (RFC 9457 problem+json) λͺ¨λ“  μ—λŸ¬ 응닡은 `application/problem+json`μž…λ‹ˆλ‹€. **HTTP status + `type` URI** 둜 λΆ„κΈ°ν•˜μ„Έμš”. - `retryable`(boolean): μžλ™ μž¬μ‹œλ„ μ•ˆμ „ μ—¬λΆ€. `true`(429Β·5xx transient)λ©΄ backoff ν›„ μž¬μ‹œλ„ν•˜κ³ , `false`λ©΄ μš”μ²­μ„ 고쳐야 ν•©λ‹ˆλ‹€. - `traceId`: μš”μ²­ 좔적 id. `X-Correlation-Id` 응닡 헀더와 같은 κ°’μž…λ‹ˆλ‹€ β€” λ¬Έμ˜ν•  λ•Œ 이 값을 μ²¨λΆ€ν•˜μ„Έμš”. - `correlationId`: `traceId`와 같은 κ°’μ˜ μ˜› 이름. κΈ°μ‘΄ 연동 ν˜Έν™˜μœΌλ‘œ ν•¨κ»˜ μ‹€λ¦½λ‹ˆλ‹€. μƒˆ 연동은 `traceId`λ₯Ό μ½μœΌμ„Έμš”. - `invalid-params`: 검증 μ‹€νŒ¨(400 `…/validation-failed`) μ‹œ μœ„λ°˜ ν•„λ“œ 경둜 λͺ©λ‘(RFC 9457 ν™•μž₯, κ°’ μ—†μŒ). - `code`: μ‘°λ‹¬ν”Œλž«νΌμ΄ μš”μ²­μ„ κ±°λΆ€ν•œ **μ‚¬μœ  μ½”λ“œ**(`…/upstream-*` 응닡에 ν•¨κ»˜ μ˜΅λ‹ˆλ‹€). `type`은 μƒνƒœ μˆ˜μ€€μ΄κ³  `detail`은 κ³ μ • 문ꡬ라, 무엇을 고쳐야 ν•˜λŠ”μ§€λŠ” 이 값이 μ•Œλ € μ€λ‹ˆλ‹€ β€” 예: `BID_INVALID_BID_DATE_RANGE`(마감이 μ‹œμž‘λ³΄λ‹€ 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 μ‘°λ‹¬λ²ˆν˜Έμ˜ 곡고가 μ§„ν–‰ 쀑). μ•ˆμ • μ‹λ³„μžμ΄λ―€λ‘œ λ¬Έμžμ—΄λ‘œ 뢄기해도 λ©λ‹ˆλ‹€. `type`은 `https://problems.cmarket.io/partner/<slug>` ν˜•νƒœμ˜ **μ•ˆμ • μ‹λ³„μž**μž…λ‹ˆλ‹€. RFC 9457 Β§3.1.1이 ν—ˆμš©ν•˜λŠ” λŒ€λ‘œ 이 URIλŠ” **μ—­μ°Έμ‘°(dereference)λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€** β€” λΈŒλΌμš°μ €λ‘œ μ—΄μ§€ 말고 λ¬Έμžμ—΄ λΉ„κ΅λ‘œλ§Œ μ“°μ„Έμš”. slug λͺ©λ‘κ³Ό μ˜λ―ΈλŠ” 각 μ—”λ“œν¬μΈνŠΈμ˜ 응닡 μ„€λͺ…에 status λ³„λ‘œ μ ν˜€ μžˆμŠ΅λ‹ˆλ‹€. ### λ©±λ“±μ„± μœ„λ°˜: 409와 422의 차이 - `409` `…/idempotency-key-conflict` β€” 같은 ν‚€μ˜ **원 μš”μ²­μ΄ 아직 처리 쀑**μž…λ‹ˆλ‹€. μž μ‹œ λ’€ 같은 ν‚€λ‘œ λ‹€μ‹œ λΆ€λ₯΄λ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°›μŠ΅λ‹ˆλ‹€. - `422` `…/idempotency-key-reused` β€” 같은 ν‚€λ₯Ό **λ‹€λ₯Έ body** 둜 λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œλ„ν•΄λ„ μ˜μ›νžˆ 같은 μ‹€νŒ¨μ΄λ‹ˆ μƒˆ ν‚€λ₯Ό μ“°κ±°λ‚˜ bodyλ₯Ό λ˜λŒλ¦¬μ„Έμš”. ## Rate Limit μ „μ—­ **60 μš”μ²­/λΆ„ per `client_id`**, 토큰 λ°œκΈ‰(`/oauth/token`)은 **5 μš”μ²­/λΆ„** μž…λ‹ˆλ‹€. 초과 μ‹œ `429`(`type: …/too-many-requests`). μΏΌν„°λŠ” 두 κ°€μ§€ ν‘œκΈ°λ‘œ ν•¨κ»˜ λ‚˜κ°‘λ‹ˆλ‹€ β€” μ‹ κ·œ 연동은 ν‘œμ€€ ν•„λ“œλ₯Ό μ“°μ„Έμš”. - **ν‘œμ€€**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (μ •μ±…) Β· `RateLimit: \"default\";r=59;t=42` (μž”λŸ‰ r, λ¦¬μ…‹κΉŒμ§€ t 초) - **λ ˆκ±°μ‹œ**(κ΄€μš©): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. κΈ°μ‘΄ 연동 ν˜Έν™˜μ„ μœ„ν•΄ μœ μ§€ν•©λ‹ˆλ‹€. `429` μ—μ„œλŠ” `Retry-After`(초)κ°€ μš°μ„ ν•©λ‹ˆλ‹€. λŒ€λŸ‰ 동기화(ν’ˆλͺ© λ‹¨μœ„ 반볡 등둝 λ“±)λŠ” `Retry-After` 만큼 backoff ν›„ μž¬μ‹œλ„ν•˜μ„Έμš”. ## 좔적 μš”μ²­μ— `X-Correlation-Id` 헀더λ₯Ό μ‹€μœΌλ©΄ κ·ΈλŒ€λ‘œ echo 되고, μ—†μœΌλ©΄ μ„œλ²„κ°€ λ°œκΈ‰ν•©λ‹ˆλ‹€. λͺ¨λ“  응닡(성곡/μ—λŸ¬)에 `X-Correlation-Id`κ°€ μ‹€λ¦½λ‹ˆλ‹€. ## μ „λ°©ν˜Έν™˜ β€” λͺ¨λ₯΄λŠ” ν•„λ“œμ™€ κ°’μ—μ„œ κΉ¨μ§€μ§€ μ•Šκ²Œ λ‹€μŒ 셋은 breaking λ³€κ²½μœΌλ‘œ 보지 μ•ŠμœΌλ©° minor λ¦΄λ¦¬μŠ€μ—μ„œ 예고 없이 μΌμ–΄λ‚©λ‹ˆλ‹€. 이 μ „μ œλ‘œ κ΅¬ν˜„ν•˜μ„Έμš”. - **선택 ν•„λ“œ μΆ”κ°€**: λͺ¨λ₯΄λŠ” ν•„λ“œλŠ” λ¬΄μ‹œν•˜μ„Έμš”. 엄격 νŒŒμ„œ(unknown key κ±°λΆ€)λ₯Ό μ“°μ§€ λ§ˆμ„Έμš”. - **enum κ°’ μΆ”κ°€**: μƒνƒœΒ·λ‚™μ°°λ°©λ²• 등에 μƒˆ 값이 μƒκΉλ‹ˆλ‹€. λͺ¨λ₯΄λŠ” 값을 λ§Œλ‚˜λ©΄ μ˜ˆμ™Έλ₯Ό λ˜μ§€μ§€ 말고 원문 λ¬Έμžμ—΄μ„ λ³΄μ‘΄ν•˜μ„Έμš”. - **problem `type` slug μΆ”κ°€**: λͺ¨λ₯΄λŠ” slug은 **HTTP status둜 폴백**ν•΄ λΆ„κΈ°ν•˜μ„Έμš”. ## 버전 수λͺ…(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` ν—€λ”λ‘œ ν†΅μ§€ν•©λ‹ˆλ‹€. 이 헀더λ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜μ„Έμš”.
6
- *
7
- * The version of the OpenAPI document: 47.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
-
15
-
16
-
17
- export interface BidSettlementLineItemDto {
18
- /**
19
- * ν’ˆλͺ© 순번.
20
- */
21
- 'sequence': number;
22
- /**
23
- * ν’ˆλͺ© μ½”λ“œ.
24
- */
25
- 'itemCode': string | null;
26
- /**
27
- * ν’ˆλͺ©λͺ….
28
- */
29
- 'productName': string | null;
30
- /**
31
- * 규격.
32
- */
33
- 'spec': string | null;
34
- /**
35
- * μˆ˜λŸ‰.
36
- */
37
- 'quantity': number;
38
- /**
39
- * 단가(원, λΆ€κ°€μ„Έ 별도). μˆ˜λŸ‰μ„ κ³±ν•œ 값이 `supplyAmount` μž…λ‹ˆλ‹€.
40
- */
41
- 'unitPrice': number;
42
- /**
43
- * 곡급가앑(원, λΆ€κ°€μ„Έ 별도). 단가 Γ— μˆ˜λŸ‰μž…λ‹ˆλ‹€.
44
- */
45
- 'supplyAmount': number;
46
- /**
47
- * λΆ€κ°€μ„Έ(원).
48
- */
49
- 'vat': number;
50
- /**
51
- * 합계(원).
52
- */
53
- 'total': number;
54
- }
55
-