@cmarket/partner-sdk 46.0.0 → 48.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 -58
- package/api/embed-api.ts +1 -1
- package/api/oauth-api.ts +1 -1
- package/api/partner-api-api.ts +5 -1052
- 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 -471
- package/dist/api/partner-api-api.js +14 -992
- 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 -471
- package/dist/esm/api/partner-api-api.js +14 -992
- 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 -1
- 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/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-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 -37
- package/dist/esm/models/index.js +0 -37
- package/dist/esm/models/introspect-request-dto.d.ts +1 -1
- package/dist/esm/models/introspect-request-dto.js +1 -1
- 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/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/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 -1
- package/dist/esm/models/revoke-request-dto.js +1 -1
- 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 -1
- package/dist/esm/models/token-request-dto.js +1 -1
- 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 -1
- 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/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-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 -37
- package/dist/models/index.js +0 -37
- package/dist/models/introspect-request-dto.d.ts +1 -1
- package/dist/models/introspect-request-dto.js +1 -1
- 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/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/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 -1
- package/dist/models/revoke-request-dto.js +1 -1
- 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 -1
- package/dist/models/token-request-dto.js +1 -1
- 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/PartnerApiApi.md +85 -879
- 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 -1
- 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/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-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 -37
- package/models/introspect-request-dto.ts +1 -1
- 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/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/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 -1
- 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 -1
- 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/cancel-kcl-mro-order-request-dto.d.ts +0 -15
- package/dist/esm/models/cancel-kcl-mro-order-request-dto.js +0 -14
- package/dist/esm/models/cancel-kcl-mro-order-response-dto.d.ts +0 -17
- package/dist/esm/models/cancel-kcl-mro-order-response-dto.js +0 -14
- package/dist/esm/models/cancel-kcl-mro-order200-response.d.ts +0 -15
- package/dist/esm/models/cancel-kcl-mro-order200-response.js +0 -14
- 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-kcl-mro-order-status200-response.d.ts +0 -15
- package/dist/esm/models/get-kcl-mro-order-status200-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/kcl-mro-order-item-dto.d.ts +0 -44
- package/dist/esm/models/kcl-mro-order-item-dto.js +0 -22
- package/dist/esm/models/kcl-mro-order-status-response-dto.d.ts +0 -34
- package/dist/esm/models/kcl-mro-order-status-response-dto.js +0 -14
- package/dist/esm/models/kcl-mro-quote-result-dto.d.ts +0 -33
- package/dist/esm/models/kcl-mro-quote-result-dto.js +0 -14
- package/dist/esm/models/kcl-mro-ship-to-dto.d.ts +0 -24
- package/dist/esm/models/kcl-mro-ship-to-dto.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/relay-kcl-mro-order-request-dto.d.ts +0 -35
- package/dist/esm/models/relay-kcl-mro-order-request-dto.js +0 -14
- package/dist/esm/models/relay-kcl-mro-order-response-dto.d.ts +0 -26
- package/dist/esm/models/relay-kcl-mro-order-response-dto.js +0 -14
- package/dist/esm/models/relay-kcl-mro-order200-response.d.ts +0 -15
- package/dist/esm/models/relay-kcl-mro-order200-response.js +0 -14
- 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/cancel-kcl-mro-order-request-dto.d.ts +0 -15
- package/dist/models/cancel-kcl-mro-order-request-dto.js +0 -15
- package/dist/models/cancel-kcl-mro-order-response-dto.d.ts +0 -17
- package/dist/models/cancel-kcl-mro-order-response-dto.js +0 -15
- package/dist/models/cancel-kcl-mro-order200-response.d.ts +0 -15
- package/dist/models/cancel-kcl-mro-order200-response.js +0 -15
- 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-kcl-mro-order-status200-response.d.ts +0 -15
- package/dist/models/get-kcl-mro-order-status200-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/kcl-mro-order-item-dto.d.ts +0 -44
- package/dist/models/kcl-mro-order-item-dto.js +0 -25
- package/dist/models/kcl-mro-order-status-response-dto.d.ts +0 -34
- package/dist/models/kcl-mro-order-status-response-dto.js +0 -15
- package/dist/models/kcl-mro-quote-result-dto.d.ts +0 -33
- package/dist/models/kcl-mro-quote-result-dto.js +0 -15
- package/dist/models/kcl-mro-ship-to-dto.d.ts +0 -24
- package/dist/models/kcl-mro-ship-to-dto.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/relay-kcl-mro-order-request-dto.d.ts +0 -35
- package/dist/models/relay-kcl-mro-order-request-dto.js +0 -15
- package/dist/models/relay-kcl-mro-order-response-dto.d.ts +0 -26
- package/dist/models/relay-kcl-mro-order-response-dto.js +0 -15
- package/dist/models/relay-kcl-mro-order200-response.d.ts +0 -15
- package/dist/models/relay-kcl-mro-order200-response.js +0 -15
- 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/CancelKclMroOrder200Response.md +0 -20
- package/docs/CancelKclMroOrderRequestDto.md +0 -22
- package/docs/CancelKclMroOrderResponseDto.md +0 -20
- 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/GetKclMroOrderStatus200Response.md +0 -20
- package/docs/GetWebhookEndpoint200Response.md +0 -20
- package/docs/KclMroOrderItemDto.md +0 -34
- package/docs/KclMroOrderStatusResponseDto.md +0 -30
- package/docs/KclMroQuoteResultDto.md +0 -28
- package/docs/KclMroShipToDto.md +0 -28
- 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/RelayKclMroOrder200Response.md +0 -20
- package/docs/RelayKclMroOrderRequestDto.md +0 -32
- package/docs/RelayKclMroOrderResponseDto.md +0 -26
- 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/cancel-kcl-mro-order-request-dto.ts +0 -21
- package/models/cancel-kcl-mro-order-response-dto.ts +0 -23
- package/models/cancel-kcl-mro-order200-response.ts +0 -23
- 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-kcl-mro-order-status200-response.ts +0 -23
- package/models/get-webhook-endpoint200-response.ts +0 -23
- package/models/kcl-mro-order-item-dto.ts +0 -54
- package/models/kcl-mro-order-status-response-dto.ts +0 -40
- package/models/kcl-mro-quote-result-dto.ts +0 -39
- package/models/kcl-mro-ship-to-dto.ts +0 -30
- 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/relay-kcl-mro-order-request-dto.ts +0 -47
- package/models/relay-kcl-mro-order-response-dto.ts +0 -32
- package/models/relay-kcl-mro-order200-response.ts +0 -23
- 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: 48.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).
|
|
@@ -28,10 +28,6 @@ import type { CancelBid200Response } from '../models';
|
|
|
28
28
|
// @ts-ignore
|
|
29
29
|
import type { CancelBidRequestDto } from '../models';
|
|
30
30
|
// @ts-ignore
|
|
31
|
-
import type { CancelKclMroOrder200Response } from '../models';
|
|
32
|
-
// @ts-ignore
|
|
33
|
-
import type { CancelKclMroOrderRequestDto } from '../models';
|
|
34
|
-
// @ts-ignore
|
|
35
31
|
import type { CompleteAcceptance200Response } from '../models';
|
|
36
32
|
// @ts-ignore
|
|
37
33
|
import type { CompleteAcceptanceRequestDto } from '../models';
|
|
@@ -54,10 +50,6 @@ import type { CreateFileUploadUrl201Response } from '../models';
|
|
|
54
50
|
// @ts-ignore
|
|
55
51
|
import type { CreateUploadUrlRequestDto } from '../models';
|
|
56
52
|
// @ts-ignore
|
|
57
|
-
import type { CreateWebhookEndpoint201Response } from '../models';
|
|
58
|
-
// @ts-ignore
|
|
59
|
-
import type { CreateWebhookEndpointRequestDto } from '../models';
|
|
60
|
-
// @ts-ignore
|
|
61
53
|
import type { ExternalContractDocumentsResponseDto } from '../models';
|
|
62
54
|
// @ts-ignore
|
|
63
55
|
import type { GetBid200Response } from '../models';
|
|
@@ -66,14 +58,8 @@ import type { GetBidSettlement200Response } from '../models';
|
|
|
66
58
|
// @ts-ignore
|
|
67
59
|
import type { GetBidStatement200Response } from '../models';
|
|
68
60
|
// @ts-ignore
|
|
69
|
-
import type { GetFileMeta200Response } from '../models';
|
|
70
|
-
// @ts-ignore
|
|
71
|
-
import type { GetKclMroOrderStatus200Response } from '../models';
|
|
72
|
-
// @ts-ignore
|
|
73
61
|
import type { GetSupplierCardPayableV2200Response } from '../models';
|
|
74
62
|
// @ts-ignore
|
|
75
|
-
import type { GetWebhookEndpoint200Response } from '../models';
|
|
76
|
-
// @ts-ignore
|
|
77
63
|
import type { HealthControllerCheck200Response } from '../models';
|
|
78
64
|
// @ts-ignore
|
|
79
65
|
import type { ListBidResults200Response } from '../models';
|
|
@@ -82,16 +68,10 @@ import type { ListBids200Response } from '../models';
|
|
|
82
68
|
// @ts-ignore
|
|
83
69
|
import type { ListSuppliers200Response } from '../models';
|
|
84
70
|
// @ts-ignore
|
|
85
|
-
import type { ListWebhookDeliveries200Response } from '../models';
|
|
86
|
-
// @ts-ignore
|
|
87
|
-
import type { ListWebhookEndpoints200Response } from '../models';
|
|
88
|
-
// @ts-ignore
|
|
89
71
|
import type { MarkBidFailed201Response } from '../models';
|
|
90
72
|
// @ts-ignore
|
|
91
73
|
import type { MarkBidFailedRequestDto } from '../models';
|
|
92
74
|
// @ts-ignore
|
|
93
|
-
import type { PartnerWebhookDeliveryStatus } from '../models';
|
|
94
|
-
// @ts-ignore
|
|
95
75
|
import type { ProblemDetailsDto } from '../models';
|
|
96
76
|
// @ts-ignore
|
|
97
77
|
import type { RegisterAward201Response } from '../models';
|
|
@@ -102,10 +82,6 @@ import type { RegisterBid201Response } from '../models';
|
|
|
102
82
|
// @ts-ignore
|
|
103
83
|
import type { RegisterSemoContractRequestDto } from '../models';
|
|
104
84
|
// @ts-ignore
|
|
105
|
-
import type { RelayKclMroOrder200Response } from '../models';
|
|
106
|
-
// @ts-ignore
|
|
107
|
-
import type { RelayKclMroOrderRequestDto } from '../models';
|
|
108
|
-
// @ts-ignore
|
|
109
85
|
import type { RequestInvoiceSplit200Response } from '../models';
|
|
110
86
|
// @ts-ignore
|
|
111
87
|
import type { RequestInvoiceSplitRequestDto } from '../models';
|
|
@@ -118,14 +94,10 @@ import type { SemoContractRegisteredResponseDto } from '../models';
|
|
|
118
94
|
// @ts-ignore
|
|
119
95
|
import type { SemoContractTaxinvoiceStatusResponseDto } from '../models';
|
|
120
96
|
// @ts-ignore
|
|
121
|
-
import type { SendWebhookTestEvent200Response } from '../models';
|
|
122
|
-
// @ts-ignore
|
|
123
97
|
import type { UpdateBid200Response } from '../models';
|
|
124
98
|
// @ts-ignore
|
|
125
99
|
import type { UpdateBidRequestDto } from '../models';
|
|
126
100
|
// @ts-ignore
|
|
127
|
-
import type { UpdateWebhookEndpointRequestDto } from '../models';
|
|
128
|
-
// @ts-ignore
|
|
129
101
|
import type { UploadFile201Response } from '../models';
|
|
130
102
|
// @ts-ignore
|
|
131
103
|
import type { UploadFileRequestDto } from '../models';
|
|
@@ -183,51 +155,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
183
155
|
options: localVarRequestOptions,
|
|
184
156
|
};
|
|
185
157
|
},
|
|
186
|
-
/**
|
|
187
|
-
* 적재된 주문을 취소로 표시합니다. 스코프 `orders:write`. **구매요구번호가 이미 채번된 주문은 취소되지 않습니다**(`canceled=false`). 그때는 기관 ERP 안에서 결재가 진행 중이라, 중계 테이블만 지우면 양쪽 장부가 어긋납니다.
|
|
188
|
-
* @summary 몰 주문 취소 표시
|
|
189
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
190
|
-
* @param {CancelKclMroOrderRequestDto} cancelKclMroOrderRequestDto
|
|
191
|
-
* @param {*} [options] Override http request option.
|
|
192
|
-
* @throws {RequiredError}
|
|
193
|
-
*/
|
|
194
|
-
cancelKclMroOrder: async (idempotencyKey: string, cancelKclMroOrderRequestDto: CancelKclMroOrderRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
195
|
-
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
196
|
-
assertParamExists('cancelKclMroOrder', 'idempotencyKey', idempotencyKey)
|
|
197
|
-
// verify required parameter 'cancelKclMroOrderRequestDto' is not null or undefined
|
|
198
|
-
assertParamExists('cancelKclMroOrder', 'cancelKclMroOrderRequestDto', cancelKclMroOrderRequestDto)
|
|
199
|
-
const localVarPath = `/v2/kcl-mro-orders/cancel`;
|
|
200
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
201
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
202
|
-
let baseOptions;
|
|
203
|
-
if (configuration) {
|
|
204
|
-
baseOptions = configuration.baseOptions;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
208
|
-
const localVarHeaderParameter = {} as any;
|
|
209
|
-
const localVarQueryParameter = {} as any;
|
|
210
|
-
|
|
211
|
-
// authentication partner-oauth2 required
|
|
212
|
-
// oauth required
|
|
213
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["orders:write"], configuration)
|
|
214
|
-
|
|
215
|
-
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
216
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
217
|
-
|
|
218
|
-
if (idempotencyKey != null) {
|
|
219
|
-
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
220
|
-
}
|
|
221
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
222
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
223
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
224
|
-
localVarRequestOptions.data = serializeDataIfNeeded(cancelKclMroOrderRequestDto, localVarRequestOptions, configuration)
|
|
225
|
-
|
|
226
|
-
return {
|
|
227
|
-
url: toPathString(localVarUrlObj),
|
|
228
|
-
options: localVarRequestOptions,
|
|
229
|
-
};
|
|
230
|
-
},
|
|
231
158
|
/**
|
|
232
159
|
* 납품 검수 완료를 기록합니다. 낙찰 처리된 공고에서 호출합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 현금 결제 공고는 세금계산서 발행요청이 등록되고 낙찰자에게 알림·문자가 나갑니다. 카드 결제 공고는 발행요청이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 협의로 계약금액이 줄었으면 `supplyAmount`와 `vat`를 함께 보냅니다. 현금 결제·낙찰자 1인·감액일 때만 허용하며 어긋나면 409입니다. 생략하면 낙찰금액에서 파생합니다. - 문서에 찍히는 구매사 사업자정보·담당자·작성일자와 낙찰자는 등록된 값에서 채워지며 요청으로 바꿀 수 없습니다. 공급사에게 계산서를 받으면 `POST /v2/bids/{bidRef}/settlement/complete`로 계약을 닫습니다.
|
|
233
160
|
* @summary 검수완료 전송
|
|
@@ -505,101 +432,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
505
432
|
options: localVarRequestOptions,
|
|
506
433
|
};
|
|
507
434
|
},
|
|
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
435
|
/**
|
|
604
436
|
* 무인증 — `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
437
|
* @summary 파일 다운로드
|
|
@@ -764,97 +596,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
764
596
|
options: localVarRequestOptions,
|
|
765
597
|
};
|
|
766
598
|
},
|
|
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
|
-
/**
|
|
810
|
-
* 중계 테이블에서 이 주문이 어디까지 갔는지 돌려줍니다. 스코프 `orders:read`. 구매요구번호 회신은 씨마켓이 외부 플랫폼에 통지하지만, 그 통지가 유실될 수 있어 되읽을 경로를 함께 둡니다. 방아쇠를 하나만 두면 그 하나가 실패한 날 주문이 영영 멈춥니다.
|
|
811
|
-
* @summary 몰 주문 중계 상태 조회
|
|
812
|
-
* @param {string} orderNo 조회할 몰 주문의 구매번호입니다.
|
|
813
|
-
* @param {string} buyerMemberId 발주기관 회원 ID
|
|
814
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
815
|
-
* @param {*} [options] Override http request option.
|
|
816
|
-
* @throws {RequiredError}
|
|
817
|
-
*/
|
|
818
|
-
getKclMroOrderStatus: async (orderNo: string, buyerMemberId: string, ifNoneMatch?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
819
|
-
// verify required parameter 'orderNo' is not null or undefined
|
|
820
|
-
assertParamExists('getKclMroOrderStatus', 'orderNo', orderNo)
|
|
821
|
-
// verify required parameter 'buyerMemberId' is not null or undefined
|
|
822
|
-
assertParamExists('getKclMroOrderStatus', 'buyerMemberId', buyerMemberId)
|
|
823
|
-
const localVarPath = `/v2/kcl-mro-orders/{orderNo}`
|
|
824
|
-
.replace('{orderNo}', encodeURIComponent(String(orderNo)));
|
|
825
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
826
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
827
|
-
let baseOptions;
|
|
828
|
-
if (configuration) {
|
|
829
|
-
baseOptions = configuration.baseOptions;
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
|
|
833
|
-
const localVarHeaderParameter = {} as any;
|
|
834
|
-
const localVarQueryParameter = {} as any;
|
|
835
|
-
|
|
836
|
-
// authentication partner-oauth2 required
|
|
837
|
-
// oauth required
|
|
838
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["orders:read"], configuration)
|
|
839
|
-
|
|
840
|
-
if (buyerMemberId !== undefined) {
|
|
841
|
-
localVarQueryParameter['buyerMemberId'] = buyerMemberId;
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
845
|
-
|
|
846
|
-
if (ifNoneMatch != null) {
|
|
847
|
-
localVarHeaderParameter['If-None-Match'] = String(ifNoneMatch);
|
|
848
|
-
}
|
|
849
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
850
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
851
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
852
|
-
|
|
853
|
-
return {
|
|
854
|
-
url: toPathString(localVarUrlObj),
|
|
855
|
-
options: localVarRequestOptions,
|
|
856
|
-
};
|
|
857
|
-
},
|
|
858
599
|
/**
|
|
859
600
|
* 등록한 계약의 계산서 발행 상태를 확인합니다. **언제 쓰나:** 씨마켓이 보내는 발행완료 통지를 놓쳤을 때의 **복구 경로**입니다. 평상시에는 통지를 받아 처리하고, 상태가 어긋난 것 같을 때 이 API로 되읽으세요. **필수 스코프:** `contracts:read`
|
|
860
601
|
* @summary 계산서 발행 상태 조회
|
|
@@ -935,48 +676,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
935
676
|
options: localVarRequestOptions,
|
|
936
677
|
};
|
|
937
678
|
},
|
|
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
679
|
/**
|
|
981
680
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
982
681
|
* @summary Partner API 헬스체크
|
|
@@ -1220,102 +919,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1220
919
|
options: localVarRequestOptions,
|
|
1221
920
|
};
|
|
1222
921
|
},
|
|
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
922
|
/**
|
|
1320
923
|
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `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
924
|
* @summary 유찰 처리
|
|
@@ -1504,51 +1107,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1504
1107
|
options: localVarRequestOptions,
|
|
1505
1108
|
};
|
|
1506
1109
|
},
|
|
1507
|
-
/**
|
|
1508
|
-
* 자체몰 주문의 **견적 마감 결과**를 기관 ERP 가 읽는 중계 테이블에 적재합니다. 스코프 `orders:write`. 자체몰 주문은 곧바로 오지 않습니다 — 외부 플랫폼의 견적 공고로 올라가 경쟁을 거치고, 마감된 뒤에 그 결과가 옵니다. 품목·수량은 담은 그대로이고 `quoteResult` 가 「얼마에 · 누구에게서」를 말합니다. **응답이 0건이어도 보냅니다** — 그 사실이 가야 담당자가 다시 올릴지 정합니다. - **멱등입니다.** 같은 `orderNo` 로 다시 보내면 `reused=true` 로 돌려주고 **덮어쓰지 않습니다.** 기관 ERP 가 이미 가져간 뒤에 내용이 바뀌면 구매요구와 중계 테이블이 서로 다른 값을 갖게 되기 때문입니다. - **단가의 세금 축을 반드시 보내십시오**(`priceTaxType`). 씨마켓이 기관 ERP 가 기대하는 축으로 변환해 채웁니다. 면세·영세 품목은 변환하지 않습니다. - **적재된 주문은 아직 계약이 아닙니다.** 계약은 발주기관이 견적 중 하나를 골라야 섭니다 — 이 행은 기관 ERP 가 구매요구를 만들 재료입니다.
|
|
1509
|
-
* @summary 몰 주문 중계 적재
|
|
1510
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1511
|
-
* @param {RelayKclMroOrderRequestDto} relayKclMroOrderRequestDto
|
|
1512
|
-
* @param {*} [options] Override http request option.
|
|
1513
|
-
* @throws {RequiredError}
|
|
1514
|
-
*/
|
|
1515
|
-
relayKclMroOrder: async (idempotencyKey: string, relayKclMroOrderRequestDto: RelayKclMroOrderRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1516
|
-
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
1517
|
-
assertParamExists('relayKclMroOrder', 'idempotencyKey', idempotencyKey)
|
|
1518
|
-
// verify required parameter 'relayKclMroOrderRequestDto' is not null or undefined
|
|
1519
|
-
assertParamExists('relayKclMroOrder', 'relayKclMroOrderRequestDto', relayKclMroOrderRequestDto)
|
|
1520
|
-
const localVarPath = `/v2/kcl-mro-orders`;
|
|
1521
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1522
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1523
|
-
let baseOptions;
|
|
1524
|
-
if (configuration) {
|
|
1525
|
-
baseOptions = configuration.baseOptions;
|
|
1526
|
-
}
|
|
1527
|
-
|
|
1528
|
-
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
1529
|
-
const localVarHeaderParameter = {} as any;
|
|
1530
|
-
const localVarQueryParameter = {} as any;
|
|
1531
|
-
|
|
1532
|
-
// authentication partner-oauth2 required
|
|
1533
|
-
// oauth required
|
|
1534
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["orders:write"], configuration)
|
|
1535
|
-
|
|
1536
|
-
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
1537
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
1538
|
-
|
|
1539
|
-
if (idempotencyKey != null) {
|
|
1540
|
-
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
1541
|
-
}
|
|
1542
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1543
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1544
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
1545
|
-
localVarRequestOptions.data = serializeDataIfNeeded(relayKclMroOrderRequestDto, localVarRequestOptions, configuration)
|
|
1546
|
-
|
|
1547
|
-
return {
|
|
1548
|
-
url: toPathString(localVarUrlObj),
|
|
1549
|
-
options: localVarRequestOptions,
|
|
1550
|
-
};
|
|
1551
|
-
},
|
|
1552
1110
|
/**
|
|
1553
1111
|
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write` · `Idempotency-Key` 헤더 필수. - 청구만 접수합니다. 발행은 정산 파이프라인이 처리하며 진행 여부는 `GET /v2/bids/{bidRef}`의 `taxInvoiceRequested`로 확인합니다. - `supplyAmount`와 `vat`는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 **새 `Idempotency-Key`**로 한 번 더 청구합니다. 같은 키는 앞선 청구의 응답을 그대로 돌려줍니다. - `issueDate`는 선택이며 미래 일자는 400입니다.
|
|
1554
1112
|
* @summary 계산서 분할 발급 청구
|
|
@@ -1647,94 +1205,6 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1647
1205
|
options: localVarRequestOptions,
|
|
1648
1206
|
};
|
|
1649
1207
|
},
|
|
1650
|
-
/**
|
|
1651
|
-
* 서명 시크릿을 새로 발급합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 새 시크릿은 이 응답에서 한 번만 나가고 `secretVersion`이 1 올라갑니다. - **옛 시크릿은 즉시 무효입니다.** 유예가 없으므로 순서를 지키세요 — ① 수신측이 옛 값과 새 값을 모두 받아들이도록 배포 → ② 이 호출 → ③ 새 값 반영 → ④ 옛 값 제거. - 같은 `Idempotency-Key`로 다시 부르면 새로 발급하지 않고 처음 발급한 값을 돌려줍니다(24시간).
|
|
1652
|
-
* @summary 웹훅 서명 시크릿 재발급
|
|
1653
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
1654
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1655
|
-
* @param {*} [options] Override http request option.
|
|
1656
|
-
* @throws {RequiredError}
|
|
1657
|
-
*/
|
|
1658
|
-
rotateWebhookSecret: async (endpointId: string, idempotencyKey: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1659
|
-
// verify required parameter 'endpointId' is not null or undefined
|
|
1660
|
-
assertParamExists('rotateWebhookSecret', 'endpointId', endpointId)
|
|
1661
|
-
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
1662
|
-
assertParamExists('rotateWebhookSecret', 'idempotencyKey', idempotencyKey)
|
|
1663
|
-
const localVarPath = `/v2/webhook-endpoints/{endpointId}/rotate-secret`
|
|
1664
|
-
.replace('{endpointId}', encodeURIComponent(String(endpointId)));
|
|
1665
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1666
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1667
|
-
let baseOptions;
|
|
1668
|
-
if (configuration) {
|
|
1669
|
-
baseOptions = configuration.baseOptions;
|
|
1670
|
-
}
|
|
1671
|
-
|
|
1672
|
-
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
1673
|
-
const localVarHeaderParameter = {} as any;
|
|
1674
|
-
const localVarQueryParameter = {} as any;
|
|
1675
|
-
|
|
1676
|
-
// authentication partner-oauth2 required
|
|
1677
|
-
// oauth required
|
|
1678
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["webhooks:write"], configuration)
|
|
1679
|
-
|
|
1680
|
-
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
1681
|
-
|
|
1682
|
-
if (idempotencyKey != null) {
|
|
1683
|
-
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
1684
|
-
}
|
|
1685
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1686
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1687
|
-
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
1688
|
-
|
|
1689
|
-
return {
|
|
1690
|
-
url: toPathString(localVarUrlObj),
|
|
1691
|
-
options: localVarRequestOptions,
|
|
1692
|
-
};
|
|
1693
|
-
},
|
|
1694
|
-
/**
|
|
1695
|
-
* 등록된 주소로 `ping` 이벤트를 1회 보내고 결과를 돌려줍니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 수신측이 받지 못해도 응답은 200이고 `delivered: false`입니다. 원인은 `responseStatus`와 `error`로 좁힙니다. - 실제 이벤트와 같은 서명 헤더가 실리므로 검증 코드를 그대로 시험할 수 있습니다. - 다시 보내려면 새 `Idempotency-Key`를 쓰세요. 같은 키는 24시간 동안 직전 결과를 돌려줍니다.
|
|
1696
|
-
* @summary 웹훅 연결 확인 발송
|
|
1697
|
-
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
1698
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1699
|
-
* @param {*} [options] Override http request option.
|
|
1700
|
-
* @throws {RequiredError}
|
|
1701
|
-
*/
|
|
1702
|
-
sendWebhookTestEvent: async (endpointId: string, idempotencyKey: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
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
1208
|
/**
|
|
1739
1209
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
1740
1210
|
* @summary 공고 수정
|
|
@@ -1754,63 +1224,8 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1754
1224
|
assertParamExists('updateBid', 'idempotencyKey', idempotencyKey)
|
|
1755
1225
|
// verify required parameter 'updateBidRequestDto' is not null or undefined
|
|
1756
1226
|
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)));
|
|
1227
|
+
const localVarPath = `/v2/bids/{bidRef}`
|
|
1228
|
+
.replace('{bidRef}', encodeURIComponent(String(bidRef)));
|
|
1814
1229
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1815
1230
|
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1816
1231
|
let baseOptions;
|
|
@@ -1824,7 +1239,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1824
1239
|
|
|
1825
1240
|
// authentication partner-oauth2 required
|
|
1826
1241
|
// oauth required
|
|
1827
|
-
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["
|
|
1242
|
+
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["bids:write"], configuration)
|
|
1828
1243
|
|
|
1829
1244
|
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
1830
1245
|
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
@@ -1838,7 +1253,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1838
1253
|
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1839
1254
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1840
1255
|
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
1841
|
-
localVarRequestOptions.data = serializeDataIfNeeded(
|
|
1256
|
+
localVarRequestOptions.data = serializeDataIfNeeded(updateBidRequestDto, localVarRequestOptions, configuration)
|
|
1842
1257
|
|
|
1843
1258
|
return {
|
|
1844
1259
|
url: toPathString(localVarUrlObj),
|
|
@@ -1914,20 +1329,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1914
1329
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.cancelBid']?.[localVarOperationServerIndex]?.url;
|
|
1915
1330
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1916
1331
|
},
|
|
1917
|
-
/**
|
|
1918
|
-
* 적재된 주문을 취소로 표시합니다. 스코프 `orders:write`. **구매요구번호가 이미 채번된 주문은 취소되지 않습니다**(`canceled=false`). 그때는 기관 ERP 안에서 결재가 진행 중이라, 중계 테이블만 지우면 양쪽 장부가 어긋납니다.
|
|
1919
|
-
* @summary 몰 주문 취소 표시
|
|
1920
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1921
|
-
* @param {CancelKclMroOrderRequestDto} cancelKclMroOrderRequestDto
|
|
1922
|
-
* @param {*} [options] Override http request option.
|
|
1923
|
-
* @throws {RequiredError}
|
|
1924
|
-
*/
|
|
1925
|
-
async cancelKclMroOrder(idempotencyKey: string, cancelKclMroOrderRequestDto: CancelKclMroOrderRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CancelKclMroOrder200Response>> {
|
|
1926
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.cancelKclMroOrder(idempotencyKey, cancelKclMroOrderRequestDto, options);
|
|
1927
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
1928
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.cancelKclMroOrder']?.[localVarOperationServerIndex]?.url;
|
|
1929
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1930
|
-
},
|
|
1931
1332
|
/**
|
|
1932
1333
|
* 납품 검수 완료를 기록합니다. 낙찰 처리된 공고에서 호출합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 현금 결제 공고는 세금계산서 발행요청이 등록되고 낙찰자에게 알림·문자가 나갑니다. 카드 결제 공고는 발행요청이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 협의로 계약금액이 줄었으면 `supplyAmount`와 `vat`를 함께 보냅니다. 현금 결제·낙찰자 1인·감액일 때만 허용하며 어긋나면 409입니다. 생략하면 낙찰금액에서 파생합니다. - 문서에 찍히는 구매사 사업자정보·담당자·작성일자와 낙찰자는 등록된 값에서 채워지며 요청으로 바꿀 수 없습니다. 공급사에게 계산서를 받으면 `POST /v2/bids/{bidRef}/settlement/complete`로 계약을 닫습니다.
|
|
1933
1334
|
* @summary 검수완료 전송
|
|
@@ -2014,35 +1415,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2014
1415
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.createFileUploadUrl']?.[localVarOperationServerIndex]?.url;
|
|
2015
1416
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2016
1417
|
},
|
|
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
1418
|
/**
|
|
2047
1419
|
* 무인증 — `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
1420
|
* @summary 파일 다운로드
|
|
@@ -2099,35 +1471,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2099
1471
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getBidStatement']?.[localVarOperationServerIndex]?.url;
|
|
2100
1472
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2101
1473
|
},
|
|
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
|
-
/**
|
|
2117
|
-
* 중계 테이블에서 이 주문이 어디까지 갔는지 돌려줍니다. 스코프 `orders:read`. 구매요구번호 회신은 씨마켓이 외부 플랫폼에 통지하지만, 그 통지가 유실될 수 있어 되읽을 경로를 함께 둡니다. 방아쇠를 하나만 두면 그 하나가 실패한 날 주문이 영영 멈춥니다.
|
|
2118
|
-
* @summary 몰 주문 중계 상태 조회
|
|
2119
|
-
* @param {string} orderNo 조회할 몰 주문의 구매번호입니다.
|
|
2120
|
-
* @param {string} buyerMemberId 발주기관 회원 ID
|
|
2121
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2122
|
-
* @param {*} [options] Override http request option.
|
|
2123
|
-
* @throws {RequiredError}
|
|
2124
|
-
*/
|
|
2125
|
-
async getKclMroOrderStatus(orderNo: string, buyerMemberId: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetKclMroOrderStatus200Response>> {
|
|
2126
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.getKclMroOrderStatus(orderNo, buyerMemberId, ifNoneMatch, options);
|
|
2127
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2128
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getKclMroOrderStatus']?.[localVarOperationServerIndex]?.url;
|
|
2129
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2130
|
-
},
|
|
2131
1474
|
/**
|
|
2132
1475
|
* 등록한 계약의 계산서 발행 상태를 확인합니다. **언제 쓰나:** 씨마켓이 보내는 발행완료 통지를 놓쳤을 때의 **복구 경로**입니다. 평상시에는 통지를 받아 처리하고, 상태가 어긋난 것 같을 때 이 API로 되읽으세요. **필수 스코프:** `contracts:read`
|
|
2133
1476
|
* @summary 계산서 발행 상태 조회
|
|
@@ -2155,20 +1498,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2155
1498
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.getSupplierCardPayableV2']?.[localVarOperationServerIndex]?.url;
|
|
2156
1499
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2157
1500
|
},
|
|
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
1501
|
/**
|
|
2173
1502
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
2174
1503
|
* @summary Partner API 헬스체크
|
|
@@ -2244,36 +1573,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2244
1573
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.listSuppliers']?.[localVarOperationServerIndex]?.url;
|
|
2245
1574
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2246
1575
|
},
|
|
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
1576
|
/**
|
|
2278
1577
|
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `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
1578
|
* @summary 유찰 처리
|
|
@@ -2332,20 +1631,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2332
1631
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.registerSemoContract']?.[localVarOperationServerIndex]?.url;
|
|
2333
1632
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2334
1633
|
},
|
|
2335
|
-
/**
|
|
2336
|
-
* 자체몰 주문의 **견적 마감 결과**를 기관 ERP 가 읽는 중계 테이블에 적재합니다. 스코프 `orders:write`. 자체몰 주문은 곧바로 오지 않습니다 — 외부 플랫폼의 견적 공고로 올라가 경쟁을 거치고, 마감된 뒤에 그 결과가 옵니다. 품목·수량은 담은 그대로이고 `quoteResult` 가 「얼마에 · 누구에게서」를 말합니다. **응답이 0건이어도 보냅니다** — 그 사실이 가야 담당자가 다시 올릴지 정합니다. - **멱등입니다.** 같은 `orderNo` 로 다시 보내면 `reused=true` 로 돌려주고 **덮어쓰지 않습니다.** 기관 ERP 가 이미 가져간 뒤에 내용이 바뀌면 구매요구와 중계 테이블이 서로 다른 값을 갖게 되기 때문입니다. - **단가의 세금 축을 반드시 보내십시오**(`priceTaxType`). 씨마켓이 기관 ERP 가 기대하는 축으로 변환해 채웁니다. 면세·영세 품목은 변환하지 않습니다. - **적재된 주문은 아직 계약이 아닙니다.** 계약은 발주기관이 견적 중 하나를 골라야 섭니다 — 이 행은 기관 ERP 가 구매요구를 만들 재료입니다.
|
|
2337
|
-
* @summary 몰 주문 중계 적재
|
|
2338
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2339
|
-
* @param {RelayKclMroOrderRequestDto} relayKclMroOrderRequestDto
|
|
2340
|
-
* @param {*} [options] Override http request option.
|
|
2341
|
-
* @throws {RequiredError}
|
|
2342
|
-
*/
|
|
2343
|
-
async relayKclMroOrder(idempotencyKey: string, relayKclMroOrderRequestDto: RelayKclMroOrderRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RelayKclMroOrder200Response>> {
|
|
2344
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.relayKclMroOrder(idempotencyKey, relayKclMroOrderRequestDto, options);
|
|
2345
|
-
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
2346
|
-
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.relayKclMroOrder']?.[localVarOperationServerIndex]?.url;
|
|
2347
|
-
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2348
|
-
},
|
|
2349
1634
|
/**
|
|
2350
1635
|
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write` · `Idempotency-Key` 헤더 필수. - 청구만 접수합니다. 발행은 정산 파이프라인이 처리하며 진행 여부는 `GET /v2/bids/{bidRef}`의 `taxInvoiceRequested`로 확인합니다. - `supplyAmount`와 `vat`는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 **새 `Idempotency-Key`**로 한 번 더 청구합니다. 같은 키는 앞선 청구의 응답을 그대로 돌려줍니다. - `issueDate`는 선택이며 미래 일자는 400입니다.
|
|
2351
1636
|
* @summary 계산서 분할 발급 청구
|
|
@@ -2376,34 +1661,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2376
1661
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.revertAward']?.[localVarOperationServerIndex]?.url;
|
|
2377
1662
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2378
1663
|
},
|
|
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
1664
|
/**
|
|
2408
1665
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
2409
1666
|
* @summary 공고 수정
|
|
@@ -2420,22 +1677,6 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2420
1677
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.updateBid']?.[localVarOperationServerIndex]?.url;
|
|
2421
1678
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2422
1679
|
},
|
|
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
1680
|
/**
|
|
2440
1681
|
* 공고 첨부파일을 올리고 `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
1682
|
* @summary 공고 첨부파일 업로드 (기본)
|
|
@@ -2471,17 +1712,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2471
1712
|
cancelBid(bidRef: string, idempotencyKey: string, cancelBidRequestDto: CancelBidRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CancelBid200Response> {
|
|
2472
1713
|
return localVarFp.cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options).then((request) => request(axios, basePath));
|
|
2473
1714
|
},
|
|
2474
|
-
/**
|
|
2475
|
-
* 적재된 주문을 취소로 표시합니다. 스코프 `orders:write`. **구매요구번호가 이미 채번된 주문은 취소되지 않습니다**(`canceled=false`). 그때는 기관 ERP 안에서 결재가 진행 중이라, 중계 테이블만 지우면 양쪽 장부가 어긋납니다.
|
|
2476
|
-
* @summary 몰 주문 취소 표시
|
|
2477
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2478
|
-
* @param {CancelKclMroOrderRequestDto} cancelKclMroOrderRequestDto
|
|
2479
|
-
* @param {*} [options] Override http request option.
|
|
2480
|
-
* @throws {RequiredError}
|
|
2481
|
-
*/
|
|
2482
|
-
cancelKclMroOrder(idempotencyKey: string, cancelKclMroOrderRequestDto: CancelKclMroOrderRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CancelKclMroOrder200Response> {
|
|
2483
|
-
return localVarFp.cancelKclMroOrder(idempotencyKey, cancelKclMroOrderRequestDto, options).then((request) => request(axios, basePath));
|
|
2484
|
-
},
|
|
2485
1715
|
/**
|
|
2486
1716
|
* 납품 검수 완료를 기록합니다. 낙찰 처리된 공고에서 호출합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 현금 결제 공고는 세금계산서 발행요청이 등록되고 낙찰자에게 알림·문자가 나갑니다. 카드 결제 공고는 발행요청이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 협의로 계약금액이 줄었으면 `supplyAmount`와 `vat`를 함께 보냅니다. 현금 결제·낙찰자 1인·감액일 때만 허용하며 어긋나면 409입니다. 생략하면 낙찰금액에서 파생합니다. - 문서에 찍히는 구매사 사업자정보·담당자·작성일자와 낙찰자는 등록된 값에서 채워지며 요청으로 바꿀 수 없습니다. 공급사에게 계산서를 받으면 `POST /v2/bids/{bidRef}/settlement/complete`로 계약을 닫습니다.
|
|
2487
1717
|
* @summary 검수완료 전송
|
|
@@ -2550,29 +1780,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2550
1780
|
createFileUploadUrl(idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CreateFileUploadUrl201Response> {
|
|
2551
1781
|
return localVarFp.createFileUploadUrl(idempotencyKey, createUploadUrlRequestDto, options).then((request) => request(axios, basePath));
|
|
2552
1782
|
},
|
|
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
1783
|
/**
|
|
2577
1784
|
* 무인증 — `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
1785
|
* @summary 파일 다운로드
|
|
@@ -2617,29 +1824,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2617
1824
|
getBidStatement(bidRef: string, paperCode?: number, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<GetBidStatement200Response> {
|
|
2618
1825
|
return localVarFp.getBidStatement(bidRef, paperCode, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2619
1826
|
},
|
|
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
|
-
/**
|
|
2632
|
-
* 중계 테이블에서 이 주문이 어디까지 갔는지 돌려줍니다. 스코프 `orders:read`. 구매요구번호 회신은 씨마켓이 외부 플랫폼에 통지하지만, 그 통지가 유실될 수 있어 되읽을 경로를 함께 둡니다. 방아쇠를 하나만 두면 그 하나가 실패한 날 주문이 영영 멈춥니다.
|
|
2633
|
-
* @summary 몰 주문 중계 상태 조회
|
|
2634
|
-
* @param {string} orderNo 조회할 몰 주문의 구매번호입니다.
|
|
2635
|
-
* @param {string} buyerMemberId 발주기관 회원 ID
|
|
2636
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2637
|
-
* @param {*} [options] Override http request option.
|
|
2638
|
-
* @throws {RequiredError}
|
|
2639
|
-
*/
|
|
2640
|
-
getKclMroOrderStatus(orderNo: string, buyerMemberId: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<GetKclMroOrderStatus200Response> {
|
|
2641
|
-
return localVarFp.getKclMroOrderStatus(orderNo, buyerMemberId, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2642
|
-
},
|
|
2643
1827
|
/**
|
|
2644
1828
|
* 등록한 계약의 계산서 발행 상태를 확인합니다. **언제 쓰나:** 씨마켓이 보내는 발행완료 통지를 놓쳤을 때의 **복구 경로**입니다. 평상시에는 통지를 받아 처리하고, 상태가 어긋난 것 같을 때 이 API로 되읽으세요. **필수 스코프:** `contracts:read`
|
|
2645
1829
|
* @summary 계산서 발행 상태 조회
|
|
@@ -2661,17 +1845,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2661
1845
|
getSupplierCardPayableV2(memberId: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<GetSupplierCardPayableV2200Response> {
|
|
2662
1846
|
return localVarFp.getSupplierCardPayableV2(memberId, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2663
1847
|
},
|
|
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
1848
|
/**
|
|
2676
1849
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
2677
1850
|
* @summary Partner API 헬스체크
|
|
@@ -2732,30 +1905,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2732
1905
|
listSuppliers(keyword?: string, cursor?: string, limit?: number, ifNoneMatch?: string, options?: RawAxiosRequestConfig): AxiosPromise<ListSuppliers200Response> {
|
|
2733
1906
|
return localVarFp.listSuppliers(keyword, cursor, limit, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2734
1907
|
},
|
|
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
1908
|
/**
|
|
2760
1909
|
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `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
1910
|
* @summary 유찰 처리
|
|
@@ -2802,17 +1951,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2802
1951
|
registerSemoContract(idempotencyKey: string, registerSemoContractRequestDto: RegisterSemoContractRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<SemoContractRegisteredResponseDto> {
|
|
2803
1952
|
return localVarFp.registerSemoContract(idempotencyKey, registerSemoContractRequestDto, options).then((request) => request(axios, basePath));
|
|
2804
1953
|
},
|
|
2805
|
-
/**
|
|
2806
|
-
* 자체몰 주문의 **견적 마감 결과**를 기관 ERP 가 읽는 중계 테이블에 적재합니다. 스코프 `orders:write`. 자체몰 주문은 곧바로 오지 않습니다 — 외부 플랫폼의 견적 공고로 올라가 경쟁을 거치고, 마감된 뒤에 그 결과가 옵니다. 품목·수량은 담은 그대로이고 `quoteResult` 가 「얼마에 · 누구에게서」를 말합니다. **응답이 0건이어도 보냅니다** — 그 사실이 가야 담당자가 다시 올릴지 정합니다. - **멱등입니다.** 같은 `orderNo` 로 다시 보내면 `reused=true` 로 돌려주고 **덮어쓰지 않습니다.** 기관 ERP 가 이미 가져간 뒤에 내용이 바뀌면 구매요구와 중계 테이블이 서로 다른 값을 갖게 되기 때문입니다. - **단가의 세금 축을 반드시 보내십시오**(`priceTaxType`). 씨마켓이 기관 ERP 가 기대하는 축으로 변환해 채웁니다. 면세·영세 품목은 변환하지 않습니다. - **적재된 주문은 아직 계약이 아닙니다.** 계약은 발주기관이 견적 중 하나를 골라야 섭니다 — 이 행은 기관 ERP 가 구매요구를 만들 재료입니다.
|
|
2807
|
-
* @summary 몰 주문 중계 적재
|
|
2808
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2809
|
-
* @param {RelayKclMroOrderRequestDto} relayKclMroOrderRequestDto
|
|
2810
|
-
* @param {*} [options] Override http request option.
|
|
2811
|
-
* @throws {RequiredError}
|
|
2812
|
-
*/
|
|
2813
|
-
relayKclMroOrder(idempotencyKey: string, relayKclMroOrderRequestDto: RelayKclMroOrderRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<RelayKclMroOrder200Response> {
|
|
2814
|
-
return localVarFp.relayKclMroOrder(idempotencyKey, relayKclMroOrderRequestDto, options).then((request) => request(axios, basePath));
|
|
2815
|
-
},
|
|
2816
1954
|
/**
|
|
2817
1955
|
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write` · `Idempotency-Key` 헤더 필수. - 청구만 접수합니다. 발행은 정산 파이프라인이 처리하며 진행 여부는 `GET /v2/bids/{bidRef}`의 `taxInvoiceRequested`로 확인합니다. - `supplyAmount`와 `vat`는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 **새 `Idempotency-Key`**로 한 번 더 청구합니다. 같은 키는 앞선 청구의 응답을 그대로 돌려줍니다. - `issueDate`는 선택이며 미래 일자는 400입니다.
|
|
2818
1956
|
* @summary 계산서 분할 발급 청구
|
|
@@ -2837,28 +1975,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2837
1975
|
revertAward(bidRef: string, idempotencyKey: string, revertAwardRequestDto: RevertAwardRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<RevertAward200Response> {
|
|
2838
1976
|
return localVarFp.revertAward(bidRef, idempotencyKey, revertAwardRequestDto, options).then((request) => request(axios, basePath));
|
|
2839
1977
|
},
|
|
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
1978
|
/**
|
|
2863
1979
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
2864
1980
|
* @summary 공고 수정
|
|
@@ -2872,19 +1988,6 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2872
1988
|
updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UpdateBid200Response> {
|
|
2873
1989
|
return localVarFp.updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options).then((request) => request(axios, basePath));
|
|
2874
1990
|
},
|
|
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
1991
|
/**
|
|
2889
1992
|
* 공고 첨부파일을 올리고 `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
1993
|
* @summary 공고 첨부파일 업로드 (기본)
|
|
@@ -2916,18 +2019,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2916
2019
|
return PartnerApiApiFp(this.configuration).cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
2917
2020
|
}
|
|
2918
2021
|
|
|
2919
|
-
/**
|
|
2920
|
-
* 적재된 주문을 취소로 표시합니다. 스코프 `orders:write`. **구매요구번호가 이미 채번된 주문은 취소되지 않습니다**(`canceled=false`). 그때는 기관 ERP 안에서 결재가 진행 중이라, 중계 테이블만 지우면 양쪽 장부가 어긋납니다.
|
|
2921
|
-
* @summary 몰 주문 취소 표시
|
|
2922
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2923
|
-
* @param {CancelKclMroOrderRequestDto} cancelKclMroOrderRequestDto
|
|
2924
|
-
* @param {*} [options] Override http request option.
|
|
2925
|
-
* @throws {RequiredError}
|
|
2926
|
-
*/
|
|
2927
|
-
public cancelKclMroOrder(idempotencyKey: string, cancelKclMroOrderRequestDto: CancelKclMroOrderRequestDto, options?: RawAxiosRequestConfig) {
|
|
2928
|
-
return PartnerApiApiFp(this.configuration).cancelKclMroOrder(idempotencyKey, cancelKclMroOrderRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
2929
|
-
}
|
|
2930
|
-
|
|
2931
2022
|
/**
|
|
2932
2023
|
* 납품 검수 완료를 기록합니다. 낙찰 처리된 공고에서 호출합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 현금 결제 공고는 세금계산서 발행요청이 등록되고 낙찰자에게 알림·문자가 나갑니다. 카드 결제 공고는 발행요청이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 협의로 계약금액이 줄었으면 `supplyAmount`와 `vat`를 함께 보냅니다. 현금 결제·낙찰자 1인·감액일 때만 허용하며 어긋나면 409입니다. 생략하면 낙찰금액에서 파생합니다. - 문서에 찍히는 구매사 사업자정보·담당자·작성일자와 낙찰자는 등록된 값에서 채워지며 요청으로 바꿀 수 없습니다. 공급사에게 계산서를 받으면 `POST /v2/bids/{bidRef}/settlement/complete`로 계약을 닫습니다.
|
|
2933
2024
|
* @summary 검수완료 전송
|
|
@@ -3002,31 +2093,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3002
2093
|
return PartnerApiApiFp(this.configuration).createFileUploadUrl(idempotencyKey, createUploadUrlRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3003
2094
|
}
|
|
3004
2095
|
|
|
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
2096
|
/**
|
|
3031
2097
|
* 무인증 — `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
2098
|
* @summary 파일 다운로드
|
|
@@ -3075,31 +2141,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3075
2141
|
return PartnerApiApiFp(this.configuration).getBidStatement(bidRef, paperCode, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3076
2142
|
}
|
|
3077
2143
|
|
|
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
|
-
/**
|
|
3091
|
-
* 중계 테이블에서 이 주문이 어디까지 갔는지 돌려줍니다. 스코프 `orders:read`. 구매요구번호 회신은 씨마켓이 외부 플랫폼에 통지하지만, 그 통지가 유실될 수 있어 되읽을 경로를 함께 둡니다. 방아쇠를 하나만 두면 그 하나가 실패한 날 주문이 영영 멈춥니다.
|
|
3092
|
-
* @summary 몰 주문 중계 상태 조회
|
|
3093
|
-
* @param {string} orderNo 조회할 몰 주문의 구매번호입니다.
|
|
3094
|
-
* @param {string} buyerMemberId 발주기관 회원 ID
|
|
3095
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
3096
|
-
* @param {*} [options] Override http request option.
|
|
3097
|
-
* @throws {RequiredError}
|
|
3098
|
-
*/
|
|
3099
|
-
public getKclMroOrderStatus(orderNo: string, buyerMemberId: string, ifNoneMatch?: string, options?: RawAxiosRequestConfig) {
|
|
3100
|
-
return PartnerApiApiFp(this.configuration).getKclMroOrderStatus(orderNo, buyerMemberId, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3101
|
-
}
|
|
3102
|
-
|
|
3103
2144
|
/**
|
|
3104
2145
|
* 등록한 계약의 계산서 발행 상태를 확인합니다. **언제 쓰나:** 씨마켓이 보내는 발행완료 통지를 놓쳤을 때의 **복구 경로**입니다. 평상시에는 통지를 받아 처리하고, 상태가 어긋난 것 같을 때 이 API로 되읽으세요. **필수 스코프:** `contracts:read`
|
|
3105
2146
|
* @summary 계산서 발행 상태 조회
|
|
@@ -3123,18 +2164,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3123
2164
|
return PartnerApiApiFp(this.configuration).getSupplierCardPayableV2(memberId, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3124
2165
|
}
|
|
3125
2166
|
|
|
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
2167
|
/**
|
|
3139
2168
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
3140
2169
|
* @summary Partner API 헬스체크
|
|
@@ -3200,32 +2229,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3200
2229
|
return PartnerApiApiFp(this.configuration).listSuppliers(keyword, cursor, limit, ifNoneMatch, options).then((request) => request(this.axios, this.basePath));
|
|
3201
2230
|
}
|
|
3202
2231
|
|
|
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
2232
|
/**
|
|
3230
2233
|
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `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
2234
|
* @summary 유찰 처리
|
|
@@ -3276,18 +2279,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3276
2279
|
return PartnerApiApiFp(this.configuration).registerSemoContract(idempotencyKey, registerSemoContractRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3277
2280
|
}
|
|
3278
2281
|
|
|
3279
|
-
/**
|
|
3280
|
-
* 자체몰 주문의 **견적 마감 결과**를 기관 ERP 가 읽는 중계 테이블에 적재합니다. 스코프 `orders:write`. 자체몰 주문은 곧바로 오지 않습니다 — 외부 플랫폼의 견적 공고로 올라가 경쟁을 거치고, 마감된 뒤에 그 결과가 옵니다. 품목·수량은 담은 그대로이고 `quoteResult` 가 「얼마에 · 누구에게서」를 말합니다. **응답이 0건이어도 보냅니다** — 그 사실이 가야 담당자가 다시 올릴지 정합니다. - **멱등입니다.** 같은 `orderNo` 로 다시 보내면 `reused=true` 로 돌려주고 **덮어쓰지 않습니다.** 기관 ERP 가 이미 가져간 뒤에 내용이 바뀌면 구매요구와 중계 테이블이 서로 다른 값을 갖게 되기 때문입니다. - **단가의 세금 축을 반드시 보내십시오**(`priceTaxType`). 씨마켓이 기관 ERP 가 기대하는 축으로 변환해 채웁니다. 면세·영세 품목은 변환하지 않습니다. - **적재된 주문은 아직 계약이 아닙니다.** 계약은 발주기관이 견적 중 하나를 골라야 섭니다 — 이 행은 기관 ERP 가 구매요구를 만들 재료입니다.
|
|
3281
|
-
* @summary 몰 주문 중계 적재
|
|
3282
|
-
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3283
|
-
* @param {RelayKclMroOrderRequestDto} relayKclMroOrderRequestDto
|
|
3284
|
-
* @param {*} [options] Override http request option.
|
|
3285
|
-
* @throws {RequiredError}
|
|
3286
|
-
*/
|
|
3287
|
-
public relayKclMroOrder(idempotencyKey: string, relayKclMroOrderRequestDto: RelayKclMroOrderRequestDto, options?: RawAxiosRequestConfig) {
|
|
3288
|
-
return PartnerApiApiFp(this.configuration).relayKclMroOrder(idempotencyKey, relayKclMroOrderRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3289
|
-
}
|
|
3290
|
-
|
|
3291
2282
|
/**
|
|
3292
2283
|
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write` · `Idempotency-Key` 헤더 필수. - 청구만 접수합니다. 발행은 정산 파이프라인이 처리하며 진행 여부는 `GET /v2/bids/{bidRef}`의 `taxInvoiceRequested`로 확인합니다. - `supplyAmount`와 `vat`는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 **새 `Idempotency-Key`**로 한 번 더 청구합니다. 같은 키는 앞선 청구의 응답을 그대로 돌려줍니다. - `issueDate`는 선택이며 미래 일자는 400입니다.
|
|
3293
2284
|
* @summary 계산서 분할 발급 청구
|
|
@@ -3314,30 +2305,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3314
2305
|
return PartnerApiApiFp(this.configuration).revertAward(bidRef, idempotencyKey, revertAwardRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3315
2306
|
}
|
|
3316
2307
|
|
|
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
2308
|
/**
|
|
3342
2309
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
3343
2310
|
* @summary 공고 수정
|
|
@@ -3352,20 +2319,6 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3352
2319
|
return PartnerApiApiFp(this.configuration).updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
3353
2320
|
}
|
|
3354
2321
|
|
|
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
2322
|
/**
|
|
3370
2323
|
* 공고 첨부파일을 올리고 `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
2324
|
* @summary 공고 첨부파일 업로드 (기본)
|