@cmarket/partner-sdk 48.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 (898) hide show
  1. package/README.md +5 -87
  2. package/api/oauth-api.ts +1 -1
  3. package/api/partner-api-api.ts +22 -952
  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 -426
  13. package/dist/api/partner-api-api.js +7 -868
  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 -426
  29. package/dist/esm/api/partner-api-api.js +6 -867
  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 -71
  135. package/dist/esm/models/index.js +1 -71
  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 -71
  305. package/dist/models/index.js +1 -71
  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 +15 -695
  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 -71
  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/complete-invoice200-response.d.ts +0 -15
  550. package/dist/esm/models/complete-invoice200-response.js +0 -14
  551. package/dist/esm/models/complete-upload-request-dto.d.ts +0 -17
  552. package/dist/esm/models/complete-upload-request-dto.js +0 -14
  553. package/dist/esm/models/create-embed-launch201-response.d.ts +0 -15
  554. package/dist/esm/models/create-embed-launch201-response.js +0 -14
  555. package/dist/esm/models/create-file-upload-url201-response.d.ts +0 -15
  556. package/dist/esm/models/create-file-upload-url201-response.js +0 -14
  557. package/dist/esm/models/create-upload-url-request-dto.d.ts +0 -21
  558. package/dist/esm/models/create-upload-url-request-dto.js +0 -14
  559. package/dist/esm/models/delivery-date-type-public.d.ts +0 -20
  560. package/dist/esm/models/delivery-date-type-public.js +0 -21
  561. package/dist/esm/models/delivery-method-public.d.ts +0 -20
  562. package/dist/esm/models/delivery-method-public.js +0 -21
  563. package/dist/esm/models/embed-bid-prefill-dto.d.ts +0 -75
  564. package/dist/esm/models/embed-bid-prefill-dto.js +0 -23
  565. package/dist/esm/models/embed-bid-prefill-item-dto.d.ts +0 -33
  566. package/dist/esm/models/embed-bid-prefill-item-dto.js +0 -14
  567. package/dist/esm/models/embed-bid-prefill-manager-dto.d.ts +0 -29
  568. package/dist/esm/models/embed-bid-prefill-manager-dto.js +0 -14
  569. package/dist/esm/models/embed-launch-request-dto.d.ts +0 -56
  570. package/dist/esm/models/embed-launch-request-dto.js +0 -29
  571. package/dist/esm/models/embed-launch-response-dto.d.ts +0 -21
  572. package/dist/esm/models/embed-launch-response-dto.js +0 -14
  573. package/dist/esm/models/get-bid-settlement200-response.d.ts +0 -15
  574. package/dist/esm/models/get-bid-settlement200-response.js +0 -14
  575. package/dist/esm/models/get-bid200-response.d.ts +0 -15
  576. package/dist/esm/models/get-bid200-response.js +0 -14
  577. package/dist/esm/models/handover-type-public.d.ts +0 -19
  578. package/dist/esm/models/handover-type-public.js +0 -20
  579. package/dist/esm/models/invoice-completed-response-dto.d.ts +0 -17
  580. package/dist/esm/models/invoice-completed-response-dto.js +0 -14
  581. package/dist/esm/models/license-combination-mode.d.ts +0 -19
  582. package/dist/esm/models/license-combination-mode.js +0 -20
  583. package/dist/esm/models/list-bids200-response-meta.js +0 -14
  584. package/dist/esm/models/list-bids200-response.d.ts +0 -17
  585. package/dist/esm/models/list-bids200-response.js +0 -14
  586. package/dist/esm/models/list-suppliers200-response.d.ts +0 -17
  587. package/dist/esm/models/list-suppliers200-response.js +0 -14
  588. package/dist/esm/models/payment-method-public.d.ts +0 -19
  589. package/dist/esm/models/payment-method-public.js +0 -20
  590. package/dist/esm/models/preliminary-price-region-public.d.ts +0 -20
  591. package/dist/esm/models/preliminary-price-region-public.js +0 -21
  592. package/dist/esm/models/price-score-type-public.d.ts +0 -20
  593. package/dist/esm/models/price-score-type-public.js +0 -21
  594. package/dist/esm/models/pricing-type-public.d.ts +0 -19
  595. package/dist/esm/models/pricing-type-public.js +0 -20
  596. package/dist/esm/models/regulation-type-public.d.ts +0 -19
  597. package/dist/esm/models/regulation-type-public.js +0 -20
  598. package/dist/esm/models/related-bid-relation.d.ts +0 -20
  599. package/dist/esm/models/related-bid-relation.js +0 -21
  600. package/dist/esm/models/revert-award-request-dto.d.ts +0 -17
  601. package/dist/esm/models/revert-award-request-dto.js +0 -14
  602. package/dist/esm/models/revert-award200-response.d.ts +0 -15
  603. package/dist/esm/models/revert-award200-response.js +0 -14
  604. package/dist/esm/models/supplier-response-dto.d.ts +0 -33
  605. package/dist/esm/models/supplier-response-dto.js +0 -14
  606. package/dist/esm/models/supplier-tax-type.d.ts +0 -19
  607. package/dist/esm/models/supplier-tax-type.js +0 -20
  608. package/dist/esm/models/taxation-type-public.d.ts +0 -20
  609. package/dist/esm/models/taxation-type-public.js +0 -21
  610. package/dist/esm/models/two-stage-phase-public.d.ts +0 -19
  611. package/dist/esm/models/two-stage-phase-public.js +0 -20
  612. package/dist/esm/models/update-bid-request-dto.d.ts +0 -343
  613. package/dist/esm/models/update-bid-request-dto.js +0 -105
  614. package/dist/esm/models/update-bid200-response.d.ts +0 -15
  615. package/dist/esm/models/update-bid200-response.js +0 -14
  616. package/dist/esm/models/upload-url-created-response-dto.d.ts +0 -29
  617. package/dist/esm/models/upload-url-created-response-dto.js +0 -14
  618. package/dist/models/award-method-public.d.ts +0 -25
  619. package/dist/models/award-method-public.js +0 -29
  620. package/dist/models/award-reverted-v2-response-dto.d.ts +0 -25
  621. package/dist/models/award-reverted-v2-response-dto.js +0 -19
  622. package/dist/models/bid-acceptance-dto.d.ts +0 -29
  623. package/dist/models/bid-attachment-dto.d.ts +0 -29
  624. package/dist/models/bid-attachment-dto.js +0 -15
  625. package/dist/models/bid-avalues-dto.d.ts +0 -41
  626. package/dist/models/bid-avalues-dto.js +0 -15
  627. package/dist/models/bid-award-method-detail-dto.d.ts +0 -26
  628. package/dist/models/bid-award-method-detail-dto.js +0 -15
  629. package/dist/models/bid-cancellation-dto.d.ts +0 -17
  630. package/dist/models/bid-cancellation-dto.js +0 -15
  631. package/dist/models/bid-cancelled-response-dto.d.ts +0 -25
  632. package/dist/models/bid-cancelled-response-dto.js +0 -19
  633. package/dist/models/bid-category-public.d.ts +0 -21
  634. package/dist/models/bid-category-public.js +0 -25
  635. package/dist/models/bid-contact-dto.d.ts +0 -33
  636. package/dist/models/bid-contact-dto.js +0 -15
  637. package/dist/models/bid-contacts-dto.d.ts +0 -22
  638. package/dist/models/bid-contacts-dto.js +0 -15
  639. package/dist/models/bid-contract-document-dto.d.ts +0 -60
  640. package/dist/models/bid-contract-document-dto.js +0 -22
  641. package/dist/models/bid-delivery-terms-dto.d.ts +0 -35
  642. package/dist/models/bid-delivery-terms-dto.js +0 -15
  643. package/dist/models/bid-detail-response-dto.d.ts +0 -211
  644. package/dist/models/bid-detail-response-dto.js +0 -15
  645. package/dist/models/bid-license-requirement-dto.d.ts +0 -26
  646. package/dist/models/bid-license-requirement-dto.js +0 -15
  647. package/dist/models/bid-lifecycle-dto.d.ts +0 -33
  648. package/dist/models/bid-lifecycle-dto.js +0 -15
  649. package/dist/models/bid-must-read-notice-dto.d.ts +0 -21
  650. package/dist/models/bid-must-read-notice-dto.js +0 -15
  651. package/dist/models/bid-payment-terms-dto.d.ts +0 -22
  652. package/dist/models/bid-payment-terms-dto.js +0 -15
  653. package/dist/models/bid-preliminary-price-dto.d.ts +0 -38
  654. package/dist/models/bid-preliminary-price-dto.js +0 -15
  655. package/dist/models/bid-preliminary-price-slot-dto.d.ts +0 -25
  656. package/dist/models/bid-preliminary-price-slot-dto.js +0 -15
  657. package/dist/models/bid-product-dto.d.ts +0 -55
  658. package/dist/models/bid-product-dto.js +0 -15
  659. package/dist/models/bid-qualification-review-dto.d.ts +0 -35
  660. package/dist/models/bid-qualification-review-dto.js +0 -15
  661. package/dist/models/bid-region-dto.d.ts +0 -21
  662. package/dist/models/bid-region-dto.js +0 -15
  663. package/dist/models/bid-region-restriction-dto.d.ts +0 -22
  664. package/dist/models/bid-region-restriction-dto.js +0 -15
  665. package/dist/models/bid-related-bid-dto.d.ts +0 -22
  666. package/dist/models/bid-related-bid-dto.js +0 -15
  667. package/dist/models/bid-required-document-dto.d.ts +0 -25
  668. package/dist/models/bid-required-document-dto.js +0 -15
  669. package/dist/models/bid-settlement-line-item-dto.d.ts +0 -49
  670. package/dist/models/bid-settlement-line-item-dto.js +0 -15
  671. package/dist/models/bid-settlement-participant-dto.d.ts +0 -91
  672. package/dist/models/bid-settlement-participant-dto.js +0 -15
  673. package/dist/models/bid-settlement-response-dto.d.ts +0 -22
  674. package/dist/models/bid-settlement-response-dto.js +0 -15
  675. package/dist/models/bid-site-briefing-dto.d.ts +0 -21
  676. package/dist/models/bid-site-briefing-dto.js +0 -15
  677. package/dist/models/bid-summary-dto.d.ts +0 -94
  678. package/dist/models/bid-summary-dto.js +0 -15
  679. package/dist/models/bid-type-public.d.ts +0 -19
  680. package/dist/models/bid-type-public.js +0 -23
  681. package/dist/models/bid-updated-response-dto.d.ts +0 -17
  682. package/dist/models/bid-updated-response-dto.js +0 -15
  683. package/dist/models/bidding-style-public.d.ts +0 -19
  684. package/dist/models/bidding-style-public.js +0 -23
  685. package/dist/models/cancel-bid-request-dto.d.ts +0 -17
  686. package/dist/models/cancel-bid-request-dto.js +0 -15
  687. package/dist/models/cancel-bid200-response.d.ts +0 -15
  688. package/dist/models/cancel-bid200-response.js +0 -15
  689. package/dist/models/complete-invoice200-response.d.ts +0 -15
  690. package/dist/models/complete-invoice200-response.js +0 -15
  691. package/dist/models/complete-upload-request-dto.d.ts +0 -17
  692. package/dist/models/complete-upload-request-dto.js +0 -15
  693. package/dist/models/create-embed-launch201-response.d.ts +0 -15
  694. package/dist/models/create-embed-launch201-response.js +0 -15
  695. package/dist/models/create-file-upload-url201-response.d.ts +0 -15
  696. package/dist/models/create-file-upload-url201-response.js +0 -15
  697. package/dist/models/create-upload-url-request-dto.d.ts +0 -21
  698. package/dist/models/create-upload-url-request-dto.js +0 -15
  699. package/dist/models/delivery-date-type-public.d.ts +0 -20
  700. package/dist/models/delivery-date-type-public.js +0 -24
  701. package/dist/models/delivery-method-public.d.ts +0 -20
  702. package/dist/models/delivery-method-public.js +0 -24
  703. package/dist/models/embed-bid-prefill-dto.d.ts +0 -75
  704. package/dist/models/embed-bid-prefill-dto.js +0 -26
  705. package/dist/models/embed-bid-prefill-item-dto.d.ts +0 -33
  706. package/dist/models/embed-bid-prefill-item-dto.js +0 -15
  707. package/dist/models/embed-bid-prefill-manager-dto.d.ts +0 -29
  708. package/dist/models/embed-bid-prefill-manager-dto.js +0 -15
  709. package/dist/models/embed-launch-request-dto.d.ts +0 -56
  710. package/dist/models/embed-launch-request-dto.js +0 -32
  711. package/dist/models/embed-launch-response-dto.d.ts +0 -21
  712. package/dist/models/embed-launch-response-dto.js +0 -15
  713. package/dist/models/get-bid-settlement200-response.d.ts +0 -15
  714. package/dist/models/get-bid-settlement200-response.js +0 -15
  715. package/dist/models/get-bid200-response.d.ts +0 -15
  716. package/dist/models/get-bid200-response.js +0 -15
  717. package/dist/models/handover-type-public.d.ts +0 -19
  718. package/dist/models/handover-type-public.js +0 -23
  719. package/dist/models/invoice-completed-response-dto.d.ts +0 -17
  720. package/dist/models/invoice-completed-response-dto.js +0 -15
  721. package/dist/models/license-combination-mode.d.ts +0 -19
  722. package/dist/models/license-combination-mode.js +0 -23
  723. package/dist/models/list-bids200-response-meta.js +0 -15
  724. package/dist/models/list-bids200-response.d.ts +0 -17
  725. package/dist/models/list-bids200-response.js +0 -15
  726. package/dist/models/list-suppliers200-response.d.ts +0 -17
  727. package/dist/models/list-suppliers200-response.js +0 -15
  728. package/dist/models/payment-method-public.d.ts +0 -19
  729. package/dist/models/payment-method-public.js +0 -23
  730. package/dist/models/preliminary-price-region-public.d.ts +0 -20
  731. package/dist/models/preliminary-price-region-public.js +0 -24
  732. package/dist/models/price-score-type-public.d.ts +0 -20
  733. package/dist/models/price-score-type-public.js +0 -24
  734. package/dist/models/pricing-type-public.d.ts +0 -19
  735. package/dist/models/pricing-type-public.js +0 -23
  736. package/dist/models/regulation-type-public.d.ts +0 -19
  737. package/dist/models/regulation-type-public.js +0 -23
  738. package/dist/models/related-bid-relation.d.ts +0 -20
  739. package/dist/models/related-bid-relation.js +0 -24
  740. package/dist/models/revert-award-request-dto.d.ts +0 -17
  741. package/dist/models/revert-award-request-dto.js +0 -15
  742. package/dist/models/revert-award200-response.d.ts +0 -15
  743. package/dist/models/revert-award200-response.js +0 -15
  744. package/dist/models/supplier-response-dto.d.ts +0 -33
  745. package/dist/models/supplier-response-dto.js +0 -15
  746. package/dist/models/supplier-tax-type.d.ts +0 -19
  747. package/dist/models/supplier-tax-type.js +0 -23
  748. package/dist/models/taxation-type-public.d.ts +0 -20
  749. package/dist/models/taxation-type-public.js +0 -24
  750. package/dist/models/two-stage-phase-public.d.ts +0 -19
  751. package/dist/models/two-stage-phase-public.js +0 -23
  752. package/dist/models/update-bid-request-dto.d.ts +0 -343
  753. package/dist/models/update-bid-request-dto.js +0 -108
  754. package/dist/models/update-bid200-response.d.ts +0 -15
  755. package/dist/models/update-bid200-response.js +0 -15
  756. package/dist/models/upload-url-created-response-dto.d.ts +0 -29
  757. package/dist/models/upload-url-created-response-dto.js +0 -15
  758. package/docs/AwardMethodPublic.md +0 -23
  759. package/docs/AwardRevertedV2ResponseDto.md +0 -22
  760. package/docs/BidAValuesDto.md +0 -32
  761. package/docs/BidAcceptanceDto.md +0 -26
  762. package/docs/BidAttachmentDto.md +0 -26
  763. package/docs/BidAwardMethodDetailDto.md +0 -24
  764. package/docs/BidCancellationDto.md +0 -20
  765. package/docs/BidCancelledResponseDto.md +0 -22
  766. package/docs/BidCategoryPublic.md +0 -15
  767. package/docs/BidContactDto.md +0 -28
  768. package/docs/BidContactsDto.md +0 -22
  769. package/docs/BidContractDocumentDto.md +0 -38
  770. package/docs/BidDeliveryTermsDto.md +0 -28
  771. package/docs/BidDetailResponseDto.md +0 -104
  772. package/docs/BidLicenseRequirementDto.md +0 -24
  773. package/docs/BidLifecycleDto.md +0 -28
  774. package/docs/BidMustReadNoticeDto.md +0 -22
  775. package/docs/BidPaymentTermsDto.md +0 -22
  776. package/docs/BidPreliminaryPriceDto.md +0 -30
  777. package/docs/BidPreliminaryPriceSlotDto.md +0 -24
  778. package/docs/BidProductDto.md +0 -38
  779. package/docs/BidQualificationReviewDto.md +0 -28
  780. package/docs/BidRegionDto.md +0 -22
  781. package/docs/BidRegionRestrictionDto.md +0 -22
  782. package/docs/BidRelatedBidDto.md +0 -22
  783. package/docs/BidRequiredDocumentDto.md +0 -24
  784. package/docs/BidSettlementLineItemDto.md +0 -36
  785. package/docs/BidSettlementParticipantDto.md +0 -56
  786. package/docs/BidSettlementResponseDto.md +0 -22
  787. package/docs/BidSiteBriefingDto.md +0 -22
  788. package/docs/BidSummaryDto.md +0 -54
  789. package/docs/BidTypePublic.md +0 -11
  790. package/docs/BidUpdatedResponseDto.md +0 -20
  791. package/docs/BiddingStylePublic.md +0 -11
  792. package/docs/CancelBid200Response.md +0 -20
  793. package/docs/CancelBidRequestDto.md +0 -20
  794. package/docs/CompleteInvoice200Response.md +0 -20
  795. package/docs/CompleteUploadRequestDto.md +0 -20
  796. package/docs/CreateEmbedLaunch201Response.md +0 -20
  797. package/docs/CreateFileUploadUrl201Response.md +0 -20
  798. package/docs/CreateUploadUrlRequestDto.md +0 -22
  799. package/docs/DeliveryDateTypePublic.md +0 -13
  800. package/docs/DeliveryMethodPublic.md +0 -13
  801. package/docs/EmbedApi.md +0 -68
  802. package/docs/EmbedBidPrefillDto.md +0 -42
  803. package/docs/EmbedBidPrefillItemDto.md +0 -28
  804. package/docs/EmbedBidPrefillManagerDto.md +0 -26
  805. package/docs/EmbedLaunchRequestDto.md +0 -30
  806. package/docs/EmbedLaunchResponseDto.md +0 -22
  807. package/docs/GetBid200Response.md +0 -20
  808. package/docs/GetBidSettlement200Response.md +0 -20
  809. package/docs/HandoverTypePublic.md +0 -11
  810. package/docs/InvoiceCompletedResponseDto.md +0 -20
  811. package/docs/LicenseCombinationMode.md +0 -11
  812. package/docs/ListBids200Response.md +0 -22
  813. package/docs/ListSuppliers200Response.md +0 -22
  814. package/docs/PaymentMethodPublic.md +0 -11
  815. package/docs/PreliminaryPriceRegionPublic.md +0 -13
  816. package/docs/PriceScoreTypePublic.md +0 -13
  817. package/docs/PricingTypePublic.md +0 -11
  818. package/docs/RegulationTypePublic.md +0 -11
  819. package/docs/RelatedBidRelation.md +0 -13
  820. package/docs/RevertAward200Response.md +0 -20
  821. package/docs/RevertAwardRequestDto.md +0 -20
  822. package/docs/SupplierResponseDto.md +0 -28
  823. package/docs/SupplierTaxType.md +0 -11
  824. package/docs/TaxationTypePublic.md +0 -13
  825. package/docs/TwoStagePhasePublic.md +0 -11
  826. package/docs/UpdateBid200Response.md +0 -20
  827. package/docs/UpdateBidRequestDto.md +0 -124
  828. package/docs/UploadUrlCreatedResponseDto.md +0 -26
  829. package/models/award-method-public.ts +0 -35
  830. package/models/award-reverted-v2-response-dto.ts +0 -34
  831. package/models/bid-acceptance-dto.ts +0 -35
  832. package/models/bid-attachment-dto.ts +0 -35
  833. package/models/bid-avalues-dto.ts +0 -47
  834. package/models/bid-award-method-detail-dto.ts +0 -36
  835. package/models/bid-cancellation-dto.ts +0 -23
  836. package/models/bid-cancelled-response-dto.ts +0 -34
  837. package/models/bid-category-public.ts +0 -31
  838. package/models/bid-contact-dto.ts +0 -39
  839. package/models/bid-contacts-dto.ts +0 -30
  840. package/models/bid-contract-document-dto.ts +0 -69
  841. package/models/bid-delivery-terms-dto.ts +0 -47
  842. package/models/bid-detail-response-dto.ts +0 -271
  843. package/models/bid-license-requirement-dto.ts +0 -36
  844. package/models/bid-lifecycle-dto.ts +0 -39
  845. package/models/bid-must-read-notice-dto.ts +0 -27
  846. package/models/bid-payment-terms-dto.ts +0 -32
  847. package/models/bid-preliminary-price-dto.ts +0 -46
  848. package/models/bid-preliminary-price-slot-dto.ts +0 -31
  849. package/models/bid-product-dto.ts +0 -67
  850. package/models/bid-qualification-review-dto.ts +0 -47
  851. package/models/bid-region-dto.ts +0 -27
  852. package/models/bid-region-restriction-dto.ts +0 -30
  853. package/models/bid-related-bid-dto.ts +0 -32
  854. package/models/bid-required-document-dto.ts +0 -31
  855. package/models/bid-settlement-line-item-dto.ts +0 -55
  856. package/models/bid-settlement-participant-dto.ts +0 -103
  857. package/models/bid-settlement-response-dto.ts +0 -30
  858. package/models/bid-site-briefing-dto.ts +0 -27
  859. package/models/bid-summary-dto.ts +0 -120
  860. package/models/bid-type-public.ts +0 -29
  861. package/models/bid-updated-response-dto.ts +0 -23
  862. package/models/bidding-style-public.ts +0 -29
  863. package/models/cancel-bid-request-dto.ts +0 -23
  864. package/models/cancel-bid200-response.ts +0 -23
  865. package/models/complete-invoice200-response.ts +0 -23
  866. package/models/complete-upload-request-dto.ts +0 -23
  867. package/models/create-embed-launch201-response.ts +0 -23
  868. package/models/create-file-upload-url201-response.ts +0 -23
  869. package/models/create-upload-url-request-dto.ts +0 -27
  870. package/models/delivery-date-type-public.ts +0 -30
  871. package/models/delivery-method-public.ts +0 -30
  872. package/models/embed-bid-prefill-dto.ts +0 -89
  873. package/models/embed-bid-prefill-item-dto.ts +0 -39
  874. package/models/embed-bid-prefill-manager-dto.ts +0 -35
  875. package/models/embed-launch-request-dto.ts +0 -68
  876. package/models/embed-launch-response-dto.ts +0 -27
  877. package/models/get-bid-settlement200-response.ts +0 -23
  878. package/models/get-bid200-response.ts +0 -23
  879. package/models/handover-type-public.ts +0 -29
  880. package/models/invoice-completed-response-dto.ts +0 -23
  881. package/models/license-combination-mode.ts +0 -29
  882. package/models/list-bids200-response.ts +0 -27
  883. package/models/list-suppliers200-response.ts +0 -27
  884. package/models/payment-method-public.ts +0 -29
  885. package/models/preliminary-price-region-public.ts +0 -30
  886. package/models/price-score-type-public.ts +0 -30
  887. package/models/pricing-type-public.ts +0 -29
  888. package/models/regulation-type-public.ts +0 -29
  889. package/models/related-bid-relation.ts +0 -30
  890. package/models/revert-award-request-dto.ts +0 -23
  891. package/models/revert-award200-response.ts +0 -23
  892. package/models/supplier-response-dto.ts +0 -39
  893. package/models/supplier-tax-type.ts +0 -29
  894. package/models/taxation-type-public.ts +0 -30
  895. package/models/two-stage-phase-public.ts +0 -29
  896. package/models/update-bid-request-dto.ts +0 -386
  897. package/models/update-bid200-response.ts +0 -23
  898. package/models/upload-url-created-response-dto.ts +0 -35
@@ -1,23 +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: 48.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 { UploadUrlCreatedResponseDto } from './upload-url-created-response-dto';
19
-
20
- export interface CreateFileUploadUrl201Response {
21
- 'data': UploadUrlCreatedResponseDto;
22
- }
23
-
@@ -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: 48.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 CreateUploadUrlRequestDto {
18
- /**
19
- * 파일λͺ…μž…λ‹ˆλ‹€(ν™•μž₯자 포함, μ΅œλŒ€ 255자). ν—ˆμš© ν˜•μ‹: PDF, HWP, HWPX, HWT, DOC, DOCX, XLS, XLSX, CELL, PPT, PPTX, SHOW, TXT, CSV, ZIP, JPG, JPEG, PNG, GIF, BMP, TIFF, TIF, DWG, DXF, STEP, STP, IGES, IGS, STL (accept: `.pdf,.hwp,.hwpx,.hwt,.doc,.docx,.xls,.xlsx,.cell,.ppt,.pptx,.show,.txt,.csv,.zip,.jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.dwg,.dxf,.step,.stp,.iges,.igs,.stl`). κ·Έ μ™Έ ν™•μž₯μžλŠ” κ±°λΆ€λ©λ‹ˆλ‹€.
20
- */
21
- 'fileName': string;
22
- /**
23
- * 파일 크기(λ°”μ΄νŠΈ). μ΅œλŒ€ 100MB. λ°œκΈ‰ 전에 정책을 κ²€μ‚¬ν•˜κΈ° μœ„ν•œ 값이며, ν™•μ • λ‹¨κ³„μ—μ„œ μ‹€μ œ 였브젝트 크기둜 μž¬ν™•μΈν•©λ‹ˆλ‹€.
24
- */
25
- 'fileSize': number;
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: 48.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
- /**
18
- * λ‚©ν’ˆκΈ°ν•œ μœ ν˜•(κ³΅κ°œκ°’). 미지정이면 null.
19
- */
20
-
21
- export const DeliveryDateTypePublic = {
22
- FixedDate: 'FIXED_DATE',
23
- DaysAfterContract: 'DAYS_AFTER_CONTRACT',
24
- NegotiatedAfterContract: 'NEGOTIATED_AFTER_CONTRACT',
25
- } as const;
26
-
27
- export type DeliveryDateTypePublic = typeof DeliveryDateTypePublic[keyof typeof DeliveryDateTypePublic];
28
-
29
-
30
-
@@ -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: 48.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
- /**
18
- * λ‚©ν’ˆ 방법(κ³΅κ°œκ°’). 미지정이면 null.
19
- */
20
-
21
- export const DeliveryMethodPublic = {
22
- Courier: 'COURIER',
23
- Direct: 'DIRECT',
24
- DeliveryAndInstall: 'DELIVERY_AND_INSTALL',
25
- } as const;
26
-
27
- export type DeliveryMethodPublic = typeof DeliveryMethodPublic[keyof typeof DeliveryMethodPublic];
28
-
29
-
30
-
@@ -1,89 +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: 48.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 { EmbedBidPrefillItemDto } from './embed-bid-prefill-item-dto';
19
- // May contain unused imports in some cases
20
- // @ts-ignore
21
- import type { EmbedBidPrefillManagerDto } from './embed-bid-prefill-manager-dto';
22
-
23
- export interface EmbedBidPrefillDto {
24
- /**
25
- * λ°œμ£ΌκΈ°κ΄€ ꡬ맀번호(ERP ꡬ맀번호). 곡고 등둝(`POST /v2/bids`)κ³Ό **같은 식별 μΆ•**μ΄λ‹ˆ 같은 값을 μ“°μ„Έμš”. 숫자둜 μ‹œμž‘ν•˜λ©΄ CMARKET 곡고번호둜 μ˜€μΈλ˜λ‹ˆ μ•ŒνŒŒλ²³ 접두사λ₯Ό λΆ™μž…λ‹ˆλ‹€. (ν™”λ©΄: `bid-register`)
26
- */
27
- 'purchaseNo'?: string;
28
- /**
29
- * 곡고λͺ…. (ν™”λ©΄: `bid-register`)
30
- */
31
- 'projectName'?: string;
32
- /**
33
- * 곡고 λ‚΄μš©. (ν™”λ©΄: `bid-register`)
34
- */
35
- 'noticeContent'?: string;
36
- /**
37
- * μž…μ°° 마감 μΌμ‹œ(ISO 8601, offset ν•„μˆ˜). (ν™”λ©΄: `bid-register`)
38
- */
39
- 'bidEndAt'?: string;
40
- /**
41
- * λ‚©ν’ˆ 희망일(`YYYY-MM-DD`). 폼의 λ‚©ν’ˆκΈ°ν•œ \"지정일\" 둜 λ“€μ–΄κ°‘λ‹ˆλ‹€. (ν™”λ©΄: `bid-register`)
42
- */
43
- 'deliveryDate'?: string;
44
- /**
45
- * ν’ˆλͺ© ν–‰. (ν™”λ©΄: `bid-register`)
46
- */
47
- 'items'?: Array<EmbedBidPrefillItemDto>;
48
- /**
49
- * 곡고 μœ ν˜• μ…€λ ‰ν„° μ΄ˆκΈ°κ°’. (ν™”λ©΄: `bid-register`)
50
- */
51
- 'categoryType'?: EmbedBidPrefillDtoCategoryTypeEnum;
52
- /**
53
- * λ‚©ν’ˆ μž₯μ†Œ(λ„λ‘œλͺ… μ£Όμ†Œ). (ν™”λ©΄: `bid-register`)
54
- */
55
- 'deliveryAddress'?: string;
56
- /**
57
- * 결제 방법. 곡고 등둝(`POST /v2/bids`)κ³Ό 같은 κ°’μ§‘ν•©μž…λ‹ˆλ‹€. `payment` 화면은 `CARD` 일 λ•Œλ§Œ μΉ΄λ“œκ²°μ œ μ§„μž…μ„ κ·Έλ¦½λ‹ˆλ‹€(λΉ„κΆŒμœ„ β€” μ΅œμ’… νŒμ •μ€ μ„œλ²„). (ν™”λ©΄: `bid-register` Β· `payment`)
58
- */
59
- 'paymentMethod'?: EmbedBidPrefillDtoPaymentMethodEnum;
60
- /**
61
- * λŒ€κΈˆμ§€κΈ‰ κΈ°ν•œ(일 λ‹¨μœ„ 숫자 λ¬Έμžμ—΄). (ν™”λ©΄: `bid-register`)
62
- */
63
- 'paymentDays'?: string;
64
- /**
65
- * 계약 λ‹΄λ‹Ήμž. (ν™”λ©΄: `bid-register`)
66
- */
67
- 'contractManager'?: EmbedBidPrefillManagerDto;
68
- /**
69
- * 기술 λ‹΄λ‹Ήμž. (ν™”λ©΄: `bid-register`)
70
- */
71
- 'techManager'?: EmbedBidPrefillManagerDto;
72
- }
73
-
74
- export const EmbedBidPrefillDtoCategoryTypeEnum = {
75
- Product: 'PRODUCT',
76
- Construction: 'CONSTRUCTION',
77
- Service: 'SERVICE',
78
- Sales: 'SALES',
79
- } as const;
80
-
81
- export type EmbedBidPrefillDtoCategoryTypeEnum = typeof EmbedBidPrefillDtoCategoryTypeEnum[keyof typeof EmbedBidPrefillDtoCategoryTypeEnum];
82
- export const EmbedBidPrefillDtoPaymentMethodEnum = {
83
- Cash: 'CASH',
84
- Card: 'CARD',
85
- } as const;
86
-
87
- export type EmbedBidPrefillDtoPaymentMethodEnum = typeof EmbedBidPrefillDtoPaymentMethodEnum[keyof typeof EmbedBidPrefillDtoPaymentMethodEnum];
88
-
89
-
@@ -1,39 +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: 48.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 EmbedBidPrefillItemDto {
18
- /**
19
- * ν’ˆλͺ©λͺ….
20
- */
21
- 'productName': string;
22
- /**
23
- * 규격.
24
- */
25
- 'spec'?: string;
26
- /**
27
- * μˆ˜λŸ‰(μ •μˆ˜).
28
- */
29
- 'quantity': number;
30
- /**
31
- * λ‹¨μœ„.
32
- */
33
- 'unit'?: string;
34
- /**
35
- * 단가(VAT 포함). μž„λ² λ“œ 곡고등둝 폼의 **ν•„μˆ˜ μž…λ ₯**이라, λΉΌλ©΄ 총 μ˜ˆμ •κΈˆμ•‘μ΄ 0 μ›μœΌλ‘œ μ‹œμž‘ν•©λ‹ˆλ‹€.
36
- */
37
- 'unitPrice'?: number;
38
- }
39
-
@@ -1,35 +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: 48.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 EmbedBidPrefillManagerDto {
18
- /**
19
- * λ‹΄λ‹Ήμžλͺ….
20
- */
21
- 'name': string;
22
- /**
23
- * μ—°λ½μ²˜.
24
- */
25
- 'phone': string;
26
- /**
27
- * 이메일.
28
- */
29
- 'email': string;
30
- /**
31
- * λ‹΄λ‹Ή λΆ€μ„œ. μ‘°λ‹¬ν”Œλž«νΌ κ³΅κ³ μƒμ„Έμ˜ λ‹΄λ‹Ήμž ν‘œμ— κ·ΈλŒ€λ‘œ μ‹€λ¦½λ‹ˆλ‹€. REST 등둝(`POST /v2/bids` 의 `BidManagerDto.department`)κ³Ό 같은 μΆ•μž…λ‹ˆλ‹€ β€” 두 레인이 같은 값을 보내야 화면이 κ°ˆλ¦¬μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
32
- */
33
- 'department'?: string;
34
- }
35
-
@@ -1,68 +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: 48.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 { EmbedBidPrefillDto } from './embed-bid-prefill-dto';
19
-
20
- export interface EmbedLaunchRequestDto {
21
- /**
22
- * μž„λ² λ“œ μ„Έμ…˜μ„ μ—΄ λ°œμ£ΌκΈ°κ΄€ λ‹΄λ‹Ήμžμ˜ νšŒμ› IDμž…λ‹ˆλ‹€. 이 API ν‚€μ˜ λŒ€ν–‰ λ²”μœ„ 밖이면 403μž…λ‹ˆλ‹€.
23
- */
24
- 'memberId': string;
25
- /**
26
- * μž„λ² λ“œλ₯Ό μ—΄λ©΄ 처음 λ³΄μ΄λŠ” ν™”λ©΄μž…λ‹ˆλ‹€. 값은 `bid-register`=곡고등둝 Β· `bid-list`=곡고λͺ©λ‘ Β· `bid-detail`=곡고상세 Β· `assistant`=AI 리포트 μ–΄μ‹œμŠ€νŠΈ Β· `payment`=λŒ€κΈˆκ²°μ œ Β· `savings`=μ˜ˆμ‚°μ ˆκ° 싀적 쀑 ν•˜λ‚˜μ΄κ³ , λͺ©λ‘ 밖이면 400μž…λ‹ˆλ‹€. μ„Έμ…˜μ΄ μ“Έ 수 μžˆλŠ” ν™”λ©΄ μ „μ²΄λŠ” components κ°€ μ •ν•©λ‹ˆλ‹€.
27
- */
28
- 'screen': EmbedLaunchRequestDtoScreenEnum;
29
- /**
30
- * 이 μ„Έμ…˜μ΄ μ“Έ 수 μžˆλŠ” ν™”λ©΄ μ§‘ν•©μž…λ‹ˆλ‹€. λ‘˜ 이상 μ£Όλ©΄ μž„λ² λ“œκ°€ 상단에 νƒ­λ°”λ₯Ό 그리고, μ‚¬μš©μžκ°€ μƒˆ launch URL 없이 κ·Έ 사이λ₯Ό μ˜€κ°‘λ‹ˆλ‹€. screen 은 μžλ™μœΌλ‘œ λ“€μ–΄κ°€κ³ , μƒλž΅ν•˜λ©΄ screen ν•˜λ‚˜λ§Œ μ—΄λ¦½λ‹ˆλ‹€. ν‘œμ‹œ λͺ©λ‘μ΄ μ•„λ‹ˆλΌ **κΆŒν•œ**μž…λ‹ˆλ‹€. μ—¬κΈ° μ—†λŠ” ν™”λ©΄μ˜ κΈ°λŠ₯은 μ„œλ²„κ°€ 403으둜 κ±°μ ˆν•©λ‹ˆλ‹€. λ“±λ‘λ§Œ ν•˜λŠ” μ‹€λ¬΄μžμ™€ κ²°μ œκΉŒμ§€ ν•˜λŠ” κ²°μž¬μžμ—κ²Œ 같은 μ„Έμ…˜μ„ μ£Όμ§€ λ§ˆμ„Έμš”.
31
- */
32
- 'components'?: Array<EmbedLaunchRequestDtoComponentsEnum>;
33
- /**
34
- * 이 μ„Έμ…˜μ΄ λ‹€λ£° κ³΅κ³ μž…λ‹ˆλ‹€. κ΅¬λ§€λ²ˆν˜Έμ™€ 곡고번호 μ–΄λŠ μͺ½μ΄λ“  λ°›μ•„ μ„œλ²„κ°€ λ‚΄λΆ€ 곡고번호둜 ν•΄μ†Œν•΄ μ„Έμ…˜μ— λ°•μœΌλ―€λ‘œ, 화면은 이 κ°’μœΌλ‘œλ§Œ μ‘°νšŒν•©λ‹ˆλ‹€. λ‹€λ₯Έ λ°œμ£ΌκΈ°κ΄€μ˜ 곡고면 403μž…λ‹ˆλ‹€. `bid-detail` Β· `payment` λŠ” λŒ€μƒ 곡고 없이 열리지 μ•ŠμŠ΅λ‹ˆλ‹€. 처음 ν™”λ©΄μœΌλ‘œ μ—΄κ±°λ‚˜ λͺ©λ‘(`bid-list`) 없이 νƒ­μœΌλ‘œ 끼울 λ•ŒλŠ” **ν•„μˆ˜**이고, μ—†μœΌλ©΄ 400μž…λ‹ˆλ‹€. λͺ©λ‘μ„ ν•¨κ»˜ μ—° ν—ˆλΈŒ μ„Έμ…˜μ—μ„œλŠ” μ‚¬μš©μžκ°€ κ³ λ₯Έ 곡고λ₯Ό μƒμ„ΈΒ·κ²°μ œκ°€ μ“°λ―€λ‘œ μƒλž΅ν•΄λ„ λ©λ‹ˆλ‹€. λ‚˜λ¨Έμ§€ ν™”λ©΄λ§Œ μ—¬λŠ” μ„Έμ…˜μ—μ„œ μƒλž΅ν•˜λ©΄ νšŒμ› λ‹¨μœ„ μ„Έμ…˜μ΄ λ©λ‹ˆλ‹€.
35
- */
36
- 'targetBidId'?: string;
37
- /**
38
- * iframe 을 λ„μšΈ λΆ€λͺ¨ νŽ˜μ΄μ§€μ˜ origin μž…λ‹ˆλ‹€(`https://erp.example.com`). 이 값을 μ£Όλ©΄ μž„λ² λ“œκ°€ μ™„λ£ŒΒ·μ·¨μ†ŒΒ·κ³΅κ³ μ„ νƒΒ·κ³΅κ³ λ°μ΄ν„°Β·μ„Έμ…˜λ§Œλ£Œλ₯Ό κ·Έ origin 으둜 `postMessage` ν•©λ‹ˆλ‹€. νŒŒνŠΈλ„ˆ 킀에 λ“±λ‘λœ λͺ©λ‘κ³Ό λŒ€μ‘°ν•˜λ©° 미등둝이면 400μž…λ‹ˆλ‹€. 등둝은 μ”¨λ§ˆμΌ“ λ‹΄λ‹Ήμžμ—κ²Œ μš”μ²­ν•˜μ‹œλ©΄ μ¦‰μ‹œ 반영되고, λΈŒλΌμš°μ €κ°€ iframe 을 ν—ˆμš©ν•˜λŠ” κ·Όκ±°(`frame-ancestors`)도 같은 λͺ©λ‘μ„ λ΄…λ‹ˆλ‹€. 개발 κΈ°κΈ°(`http://localhost:*`, `127.0.0.1`, `[::1]`)λŠ” 등둝 없이 ν†΅κ³Όν•©λ‹ˆλ‹€. μƒλž΅ν•˜λ©΄ 톡지 없이 ν™”λ©΄λ§Œ μ—΄λ¦½λ‹ˆλ‹€. μƒˆ νƒ­μœΌλ‘œ μ—¬λŠ” κ²½μš°κ°€ κ·Έλ ‡μŠ΅λ‹ˆλ‹€.
39
- */
40
- 'parentOrigin'?: string;
41
- /**
42
- * 화면을 미리 μ±„μ›Œ μ—¬λŠ” κ°’μž…λ‹ˆλ‹€. μ½λŠ” 화면은 `bid-register` 이고(`paymentMethod` λŠ” `payment` 화면도 μ½μŠ΅λ‹ˆλ‹€), λ‚˜λ¨Έμ§€ 화면은 λ¬΄μ‹œν•  뿐 였λ₯˜κ°€ μ•„λ‹™λ‹ˆλ‹€. components 둜 탭을 μ—¬λŸ¬ 개 μ—° μ„Έμ…˜μ€ κ·Έ 화면듀이 이 ν•œ 객체λ₯Ό ν•¨κ»˜ λ΄…λ‹ˆλ‹€. 폼 기본값일 뿐이라 μ΅œμ’… 검증은 제좜 μ‹œμ μ˜ μ„œλ²„κ°€ ν•©λ‹ˆλ‹€. λ‚™μ°°λ°©λ²•μ²˜λŸΌ μƒνƒœλ¨Έμ‹ μ— μ–½νžŒ 값은 λ°›μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‹€λ§Œ λͺ¨μ–‘은 μ—¬κΈ°μ„œ λ΄…λ‹ˆλ‹€ β€” 미인식 ν•„λ“œλ‚˜ νƒ€μž… λΆˆμΌμΉ˜λŠ” 400μž…λ‹ˆλ‹€(λͺ¨λ“  μ—”λ“œν¬μΈνŠΈ 곡톡 κ·œμ•½). ν†΅κ³Όμ‹œμΌœ 놓고 화면이 쑰용히 버리면 μ—°λ™μ‚¬λŠ” 빈 폼만 보고 원인을 μ°Ύμ§€ λͺ»ν•©λ‹ˆλ‹€. `purchaseNo` λŠ” 곡고 등둝(`POST /v2/bids`)κ³Ό 같은 μΆ•μž…λ‹ˆλ‹€. 숫자둜 μ‹œμž‘ν•˜λ©΄ 곡고번호둜 μ˜€μΈλ˜λ‹ˆ μ•ŒνŒŒλ²³ 접두사λ₯Ό λΆ™μ΄μ„Έμš”. λŒ€μƒ κ³΅κ³ λŠ” μ—¬κΈ°κ°€ μ•„λ‹ˆλΌ `targetBidId` 둜 μ§€μ •ν•©λ‹ˆλ‹€.
43
- */
44
- 'prefill'?: EmbedBidPrefillDto;
45
- }
46
-
47
- export const EmbedLaunchRequestDtoScreenEnum = {
48
- BidRegister: 'bid-register',
49
- BidList: 'bid-list',
50
- BidDetail: 'bid-detail',
51
- Assistant: 'assistant',
52
- Payment: 'payment',
53
- Savings: 'savings',
54
- } as const;
55
-
56
- export type EmbedLaunchRequestDtoScreenEnum = typeof EmbedLaunchRequestDtoScreenEnum[keyof typeof EmbedLaunchRequestDtoScreenEnum];
57
- export const EmbedLaunchRequestDtoComponentsEnum = {
58
- BidRegister: 'bid-register',
59
- BidList: 'bid-list',
60
- BidDetail: 'bid-detail',
61
- Assistant: 'assistant',
62
- Payment: 'payment',
63
- Savings: 'savings',
64
- } as const;
65
-
66
- export type EmbedLaunchRequestDtoComponentsEnum = typeof EmbedLaunchRequestDtoComponentsEnum[keyof typeof EmbedLaunchRequestDtoComponentsEnum];
67
-
68
-
@@ -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: 48.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 EmbedLaunchResponseDto {
18
- /**
19
- * 이 URL ν•˜λ‚˜λ‘œ μž„λ² λ“œκ°€ μ—΄λ¦½λ‹ˆλ‹€ β€” **iframe `src`에 κ±Έκ±°λ‚˜, μƒˆ νƒ­μœΌλ‘œ κ·ΈλŒ€λ‘œ μ—¬μ„Έμš”.** 별도 SDKΒ·μŠ€ν¬λ¦½νŠΈκ°€ ν•„μš” μ—†μŠ΅λ‹ˆλ‹€. launch codeλŠ” 쿼리가 μ•„λ‹ˆλΌ fragment(`#code=`)에 μ‹€λ € μ„œλ²„ μ•‘μ„ΈμŠ€ 둜그·Referer에 남지 μ•Šκ³ , CMARKET 화면이 μ†ŒλΉ„ μ¦‰μ‹œ μ£Όμ†Œμ°½μ—μ„œ μ§€μ›λ‹ˆλ‹€. λ‹€λ§Œ URL μžμ²΄κ°€ 60초짜리 자격증λͺ…μ΄λ―€λ‘œ λ©”μΌΒ·λ©”μ‹ μ €λ‘œ μž¬μ „λ‹¬ν•˜μ§€ 말고, μ‚¬μš©μž 클릭 μ‹œμ μ— λ°œκΈ‰ν•΄ λ°”λ‘œ μ—¬μ„Έμš”. μ™„λ£ŒΒ·μ·¨μ†Œ 톡지(`cmarket:success` λ“±)λ₯Ό λ°›μœΌλ €λ©΄ λ°œκΈ‰ μš”μ²­μ— `parentOrigin`을 ν•¨κ»˜ μ£Όμ„Έμš”. μƒˆ νƒ­ λͺ¨λ“œμ—λŠ” 톡지 κ²½λ‘œκ°€ μ—†μ–΄ κ²°κ³Όλ₯Ό 쑰회 API둜 ν™•μΈν•©λ‹ˆλ‹€.
20
- */
21
- 'launchUrl': string;
22
- /**
23
- * launch URL의 μœ νš¨κΈ°κ°„(초)μž…λ‹ˆλ‹€. 만료 후에 μ—΄λ©΄ 화면이 만료 μ•ˆλ‚΄λ₯Ό λ„μ›λ‹ˆλ‹€ β€” μΊμ‹œν•˜μ§€ 말고 ν•„μš”ν•  λ•Œ λ°œκΈ‰ν•˜μ„Έμš”.
24
- */
25
- 'expiresIn': number;
26
- }
27
-
@@ -1,23 +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: 48.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 { BidSettlementResponseDto } from './bid-settlement-response-dto';
19
-
20
- export interface GetBidSettlement200Response {
21
- 'data': BidSettlementResponseDto;
22
- }
23
-
@@ -1,23 +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: 48.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 { BidDetailResponseDto } from './bid-detail-response-dto';
19
-
20
- export interface GetBid200Response {
21
- 'data': BidDetailResponseDto;
22
- }
23
-
@@ -1,29 +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: 48.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
- /**
18
- * μΈμˆ˜λ„ 방식. `LOADING_POINT`=상차도(μΆœν•˜μ§€ 인수), `ARRIVAL_POINT`=도착도(λ‚©ν’ˆμž₯μ†Œ 인수). 미지정이면 null.
19
- */
20
-
21
- export const HandoverTypePublic = {
22
- LoadingPoint: 'LOADING_POINT',
23
- ArrivalPoint: 'ARRIVAL_POINT',
24
- } as const;
25
-
26
- export type HandoverTypePublic = typeof HandoverTypePublic[keyof typeof HandoverTypePublic];
27
-
28
-
29
-