@cmarket/partner-sdk 44.2.0 → 44.3.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 (955) hide show
  1. package/README.md +7 -4
  2. package/api/embed-api.ts +1 -1
  3. package/api/oauth-api.ts +1 -1
  4. package/api/partner-api-api.ts +99 -1
  5. package/api/products-api.ts +1 -1
  6. package/api/webhooks-api.ts +1 -1
  7. package/api/well-known-api.ts +1 -1
  8. package/api.ts +1 -1
  9. package/base.ts +1 -1
  10. package/common.ts +1 -1
  11. package/configuration.ts +1 -1
  12. package/dist/api/embed-api.d.ts +1 -1
  13. package/dist/api/embed-api.js +1 -1
  14. package/dist/api/oauth-api.d.ts +1 -1
  15. package/dist/api/oauth-api.js +1 -1
  16. package/dist/api/partner-api-api.d.ts +46 -1
  17. package/dist/api/partner-api-api.js +91 -1
  18. package/dist/api/products-api.d.ts +1 -1
  19. package/dist/api/products-api.js +1 -1
  20. package/dist/api/webhooks-api.d.ts +1 -1
  21. package/dist/api/webhooks-api.js +1 -1
  22. package/dist/api/well-known-api.d.ts +1 -1
  23. package/dist/api/well-known-api.js +1 -1
  24. package/dist/api.d.ts +1 -1
  25. package/dist/api.js +1 -1
  26. package/dist/base.d.ts +1 -1
  27. package/dist/base.js +1 -1
  28. package/dist/common.d.ts +1 -1
  29. package/dist/common.js +1 -1
  30. package/dist/configuration.d.ts +1 -1
  31. package/dist/configuration.js +1 -1
  32. package/dist/esm/api/embed-api.d.ts +1 -1
  33. package/dist/esm/api/embed-api.js +1 -1
  34. package/dist/esm/api/oauth-api.d.ts +1 -1
  35. package/dist/esm/api/oauth-api.js +1 -1
  36. package/dist/esm/api/partner-api-api.d.ts +46 -1
  37. package/dist/esm/api/partner-api-api.js +91 -1
  38. package/dist/esm/api/products-api.d.ts +1 -1
  39. package/dist/esm/api/products-api.js +1 -1
  40. package/dist/esm/api/webhooks-api.d.ts +1 -1
  41. package/dist/esm/api/webhooks-api.js +1 -1
  42. package/dist/esm/api/well-known-api.d.ts +1 -1
  43. package/dist/esm/api/well-known-api.js +1 -1
  44. package/dist/esm/api.d.ts +1 -1
  45. package/dist/esm/api.js +1 -1
  46. package/dist/esm/base.d.ts +1 -1
  47. package/dist/esm/base.js +1 -1
  48. package/dist/esm/common.d.ts +1 -1
  49. package/dist/esm/common.js +1 -1
  50. package/dist/esm/configuration.d.ts +1 -1
  51. package/dist/esm/configuration.js +1 -1
  52. package/dist/esm/index.d.ts +1 -1
  53. package/dist/esm/index.js +1 -1
  54. package/dist/esm/models/acceptance-result-response-dto.d.ts +1 -1
  55. package/dist/esm/models/acceptance-result-response-dto.js +1 -1
  56. package/dist/esm/models/acknowledge-product-receipt200-response.d.ts +1 -1
  57. package/dist/esm/models/acknowledge-product-receipt200-response.js +1 -1
  58. package/dist/esm/models/acknowledge-products-request-dto.d.ts +1 -1
  59. package/dist/esm/models/acknowledge-products-request-dto.js +1 -1
  60. package/dist/esm/models/api-catalog-dto.d.ts +1 -1
  61. package/dist/esm/models/api-catalog-dto.js +1 -1
  62. package/dist/esm/models/api-catalog-entry-dto.d.ts +1 -1
  63. package/dist/esm/models/api-catalog-entry-dto.js +1 -1
  64. package/dist/esm/models/api-catalog-link-dto.d.ts +1 -1
  65. package/dist/esm/models/api-catalog-link-dto.js +1 -1
  66. package/dist/esm/models/authorization-server-metadata-dto.d.ts +1 -1
  67. package/dist/esm/models/authorization-server-metadata-dto.js +1 -1
  68. package/dist/esm/models/avalues-input-dto.d.ts +1 -1
  69. package/dist/esm/models/avalues-input-dto.js +1 -1
  70. package/dist/esm/models/award-method-public.d.ts +1 -1
  71. package/dist/esm/models/award-method-public.js +1 -1
  72. package/dist/esm/models/award-registered-v2-response-dto.d.ts +1 -1
  73. package/dist/esm/models/award-registered-v2-response-dto.js +1 -1
  74. package/dist/esm/models/award-reverted-v2-response-dto.d.ts +1 -1
  75. package/dist/esm/models/award-reverted-v2-response-dto.js +1 -1
  76. package/dist/esm/models/bid-acceptance-dto.d.ts +1 -1
  77. package/dist/esm/models/bid-acceptance-dto.js +1 -1
  78. package/dist/esm/models/bid-attachment-dto.d.ts +1 -1
  79. package/dist/esm/models/bid-attachment-dto.js +1 -1
  80. package/dist/esm/models/bid-attachment-input-dto.d.ts +1 -1
  81. package/dist/esm/models/bid-attachment-input-dto.js +1 -1
  82. package/dist/esm/models/bid-avalues-dto.d.ts +1 -1
  83. package/dist/esm/models/bid-avalues-dto.js +1 -1
  84. package/dist/esm/models/bid-award-method-detail-dto.d.ts +1 -1
  85. package/dist/esm/models/bid-award-method-detail-dto.js +1 -1
  86. package/dist/esm/models/bid-bond-dto.d.ts +1 -1
  87. package/dist/esm/models/bid-bond-dto.js +1 -1
  88. package/dist/esm/models/bid-cancellation-dto.d.ts +1 -1
  89. package/dist/esm/models/bid-cancellation-dto.js +1 -1
  90. package/dist/esm/models/bid-cancelled-response-dto.d.ts +1 -1
  91. package/dist/esm/models/bid-cancelled-response-dto.js +1 -1
  92. package/dist/esm/models/bid-category-public.d.ts +1 -1
  93. package/dist/esm/models/bid-category-public.js +1 -1
  94. package/dist/esm/models/bid-contact-dto.d.ts +1 -1
  95. package/dist/esm/models/bid-contact-dto.js +1 -1
  96. package/dist/esm/models/bid-contacts-dto.d.ts +1 -1
  97. package/dist/esm/models/bid-contacts-dto.js +1 -1
  98. package/dist/esm/models/bid-contract-document-dto.d.ts +1 -1
  99. package/dist/esm/models/bid-contract-document-dto.js +1 -1
  100. package/dist/esm/models/bid-delivery-terms-dto.d.ts +1 -1
  101. package/dist/esm/models/bid-delivery-terms-dto.js +1 -1
  102. package/dist/esm/models/bid-detail-response-dto.d.ts +1 -1
  103. package/dist/esm/models/bid-detail-response-dto.js +1 -1
  104. package/dist/esm/models/bid-document-dto.d.ts +1 -1
  105. package/dist/esm/models/bid-document-dto.js +1 -1
  106. package/dist/esm/models/bid-failed-v2-response-dto.d.ts +1 -1
  107. package/dist/esm/models/bid-failed-v2-response-dto.js +1 -1
  108. package/dist/esm/models/bid-item-dto.d.ts +1 -1
  109. package/dist/esm/models/bid-item-dto.js +1 -1
  110. package/dist/esm/models/bid-license-requirement-dto.d.ts +1 -1
  111. package/dist/esm/models/bid-license-requirement-dto.js +1 -1
  112. package/dist/esm/models/bid-lifecycle-dto.d.ts +1 -1
  113. package/dist/esm/models/bid-lifecycle-dto.js +1 -1
  114. package/dist/esm/models/bid-manager-dto.d.ts +1 -1
  115. package/dist/esm/models/bid-manager-dto.js +1 -1
  116. package/dist/esm/models/bid-must-read-notice-dto.d.ts +1 -1
  117. package/dist/esm/models/bid-must-read-notice-dto.js +1 -1
  118. package/dist/esm/models/bid-payment-terms-dto.d.ts +1 -1
  119. package/dist/esm/models/bid-payment-terms-dto.js +1 -1
  120. package/dist/esm/models/bid-preliminary-price-dto.d.ts +1 -1
  121. package/dist/esm/models/bid-preliminary-price-dto.js +1 -1
  122. package/dist/esm/models/bid-preliminary-price-slot-dto.d.ts +1 -1
  123. package/dist/esm/models/bid-preliminary-price-slot-dto.js +1 -1
  124. package/dist/esm/models/bid-product-dto.d.ts +1 -1
  125. package/dist/esm/models/bid-product-dto.js +1 -1
  126. package/dist/esm/models/bid-public-status.d.ts +1 -1
  127. package/dist/esm/models/bid-public-status.js +1 -1
  128. package/dist/esm/models/bid-qualification-review-dto.d.ts +1 -1
  129. package/dist/esm/models/bid-qualification-review-dto.js +1 -1
  130. package/dist/esm/models/bid-region-dto.d.ts +1 -1
  131. package/dist/esm/models/bid-region-dto.js +1 -1
  132. package/dist/esm/models/bid-region-restriction-dto.d.ts +1 -1
  133. package/dist/esm/models/bid-region-restriction-dto.js +1 -1
  134. package/dist/esm/models/bid-registered-response-dto.d.ts +1 -1
  135. package/dist/esm/models/bid-registered-response-dto.js +1 -1
  136. package/dist/esm/models/bid-related-bid-dto.d.ts +1 -1
  137. package/dist/esm/models/bid-related-bid-dto.js +1 -1
  138. package/dist/esm/models/bid-required-document-dto.d.ts +1 -1
  139. package/dist/esm/models/bid-required-document-dto.js +1 -1
  140. package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +1 -1
  141. package/dist/esm/models/bid-result-participant-attachment-dto.js +1 -1
  142. package/dist/esm/models/bid-result-participant-dto.d.ts +1 -1
  143. package/dist/esm/models/bid-result-participant-dto.js +1 -1
  144. package/dist/esm/models/bid-results-response-dto.d.ts +1 -1
  145. package/dist/esm/models/bid-results-response-dto.js +1 -1
  146. package/dist/esm/models/bid-settlement-line-item-dto.d.ts +1 -1
  147. package/dist/esm/models/bid-settlement-line-item-dto.js +1 -1
  148. package/dist/esm/models/bid-settlement-participant-dto.d.ts +1 -1
  149. package/dist/esm/models/bid-settlement-participant-dto.js +1 -1
  150. package/dist/esm/models/bid-settlement-response-dto.d.ts +1 -1
  151. package/dist/esm/models/bid-settlement-response-dto.js +1 -1
  152. package/dist/esm/models/bid-site-briefing-dto.d.ts +1 -1
  153. package/dist/esm/models/bid-site-briefing-dto.js +1 -1
  154. package/dist/esm/models/bid-statement-response-dto.d.ts +1 -1
  155. package/dist/esm/models/bid-statement-response-dto.js +1 -1
  156. package/dist/esm/models/bid-summary-dto.d.ts +1 -1
  157. package/dist/esm/models/bid-summary-dto.js +1 -1
  158. package/dist/esm/models/bid-type-public.d.ts +1 -1
  159. package/dist/esm/models/bid-type-public.js +1 -1
  160. package/dist/esm/models/bid-updated-response-dto.d.ts +1 -1
  161. package/dist/esm/models/bid-updated-response-dto.js +1 -1
  162. package/dist/esm/models/bidding-style-public.d.ts +1 -1
  163. package/dist/esm/models/bidding-style-public.js +1 -1
  164. package/dist/esm/models/cancel-bid-request-dto.d.ts +1 -1
  165. package/dist/esm/models/cancel-bid-request-dto.js +1 -1
  166. package/dist/esm/models/cancel-bid200-response.d.ts +1 -1
  167. package/dist/esm/models/cancel-bid200-response.js +1 -1
  168. package/dist/esm/models/card-payment-request-response-dto.d.ts +1 -1
  169. package/dist/esm/models/card-payment-request-response-dto.js +1 -1
  170. package/dist/esm/models/complete-acceptance-request-dto.d.ts +1 -1
  171. package/dist/esm/models/complete-acceptance-request-dto.js +1 -1
  172. package/dist/esm/models/complete-acceptance200-response.d.ts +1 -1
  173. package/dist/esm/models/complete-acceptance200-response.js +1 -1
  174. package/dist/esm/models/complete-invoice200-response.d.ts +1 -1
  175. package/dist/esm/models/complete-invoice200-response.js +1 -1
  176. package/dist/esm/models/complete-upload-request-dto.d.ts +1 -1
  177. package/dist/esm/models/complete-upload-request-dto.js +1 -1
  178. package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  179. package/dist/esm/models/contract-restriction-confirm-input-dto.js +1 -1
  180. package/dist/esm/models/create-bid-request-dto.d.ts +1 -1
  181. package/dist/esm/models/create-bid-request-dto.js +1 -1
  182. package/dist/esm/models/create-card-payment-dto.d.ts +1 -1
  183. package/dist/esm/models/create-card-payment-dto.js +1 -1
  184. package/dist/esm/models/create-card-payment-request-dto.d.ts +1 -1
  185. package/dist/esm/models/create-card-payment-request-dto.js +1 -1
  186. package/dist/esm/models/create-card-payment200-response.d.ts +1 -1
  187. package/dist/esm/models/create-card-payment200-response.js +1 -1
  188. package/dist/esm/models/create-embed-launch201-response.d.ts +1 -1
  189. package/dist/esm/models/create-embed-launch201-response.js +1 -1
  190. package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +1 -1
  191. package/dist/esm/models/create-external-contract-documents-request-dto.js +1 -1
  192. package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +1 -1
  193. package/dist/esm/models/create-external-contract-documents-response-dto.js +1 -1
  194. package/dist/esm/models/create-file-upload-url201-response.d.ts +1 -1
  195. package/dist/esm/models/create-file-upload-url201-response.js +1 -1
  196. package/dist/esm/models/create-upload-url-request-dto.d.ts +1 -1
  197. package/dist/esm/models/create-upload-url-request-dto.js +1 -1
  198. package/dist/esm/models/create-webhook-endpoint-request-dto.d.ts +1 -1
  199. package/dist/esm/models/create-webhook-endpoint-request-dto.js +1 -1
  200. package/dist/esm/models/create-webhook-endpoint201-response.d.ts +1 -1
  201. package/dist/esm/models/create-webhook-endpoint201-response.js +1 -1
  202. package/dist/esm/models/delivery-date-type-public.d.ts +1 -1
  203. package/dist/esm/models/delivery-date-type-public.js +1 -1
  204. package/dist/esm/models/delivery-method-public.d.ts +1 -1
  205. package/dist/esm/models/delivery-method-public.js +1 -1
  206. package/dist/esm/models/embed-bid-prefill-dto.d.ts +1 -1
  207. package/dist/esm/models/embed-bid-prefill-dto.js +1 -1
  208. package/dist/esm/models/embed-bid-prefill-item-dto.d.ts +1 -1
  209. package/dist/esm/models/embed-bid-prefill-item-dto.js +1 -1
  210. package/dist/esm/models/embed-bid-prefill-manager-dto.d.ts +1 -1
  211. package/dist/esm/models/embed-bid-prefill-manager-dto.js +1 -1
  212. package/dist/esm/models/embed-launch-request-dto.d.ts +1 -1
  213. package/dist/esm/models/embed-launch-request-dto.js +1 -1
  214. package/dist/esm/models/embed-launch-response-dto.d.ts +1 -1
  215. package/dist/esm/models/embed-launch-response-dto.js +1 -1
  216. package/dist/esm/models/excellent-procurement-public.d.ts +1 -1
  217. package/dist/esm/models/excellent-procurement-public.js +1 -1
  218. package/dist/esm/models/external-contract-document-item-dto.d.ts +1 -1
  219. package/dist/esm/models/external-contract-document-item-dto.js +1 -1
  220. package/dist/esm/models/external-contract-documents-response-dto.d.ts +1 -1
  221. package/dist/esm/models/external-contract-documents-response-dto.js +1 -1
  222. package/dist/esm/models/external-contract-item-dto.d.ts +1 -1
  223. package/dist/esm/models/external-contract-item-dto.js +1 -1
  224. package/dist/esm/models/external-contract-snapshot-dto.d.ts +1 -1
  225. package/dist/esm/models/external-contract-snapshot-dto.js +1 -1
  226. package/dist/esm/models/external-document-inputs-dto.d.ts +1 -1
  227. package/dist/esm/models/external-document-inputs-dto.js +1 -1
  228. package/dist/esm/models/file-meta-response-dto.d.ts +1 -1
  229. package/dist/esm/models/file-meta-response-dto.js +1 -1
  230. package/dist/esm/models/file-uploaded-response-dto.d.ts +1 -1
  231. package/dist/esm/models/file-uploaded-response-dto.js +1 -1
  232. package/dist/esm/models/generated-external-contract-document-dto.d.ts +1 -1
  233. package/dist/esm/models/generated-external-contract-document-dto.js +1 -1
  234. package/dist/esm/models/get-bid-settlement200-response.d.ts +1 -1
  235. package/dist/esm/models/get-bid-settlement200-response.js +1 -1
  236. package/dist/esm/models/get-bid-statement200-response.d.ts +1 -1
  237. package/dist/esm/models/get-bid-statement200-response.js +1 -1
  238. package/dist/esm/models/get-bid200-response.d.ts +1 -1
  239. package/dist/esm/models/get-bid200-response.js +1 -1
  240. package/dist/esm/models/get-file-meta200-response.d.ts +1 -1
  241. package/dist/esm/models/get-file-meta200-response.js +1 -1
  242. package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
  243. package/dist/esm/models/get-supplier-card-payable-v2200-response.js +1 -1
  244. package/dist/esm/models/get-webhook-endpoint200-response.d.ts +1 -1
  245. package/dist/esm/models/get-webhook-endpoint200-response.js +1 -1
  246. package/dist/esm/models/green-product-public.d.ts +1 -1
  247. package/dist/esm/models/green-product-public.js +1 -1
  248. package/dist/esm/models/handover-type-public.d.ts +1 -1
  249. package/dist/esm/models/handover-type-public.js +1 -1
  250. package/dist/esm/models/health-controller-check200-response.d.ts +1 -1
  251. package/dist/esm/models/health-controller-check200-response.js +1 -1
  252. package/dist/esm/models/health-response-dto.d.ts +1 -1
  253. package/dist/esm/models/health-response-dto.js +1 -1
  254. package/dist/esm/models/hierarchical-region-dto.d.ts +1 -1
  255. package/dist/esm/models/hierarchical-region-dto.js +1 -1
  256. package/dist/esm/models/index.d.ts +2 -0
  257. package/dist/esm/models/index.js +2 -0
  258. package/dist/esm/models/introspect-request-dto.d.ts +1 -1
  259. package/dist/esm/models/introspect-request-dto.js +1 -1
  260. package/dist/esm/models/introspection-response-dto.d.ts +1 -1
  261. package/dist/esm/models/introspection-response-dto.js +1 -1
  262. package/dist/esm/models/invalid-param-dto.d.ts +1 -1
  263. package/dist/esm/models/invalid-param-dto.js +1 -1
  264. package/dist/esm/models/invoice-completed-response-dto.d.ts +1 -1
  265. package/dist/esm/models/invoice-completed-response-dto.js +1 -1
  266. package/dist/esm/models/invoice-split-response-dto.d.ts +1 -1
  267. package/dist/esm/models/invoice-split-response-dto.js +1 -1
  268. package/dist/esm/models/legal-mandatory-public.d.ts +1 -1
  269. package/dist/esm/models/legal-mandatory-public.js +1 -1
  270. package/dist/esm/models/license-combination-mode.d.ts +1 -1
  271. package/dist/esm/models/license-combination-mode.js +1 -1
  272. package/dist/esm/models/list-bid-results200-response.d.ts +1 -1
  273. package/dist/esm/models/list-bid-results200-response.js +1 -1
  274. package/dist/esm/models/list-bids200-response-meta.d.ts +1 -1
  275. package/dist/esm/models/list-bids200-response-meta.js +1 -1
  276. package/dist/esm/models/list-bids200-response.d.ts +1 -1
  277. package/dist/esm/models/list-bids200-response.js +1 -1
  278. package/dist/esm/models/list-products200-response.d.ts +1 -1
  279. package/dist/esm/models/list-products200-response.js +1 -1
  280. package/dist/esm/models/list-suppliers200-response.d.ts +17 -0
  281. package/dist/esm/models/list-suppliers200-response.js +14 -0
  282. package/dist/esm/models/list-webhook-deliveries-response-dto.d.ts +1 -1
  283. package/dist/esm/models/list-webhook-deliveries-response-dto.js +1 -1
  284. package/dist/esm/models/list-webhook-deliveries200-response.d.ts +1 -1
  285. package/dist/esm/models/list-webhook-deliveries200-response.js +1 -1
  286. package/dist/esm/models/list-webhook-endpoints200-response.d.ts +1 -1
  287. package/dist/esm/models/list-webhook-endpoints200-response.js +1 -1
  288. package/dist/esm/models/mark-bid-failed-request-dto.d.ts +1 -1
  289. package/dist/esm/models/mark-bid-failed-request-dto.js +1 -1
  290. package/dist/esm/models/mark-bid-failed201-response.d.ts +1 -1
  291. package/dist/esm/models/mark-bid-failed201-response.js +1 -1
  292. package/dist/esm/models/nominated-supplier-dto.d.ts +1 -1
  293. package/dist/esm/models/nominated-supplier-dto.js +1 -1
  294. package/dist/esm/models/oauth-error-response-dto.d.ts +1 -1
  295. package/dist/esm/models/oauth-error-response-dto.js +1 -1
  296. package/dist/esm/models/on-bid-award-reverted-request.d.ts +1 -1
  297. package/dist/esm/models/on-bid-award-reverted-request.js +1 -1
  298. package/dist/esm/models/on-bid-awarded-request.d.ts +1 -1
  299. package/dist/esm/models/on-bid-awarded-request.js +1 -1
  300. package/dist/esm/models/on-bid-canceled-request.d.ts +1 -1
  301. package/dist/esm/models/on-bid-canceled-request.js +1 -1
  302. package/dist/esm/models/on-bid-closed-request.d.ts +1 -1
  303. package/dist/esm/models/on-bid-closed-request.js +1 -1
  304. package/dist/esm/models/on-bid-failed-request.d.ts +1 -1
  305. package/dist/esm/models/on-bid-failed-request.js +1 -1
  306. package/dist/esm/models/on-ping-request.d.ts +1 -1
  307. package/dist/esm/models/on-ping-request.js +1 -1
  308. package/dist/esm/models/partner-webhook-delivery-status.d.ts +1 -1
  309. package/dist/esm/models/partner-webhook-delivery-status.js +1 -1
  310. package/dist/esm/models/partner-webhook-endpoint-status.d.ts +1 -1
  311. package/dist/esm/models/partner-webhook-endpoint-status.js +1 -1
  312. package/dist/esm/models/partner-webhook-event-type.d.ts +1 -1
  313. package/dist/esm/models/partner-webhook-event-type.js +1 -1
  314. package/dist/esm/models/payment-method-public.d.ts +1 -1
  315. package/dist/esm/models/payment-method-public.js +1 -1
  316. package/dist/esm/models/preconditions-dto.d.ts +1 -1
  317. package/dist/esm/models/preconditions-dto.js +1 -1
  318. package/dist/esm/models/preliminary-price-region-public.d.ts +1 -1
  319. package/dist/esm/models/preliminary-price-region-public.js +1 -1
  320. package/dist/esm/models/price-score-type-public.d.ts +1 -1
  321. package/dist/esm/models/price-score-type-public.js +1 -1
  322. package/dist/esm/models/pricing-type-public.d.ts +1 -1
  323. package/dist/esm/models/pricing-type-public.js +1 -1
  324. package/dist/esm/models/problem-details-dto.d.ts +1 -1
  325. package/dist/esm/models/problem-details-dto.js +1 -1
  326. package/dist/esm/models/product-receipt-response-dto.d.ts +1 -1
  327. package/dist/esm/models/product-receipt-response-dto.js +1 -1
  328. package/dist/esm/models/product-response-dto.d.ts +1 -1
  329. package/dist/esm/models/product-response-dto.js +1 -1
  330. package/dist/esm/models/protected-resource-metadata-dto.d.ts +1 -1
  331. package/dist/esm/models/protected-resource-metadata-dto.js +1 -1
  332. package/dist/esm/models/qualification-review-input-dto.d.ts +1 -1
  333. package/dist/esm/models/qualification-review-input-dto.js +1 -1
  334. package/dist/esm/models/register-award-request-dto.d.ts +1 -1
  335. package/dist/esm/models/register-award-request-dto.js +1 -1
  336. package/dist/esm/models/register-award201-response.d.ts +1 -1
  337. package/dist/esm/models/register-award201-response.js +1 -1
  338. package/dist/esm/models/register-bid201-response.d.ts +1 -1
  339. package/dist/esm/models/register-bid201-response.js +1 -1
  340. package/dist/esm/models/register-semo-contract-request-dto.d.ts +1 -1
  341. package/dist/esm/models/register-semo-contract-request-dto.js +1 -1
  342. package/dist/esm/models/regulation-type-public.d.ts +1 -1
  343. package/dist/esm/models/regulation-type-public.js +1 -1
  344. package/dist/esm/models/related-bid-relation.d.ts +1 -1
  345. package/dist/esm/models/related-bid-relation.js +1 -1
  346. package/dist/esm/models/request-invoice-split-request-dto.d.ts +1 -1
  347. package/dist/esm/models/request-invoice-split-request-dto.js +1 -1
  348. package/dist/esm/models/request-invoice-split200-response.d.ts +1 -1
  349. package/dist/esm/models/request-invoice-split200-response.js +1 -1
  350. package/dist/esm/models/retiree-roster-input-dto.d.ts +1 -1
  351. package/dist/esm/models/retiree-roster-input-dto.js +1 -1
  352. package/dist/esm/models/retiree-roster-row-dto.d.ts +1 -1
  353. package/dist/esm/models/retiree-roster-row-dto.js +1 -1
  354. package/dist/esm/models/revert-award-request-dto.d.ts +1 -1
  355. package/dist/esm/models/revert-award-request-dto.js +1 -1
  356. package/dist/esm/models/revert-award200-response.d.ts +1 -1
  357. package/dist/esm/models/revert-award200-response.js +1 -1
  358. package/dist/esm/models/revoke-request-dto.d.ts +1 -1
  359. package/dist/esm/models/revoke-request-dto.js +1 -1
  360. package/dist/esm/models/semo-contract-registered-response-dto.d.ts +1 -1
  361. package/dist/esm/models/semo-contract-registered-response-dto.js +1 -1
  362. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  363. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  364. package/dist/esm/models/send-webhook-test-event200-response.d.ts +1 -1
  365. package/dist/esm/models/send-webhook-test-event200-response.js +1 -1
  366. package/dist/esm/models/site-briefing-input-dto.d.ts +1 -1
  367. package/dist/esm/models/site-briefing-input-dto.js +1 -1
  368. package/dist/esm/models/statement-document-dto.d.ts +1 -1
  369. package/dist/esm/models/statement-document-dto.js +1 -1
  370. package/dist/esm/models/statement-product-dto.d.ts +1 -1
  371. package/dist/esm/models/statement-product-dto.js +1 -1
  372. package/dist/esm/models/supplier-card-payable-response-dto.d.ts +1 -1
  373. package/dist/esm/models/supplier-card-payable-response-dto.js +1 -1
  374. package/dist/esm/models/supplier-response-dto.d.ts +33 -0
  375. package/dist/esm/models/supplier-response-dto.js +14 -0
  376. package/dist/esm/models/supplier-tax-type.d.ts +1 -1
  377. package/dist/esm/models/supplier-tax-type.js +1 -1
  378. package/dist/esm/models/taxation-type-public.d.ts +1 -1
  379. package/dist/esm/models/taxation-type-public.js +1 -1
  380. package/dist/esm/models/token-request-dto.d.ts +1 -1
  381. package/dist/esm/models/token-request-dto.js +1 -1
  382. package/dist/esm/models/token-response-dto.d.ts +1 -1
  383. package/dist/esm/models/token-response-dto.js +1 -1
  384. package/dist/esm/models/two-stage-phase-public.d.ts +1 -1
  385. package/dist/esm/models/two-stage-phase-public.js +1 -1
  386. package/dist/esm/models/update-bid-request-dto.d.ts +1 -1
  387. package/dist/esm/models/update-bid-request-dto.js +1 -1
  388. package/dist/esm/models/update-bid200-response.d.ts +1 -1
  389. package/dist/esm/models/update-bid200-response.js +1 -1
  390. package/dist/esm/models/update-webhook-endpoint-request-dto.d.ts +1 -1
  391. package/dist/esm/models/update-webhook-endpoint-request-dto.js +1 -1
  392. package/dist/esm/models/upload-file-request-dto.d.ts +1 -1
  393. package/dist/esm/models/upload-file-request-dto.js +1 -1
  394. package/dist/esm/models/upload-file201-response.d.ts +1 -1
  395. package/dist/esm/models/upload-file201-response.js +1 -1
  396. package/dist/esm/models/upload-url-created-response-dto.d.ts +1 -1
  397. package/dist/esm/models/upload-url-created-response-dto.js +1 -1
  398. package/dist/esm/models/webhook-bid-event-data.d.ts +1 -1
  399. package/dist/esm/models/webhook-bid-event-data.js +1 -1
  400. package/dist/esm/models/webhook-delivery-dto.d.ts +1 -1
  401. package/dist/esm/models/webhook-delivery-dto.js +1 -1
  402. package/dist/esm/models/webhook-endpoint-dto.d.ts +1 -1
  403. package/dist/esm/models/webhook-endpoint-dto.js +1 -1
  404. package/dist/esm/models/webhook-endpoint-with-secret-dto.d.ts +1 -1
  405. package/dist/esm/models/webhook-endpoint-with-secret-dto.js +1 -1
  406. package/dist/esm/models/webhook-event-envelope.d.ts +1 -1
  407. package/dist/esm/models/webhook-event-envelope.js +1 -1
  408. package/dist/esm/models/webhook-ping-event-data.d.ts +1 -1
  409. package/dist/esm/models/webhook-ping-event-data.js +1 -1
  410. package/dist/esm/models/webhook-test-result-dto.d.ts +1 -1
  411. package/dist/esm/models/webhook-test-result-dto.js +1 -1
  412. package/dist/index.d.ts +1 -1
  413. package/dist/index.js +1 -1
  414. package/dist/models/acceptance-result-response-dto.d.ts +1 -1
  415. package/dist/models/acceptance-result-response-dto.js +1 -1
  416. package/dist/models/acknowledge-product-receipt200-response.d.ts +1 -1
  417. package/dist/models/acknowledge-product-receipt200-response.js +1 -1
  418. package/dist/models/acknowledge-products-request-dto.d.ts +1 -1
  419. package/dist/models/acknowledge-products-request-dto.js +1 -1
  420. package/dist/models/api-catalog-dto.d.ts +1 -1
  421. package/dist/models/api-catalog-dto.js +1 -1
  422. package/dist/models/api-catalog-entry-dto.d.ts +1 -1
  423. package/dist/models/api-catalog-entry-dto.js +1 -1
  424. package/dist/models/api-catalog-link-dto.d.ts +1 -1
  425. package/dist/models/api-catalog-link-dto.js +1 -1
  426. package/dist/models/authorization-server-metadata-dto.d.ts +1 -1
  427. package/dist/models/authorization-server-metadata-dto.js +1 -1
  428. package/dist/models/avalues-input-dto.d.ts +1 -1
  429. package/dist/models/avalues-input-dto.js +1 -1
  430. package/dist/models/award-method-public.d.ts +1 -1
  431. package/dist/models/award-method-public.js +1 -1
  432. package/dist/models/award-registered-v2-response-dto.d.ts +1 -1
  433. package/dist/models/award-registered-v2-response-dto.js +1 -1
  434. package/dist/models/award-reverted-v2-response-dto.d.ts +1 -1
  435. package/dist/models/award-reverted-v2-response-dto.js +1 -1
  436. package/dist/models/bid-acceptance-dto.d.ts +1 -1
  437. package/dist/models/bid-acceptance-dto.js +1 -1
  438. package/dist/models/bid-attachment-dto.d.ts +1 -1
  439. package/dist/models/bid-attachment-dto.js +1 -1
  440. package/dist/models/bid-attachment-input-dto.d.ts +1 -1
  441. package/dist/models/bid-attachment-input-dto.js +1 -1
  442. package/dist/models/bid-avalues-dto.d.ts +1 -1
  443. package/dist/models/bid-avalues-dto.js +1 -1
  444. package/dist/models/bid-award-method-detail-dto.d.ts +1 -1
  445. package/dist/models/bid-award-method-detail-dto.js +1 -1
  446. package/dist/models/bid-bond-dto.d.ts +1 -1
  447. package/dist/models/bid-bond-dto.js +1 -1
  448. package/dist/models/bid-cancellation-dto.d.ts +1 -1
  449. package/dist/models/bid-cancellation-dto.js +1 -1
  450. package/dist/models/bid-cancelled-response-dto.d.ts +1 -1
  451. package/dist/models/bid-cancelled-response-dto.js +1 -1
  452. package/dist/models/bid-category-public.d.ts +1 -1
  453. package/dist/models/bid-category-public.js +1 -1
  454. package/dist/models/bid-contact-dto.d.ts +1 -1
  455. package/dist/models/bid-contact-dto.js +1 -1
  456. package/dist/models/bid-contacts-dto.d.ts +1 -1
  457. package/dist/models/bid-contacts-dto.js +1 -1
  458. package/dist/models/bid-contract-document-dto.d.ts +1 -1
  459. package/dist/models/bid-contract-document-dto.js +1 -1
  460. package/dist/models/bid-delivery-terms-dto.d.ts +1 -1
  461. package/dist/models/bid-delivery-terms-dto.js +1 -1
  462. package/dist/models/bid-detail-response-dto.d.ts +1 -1
  463. package/dist/models/bid-detail-response-dto.js +1 -1
  464. package/dist/models/bid-document-dto.d.ts +1 -1
  465. package/dist/models/bid-document-dto.js +1 -1
  466. package/dist/models/bid-failed-v2-response-dto.d.ts +1 -1
  467. package/dist/models/bid-failed-v2-response-dto.js +1 -1
  468. package/dist/models/bid-item-dto.d.ts +1 -1
  469. package/dist/models/bid-item-dto.js +1 -1
  470. package/dist/models/bid-license-requirement-dto.d.ts +1 -1
  471. package/dist/models/bid-license-requirement-dto.js +1 -1
  472. package/dist/models/bid-lifecycle-dto.d.ts +1 -1
  473. package/dist/models/bid-lifecycle-dto.js +1 -1
  474. package/dist/models/bid-manager-dto.d.ts +1 -1
  475. package/dist/models/bid-manager-dto.js +1 -1
  476. package/dist/models/bid-must-read-notice-dto.d.ts +1 -1
  477. package/dist/models/bid-must-read-notice-dto.js +1 -1
  478. package/dist/models/bid-payment-terms-dto.d.ts +1 -1
  479. package/dist/models/bid-payment-terms-dto.js +1 -1
  480. package/dist/models/bid-preliminary-price-dto.d.ts +1 -1
  481. package/dist/models/bid-preliminary-price-dto.js +1 -1
  482. package/dist/models/bid-preliminary-price-slot-dto.d.ts +1 -1
  483. package/dist/models/bid-preliminary-price-slot-dto.js +1 -1
  484. package/dist/models/bid-product-dto.d.ts +1 -1
  485. package/dist/models/bid-product-dto.js +1 -1
  486. package/dist/models/bid-public-status.d.ts +1 -1
  487. package/dist/models/bid-public-status.js +1 -1
  488. package/dist/models/bid-qualification-review-dto.d.ts +1 -1
  489. package/dist/models/bid-qualification-review-dto.js +1 -1
  490. package/dist/models/bid-region-dto.d.ts +1 -1
  491. package/dist/models/bid-region-dto.js +1 -1
  492. package/dist/models/bid-region-restriction-dto.d.ts +1 -1
  493. package/dist/models/bid-region-restriction-dto.js +1 -1
  494. package/dist/models/bid-registered-response-dto.d.ts +1 -1
  495. package/dist/models/bid-registered-response-dto.js +1 -1
  496. package/dist/models/bid-related-bid-dto.d.ts +1 -1
  497. package/dist/models/bid-related-bid-dto.js +1 -1
  498. package/dist/models/bid-required-document-dto.d.ts +1 -1
  499. package/dist/models/bid-required-document-dto.js +1 -1
  500. package/dist/models/bid-result-participant-attachment-dto.d.ts +1 -1
  501. package/dist/models/bid-result-participant-attachment-dto.js +1 -1
  502. package/dist/models/bid-result-participant-dto.d.ts +1 -1
  503. package/dist/models/bid-result-participant-dto.js +1 -1
  504. package/dist/models/bid-results-response-dto.d.ts +1 -1
  505. package/dist/models/bid-results-response-dto.js +1 -1
  506. package/dist/models/bid-settlement-line-item-dto.d.ts +1 -1
  507. package/dist/models/bid-settlement-line-item-dto.js +1 -1
  508. package/dist/models/bid-settlement-participant-dto.d.ts +1 -1
  509. package/dist/models/bid-settlement-participant-dto.js +1 -1
  510. package/dist/models/bid-settlement-response-dto.d.ts +1 -1
  511. package/dist/models/bid-settlement-response-dto.js +1 -1
  512. package/dist/models/bid-site-briefing-dto.d.ts +1 -1
  513. package/dist/models/bid-site-briefing-dto.js +1 -1
  514. package/dist/models/bid-statement-response-dto.d.ts +1 -1
  515. package/dist/models/bid-statement-response-dto.js +1 -1
  516. package/dist/models/bid-summary-dto.d.ts +1 -1
  517. package/dist/models/bid-summary-dto.js +1 -1
  518. package/dist/models/bid-type-public.d.ts +1 -1
  519. package/dist/models/bid-type-public.js +1 -1
  520. package/dist/models/bid-updated-response-dto.d.ts +1 -1
  521. package/dist/models/bid-updated-response-dto.js +1 -1
  522. package/dist/models/bidding-style-public.d.ts +1 -1
  523. package/dist/models/bidding-style-public.js +1 -1
  524. package/dist/models/cancel-bid-request-dto.d.ts +1 -1
  525. package/dist/models/cancel-bid-request-dto.js +1 -1
  526. package/dist/models/cancel-bid200-response.d.ts +1 -1
  527. package/dist/models/cancel-bid200-response.js +1 -1
  528. package/dist/models/card-payment-request-response-dto.d.ts +1 -1
  529. package/dist/models/card-payment-request-response-dto.js +1 -1
  530. package/dist/models/complete-acceptance-request-dto.d.ts +1 -1
  531. package/dist/models/complete-acceptance-request-dto.js +1 -1
  532. package/dist/models/complete-acceptance200-response.d.ts +1 -1
  533. package/dist/models/complete-acceptance200-response.js +1 -1
  534. package/dist/models/complete-invoice200-response.d.ts +1 -1
  535. package/dist/models/complete-invoice200-response.js +1 -1
  536. package/dist/models/complete-upload-request-dto.d.ts +1 -1
  537. package/dist/models/complete-upload-request-dto.js +1 -1
  538. package/dist/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  539. package/dist/models/contract-restriction-confirm-input-dto.js +1 -1
  540. package/dist/models/create-bid-request-dto.d.ts +1 -1
  541. package/dist/models/create-bid-request-dto.js +1 -1
  542. package/dist/models/create-card-payment-dto.d.ts +1 -1
  543. package/dist/models/create-card-payment-dto.js +1 -1
  544. package/dist/models/create-card-payment-request-dto.d.ts +1 -1
  545. package/dist/models/create-card-payment-request-dto.js +1 -1
  546. package/dist/models/create-card-payment200-response.d.ts +1 -1
  547. package/dist/models/create-card-payment200-response.js +1 -1
  548. package/dist/models/create-embed-launch201-response.d.ts +1 -1
  549. package/dist/models/create-embed-launch201-response.js +1 -1
  550. package/dist/models/create-external-contract-documents-request-dto.d.ts +1 -1
  551. package/dist/models/create-external-contract-documents-request-dto.js +1 -1
  552. package/dist/models/create-external-contract-documents-response-dto.d.ts +1 -1
  553. package/dist/models/create-external-contract-documents-response-dto.js +1 -1
  554. package/dist/models/create-file-upload-url201-response.d.ts +1 -1
  555. package/dist/models/create-file-upload-url201-response.js +1 -1
  556. package/dist/models/create-upload-url-request-dto.d.ts +1 -1
  557. package/dist/models/create-upload-url-request-dto.js +1 -1
  558. package/dist/models/create-webhook-endpoint-request-dto.d.ts +1 -1
  559. package/dist/models/create-webhook-endpoint-request-dto.js +1 -1
  560. package/dist/models/create-webhook-endpoint201-response.d.ts +1 -1
  561. package/dist/models/create-webhook-endpoint201-response.js +1 -1
  562. package/dist/models/delivery-date-type-public.d.ts +1 -1
  563. package/dist/models/delivery-date-type-public.js +1 -1
  564. package/dist/models/delivery-method-public.d.ts +1 -1
  565. package/dist/models/delivery-method-public.js +1 -1
  566. package/dist/models/embed-bid-prefill-dto.d.ts +1 -1
  567. package/dist/models/embed-bid-prefill-dto.js +1 -1
  568. package/dist/models/embed-bid-prefill-item-dto.d.ts +1 -1
  569. package/dist/models/embed-bid-prefill-item-dto.js +1 -1
  570. package/dist/models/embed-bid-prefill-manager-dto.d.ts +1 -1
  571. package/dist/models/embed-bid-prefill-manager-dto.js +1 -1
  572. package/dist/models/embed-launch-request-dto.d.ts +1 -1
  573. package/dist/models/embed-launch-request-dto.js +1 -1
  574. package/dist/models/embed-launch-response-dto.d.ts +1 -1
  575. package/dist/models/embed-launch-response-dto.js +1 -1
  576. package/dist/models/excellent-procurement-public.d.ts +1 -1
  577. package/dist/models/excellent-procurement-public.js +1 -1
  578. package/dist/models/external-contract-document-item-dto.d.ts +1 -1
  579. package/dist/models/external-contract-document-item-dto.js +1 -1
  580. package/dist/models/external-contract-documents-response-dto.d.ts +1 -1
  581. package/dist/models/external-contract-documents-response-dto.js +1 -1
  582. package/dist/models/external-contract-item-dto.d.ts +1 -1
  583. package/dist/models/external-contract-item-dto.js +1 -1
  584. package/dist/models/external-contract-snapshot-dto.d.ts +1 -1
  585. package/dist/models/external-contract-snapshot-dto.js +1 -1
  586. package/dist/models/external-document-inputs-dto.d.ts +1 -1
  587. package/dist/models/external-document-inputs-dto.js +1 -1
  588. package/dist/models/file-meta-response-dto.d.ts +1 -1
  589. package/dist/models/file-meta-response-dto.js +1 -1
  590. package/dist/models/file-uploaded-response-dto.d.ts +1 -1
  591. package/dist/models/file-uploaded-response-dto.js +1 -1
  592. package/dist/models/generated-external-contract-document-dto.d.ts +1 -1
  593. package/dist/models/generated-external-contract-document-dto.js +1 -1
  594. package/dist/models/get-bid-settlement200-response.d.ts +1 -1
  595. package/dist/models/get-bid-settlement200-response.js +1 -1
  596. package/dist/models/get-bid-statement200-response.d.ts +1 -1
  597. package/dist/models/get-bid-statement200-response.js +1 -1
  598. package/dist/models/get-bid200-response.d.ts +1 -1
  599. package/dist/models/get-bid200-response.js +1 -1
  600. package/dist/models/get-file-meta200-response.d.ts +1 -1
  601. package/dist/models/get-file-meta200-response.js +1 -1
  602. package/dist/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
  603. package/dist/models/get-supplier-card-payable-v2200-response.js +1 -1
  604. package/dist/models/get-webhook-endpoint200-response.d.ts +1 -1
  605. package/dist/models/get-webhook-endpoint200-response.js +1 -1
  606. package/dist/models/green-product-public.d.ts +1 -1
  607. package/dist/models/green-product-public.js +1 -1
  608. package/dist/models/handover-type-public.d.ts +1 -1
  609. package/dist/models/handover-type-public.js +1 -1
  610. package/dist/models/health-controller-check200-response.d.ts +1 -1
  611. package/dist/models/health-controller-check200-response.js +1 -1
  612. package/dist/models/health-response-dto.d.ts +1 -1
  613. package/dist/models/health-response-dto.js +1 -1
  614. package/dist/models/hierarchical-region-dto.d.ts +1 -1
  615. package/dist/models/hierarchical-region-dto.js +1 -1
  616. package/dist/models/index.d.ts +2 -0
  617. package/dist/models/index.js +2 -0
  618. package/dist/models/introspect-request-dto.d.ts +1 -1
  619. package/dist/models/introspect-request-dto.js +1 -1
  620. package/dist/models/introspection-response-dto.d.ts +1 -1
  621. package/dist/models/introspection-response-dto.js +1 -1
  622. package/dist/models/invalid-param-dto.d.ts +1 -1
  623. package/dist/models/invalid-param-dto.js +1 -1
  624. package/dist/models/invoice-completed-response-dto.d.ts +1 -1
  625. package/dist/models/invoice-completed-response-dto.js +1 -1
  626. package/dist/models/invoice-split-response-dto.d.ts +1 -1
  627. package/dist/models/invoice-split-response-dto.js +1 -1
  628. package/dist/models/legal-mandatory-public.d.ts +1 -1
  629. package/dist/models/legal-mandatory-public.js +1 -1
  630. package/dist/models/license-combination-mode.d.ts +1 -1
  631. package/dist/models/license-combination-mode.js +1 -1
  632. package/dist/models/list-bid-results200-response.d.ts +1 -1
  633. package/dist/models/list-bid-results200-response.js +1 -1
  634. package/dist/models/list-bids200-response-meta.d.ts +1 -1
  635. package/dist/models/list-bids200-response-meta.js +1 -1
  636. package/dist/models/list-bids200-response.d.ts +1 -1
  637. package/dist/models/list-bids200-response.js +1 -1
  638. package/dist/models/list-products200-response.d.ts +1 -1
  639. package/dist/models/list-products200-response.js +1 -1
  640. package/dist/models/list-suppliers200-response.d.ts +17 -0
  641. package/dist/models/list-suppliers200-response.js +15 -0
  642. package/dist/models/list-webhook-deliveries-response-dto.d.ts +1 -1
  643. package/dist/models/list-webhook-deliveries-response-dto.js +1 -1
  644. package/dist/models/list-webhook-deliveries200-response.d.ts +1 -1
  645. package/dist/models/list-webhook-deliveries200-response.js +1 -1
  646. package/dist/models/list-webhook-endpoints200-response.d.ts +1 -1
  647. package/dist/models/list-webhook-endpoints200-response.js +1 -1
  648. package/dist/models/mark-bid-failed-request-dto.d.ts +1 -1
  649. package/dist/models/mark-bid-failed-request-dto.js +1 -1
  650. package/dist/models/mark-bid-failed201-response.d.ts +1 -1
  651. package/dist/models/mark-bid-failed201-response.js +1 -1
  652. package/dist/models/nominated-supplier-dto.d.ts +1 -1
  653. package/dist/models/nominated-supplier-dto.js +1 -1
  654. package/dist/models/oauth-error-response-dto.d.ts +1 -1
  655. package/dist/models/oauth-error-response-dto.js +1 -1
  656. package/dist/models/on-bid-award-reverted-request.d.ts +1 -1
  657. package/dist/models/on-bid-award-reverted-request.js +1 -1
  658. package/dist/models/on-bid-awarded-request.d.ts +1 -1
  659. package/dist/models/on-bid-awarded-request.js +1 -1
  660. package/dist/models/on-bid-canceled-request.d.ts +1 -1
  661. package/dist/models/on-bid-canceled-request.js +1 -1
  662. package/dist/models/on-bid-closed-request.d.ts +1 -1
  663. package/dist/models/on-bid-closed-request.js +1 -1
  664. package/dist/models/on-bid-failed-request.d.ts +1 -1
  665. package/dist/models/on-bid-failed-request.js +1 -1
  666. package/dist/models/on-ping-request.d.ts +1 -1
  667. package/dist/models/on-ping-request.js +1 -1
  668. package/dist/models/partner-webhook-delivery-status.d.ts +1 -1
  669. package/dist/models/partner-webhook-delivery-status.js +1 -1
  670. package/dist/models/partner-webhook-endpoint-status.d.ts +1 -1
  671. package/dist/models/partner-webhook-endpoint-status.js +1 -1
  672. package/dist/models/partner-webhook-event-type.d.ts +1 -1
  673. package/dist/models/partner-webhook-event-type.js +1 -1
  674. package/dist/models/payment-method-public.d.ts +1 -1
  675. package/dist/models/payment-method-public.js +1 -1
  676. package/dist/models/preconditions-dto.d.ts +1 -1
  677. package/dist/models/preconditions-dto.js +1 -1
  678. package/dist/models/preliminary-price-region-public.d.ts +1 -1
  679. package/dist/models/preliminary-price-region-public.js +1 -1
  680. package/dist/models/price-score-type-public.d.ts +1 -1
  681. package/dist/models/price-score-type-public.js +1 -1
  682. package/dist/models/pricing-type-public.d.ts +1 -1
  683. package/dist/models/pricing-type-public.js +1 -1
  684. package/dist/models/problem-details-dto.d.ts +1 -1
  685. package/dist/models/problem-details-dto.js +1 -1
  686. package/dist/models/product-receipt-response-dto.d.ts +1 -1
  687. package/dist/models/product-receipt-response-dto.js +1 -1
  688. package/dist/models/product-response-dto.d.ts +1 -1
  689. package/dist/models/product-response-dto.js +1 -1
  690. package/dist/models/protected-resource-metadata-dto.d.ts +1 -1
  691. package/dist/models/protected-resource-metadata-dto.js +1 -1
  692. package/dist/models/qualification-review-input-dto.d.ts +1 -1
  693. package/dist/models/qualification-review-input-dto.js +1 -1
  694. package/dist/models/register-award-request-dto.d.ts +1 -1
  695. package/dist/models/register-award-request-dto.js +1 -1
  696. package/dist/models/register-award201-response.d.ts +1 -1
  697. package/dist/models/register-award201-response.js +1 -1
  698. package/dist/models/register-bid201-response.d.ts +1 -1
  699. package/dist/models/register-bid201-response.js +1 -1
  700. package/dist/models/register-semo-contract-request-dto.d.ts +1 -1
  701. package/dist/models/register-semo-contract-request-dto.js +1 -1
  702. package/dist/models/regulation-type-public.d.ts +1 -1
  703. package/dist/models/regulation-type-public.js +1 -1
  704. package/dist/models/related-bid-relation.d.ts +1 -1
  705. package/dist/models/related-bid-relation.js +1 -1
  706. package/dist/models/request-invoice-split-request-dto.d.ts +1 -1
  707. package/dist/models/request-invoice-split-request-dto.js +1 -1
  708. package/dist/models/request-invoice-split200-response.d.ts +1 -1
  709. package/dist/models/request-invoice-split200-response.js +1 -1
  710. package/dist/models/retiree-roster-input-dto.d.ts +1 -1
  711. package/dist/models/retiree-roster-input-dto.js +1 -1
  712. package/dist/models/retiree-roster-row-dto.d.ts +1 -1
  713. package/dist/models/retiree-roster-row-dto.js +1 -1
  714. package/dist/models/revert-award-request-dto.d.ts +1 -1
  715. package/dist/models/revert-award-request-dto.js +1 -1
  716. package/dist/models/revert-award200-response.d.ts +1 -1
  717. package/dist/models/revert-award200-response.js +1 -1
  718. package/dist/models/revoke-request-dto.d.ts +1 -1
  719. package/dist/models/revoke-request-dto.js +1 -1
  720. package/dist/models/semo-contract-registered-response-dto.d.ts +1 -1
  721. package/dist/models/semo-contract-registered-response-dto.js +1 -1
  722. package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  723. package/dist/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  724. package/dist/models/send-webhook-test-event200-response.d.ts +1 -1
  725. package/dist/models/send-webhook-test-event200-response.js +1 -1
  726. package/dist/models/site-briefing-input-dto.d.ts +1 -1
  727. package/dist/models/site-briefing-input-dto.js +1 -1
  728. package/dist/models/statement-document-dto.d.ts +1 -1
  729. package/dist/models/statement-document-dto.js +1 -1
  730. package/dist/models/statement-product-dto.d.ts +1 -1
  731. package/dist/models/statement-product-dto.js +1 -1
  732. package/dist/models/supplier-card-payable-response-dto.d.ts +1 -1
  733. package/dist/models/supplier-card-payable-response-dto.js +1 -1
  734. package/dist/models/supplier-response-dto.d.ts +33 -0
  735. package/dist/models/supplier-response-dto.js +15 -0
  736. package/dist/models/supplier-tax-type.d.ts +1 -1
  737. package/dist/models/supplier-tax-type.js +1 -1
  738. package/dist/models/taxation-type-public.d.ts +1 -1
  739. package/dist/models/taxation-type-public.js +1 -1
  740. package/dist/models/token-request-dto.d.ts +1 -1
  741. package/dist/models/token-request-dto.js +1 -1
  742. package/dist/models/token-response-dto.d.ts +1 -1
  743. package/dist/models/token-response-dto.js +1 -1
  744. package/dist/models/two-stage-phase-public.d.ts +1 -1
  745. package/dist/models/two-stage-phase-public.js +1 -1
  746. package/dist/models/update-bid-request-dto.d.ts +1 -1
  747. package/dist/models/update-bid-request-dto.js +1 -1
  748. package/dist/models/update-bid200-response.d.ts +1 -1
  749. package/dist/models/update-bid200-response.js +1 -1
  750. package/dist/models/update-webhook-endpoint-request-dto.d.ts +1 -1
  751. package/dist/models/update-webhook-endpoint-request-dto.js +1 -1
  752. package/dist/models/upload-file-request-dto.d.ts +1 -1
  753. package/dist/models/upload-file-request-dto.js +1 -1
  754. package/dist/models/upload-file201-response.d.ts +1 -1
  755. package/dist/models/upload-file201-response.js +1 -1
  756. package/dist/models/upload-url-created-response-dto.d.ts +1 -1
  757. package/dist/models/upload-url-created-response-dto.js +1 -1
  758. package/dist/models/webhook-bid-event-data.d.ts +1 -1
  759. package/dist/models/webhook-bid-event-data.js +1 -1
  760. package/dist/models/webhook-delivery-dto.d.ts +1 -1
  761. package/dist/models/webhook-delivery-dto.js +1 -1
  762. package/dist/models/webhook-endpoint-dto.d.ts +1 -1
  763. package/dist/models/webhook-endpoint-dto.js +1 -1
  764. package/dist/models/webhook-endpoint-with-secret-dto.d.ts +1 -1
  765. package/dist/models/webhook-endpoint-with-secret-dto.js +1 -1
  766. package/dist/models/webhook-event-envelope.d.ts +1 -1
  767. package/dist/models/webhook-event-envelope.js +1 -1
  768. package/dist/models/webhook-ping-event-data.d.ts +1 -1
  769. package/dist/models/webhook-ping-event-data.js +1 -1
  770. package/dist/models/webhook-test-result-dto.d.ts +1 -1
  771. package/dist/models/webhook-test-result-dto.js +1 -1
  772. package/docs/ListSuppliers200Response.md +22 -0
  773. package/docs/PartnerApiApi.md +70 -0
  774. package/docs/SupplierResponseDto.md +28 -0
  775. package/index.ts +1 -1
  776. package/models/acceptance-result-response-dto.ts +1 -1
  777. package/models/acknowledge-product-receipt200-response.ts +1 -1
  778. package/models/acknowledge-products-request-dto.ts +1 -1
  779. package/models/api-catalog-dto.ts +1 -1
  780. package/models/api-catalog-entry-dto.ts +1 -1
  781. package/models/api-catalog-link-dto.ts +1 -1
  782. package/models/authorization-server-metadata-dto.ts +1 -1
  783. package/models/avalues-input-dto.ts +1 -1
  784. package/models/award-method-public.ts +1 -1
  785. package/models/award-registered-v2-response-dto.ts +1 -1
  786. package/models/award-reverted-v2-response-dto.ts +1 -1
  787. package/models/bid-acceptance-dto.ts +1 -1
  788. package/models/bid-attachment-dto.ts +1 -1
  789. package/models/bid-attachment-input-dto.ts +1 -1
  790. package/models/bid-avalues-dto.ts +1 -1
  791. package/models/bid-award-method-detail-dto.ts +1 -1
  792. package/models/bid-bond-dto.ts +1 -1
  793. package/models/bid-cancellation-dto.ts +1 -1
  794. package/models/bid-cancelled-response-dto.ts +1 -1
  795. package/models/bid-category-public.ts +1 -1
  796. package/models/bid-contact-dto.ts +1 -1
  797. package/models/bid-contacts-dto.ts +1 -1
  798. package/models/bid-contract-document-dto.ts +1 -1
  799. package/models/bid-delivery-terms-dto.ts +1 -1
  800. package/models/bid-detail-response-dto.ts +1 -1
  801. package/models/bid-document-dto.ts +1 -1
  802. package/models/bid-failed-v2-response-dto.ts +1 -1
  803. package/models/bid-item-dto.ts +1 -1
  804. package/models/bid-license-requirement-dto.ts +1 -1
  805. package/models/bid-lifecycle-dto.ts +1 -1
  806. package/models/bid-manager-dto.ts +1 -1
  807. package/models/bid-must-read-notice-dto.ts +1 -1
  808. package/models/bid-payment-terms-dto.ts +1 -1
  809. package/models/bid-preliminary-price-dto.ts +1 -1
  810. package/models/bid-preliminary-price-slot-dto.ts +1 -1
  811. package/models/bid-product-dto.ts +1 -1
  812. package/models/bid-public-status.ts +1 -1
  813. package/models/bid-qualification-review-dto.ts +1 -1
  814. package/models/bid-region-dto.ts +1 -1
  815. package/models/bid-region-restriction-dto.ts +1 -1
  816. package/models/bid-registered-response-dto.ts +1 -1
  817. package/models/bid-related-bid-dto.ts +1 -1
  818. package/models/bid-required-document-dto.ts +1 -1
  819. package/models/bid-result-participant-attachment-dto.ts +1 -1
  820. package/models/bid-result-participant-dto.ts +1 -1
  821. package/models/bid-results-response-dto.ts +1 -1
  822. package/models/bid-settlement-line-item-dto.ts +1 -1
  823. package/models/bid-settlement-participant-dto.ts +1 -1
  824. package/models/bid-settlement-response-dto.ts +1 -1
  825. package/models/bid-site-briefing-dto.ts +1 -1
  826. package/models/bid-statement-response-dto.ts +1 -1
  827. package/models/bid-summary-dto.ts +1 -1
  828. package/models/bid-type-public.ts +1 -1
  829. package/models/bid-updated-response-dto.ts +1 -1
  830. package/models/bidding-style-public.ts +1 -1
  831. package/models/cancel-bid-request-dto.ts +1 -1
  832. package/models/cancel-bid200-response.ts +1 -1
  833. package/models/card-payment-request-response-dto.ts +1 -1
  834. package/models/complete-acceptance-request-dto.ts +1 -1
  835. package/models/complete-acceptance200-response.ts +1 -1
  836. package/models/complete-invoice200-response.ts +1 -1
  837. package/models/complete-upload-request-dto.ts +1 -1
  838. package/models/contract-restriction-confirm-input-dto.ts +1 -1
  839. package/models/create-bid-request-dto.ts +1 -1
  840. package/models/create-card-payment-dto.ts +1 -1
  841. package/models/create-card-payment-request-dto.ts +1 -1
  842. package/models/create-card-payment200-response.ts +1 -1
  843. package/models/create-embed-launch201-response.ts +1 -1
  844. package/models/create-external-contract-documents-request-dto.ts +1 -1
  845. package/models/create-external-contract-documents-response-dto.ts +1 -1
  846. package/models/create-file-upload-url201-response.ts +1 -1
  847. package/models/create-upload-url-request-dto.ts +1 -1
  848. package/models/create-webhook-endpoint-request-dto.ts +1 -1
  849. package/models/create-webhook-endpoint201-response.ts +1 -1
  850. package/models/delivery-date-type-public.ts +1 -1
  851. package/models/delivery-method-public.ts +1 -1
  852. package/models/embed-bid-prefill-dto.ts +1 -1
  853. package/models/embed-bid-prefill-item-dto.ts +1 -1
  854. package/models/embed-bid-prefill-manager-dto.ts +1 -1
  855. package/models/embed-launch-request-dto.ts +1 -1
  856. package/models/embed-launch-response-dto.ts +1 -1
  857. package/models/excellent-procurement-public.ts +1 -1
  858. package/models/external-contract-document-item-dto.ts +1 -1
  859. package/models/external-contract-documents-response-dto.ts +1 -1
  860. package/models/external-contract-item-dto.ts +1 -1
  861. package/models/external-contract-snapshot-dto.ts +1 -1
  862. package/models/external-document-inputs-dto.ts +1 -1
  863. package/models/file-meta-response-dto.ts +1 -1
  864. package/models/file-uploaded-response-dto.ts +1 -1
  865. package/models/generated-external-contract-document-dto.ts +1 -1
  866. package/models/get-bid-settlement200-response.ts +1 -1
  867. package/models/get-bid-statement200-response.ts +1 -1
  868. package/models/get-bid200-response.ts +1 -1
  869. package/models/get-file-meta200-response.ts +1 -1
  870. package/models/get-supplier-card-payable-v2200-response.ts +1 -1
  871. package/models/get-webhook-endpoint200-response.ts +1 -1
  872. package/models/green-product-public.ts +1 -1
  873. package/models/handover-type-public.ts +1 -1
  874. package/models/health-controller-check200-response.ts +1 -1
  875. package/models/health-response-dto.ts +1 -1
  876. package/models/hierarchical-region-dto.ts +1 -1
  877. package/models/index.ts +2 -0
  878. package/models/introspect-request-dto.ts +1 -1
  879. package/models/introspection-response-dto.ts +1 -1
  880. package/models/invalid-param-dto.ts +1 -1
  881. package/models/invoice-completed-response-dto.ts +1 -1
  882. package/models/invoice-split-response-dto.ts +1 -1
  883. package/models/legal-mandatory-public.ts +1 -1
  884. package/models/license-combination-mode.ts +1 -1
  885. package/models/list-bid-results200-response.ts +1 -1
  886. package/models/list-bids200-response-meta.ts +1 -1
  887. package/models/list-bids200-response.ts +1 -1
  888. package/models/list-products200-response.ts +1 -1
  889. package/models/list-suppliers200-response.ts +27 -0
  890. package/models/list-webhook-deliveries-response-dto.ts +1 -1
  891. package/models/list-webhook-deliveries200-response.ts +1 -1
  892. package/models/list-webhook-endpoints200-response.ts +1 -1
  893. package/models/mark-bid-failed-request-dto.ts +1 -1
  894. package/models/mark-bid-failed201-response.ts +1 -1
  895. package/models/nominated-supplier-dto.ts +1 -1
  896. package/models/oauth-error-response-dto.ts +1 -1
  897. package/models/on-bid-award-reverted-request.ts +1 -1
  898. package/models/on-bid-awarded-request.ts +1 -1
  899. package/models/on-bid-canceled-request.ts +1 -1
  900. package/models/on-bid-closed-request.ts +1 -1
  901. package/models/on-bid-failed-request.ts +1 -1
  902. package/models/on-ping-request.ts +1 -1
  903. package/models/partner-webhook-delivery-status.ts +1 -1
  904. package/models/partner-webhook-endpoint-status.ts +1 -1
  905. package/models/partner-webhook-event-type.ts +1 -1
  906. package/models/payment-method-public.ts +1 -1
  907. package/models/preconditions-dto.ts +1 -1
  908. package/models/preliminary-price-region-public.ts +1 -1
  909. package/models/price-score-type-public.ts +1 -1
  910. package/models/pricing-type-public.ts +1 -1
  911. package/models/problem-details-dto.ts +1 -1
  912. package/models/product-receipt-response-dto.ts +1 -1
  913. package/models/product-response-dto.ts +1 -1
  914. package/models/protected-resource-metadata-dto.ts +1 -1
  915. package/models/qualification-review-input-dto.ts +1 -1
  916. package/models/register-award-request-dto.ts +1 -1
  917. package/models/register-award201-response.ts +1 -1
  918. package/models/register-bid201-response.ts +1 -1
  919. package/models/register-semo-contract-request-dto.ts +1 -1
  920. package/models/regulation-type-public.ts +1 -1
  921. package/models/related-bid-relation.ts +1 -1
  922. package/models/request-invoice-split-request-dto.ts +1 -1
  923. package/models/request-invoice-split200-response.ts +1 -1
  924. package/models/retiree-roster-input-dto.ts +1 -1
  925. package/models/retiree-roster-row-dto.ts +1 -1
  926. package/models/revert-award-request-dto.ts +1 -1
  927. package/models/revert-award200-response.ts +1 -1
  928. package/models/revoke-request-dto.ts +1 -1
  929. package/models/semo-contract-registered-response-dto.ts +1 -1
  930. package/models/semo-contract-taxinvoice-status-response-dto.ts +1 -1
  931. package/models/send-webhook-test-event200-response.ts +1 -1
  932. package/models/site-briefing-input-dto.ts +1 -1
  933. package/models/statement-document-dto.ts +1 -1
  934. package/models/statement-product-dto.ts +1 -1
  935. package/models/supplier-card-payable-response-dto.ts +1 -1
  936. package/models/supplier-response-dto.ts +39 -0
  937. package/models/supplier-tax-type.ts +1 -1
  938. package/models/taxation-type-public.ts +1 -1
  939. package/models/token-request-dto.ts +1 -1
  940. package/models/token-response-dto.ts +1 -1
  941. package/models/two-stage-phase-public.ts +1 -1
  942. package/models/update-bid-request-dto.ts +1 -1
  943. package/models/update-bid200-response.ts +1 -1
  944. package/models/update-webhook-endpoint-request-dto.ts +1 -1
  945. package/models/upload-file-request-dto.ts +1 -1
  946. package/models/upload-file201-response.ts +1 -1
  947. package/models/upload-url-created-response-dto.ts +1 -1
  948. package/models/webhook-bid-event-data.ts +1 -1
  949. package/models/webhook-delivery-dto.ts +1 -1
  950. package/models/webhook-endpoint-dto.ts +1 -1
  951. package/models/webhook-endpoint-with-secret-dto.ts +1 -1
  952. package/models/webhook-event-envelope.ts +1 -1
  953. package/models/webhook-ping-event-data.ts +1 -1
  954. package/models/webhook-test-result-dto.ts +1 -1
  955. package/package.json +1 -1
@@ -25,6 +25,7 @@ All URIs are relative to *https://partner-api.c-market.net*
25
25
  |[**listBidResults**](#listbidresults) | **GET** /v2/bid-results | 공고 결과 조회|
26
26
  |[**listBids**](#listbids) | **GET** /v2/bids | 공고 목록 조회|
27
27
  |[**listExternalContractDocuments**](#listexternalcontractdocuments) | **GET** /v2/contract-documents | 거래에 필요한 계약서류 목록 조회|
28
+ |[**listSuppliers**](#listsuppliers) | **GET** /v2/suppliers | 공급사 조회|
28
29
  |[**listWebhookDeliveries**](#listwebhookdeliveries) | **GET** /v2/webhook-deliveries | 웹훅 전송 이력 조회|
29
30
  |[**listWebhookEndpoints**](#listwebhookendpoints) | **GET** /v2/webhook-endpoints | 웹훅 구독 목록 조회|
30
31
  |[**markBidFailed**](#markbidfailed) | **POST** /v2/bids/{bidRef}/fail | 유찰 처리|
@@ -1364,6 +1365,75 @@ const { status, data } = await apiInstance.listExternalContractDocuments(
1364
1365
 
1365
1366
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
1366
1367
 
1368
+ # **listSuppliers**
1369
+ > ListSuppliers200Response listSuppliers()
1370
+
1371
+ 지명공고에 넣을 공급사를 찾습니다. 스코프 `bids:write`. - `POST /v2/bids` 의 `nominatedSuppliers[].memberId` 에 넣을 값을 여기서 얻습니다. ERP 자체 거래처 코드가 아니라 조달플랫폼 회원 id 입니다. - 즉시 참여 가능한 **활성 공급사만** 나옵니다. 휴면·탈퇴 업체를 지명하면 아무도 참여할 수 없는 공고가 되기 때문입니다. - `keyword` 는 업체명과 사업자등록번호를 함께 봅니다. 생략하면 전체를 페이지로 훑습니다. - 다음 페이지는 `meta.nextCursor` 를 `cursor` 로 넣어 받습니다. - 담당자 이름·연락처는 제공하지 않습니다. 낙찰 이후 담당자는 `GET /v2/bid-results` 가 알려 줍니다.
1372
+
1373
+ ### Example
1374
+
1375
+ ```typescript
1376
+ import {
1377
+ PartnerApiApi,
1378
+ Configuration
1379
+ } from '@cmarket/partner-sdk';
1380
+
1381
+ const configuration = new Configuration();
1382
+ const apiInstance = new PartnerApiApi(configuration);
1383
+
1384
+ let keyword: string; //업체명 또는 사업자등록번호로 검색합니다. 생략하면 전체를 페이지로 훑습니다. (optional) (default to undefined)
1385
+ let cursor: string; //이전 응답의 `meta.nextCursor` 를 그대로 넣습니다. 생략하면 첫 페이지입니다. (optional) (default to undefined)
1386
+ let limit: number; //한 번에 받을 최대 건수(1~100). 기본 20건. (optional) (default to 20)
1387
+ let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
1388
+
1389
+ const { status, data } = await apiInstance.listSuppliers(
1390
+ keyword,
1391
+ cursor,
1392
+ limit,
1393
+ ifNoneMatch
1394
+ );
1395
+ ```
1396
+
1397
+ ### Parameters
1398
+
1399
+ |Name | Type | Description | Notes|
1400
+ |------------- | ------------- | ------------- | -------------|
1401
+ | **keyword** | [**string**] | 업체명 또는 사업자등록번호로 검색합니다. 생략하면 전체를 페이지로 훑습니다. | (optional) defaults to undefined|
1402
+ | **cursor** | [**string**] | 이전 응답의 `meta.nextCursor` 를 그대로 넣습니다. 생략하면 첫 페이지입니다. | (optional) defaults to undefined|
1403
+ | **limit** | [**number**] | 한 번에 받을 최대 건수(1~100). 기본 20건. | (optional) defaults to 20|
1404
+ | **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
1405
+
1406
+
1407
+ ### Return type
1408
+
1409
+ **ListSuppliers200Response**
1410
+
1411
+ ### Authorization
1412
+
1413
+ [partner-oauth2](../README.md#partner-oauth2)
1414
+
1415
+ ### HTTP request headers
1416
+
1417
+ - **Content-Type**: Not defined
1418
+ - **Accept**: application/json, application/problem+json
1419
+
1420
+
1421
+ ### HTTP response details
1422
+ | Status code | Description | Response headers |
1423
+ |-------------|-------------|------------------|
1424
+ |**200** | 활성 공급사 목록. | * RateLimit - 현재 창의 잔여 쿼터(&#x60;r&#x60;)와 리셋까지 남은 초(&#x60;t&#x60;). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(&#x60;q&#x60; 요청 수 / &#x60;w&#x60; 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 &#x60;If-None-Match&#x60; 헤더로 되보내면 내용이 그대로일 때 &#x60;304 Not Modified&#x60;를 본문 없이 받습니다. <br> |
1425
+ |**304** | &#x60;If-None-Match&#x60; 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(&#x60;r&#x60;)와 리셋까지 남은 초(&#x60;t&#x60;). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(&#x60;q&#x60; 요청 수 / &#x60;w&#x60; 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 &#x60;If-None-Match&#x60; 헤더로 되보내면 내용이 그대로일 때 &#x60;304 Not Modified&#x60;를 본문 없이 받습니다. <br> |
1426
+ |**400** | 입력 검증 실패(&#x60;…/validation-failed&#x60;). 상한 초과(&#x60;bidRefs&#x60; 101건 등), 값 형식 위반, 알 수 없는 &#x60;cursor&#x60;. | - |
1427
+ |**401** | Bearer 토큰 없음(&#x60;…/missing-bearer-token&#x60;), 만료·위변조·폐기(&#x60;…/invalid-token&#x60;). | - |
1428
+ |**403** | 키 미바인딩(&#x60;…/unbound-partner-key&#x60;), IP 차단(&#x60;…/ip-not-allowed&#x60;), 스코프 부족(&#x60;…/insufficient-scope&#x60;), 대행 범위 밖(&#x60;…/buyer-scope-mismatch&#x60;), 권한 없음(&#x60;…/upstream-forbidden&#x60;). | - |
1429
+ |**404** | 대상 없음(&#x60;…/upstream-not-found&#x60;). | - |
1430
+ |**429** | 요청 한도 초과(&#x60;…/too-many-requests&#x60;). 한도는 &#x60;client_id&#x60;당 분당 60회. 대기 시간은 &#x60;Retry-After&#x60;(초), 잔여 쿼터는 &#x60;RateLimit&#x60;·&#x60;RateLimit-Policy&#x60; 헤더에 실립니다. &#x60;retryable: true&#x60;. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: &#x60;\&quot;default\&quot;;r&#x3D;0;t&#x3D;42&#x60;. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(&#x60;q&#x60; 요청 수 / &#x60;w&#x60; 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
1431
+ |**500** | 서버 내부 오류(&#x60;…/internal-server-error&#x60;). &#x60;retryable: true&#x60;. | - |
1432
+ |**502** | 요청 처리 실패(&#x60;…/upstream-rejected&#x60;). &#x60;retryable: true&#x60;. | - |
1433
+ |**503** | 일시적 처리 불가(&#x60;…/service-unavailable&#x60;). &#x60;Retry-After&#x60; 헤더를 따릅니다. &#x60;retryable: true&#x60;. | * Retry-After - 재시도까지 대기할 초. <br> |
1434
+
1435
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
1436
+
1367
1437
  # **listWebhookDeliveries**
1368
1438
  > ListWebhookDeliveries200Response listWebhookDeliveries()
1369
1439
 
@@ -0,0 +1,28 @@
1
+ # SupplierResponseDto
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **memberId** | **string** | 공급사 회원 id. 지명공고 등록의 &#x60;nominatedSuppliers[].memberId&#x60; 에 이 값을 씁니다. | [default to undefined]
9
+ **companyName** | **string** | 업체명. | [default to undefined]
10
+ **businessNumber** | **string** | 사업자등록번호(하이픈 없음). 미상이면 null. | [default to undefined]
11
+ **representativeName** | **string** | 대표자명. 미상이면 null. | [default to undefined]
12
+ **businessItem** | **string** | 업종(종목). 미상이면 null. | [default to undefined]
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ import { SupplierResponseDto } from '@cmarket/partner-sdk';
18
+
19
+ const instance: SupplierResponseDto = {
20
+ memberId,
21
+ companyName,
22
+ businessNumber,
23
+ representativeName,
24
+ businessItem,
25
+ };
26
+ ```
27
+
28
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
package/index.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 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
6
  *
7
- * The version of the OpenAPI document: 44.2.0
7
+ * The version of the OpenAPI document: 44.3.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).