@cmarket/partner-sdk 45.7.0 → 47.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -42
- package/api/embed-api.ts +1 -1
- package/api/oauth-api.ts +1 -1
- package/api/partner-api-api.ts +27 -811
- package/api/products-api.ts +1 -1
- package/api/well-known-api.ts +1 -1
- package/api.ts +1 -1
- package/base.ts +1 -1
- package/common.ts +1 -1
- package/configuration.ts +1 -1
- package/dist/api/embed-api.d.ts +1 -1
- package/dist/api/embed-api.js +1 -1
- package/dist/api/oauth-api.d.ts +1 -1
- package/dist/api/oauth-api.js +1 -1
- package/dist/api/partner-api-api.d.ts +1 -354
- package/dist/api/partner-api-api.js +1 -736
- package/dist/api/products-api.d.ts +1 -1
- package/dist/api/products-api.js +1 -1
- package/dist/api/well-known-api.d.ts +1 -1
- package/dist/api/well-known-api.js +1 -1
- package/dist/api.d.ts +1 -1
- package/dist/api.js +1 -1
- package/dist/base.d.ts +1 -1
- package/dist/base.js +1 -1
- package/dist/common.d.ts +1 -1
- package/dist/common.js +1 -1
- package/dist/configuration.d.ts +1 -1
- package/dist/configuration.js +1 -1
- package/dist/esm/api/embed-api.d.ts +1 -1
- package/dist/esm/api/embed-api.js +1 -1
- package/dist/esm/api/oauth-api.d.ts +1 -1
- package/dist/esm/api/oauth-api.js +1 -1
- package/dist/esm/api/partner-api-api.d.ts +1 -354
- package/dist/esm/api/partner-api-api.js +1 -736
- package/dist/esm/api/products-api.d.ts +1 -1
- package/dist/esm/api/products-api.js +1 -1
- package/dist/esm/api/well-known-api.d.ts +1 -1
- package/dist/esm/api/well-known-api.js +1 -1
- package/dist/esm/api.d.ts +1 -1
- package/dist/esm/api.js +1 -1
- package/dist/esm/base.d.ts +1 -1
- package/dist/esm/base.js +1 -1
- package/dist/esm/common.d.ts +1 -1
- package/dist/esm/common.js +1 -1
- package/dist/esm/configuration.d.ts +1 -1
- package/dist/esm/configuration.js +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/models/acceptance-result-response-dto.d.ts +1 -1
- package/dist/esm/models/acceptance-result-response-dto.js +1 -1
- package/dist/esm/models/acknowledge-product-receipt200-response.d.ts +1 -1
- package/dist/esm/models/acknowledge-product-receipt200-response.js +1 -1
- package/dist/esm/models/acknowledge-products-request-dto.d.ts +1 -1
- package/dist/esm/models/acknowledge-products-request-dto.js +1 -1
- package/dist/esm/models/api-catalog-dto.d.ts +1 -1
- package/dist/esm/models/api-catalog-dto.js +1 -1
- package/dist/esm/models/api-catalog-entry-dto.d.ts +1 -1
- package/dist/esm/models/api-catalog-entry-dto.js +1 -1
- package/dist/esm/models/api-catalog-link-dto.d.ts +1 -1
- package/dist/esm/models/api-catalog-link-dto.js +1 -1
- package/dist/esm/models/authorization-server-metadata-dto.d.ts +1 -5
- package/dist/esm/models/authorization-server-metadata-dto.js +1 -1
- package/dist/esm/models/avalues-input-dto.d.ts +1 -1
- package/dist/esm/models/avalues-input-dto.js +1 -1
- package/dist/esm/models/award-method-public.d.ts +1 -1
- package/dist/esm/models/award-method-public.js +1 -1
- package/dist/esm/models/award-registered-v2-response-dto.d.ts +1 -1
- package/dist/esm/models/award-registered-v2-response-dto.js +1 -1
- package/dist/esm/models/award-reverted-v2-response-dto.d.ts +1 -1
- package/dist/esm/models/award-reverted-v2-response-dto.js +1 -1
- package/dist/esm/models/bid-acceptance-dto.d.ts +1 -1
- package/dist/esm/models/bid-acceptance-dto.js +1 -1
- package/dist/esm/models/bid-attachment-dto.d.ts +1 -1
- package/dist/esm/models/bid-attachment-dto.js +1 -1
- package/dist/esm/models/bid-attachment-input-dto.d.ts +1 -1
- package/dist/esm/models/bid-attachment-input-dto.js +1 -1
- package/dist/esm/models/bid-avalues-dto.d.ts +1 -1
- package/dist/esm/models/bid-avalues-dto.js +1 -1
- package/dist/esm/models/bid-award-method-detail-dto.d.ts +1 -1
- package/dist/esm/models/bid-award-method-detail-dto.js +1 -1
- package/dist/esm/models/bid-bond-dto.d.ts +1 -1
- package/dist/esm/models/bid-bond-dto.js +1 -1
- package/dist/esm/models/bid-cancellation-dto.d.ts +1 -1
- package/dist/esm/models/bid-cancellation-dto.js +1 -1
- package/dist/esm/models/bid-cancelled-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-cancelled-response-dto.js +1 -1
- package/dist/esm/models/bid-category-public.d.ts +1 -1
- package/dist/esm/models/bid-category-public.js +1 -1
- package/dist/esm/models/bid-contact-dto.d.ts +1 -1
- package/dist/esm/models/bid-contact-dto.js +1 -1
- package/dist/esm/models/bid-contacts-dto.d.ts +1 -1
- package/dist/esm/models/bid-contacts-dto.js +1 -1
- package/dist/esm/models/bid-contract-document-dto.d.ts +1 -1
- package/dist/esm/models/bid-contract-document-dto.js +1 -1
- package/dist/esm/models/bid-delivery-terms-dto.d.ts +1 -1
- package/dist/esm/models/bid-delivery-terms-dto.js +1 -1
- package/dist/esm/models/bid-detail-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-detail-response-dto.js +1 -1
- package/dist/esm/models/bid-document-dto.d.ts +1 -1
- package/dist/esm/models/bid-document-dto.js +1 -1
- package/dist/esm/models/bid-failed-v2-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-failed-v2-response-dto.js +1 -1
- package/dist/esm/models/bid-item-dto.d.ts +1 -1
- package/dist/esm/models/bid-item-dto.js +1 -1
- package/dist/esm/models/bid-license-requirement-dto.d.ts +1 -1
- package/dist/esm/models/bid-license-requirement-dto.js +1 -1
- package/dist/esm/models/bid-lifecycle-dto.d.ts +1 -1
- package/dist/esm/models/bid-lifecycle-dto.js +1 -1
- package/dist/esm/models/bid-manager-dto.d.ts +1 -1
- package/dist/esm/models/bid-manager-dto.js +1 -1
- package/dist/esm/models/bid-must-read-notice-dto.d.ts +1 -1
- package/dist/esm/models/bid-must-read-notice-dto.js +1 -1
- package/dist/esm/models/bid-payment-terms-dto.d.ts +1 -1
- package/dist/esm/models/bid-payment-terms-dto.js +1 -1
- package/dist/esm/models/bid-preliminary-price-dto.d.ts +1 -1
- package/dist/esm/models/bid-preliminary-price-dto.js +1 -1
- package/dist/esm/models/bid-preliminary-price-slot-dto.d.ts +1 -1
- package/dist/esm/models/bid-preliminary-price-slot-dto.js +1 -1
- package/dist/esm/models/bid-product-dto.d.ts +1 -1
- package/dist/esm/models/bid-product-dto.js +1 -1
- package/dist/esm/models/bid-public-status.d.ts +1 -1
- package/dist/esm/models/bid-public-status.js +1 -1
- package/dist/esm/models/bid-qualification-review-dto.d.ts +1 -1
- package/dist/esm/models/bid-qualification-review-dto.js +1 -1
- package/dist/esm/models/bid-region-dto.d.ts +1 -1
- package/dist/esm/models/bid-region-dto.js +1 -1
- package/dist/esm/models/bid-region-restriction-dto.d.ts +1 -1
- package/dist/esm/models/bid-region-restriction-dto.js +1 -1
- package/dist/esm/models/bid-registered-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-registered-response-dto.js +1 -1
- package/dist/esm/models/bid-related-bid-dto.d.ts +1 -1
- package/dist/esm/models/bid-related-bid-dto.js +1 -1
- package/dist/esm/models/bid-required-document-dto.d.ts +1 -1
- package/dist/esm/models/bid-required-document-dto.js +1 -1
- package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +1 -1
- package/dist/esm/models/bid-result-participant-attachment-dto.js +1 -1
- package/dist/esm/models/bid-result-participant-dto.d.ts +1 -1
- package/dist/esm/models/bid-result-participant-dto.js +1 -1
- package/dist/esm/models/bid-results-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-results-response-dto.js +1 -1
- package/dist/esm/models/bid-settlement-line-item-dto.d.ts +1 -1
- package/dist/esm/models/bid-settlement-line-item-dto.js +1 -1
- package/dist/esm/models/bid-settlement-participant-dto.d.ts +1 -1
- package/dist/esm/models/bid-settlement-participant-dto.js +1 -1
- package/dist/esm/models/bid-settlement-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-settlement-response-dto.js +1 -1
- package/dist/esm/models/bid-site-briefing-dto.d.ts +1 -1
- package/dist/esm/models/bid-site-briefing-dto.js +1 -1
- package/dist/esm/models/bid-statement-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-statement-response-dto.js +1 -1
- package/dist/esm/models/bid-summary-dto.d.ts +1 -1
- package/dist/esm/models/bid-summary-dto.js +1 -1
- package/dist/esm/models/bid-type-public.d.ts +1 -1
- package/dist/esm/models/bid-type-public.js +1 -1
- package/dist/esm/models/bid-updated-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-updated-response-dto.js +1 -1
- package/dist/esm/models/bidding-style-public.d.ts +1 -1
- package/dist/esm/models/bidding-style-public.js +1 -1
- package/dist/esm/models/cancel-bid-request-dto.d.ts +1 -1
- package/dist/esm/models/cancel-bid-request-dto.js +1 -1
- package/dist/esm/models/cancel-bid200-response.d.ts +1 -1
- package/dist/esm/models/cancel-bid200-response.js +1 -1
- package/dist/esm/models/cancel-kcl-mro-order-request-dto.d.ts +1 -1
- package/dist/esm/models/cancel-kcl-mro-order-request-dto.js +1 -1
- package/dist/esm/models/cancel-kcl-mro-order-response-dto.d.ts +1 -1
- package/dist/esm/models/cancel-kcl-mro-order-response-dto.js +1 -1
- package/dist/esm/models/cancel-kcl-mro-order200-response.d.ts +1 -1
- package/dist/esm/models/cancel-kcl-mro-order200-response.js +1 -1
- package/dist/esm/models/card-payment-request-response-dto.d.ts +1 -1
- package/dist/esm/models/card-payment-request-response-dto.js +1 -1
- package/dist/esm/models/complete-acceptance-request-dto.d.ts +1 -1
- package/dist/esm/models/complete-acceptance-request-dto.js +1 -1
- package/dist/esm/models/complete-acceptance200-response.d.ts +1 -1
- package/dist/esm/models/complete-acceptance200-response.js +1 -1
- package/dist/esm/models/complete-invoice200-response.d.ts +1 -1
- package/dist/esm/models/complete-invoice200-response.js +1 -1
- package/dist/esm/models/complete-upload-request-dto.d.ts +1 -1
- package/dist/esm/models/complete-upload-request-dto.js +1 -1
- package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +1 -1
- package/dist/esm/models/contract-restriction-confirm-input-dto.js +1 -1
- package/dist/esm/models/create-bid-request-dto.d.ts +1 -1
- package/dist/esm/models/create-bid-request-dto.js +1 -1
- package/dist/esm/models/create-card-payment-dto.d.ts +1 -1
- package/dist/esm/models/create-card-payment-dto.js +1 -1
- package/dist/esm/models/create-card-payment-request-dto.d.ts +1 -1
- package/dist/esm/models/create-card-payment-request-dto.js +1 -1
- package/dist/esm/models/create-card-payment200-response.d.ts +1 -1
- package/dist/esm/models/create-card-payment200-response.js +1 -1
- package/dist/esm/models/create-embed-launch201-response.d.ts +1 -1
- package/dist/esm/models/create-embed-launch201-response.js +1 -1
- package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +1 -1
- package/dist/esm/models/create-external-contract-documents-request-dto.js +1 -1
- package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +1 -1
- package/dist/esm/models/create-external-contract-documents-response-dto.js +1 -1
- package/dist/esm/models/create-file-upload-url201-response.d.ts +1 -1
- package/dist/esm/models/create-file-upload-url201-response.js +1 -1
- package/dist/esm/models/create-upload-url-request-dto.d.ts +1 -1
- package/dist/esm/models/create-upload-url-request-dto.js +1 -1
- package/dist/esm/models/delivery-date-type-public.d.ts +1 -1
- package/dist/esm/models/delivery-date-type-public.js +1 -1
- package/dist/esm/models/delivery-method-public.d.ts +1 -1
- package/dist/esm/models/delivery-method-public.js +1 -1
- package/dist/esm/models/embed-bid-prefill-dto.d.ts +1 -1
- package/dist/esm/models/embed-bid-prefill-dto.js +1 -1
- package/dist/esm/models/embed-bid-prefill-item-dto.d.ts +1 -1
- package/dist/esm/models/embed-bid-prefill-item-dto.js +1 -1
- package/dist/esm/models/embed-bid-prefill-manager-dto.d.ts +1 -1
- package/dist/esm/models/embed-bid-prefill-manager-dto.js +1 -1
- package/dist/esm/models/embed-launch-request-dto.d.ts +1 -1
- package/dist/esm/models/embed-launch-request-dto.js +1 -1
- package/dist/esm/models/embed-launch-response-dto.d.ts +1 -1
- package/dist/esm/models/embed-launch-response-dto.js +1 -1
- package/dist/esm/models/excellent-procurement-public.d.ts +1 -1
- package/dist/esm/models/excellent-procurement-public.js +1 -1
- package/dist/esm/models/external-contract-document-item-dto.d.ts +1 -1
- package/dist/esm/models/external-contract-document-item-dto.js +1 -1
- package/dist/esm/models/external-contract-documents-response-dto.d.ts +1 -1
- package/dist/esm/models/external-contract-documents-response-dto.js +1 -1
- package/dist/esm/models/external-contract-item-dto.d.ts +1 -1
- package/dist/esm/models/external-contract-item-dto.js +1 -1
- package/dist/esm/models/external-contract-snapshot-dto.d.ts +1 -1
- package/dist/esm/models/external-contract-snapshot-dto.js +1 -1
- package/dist/esm/models/external-document-inputs-dto.d.ts +1 -1
- package/dist/esm/models/external-document-inputs-dto.js +1 -1
- package/dist/esm/models/file-uploaded-response-dto.d.ts +1 -1
- package/dist/esm/models/file-uploaded-response-dto.js +1 -1
- package/dist/esm/models/generated-external-contract-document-dto.d.ts +1 -1
- package/dist/esm/models/generated-external-contract-document-dto.js +1 -1
- package/dist/esm/models/get-bid-settlement200-response.d.ts +1 -1
- package/dist/esm/models/get-bid-settlement200-response.js +1 -1
- package/dist/esm/models/get-bid-statement200-response.d.ts +1 -1
- package/dist/esm/models/get-bid-statement200-response.js +1 -1
- package/dist/esm/models/get-bid200-response.d.ts +1 -1
- package/dist/esm/models/get-bid200-response.js +1 -1
- package/dist/esm/models/get-kcl-mro-order-status200-response.d.ts +1 -1
- package/dist/esm/models/get-kcl-mro-order-status200-response.js +1 -1
- package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
- package/dist/esm/models/get-supplier-card-payable-v2200-response.js +1 -1
- package/dist/esm/models/green-product-public.d.ts +1 -1
- package/dist/esm/models/green-product-public.js +1 -1
- package/dist/esm/models/handover-type-public.d.ts +1 -1
- package/dist/esm/models/handover-type-public.js +1 -1
- package/dist/esm/models/health-controller-check200-response.d.ts +1 -1
- package/dist/esm/models/health-controller-check200-response.js +1 -1
- package/dist/esm/models/health-response-dto.d.ts +1 -1
- package/dist/esm/models/health-response-dto.js +1 -1
- package/dist/esm/models/hierarchical-region-dto.d.ts +1 -1
- package/dist/esm/models/hierarchical-region-dto.js +1 -1
- package/dist/esm/models/index.d.ts +0 -26
- package/dist/esm/models/index.js +0 -26
- package/dist/esm/models/introspect-request-dto.d.ts +1 -13
- package/dist/esm/models/introspect-request-dto.js +1 -4
- package/dist/esm/models/introspection-response-dto.d.ts +1 -1
- package/dist/esm/models/introspection-response-dto.js +1 -1
- package/dist/esm/models/invalid-param-dto.d.ts +1 -1
- package/dist/esm/models/invalid-param-dto.js +1 -1
- package/dist/esm/models/invoice-completed-response-dto.d.ts +1 -1
- package/dist/esm/models/invoice-completed-response-dto.js +1 -1
- package/dist/esm/models/invoice-split-response-dto.d.ts +1 -1
- package/dist/esm/models/invoice-split-response-dto.js +1 -1
- package/dist/esm/models/kcl-mro-order-item-dto.d.ts +1 -1
- package/dist/esm/models/kcl-mro-order-item-dto.js +1 -1
- package/dist/esm/models/kcl-mro-order-status-response-dto.d.ts +1 -1
- package/dist/esm/models/kcl-mro-order-status-response-dto.js +1 -1
- package/dist/esm/models/kcl-mro-quote-result-dto.d.ts +1 -1
- package/dist/esm/models/kcl-mro-quote-result-dto.js +1 -1
- package/dist/esm/models/kcl-mro-ship-to-dto.d.ts +1 -1
- package/dist/esm/models/kcl-mro-ship-to-dto.js +1 -1
- package/dist/esm/models/legal-mandatory-public.d.ts +1 -1
- package/dist/esm/models/legal-mandatory-public.js +1 -1
- package/dist/esm/models/license-combination-mode.d.ts +1 -1
- package/dist/esm/models/license-combination-mode.js +1 -1
- package/dist/esm/models/list-bid-results200-response.d.ts +1 -1
- package/dist/esm/models/list-bid-results200-response.js +1 -1
- package/dist/esm/models/list-bids200-response-meta.d.ts +1 -1
- package/dist/esm/models/list-bids200-response-meta.js +1 -1
- package/dist/esm/models/list-bids200-response.d.ts +1 -1
- package/dist/esm/models/list-bids200-response.js +1 -1
- package/dist/esm/models/list-products200-response.d.ts +1 -1
- package/dist/esm/models/list-products200-response.js +1 -1
- package/dist/esm/models/list-suppliers200-response.d.ts +1 -1
- package/dist/esm/models/list-suppliers200-response.js +1 -1
- package/dist/esm/models/mark-bid-failed-request-dto.d.ts +1 -1
- package/dist/esm/models/mark-bid-failed-request-dto.js +1 -1
- package/dist/esm/models/mark-bid-failed201-response.d.ts +1 -1
- package/dist/esm/models/mark-bid-failed201-response.js +1 -1
- package/dist/esm/models/nominated-supplier-dto.d.ts +1 -1
- package/dist/esm/models/nominated-supplier-dto.js +1 -1
- package/dist/esm/models/oauth-error-response-dto.d.ts +1 -1
- package/dist/esm/models/oauth-error-response-dto.js +1 -1
- package/dist/esm/models/payment-method-public.d.ts +1 -1
- package/dist/esm/models/payment-method-public.js +1 -1
- package/dist/esm/models/preconditions-dto.d.ts +1 -1
- package/dist/esm/models/preconditions-dto.js +1 -1
- package/dist/esm/models/preliminary-price-region-public.d.ts +1 -1
- package/dist/esm/models/preliminary-price-region-public.js +1 -1
- package/dist/esm/models/price-score-type-public.d.ts +1 -1
- package/dist/esm/models/price-score-type-public.js +1 -1
- package/dist/esm/models/pricing-type-public.d.ts +1 -1
- package/dist/esm/models/pricing-type-public.js +1 -1
- package/dist/esm/models/problem-details-dto.d.ts +1 -1
- package/dist/esm/models/problem-details-dto.js +1 -1
- package/dist/esm/models/product-receipt-response-dto.d.ts +1 -1
- package/dist/esm/models/product-receipt-response-dto.js +1 -1
- package/dist/esm/models/product-response-dto.d.ts +1 -1
- package/dist/esm/models/product-response-dto.js +1 -1
- package/dist/esm/models/protected-resource-metadata-dto.d.ts +1 -1
- package/dist/esm/models/protected-resource-metadata-dto.js +1 -1
- package/dist/esm/models/qualification-review-input-dto.d.ts +1 -1
- package/dist/esm/models/qualification-review-input-dto.js +1 -1
- package/dist/esm/models/register-award-request-dto.d.ts +1 -1
- package/dist/esm/models/register-award-request-dto.js +1 -1
- package/dist/esm/models/register-award201-response.d.ts +1 -1
- package/dist/esm/models/register-award201-response.js +1 -1
- package/dist/esm/models/register-bid201-response.d.ts +1 -1
- package/dist/esm/models/register-bid201-response.js +1 -1
- package/dist/esm/models/register-semo-contract-request-dto.d.ts +1 -1
- package/dist/esm/models/register-semo-contract-request-dto.js +1 -1
- package/dist/esm/models/regulation-type-public.d.ts +1 -1
- package/dist/esm/models/regulation-type-public.js +1 -1
- package/dist/esm/models/related-bid-relation.d.ts +1 -1
- package/dist/esm/models/related-bid-relation.js +1 -1
- package/dist/esm/models/relay-kcl-mro-order-request-dto.d.ts +1 -1
- package/dist/esm/models/relay-kcl-mro-order-request-dto.js +1 -1
- package/dist/esm/models/relay-kcl-mro-order-response-dto.d.ts +1 -1
- package/dist/esm/models/relay-kcl-mro-order-response-dto.js +1 -1
- package/dist/esm/models/relay-kcl-mro-order200-response.d.ts +1 -1
- package/dist/esm/models/relay-kcl-mro-order200-response.js +1 -1
- package/dist/esm/models/request-invoice-split-request-dto.d.ts +1 -1
- package/dist/esm/models/request-invoice-split-request-dto.js +1 -1
- package/dist/esm/models/request-invoice-split200-response.d.ts +1 -1
- package/dist/esm/models/request-invoice-split200-response.js +1 -1
- package/dist/esm/models/retiree-roster-input-dto.d.ts +1 -1
- package/dist/esm/models/retiree-roster-input-dto.js +1 -1
- package/dist/esm/models/retiree-roster-row-dto.d.ts +1 -1
- package/dist/esm/models/retiree-roster-row-dto.js +1 -1
- package/dist/esm/models/revert-award-request-dto.d.ts +1 -1
- package/dist/esm/models/revert-award-request-dto.js +1 -1
- package/dist/esm/models/revert-award200-response.d.ts +1 -1
- package/dist/esm/models/revert-award200-response.js +1 -1
- package/dist/esm/models/revoke-request-dto.d.ts +1 -13
- package/dist/esm/models/revoke-request-dto.js +1 -4
- package/dist/esm/models/semo-contract-registered-response-dto.d.ts +1 -1
- package/dist/esm/models/semo-contract-registered-response-dto.js +1 -1
- package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
- package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
- package/dist/esm/models/site-briefing-input-dto.d.ts +1 -1
- package/dist/esm/models/site-briefing-input-dto.js +1 -1
- package/dist/esm/models/statement-document-dto.d.ts +1 -1
- package/dist/esm/models/statement-document-dto.js +1 -1
- package/dist/esm/models/statement-product-dto.d.ts +1 -1
- package/dist/esm/models/statement-product-dto.js +1 -1
- package/dist/esm/models/supplier-card-payable-response-dto.d.ts +1 -1
- package/dist/esm/models/supplier-card-payable-response-dto.js +1 -1
- package/dist/esm/models/supplier-response-dto.d.ts +1 -1
- package/dist/esm/models/supplier-response-dto.js +1 -1
- package/dist/esm/models/supplier-tax-type.d.ts +1 -1
- package/dist/esm/models/supplier-tax-type.js +1 -1
- package/dist/esm/models/taxation-type-public.d.ts +1 -1
- package/dist/esm/models/taxation-type-public.js +1 -1
- package/dist/esm/models/token-request-dto.d.ts +1 -13
- package/dist/esm/models/token-request-dto.js +1 -4
- package/dist/esm/models/token-response-dto.d.ts +1 -1
- package/dist/esm/models/token-response-dto.js +1 -1
- package/dist/esm/models/two-stage-phase-public.d.ts +1 -1
- package/dist/esm/models/two-stage-phase-public.js +1 -1
- package/dist/esm/models/update-bid-request-dto.d.ts +1 -1
- package/dist/esm/models/update-bid-request-dto.js +1 -1
- package/dist/esm/models/update-bid200-response.d.ts +1 -1
- package/dist/esm/models/update-bid200-response.js +1 -1
- package/dist/esm/models/upload-file-request-dto.d.ts +1 -1
- package/dist/esm/models/upload-file-request-dto.js +1 -1
- package/dist/esm/models/upload-file201-response.d.ts +1 -1
- package/dist/esm/models/upload-file201-response.js +1 -1
- package/dist/esm/models/upload-url-created-response-dto.d.ts +1 -1
- package/dist/esm/models/upload-url-created-response-dto.js +1 -1
- package/dist/esm/models/userinfo-response-dto.d.ts +1 -1
- package/dist/esm/models/userinfo-response-dto.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/models/acceptance-result-response-dto.d.ts +1 -1
- package/dist/models/acceptance-result-response-dto.js +1 -1
- package/dist/models/acknowledge-product-receipt200-response.d.ts +1 -1
- package/dist/models/acknowledge-product-receipt200-response.js +1 -1
- package/dist/models/acknowledge-products-request-dto.d.ts +1 -1
- package/dist/models/acknowledge-products-request-dto.js +1 -1
- package/dist/models/api-catalog-dto.d.ts +1 -1
- package/dist/models/api-catalog-dto.js +1 -1
- package/dist/models/api-catalog-entry-dto.d.ts +1 -1
- package/dist/models/api-catalog-entry-dto.js +1 -1
- package/dist/models/api-catalog-link-dto.d.ts +1 -1
- package/dist/models/api-catalog-link-dto.js +1 -1
- package/dist/models/authorization-server-metadata-dto.d.ts +1 -5
- package/dist/models/authorization-server-metadata-dto.js +1 -1
- package/dist/models/avalues-input-dto.d.ts +1 -1
- package/dist/models/avalues-input-dto.js +1 -1
- package/dist/models/award-method-public.d.ts +1 -1
- package/dist/models/award-method-public.js +1 -1
- package/dist/models/award-registered-v2-response-dto.d.ts +1 -1
- package/dist/models/award-registered-v2-response-dto.js +1 -1
- package/dist/models/award-reverted-v2-response-dto.d.ts +1 -1
- package/dist/models/award-reverted-v2-response-dto.js +1 -1
- package/dist/models/bid-acceptance-dto.d.ts +1 -1
- package/dist/models/bid-acceptance-dto.js +1 -1
- package/dist/models/bid-attachment-dto.d.ts +1 -1
- package/dist/models/bid-attachment-dto.js +1 -1
- package/dist/models/bid-attachment-input-dto.d.ts +1 -1
- package/dist/models/bid-attachment-input-dto.js +1 -1
- package/dist/models/bid-avalues-dto.d.ts +1 -1
- package/dist/models/bid-avalues-dto.js +1 -1
- package/dist/models/bid-award-method-detail-dto.d.ts +1 -1
- package/dist/models/bid-award-method-detail-dto.js +1 -1
- package/dist/models/bid-bond-dto.d.ts +1 -1
- package/dist/models/bid-bond-dto.js +1 -1
- package/dist/models/bid-cancellation-dto.d.ts +1 -1
- package/dist/models/bid-cancellation-dto.js +1 -1
- package/dist/models/bid-cancelled-response-dto.d.ts +1 -1
- package/dist/models/bid-cancelled-response-dto.js +1 -1
- package/dist/models/bid-category-public.d.ts +1 -1
- package/dist/models/bid-category-public.js +1 -1
- package/dist/models/bid-contact-dto.d.ts +1 -1
- package/dist/models/bid-contact-dto.js +1 -1
- package/dist/models/bid-contacts-dto.d.ts +1 -1
- package/dist/models/bid-contacts-dto.js +1 -1
- package/dist/models/bid-contract-document-dto.d.ts +1 -1
- package/dist/models/bid-contract-document-dto.js +1 -1
- package/dist/models/bid-delivery-terms-dto.d.ts +1 -1
- package/dist/models/bid-delivery-terms-dto.js +1 -1
- package/dist/models/bid-detail-response-dto.d.ts +1 -1
- package/dist/models/bid-detail-response-dto.js +1 -1
- package/dist/models/bid-document-dto.d.ts +1 -1
- package/dist/models/bid-document-dto.js +1 -1
- package/dist/models/bid-failed-v2-response-dto.d.ts +1 -1
- package/dist/models/bid-failed-v2-response-dto.js +1 -1
- package/dist/models/bid-item-dto.d.ts +1 -1
- package/dist/models/bid-item-dto.js +1 -1
- package/dist/models/bid-license-requirement-dto.d.ts +1 -1
- package/dist/models/bid-license-requirement-dto.js +1 -1
- package/dist/models/bid-lifecycle-dto.d.ts +1 -1
- package/dist/models/bid-lifecycle-dto.js +1 -1
- package/dist/models/bid-manager-dto.d.ts +1 -1
- package/dist/models/bid-manager-dto.js +1 -1
- package/dist/models/bid-must-read-notice-dto.d.ts +1 -1
- package/dist/models/bid-must-read-notice-dto.js +1 -1
- package/dist/models/bid-payment-terms-dto.d.ts +1 -1
- package/dist/models/bid-payment-terms-dto.js +1 -1
- package/dist/models/bid-preliminary-price-dto.d.ts +1 -1
- package/dist/models/bid-preliminary-price-dto.js +1 -1
- package/dist/models/bid-preliminary-price-slot-dto.d.ts +1 -1
- package/dist/models/bid-preliminary-price-slot-dto.js +1 -1
- package/dist/models/bid-product-dto.d.ts +1 -1
- package/dist/models/bid-product-dto.js +1 -1
- package/dist/models/bid-public-status.d.ts +1 -1
- package/dist/models/bid-public-status.js +1 -1
- package/dist/models/bid-qualification-review-dto.d.ts +1 -1
- package/dist/models/bid-qualification-review-dto.js +1 -1
- package/dist/models/bid-region-dto.d.ts +1 -1
- package/dist/models/bid-region-dto.js +1 -1
- package/dist/models/bid-region-restriction-dto.d.ts +1 -1
- package/dist/models/bid-region-restriction-dto.js +1 -1
- package/dist/models/bid-registered-response-dto.d.ts +1 -1
- package/dist/models/bid-registered-response-dto.js +1 -1
- package/dist/models/bid-related-bid-dto.d.ts +1 -1
- package/dist/models/bid-related-bid-dto.js +1 -1
- package/dist/models/bid-required-document-dto.d.ts +1 -1
- package/dist/models/bid-required-document-dto.js +1 -1
- package/dist/models/bid-result-participant-attachment-dto.d.ts +1 -1
- package/dist/models/bid-result-participant-attachment-dto.js +1 -1
- package/dist/models/bid-result-participant-dto.d.ts +1 -1
- package/dist/models/bid-result-participant-dto.js +1 -1
- package/dist/models/bid-results-response-dto.d.ts +1 -1
- package/dist/models/bid-results-response-dto.js +1 -1
- package/dist/models/bid-settlement-line-item-dto.d.ts +1 -1
- package/dist/models/bid-settlement-line-item-dto.js +1 -1
- package/dist/models/bid-settlement-participant-dto.d.ts +1 -1
- package/dist/models/bid-settlement-participant-dto.js +1 -1
- package/dist/models/bid-settlement-response-dto.d.ts +1 -1
- package/dist/models/bid-settlement-response-dto.js +1 -1
- package/dist/models/bid-site-briefing-dto.d.ts +1 -1
- package/dist/models/bid-site-briefing-dto.js +1 -1
- package/dist/models/bid-statement-response-dto.d.ts +1 -1
- package/dist/models/bid-statement-response-dto.js +1 -1
- package/dist/models/bid-summary-dto.d.ts +1 -1
- package/dist/models/bid-summary-dto.js +1 -1
- package/dist/models/bid-type-public.d.ts +1 -1
- package/dist/models/bid-type-public.js +1 -1
- package/dist/models/bid-updated-response-dto.d.ts +1 -1
- package/dist/models/bid-updated-response-dto.js +1 -1
- package/dist/models/bidding-style-public.d.ts +1 -1
- package/dist/models/bidding-style-public.js +1 -1
- package/dist/models/cancel-bid-request-dto.d.ts +1 -1
- package/dist/models/cancel-bid-request-dto.js +1 -1
- package/dist/models/cancel-bid200-response.d.ts +1 -1
- package/dist/models/cancel-bid200-response.js +1 -1
- package/dist/models/cancel-kcl-mro-order-request-dto.d.ts +1 -1
- package/dist/models/cancel-kcl-mro-order-request-dto.js +1 -1
- package/dist/models/cancel-kcl-mro-order-response-dto.d.ts +1 -1
- package/dist/models/cancel-kcl-mro-order-response-dto.js +1 -1
- package/dist/models/cancel-kcl-mro-order200-response.d.ts +1 -1
- package/dist/models/cancel-kcl-mro-order200-response.js +1 -1
- package/dist/models/card-payment-request-response-dto.d.ts +1 -1
- package/dist/models/card-payment-request-response-dto.js +1 -1
- package/dist/models/complete-acceptance-request-dto.d.ts +1 -1
- package/dist/models/complete-acceptance-request-dto.js +1 -1
- package/dist/models/complete-acceptance200-response.d.ts +1 -1
- package/dist/models/complete-acceptance200-response.js +1 -1
- package/dist/models/complete-invoice200-response.d.ts +1 -1
- package/dist/models/complete-invoice200-response.js +1 -1
- package/dist/models/complete-upload-request-dto.d.ts +1 -1
- package/dist/models/complete-upload-request-dto.js +1 -1
- package/dist/models/contract-restriction-confirm-input-dto.d.ts +1 -1
- package/dist/models/contract-restriction-confirm-input-dto.js +1 -1
- package/dist/models/create-bid-request-dto.d.ts +1 -1
- package/dist/models/create-bid-request-dto.js +1 -1
- package/dist/models/create-card-payment-dto.d.ts +1 -1
- package/dist/models/create-card-payment-dto.js +1 -1
- package/dist/models/create-card-payment-request-dto.d.ts +1 -1
- package/dist/models/create-card-payment-request-dto.js +1 -1
- package/dist/models/create-card-payment200-response.d.ts +1 -1
- package/dist/models/create-card-payment200-response.js +1 -1
- package/dist/models/create-embed-launch201-response.d.ts +1 -1
- package/dist/models/create-embed-launch201-response.js +1 -1
- package/dist/models/create-external-contract-documents-request-dto.d.ts +1 -1
- package/dist/models/create-external-contract-documents-request-dto.js +1 -1
- package/dist/models/create-external-contract-documents-response-dto.d.ts +1 -1
- package/dist/models/create-external-contract-documents-response-dto.js +1 -1
- package/dist/models/create-file-upload-url201-response.d.ts +1 -1
- package/dist/models/create-file-upload-url201-response.js +1 -1
- package/dist/models/create-upload-url-request-dto.d.ts +1 -1
- package/dist/models/create-upload-url-request-dto.js +1 -1
- package/dist/models/delivery-date-type-public.d.ts +1 -1
- package/dist/models/delivery-date-type-public.js +1 -1
- package/dist/models/delivery-method-public.d.ts +1 -1
- package/dist/models/delivery-method-public.js +1 -1
- package/dist/models/embed-bid-prefill-dto.d.ts +1 -1
- package/dist/models/embed-bid-prefill-dto.js +1 -1
- package/dist/models/embed-bid-prefill-item-dto.d.ts +1 -1
- package/dist/models/embed-bid-prefill-item-dto.js +1 -1
- package/dist/models/embed-bid-prefill-manager-dto.d.ts +1 -1
- package/dist/models/embed-bid-prefill-manager-dto.js +1 -1
- package/dist/models/embed-launch-request-dto.d.ts +1 -1
- package/dist/models/embed-launch-request-dto.js +1 -1
- package/dist/models/embed-launch-response-dto.d.ts +1 -1
- package/dist/models/embed-launch-response-dto.js +1 -1
- package/dist/models/excellent-procurement-public.d.ts +1 -1
- package/dist/models/excellent-procurement-public.js +1 -1
- package/dist/models/external-contract-document-item-dto.d.ts +1 -1
- package/dist/models/external-contract-document-item-dto.js +1 -1
- package/dist/models/external-contract-documents-response-dto.d.ts +1 -1
- package/dist/models/external-contract-documents-response-dto.js +1 -1
- package/dist/models/external-contract-item-dto.d.ts +1 -1
- package/dist/models/external-contract-item-dto.js +1 -1
- package/dist/models/external-contract-snapshot-dto.d.ts +1 -1
- package/dist/models/external-contract-snapshot-dto.js +1 -1
- package/dist/models/external-document-inputs-dto.d.ts +1 -1
- package/dist/models/external-document-inputs-dto.js +1 -1
- package/dist/models/file-uploaded-response-dto.d.ts +1 -1
- package/dist/models/file-uploaded-response-dto.js +1 -1
- package/dist/models/generated-external-contract-document-dto.d.ts +1 -1
- package/dist/models/generated-external-contract-document-dto.js +1 -1
- package/dist/models/get-bid-settlement200-response.d.ts +1 -1
- package/dist/models/get-bid-settlement200-response.js +1 -1
- package/dist/models/get-bid-statement200-response.d.ts +1 -1
- package/dist/models/get-bid-statement200-response.js +1 -1
- package/dist/models/get-bid200-response.d.ts +1 -1
- package/dist/models/get-bid200-response.js +1 -1
- package/dist/models/get-kcl-mro-order-status200-response.d.ts +1 -1
- package/dist/models/get-kcl-mro-order-status200-response.js +1 -1
- package/dist/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
- package/dist/models/get-supplier-card-payable-v2200-response.js +1 -1
- package/dist/models/green-product-public.d.ts +1 -1
- package/dist/models/green-product-public.js +1 -1
- package/dist/models/handover-type-public.d.ts +1 -1
- package/dist/models/handover-type-public.js +1 -1
- package/dist/models/health-controller-check200-response.d.ts +1 -1
- package/dist/models/health-controller-check200-response.js +1 -1
- package/dist/models/health-response-dto.d.ts +1 -1
- package/dist/models/health-response-dto.js +1 -1
- package/dist/models/hierarchical-region-dto.d.ts +1 -1
- package/dist/models/hierarchical-region-dto.js +1 -1
- package/dist/models/index.d.ts +0 -26
- package/dist/models/index.js +0 -26
- package/dist/models/introspect-request-dto.d.ts +1 -13
- package/dist/models/introspect-request-dto.js +2 -5
- package/dist/models/introspection-response-dto.d.ts +1 -1
- package/dist/models/introspection-response-dto.js +1 -1
- package/dist/models/invalid-param-dto.d.ts +1 -1
- package/dist/models/invalid-param-dto.js +1 -1
- package/dist/models/invoice-completed-response-dto.d.ts +1 -1
- package/dist/models/invoice-completed-response-dto.js +1 -1
- package/dist/models/invoice-split-response-dto.d.ts +1 -1
- package/dist/models/invoice-split-response-dto.js +1 -1
- package/dist/models/kcl-mro-order-item-dto.d.ts +1 -1
- package/dist/models/kcl-mro-order-item-dto.js +1 -1
- package/dist/models/kcl-mro-order-status-response-dto.d.ts +1 -1
- package/dist/models/kcl-mro-order-status-response-dto.js +1 -1
- package/dist/models/kcl-mro-quote-result-dto.d.ts +1 -1
- package/dist/models/kcl-mro-quote-result-dto.js +1 -1
- package/dist/models/kcl-mro-ship-to-dto.d.ts +1 -1
- package/dist/models/kcl-mro-ship-to-dto.js +1 -1
- package/dist/models/legal-mandatory-public.d.ts +1 -1
- package/dist/models/legal-mandatory-public.js +1 -1
- package/dist/models/license-combination-mode.d.ts +1 -1
- package/dist/models/license-combination-mode.js +1 -1
- package/dist/models/list-bid-results200-response.d.ts +1 -1
- package/dist/models/list-bid-results200-response.js +1 -1
- package/dist/models/list-bids200-response-meta.d.ts +1 -1
- package/dist/models/list-bids200-response-meta.js +1 -1
- package/dist/models/list-bids200-response.d.ts +1 -1
- package/dist/models/list-bids200-response.js +1 -1
- package/dist/models/list-products200-response.d.ts +1 -1
- package/dist/models/list-products200-response.js +1 -1
- package/dist/models/list-suppliers200-response.d.ts +1 -1
- package/dist/models/list-suppliers200-response.js +1 -1
- package/dist/models/mark-bid-failed-request-dto.d.ts +1 -1
- package/dist/models/mark-bid-failed-request-dto.js +1 -1
- package/dist/models/mark-bid-failed201-response.d.ts +1 -1
- package/dist/models/mark-bid-failed201-response.js +1 -1
- package/dist/models/nominated-supplier-dto.d.ts +1 -1
- package/dist/models/nominated-supplier-dto.js +1 -1
- package/dist/models/oauth-error-response-dto.d.ts +1 -1
- package/dist/models/oauth-error-response-dto.js +1 -1
- package/dist/models/payment-method-public.d.ts +1 -1
- package/dist/models/payment-method-public.js +1 -1
- package/dist/models/preconditions-dto.d.ts +1 -1
- package/dist/models/preconditions-dto.js +1 -1
- package/dist/models/preliminary-price-region-public.d.ts +1 -1
- package/dist/models/preliminary-price-region-public.js +1 -1
- package/dist/models/price-score-type-public.d.ts +1 -1
- package/dist/models/price-score-type-public.js +1 -1
- package/dist/models/pricing-type-public.d.ts +1 -1
- package/dist/models/pricing-type-public.js +1 -1
- package/dist/models/problem-details-dto.d.ts +1 -1
- package/dist/models/problem-details-dto.js +1 -1
- package/dist/models/product-receipt-response-dto.d.ts +1 -1
- package/dist/models/product-receipt-response-dto.js +1 -1
- package/dist/models/product-response-dto.d.ts +1 -1
- package/dist/models/product-response-dto.js +1 -1
- package/dist/models/protected-resource-metadata-dto.d.ts +1 -1
- package/dist/models/protected-resource-metadata-dto.js +1 -1
- package/dist/models/qualification-review-input-dto.d.ts +1 -1
- package/dist/models/qualification-review-input-dto.js +1 -1
- package/dist/models/register-award-request-dto.d.ts +1 -1
- package/dist/models/register-award-request-dto.js +1 -1
- package/dist/models/register-award201-response.d.ts +1 -1
- package/dist/models/register-award201-response.js +1 -1
- package/dist/models/register-bid201-response.d.ts +1 -1
- package/dist/models/register-bid201-response.js +1 -1
- package/dist/models/register-semo-contract-request-dto.d.ts +1 -1
- package/dist/models/register-semo-contract-request-dto.js +1 -1
- package/dist/models/regulation-type-public.d.ts +1 -1
- package/dist/models/regulation-type-public.js +1 -1
- package/dist/models/related-bid-relation.d.ts +1 -1
- package/dist/models/related-bid-relation.js +1 -1
- package/dist/models/relay-kcl-mro-order-request-dto.d.ts +1 -1
- package/dist/models/relay-kcl-mro-order-request-dto.js +1 -1
- package/dist/models/relay-kcl-mro-order-response-dto.d.ts +1 -1
- package/dist/models/relay-kcl-mro-order-response-dto.js +1 -1
- package/dist/models/relay-kcl-mro-order200-response.d.ts +1 -1
- package/dist/models/relay-kcl-mro-order200-response.js +1 -1
- package/dist/models/request-invoice-split-request-dto.d.ts +1 -1
- package/dist/models/request-invoice-split-request-dto.js +1 -1
- package/dist/models/request-invoice-split200-response.d.ts +1 -1
- package/dist/models/request-invoice-split200-response.js +1 -1
- package/dist/models/retiree-roster-input-dto.d.ts +1 -1
- package/dist/models/retiree-roster-input-dto.js +1 -1
- package/dist/models/retiree-roster-row-dto.d.ts +1 -1
- package/dist/models/retiree-roster-row-dto.js +1 -1
- package/dist/models/revert-award-request-dto.d.ts +1 -1
- package/dist/models/revert-award-request-dto.js +1 -1
- package/dist/models/revert-award200-response.d.ts +1 -1
- package/dist/models/revert-award200-response.js +1 -1
- package/dist/models/revoke-request-dto.d.ts +1 -13
- package/dist/models/revoke-request-dto.js +2 -5
- package/dist/models/semo-contract-registered-response-dto.d.ts +1 -1
- package/dist/models/semo-contract-registered-response-dto.js +1 -1
- package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
- package/dist/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
- package/dist/models/site-briefing-input-dto.d.ts +1 -1
- package/dist/models/site-briefing-input-dto.js +1 -1
- package/dist/models/statement-document-dto.d.ts +1 -1
- package/dist/models/statement-document-dto.js +1 -1
- package/dist/models/statement-product-dto.d.ts +1 -1
- package/dist/models/statement-product-dto.js +1 -1
- package/dist/models/supplier-card-payable-response-dto.d.ts +1 -1
- package/dist/models/supplier-card-payable-response-dto.js +1 -1
- package/dist/models/supplier-response-dto.d.ts +1 -1
- package/dist/models/supplier-response-dto.js +1 -1
- package/dist/models/supplier-tax-type.d.ts +1 -1
- package/dist/models/supplier-tax-type.js +1 -1
- package/dist/models/taxation-type-public.d.ts +1 -1
- package/dist/models/taxation-type-public.js +1 -1
- package/dist/models/token-request-dto.d.ts +1 -13
- package/dist/models/token-request-dto.js +2 -5
- package/dist/models/token-response-dto.d.ts +1 -1
- package/dist/models/token-response-dto.js +1 -1
- package/dist/models/two-stage-phase-public.d.ts +1 -1
- package/dist/models/two-stage-phase-public.js +1 -1
- package/dist/models/update-bid-request-dto.d.ts +1 -1
- package/dist/models/update-bid-request-dto.js +1 -1
- package/dist/models/update-bid200-response.d.ts +1 -1
- package/dist/models/update-bid200-response.js +1 -1
- package/dist/models/upload-file-request-dto.d.ts +1 -1
- package/dist/models/upload-file-request-dto.js +1 -1
- package/dist/models/upload-file201-response.d.ts +1 -1
- package/dist/models/upload-file201-response.js +1 -1
- package/dist/models/upload-url-created-response-dto.d.ts +1 -1
- package/dist/models/upload-url-created-response-dto.js +1 -1
- package/dist/models/userinfo-response-dto.d.ts +1 -1
- package/dist/models/userinfo-response-dto.js +1 -1
- package/docs/AuthorizationServerMetadataDto.md +0 -2
- package/docs/IntrospectRequestDto.md +0 -4
- package/docs/PartnerApiApi.md +0 -597
- package/docs/RevokeRequestDto.md +0 -4
- package/docs/TokenRequestDto.md +0 -4
- package/index.ts +1 -1
- package/models/acceptance-result-response-dto.ts +1 -1
- package/models/acknowledge-product-receipt200-response.ts +1 -1
- package/models/acknowledge-products-request-dto.ts +1 -1
- package/models/api-catalog-dto.ts +1 -1
- package/models/api-catalog-entry-dto.ts +1 -1
- package/models/api-catalog-link-dto.ts +1 -1
- package/models/authorization-server-metadata-dto.ts +1 -5
- package/models/avalues-input-dto.ts +1 -1
- package/models/award-method-public.ts +1 -1
- package/models/award-registered-v2-response-dto.ts +1 -1
- package/models/award-reverted-v2-response-dto.ts +1 -1
- package/models/bid-acceptance-dto.ts +1 -1
- package/models/bid-attachment-dto.ts +1 -1
- package/models/bid-attachment-input-dto.ts +1 -1
- package/models/bid-avalues-dto.ts +1 -1
- package/models/bid-award-method-detail-dto.ts +1 -1
- package/models/bid-bond-dto.ts +1 -1
- package/models/bid-cancellation-dto.ts +1 -1
- package/models/bid-cancelled-response-dto.ts +1 -1
- package/models/bid-category-public.ts +1 -1
- package/models/bid-contact-dto.ts +1 -1
- package/models/bid-contacts-dto.ts +1 -1
- package/models/bid-contract-document-dto.ts +1 -1
- package/models/bid-delivery-terms-dto.ts +1 -1
- package/models/bid-detail-response-dto.ts +1 -1
- package/models/bid-document-dto.ts +1 -1
- package/models/bid-failed-v2-response-dto.ts +1 -1
- package/models/bid-item-dto.ts +1 -1
- package/models/bid-license-requirement-dto.ts +1 -1
- package/models/bid-lifecycle-dto.ts +1 -1
- package/models/bid-manager-dto.ts +1 -1
- package/models/bid-must-read-notice-dto.ts +1 -1
- package/models/bid-payment-terms-dto.ts +1 -1
- package/models/bid-preliminary-price-dto.ts +1 -1
- package/models/bid-preliminary-price-slot-dto.ts +1 -1
- package/models/bid-product-dto.ts +1 -1
- package/models/bid-public-status.ts +1 -1
- package/models/bid-qualification-review-dto.ts +1 -1
- package/models/bid-region-dto.ts +1 -1
- package/models/bid-region-restriction-dto.ts +1 -1
- package/models/bid-registered-response-dto.ts +1 -1
- package/models/bid-related-bid-dto.ts +1 -1
- package/models/bid-required-document-dto.ts +1 -1
- package/models/bid-result-participant-attachment-dto.ts +1 -1
- package/models/bid-result-participant-dto.ts +1 -1
- package/models/bid-results-response-dto.ts +1 -1
- package/models/bid-settlement-line-item-dto.ts +1 -1
- package/models/bid-settlement-participant-dto.ts +1 -1
- package/models/bid-settlement-response-dto.ts +1 -1
- package/models/bid-site-briefing-dto.ts +1 -1
- package/models/bid-statement-response-dto.ts +1 -1
- package/models/bid-summary-dto.ts +1 -1
- package/models/bid-type-public.ts +1 -1
- package/models/bid-updated-response-dto.ts +1 -1
- package/models/bidding-style-public.ts +1 -1
- package/models/cancel-bid-request-dto.ts +1 -1
- package/models/cancel-bid200-response.ts +1 -1
- package/models/cancel-kcl-mro-order-request-dto.ts +1 -1
- package/models/cancel-kcl-mro-order-response-dto.ts +1 -1
- package/models/cancel-kcl-mro-order200-response.ts +1 -1
- package/models/card-payment-request-response-dto.ts +1 -1
- package/models/complete-acceptance-request-dto.ts +1 -1
- package/models/complete-acceptance200-response.ts +1 -1
- package/models/complete-invoice200-response.ts +1 -1
- package/models/complete-upload-request-dto.ts +1 -1
- package/models/contract-restriction-confirm-input-dto.ts +1 -1
- package/models/create-bid-request-dto.ts +1 -1
- package/models/create-card-payment-dto.ts +1 -1
- package/models/create-card-payment-request-dto.ts +1 -1
- package/models/create-card-payment200-response.ts +1 -1
- package/models/create-embed-launch201-response.ts +1 -1
- package/models/create-external-contract-documents-request-dto.ts +1 -1
- package/models/create-external-contract-documents-response-dto.ts +1 -1
- package/models/create-file-upload-url201-response.ts +1 -1
- package/models/create-upload-url-request-dto.ts +1 -1
- package/models/delivery-date-type-public.ts +1 -1
- package/models/delivery-method-public.ts +1 -1
- package/models/embed-bid-prefill-dto.ts +1 -1
- package/models/embed-bid-prefill-item-dto.ts +1 -1
- package/models/embed-bid-prefill-manager-dto.ts +1 -1
- package/models/embed-launch-request-dto.ts +1 -1
- package/models/embed-launch-response-dto.ts +1 -1
- package/models/excellent-procurement-public.ts +1 -1
- package/models/external-contract-document-item-dto.ts +1 -1
- package/models/external-contract-documents-response-dto.ts +1 -1
- package/models/external-contract-item-dto.ts +1 -1
- package/models/external-contract-snapshot-dto.ts +1 -1
- package/models/external-document-inputs-dto.ts +1 -1
- package/models/file-uploaded-response-dto.ts +1 -1
- package/models/generated-external-contract-document-dto.ts +1 -1
- package/models/get-bid-settlement200-response.ts +1 -1
- package/models/get-bid-statement200-response.ts +1 -1
- package/models/get-bid200-response.ts +1 -1
- package/models/get-kcl-mro-order-status200-response.ts +1 -1
- package/models/get-supplier-card-payable-v2200-response.ts +1 -1
- package/models/green-product-public.ts +1 -1
- package/models/handover-type-public.ts +1 -1
- package/models/health-controller-check200-response.ts +1 -1
- package/models/health-response-dto.ts +1 -1
- package/models/hierarchical-region-dto.ts +1 -1
- package/models/index.ts +0 -26
- package/models/introspect-request-dto.ts +1 -14
- package/models/introspection-response-dto.ts +1 -1
- package/models/invalid-param-dto.ts +1 -1
- package/models/invoice-completed-response-dto.ts +1 -1
- package/models/invoice-split-response-dto.ts +1 -1
- package/models/kcl-mro-order-item-dto.ts +1 -1
- package/models/kcl-mro-order-status-response-dto.ts +1 -1
- package/models/kcl-mro-quote-result-dto.ts +1 -1
- package/models/kcl-mro-ship-to-dto.ts +1 -1
- package/models/legal-mandatory-public.ts +1 -1
- package/models/license-combination-mode.ts +1 -1
- package/models/list-bid-results200-response.ts +1 -1
- package/models/list-bids200-response-meta.ts +1 -1
- package/models/list-bids200-response.ts +1 -1
- package/models/list-products200-response.ts +1 -1
- package/models/list-suppliers200-response.ts +1 -1
- package/models/mark-bid-failed-request-dto.ts +1 -1
- package/models/mark-bid-failed201-response.ts +1 -1
- package/models/nominated-supplier-dto.ts +1 -1
- package/models/oauth-error-response-dto.ts +1 -1
- package/models/payment-method-public.ts +1 -1
- package/models/preconditions-dto.ts +1 -1
- package/models/preliminary-price-region-public.ts +1 -1
- package/models/price-score-type-public.ts +1 -1
- package/models/pricing-type-public.ts +1 -1
- package/models/problem-details-dto.ts +1 -1
- package/models/product-receipt-response-dto.ts +1 -1
- package/models/product-response-dto.ts +1 -1
- package/models/protected-resource-metadata-dto.ts +1 -1
- package/models/qualification-review-input-dto.ts +1 -1
- package/models/register-award-request-dto.ts +1 -1
- package/models/register-award201-response.ts +1 -1
- package/models/register-bid201-response.ts +1 -1
- package/models/register-semo-contract-request-dto.ts +1 -1
- package/models/regulation-type-public.ts +1 -1
- package/models/related-bid-relation.ts +1 -1
- package/models/relay-kcl-mro-order-request-dto.ts +1 -1
- package/models/relay-kcl-mro-order-response-dto.ts +1 -1
- package/models/relay-kcl-mro-order200-response.ts +1 -1
- package/models/request-invoice-split-request-dto.ts +1 -1
- package/models/request-invoice-split200-response.ts +1 -1
- package/models/retiree-roster-input-dto.ts +1 -1
- package/models/retiree-roster-row-dto.ts +1 -1
- package/models/revert-award-request-dto.ts +1 -1
- package/models/revert-award200-response.ts +1 -1
- package/models/revoke-request-dto.ts +1 -14
- package/models/semo-contract-registered-response-dto.ts +1 -1
- package/models/semo-contract-taxinvoice-status-response-dto.ts +1 -1
- package/models/site-briefing-input-dto.ts +1 -1
- package/models/statement-document-dto.ts +1 -1
- package/models/statement-product-dto.ts +1 -1
- package/models/supplier-card-payable-response-dto.ts +1 -1
- package/models/supplier-response-dto.ts +1 -1
- package/models/supplier-tax-type.ts +1 -1
- package/models/taxation-type-public.ts +1 -1
- package/models/token-request-dto.ts +1 -14
- package/models/token-response-dto.ts +1 -1
- package/models/two-stage-phase-public.ts +1 -1
- package/models/update-bid-request-dto.ts +1 -1
- package/models/update-bid200-response.ts +1 -1
- package/models/upload-file-request-dto.ts +1 -1
- package/models/upload-file201-response.ts +1 -1
- package/models/upload-url-created-response-dto.ts +1 -1
- package/models/userinfo-response-dto.ts +1 -1
- package/package.json +1 -1
- package/api/webhooks-api.ts +0 -690
- package/dist/api/webhooks-api.d.ts +0 -328
- package/dist/api/webhooks-api.js +0 -675
- package/dist/esm/api/webhooks-api.d.ts +0 -328
- package/dist/esm/api/webhooks-api.js +0 -668
- package/dist/esm/models/create-webhook-endpoint-request-dto.d.ts +0 -22
- package/dist/esm/models/create-webhook-endpoint-request-dto.js +0 -14
- package/dist/esm/models/create-webhook-endpoint201-response.d.ts +0 -15
- package/dist/esm/models/create-webhook-endpoint201-response.js +0 -14
- package/dist/esm/models/file-meta-response-dto.d.ts +0 -33
- package/dist/esm/models/file-meta-response-dto.js +0 -14
- package/dist/esm/models/get-file-meta200-response.d.ts +0 -15
- package/dist/esm/models/get-file-meta200-response.js +0 -14
- package/dist/esm/models/get-webhook-endpoint200-response.d.ts +0 -15
- package/dist/esm/models/get-webhook-endpoint200-response.js +0 -14
- package/dist/esm/models/list-webhook-deliveries-response-dto.d.ts +0 -22
- package/dist/esm/models/list-webhook-deliveries-response-dto.js +0 -14
- package/dist/esm/models/list-webhook-deliveries200-response.d.ts +0 -15
- package/dist/esm/models/list-webhook-deliveries200-response.js +0 -14
- package/dist/esm/models/list-webhook-endpoints200-response.d.ts +0 -17
- package/dist/esm/models/list-webhook-endpoints200-response.js +0 -14
- package/dist/esm/models/on-bid-award-reverted-request.d.ts +0 -16
- package/dist/esm/models/on-bid-award-reverted-request.js +0 -14
- package/dist/esm/models/on-bid-awarded-request.d.ts +0 -16
- package/dist/esm/models/on-bid-awarded-request.js +0 -14
- package/dist/esm/models/on-bid-canceled-request.d.ts +0 -16
- package/dist/esm/models/on-bid-canceled-request.js +0 -14
- package/dist/esm/models/on-bid-closed-request.d.ts +0 -16
- package/dist/esm/models/on-bid-closed-request.js +0 -14
- package/dist/esm/models/on-bid-failed-request.d.ts +0 -16
- package/dist/esm/models/on-bid-failed-request.js +0 -14
- package/dist/esm/models/on-ping-request.d.ts +0 -16
- package/dist/esm/models/on-ping-request.js +0 -14
- package/dist/esm/models/partner-webhook-delivery-status.d.ts +0 -18
- package/dist/esm/models/partner-webhook-delivery-status.js +0 -19
- package/dist/esm/models/partner-webhook-endpoint-status.d.ts +0 -19
- package/dist/esm/models/partner-webhook-endpoint-status.js +0 -20
- package/dist/esm/models/partner-webhook-event-type.d.ts +0 -22
- package/dist/esm/models/partner-webhook-event-type.js +0 -23
- package/dist/esm/models/send-webhook-test-event200-response.d.ts +0 -15
- package/dist/esm/models/send-webhook-test-event200-response.js +0 -14
- package/dist/esm/models/update-webhook-endpoint-request-dto.d.ts +0 -27
- package/dist/esm/models/update-webhook-endpoint-request-dto.js +0 -14
- package/dist/esm/models/webhook-bid-event-data.d.ts +0 -33
- package/dist/esm/models/webhook-bid-event-data.js +0 -14
- package/dist/esm/models/webhook-delivery-dto.d.ts +0 -73
- package/dist/esm/models/webhook-delivery-dto.js +0 -21
- package/dist/esm/models/webhook-endpoint-dto.d.ts +0 -55
- package/dist/esm/models/webhook-endpoint-dto.js +0 -14
- package/dist/esm/models/webhook-endpoint-with-secret-dto.d.ts +0 -59
- package/dist/esm/models/webhook-endpoint-with-secret-dto.js +0 -14
- package/dist/esm/models/webhook-event-envelope.d.ts +0 -34
- package/dist/esm/models/webhook-event-envelope.js +0 -14
- package/dist/esm/models/webhook-ping-event-data.d.ts +0 -20
- package/dist/esm/models/webhook-ping-event-data.js +0 -14
- package/dist/esm/models/webhook-test-result-dto.d.ts +0 -25
- package/dist/esm/models/webhook-test-result-dto.js +0 -14
- package/dist/models/create-webhook-endpoint-request-dto.d.ts +0 -22
- package/dist/models/create-webhook-endpoint-request-dto.js +0 -15
- package/dist/models/create-webhook-endpoint201-response.d.ts +0 -15
- package/dist/models/create-webhook-endpoint201-response.js +0 -15
- package/dist/models/file-meta-response-dto.d.ts +0 -33
- package/dist/models/file-meta-response-dto.js +0 -15
- package/dist/models/get-file-meta200-response.d.ts +0 -15
- package/dist/models/get-file-meta200-response.js +0 -15
- package/dist/models/get-webhook-endpoint200-response.d.ts +0 -15
- package/dist/models/get-webhook-endpoint200-response.js +0 -15
- package/dist/models/list-webhook-deliveries-response-dto.d.ts +0 -22
- package/dist/models/list-webhook-deliveries-response-dto.js +0 -15
- package/dist/models/list-webhook-deliveries200-response.d.ts +0 -15
- package/dist/models/list-webhook-deliveries200-response.js +0 -15
- package/dist/models/list-webhook-endpoints200-response.d.ts +0 -17
- package/dist/models/list-webhook-endpoints200-response.js +0 -15
- package/dist/models/on-bid-award-reverted-request.d.ts +0 -16
- package/dist/models/on-bid-award-reverted-request.js +0 -15
- package/dist/models/on-bid-awarded-request.d.ts +0 -16
- package/dist/models/on-bid-awarded-request.js +0 -15
- package/dist/models/on-bid-canceled-request.d.ts +0 -16
- package/dist/models/on-bid-canceled-request.js +0 -15
- package/dist/models/on-bid-closed-request.d.ts +0 -16
- package/dist/models/on-bid-closed-request.js +0 -15
- package/dist/models/on-bid-failed-request.d.ts +0 -16
- package/dist/models/on-bid-failed-request.js +0 -15
- package/dist/models/on-ping-request.d.ts +0 -16
- package/dist/models/on-ping-request.js +0 -15
- package/dist/models/partner-webhook-delivery-status.d.ts +0 -18
- package/dist/models/partner-webhook-delivery-status.js +0 -22
- package/dist/models/partner-webhook-endpoint-status.d.ts +0 -19
- package/dist/models/partner-webhook-endpoint-status.js +0 -23
- package/dist/models/partner-webhook-event-type.d.ts +0 -22
- package/dist/models/partner-webhook-event-type.js +0 -26
- package/dist/models/send-webhook-test-event200-response.d.ts +0 -15
- package/dist/models/send-webhook-test-event200-response.js +0 -15
- package/dist/models/update-webhook-endpoint-request-dto.d.ts +0 -27
- package/dist/models/update-webhook-endpoint-request-dto.js +0 -15
- package/dist/models/webhook-bid-event-data.d.ts +0 -33
- package/dist/models/webhook-bid-event-data.js +0 -15
- package/dist/models/webhook-delivery-dto.d.ts +0 -73
- package/dist/models/webhook-delivery-dto.js +0 -24
- package/dist/models/webhook-endpoint-dto.d.ts +0 -55
- package/dist/models/webhook-endpoint-dto.js +0 -15
- package/dist/models/webhook-endpoint-with-secret-dto.d.ts +0 -59
- package/dist/models/webhook-endpoint-with-secret-dto.js +0 -15
- package/dist/models/webhook-event-envelope.d.ts +0 -34
- package/dist/models/webhook-event-envelope.js +0 -15
- package/dist/models/webhook-ping-event-data.d.ts +0 -20
- package/dist/models/webhook-ping-event-data.js +0 -15
- package/dist/models/webhook-test-result-dto.d.ts +0 -25
- package/dist/models/webhook-test-result-dto.js +0 -15
- package/docs/CreateWebhookEndpoint201Response.md +0 -20
- package/docs/CreateWebhookEndpointRequestDto.md +0 -22
- package/docs/FileMetaResponseDto.md +0 -28
- package/docs/GetFileMeta200Response.md +0 -20
- package/docs/GetWebhookEndpoint200Response.md +0 -20
- package/docs/ListWebhookDeliveries200Response.md +0 -20
- package/docs/ListWebhookDeliveriesResponseDto.md +0 -22
- package/docs/ListWebhookEndpoints200Response.md +0 -22
- package/docs/OnBidAwardRevertedRequest.md +0 -26
- package/docs/OnBidAwardedRequest.md +0 -26
- package/docs/OnBidCanceledRequest.md +0 -26
- package/docs/OnBidClosedRequest.md +0 -26
- package/docs/OnBidFailedRequest.md +0 -26
- package/docs/OnPingRequest.md +0 -26
- package/docs/PartnerWebhookDeliveryStatus.md +0 -14
- package/docs/PartnerWebhookEndpointStatus.md +0 -11
- package/docs/PartnerWebhookEventType.md +0 -17
- package/docs/SendWebhookTestEvent200Response.md +0 -20
- package/docs/UpdateWebhookEndpointRequestDto.md +0 -24
- package/docs/WebhookBidEventData.md +0 -27
- package/docs/WebhookDeliveryDto.md +0 -42
- package/docs/WebhookEndpointDto.md +0 -38
- package/docs/WebhookEndpointWithSecretDto.md +0 -40
- package/docs/WebhookEventEnvelope.md +0 -27
- package/docs/WebhookPingEventData.md +0 -21
- package/docs/WebhookTestResultDto.md +0 -24
- package/docs/WebhooksApi.md +0 -403
- package/models/create-webhook-endpoint-request-dto.ts +0 -30
- package/models/create-webhook-endpoint201-response.ts +0 -23
- package/models/file-meta-response-dto.ts +0 -39
- package/models/get-file-meta200-response.ts +0 -23
- package/models/get-webhook-endpoint200-response.ts +0 -23
- package/models/list-webhook-deliveries-response-dto.ts +0 -30
- package/models/list-webhook-deliveries200-response.ts +0 -23
- package/models/list-webhook-endpoints200-response.ts +0 -27
- package/models/on-bid-award-reverted-request.ts +0 -28
- package/models/on-bid-awarded-request.ts +0 -28
- package/models/on-bid-canceled-request.ts +0 -28
- package/models/on-bid-closed-request.ts +0 -28
- package/models/on-bid-failed-request.ts +0 -28
- package/models/on-ping-request.ts +0 -28
- package/models/partner-webhook-delivery-status.ts +0 -28
- package/models/partner-webhook-endpoint-status.ts +0 -29
- package/models/partner-webhook-event-type.ts +0 -32
- package/models/send-webhook-test-event200-response.ts +0 -23
- package/models/update-webhook-endpoint-request-dto.ts +0 -39
- package/models/webhook-bid-event-data.ts +0 -43
- package/models/webhook-delivery-dto.ts +0 -82
- package/models/webhook-endpoint-dto.ts +0 -67
- package/models/webhook-endpoint-with-secret-dto.ts +0 -71
- package/models/webhook-event-envelope.ts +0 -38
- package/models/webhook-ping-event-data.ts +0 -26
- package/models/webhook-test-result-dto.ts +0 -31
package/api/partner-api-api.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:
|
|
7
|
+
* The version of the OpenAPI document: 47.0.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).
|
|
@@ -54,10 +54,6 @@ import type { CreateFileUploadUrl201Response } from '../models';
|
|
|
54
54
|
// @ts-ignore
|
|
55
55
|
import type { CreateUploadUrlRequestDto } from '../models';
|
|
56
56
|
// @ts-ignore
|
|
57
|
-
import type { CreateWebhookEndpoint201Response } from '../models';
|
|
58
|
-
// @ts-ignore
|
|
59
|
-
import type { CreateWebhookEndpointRequestDto } from '../models';
|
|
60
|
-
// @ts-ignore
|
|
61
57
|
import type { ExternalContractDocumentsResponseDto } from '../models';
|
|
62
58
|
// @ts-ignore
|
|
63
59
|
import type { GetBid200Response } from '../models';
|
|
@@ -66,14 +62,10 @@ import type { GetBidSettlement200Response } from '../models';
|
|
|
66
62
|
// @ts-ignore
|
|
67
63
|
import type { GetBidStatement200Response } from '../models';
|
|
68
64
|
// @ts-ignore
|
|
69
|
-
import type { GetFileMeta200Response } from '../models';
|
|
70
|
-
// @ts-ignore
|
|
71
65
|
import type { GetKclMroOrderStatus200Response } from '../models';
|
|
72
66
|
// @ts-ignore
|
|
73
67
|
import type { GetSupplierCardPayableV2200Response } from '../models';
|
|
74
68
|
// @ts-ignore
|
|
75
|
-
import type { GetWebhookEndpoint200Response } from '../models';
|
|
76
|
-
// @ts-ignore
|
|
77
69
|
import type { HealthControllerCheck200Response } from '../models';
|
|
78
70
|
// @ts-ignore
|
|
79
71
|
import type { ListBidResults200Response } from '../models';
|
|
@@ -82,16 +74,10 @@ import type { ListBids200Response } from '../models';
|
|
|
82
74
|
// @ts-ignore
|
|
83
75
|
import type { ListSuppliers200Response } from '../models';
|
|
84
76
|
// @ts-ignore
|
|
85
|
-
import type { ListWebhookDeliveries200Response } from '../models';
|
|
86
|
-
// @ts-ignore
|
|
87
|
-
import type { ListWebhookEndpoints200Response } from '../models';
|
|
88
|
-
// @ts-ignore
|
|
89
77
|
import type { MarkBidFailed201Response } from '../models';
|
|
90
78
|
// @ts-ignore
|
|
91
79
|
import type { MarkBidFailedRequestDto } from '../models';
|
|
92
80
|
// @ts-ignore
|
|
93
|
-
import type { PartnerWebhookDeliveryStatus } from '../models';
|
|
94
|
-
// @ts-ignore
|
|
95
81
|
import type { ProblemDetailsDto } from '../models';
|
|
96
82
|
// @ts-ignore
|
|
97
83
|
import type { RegisterAward201Response } from '../models';
|
|
@@ -118,14 +104,10 @@ import type { SemoContractRegisteredResponseDto } from '../models';
|
|
|
118
104
|
// @ts-ignore
|
|
119
105
|
import type { SemoContractTaxinvoiceStatusResponseDto } from '../models';
|
|
120
106
|
// @ts-ignore
|
|
121
|
-
import type { SendWebhookTestEvent200Response } from '../models';
|
|
122
|
-
// @ts-ignore
|
|
123
107
|
import type { UpdateBid200Response } from '../models';
|
|
124
108
|
// @ts-ignore
|
|
125
109
|
import type { UpdateBidRequestDto } from '../models';
|
|
126
110
|
// @ts-ignore
|
|
127
|
-
import type { UpdateWebhookEndpointRequestDto } from '../models';
|
|
128
|
-
// @ts-ignore
|
|
129
111
|
import type { UploadFile201Response } from '../models';
|
|
130
112
|
// @ts-ignore
|
|
131
113
|
import type { UploadFileRequestDto } from '../models';
|
|
@@ -505,101 +487,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
505
487
|
options: localVarRequestOptions,
|
|
506
488
|
};
|
|
507
489
|
},
|
|
508
|
-
/**
|
|
509
|
-
* 수신 주소와 구독할 이벤트를 등록합니다. 연동 초기 1회 호출합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - **서명 시크릿은 이 응답에서 한 번만 나갑니다.** 서버는 해시만 보관하므로 조회로 다시 받을 수 없습니다. 잃어버렸다면 `POST /v2/webhook-endpoints/{endpointId}/rotate-secret`으로 재발급합니다. - 수신 주소가 바뀌면 새로 만들지 말고 `PATCH`로 고치세요. 시크릿과 전송 이력이 유지됩니다. - `url`은 HTTPS만 허용하고 `eventTypes`는 아래 목록 안의 값이어야 합니다. 어기면 400입니다. ### 서명 검증 **[Standard Webhooks](https://www.standardwebhooks.com)** 규약입니다. 직접 짜지 말고 각 언어의 `standardwebhooks` 라이브러리에 등록 시 받은 시크릿(`whsec_…`)을 그대로 넘기세요. ```ts import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); // 실패하면 예외 ``` 라이브러리를 쓸 수 없다면 헤더 셋으로 직접 검증합니다. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. 시크릿에서 `whsec_` 접두어를 떼고 base64 디코드한 바이트가 HMAC 키입니다. 2. `{webhook-id}.{webhook-timestamp}.{본문}`을 연결합니다. 본문은 **파싱 전 원문 바이트**여야 합니다. JSON을 다시 직렬화하면 키 순서·공백이 달라져 서명이 어긋납니다. 3. HMAC-SHA256을 base64로 인코딩해 `webhook-signature`의 `v1,` 뒤 값과 상수 시간 함수로 비교합니다. 4. `webhook-timestamp`가 5분 이상 지났으면 거절합니다. `webhook-signature`에는 서명이 여러 개 실릴 수 있으므로(키 회전용) 하나라도 맞으면 통과로 처리하세요. ### 중복 제거 `webhook-id`가 이벤트 식별자입니다. 재시도에도 같은 값이 오므로 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상이며 중복 제거는 수신측 책임입니다. `webhook-event-type` 헤더에 본문 `type`과 같은 값이 실려, 본문을 파싱하기 전에 거를 수 있습니다. ### 재시도와 자동 중지 2xx를 돌려주면 성공입니다. 그 외에는 최대 7회 재시도하며 간격은 10초 → 1분 → 5분 → 30분 → 2시간 → 6시간 → 24시간입니다. 처리가 길면 먼저 2xx를 돌려주고 비동기로 처리하세요. 연속 실패가 20회에 닿으면 구독이 `DISABLED`로 내려갑니다. 수신측을 고친 뒤 `PATCH /v2/webhook-endpoints/{endpointId}`에 `{\"status\":\"ACTIVE\"}`로 되살리세요. ### 이벤트 `bid.closed` · `bid.awarded` · `bid.failed` · `bid.canceled` · `bid.award_reverted` `ping`은 연결 확인 전용이라 구독할 수 없습니다. 놓친 이벤트는 `GET /v2/webhook-deliveries`로 조회해 메웁니다.
|
|
510
|
-
* @summary 웹훅 구독 등록
|
|
511
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
512
|
-
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
513
|
-
* @param {*} [options] Override http request option.
|
|
514
|
-
* @throws {RequiredError}
|
|
515
|
-
*/
|
|
516
|
-
createWebhookEndpoint: async (idempotencyKey: string, createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
517
|
-
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
518
|
-
assertParamExists('createWebhookEndpoint', 'idempotencyKey', idempotencyKey)
|
|
519
|
-
// verify required parameter 'createWebhookEndpointRequestDto' is not null or undefined
|
|
520
|
-
assertParamExists('createWebhookEndpoint', 'createWebhookEndpointRequestDto', createWebhookEndpointRequestDto)
|
|
521
|
-
const localVarPath = `/v2/webhook-endpoints`;
|
|
522
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
523
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
524
|
-
let baseOptions;
|
|
525
|
-
if (configuration) {
|
|
526
|
-
baseOptions = configuration.baseOptions;
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
530
|
-
const localVarHeaderParameter = {} as any;
|
|
531
|
-
const localVarQueryParameter = {} as any;
|
|
532
|
-
|
|
533
|
-
// authentication partner-oauth2 required
|
|
534
|
-
// oauth required
|
|
535
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["webhooks:write"], configuration)
|
|
536
|
-
|
|
537
|
-
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
538
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
539
|
-
|
|
540
|
-
if (idempotencyKey != null) {
|
|
541
|
-
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
542
|
-
}
|
|
543
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
544
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
545
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
546
|
-
localVarRequestOptions.data = serializeDataIfNeeded(createWebhookEndpointRequestDto, localVarRequestOptions, configuration)
|
|
547
|
-
|
|
548
|
-
return {
|
|
549
|
-
url: toPathString(localVarUrlObj),
|
|
550
|
-
options: localVarRequestOptions,
|
|
551
|
-
};
|
|
552
|
-
},
|
|
553
|
-
/**
|
|
554
|
-
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. 잠시만 멈추려면 `PATCH`로 `{\"status\":\"DISABLED\"}`를 보내세요. - `If-Match`가 필수입니다. 누락은 428, 그 사이 구독이 바뀌었으면 412입니다.
|
|
555
|
-
* @summary 웹훅 구독 삭제
|
|
556
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
557
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
558
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
559
|
-
* @param {*} [options] Override http request option.
|
|
560
|
-
* @throws {RequiredError}
|
|
561
|
-
*/
|
|
562
|
-
deleteWebhookEndpoint: async (endpointId: string, ifMatch: string, idempotencyKey: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
563
|
-
// verify required parameter 'endpointId' is not null or undefined
|
|
564
|
-
assertParamExists('deleteWebhookEndpoint', 'endpointId', endpointId)
|
|
565
|
-
// verify required parameter 'ifMatch' is not null or undefined
|
|
566
|
-
assertParamExists('deleteWebhookEndpoint', 'ifMatch', ifMatch)
|
|
567
|
-
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
568
|
-
assertParamExists('deleteWebhookEndpoint', 'idempotencyKey', idempotencyKey)
|
|
569
|
-
const localVarPath = `/v2/webhook-endpoints/{endpointId}`
|
|
570
|
-
.replace('{endpointId}', encodeURIComponent(String(endpointId)));
|
|
571
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
572
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
573
|
-
let baseOptions;
|
|
574
|
-
if (configuration) {
|
|
575
|
-
baseOptions = configuration.baseOptions;
|
|
576
|
-
}
|
|
577
|
-
|
|
578
|
-
const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
|
|
579
|
-
const localVarHeaderParameter = {} as any;
|
|
580
|
-
const localVarQueryParameter = {} as any;
|
|
581
|
-
|
|
582
|
-
// authentication partner-oauth2 required
|
|
583
|
-
// oauth required
|
|
584
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["webhooks:write"], configuration)
|
|
585
|
-
|
|
586
|
-
localVarHeaderParameter['Accept'] = 'application/problem+json';
|
|
587
|
-
|
|
588
|
-
if (ifMatch != null) {
|
|
589
|
-
localVarHeaderParameter['If-Match'] = String(ifMatch);
|
|
590
|
-
}
|
|
591
|
-
if (idempotencyKey != null) {
|
|
592
|
-
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
593
|
-
}
|
|
594
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
595
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
596
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
597
|
-
|
|
598
|
-
return {
|
|
599
|
-
url: toPathString(localVarUrlObj),
|
|
600
|
-
options: localVarRequestOptions,
|
|
601
|
-
};
|
|
602
|
-
},
|
|
603
490
|
/**
|
|
604
491
|
* 무인증 — `fileKey` 자체가 capability입니다(키를 아는 쪽이 곧 접근 권한을 가집니다). 파트너 응답의 `fileUrl`/`fullUrl`이 이 URL을 가리킵니다. 요청 시점에 서명하므로 URL을 저장해 두어도 만료되지 않습니다. 응답은 실제 저장소 URL로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 엔드포인트입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 공통 응답 형식을 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}`가 파일 메타와 `downloadUrl`을 v2 응답 규약으로 돌려줍니다. 이 안정 URL은 파트너 응답의 `fileUrl`/`fullUrl`이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
605
492
|
* @summary 파일 다운로드
|
|
@@ -764,48 +651,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
764
651
|
options: localVarRequestOptions,
|
|
765
652
|
};
|
|
766
653
|
},
|
|
767
|
-
/**
|
|
768
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey` 만 아는 경우, 예컨대 업로드 직후 크기를 확인할 때 씁니다. - 파일은 응답의 `downloadUrl` 로 받습니다. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. - MIME 타입은 싣지 않습니다. 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. - **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 영문 대소문자·숫자 32자이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. 스코프 `files:read`.
|
|
769
|
-
* @summary 파일 정보 조회
|
|
770
|
-
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
771
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
772
|
-
* @param {*} [options] Override http request option.
|
|
773
|
-
* @throws {RequiredError}
|
|
774
|
-
*/
|
|
775
|
-
getFileMeta: async (fileKey: string, ifNoneMatch?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
776
|
-
// verify required parameter 'fileKey' is not null or undefined
|
|
777
|
-
assertParamExists('getFileMeta', 'fileKey', fileKey)
|
|
778
|
-
const localVarPath = `/v2/files/{fileKey}`
|
|
779
|
-
.replace('{fileKey}', encodeURIComponent(String(fileKey)));
|
|
780
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
781
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
782
|
-
let baseOptions;
|
|
783
|
-
if (configuration) {
|
|
784
|
-
baseOptions = configuration.baseOptions;
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
|
788
|
-
const localVarHeaderParameter = {} as any;
|
|
789
|
-
const localVarQueryParameter = {} as any;
|
|
790
|
-
|
|
791
|
-
// authentication partner-oauth2 required
|
|
792
|
-
// oauth required
|
|
793
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["files:read"], configuration)
|
|
794
|
-
|
|
795
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
796
|
-
|
|
797
|
-
if (ifNoneMatch != null) {
|
|
798
|
-
localVarHeaderParameter['If-None-Match'] = String(ifNoneMatch);
|
|
799
|
-
}
|
|
800
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
801
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
802
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
803
|
-
|
|
804
|
-
return {
|
|
805
|
-
url: toPathString(localVarUrlObj),
|
|
806
|
-
options: localVarRequestOptions,
|
|
807
|
-
};
|
|
808
|
-
},
|
|
809
654
|
/**
|
|
810
655
|
* 중계 테이블에서 이 주문이 어디까지 갔는지 돌려줍니다. 스코프 `orders:read`. 구매요구번호 회신은 씨마켓이 외부 플랫폼에 통지하지만, 그 통지가 유실될 수 있어 되읽을 경로를 함께 둡니다. 방아쇠를 하나만 두면 그 하나가 실패한 날 주문이 영영 멈춥니다.
|
|
811
656
|
* @summary 몰 주문 중계 상태 조회
|
|
@@ -935,48 +780,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
935
780
|
options: localVarRequestOptions,
|
|
936
781
|
};
|
|
937
782
|
},
|
|
938
|
-
/**
|
|
939
|
-
* 구독 1건의 현재 상태를 조회합니다. 스코프 `webhooks:read`. 수정·삭제 전에 먼저 호출해 응답 헤더의 `ETag`를 `If-Match`에 실어야 합니다. 없는 구독이거나 다른 파트너 키의 구독이면 404입니다. 서명 시크릿은 실리지 않습니다.
|
|
940
|
-
* @summary 웹훅 구독 단건 조회
|
|
941
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
942
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
943
|
-
* @param {*} [options] Override http request option.
|
|
944
|
-
* @throws {RequiredError}
|
|
945
|
-
*/
|
|
946
|
-
getWebhookEndpoint: async (endpointId: string, ifNoneMatch?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
947
|
-
// verify required parameter 'endpointId' is not null or undefined
|
|
948
|
-
assertParamExists('getWebhookEndpoint', 'endpointId', endpointId)
|
|
949
|
-
const localVarPath = `/v2/webhook-endpoints/{endpointId}`
|
|
950
|
-
.replace('{endpointId}', encodeURIComponent(String(endpointId)));
|
|
951
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
952
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
953
|
-
let baseOptions;
|
|
954
|
-
if (configuration) {
|
|
955
|
-
baseOptions = configuration.baseOptions;
|
|
956
|
-
}
|
|
957
|
-
|
|
958
|
-
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
|
959
|
-
const localVarHeaderParameter = {} as any;
|
|
960
|
-
const localVarQueryParameter = {} as any;
|
|
961
|
-
|
|
962
|
-
// authentication partner-oauth2 required
|
|
963
|
-
// oauth required
|
|
964
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["webhooks:read"], configuration)
|
|
965
|
-
|
|
966
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
967
|
-
|
|
968
|
-
if (ifNoneMatch != null) {
|
|
969
|
-
localVarHeaderParameter['If-None-Match'] = String(ifNoneMatch);
|
|
970
|
-
}
|
|
971
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
972
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
973
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
974
|
-
|
|
975
|
-
return {
|
|
976
|
-
url: toPathString(localVarUrlObj),
|
|
977
|
-
options: localVarRequestOptions,
|
|
978
|
-
};
|
|
979
|
-
},
|
|
980
783
|
/**
|
|
981
784
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
982
785
|
* @summary Partner API 헬스체크
|
|
@@ -1220,102 +1023,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1220
1023
|
options: localVarRequestOptions,
|
|
1221
1024
|
};
|
|
1222
1025
|
},
|
|
1223
|
-
/**
|
|
1224
|
-
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문, 수신측 응답 상태, 다음 재시도 시각이 함께 실립니다. 스코프 `webhooks:read`. - 수신측 장애로 놓친 이벤트는 `status=EXHAUSTED`로 걸러 다시 처리합니다. 웹훅의 폴링 대체 경로입니다. - 재시도마다 한 행이며 `eventId`가 같고 `attempt`만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단합니다. - 페이지네이션: 응답 `nextCursor`를 다음 요청의 `cursor`로 보냅니다. `null`이면 마지막 페이지입니다.
|
|
1225
|
-
* @summary 웹훅 전송 이력 조회
|
|
1226
|
-
* @param {string} [endpointId] 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다.
|
|
1227
|
-
* @param {PartnerWebhookDeliveryStatus} [status] 전송 상태 필터. 미지정이면 전부.
|
|
1228
|
-
* @param {number} [limit] 페이지 크기(1~200, 기본 50).
|
|
1229
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지.
|
|
1230
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1231
|
-
* @param {*} [options] Override http request option.
|
|
1232
|
-
* @throws {RequiredError}
|
|
1233
|
-
*/
|
|
1234
|
-
listWebhookDeliveries: async (endpointId?: string, status?: PartnerWebhookDeliveryStatus, limit?: number, cursor?: string, ifNoneMatch?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1235
|
-
const localVarPath = `/v2/webhook-deliveries`;
|
|
1236
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1237
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1238
|
-
let baseOptions;
|
|
1239
|
-
if (configuration) {
|
|
1240
|
-
baseOptions = configuration.baseOptions;
|
|
1241
|
-
}
|
|
1242
|
-
|
|
1243
|
-
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
|
1244
|
-
const localVarHeaderParameter = {} as any;
|
|
1245
|
-
const localVarQueryParameter = {} as any;
|
|
1246
|
-
|
|
1247
|
-
// authentication partner-oauth2 required
|
|
1248
|
-
// oauth required
|
|
1249
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["webhooks:read"], configuration)
|
|
1250
|
-
|
|
1251
|
-
if (endpointId !== undefined) {
|
|
1252
|
-
localVarQueryParameter['endpointId'] = endpointId;
|
|
1253
|
-
}
|
|
1254
|
-
|
|
1255
|
-
if (status !== undefined) {
|
|
1256
|
-
localVarQueryParameter['status'] = status;
|
|
1257
|
-
}
|
|
1258
|
-
|
|
1259
|
-
if (limit !== undefined) {
|
|
1260
|
-
localVarQueryParameter['limit'] = limit;
|
|
1261
|
-
}
|
|
1262
|
-
|
|
1263
|
-
if (cursor !== undefined) {
|
|
1264
|
-
localVarQueryParameter['cursor'] = cursor;
|
|
1265
|
-
}
|
|
1266
|
-
|
|
1267
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
1268
|
-
|
|
1269
|
-
if (ifNoneMatch != null) {
|
|
1270
|
-
localVarHeaderParameter['If-None-Match'] = String(ifNoneMatch);
|
|
1271
|
-
}
|
|
1272
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1273
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1274
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
1275
|
-
|
|
1276
|
-
return {
|
|
1277
|
-
url: toPathString(localVarUrlObj),
|
|
1278
|
-
options: localVarRequestOptions,
|
|
1279
|
-
};
|
|
1280
|
-
},
|
|
1281
|
-
/**
|
|
1282
|
-
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다. 스코프 `webhooks:read`. 발송이 멈춘 이유는 `status`와 `consecutiveFailures`로 확인합니다. 서명 시크릿은 실리지 않습니다. 수신측 구현 방법은 `POST /v2/webhook-endpoints` 설명에 있습니다.
|
|
1283
|
-
* @summary 웹훅 구독 목록 조회
|
|
1284
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1285
|
-
* @param {*} [options] Override http request option.
|
|
1286
|
-
* @throws {RequiredError}
|
|
1287
|
-
*/
|
|
1288
|
-
listWebhookEndpoints: async (ifNoneMatch?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1289
|
-
const localVarPath = `/v2/webhook-endpoints`;
|
|
1290
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1291
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1292
|
-
let baseOptions;
|
|
1293
|
-
if (configuration) {
|
|
1294
|
-
baseOptions = configuration.baseOptions;
|
|
1295
|
-
}
|
|
1296
|
-
|
|
1297
|
-
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
|
1298
|
-
const localVarHeaderParameter = {} as any;
|
|
1299
|
-
const localVarQueryParameter = {} as any;
|
|
1300
|
-
|
|
1301
|
-
// authentication partner-oauth2 required
|
|
1302
|
-
// oauth required
|
|
1303
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["webhooks:read"], configuration)
|
|
1304
|
-
|
|
1305
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
1306
|
-
|
|
1307
|
-
if (ifNoneMatch != null) {
|
|
1308
|
-
localVarHeaderParameter['If-None-Match'] = String(ifNoneMatch);
|
|
1309
|
-
}
|
|
1310
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1311
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1312
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
1313
|
-
|
|
1314
|
-
return {
|
|
1315
|
-
url: toPathString(localVarUrlObj),
|
|
1316
|
-
options: localVarRequestOptions,
|
|
1317
|
-
};
|
|
1318
|
-
},
|
|
1319
1026
|
/**
|
|
1320
1027
|
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. 공고 상태가 유찰(`FAILED`)로 바뀌고 유찰사유가 기록됩니다. 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). | `failureReasonCode` | 의미 | | --- | --- | | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | | `OTHER` | 기타(`failureReasonDetail` 필수) |
|
|
1321
1028
|
* @summary 유찰 처리
|
|
@@ -1648,20 +1355,26 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1648
1355
|
};
|
|
1649
1356
|
},
|
|
1650
1357
|
/**
|
|
1651
|
-
*
|
|
1652
|
-
* @summary
|
|
1653
|
-
* @param {string}
|
|
1358
|
+
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
1359
|
+
* @summary 공고 수정
|
|
1360
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1361
|
+
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412로 거절되며 아무것도 수정되지 않습니다.
|
|
1654
1362
|
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1363
|
+
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
1655
1364
|
* @param {*} [options] Override http request option.
|
|
1656
1365
|
* @throws {RequiredError}
|
|
1657
1366
|
*/
|
|
1658
|
-
|
|
1659
|
-
// verify required parameter '
|
|
1660
|
-
assertParamExists('
|
|
1367
|
+
updateBid: async (bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1368
|
+
// verify required parameter 'bidRef' is not null or undefined
|
|
1369
|
+
assertParamExists('updateBid', 'bidRef', bidRef)
|
|
1370
|
+
// verify required parameter 'ifMatch' is not null or undefined
|
|
1371
|
+
assertParamExists('updateBid', 'ifMatch', ifMatch)
|
|
1661
1372
|
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
1662
|
-
assertParamExists('
|
|
1663
|
-
|
|
1664
|
-
|
|
1373
|
+
assertParamExists('updateBid', 'idempotencyKey', idempotencyKey)
|
|
1374
|
+
// verify required parameter 'updateBidRequestDto' is not null or undefined
|
|
1375
|
+
assertParamExists('updateBid', 'updateBidRequestDto', updateBidRequestDto)
|
|
1376
|
+
const localVarPath = `/v2/bids/{bidRef}`
|
|
1377
|
+
.replace('{bidRef}', encodeURIComponent(String(bidRef)));
|
|
1665
1378
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1666
1379
|
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1667
1380
|
let baseOptions;
|
|
@@ -1669,22 +1382,27 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1669
1382
|
baseOptions = configuration.baseOptions;
|
|
1670
1383
|
}
|
|
1671
1384
|
|
|
1672
|
-
const localVarRequestOptions = { method: '
|
|
1385
|
+
const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
|
|
1673
1386
|
const localVarHeaderParameter = {} as any;
|
|
1674
1387
|
const localVarQueryParameter = {} as any;
|
|
1675
1388
|
|
|
1676
1389
|
// authentication partner-oauth2 required
|
|
1677
1390
|
// oauth required
|
|
1678
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["
|
|
1391
|
+
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["bids:write"], configuration)
|
|
1679
1392
|
|
|
1393
|
+
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
1680
1394
|
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
1681
1395
|
|
|
1396
|
+
if (ifMatch != null) {
|
|
1397
|
+
localVarHeaderParameter['If-Match'] = String(ifMatch);
|
|
1398
|
+
}
|
|
1682
1399
|
if (idempotencyKey != null) {
|
|
1683
1400
|
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
1684
1401
|
}
|
|
1685
1402
|
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1686
1403
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1687
1404
|
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
1405
|
+
localVarRequestOptions.data = serializeDataIfNeeded(updateBidRequestDto, localVarRequestOptions, configuration)
|
|
1688
1406
|
|
|
1689
1407
|
return {
|
|
1690
1408
|
url: toPathString(localVarUrlObj),
|
|
@@ -1692,168 +1410,14 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1692
1410
|
};
|
|
1693
1411
|
},
|
|
1694
1412
|
/**
|
|
1695
|
-
*
|
|
1696
|
-
* @summary
|
|
1697
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
1413
|
+
* 공고 첨부파일을 올리고 `fileKey`를 받습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. `base64`와 `url` 중 하나만 보냅니다. 받은 `fileKey`는 공고 등록·수정의 `attachments`에 넣습니다. | 제출 방식 | 상한 | 호출 수 | | --- | --- | --- | | 이 호출 + `base64` | 23MB | 1 | | 이 호출 + `url` | 30MB | 1 | | `POST /v2/files/upload-url` 2단계 | 100MB | 2 + 스토리지 PUT | 한 공고에만 쓰는 파일이면 `POST /v2/bids`의 `attachments`에 `url`·`base64`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
1414
|
+
* @summary 공고 첨부파일 업로드 (기본)
|
|
1698
1415
|
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1416
|
+
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
1699
1417
|
* @param {*} [options] Override http request option.
|
|
1700
1418
|
* @throws {RequiredError}
|
|
1701
1419
|
*/
|
|
1702
|
-
|
|
1703
|
-
// verify required parameter 'endpointId' is not null or undefined
|
|
1704
|
-
assertParamExists('sendWebhookTestEvent', 'endpointId', endpointId)
|
|
1705
|
-
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
1706
|
-
assertParamExists('sendWebhookTestEvent', 'idempotencyKey', idempotencyKey)
|
|
1707
|
-
const localVarPath = `/v2/webhook-endpoints/{endpointId}/test`
|
|
1708
|
-
.replace('{endpointId}', encodeURIComponent(String(endpointId)));
|
|
1709
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1710
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1711
|
-
let baseOptions;
|
|
1712
|
-
if (configuration) {
|
|
1713
|
-
baseOptions = configuration.baseOptions;
|
|
1714
|
-
}
|
|
1715
|
-
|
|
1716
|
-
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
1717
|
-
const localVarHeaderParameter = {} as any;
|
|
1718
|
-
const localVarQueryParameter = {} as any;
|
|
1719
|
-
|
|
1720
|
-
// authentication partner-oauth2 required
|
|
1721
|
-
// oauth required
|
|
1722
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["webhooks:write"], configuration)
|
|
1723
|
-
|
|
1724
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
1725
|
-
|
|
1726
|
-
if (idempotencyKey != null) {
|
|
1727
|
-
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
1728
|
-
}
|
|
1729
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1730
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1731
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
1732
|
-
|
|
1733
|
-
return {
|
|
1734
|
-
url: toPathString(localVarUrlObj),
|
|
1735
|
-
options: localVarRequestOptions,
|
|
1736
|
-
};
|
|
1737
|
-
},
|
|
1738
|
-
/**
|
|
1739
|
-
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
1740
|
-
* @summary 공고 수정
|
|
1741
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1742
|
-
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412로 거절되며 아무것도 수정되지 않습니다.
|
|
1743
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1744
|
-
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
1745
|
-
* @param {*} [options] Override http request option.
|
|
1746
|
-
* @throws {RequiredError}
|
|
1747
|
-
*/
|
|
1748
|
-
updateBid: async (bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1749
|
-
// verify required parameter 'bidRef' is not null or undefined
|
|
1750
|
-
assertParamExists('updateBid', 'bidRef', bidRef)
|
|
1751
|
-
// verify required parameter 'ifMatch' is not null or undefined
|
|
1752
|
-
assertParamExists('updateBid', 'ifMatch', ifMatch)
|
|
1753
|
-
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
1754
|
-
assertParamExists('updateBid', 'idempotencyKey', idempotencyKey)
|
|
1755
|
-
// verify required parameter 'updateBidRequestDto' is not null or undefined
|
|
1756
|
-
assertParamExists('updateBid', 'updateBidRequestDto', updateBidRequestDto)
|
|
1757
|
-
const localVarPath = `/v2/bids/{bidRef}`
|
|
1758
|
-
.replace('{bidRef}', encodeURIComponent(String(bidRef)));
|
|
1759
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1760
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1761
|
-
let baseOptions;
|
|
1762
|
-
if (configuration) {
|
|
1763
|
-
baseOptions = configuration.baseOptions;
|
|
1764
|
-
}
|
|
1765
|
-
|
|
1766
|
-
const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
|
|
1767
|
-
const localVarHeaderParameter = {} as any;
|
|
1768
|
-
const localVarQueryParameter = {} as any;
|
|
1769
|
-
|
|
1770
|
-
// authentication partner-oauth2 required
|
|
1771
|
-
// oauth required
|
|
1772
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["bids:write"], configuration)
|
|
1773
|
-
|
|
1774
|
-
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
1775
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
1776
|
-
|
|
1777
|
-
if (ifMatch != null) {
|
|
1778
|
-
localVarHeaderParameter['If-Match'] = String(ifMatch);
|
|
1779
|
-
}
|
|
1780
|
-
if (idempotencyKey != null) {
|
|
1781
|
-
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
1782
|
-
}
|
|
1783
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1784
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1785
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
1786
|
-
localVarRequestOptions.data = serializeDataIfNeeded(updateBidRequestDto, localVarRequestOptions, configuration)
|
|
1787
|
-
|
|
1788
|
-
return {
|
|
1789
|
-
url: toPathString(localVarUrlObj),
|
|
1790
|
-
options: localVarRequestOptions,
|
|
1791
|
-
};
|
|
1792
|
-
},
|
|
1793
|
-
/**
|
|
1794
|
-
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - `eventTypes`는 치환입니다. 하나를 더하려면 기존 목록을 포함한 전체를 보냅니다. - `If-Match`가 필수입니다. `GET`으로 받은 `ETag`를 그대로 실으세요. 누락은 428, 그 사이 구독이 바뀌었으면 412이며 아무것도 수정되지 않습니다. - 연속 실패로 자동 중지된 구독은 `{\"status\":\"ACTIVE\"}`로 되살립니다. - 시크릿은 이 경로로 바뀌지 않습니다. 재발급은 `rotate-secret`입니다.
|
|
1795
|
-
* @summary 웹훅 구독 수정
|
|
1796
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
1797
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
1798
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1799
|
-
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
1800
|
-
* @param {*} [options] Override http request option.
|
|
1801
|
-
* @throws {RequiredError}
|
|
1802
|
-
*/
|
|
1803
|
-
updateWebhookEndpoint: async (endpointId: string, ifMatch: string, idempotencyKey: string, updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1804
|
-
// verify required parameter 'endpointId' is not null or undefined
|
|
1805
|
-
assertParamExists('updateWebhookEndpoint', 'endpointId', endpointId)
|
|
1806
|
-
// verify required parameter 'ifMatch' is not null or undefined
|
|
1807
|
-
assertParamExists('updateWebhookEndpoint', 'ifMatch', ifMatch)
|
|
1808
|
-
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
1809
|
-
assertParamExists('updateWebhookEndpoint', 'idempotencyKey', idempotencyKey)
|
|
1810
|
-
// verify required parameter 'updateWebhookEndpointRequestDto' is not null or undefined
|
|
1811
|
-
assertParamExists('updateWebhookEndpoint', 'updateWebhookEndpointRequestDto', updateWebhookEndpointRequestDto)
|
|
1812
|
-
const localVarPath = `/v2/webhook-endpoints/{endpointId}`
|
|
1813
|
-
.replace('{endpointId}', encodeURIComponent(String(endpointId)));
|
|
1814
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1815
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1816
|
-
let baseOptions;
|
|
1817
|
-
if (configuration) {
|
|
1818
|
-
baseOptions = configuration.baseOptions;
|
|
1819
|
-
}
|
|
1820
|
-
|
|
1821
|
-
const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
|
|
1822
|
-
const localVarHeaderParameter = {} as any;
|
|
1823
|
-
const localVarQueryParameter = {} as any;
|
|
1824
|
-
|
|
1825
|
-
// authentication partner-oauth2 required
|
|
1826
|
-
// oauth required
|
|
1827
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["webhooks:write"], configuration)
|
|
1828
|
-
|
|
1829
|
-
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
1830
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
1831
|
-
|
|
1832
|
-
if (ifMatch != null) {
|
|
1833
|
-
localVarHeaderParameter['If-Match'] = String(ifMatch);
|
|
1834
|
-
}
|
|
1835
|
-
if (idempotencyKey != null) {
|
|
1836
|
-
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
1837
|
-
}
|
|
1838
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1839
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1840
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
1841
|
-
localVarRequestOptions.data = serializeDataIfNeeded(updateWebhookEndpointRequestDto, localVarRequestOptions, configuration)
|
|
1842
|
-
|
|
1843
|
-
return {
|
|
1844
|
-
url: toPathString(localVarUrlObj),
|
|
1845
|
-
options: localVarRequestOptions,
|
|
1846
|
-
};
|
|
1847
|
-
},
|
|
1848
|
-
/**
|
|
1849
|
-
* 공고 첨부파일을 올리고 `fileKey`를 받습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. `base64`와 `url` 중 하나만 보냅니다. 받은 `fileKey`는 공고 등록·수정의 `attachments`에 넣습니다. | 제출 방식 | 상한 | 호출 수 | | --- | --- | --- | | 이 호출 + `base64` | 23MB | 1 | | 이 호출 + `url` | 30MB | 1 | | `POST /v2/files/upload-url` 2단계 | 100MB | 2 + 스토리지 PUT | 한 공고에만 쓰는 파일이면 `POST /v2/bids`의 `attachments`에 `url`·`base64`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
1850
|
-
* @summary 공고 첨부파일 업로드 (기본)
|
|
1851
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1852
|
-
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
1853
|
-
* @param {*} [options] Override http request option.
|
|
1854
|
-
* @throws {RequiredError}
|
|
1855
|
-
*/
|
|
1856
|
-
uploadFile: async (idempotencyKey: string, uploadFileRequestDto: UploadFileRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1420
|
+
uploadFile: async (idempotencyKey: string, uploadFileRequestDto: UploadFileRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1857
1421
|
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
1858
1422
|
assertParamExists('uploadFile', 'idempotencyKey', idempotencyKey)
|
|
1859
1423
|
// verify required parameter 'uploadFileRequestDto' is not null or undefined
|
|
@@ -2014,35 +1578,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2014
1578
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.createFileUploadUrl']?.[localVarOperationServerIndex]?.url;
|
|
2015
1579
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2016
1580
|
},
|
|
2017
|
-
/**
|
|
2018
|
-
* 수신 주소와 구독할 이벤트를 등록합니다. 연동 초기 1회 호출합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - **서명 시크릿은 이 응답에서 한 번만 나갑니다.** 서버는 해시만 보관하므로 조회로 다시 받을 수 없습니다. 잃어버렸다면 `POST /v2/webhook-endpoints/{endpointId}/rotate-secret`으로 재발급합니다. - 수신 주소가 바뀌면 새로 만들지 말고 `PATCH`로 고치세요. 시크릿과 전송 이력이 유지됩니다. - `url`은 HTTPS만 허용하고 `eventTypes`는 아래 목록 안의 값이어야 합니다. 어기면 400입니다. ### 서명 검증 **[Standard Webhooks](https://www.standardwebhooks.com)** 규약입니다. 직접 짜지 말고 각 언어의 `standardwebhooks` 라이브러리에 등록 시 받은 시크릿(`whsec_…`)을 그대로 넘기세요. ```ts import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); // 실패하면 예외 ``` 라이브러리를 쓸 수 없다면 헤더 셋으로 직접 검증합니다. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. 시크릿에서 `whsec_` 접두어를 떼고 base64 디코드한 바이트가 HMAC 키입니다. 2. `{webhook-id}.{webhook-timestamp}.{본문}`을 연결합니다. 본문은 **파싱 전 원문 바이트**여야 합니다. JSON을 다시 직렬화하면 키 순서·공백이 달라져 서명이 어긋납니다. 3. HMAC-SHA256을 base64로 인코딩해 `webhook-signature`의 `v1,` 뒤 값과 상수 시간 함수로 비교합니다. 4. `webhook-timestamp`가 5분 이상 지났으면 거절합니다. `webhook-signature`에는 서명이 여러 개 실릴 수 있으므로(키 회전용) 하나라도 맞으면 통과로 처리하세요. ### 중복 제거 `webhook-id`가 이벤트 식별자입니다. 재시도에도 같은 값이 오므로 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상이며 중복 제거는 수신측 책임입니다. `webhook-event-type` 헤더에 본문 `type`과 같은 값이 실려, 본문을 파싱하기 전에 거를 수 있습니다. ### 재시도와 자동 중지 2xx를 돌려주면 성공입니다. 그 외에는 최대 7회 재시도하며 간격은 10초 → 1분 → 5분 → 30분 → 2시간 → 6시간 → 24시간입니다. 처리가 길면 먼저 2xx를 돌려주고 비동기로 처리하세요. 연속 실패가 20회에 닿으면 구독이 `DISABLED`로 내려갑니다. 수신측을 고친 뒤 `PATCH /v2/webhook-endpoints/{endpointId}`에 `{\"status\":\"ACTIVE\"}`로 되살리세요. ### 이벤트 `bid.closed` · `bid.awarded` · `bid.failed` · `bid.canceled` · `bid.award_reverted` `ping`은 연결 확인 전용이라 구독할 수 없습니다. 놓친 이벤트는 `GET /v2/webhook-deliveries`로 조회해 메웁니다.
|
|
2019
|
-
* @summary 웹훅 구독 등록
|
|
2020
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2021
|
-
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
2022
|
-
* @param {*} [options] Override http request option.
|
|
2023
|
-
* @throws {RequiredError}
|
|
2024
|
-
*/
|
|
2025
|
-
async createWebhookEndpoint(idempotencyKey: string, createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateWebhookEndpoint201Response>> {
|
|
2026
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.createWebhookEndpoint(idempotencyKey, createWebhookEndpointRequestDto, options);
|
|
2027
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2028
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.createWebhookEndpoint']?.[localVarOperationServerIndex]?.url;
|
|
2029
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2030
|
-
},
|
|
2031
|
-
/**
|
|
2032
|
-
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. 잠시만 멈추려면 `PATCH`로 `{\"status\":\"DISABLED\"}`를 보내세요. - `If-Match`가 필수입니다. 누락은 428, 그 사이 구독이 바뀌었으면 412입니다.
|
|
2033
|
-
* @summary 웹훅 구독 삭제
|
|
2034
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2035
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
2036
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2037
|
-
* @param {*} [options] Override http request option.
|
|
2038
|
-
* @throws {RequiredError}
|
|
2039
|
-
*/
|
|
2040
|
-
async deleteWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
|
|
2041
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.deleteWebhookEndpoint(endpointId, ifMatch, idempotencyKey, options);
|
|
2042
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2043
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.deleteWebhookEndpoint']?.[localVarOperationServerIndex]?.url;
|
|
2044
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2045
|
-
},
|
|
2046
1581
|
/**
|
|
2047
1582
|
* 무인증 — `fileKey` 자체가 capability입니다(키를 아는 쪽이 곧 접근 권한을 가집니다). 파트너 응답의 `fileUrl`/`fullUrl`이 이 URL을 가리킵니다. 요청 시점에 서명하므로 URL을 저장해 두어도 만료되지 않습니다. 응답은 실제 저장소 URL로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 엔드포인트입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 공통 응답 형식을 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}`가 파일 메타와 `downloadUrl`을 v2 응답 규약으로 돌려줍니다. 이 안정 URL은 파트너 응답의 `fileUrl`/`fullUrl`이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
2048
1583
|
* @summary 파일 다운로드
|
|
@@ -2099,20 +1634,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2099
1634
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getBidStatement']?.[localVarOperationServerIndex]?.url;
|
|
2100
1635
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2101
1636
|
},
|
|
2102
|
-
/**
|
|
2103
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey` 만 아는 경우, 예컨대 업로드 직후 크기를 확인할 때 씁니다. - 파일은 응답의 `downloadUrl` 로 받습니다. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. - MIME 타입은 싣지 않습니다. 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. - **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 영문 대소문자·숫자 32자이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. 스코프 `files:read`.
|
|
2104
|
-
* @summary 파일 정보 조회
|
|
2105
|
-
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
2106
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2107
|
-
* @param {*} [options] Override http request option.
|
|
2108
|
-
* @throws {RequiredError}
|
|
2109
|
-
*/
|
|
2110
|
-
async getFileMeta(fileKey: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetFileMeta200Response>> {
|
|
2111
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.getFileMeta(fileKey, ifNoneMatch, options);
|
|
2112
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2113
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getFileMeta']?.[localVarOperationServerIndex]?.url;
|
|
2114
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2115
|
-
},
|
|
2116
1637
|
/**
|
|
2117
1638
|
* 중계 테이블에서 이 주문이 어디까지 갔는지 돌려줍니다. 스코프 `orders:read`. 구매요구번호 회신은 씨마켓이 외부 플랫폼에 통지하지만, 그 통지가 유실될 수 있어 되읽을 경로를 함께 둡니다. 방아쇠를 하나만 두면 그 하나가 실패한 날 주문이 영영 멈춥니다.
|
|
2118
1639
|
* @summary 몰 주문 중계 상태 조회
|
|
@@ -2155,20 +1676,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2155
1676
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getSupplierCardPayableV2']?.[localVarOperationServerIndex]?.url;
|
|
2156
1677
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2157
1678
|
},
|
|
2158
|
-
/**
|
|
2159
|
-
* 구독 1건의 현재 상태를 조회합니다. 스코프 `webhooks:read`. 수정·삭제 전에 먼저 호출해 응답 헤더의 `ETag`를 `If-Match`에 실어야 합니다. 없는 구독이거나 다른 파트너 키의 구독이면 404입니다. 서명 시크릿은 실리지 않습니다.
|
|
2160
|
-
* @summary 웹훅 구독 단건 조회
|
|
2161
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2162
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2163
|
-
* @param {*} [options] Override http request option.
|
|
2164
|
-
* @throws {RequiredError}
|
|
2165
|
-
*/
|
|
2166
|
-
async getWebhookEndpoint(endpointId: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetWebhookEndpoint200Response>> {
|
|
2167
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.getWebhookEndpoint(endpointId, ifNoneMatch, options);
|
|
2168
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2169
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getWebhookEndpoint']?.[localVarOperationServerIndex]?.url;
|
|
2170
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2171
|
-
},
|
|
2172
1679
|
/**
|
|
2173
1680
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
2174
1681
|
* @summary Partner API 헬스체크
|
|
@@ -2244,36 +1751,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2244
1751
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.listSuppliers']?.[localVarOperationServerIndex]?.url;
|
|
2245
1752
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2246
1753
|
},
|
|
2247
|
-
/**
|
|
2248
|
-
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문, 수신측 응답 상태, 다음 재시도 시각이 함께 실립니다. 스코프 `webhooks:read`. - 수신측 장애로 놓친 이벤트는 `status=EXHAUSTED`로 걸러 다시 처리합니다. 웹훅의 폴링 대체 경로입니다. - 재시도마다 한 행이며 `eventId`가 같고 `attempt`만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단합니다. - 페이지네이션: 응답 `nextCursor`를 다음 요청의 `cursor`로 보냅니다. `null`이면 마지막 페이지입니다.
|
|
2249
|
-
* @summary 웹훅 전송 이력 조회
|
|
2250
|
-
* @param {string} [endpointId] 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다.
|
|
2251
|
-
* @param {PartnerWebhookDeliveryStatus} [status] 전송 상태 필터. 미지정이면 전부.
|
|
2252
|
-
* @param {number} [limit] 페이지 크기(1~200, 기본 50).
|
|
2253
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지.
|
|
2254
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2255
|
-
* @param {*} [options] Override http request option.
|
|
2256
|
-
* @throws {RequiredError}
|
|
2257
|
-
*/
|
|
2258
|
-
async listWebhookDeliveries(endpointId?: string, status?: PartnerWebhookDeliveryStatus, limit?: number, cursor?: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListWebhookDeliveries200Response>> {
|
|
2259
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.listWebhookDeliveries(endpointId, status, limit, cursor, ifNoneMatch, options);
|
|
2260
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2261
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.listWebhookDeliveries']?.[localVarOperationServerIndex]?.url;
|
|
2262
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2263
|
-
},
|
|
2264
|
-
/**
|
|
2265
|
-
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다. 스코프 `webhooks:read`. 발송이 멈춘 이유는 `status`와 `consecutiveFailures`로 확인합니다. 서명 시크릿은 실리지 않습니다. 수신측 구현 방법은 `POST /v2/webhook-endpoints` 설명에 있습니다.
|
|
2266
|
-
* @summary 웹훅 구독 목록 조회
|
|
2267
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2268
|
-
* @param {*} [options] Override http request option.
|
|
2269
|
-
* @throws {RequiredError}
|
|
2270
|
-
*/
|
|
2271
|
-
async listWebhookEndpoints(ifNoneMatch?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListWebhookEndpoints200Response>> {
|
|
2272
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.listWebhookEndpoints(ifNoneMatch, options);
|
|
2273
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2274
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.listWebhookEndpoints']?.[localVarOperationServerIndex]?.url;
|
|
2275
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2276
|
-
},
|
|
2277
1754
|
/**
|
|
2278
1755
|
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. 공고 상태가 유찰(`FAILED`)로 바뀌고 유찰사유가 기록됩니다. 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). | `failureReasonCode` | 의미 | | --- | --- | | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | | `OTHER` | 기타(`failureReasonDetail` 필수) |
|
|
2279
1756
|
* @summary 유찰 처리
|
|
@@ -2376,34 +1853,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2376
1853
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.revertAward']?.[localVarOperationServerIndex]?.url;
|
|
2377
1854
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2378
1855
|
},
|
|
2379
|
-
/**
|
|
2380
|
-
* 서명 시크릿을 새로 발급합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 새 시크릿은 이 응답에서 한 번만 나가고 `secretVersion`이 1 올라갑니다. - **옛 시크릿은 즉시 무효입니다.** 유예가 없으므로 순서를 지키세요 — ① 수신측이 옛 값과 새 값을 모두 받아들이도록 배포 → ② 이 호출 → ③ 새 값 반영 → ④ 옛 값 제거. - 같은 `Idempotency-Key`로 다시 부르면 새로 발급하지 않고 처음 발급한 값을 돌려줍니다(24시간).
|
|
2381
|
-
* @summary 웹훅 서명 시크릿 재발급
|
|
2382
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2383
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2384
|
-
* @param {*} [options] Override http request option.
|
|
2385
|
-
* @throws {RequiredError}
|
|
2386
|
-
*/
|
|
2387
|
-
async rotateWebhookSecret(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateWebhookEndpoint201Response>> {
|
|
2388
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.rotateWebhookSecret(endpointId, idempotencyKey, options);
|
|
2389
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2390
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.rotateWebhookSecret']?.[localVarOperationServerIndex]?.url;
|
|
2391
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2392
|
-
},
|
|
2393
|
-
/**
|
|
2394
|
-
* 등록된 주소로 `ping` 이벤트를 1회 보내고 결과를 돌려줍니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 수신측이 받지 못해도 응답은 200이고 `delivered: false`입니다. 원인은 `responseStatus`와 `error`로 좁힙니다. - 실제 이벤트와 같은 서명 헤더가 실리므로 검증 코드를 그대로 시험할 수 있습니다. - 다시 보내려면 새 `Idempotency-Key`를 쓰세요. 같은 키는 24시간 동안 직전 결과를 돌려줍니다.
|
|
2395
|
-
* @summary 웹훅 연결 확인 발송
|
|
2396
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2397
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2398
|
-
* @param {*} [options] Override http request option.
|
|
2399
|
-
* @throws {RequiredError}
|
|
2400
|
-
*/
|
|
2401
|
-
async sendWebhookTestEvent(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SendWebhookTestEvent200Response>> {
|
|
2402
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.sendWebhookTestEvent(endpointId, idempotencyKey, options);
|
|
2403
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2404
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.sendWebhookTestEvent']?.[localVarOperationServerIndex]?.url;
|
|
2405
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2406
|
-
},
|
|
2407
1856
|
/**
|
|
2408
1857
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
2409
1858
|
* @summary 공고 수정
|
|
@@ -2420,22 +1869,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2420
1869
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.updateBid']?.[localVarOperationServerIndex]?.url;
|
|
2421
1870
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2422
1871
|
},
|
|
2423
|
-
/**
|
|
2424
|
-
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - `eventTypes`는 치환입니다. 하나를 더하려면 기존 목록을 포함한 전체를 보냅니다. - `If-Match`가 필수입니다. `GET`으로 받은 `ETag`를 그대로 실으세요. 누락은 428, 그 사이 구독이 바뀌었으면 412이며 아무것도 수정되지 않습니다. - 연속 실패로 자동 중지된 구독은 `{\"status\":\"ACTIVE\"}`로 되살립니다. - 시크릿은 이 경로로 바뀌지 않습니다. 재발급은 `rotate-secret`입니다.
|
|
2425
|
-
* @summary 웹훅 구독 수정
|
|
2426
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2427
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
2428
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2429
|
-
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
2430
|
-
* @param {*} [options] Override http request option.
|
|
2431
|
-
* @throws {RequiredError}
|
|
2432
|
-
*/
|
|
2433
|
-
async updateWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetWebhookEndpoint200Response>> {
|
|
2434
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.updateWebhookEndpoint(endpointId, ifMatch, idempotencyKey, updateWebhookEndpointRequestDto, options);
|
|
2435
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2436
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.updateWebhookEndpoint']?.[localVarOperationServerIndex]?.url;
|
|
2437
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2438
|
-
},
|
|
2439
1872
|
/**
|
|
2440
1873
|
* 공고 첨부파일을 올리고 `fileKey`를 받습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. `base64`와 `url` 중 하나만 보냅니다. 받은 `fileKey`는 공고 등록·수정의 `attachments`에 넣습니다. | 제출 방식 | 상한 | 호출 수 | | --- | --- | --- | | 이 호출 + `base64` | 23MB | 1 | | 이 호출 + `url` | 30MB | 1 | | `POST /v2/files/upload-url` 2단계 | 100MB | 2 + 스토리지 PUT | 한 공고에만 쓰는 파일이면 `POST /v2/bids`의 `attachments`에 `url`·`base64`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
2441
1874
|
* @summary 공고 첨부파일 업로드 (기본)
|
|
@@ -2550,29 +1983,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2550
1983
|
createFileUploadUrl(idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CreateFileUploadUrl201Response> {
|
|
2551
1984
|
return localVarFp.createFileUploadUrl(idempotencyKey, createUploadUrlRequestDto, options).then((request) => request(axios, basePath));
|
|
2552
1985
|
},
|
|
2553
|
-
/**
|
|
2554
|
-
* 수신 주소와 구독할 이벤트를 등록합니다. 연동 초기 1회 호출합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - **서명 시크릿은 이 응답에서 한 번만 나갑니다.** 서버는 해시만 보관하므로 조회로 다시 받을 수 없습니다. 잃어버렸다면 `POST /v2/webhook-endpoints/{endpointId}/rotate-secret`으로 재발급합니다. - 수신 주소가 바뀌면 새로 만들지 말고 `PATCH`로 고치세요. 시크릿과 전송 이력이 유지됩니다. - `url`은 HTTPS만 허용하고 `eventTypes`는 아래 목록 안의 값이어야 합니다. 어기면 400입니다. ### 서명 검증 **[Standard Webhooks](https://www.standardwebhooks.com)** 규약입니다. 직접 짜지 말고 각 언어의 `standardwebhooks` 라이브러리에 등록 시 받은 시크릿(`whsec_…`)을 그대로 넘기세요. ```ts import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); // 실패하면 예외 ``` 라이브러리를 쓸 수 없다면 헤더 셋으로 직접 검증합니다. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. 시크릿에서 `whsec_` 접두어를 떼고 base64 디코드한 바이트가 HMAC 키입니다. 2. `{webhook-id}.{webhook-timestamp}.{본문}`을 연결합니다. 본문은 **파싱 전 원문 바이트**여야 합니다. JSON을 다시 직렬화하면 키 순서·공백이 달라져 서명이 어긋납니다. 3. HMAC-SHA256을 base64로 인코딩해 `webhook-signature`의 `v1,` 뒤 값과 상수 시간 함수로 비교합니다. 4. `webhook-timestamp`가 5분 이상 지났으면 거절합니다. `webhook-signature`에는 서명이 여러 개 실릴 수 있으므로(키 회전용) 하나라도 맞으면 통과로 처리하세요. ### 중복 제거 `webhook-id`가 이벤트 식별자입니다. 재시도에도 같은 값이 오므로 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상이며 중복 제거는 수신측 책임입니다. `webhook-event-type` 헤더에 본문 `type`과 같은 값이 실려, 본문을 파싱하기 전에 거를 수 있습니다. ### 재시도와 자동 중지 2xx를 돌려주면 성공입니다. 그 외에는 최대 7회 재시도하며 간격은 10초 → 1분 → 5분 → 30분 → 2시간 → 6시간 → 24시간입니다. 처리가 길면 먼저 2xx를 돌려주고 비동기로 처리하세요. 연속 실패가 20회에 닿으면 구독이 `DISABLED`로 내려갑니다. 수신측을 고친 뒤 `PATCH /v2/webhook-endpoints/{endpointId}`에 `{\"status\":\"ACTIVE\"}`로 되살리세요. ### 이벤트 `bid.closed` · `bid.awarded` · `bid.failed` · `bid.canceled` · `bid.award_reverted` `ping`은 연결 확인 전용이라 구독할 수 없습니다. 놓친 이벤트는 `GET /v2/webhook-deliveries`로 조회해 메웁니다.
|
|
2555
|
-
* @summary 웹훅 구독 등록
|
|
2556
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2557
|
-
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
2558
|
-
* @param {*} [options] Override http request option.
|
|
2559
|
-
* @throws {RequiredError}
|
|
2560
|
-
*/
|
|
2561
|
-
createWebhookEndpoint(idempotencyKey: string, createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CreateWebhookEndpoint201Response> {
|
|
2562
|
-
return localVarFp.createWebhookEndpoint(idempotencyKey, createWebhookEndpointRequestDto, options).then((request) => request(axios, basePath));
|
|
2563
|
-
},
|
|
2564
|
-
/**
|
|
2565
|
-
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. 잠시만 멈추려면 `PATCH`로 `{\"status\":\"DISABLED\"}`를 보내세요. - `If-Match`가 필수입니다. 누락은 428, 그 사이 구독이 바뀌었으면 412입니다.
|
|
2566
|
-
* @summary 웹훅 구독 삭제
|
|
2567
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2568
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
2569
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2570
|
-
* @param {*} [options] Override http request option.
|
|
2571
|
-
* @throws {RequiredError}
|
|
2572
|
-
*/
|
|
2573
|
-
deleteWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, options?: RawAxiosRequestConfig): AxiosPromise<void> {
|
|
2574
|
-
return localVarFp.deleteWebhookEndpoint(endpointId, ifMatch, idempotencyKey, options).then((request) => request(axios, basePath));
|
|
2575
|
-
},
|
|
2576
1986
|
/**
|
|
2577
1987
|
* 무인증 — `fileKey` 자체가 capability입니다(키를 아는 쪽이 곧 접근 권한을 가집니다). 파트너 응답의 `fileUrl`/`fullUrl`이 이 URL을 가리킵니다. 요청 시점에 서명하므로 URL을 저장해 두어도 만료되지 않습니다. 응답은 실제 저장소 URL로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 엔드포인트입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 공통 응답 형식을 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}`가 파일 메타와 `downloadUrl`을 v2 응답 규약으로 돌려줍니다. 이 안정 URL은 파트너 응답의 `fileUrl`/`fullUrl`이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
2578
1988
|
* @summary 파일 다운로드
|
|
@@ -2617,17 +2027,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2617
2027
|
getBidStatement(bidRef: string, paperCode?: number, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<GetBidStatement200Response> {
|
|
2618
2028
|
return localVarFp.getBidStatement(bidRef, paperCode, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2619
2029
|
},
|
|
2620
|
-
/**
|
|
2621
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey` 만 아는 경우, 예컨대 업로드 직후 크기를 확인할 때 씁니다. - 파일은 응답의 `downloadUrl` 로 받습니다. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. - MIME 타입은 싣지 않습니다. 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. - **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 영문 대소문자·숫자 32자이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. 스코프 `files:read`.
|
|
2622
|
-
* @summary 파일 정보 조회
|
|
2623
|
-
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
2624
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2625
|
-
* @param {*} [options] Override http request option.
|
|
2626
|
-
* @throws {RequiredError}
|
|
2627
|
-
*/
|
|
2628
|
-
getFileMeta(fileKey: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<GetFileMeta200Response> {
|
|
2629
|
-
return localVarFp.getFileMeta(fileKey, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2630
|
-
},
|
|
2631
2030
|
/**
|
|
2632
2031
|
* 중계 테이블에서 이 주문이 어디까지 갔는지 돌려줍니다. 스코프 `orders:read`. 구매요구번호 회신은 씨마켓이 외부 플랫폼에 통지하지만, 그 통지가 유실될 수 있어 되읽을 경로를 함께 둡니다. 방아쇠를 하나만 두면 그 하나가 실패한 날 주문이 영영 멈춥니다.
|
|
2633
2032
|
* @summary 몰 주문 중계 상태 조회
|
|
@@ -2661,17 +2060,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2661
2060
|
getSupplierCardPayableV2(memberId: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<GetSupplierCardPayableV2200Response> {
|
|
2662
2061
|
return localVarFp.getSupplierCardPayableV2(memberId, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2663
2062
|
},
|
|
2664
|
-
/**
|
|
2665
|
-
* 구독 1건의 현재 상태를 조회합니다. 스코프 `webhooks:read`. 수정·삭제 전에 먼저 호출해 응답 헤더의 `ETag`를 `If-Match`에 실어야 합니다. 없는 구독이거나 다른 파트너 키의 구독이면 404입니다. 서명 시크릿은 실리지 않습니다.
|
|
2666
|
-
* @summary 웹훅 구독 단건 조회
|
|
2667
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2668
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2669
|
-
* @param {*} [options] Override http request option.
|
|
2670
|
-
* @throws {RequiredError}
|
|
2671
|
-
*/
|
|
2672
|
-
getWebhookEndpoint(endpointId: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<GetWebhookEndpoint200Response> {
|
|
2673
|
-
return localVarFp.getWebhookEndpoint(endpointId, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2674
|
-
},
|
|
2675
2063
|
/**
|
|
2676
2064
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
2677
2065
|
* @summary Partner API 헬스체크
|
|
@@ -2732,30 +2120,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2732
2120
|
listSuppliers(keyword?: string, cursor?: string, limit?: number, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<ListSuppliers200Response> {
|
|
2733
2121
|
return localVarFp.listSuppliers(keyword, cursor, limit, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2734
2122
|
},
|
|
2735
|
-
/**
|
|
2736
|
-
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문, 수신측 응답 상태, 다음 재시도 시각이 함께 실립니다. 스코프 `webhooks:read`. - 수신측 장애로 놓친 이벤트는 `status=EXHAUSTED`로 걸러 다시 처리합니다. 웹훅의 폴링 대체 경로입니다. - 재시도마다 한 행이며 `eventId`가 같고 `attempt`만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단합니다. - 페이지네이션: 응답 `nextCursor`를 다음 요청의 `cursor`로 보냅니다. `null`이면 마지막 페이지입니다.
|
|
2737
|
-
* @summary 웹훅 전송 이력 조회
|
|
2738
|
-
* @param {string} [endpointId] 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다.
|
|
2739
|
-
* @param {PartnerWebhookDeliveryStatus} [status] 전송 상태 필터. 미지정이면 전부.
|
|
2740
|
-
* @param {number} [limit] 페이지 크기(1~200, 기본 50).
|
|
2741
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지.
|
|
2742
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2743
|
-
* @param {*} [options] Override http request option.
|
|
2744
|
-
* @throws {RequiredError}
|
|
2745
|
-
*/
|
|
2746
|
-
listWebhookDeliveries(endpointId?: string, status?: PartnerWebhookDeliveryStatus, limit?: number, cursor?: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<ListWebhookDeliveries200Response> {
|
|
2747
|
-
return localVarFp.listWebhookDeliveries(endpointId, status, limit, cursor, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2748
|
-
},
|
|
2749
|
-
/**
|
|
2750
|
-
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다. 스코프 `webhooks:read`. 발송이 멈춘 이유는 `status`와 `consecutiveFailures`로 확인합니다. 서명 시크릿은 실리지 않습니다. 수신측 구현 방법은 `POST /v2/webhook-endpoints` 설명에 있습니다.
|
|
2751
|
-
* @summary 웹훅 구독 목록 조회
|
|
2752
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2753
|
-
* @param {*} [options] Override http request option.
|
|
2754
|
-
* @throws {RequiredError}
|
|
2755
|
-
*/
|
|
2756
|
-
listWebhookEndpoints(ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<ListWebhookEndpoints200Response> {
|
|
2757
|
-
return localVarFp.listWebhookEndpoints(ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2758
|
-
},
|
|
2759
2123
|
/**
|
|
2760
2124
|
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. 공고 상태가 유찰(`FAILED`)로 바뀌고 유찰사유가 기록됩니다. 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). | `failureReasonCode` | 의미 | | --- | --- | | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | | `OTHER` | 기타(`failureReasonDetail` 필수) |
|
|
2761
2125
|
* @summary 유찰 처리
|
|
@@ -2837,28 +2201,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2837
2201
|
revertAward(bidRef: string, idempotencyKey: string, revertAwardRequestDto: RevertAwardRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<RevertAward200Response> {
|
|
2838
2202
|
return localVarFp.revertAward(bidRef, idempotencyKey, revertAwardRequestDto, options).then((request) => request(axios, basePath));
|
|
2839
2203
|
},
|
|
2840
|
-
/**
|
|
2841
|
-
* 서명 시크릿을 새로 발급합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 새 시크릿은 이 응답에서 한 번만 나가고 `secretVersion`이 1 올라갑니다. - **옛 시크릿은 즉시 무효입니다.** 유예가 없으므로 순서를 지키세요 — ① 수신측이 옛 값과 새 값을 모두 받아들이도록 배포 → ② 이 호출 → ③ 새 값 반영 → ④ 옛 값 제거. - 같은 `Idempotency-Key`로 다시 부르면 새로 발급하지 않고 처음 발급한 값을 돌려줍니다(24시간).
|
|
2842
|
-
* @summary 웹훅 서명 시크릿 재발급
|
|
2843
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2844
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2845
|
-
* @param {*} [options] Override http request option.
|
|
2846
|
-
* @throws {RequiredError}
|
|
2847
|
-
*/
|
|
2848
|
-
rotateWebhookSecret(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): AxiosPromise<CreateWebhookEndpoint201Response> {
|
|
2849
|
-
return localVarFp.rotateWebhookSecret(endpointId, idempotencyKey, options).then((request) => request(axios, basePath));
|
|
2850
|
-
},
|
|
2851
|
-
/**
|
|
2852
|
-
* 등록된 주소로 `ping` 이벤트를 1회 보내고 결과를 돌려줍니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 수신측이 받지 못해도 응답은 200이고 `delivered: false`입니다. 원인은 `responseStatus`와 `error`로 좁힙니다. - 실제 이벤트와 같은 서명 헤더가 실리므로 검증 코드를 그대로 시험할 수 있습니다. - 다시 보내려면 새 `Idempotency-Key`를 쓰세요. 같은 키는 24시간 동안 직전 결과를 돌려줍니다.
|
|
2853
|
-
* @summary 웹훅 연결 확인 발송
|
|
2854
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2855
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2856
|
-
* @param {*} [options] Override http request option.
|
|
2857
|
-
* @throws {RequiredError}
|
|
2858
|
-
*/
|
|
2859
|
-
sendWebhookTestEvent(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): AxiosPromise<SendWebhookTestEvent200Response> {
|
|
2860
|
-
return localVarFp.sendWebhookTestEvent(endpointId, idempotencyKey, options).then((request) => request(axios, basePath));
|
|
2861
|
-
},
|
|
2862
2204
|
/**
|
|
2863
2205
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
2864
2206
|
* @summary 공고 수정
|
|
@@ -2872,19 +2214,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2872
2214
|
updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UpdateBid200Response> {
|
|
2873
2215
|
return localVarFp.updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options).then((request) => request(axios, basePath));
|
|
2874
2216
|
},
|
|
2875
|
-
/**
|
|
2876
|
-
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - `eventTypes`는 치환입니다. 하나를 더하려면 기존 목록을 포함한 전체를 보냅니다. - `If-Match`가 필수입니다. `GET`으로 받은 `ETag`를 그대로 실으세요. 누락은 428, 그 사이 구독이 바뀌었으면 412이며 아무것도 수정되지 않습니다. - 연속 실패로 자동 중지된 구독은 `{\"status\":\"ACTIVE\"}`로 되살립니다. - 시크릿은 이 경로로 바뀌지 않습니다. 재발급은 `rotate-secret`입니다.
|
|
2877
|
-
* @summary 웹훅 구독 수정
|
|
2878
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2879
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
2880
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2881
|
-
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
2882
|
-
* @param {*} [options] Override http request option.
|
|
2883
|
-
* @throws {RequiredError}
|
|
2884
|
-
*/
|
|
2885
|
-
updateWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<GetWebhookEndpoint200Response> {
|
|
2886
|
-
return localVarFp.updateWebhookEndpoint(endpointId, ifMatch, idempotencyKey, updateWebhookEndpointRequestDto, options).then((request) => request(axios, basePath));
|
|
2887
|
-
},
|
|
2888
2217
|
/**
|
|
2889
2218
|
* 공고 첨부파일을 올리고 `fileKey`를 받습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. `base64`와 `url` 중 하나만 보냅니다. 받은 `fileKey`는 공고 등록·수정의 `attachments`에 넣습니다. | 제출 방식 | 상한 | 호출 수 | | --- | --- | --- | | 이 호출 + `base64` | 23MB | 1 | | 이 호출 + `url` | 30MB | 1 | | `POST /v2/files/upload-url` 2단계 | 100MB | 2 + 스토리지 PUT | 한 공고에만 쓰는 파일이면 `POST /v2/bids`의 `attachments`에 `url`·`base64`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
2890
2219
|
* @summary 공고 첨부파일 업로드 (기본)
|
|
@@ -3002,31 +2331,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3002
2331
|
return PartnerApiApiFp(this.configuration).createFileUploadUrl(idempotencyKey, createUploadUrlRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3003
2332
|
}
|
|
3004
2333
|
|
|
3005
|
-
/**
|
|
3006
|
-
* 수신 주소와 구독할 이벤트를 등록합니다. 연동 초기 1회 호출합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - **서명 시크릿은 이 응답에서 한 번만 나갑니다.** 서버는 해시만 보관하므로 조회로 다시 받을 수 없습니다. 잃어버렸다면 `POST /v2/webhook-endpoints/{endpointId}/rotate-secret`으로 재발급합니다. - 수신 주소가 바뀌면 새로 만들지 말고 `PATCH`로 고치세요. 시크릿과 전송 이력이 유지됩니다. - `url`은 HTTPS만 허용하고 `eventTypes`는 아래 목록 안의 값이어야 합니다. 어기면 400입니다. ### 서명 검증 **[Standard Webhooks](https://www.standardwebhooks.com)** 규약입니다. 직접 짜지 말고 각 언어의 `standardwebhooks` 라이브러리에 등록 시 받은 시크릿(`whsec_…`)을 그대로 넘기세요. ```ts import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); // 실패하면 예외 ``` 라이브러리를 쓸 수 없다면 헤더 셋으로 직접 검증합니다. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. 시크릿에서 `whsec_` 접두어를 떼고 base64 디코드한 바이트가 HMAC 키입니다. 2. `{webhook-id}.{webhook-timestamp}.{본문}`을 연결합니다. 본문은 **파싱 전 원문 바이트**여야 합니다. JSON을 다시 직렬화하면 키 순서·공백이 달라져 서명이 어긋납니다. 3. HMAC-SHA256을 base64로 인코딩해 `webhook-signature`의 `v1,` 뒤 값과 상수 시간 함수로 비교합니다. 4. `webhook-timestamp`가 5분 이상 지났으면 거절합니다. `webhook-signature`에는 서명이 여러 개 실릴 수 있으므로(키 회전용) 하나라도 맞으면 통과로 처리하세요. ### 중복 제거 `webhook-id`가 이벤트 식별자입니다. 재시도에도 같은 값이 오므로 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상이며 중복 제거는 수신측 책임입니다. `webhook-event-type` 헤더에 본문 `type`과 같은 값이 실려, 본문을 파싱하기 전에 거를 수 있습니다. ### 재시도와 자동 중지 2xx를 돌려주면 성공입니다. 그 외에는 최대 7회 재시도하며 간격은 10초 → 1분 → 5분 → 30분 → 2시간 → 6시간 → 24시간입니다. 처리가 길면 먼저 2xx를 돌려주고 비동기로 처리하세요. 연속 실패가 20회에 닿으면 구독이 `DISABLED`로 내려갑니다. 수신측을 고친 뒤 `PATCH /v2/webhook-endpoints/{endpointId}`에 `{\"status\":\"ACTIVE\"}`로 되살리세요. ### 이벤트 `bid.closed` · `bid.awarded` · `bid.failed` · `bid.canceled` · `bid.award_reverted` `ping`은 연결 확인 전용이라 구독할 수 없습니다. 놓친 이벤트는 `GET /v2/webhook-deliveries`로 조회해 메웁니다.
|
|
3007
|
-
* @summary 웹훅 구독 등록
|
|
3008
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3009
|
-
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
3010
|
-
* @param {*} [options] Override http request option.
|
|
3011
|
-
* @throws {RequiredError}
|
|
3012
|
-
*/
|
|
3013
|
-
public createWebhookEndpoint(idempotencyKey: string, createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig) {
|
|
3014
|
-
return PartnerApiApiFp(this.configuration).createWebhookEndpoint(idempotencyKey, createWebhookEndpointRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3015
|
-
}
|
|
3016
|
-
|
|
3017
|
-
/**
|
|
3018
|
-
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. 잠시만 멈추려면 `PATCH`로 `{\"status\":\"DISABLED\"}`를 보내세요. - `If-Match`가 필수입니다. 누락은 428, 그 사이 구독이 바뀌었으면 412입니다.
|
|
3019
|
-
* @summary 웹훅 구독 삭제
|
|
3020
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
3021
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
3022
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3023
|
-
* @param {*} [options] Override http request option.
|
|
3024
|
-
* @throws {RequiredError}
|
|
3025
|
-
*/
|
|
3026
|
-
public deleteWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, options?: RawAxiosRequestConfig) {
|
|
3027
|
-
return PartnerApiApiFp(this.configuration).deleteWebhookEndpoint(endpointId, ifMatch, idempotencyKey, options).then((request) => request(this.axios, this.basePath));
|
|
3028
|
-
}
|
|
3029
|
-
|
|
3030
2334
|
/**
|
|
3031
2335
|
* 무인증 — `fileKey` 자체가 capability입니다(키를 아는 쪽이 곧 접근 권한을 가집니다). 파트너 응답의 `fileUrl`/`fullUrl`이 이 URL을 가리킵니다. 요청 시점에 서명하므로 URL을 저장해 두어도 만료되지 않습니다. 응답은 실제 저장소 URL로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 엔드포인트입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 공통 응답 형식을 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}`가 파일 메타와 `downloadUrl`을 v2 응답 규약으로 돌려줍니다. 이 안정 URL은 파트너 응답의 `fileUrl`/`fullUrl`이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
3032
2336
|
* @summary 파일 다운로드
|
|
@@ -3075,18 +2379,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3075
2379
|
return PartnerApiApiFp(this.configuration).getBidStatement(bidRef, paperCode, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3076
2380
|
}
|
|
3077
2381
|
|
|
3078
|
-
/**
|
|
3079
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey` 만 아는 경우, 예컨대 업로드 직후 크기를 확인할 때 씁니다. - 파일은 응답의 `downloadUrl` 로 받습니다. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. - MIME 타입은 싣지 않습니다. 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. - **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 영문 대소문자·숫자 32자이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. 스코프 `files:read`.
|
|
3080
|
-
* @summary 파일 정보 조회
|
|
3081
|
-
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
3082
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
3083
|
-
* @param {*} [options] Override http request option.
|
|
3084
|
-
* @throws {RequiredError}
|
|
3085
|
-
*/
|
|
3086
|
-
public getFileMeta(fileKey: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig) {
|
|
3087
|
-
return PartnerApiApiFp(this.configuration).getFileMeta(fileKey, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3088
|
-
}
|
|
3089
|
-
|
|
3090
2382
|
/**
|
|
3091
2383
|
* 중계 테이블에서 이 주문이 어디까지 갔는지 돌려줍니다. 스코프 `orders:read`. 구매요구번호 회신은 씨마켓이 외부 플랫폼에 통지하지만, 그 통지가 유실될 수 있어 되읽을 경로를 함께 둡니다. 방아쇠를 하나만 두면 그 하나가 실패한 날 주문이 영영 멈춥니다.
|
|
3092
2384
|
* @summary 몰 주문 중계 상태 조회
|
|
@@ -3123,18 +2415,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3123
2415
|
return PartnerApiApiFp(this.configuration).getSupplierCardPayableV2(memberId, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3124
2416
|
}
|
|
3125
2417
|
|
|
3126
|
-
/**
|
|
3127
|
-
* 구독 1건의 현재 상태를 조회합니다. 스코프 `webhooks:read`. 수정·삭제 전에 먼저 호출해 응답 헤더의 `ETag`를 `If-Match`에 실어야 합니다. 없는 구독이거나 다른 파트너 키의 구독이면 404입니다. 서명 시크릿은 실리지 않습니다.
|
|
3128
|
-
* @summary 웹훅 구독 단건 조회
|
|
3129
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
3130
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
3131
|
-
* @param {*} [options] Override http request option.
|
|
3132
|
-
* @throws {RequiredError}
|
|
3133
|
-
*/
|
|
3134
|
-
public getWebhookEndpoint(endpointId: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig) {
|
|
3135
|
-
return PartnerApiApiFp(this.configuration).getWebhookEndpoint(endpointId, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3136
|
-
}
|
|
3137
|
-
|
|
3138
2418
|
/**
|
|
3139
2419
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
3140
2420
|
* @summary Partner API 헬스체크
|
|
@@ -3200,32 +2480,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3200
2480
|
return PartnerApiApiFp(this.configuration).listSuppliers(keyword, cursor, limit, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3201
2481
|
}
|
|
3202
2482
|
|
|
3203
|
-
/**
|
|
3204
|
-
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문, 수신측 응답 상태, 다음 재시도 시각이 함께 실립니다. 스코프 `webhooks:read`. - 수신측 장애로 놓친 이벤트는 `status=EXHAUSTED`로 걸러 다시 처리합니다. 웹훅의 폴링 대체 경로입니다. - 재시도마다 한 행이며 `eventId`가 같고 `attempt`만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단합니다. - 페이지네이션: 응답 `nextCursor`를 다음 요청의 `cursor`로 보냅니다. `null`이면 마지막 페이지입니다.
|
|
3205
|
-
* @summary 웹훅 전송 이력 조회
|
|
3206
|
-
* @param {string} [endpointId] 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다.
|
|
3207
|
-
* @param {PartnerWebhookDeliveryStatus} [status] 전송 상태 필터. 미지정이면 전부.
|
|
3208
|
-
* @param {number} [limit] 페이지 크기(1~200, 기본 50).
|
|
3209
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지.
|
|
3210
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
3211
|
-
* @param {*} [options] Override http request option.
|
|
3212
|
-
* @throws {RequiredError}
|
|
3213
|
-
*/
|
|
3214
|
-
public listWebhookDeliveries(endpointId?: string, status?: PartnerWebhookDeliveryStatus, limit?: number, cursor?: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig) {
|
|
3215
|
-
return PartnerApiApiFp(this.configuration).listWebhookDeliveries(endpointId, status, limit, cursor, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3216
|
-
}
|
|
3217
|
-
|
|
3218
|
-
/**
|
|
3219
|
-
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다. 스코프 `webhooks:read`. 발송이 멈춘 이유는 `status`와 `consecutiveFailures`로 확인합니다. 서명 시크릿은 실리지 않습니다. 수신측 구현 방법은 `POST /v2/webhook-endpoints` 설명에 있습니다.
|
|
3220
|
-
* @summary 웹훅 구독 목록 조회
|
|
3221
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
3222
|
-
* @param {*} [options] Override http request option.
|
|
3223
|
-
* @throws {RequiredError}
|
|
3224
|
-
*/
|
|
3225
|
-
public listWebhookEndpoints(ifNoneMatch?: string, options?: RawAxiosRequestConfig) {
|
|
3226
|
-
return PartnerApiApiFp(this.configuration).listWebhookEndpoints(ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3227
|
-
}
|
|
3228
|
-
|
|
3229
2483
|
/**
|
|
3230
2484
|
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. 공고 상태가 유찰(`FAILED`)로 바뀌고 유찰사유가 기록됩니다. 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). | `failureReasonCode` | 의미 | | --- | --- | | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | | `OTHER` | 기타(`failureReasonDetail` 필수) |
|
|
3231
2485
|
* @summary 유찰 처리
|
|
@@ -3314,30 +2568,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3314
2568
|
return PartnerApiApiFp(this.configuration).revertAward(bidRef, idempotencyKey, revertAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3315
2569
|
}
|
|
3316
2570
|
|
|
3317
|
-
/**
|
|
3318
|
-
* 서명 시크릿을 새로 발급합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 새 시크릿은 이 응답에서 한 번만 나가고 `secretVersion`이 1 올라갑니다. - **옛 시크릿은 즉시 무효입니다.** 유예가 없으므로 순서를 지키세요 — ① 수신측이 옛 값과 새 값을 모두 받아들이도록 배포 → ② 이 호출 → ③ 새 값 반영 → ④ 옛 값 제거. - 같은 `Idempotency-Key`로 다시 부르면 새로 발급하지 않고 처음 발급한 값을 돌려줍니다(24시간).
|
|
3319
|
-
* @summary 웹훅 서명 시크릿 재발급
|
|
3320
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
3321
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3322
|
-
* @param {*} [options] Override http request option.
|
|
3323
|
-
* @throws {RequiredError}
|
|
3324
|
-
*/
|
|
3325
|
-
public rotateWebhookSecret(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig) {
|
|
3326
|
-
return PartnerApiApiFp(this.configuration).rotateWebhookSecret(endpointId, idempotencyKey, options).then((request) => request(this.axios, this.basePath));
|
|
3327
|
-
}
|
|
3328
|
-
|
|
3329
|
-
/**
|
|
3330
|
-
* 등록된 주소로 `ping` 이벤트를 1회 보내고 결과를 돌려줍니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 수신측이 받지 못해도 응답은 200이고 `delivered: false`입니다. 원인은 `responseStatus`와 `error`로 좁힙니다. - 실제 이벤트와 같은 서명 헤더가 실리므로 검증 코드를 그대로 시험할 수 있습니다. - 다시 보내려면 새 `Idempotency-Key`를 쓰세요. 같은 키는 24시간 동안 직전 결과를 돌려줍니다.
|
|
3331
|
-
* @summary 웹훅 연결 확인 발송
|
|
3332
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
3333
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3334
|
-
* @param {*} [options] Override http request option.
|
|
3335
|
-
* @throws {RequiredError}
|
|
3336
|
-
*/
|
|
3337
|
-
public sendWebhookTestEvent(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig) {
|
|
3338
|
-
return PartnerApiApiFp(this.configuration).sendWebhookTestEvent(endpointId, idempotencyKey, options).then((request) => request(this.axios, this.basePath));
|
|
3339
|
-
}
|
|
3340
|
-
|
|
3341
2571
|
/**
|
|
3342
2572
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
3343
2573
|
* @summary 공고 수정
|
|
@@ -3352,20 +2582,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3352
2582
|
return PartnerApiApiFp(this.configuration).updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3353
2583
|
}
|
|
3354
2584
|
|
|
3355
|
-
/**
|
|
3356
|
-
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - `eventTypes`는 치환입니다. 하나를 더하려면 기존 목록을 포함한 전체를 보냅니다. - `If-Match`가 필수입니다. `GET`으로 받은 `ETag`를 그대로 실으세요. 누락은 428, 그 사이 구독이 바뀌었으면 412이며 아무것도 수정되지 않습니다. - 연속 실패로 자동 중지된 구독은 `{\"status\":\"ACTIVE\"}`로 되살립니다. - 시크릿은 이 경로로 바뀌지 않습니다. 재발급은 `rotate-secret`입니다.
|
|
3357
|
-
* @summary 웹훅 구독 수정
|
|
3358
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
3359
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
3360
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3361
|
-
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
3362
|
-
* @param {*} [options] Override http request option.
|
|
3363
|
-
* @throws {RequiredError}
|
|
3364
|
-
*/
|
|
3365
|
-
public updateWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig) {
|
|
3366
|
-
return PartnerApiApiFp(this.configuration).updateWebhookEndpoint(endpointId, ifMatch, idempotencyKey, updateWebhookEndpointRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3367
|
-
}
|
|
3368
|
-
|
|
3369
2585
|
/**
|
|
3370
2586
|
* 공고 첨부파일을 올리고 `fileKey`를 받습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. `base64`와 `url` 중 하나만 보냅니다. 받은 `fileKey`는 공고 등록·수정의 `attachments`에 넣습니다. | 제출 방식 | 상한 | 호출 수 | | --- | --- | --- | | 이 호출 + `base64` | 23MB | 1 | | 이 호출 + `url` | 30MB | 1 | | `POST /v2/files/upload-url` 2단계 | 100MB | 2 + 스토리지 PUT | 한 공고에만 쓰는 파일이면 `POST /v2/bids`의 `attachments`에 `url`·`base64`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
3371
2587
|
* @summary 공고 첨부파일 업로드 (기본)
|