@cmarket/partner-sdk 36.1.0 → 37.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 +12 -5
- package/api/oauth-api.ts +1 -1
- package/api/partner-api-api.ts +258 -90
- package/api/products-api.ts +5 -5
- 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/oauth-api.d.ts +1 -1
- package/dist/api/oauth-api.js +1 -1
- package/dist/api/partner-api-api.d.ts +156 -81
- package/dist/api/partner-api-api.js +246 -90
- package/dist/api/products-api.d.ts +5 -5
- package/dist/api/products-api.js +5 -5
- 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/oauth-api.d.ts +1 -1
- package/dist/esm/api/oauth-api.js +1 -1
- package/dist/esm/api/partner-api-api.d.ts +156 -81
- package/dist/esm/api/partner-api-api.js +246 -90
- package/dist/esm/api/products-api.d.ts +5 -5
- package/dist/esm/api/products-api.js +5 -5
- 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/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-input-dto.d.ts +29 -0
- package/dist/esm/models/bid-attachment-input-dto.js +14 -0
- 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-cancelled-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-cancelled-response-dto.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-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-payment-terms-dto.d.ts +1 -1
- package/dist/esm/models/bid-payment-terms-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-registered-response-dto.d.ts +1 -1
- package/dist/esm/models/bid-registered-response-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-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/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 +17 -0
- package/dist/esm/models/complete-upload-request-dto.js +14 -0
- 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 +4 -3
- 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-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 +21 -0
- package/dist/esm/models/create-file-upload-url201-response.js +14 -0
- package/dist/esm/models/create-upload-url-request-dto.d.ts +21 -0
- package/dist/esm/models/create-upload-url-request-dto.js +14 -0
- 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/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-meta-response-dto.d.ts +1 -1
- package/dist/esm/models/file-meta-response-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-file-meta200-response.d.ts +1 -1
- package/dist/esm/models/get-file-meta200-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/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 +5 -0
- package/dist/esm/models/index.js +5 -0
- 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/list-bid-results200-response.d.ts +1 -1
- package/dist/esm/models/list-bid-results200-response.js +1 -1
- package/dist/esm/models/list-bids-response-dto.d.ts +1 -1
- package/dist/esm/models/list-bids-response-dto.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/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/negotiation-score-dto.d.ts +1 -1
- package/dist/esm/models/negotiation-score-dto.js +1 -1
- package/dist/esm/models/negotiation-scored-v2-response-dto.d.ts +1 -1
- package/dist/esm/models/negotiation-scored-v2-response-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/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/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/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/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/submit-negotiation-scores-request-dto.d.ts +1 -1
- package/dist/esm/models/submit-negotiation-scores-request-dto.js +1 -1
- package/dist/esm/models/submit-negotiation-scores201-response.d.ts +1 -1
- package/dist/esm/models/submit-negotiation-scores201-response.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-tax-type.d.ts +1 -1
- package/dist/esm/models/supplier-tax-type.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/update-bid-request-dto.d.ts +4 -3
- 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 +29 -0
- package/dist/esm/models/upload-url-created-response-dto.js +14 -0
- 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/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-input-dto.d.ts +29 -0
- package/dist/models/bid-attachment-input-dto.js +15 -0
- package/dist/models/bid-bond-dto.d.ts +1 -1
- package/dist/models/bid-bond-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-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-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-payment-terms-dto.d.ts +1 -1
- package/dist/models/bid-payment-terms-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-registered-response-dto.d.ts +1 -1
- package/dist/models/bid-registered-response-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-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/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 +17 -0
- package/dist/models/complete-upload-request-dto.js +15 -0
- 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 +4 -3
- 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-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 +21 -0
- package/dist/models/create-file-upload-url201-response.js +15 -0
- package/dist/models/create-upload-url-request-dto.d.ts +21 -0
- package/dist/models/create-upload-url-request-dto.js +15 -0
- 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/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-meta-response-dto.d.ts +1 -1
- package/dist/models/file-meta-response-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-file-meta200-response.d.ts +1 -1
- package/dist/models/get-file-meta200-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/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 +5 -0
- package/dist/models/index.js +5 -0
- 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/list-bid-results200-response.d.ts +1 -1
- package/dist/models/list-bid-results200-response.js +1 -1
- package/dist/models/list-bids-response-dto.d.ts +1 -1
- package/dist/models/list-bids-response-dto.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/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/negotiation-score-dto.d.ts +1 -1
- package/dist/models/negotiation-score-dto.js +1 -1
- package/dist/models/negotiation-scored-v2-response-dto.d.ts +1 -1
- package/dist/models/negotiation-scored-v2-response-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/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/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/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/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/submit-negotiation-scores-request-dto.d.ts +1 -1
- package/dist/models/submit-negotiation-scores-request-dto.js +1 -1
- package/dist/models/submit-negotiation-scores201-response.d.ts +1 -1
- package/dist/models/submit-negotiation-scores201-response.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-tax-type.d.ts +1 -1
- package/dist/models/supplier-tax-type.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/update-bid-request-dto.d.ts +4 -3
- 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 +29 -0
- package/dist/models/upload-url-created-response-dto.js +15 -0
- package/docs/BidAttachmentInputDto.md +26 -0
- package/docs/CompleteUploadRequestDto.md +20 -0
- package/docs/CreateBidRequestDto.md +1 -1
- package/docs/CreateFileUploadUrl201Response.md +22 -0
- package/docs/CreateUploadUrlRequestDto.md +22 -0
- package/docs/PartnerApiApi.md +166 -36
- package/docs/ProductsApi.md +2 -2
- package/docs/UpdateBidRequestDto.md +1 -1
- package/docs/UploadUrlCreatedResponseDto.md +26 -0
- 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/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-input-dto.ts +35 -0
- package/models/bid-bond-dto.ts +1 -1
- package/models/bid-cancelled-response-dto.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-lifecycle-dto.ts +1 -1
- package/models/bid-manager-dto.ts +1 -1
- package/models/bid-payment-terms-dto.ts +1 -1
- package/models/bid-product-dto.ts +1 -1
- package/models/bid-public-status.ts +1 -1
- package/models/bid-registered-response-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-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/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 +23 -0
- package/models/contract-restriction-confirm-input-dto.ts +1 -1
- package/models/create-bid-request-dto.ts +6 -3
- 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-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 +27 -0
- package/models/create-upload-url-request-dto.ts +27 -0
- package/models/delivery-date-type-public.ts +1 -1
- package/models/delivery-method-public.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-meta-response-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-file-meta200-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/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 +5 -0
- 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/list-bid-results200-response.ts +1 -1
- package/models/list-bids-response-dto.ts +1 -1
- package/models/list-bids200-response.ts +1 -1
- package/models/list-products200-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/negotiation-score-dto.ts +1 -1
- package/models/negotiation-scored-v2-response-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/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/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/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/statement-document-dto.ts +1 -1
- package/models/statement-product-dto.ts +1 -1
- package/models/submit-negotiation-scores-request-dto.ts +1 -1
- package/models/submit-negotiation-scores201-response.ts +1 -1
- package/models/supplier-card-payable-response-dto.ts +1 -1
- package/models/supplier-tax-type.ts +1 -1
- package/models/token-request-dto.ts +1 -1
- package/models/token-response-dto.ts +1 -1
- package/models/update-bid-request-dto.ts +6 -3
- 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 +35 -0
- package/package.json +1 -1
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\": … }` 입니다. 단일 리소스든 목록이든 같습니다. 목록처럼 부가 정보가 있는 응답은 `meta` 가 함께 실립니다 — 예: `{ \"data\": [...], \"meta\": { \"nextCursor\": \"…\" } }`. 부가 정보가 없으면 `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 확장, 값 없음). `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: 37.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).
|
|
@@ -34,6 +34,8 @@ import type { CompleteAcceptanceRequestDto } from '../models';
|
|
|
34
34
|
// @ts-ignore
|
|
35
35
|
import type { CompleteInvoice200Response } from '../models';
|
|
36
36
|
// @ts-ignore
|
|
37
|
+
import type { CompleteUploadRequestDto } from '../models';
|
|
38
|
+
// @ts-ignore
|
|
37
39
|
import type { CreateBidRequestDto } from '../models';
|
|
38
40
|
// @ts-ignore
|
|
39
41
|
import type { CreateCardPayment200Response } from '../models';
|
|
@@ -44,6 +46,10 @@ import type { CreateExternalContractDocumentsRequestDto } from '../models';
|
|
|
44
46
|
// @ts-ignore
|
|
45
47
|
import type { CreateExternalContractDocumentsResponseDto } from '../models';
|
|
46
48
|
// @ts-ignore
|
|
49
|
+
import type { CreateFileUploadUrl201Response } from '../models';
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
import type { CreateUploadUrlRequestDto } from '../models';
|
|
52
|
+
// @ts-ignore
|
|
47
53
|
import type { ExternalContractDocumentsResponseDto } from '../models';
|
|
48
54
|
// @ts-ignore
|
|
49
55
|
import type { GetBid200Response } from '../models';
|
|
@@ -108,7 +114,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
108
114
|
* 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
|
|
109
115
|
* @summary 공고 취소
|
|
110
116
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
111
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
117
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
112
118
|
* @param {CancelBidRequestDto} cancelBidRequestDto
|
|
113
119
|
* @param {*} [options] Override http request option.
|
|
114
120
|
* @throws {RequiredError}
|
|
@@ -157,7 +163,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
157
163
|
* 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 수 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
158
164
|
* @summary 검수완료 전송
|
|
159
165
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
160
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
166
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
161
167
|
* @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
|
|
162
168
|
* @param {*} [options] Override http request option.
|
|
163
169
|
* @throws {RequiredError}
|
|
@@ -202,11 +208,60 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
202
208
|
options: localVarRequestOptions,
|
|
203
209
|
};
|
|
204
210
|
},
|
|
211
|
+
/**
|
|
212
|
+
* `uploadUrl` 로의 `PUT` 이 끝난 뒤 호출합니다. 올라온 파일을 실측해 등록하고, 그 시점부터 `fileKey` 를 공고 첨부로 쓸 수 있습니다. **확정 전 `fileKey` 는 첨부로 쓸 수 없습니다** — 공고 등록이 400 으로 거절됩니다. **신고한 크기가 아니라 실제 파일을 봅니다.** 발급 요청의 `fileSize` 와 다르면 실제 크기가 기록되고, 정책 상한을 넘으면 여기서 거절됩니다. **같은 `fileKey` 로 여러 번 호출해도 안전합니다**(멱등). **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
213
|
+
* @summary 첨부파일 업로드 확정
|
|
214
|
+
* @param {string} fileKey 발급 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
215
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
216
|
+
* @param {CompleteUploadRequestDto} completeUploadRequestDto
|
|
217
|
+
* @param {*} [options] Override http request option.
|
|
218
|
+
* @throws {RequiredError}
|
|
219
|
+
*/
|
|
220
|
+
completeFileUpload: async (fileKey: string, idempotencyKey: string, completeUploadRequestDto: CompleteUploadRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
221
|
+
// verify required parameter 'fileKey' is not null or undefined
|
|
222
|
+
assertParamExists('completeFileUpload', 'fileKey', fileKey)
|
|
223
|
+
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
224
|
+
assertParamExists('completeFileUpload', 'idempotencyKey', idempotencyKey)
|
|
225
|
+
// verify required parameter 'completeUploadRequestDto' is not null or undefined
|
|
226
|
+
assertParamExists('completeFileUpload', 'completeUploadRequestDto', completeUploadRequestDto)
|
|
227
|
+
const localVarPath = `/v2/files/{fileKey}/complete`
|
|
228
|
+
.replace('{fileKey}', encodeURIComponent(String(fileKey)));
|
|
229
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
230
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
231
|
+
let baseOptions;
|
|
232
|
+
if (configuration) {
|
|
233
|
+
baseOptions = configuration.baseOptions;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
237
|
+
const localVarHeaderParameter = {} as any;
|
|
238
|
+
const localVarQueryParameter = {} as any;
|
|
239
|
+
|
|
240
|
+
// authentication partner-oauth2 required
|
|
241
|
+
// oauth required
|
|
242
|
+
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["files:write"], configuration)
|
|
243
|
+
|
|
244
|
+
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
245
|
+
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
246
|
+
|
|
247
|
+
if (idempotencyKey != null) {
|
|
248
|
+
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
249
|
+
}
|
|
250
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
251
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
252
|
+
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
253
|
+
localVarRequestOptions.data = serializeDataIfNeeded(completeUploadRequestDto, localVarRequestOptions, configuration)
|
|
254
|
+
|
|
255
|
+
return {
|
|
256
|
+
url: toPathString(localVarUrlObj),
|
|
257
|
+
options: localVarRequestOptions,
|
|
258
|
+
};
|
|
259
|
+
},
|
|
205
260
|
/**
|
|
206
261
|
* 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
207
262
|
* @summary 정산 마감
|
|
208
263
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
209
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
264
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
210
265
|
* @param {*} [options] Override http request option.
|
|
211
266
|
* @throws {RequiredError}
|
|
212
267
|
*/
|
|
@@ -249,7 +304,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
249
304
|
/**
|
|
250
305
|
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
251
306
|
* @summary 결제창 발행
|
|
252
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
307
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
253
308
|
* @param {CreateCardPaymentDto} createCardPaymentDto
|
|
254
309
|
* @param {*} [options] Override http request option.
|
|
255
310
|
* @throws {RequiredError}
|
|
@@ -294,7 +349,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
294
349
|
/**
|
|
295
350
|
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `paperCodes` 와 같은 순서로 같은 개수가 돌아옵니다.** 각 항목의 `fileUrl` 을 그대로 쓰면 되고, `paperCode` 로 어느 요청에 대한 결과인지 대응시킬 수 있습니다. **`name` 의 출처는 서류에 따라 다릅니다.** 시스템이 렌더한 서류는 계약서류명이고, 공급사 사전등록 3종(11·12·13)은 **공급사가 등록한 원본 파일명**입니다 — 채팅 첨부 라벨로 그대로 쓰세요. **필요한 입력:** 발주기관·공급사는 회원 ID 만 주면 됩니다. 상호·사업자번호·대표자·주소·직인은 c-market 이 회원 정보에서 직접 채웁니다. **전부 성공 또는 전부 실패입니다.** 지원하지 않는 서류가 하나라도 섞이면(400) 아무것도 만들지 않습니다. 렌더가 필요한 서류를 요청하면서 `contract` 를 빠뜨려도 마찬가지입니다(422). **135(수의계약체결제한여부확인서)를 요청하면 추가 입력이 필요합니다.** `contract.subject`(발주내용)·`contract.category`(계약구분)·`contract.buyerDepartment`(발주부서)가 필수이고, `documentInputs.contractRestrictionConfirm.answers`에 서식 ①~⑧에 대한 **계약상대자**의 답변 8개를 순서대로 담아야 합니다(c-market 이 대신 만들어낼 수 없는 값입니다). ⑨(발주자 확인사항)는 `documentInputs.contractRestrictionConfirm.buyerConfirmation`으로 선택 전달하며, 생략하면 서식에 빈칸으로 인쇄됩니다. 문항 ①~⑧의 원문은 `answers` 필드 설명을 참고하세요. **164(퇴직자영입현황확인서)를 요청하면 퇴직자 명단이 필요합니다.** `contract.subject`(서식의 \"수의계약 대상건명\")가 필수이고, `documentInputs.retireeRoster.rows` 에 명단을 넣습니다(성명·직급 필수, 직급·입사일·근무기간·비고 선택, 최대 50행). **퇴직자가 없으면 `rows` 를 빈 배열로 보내세요** — 서식에 \"해당사항 없음\"으로 인쇄됩니다. 블록 자체를 생략하면 422 입니다(\"퇴직자 없음\"과 \"확인하지 않음\"을 구분할 수 없기 때문입니다). **승낙사항(4·184·185·186·189·197·208)을 요청하면 `contract.subject`(계약건명)가 필수입니다.** 서식 상단 \"건명\" 칸에 인쇄되는 값이라 비면 어느 계약의 승낙인지 알 수 없습니다. 그 외 추가 입력은 없습니다 — 갑(발주기관) 서명란은 `buyerId` 로, 을(공급사) 서명란은 `supplierId` 로 c-market 이 채웁니다. 발주기관이 기관 전용 승낙사항 서식을 쓰면 요청한 코드 그대로 응답하되 PDF 는 그 기관 서식으로 발급됩니다. **응답의 `fileUrl` 은 만료되지 않습니다.** 채팅 메시지 등에 그대로 저장해 두어도 됩니다. **생성 가능한 회원 범위:** 조회와 같습니다 — 이 API 키에 설정된 대행 범위 안의 회원만 가능합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
296
351
|
* @summary 계약서류 생성
|
|
297
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
352
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
298
353
|
* @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
|
|
299
354
|
* @param {*} [options] Override http request option.
|
|
300
355
|
* @throws {RequiredError}
|
|
@@ -336,6 +391,51 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
336
391
|
options: localVarRequestOptions,
|
|
337
392
|
};
|
|
338
393
|
},
|
|
394
|
+
/**
|
|
395
|
+
* 파일 본문을 스토리지로 **직접** 올리기 위한 1회용 서명 URL 을 발급합니다. 3단계로 씁니다. 1. 이 호출로 `fileKey` 와 `uploadUrl` 을 받습니다. 2. `uploadUrl` 에 파일 본문을 `PUT` 합니다 — 응답의 `contentType` 을 `Content-Type` 헤더에 그대로 실으세요. 이 요청은 c-market 을 거치지 않습니다. 3. `POST /v2/files/{fileKey}/complete` 로 확정합니다. **`POST /v2/files` 와 언제 갈리나:** 작은 첨부는 `POST /v2/files` 한 번이 간단합니다. 다만 그 경로는 본문이 c-market 을 통과하므로 base64 팽창(4/3)까지 얹혀 원본 23MB 부근이 천장입니다. 이 경로는 바이트가 지나가지 않아 **100MB** 까지 올라갑니다. **`uploadUrl` 은 1회용입니다.** 덮어쓰기가 막혀 있고 `expiresIn` 초 뒤 만료됩니다 — 저장해 두고 재사용하지 마시고, 만료됐다면 이 호출부터 다시 하세요. **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
396
|
+
* @summary 첨부파일 업로드 주소 발급 (대용량·권장)
|
|
397
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
398
|
+
* @param {CreateUploadUrlRequestDto} createUploadUrlRequestDto
|
|
399
|
+
* @param {*} [options] Override http request option.
|
|
400
|
+
* @throws {RequiredError}
|
|
401
|
+
*/
|
|
402
|
+
createFileUploadUrl: async (idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
403
|
+
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
404
|
+
assertParamExists('createFileUploadUrl', 'idempotencyKey', idempotencyKey)
|
|
405
|
+
// verify required parameter 'createUploadUrlRequestDto' is not null or undefined
|
|
406
|
+
assertParamExists('createFileUploadUrl', 'createUploadUrlRequestDto', createUploadUrlRequestDto)
|
|
407
|
+
const localVarPath = `/v2/files/upload-url`;
|
|
408
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
409
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
410
|
+
let baseOptions;
|
|
411
|
+
if (configuration) {
|
|
412
|
+
baseOptions = configuration.baseOptions;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
|
|
416
|
+
const localVarHeaderParameter = {} as any;
|
|
417
|
+
const localVarQueryParameter = {} as any;
|
|
418
|
+
|
|
419
|
+
// authentication partner-oauth2 required
|
|
420
|
+
// oauth required
|
|
421
|
+
await setOAuthToObject(localVarHeaderParameter, "partner-oauth2", ["files:write"], configuration)
|
|
422
|
+
|
|
423
|
+
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
424
|
+
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
425
|
+
|
|
426
|
+
if (idempotencyKey != null) {
|
|
427
|
+
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
428
|
+
}
|
|
429
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
430
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
431
|
+
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
432
|
+
localVarRequestOptions.data = serializeDataIfNeeded(createUploadUrlRequestDto, localVarRequestOptions, configuration)
|
|
433
|
+
|
|
434
|
+
return {
|
|
435
|
+
url: toPathString(localVarUrlObj),
|
|
436
|
+
options: localVarRequestOptions,
|
|
437
|
+
};
|
|
438
|
+
},
|
|
339
439
|
/**
|
|
340
440
|
* 무인증 — `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` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
341
441
|
* @summary 파일 다운로드
|
|
@@ -489,7 +589,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
489
589
|
};
|
|
490
590
|
},
|
|
491
591
|
/**
|
|
492
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요.
|
|
592
|
+
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey` 만 아는 경우(예: 업로드 직후 크기 확인)를 위한 것입니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
|
|
493
593
|
* @summary 파일 정보 조회
|
|
494
594
|
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
495
595
|
* @param {*} [options] Override http request option.
|
|
@@ -784,7 +884,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
784
884
|
* 공고를 유찰 상태로 전환합니다. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드와 상세가 기록됩니다. **유찰사유 값 목록(failureReasonCode — 공개값):** | 값 | 의미 | |------|------| | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `OTHER` | 기타 (`failureReasonDetail` 필수) | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
785
885
|
* @summary 유찰 처리
|
|
786
886
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
787
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
887
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
788
888
|
* @param {MarkBidFailedRequestDto} markBidFailedRequestDto
|
|
789
889
|
* @param {*} [options] Override http request option.
|
|
790
890
|
* @throws {RequiredError}
|
|
@@ -833,7 +933,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
833
933
|
* 낙찰 결과를 등록합니다. 이 요청의 응답은 처리 상태 `AWARDED` 를 반환합니다. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 낙찰자(공급사)의 응찰 건이 낙찰 처리됩니다. - 이후 **공고의 조회 상태(status)는 계약진행(CONTRACT_IN_PROGRESS)** 으로 진행합니다. `AWARDED` 라는 공고 status 는 존재하지 않으므로, 낙찰 여부는 `GET /v2/bids/{bidRef}/results` 의 `participants[].isWinner` 또는 `GET /v2/bids/{bidRef}` 의 status(=계약진행)로 관측하세요(`status === \'AWARDED\'` 폴링 금지). - 협상 방식(NEGOTIATION/NEGOTIATION_AUTO) 공고는 이 엔드포인트 전에 `POST /v2/bids/{bidRef}/negotiation-scores`(협상 점수평가)로 평가를 완료해야 합니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
|
|
834
934
|
* @summary 낙찰 결과 전송
|
|
835
935
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
836
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
936
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
837
937
|
* @param {RegisterAwardRequestDto} registerAwardRequestDto
|
|
838
938
|
* @param {*} [options] Override http request option.
|
|
839
939
|
* @throws {RequiredError}
|
|
@@ -881,7 +981,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
881
981
|
/**
|
|
882
982
|
* 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
|
|
883
983
|
* @summary 공고 등록
|
|
884
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
984
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
885
985
|
* @param {CreateBidRequestDto} createBidRequestDto
|
|
886
986
|
* @param {*} [options] Override http request option.
|
|
887
987
|
* @throws {RequiredError}
|
|
@@ -926,7 +1026,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
926
1026
|
/**
|
|
927
1027
|
* 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
928
1028
|
* @summary 계약 발행대상 등록
|
|
929
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1029
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
930
1030
|
* @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
|
|
931
1031
|
* @param {*} [options] Override http request option.
|
|
932
1032
|
* @throws {RequiredError}
|
|
@@ -972,7 +1072,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
972
1072
|
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
|
|
973
1073
|
* @summary 계산서 분할 발급 청구
|
|
974
1074
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
975
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1075
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
976
1076
|
* @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
|
|
977
1077
|
* @param {*} [options] Override http request option.
|
|
978
1078
|
* @throws {RequiredError}
|
|
@@ -1021,7 +1121,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1021
1121
|
* 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
1022
1122
|
* @summary 낙찰 되돌리기
|
|
1023
1123
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1024
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1124
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1025
1125
|
* @param {RevertAwardRequestDto} revertAwardRequestDto
|
|
1026
1126
|
* @param {*} [options] Override http request option.
|
|
1027
1127
|
* @throws {RequiredError}
|
|
@@ -1070,7 +1170,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1070
1170
|
* 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 이 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
|
|
1071
1171
|
* @summary 협상 점수평가
|
|
1072
1172
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1073
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1173
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1074
1174
|
* @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
|
|
1075
1175
|
* @param {*} [options] Override http request option.
|
|
1076
1176
|
* @throws {RequiredError}
|
|
@@ -1119,20 +1219,17 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1119
1219
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
|
|
1120
1220
|
* @summary 공고 수정
|
|
1121
1221
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1122
|
-
* @param {string} ifMatch
|
|
1123
|
-
* @param {string}
|
|
1124
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body 로 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
|
|
1222
|
+
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다.
|
|
1223
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1125
1224
|
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
1126
1225
|
* @param {*} [options] Override http request option.
|
|
1127
1226
|
* @throws {RequiredError}
|
|
1128
1227
|
*/
|
|
1129
|
-
updateBid: async (bidRef: string, ifMatch: string,
|
|
1228
|
+
updateBid: async (bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
1130
1229
|
// verify required parameter 'bidRef' is not null or undefined
|
|
1131
1230
|
assertParamExists('updateBid', 'bidRef', bidRef)
|
|
1132
1231
|
// verify required parameter 'ifMatch' is not null or undefined
|
|
1133
1232
|
assertParamExists('updateBid', 'ifMatch', ifMatch)
|
|
1134
|
-
// verify required parameter 'ifMatch2' is not null or undefined
|
|
1135
|
-
assertParamExists('updateBid', 'ifMatch2', ifMatch2)
|
|
1136
1233
|
// verify required parameter 'idempotencyKey' is not null or undefined
|
|
1137
1234
|
assertParamExists('updateBid', 'idempotencyKey', idempotencyKey)
|
|
1138
1235
|
// verify required parameter 'updateBidRequestDto' is not null or undefined
|
|
@@ -1158,10 +1255,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1158
1255
|
localVarHeaderParameter['Accept'] = 'application/json,application/problem+json';
|
|
1159
1256
|
|
|
1160
1257
|
if (ifMatch != null) {
|
|
1161
|
-
localVarHeaderParameter['
|
|
1162
|
-
}
|
|
1163
|
-
if (ifMatch2 != null) {
|
|
1164
|
-
localVarHeaderParameter['If-Match'] = String(ifMatch2);
|
|
1258
|
+
localVarHeaderParameter['If-Match'] = String(ifMatch);
|
|
1165
1259
|
}
|
|
1166
1260
|
if (idempotencyKey != null) {
|
|
1167
1261
|
localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
|
|
@@ -1177,9 +1271,9 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1177
1271
|
};
|
|
1178
1272
|
},
|
|
1179
1273
|
/**
|
|
1180
|
-
* 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로
|
|
1181
|
-
* @summary 공고 첨부파일 업로드
|
|
1182
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1274
|
+
* 파일 본문을 `base64` 또는 `url` 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 실으세요. **크기 상한이 다른 경로가 하나 더 있습니다.** 이 경로는 본문이 c-market 을 통과하므로 base64 팽창(4/3)까지 얹혀 **원본 23MB 부근**이 천장입니다(`url` 로 제출하면 c-market 이 대신 내려받으므로 그 제약은 없습니다). 더 큰 파일은 `POST /v2/files/upload-url` 로 서명 URL 을 받아 스토리지에 직접 올리세요 — **100MB** 까지 됩니다. **공고 등록에 파일을 함께 실을 수도 있습니다.** `POST /v2/bids` 의 `attachments` 원소에 `{ fileName, url }`·`{ fileName, base64 }` 를 그대로 넣으면 이 호출 없이 한 번에 끝납니다. 여러 공고에 같은 파일을 재사용하거나 큰 파일을 다룰 때만 `fileKey` 를 먼저 만드세요. **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1275
|
+
* @summary 공고 첨부파일 업로드 (한 번에)
|
|
1276
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1183
1277
|
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
1184
1278
|
* @param {*} [options] Override http request option.
|
|
1185
1279
|
* @throws {RequiredError}
|
|
@@ -1234,7 +1328,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1234
1328
|
* 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
|
|
1235
1329
|
* @summary 공고 취소
|
|
1236
1330
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1237
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1331
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1238
1332
|
* @param {CancelBidRequestDto} cancelBidRequestDto
|
|
1239
1333
|
* @param {*} [options] Override http request option.
|
|
1240
1334
|
* @throws {RequiredError}
|
|
@@ -1249,7 +1343,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1249
1343
|
* 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 수 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1250
1344
|
* @summary 검수완료 전송
|
|
1251
1345
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1252
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1346
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1253
1347
|
* @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
|
|
1254
1348
|
* @param {*} [options] Override http request option.
|
|
1255
1349
|
* @throws {RequiredError}
|
|
@@ -1260,11 +1354,26 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1260
1354
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.completeAcceptance']?.[localVarOperationServerIndex]?.url;
|
|
1261
1355
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1262
1356
|
},
|
|
1357
|
+
/**
|
|
1358
|
+
* `uploadUrl` 로의 `PUT` 이 끝난 뒤 호출합니다. 올라온 파일을 실측해 등록하고, 그 시점부터 `fileKey` 를 공고 첨부로 쓸 수 있습니다. **확정 전 `fileKey` 는 첨부로 쓸 수 없습니다** — 공고 등록이 400 으로 거절됩니다. **신고한 크기가 아니라 실제 파일을 봅니다.** 발급 요청의 `fileSize` 와 다르면 실제 크기가 기록되고, 정책 상한을 넘으면 여기서 거절됩니다. **같은 `fileKey` 로 여러 번 호출해도 안전합니다**(멱등). **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1359
|
+
* @summary 첨부파일 업로드 확정
|
|
1360
|
+
* @param {string} fileKey 발급 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
1361
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1362
|
+
* @param {CompleteUploadRequestDto} completeUploadRequestDto
|
|
1363
|
+
* @param {*} [options] Override http request option.
|
|
1364
|
+
* @throws {RequiredError}
|
|
1365
|
+
*/
|
|
1366
|
+
async completeFileUpload(fileKey: string, idempotencyKey: string, completeUploadRequestDto: CompleteUploadRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UploadFile201Response>> {
|
|
1367
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.completeFileUpload(fileKey, idempotencyKey, completeUploadRequestDto, options);
|
|
1368
|
+
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
1369
|
+
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.completeFileUpload']?.[localVarOperationServerIndex]?.url;
|
|
1370
|
+
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1371
|
+
},
|
|
1263
1372
|
/**
|
|
1264
1373
|
* 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1265
1374
|
* @summary 정산 마감
|
|
1266
1375
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1267
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1376
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1268
1377
|
* @param {*} [options] Override http request option.
|
|
1269
1378
|
* @throws {RequiredError}
|
|
1270
1379
|
*/
|
|
@@ -1277,7 +1386,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1277
1386
|
/**
|
|
1278
1387
|
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
1279
1388
|
* @summary 결제창 발행
|
|
1280
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1389
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1281
1390
|
* @param {CreateCardPaymentDto} createCardPaymentDto
|
|
1282
1391
|
* @param {*} [options] Override http request option.
|
|
1283
1392
|
* @throws {RequiredError}
|
|
@@ -1291,7 +1400,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1291
1400
|
/**
|
|
1292
1401
|
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `paperCodes` 와 같은 순서로 같은 개수가 돌아옵니다.** 각 항목의 `fileUrl` 을 그대로 쓰면 되고, `paperCode` 로 어느 요청에 대한 결과인지 대응시킬 수 있습니다. **`name` 의 출처는 서류에 따라 다릅니다.** 시스템이 렌더한 서류는 계약서류명이고, 공급사 사전등록 3종(11·12·13)은 **공급사가 등록한 원본 파일명**입니다 — 채팅 첨부 라벨로 그대로 쓰세요. **필요한 입력:** 발주기관·공급사는 회원 ID 만 주면 됩니다. 상호·사업자번호·대표자·주소·직인은 c-market 이 회원 정보에서 직접 채웁니다. **전부 성공 또는 전부 실패입니다.** 지원하지 않는 서류가 하나라도 섞이면(400) 아무것도 만들지 않습니다. 렌더가 필요한 서류를 요청하면서 `contract` 를 빠뜨려도 마찬가지입니다(422). **135(수의계약체결제한여부확인서)를 요청하면 추가 입력이 필요합니다.** `contract.subject`(발주내용)·`contract.category`(계약구분)·`contract.buyerDepartment`(발주부서)가 필수이고, `documentInputs.contractRestrictionConfirm.answers`에 서식 ①~⑧에 대한 **계약상대자**의 답변 8개를 순서대로 담아야 합니다(c-market 이 대신 만들어낼 수 없는 값입니다). ⑨(발주자 확인사항)는 `documentInputs.contractRestrictionConfirm.buyerConfirmation`으로 선택 전달하며, 생략하면 서식에 빈칸으로 인쇄됩니다. 문항 ①~⑧의 원문은 `answers` 필드 설명을 참고하세요. **164(퇴직자영입현황확인서)를 요청하면 퇴직자 명단이 필요합니다.** `contract.subject`(서식의 \"수의계약 대상건명\")가 필수이고, `documentInputs.retireeRoster.rows` 에 명단을 넣습니다(성명·직급 필수, 직급·입사일·근무기간·비고 선택, 최대 50행). **퇴직자가 없으면 `rows` 를 빈 배열로 보내세요** — 서식에 \"해당사항 없음\"으로 인쇄됩니다. 블록 자체를 생략하면 422 입니다(\"퇴직자 없음\"과 \"확인하지 않음\"을 구분할 수 없기 때문입니다). **승낙사항(4·184·185·186·189·197·208)을 요청하면 `contract.subject`(계약건명)가 필수입니다.** 서식 상단 \"건명\" 칸에 인쇄되는 값이라 비면 어느 계약의 승낙인지 알 수 없습니다. 그 외 추가 입력은 없습니다 — 갑(발주기관) 서명란은 `buyerId` 로, 을(공급사) 서명란은 `supplierId` 로 c-market 이 채웁니다. 발주기관이 기관 전용 승낙사항 서식을 쓰면 요청한 코드 그대로 응답하되 PDF 는 그 기관 서식으로 발급됩니다. **응답의 `fileUrl` 은 만료되지 않습니다.** 채팅 메시지 등에 그대로 저장해 두어도 됩니다. **생성 가능한 회원 범위:** 조회와 같습니다 — 이 API 키에 설정된 대행 범위 안의 회원만 가능합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
1293
1402
|
* @summary 계약서류 생성
|
|
1294
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1403
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1295
1404
|
* @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
|
|
1296
1405
|
* @param {*} [options] Override http request option.
|
|
1297
1406
|
* @throws {RequiredError}
|
|
@@ -1302,6 +1411,20 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1302
1411
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.createExternalContractDocuments']?.[localVarOperationServerIndex]?.url;
|
|
1303
1412
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1304
1413
|
},
|
|
1414
|
+
/**
|
|
1415
|
+
* 파일 본문을 스토리지로 **직접** 올리기 위한 1회용 서명 URL 을 발급합니다. 3단계로 씁니다. 1. 이 호출로 `fileKey` 와 `uploadUrl` 을 받습니다. 2. `uploadUrl` 에 파일 본문을 `PUT` 합니다 — 응답의 `contentType` 을 `Content-Type` 헤더에 그대로 실으세요. 이 요청은 c-market 을 거치지 않습니다. 3. `POST /v2/files/{fileKey}/complete` 로 확정합니다. **`POST /v2/files` 와 언제 갈리나:** 작은 첨부는 `POST /v2/files` 한 번이 간단합니다. 다만 그 경로는 본문이 c-market 을 통과하므로 base64 팽창(4/3)까지 얹혀 원본 23MB 부근이 천장입니다. 이 경로는 바이트가 지나가지 않아 **100MB** 까지 올라갑니다. **`uploadUrl` 은 1회용입니다.** 덮어쓰기가 막혀 있고 `expiresIn` 초 뒤 만료됩니다 — 저장해 두고 재사용하지 마시고, 만료됐다면 이 호출부터 다시 하세요. **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1416
|
+
* @summary 첨부파일 업로드 주소 발급 (대용량·권장)
|
|
1417
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1418
|
+
* @param {CreateUploadUrlRequestDto} createUploadUrlRequestDto
|
|
1419
|
+
* @param {*} [options] Override http request option.
|
|
1420
|
+
* @throws {RequiredError}
|
|
1421
|
+
*/
|
|
1422
|
+
async createFileUploadUrl(idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateFileUploadUrl201Response>> {
|
|
1423
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.createFileUploadUrl(idempotencyKey, createUploadUrlRequestDto, options);
|
|
1424
|
+
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
1425
|
+
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.createFileUploadUrl']?.[localVarOperationServerIndex]?.url;
|
|
1426
|
+
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1427
|
+
},
|
|
1305
1428
|
/**
|
|
1306
1429
|
* 무인증 — `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` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
1307
1430
|
* @summary 파일 다운로드
|
|
@@ -1356,7 +1479,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1356
1479
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1357
1480
|
},
|
|
1358
1481
|
/**
|
|
1359
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요.
|
|
1482
|
+
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey` 만 아는 경우(예: 업로드 직후 크기 확인)를 위한 것입니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
|
|
1360
1483
|
* @summary 파일 정보 조회
|
|
1361
1484
|
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
1362
1485
|
* @param {*} [options] Override http request option.
|
|
@@ -1454,7 +1577,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1454
1577
|
* 공고를 유찰 상태로 전환합니다. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드와 상세가 기록됩니다. **유찰사유 값 목록(failureReasonCode — 공개값):** | 값 | 의미 | |------|------| | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `OTHER` | 기타 (`failureReasonDetail` 필수) | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1455
1578
|
* @summary 유찰 처리
|
|
1456
1579
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1457
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1580
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1458
1581
|
* @param {MarkBidFailedRequestDto} markBidFailedRequestDto
|
|
1459
1582
|
* @param {*} [options] Override http request option.
|
|
1460
1583
|
* @throws {RequiredError}
|
|
@@ -1469,7 +1592,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1469
1592
|
* 낙찰 결과를 등록합니다. 이 요청의 응답은 처리 상태 `AWARDED` 를 반환합니다. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 낙찰자(공급사)의 응찰 건이 낙찰 처리됩니다. - 이후 **공고의 조회 상태(status)는 계약진행(CONTRACT_IN_PROGRESS)** 으로 진행합니다. `AWARDED` 라는 공고 status 는 존재하지 않으므로, 낙찰 여부는 `GET /v2/bids/{bidRef}/results` 의 `participants[].isWinner` 또는 `GET /v2/bids/{bidRef}` 의 status(=계약진행)로 관측하세요(`status === \'AWARDED\'` 폴링 금지). - 협상 방식(NEGOTIATION/NEGOTIATION_AUTO) 공고는 이 엔드포인트 전에 `POST /v2/bids/{bidRef}/negotiation-scores`(협상 점수평가)로 평가를 완료해야 합니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
|
|
1470
1593
|
* @summary 낙찰 결과 전송
|
|
1471
1594
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1472
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1595
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1473
1596
|
* @param {RegisterAwardRequestDto} registerAwardRequestDto
|
|
1474
1597
|
* @param {*} [options] Override http request option.
|
|
1475
1598
|
* @throws {RequiredError}
|
|
@@ -1483,7 +1606,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1483
1606
|
/**
|
|
1484
1607
|
* 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
|
|
1485
1608
|
* @summary 공고 등록
|
|
1486
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1609
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1487
1610
|
* @param {CreateBidRequestDto} createBidRequestDto
|
|
1488
1611
|
* @param {*} [options] Override http request option.
|
|
1489
1612
|
* @throws {RequiredError}
|
|
@@ -1497,7 +1620,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1497
1620
|
/**
|
|
1498
1621
|
* 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
1499
1622
|
* @summary 계약 발행대상 등록
|
|
1500
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1623
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1501
1624
|
* @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
|
|
1502
1625
|
* @param {*} [options] Override http request option.
|
|
1503
1626
|
* @throws {RequiredError}
|
|
@@ -1512,7 +1635,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1512
1635
|
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
|
|
1513
1636
|
* @summary 계산서 분할 발급 청구
|
|
1514
1637
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1515
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1638
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1516
1639
|
* @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
|
|
1517
1640
|
* @param {*} [options] Override http request option.
|
|
1518
1641
|
* @throws {RequiredError}
|
|
@@ -1527,7 +1650,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1527
1650
|
* 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
1528
1651
|
* @summary 낙찰 되돌리기
|
|
1529
1652
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1530
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1653
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1531
1654
|
* @param {RevertAwardRequestDto} revertAwardRequestDto
|
|
1532
1655
|
* @param {*} [options] Override http request option.
|
|
1533
1656
|
* @throws {RequiredError}
|
|
@@ -1542,7 +1665,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1542
1665
|
* 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 이 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
|
|
1543
1666
|
* @summary 협상 점수평가
|
|
1544
1667
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1545
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1668
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1546
1669
|
* @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
|
|
1547
1670
|
* @param {*} [options] Override http request option.
|
|
1548
1671
|
* @throws {RequiredError}
|
|
@@ -1557,23 +1680,22 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1557
1680
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
|
|
1558
1681
|
* @summary 공고 수정
|
|
1559
1682
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1560
|
-
* @param {string} ifMatch
|
|
1561
|
-
* @param {string}
|
|
1562
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body 로 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
|
|
1683
|
+
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다.
|
|
1684
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1563
1685
|
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
1564
1686
|
* @param {*} [options] Override http request option.
|
|
1565
1687
|
* @throws {RequiredError}
|
|
1566
1688
|
*/
|
|
1567
|
-
async updateBid(bidRef: string, ifMatch: string,
|
|
1568
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.updateBid(bidRef, ifMatch,
|
|
1689
|
+
async updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UpdateBid200Response>> {
|
|
1690
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options);
|
|
1569
1691
|
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
|
|
1570
1692
|
const localVarOperationServerBasePath = operationServerMap['PartnerApiApi.updateBid']?.[localVarOperationServerIndex]?.url;
|
|
1571
1693
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1572
1694
|
},
|
|
1573
1695
|
/**
|
|
1574
|
-
* 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로
|
|
1575
|
-
* @summary 공고 첨부파일 업로드
|
|
1576
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1696
|
+
* 파일 본문을 `base64` 또는 `url` 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 실으세요. **크기 상한이 다른 경로가 하나 더 있습니다.** 이 경로는 본문이 c-market 을 통과하므로 base64 팽창(4/3)까지 얹혀 **원본 23MB 부근**이 천장입니다(`url` 로 제출하면 c-market 이 대신 내려받으므로 그 제약은 없습니다). 더 큰 파일은 `POST /v2/files/upload-url` 로 서명 URL 을 받아 스토리지에 직접 올리세요 — **100MB** 까지 됩니다. **공고 등록에 파일을 함께 실을 수도 있습니다.** `POST /v2/bids` 의 `attachments` 원소에 `{ fileName, url }`·`{ fileName, base64 }` 를 그대로 넣으면 이 호출 없이 한 번에 끝납니다. 여러 공고에 같은 파일을 재사용하거나 큰 파일을 다룰 때만 `fileKey` 를 먼저 만드세요. **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1697
|
+
* @summary 공고 첨부파일 업로드 (한 번에)
|
|
1698
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1577
1699
|
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
1578
1700
|
* @param {*} [options] Override http request option.
|
|
1579
1701
|
* @throws {RequiredError}
|
|
@@ -1597,7 +1719,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1597
1719
|
* 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
|
|
1598
1720
|
* @summary 공고 취소
|
|
1599
1721
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1600
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1722
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1601
1723
|
* @param {CancelBidRequestDto} cancelBidRequestDto
|
|
1602
1724
|
* @param {*} [options] Override http request option.
|
|
1603
1725
|
* @throws {RequiredError}
|
|
@@ -1609,7 +1731,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1609
1731
|
* 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 수 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1610
1732
|
* @summary 검수완료 전송
|
|
1611
1733
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1612
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1734
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1613
1735
|
* @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
|
|
1614
1736
|
* @param {*} [options] Override http request option.
|
|
1615
1737
|
* @throws {RequiredError}
|
|
@@ -1617,11 +1739,23 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1617
1739
|
completeAcceptance(bidRef: string, idempotencyKey: string, completeAcceptanceRequestDto: CompleteAcceptanceRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CompleteAcceptance200Response> {
|
|
1618
1740
|
return localVarFp.completeAcceptance(bidRef, idempotencyKey, completeAcceptanceRequestDto, options).then((request) => request(axios, basePath));
|
|
1619
1741
|
},
|
|
1742
|
+
/**
|
|
1743
|
+
* `uploadUrl` 로의 `PUT` 이 끝난 뒤 호출합니다. 올라온 파일을 실측해 등록하고, 그 시점부터 `fileKey` 를 공고 첨부로 쓸 수 있습니다. **확정 전 `fileKey` 는 첨부로 쓸 수 없습니다** — 공고 등록이 400 으로 거절됩니다. **신고한 크기가 아니라 실제 파일을 봅니다.** 발급 요청의 `fileSize` 와 다르면 실제 크기가 기록되고, 정책 상한을 넘으면 여기서 거절됩니다. **같은 `fileKey` 로 여러 번 호출해도 안전합니다**(멱등). **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1744
|
+
* @summary 첨부파일 업로드 확정
|
|
1745
|
+
* @param {string} fileKey 발급 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
1746
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1747
|
+
* @param {CompleteUploadRequestDto} completeUploadRequestDto
|
|
1748
|
+
* @param {*} [options] Override http request option.
|
|
1749
|
+
* @throws {RequiredError}
|
|
1750
|
+
*/
|
|
1751
|
+
completeFileUpload(fileKey: string, idempotencyKey: string, completeUploadRequestDto: CompleteUploadRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UploadFile201Response> {
|
|
1752
|
+
return localVarFp.completeFileUpload(fileKey, idempotencyKey, completeUploadRequestDto, options).then((request) => request(axios, basePath));
|
|
1753
|
+
},
|
|
1620
1754
|
/**
|
|
1621
1755
|
* 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1622
1756
|
* @summary 정산 마감
|
|
1623
1757
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1624
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1758
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1625
1759
|
* @param {*} [options] Override http request option.
|
|
1626
1760
|
* @throws {RequiredError}
|
|
1627
1761
|
*/
|
|
@@ -1631,7 +1765,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1631
1765
|
/**
|
|
1632
1766
|
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
1633
1767
|
* @summary 결제창 발행
|
|
1634
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1768
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1635
1769
|
* @param {CreateCardPaymentDto} createCardPaymentDto
|
|
1636
1770
|
* @param {*} [options] Override http request option.
|
|
1637
1771
|
* @throws {RequiredError}
|
|
@@ -1642,7 +1776,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1642
1776
|
/**
|
|
1643
1777
|
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `paperCodes` 와 같은 순서로 같은 개수가 돌아옵니다.** 각 항목의 `fileUrl` 을 그대로 쓰면 되고, `paperCode` 로 어느 요청에 대한 결과인지 대응시킬 수 있습니다. **`name` 의 출처는 서류에 따라 다릅니다.** 시스템이 렌더한 서류는 계약서류명이고, 공급사 사전등록 3종(11·12·13)은 **공급사가 등록한 원본 파일명**입니다 — 채팅 첨부 라벨로 그대로 쓰세요. **필요한 입력:** 발주기관·공급사는 회원 ID 만 주면 됩니다. 상호·사업자번호·대표자·주소·직인은 c-market 이 회원 정보에서 직접 채웁니다. **전부 성공 또는 전부 실패입니다.** 지원하지 않는 서류가 하나라도 섞이면(400) 아무것도 만들지 않습니다. 렌더가 필요한 서류를 요청하면서 `contract` 를 빠뜨려도 마찬가지입니다(422). **135(수의계약체결제한여부확인서)를 요청하면 추가 입력이 필요합니다.** `contract.subject`(발주내용)·`contract.category`(계약구분)·`contract.buyerDepartment`(발주부서)가 필수이고, `documentInputs.contractRestrictionConfirm.answers`에 서식 ①~⑧에 대한 **계약상대자**의 답변 8개를 순서대로 담아야 합니다(c-market 이 대신 만들어낼 수 없는 값입니다). ⑨(발주자 확인사항)는 `documentInputs.contractRestrictionConfirm.buyerConfirmation`으로 선택 전달하며, 생략하면 서식에 빈칸으로 인쇄됩니다. 문항 ①~⑧의 원문은 `answers` 필드 설명을 참고하세요. **164(퇴직자영입현황확인서)를 요청하면 퇴직자 명단이 필요합니다.** `contract.subject`(서식의 \"수의계약 대상건명\")가 필수이고, `documentInputs.retireeRoster.rows` 에 명단을 넣습니다(성명·직급 필수, 직급·입사일·근무기간·비고 선택, 최대 50행). **퇴직자가 없으면 `rows` 를 빈 배열로 보내세요** — 서식에 \"해당사항 없음\"으로 인쇄됩니다. 블록 자체를 생략하면 422 입니다(\"퇴직자 없음\"과 \"확인하지 않음\"을 구분할 수 없기 때문입니다). **승낙사항(4·184·185·186·189·197·208)을 요청하면 `contract.subject`(계약건명)가 필수입니다.** 서식 상단 \"건명\" 칸에 인쇄되는 값이라 비면 어느 계약의 승낙인지 알 수 없습니다. 그 외 추가 입력은 없습니다 — 갑(발주기관) 서명란은 `buyerId` 로, 을(공급사) 서명란은 `supplierId` 로 c-market 이 채웁니다. 발주기관이 기관 전용 승낙사항 서식을 쓰면 요청한 코드 그대로 응답하되 PDF 는 그 기관 서식으로 발급됩니다. **응답의 `fileUrl` 은 만료되지 않습니다.** 채팅 메시지 등에 그대로 저장해 두어도 됩니다. **생성 가능한 회원 범위:** 조회와 같습니다 — 이 API 키에 설정된 대행 범위 안의 회원만 가능합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
1644
1778
|
* @summary 계약서류 생성
|
|
1645
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1779
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1646
1780
|
* @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
|
|
1647
1781
|
* @param {*} [options] Override http request option.
|
|
1648
1782
|
* @throws {RequiredError}
|
|
@@ -1650,6 +1784,17 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1650
1784
|
createExternalContractDocuments(idempotencyKey: string, createExternalContractDocumentsRequestDto: CreateExternalContractDocumentsRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CreateExternalContractDocumentsResponseDto> {
|
|
1651
1785
|
return localVarFp.createExternalContractDocuments(idempotencyKey, createExternalContractDocumentsRequestDto, options).then((request) => request(axios, basePath));
|
|
1652
1786
|
},
|
|
1787
|
+
/**
|
|
1788
|
+
* 파일 본문을 스토리지로 **직접** 올리기 위한 1회용 서명 URL 을 발급합니다. 3단계로 씁니다. 1. 이 호출로 `fileKey` 와 `uploadUrl` 을 받습니다. 2. `uploadUrl` 에 파일 본문을 `PUT` 합니다 — 응답의 `contentType` 을 `Content-Type` 헤더에 그대로 실으세요. 이 요청은 c-market 을 거치지 않습니다. 3. `POST /v2/files/{fileKey}/complete` 로 확정합니다. **`POST /v2/files` 와 언제 갈리나:** 작은 첨부는 `POST /v2/files` 한 번이 간단합니다. 다만 그 경로는 본문이 c-market 을 통과하므로 base64 팽창(4/3)까지 얹혀 원본 23MB 부근이 천장입니다. 이 경로는 바이트가 지나가지 않아 **100MB** 까지 올라갑니다. **`uploadUrl` 은 1회용입니다.** 덮어쓰기가 막혀 있고 `expiresIn` 초 뒤 만료됩니다 — 저장해 두고 재사용하지 마시고, 만료됐다면 이 호출부터 다시 하세요. **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1789
|
+
* @summary 첨부파일 업로드 주소 발급 (대용량·권장)
|
|
1790
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1791
|
+
* @param {CreateUploadUrlRequestDto} createUploadUrlRequestDto
|
|
1792
|
+
* @param {*} [options] Override http request option.
|
|
1793
|
+
* @throws {RequiredError}
|
|
1794
|
+
*/
|
|
1795
|
+
createFileUploadUrl(idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CreateFileUploadUrl201Response> {
|
|
1796
|
+
return localVarFp.createFileUploadUrl(idempotencyKey, createUploadUrlRequestDto, options).then((request) => request(axios, basePath));
|
|
1797
|
+
},
|
|
1653
1798
|
/**
|
|
1654
1799
|
* 무인증 — `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` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
1655
1800
|
* @summary 파일 다운로드
|
|
@@ -1692,7 +1837,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1692
1837
|
return localVarFp.getBidStatement(bidRef, paperCode, options).then((request) => request(axios, basePath));
|
|
1693
1838
|
},
|
|
1694
1839
|
/**
|
|
1695
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요.
|
|
1840
|
+
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey` 만 아는 경우(예: 업로드 직후 크기 확인)를 위한 것입니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
|
|
1696
1841
|
* @summary 파일 정보 조회
|
|
1697
1842
|
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
1698
1843
|
* @param {*} [options] Override http request option.
|
|
@@ -1769,7 +1914,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1769
1914
|
* 공고를 유찰 상태로 전환합니다. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드와 상세가 기록됩니다. **유찰사유 값 목록(failureReasonCode — 공개값):** | 값 | 의미 | |------|------| | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `OTHER` | 기타 (`failureReasonDetail` 필수) | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1770
1915
|
* @summary 유찰 처리
|
|
1771
1916
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1772
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1917
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1773
1918
|
* @param {MarkBidFailedRequestDto} markBidFailedRequestDto
|
|
1774
1919
|
* @param {*} [options] Override http request option.
|
|
1775
1920
|
* @throws {RequiredError}
|
|
@@ -1781,7 +1926,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1781
1926
|
* 낙찰 결과를 등록합니다. 이 요청의 응답은 처리 상태 `AWARDED` 를 반환합니다. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 낙찰자(공급사)의 응찰 건이 낙찰 처리됩니다. - 이후 **공고의 조회 상태(status)는 계약진행(CONTRACT_IN_PROGRESS)** 으로 진행합니다. `AWARDED` 라는 공고 status 는 존재하지 않으므로, 낙찰 여부는 `GET /v2/bids/{bidRef}/results` 의 `participants[].isWinner` 또는 `GET /v2/bids/{bidRef}` 의 status(=계약진행)로 관측하세요(`status === \'AWARDED\'` 폴링 금지). - 협상 방식(NEGOTIATION/NEGOTIATION_AUTO) 공고는 이 엔드포인트 전에 `POST /v2/bids/{bidRef}/negotiation-scores`(협상 점수평가)로 평가를 완료해야 합니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
|
|
1782
1927
|
* @summary 낙찰 결과 전송
|
|
1783
1928
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1784
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1929
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1785
1930
|
* @param {RegisterAwardRequestDto} registerAwardRequestDto
|
|
1786
1931
|
* @param {*} [options] Override http request option.
|
|
1787
1932
|
* @throws {RequiredError}
|
|
@@ -1792,7 +1937,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1792
1937
|
/**
|
|
1793
1938
|
* 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
|
|
1794
1939
|
* @summary 공고 등록
|
|
1795
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1940
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1796
1941
|
* @param {CreateBidRequestDto} createBidRequestDto
|
|
1797
1942
|
* @param {*} [options] Override http request option.
|
|
1798
1943
|
* @throws {RequiredError}
|
|
@@ -1803,7 +1948,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1803
1948
|
/**
|
|
1804
1949
|
* 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
1805
1950
|
* @summary 계약 발행대상 등록
|
|
1806
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1951
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1807
1952
|
* @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
|
|
1808
1953
|
* @param {*} [options] Override http request option.
|
|
1809
1954
|
* @throws {RequiredError}
|
|
@@ -1815,7 +1960,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1815
1960
|
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
|
|
1816
1961
|
* @summary 계산서 분할 발급 청구
|
|
1817
1962
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1818
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1963
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1819
1964
|
* @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
|
|
1820
1965
|
* @param {*} [options] Override http request option.
|
|
1821
1966
|
* @throws {RequiredError}
|
|
@@ -1827,7 +1972,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1827
1972
|
* 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
1828
1973
|
* @summary 낙찰 되돌리기
|
|
1829
1974
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1830
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1975
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1831
1976
|
* @param {RevertAwardRequestDto} revertAwardRequestDto
|
|
1832
1977
|
* @param {*} [options] Override http request option.
|
|
1833
1978
|
* @throws {RequiredError}
|
|
@@ -1839,7 +1984,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1839
1984
|
* 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 이 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
|
|
1840
1985
|
* @summary 협상 점수평가
|
|
1841
1986
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1842
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
1987
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1843
1988
|
* @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
|
|
1844
1989
|
* @param {*} [options] Override http request option.
|
|
1845
1990
|
* @throws {RequiredError}
|
|
@@ -1851,20 +1996,19 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
1851
1996
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
|
|
1852
1997
|
* @summary 공고 수정
|
|
1853
1998
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1854
|
-
* @param {string} ifMatch
|
|
1855
|
-
* @param {string}
|
|
1856
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body 로 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
|
|
1999
|
+
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다.
|
|
2000
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1857
2001
|
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
1858
2002
|
* @param {*} [options] Override http request option.
|
|
1859
2003
|
* @throws {RequiredError}
|
|
1860
2004
|
*/
|
|
1861
|
-
updateBid(bidRef: string, ifMatch: string,
|
|
1862
|
-
return localVarFp.updateBid(bidRef, ifMatch,
|
|
2005
|
+
updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UpdateBid200Response> {
|
|
2006
|
+
return localVarFp.updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options).then((request) => request(axios, basePath));
|
|
1863
2007
|
},
|
|
1864
2008
|
/**
|
|
1865
|
-
* 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로
|
|
1866
|
-
* @summary 공고 첨부파일 업로드
|
|
1867
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2009
|
+
* 파일 본문을 `base64` 또는 `url` 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 실으세요. **크기 상한이 다른 경로가 하나 더 있습니다.** 이 경로는 본문이 c-market 을 통과하므로 base64 팽창(4/3)까지 얹혀 **원본 23MB 부근**이 천장입니다(`url` 로 제출하면 c-market 이 대신 내려받으므로 그 제약은 없습니다). 더 큰 파일은 `POST /v2/files/upload-url` 로 서명 URL 을 받아 스토리지에 직접 올리세요 — **100MB** 까지 됩니다. **공고 등록에 파일을 함께 실을 수도 있습니다.** `POST /v2/bids` 의 `attachments` 원소에 `{ fileName, url }`·`{ fileName, base64 }` 를 그대로 넣으면 이 호출 없이 한 번에 끝납니다. 여러 공고에 같은 파일을 재사용하거나 큰 파일을 다룰 때만 `fileKey` 를 먼저 만드세요. **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
2010
|
+
* @summary 공고 첨부파일 업로드 (한 번에)
|
|
2011
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1868
2012
|
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
1869
2013
|
* @param {*} [options] Override http request option.
|
|
1870
2014
|
* @throws {RequiredError}
|
|
@@ -1883,7 +2027,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
1883
2027
|
* 진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidRef}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
|
|
1884
2028
|
* @summary 공고 취소
|
|
1885
2029
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1886
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2030
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1887
2031
|
* @param {CancelBidRequestDto} cancelBidRequestDto
|
|
1888
2032
|
* @param {*} [options] Override http request option.
|
|
1889
2033
|
* @throws {RequiredError}
|
|
@@ -1896,7 +2040,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
1896
2040
|
* 낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점입니다. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 현금 결제 공고는 세금계산서 발행요청이 등록되고, 낙찰자(공급사)에게 발행요청 알림·문자가 발송됩니다. 카드 결제 공고는 발행요청 축이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 응답 코드는 200이며, 처리 결과가 본문에 담겨 반환됩니다. **부분계약(협의 감액):** 낙찰 후 협의로 계약금액이 줄었으면 `supplyAmount`+`vat` 를 함께 보내세요. 그 금액으로 계산서 발행이 요청됩니다. 생략하면 낙찰금액에서 파생합니다. 현금 결제 공고·낙찰자 1인·감액(증액 불가)일 때만 허용되며, 어긋나면 409 입니다. **문서에 찍히는 값:** 거래명세서·검수보고서의 구매사 사업자정보·담당자·작성일자는 등록된 발주처 정보에서 채워집니다. 요청으로 덮어쓸 수 없습니다. **낙찰자:** 공고의 낙찰 상태에서 결정되며 요청으로 지정하지 않습니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1897
2041
|
* @summary 검수완료 전송
|
|
1898
2042
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1899
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2043
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1900
2044
|
* @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
|
|
1901
2045
|
* @param {*} [options] Override http request option.
|
|
1902
2046
|
* @throws {RequiredError}
|
|
@@ -1905,11 +2049,24 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
1905
2049
|
return PartnerApiApiFp(this.configuration).completeAcceptance(bidRef, idempotencyKey, completeAcceptanceRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
1906
2050
|
}
|
|
1907
2051
|
|
|
2052
|
+
/**
|
|
2053
|
+
* `uploadUrl` 로의 `PUT` 이 끝난 뒤 호출합니다. 올라온 파일을 실측해 등록하고, 그 시점부터 `fileKey` 를 공고 첨부로 쓸 수 있습니다. **확정 전 `fileKey` 는 첨부로 쓸 수 없습니다** — 공고 등록이 400 으로 거절됩니다. **신고한 크기가 아니라 실제 파일을 봅니다.** 발급 요청의 `fileSize` 와 다르면 실제 크기가 기록되고, 정책 상한을 넘으면 여기서 거절됩니다. **같은 `fileKey` 로 여러 번 호출해도 안전합니다**(멱등). **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
2054
|
+
* @summary 첨부파일 업로드 확정
|
|
2055
|
+
* @param {string} fileKey 발급 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
2056
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2057
|
+
* @param {CompleteUploadRequestDto} completeUploadRequestDto
|
|
2058
|
+
* @param {*} [options] Override http request option.
|
|
2059
|
+
* @throws {RequiredError}
|
|
2060
|
+
*/
|
|
2061
|
+
public completeFileUpload(fileKey: string, idempotencyKey: string, completeUploadRequestDto: CompleteUploadRequestDto, options?: RawAxiosRequestConfig) {
|
|
2062
|
+
return PartnerApiApiFp(this.configuration).completeFileUpload(fileKey, idempotencyKey, completeUploadRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
2063
|
+
}
|
|
2064
|
+
|
|
1908
2065
|
/**
|
|
1909
2066
|
* 공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1910
2067
|
* @summary 정산 마감
|
|
1911
2068
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1912
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2069
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1913
2070
|
* @param {*} [options] Override http request option.
|
|
1914
2071
|
* @throws {RequiredError}
|
|
1915
2072
|
*/
|
|
@@ -1920,7 +2077,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
1920
2077
|
/**
|
|
1921
2078
|
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
1922
2079
|
* @summary 결제창 발행
|
|
1923
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2080
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1924
2081
|
* @param {CreateCardPaymentDto} createCardPaymentDto
|
|
1925
2082
|
* @param {*} [options] Override http request option.
|
|
1926
2083
|
* @throws {RequiredError}
|
|
@@ -1932,7 +2089,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
1932
2089
|
/**
|
|
1933
2090
|
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `paperCodes` 와 같은 순서로 같은 개수가 돌아옵니다.** 각 항목의 `fileUrl` 을 그대로 쓰면 되고, `paperCode` 로 어느 요청에 대한 결과인지 대응시킬 수 있습니다. **`name` 의 출처는 서류에 따라 다릅니다.** 시스템이 렌더한 서류는 계약서류명이고, 공급사 사전등록 3종(11·12·13)은 **공급사가 등록한 원본 파일명**입니다 — 채팅 첨부 라벨로 그대로 쓰세요. **필요한 입력:** 발주기관·공급사는 회원 ID 만 주면 됩니다. 상호·사업자번호·대표자·주소·직인은 c-market 이 회원 정보에서 직접 채웁니다. **전부 성공 또는 전부 실패입니다.** 지원하지 않는 서류가 하나라도 섞이면(400) 아무것도 만들지 않습니다. 렌더가 필요한 서류를 요청하면서 `contract` 를 빠뜨려도 마찬가지입니다(422). **135(수의계약체결제한여부확인서)를 요청하면 추가 입력이 필요합니다.** `contract.subject`(발주내용)·`contract.category`(계약구분)·`contract.buyerDepartment`(발주부서)가 필수이고, `documentInputs.contractRestrictionConfirm.answers`에 서식 ①~⑧에 대한 **계약상대자**의 답변 8개를 순서대로 담아야 합니다(c-market 이 대신 만들어낼 수 없는 값입니다). ⑨(발주자 확인사항)는 `documentInputs.contractRestrictionConfirm.buyerConfirmation`으로 선택 전달하며, 생략하면 서식에 빈칸으로 인쇄됩니다. 문항 ①~⑧의 원문은 `answers` 필드 설명을 참고하세요. **164(퇴직자영입현황확인서)를 요청하면 퇴직자 명단이 필요합니다.** `contract.subject`(서식의 \"수의계약 대상건명\")가 필수이고, `documentInputs.retireeRoster.rows` 에 명단을 넣습니다(성명·직급 필수, 직급·입사일·근무기간·비고 선택, 최대 50행). **퇴직자가 없으면 `rows` 를 빈 배열로 보내세요** — 서식에 \"해당사항 없음\"으로 인쇄됩니다. 블록 자체를 생략하면 422 입니다(\"퇴직자 없음\"과 \"확인하지 않음\"을 구분할 수 없기 때문입니다). **승낙사항(4·184·185·186·189·197·208)을 요청하면 `contract.subject`(계약건명)가 필수입니다.** 서식 상단 \"건명\" 칸에 인쇄되는 값이라 비면 어느 계약의 승낙인지 알 수 없습니다. 그 외 추가 입력은 없습니다 — 갑(발주기관) 서명란은 `buyerId` 로, 을(공급사) 서명란은 `supplierId` 로 c-market 이 채웁니다. 발주기관이 기관 전용 승낙사항 서식을 쓰면 요청한 코드 그대로 응답하되 PDF 는 그 기관 서식으로 발급됩니다. **응답의 `fileUrl` 은 만료되지 않습니다.** 채팅 메시지 등에 그대로 저장해 두어도 됩니다. **생성 가능한 회원 범위:** 조회와 같습니다 — 이 API 키에 설정된 대행 범위 안의 회원만 가능합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
1934
2091
|
* @summary 계약서류 생성
|
|
1935
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2092
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1936
2093
|
* @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
|
|
1937
2094
|
* @param {*} [options] Override http request option.
|
|
1938
2095
|
* @throws {RequiredError}
|
|
@@ -1941,6 +2098,18 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
1941
2098
|
return PartnerApiApiFp(this.configuration).createExternalContractDocuments(idempotencyKey, createExternalContractDocumentsRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
1942
2099
|
}
|
|
1943
2100
|
|
|
2101
|
+
/**
|
|
2102
|
+
* 파일 본문을 스토리지로 **직접** 올리기 위한 1회용 서명 URL 을 발급합니다. 3단계로 씁니다. 1. 이 호출로 `fileKey` 와 `uploadUrl` 을 받습니다. 2. `uploadUrl` 에 파일 본문을 `PUT` 합니다 — 응답의 `contentType` 을 `Content-Type` 헤더에 그대로 실으세요. 이 요청은 c-market 을 거치지 않습니다. 3. `POST /v2/files/{fileKey}/complete` 로 확정합니다. **`POST /v2/files` 와 언제 갈리나:** 작은 첨부는 `POST /v2/files` 한 번이 간단합니다. 다만 그 경로는 본문이 c-market 을 통과하므로 base64 팽창(4/3)까지 얹혀 원본 23MB 부근이 천장입니다. 이 경로는 바이트가 지나가지 않아 **100MB** 까지 올라갑니다. **`uploadUrl` 은 1회용입니다.** 덮어쓰기가 막혀 있고 `expiresIn` 초 뒤 만료됩니다 — 저장해 두고 재사용하지 마시고, 만료됐다면 이 호출부터 다시 하세요. **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
2103
|
+
* @summary 첨부파일 업로드 주소 발급 (대용량·권장)
|
|
2104
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2105
|
+
* @param {CreateUploadUrlRequestDto} createUploadUrlRequestDto
|
|
2106
|
+
* @param {*} [options] Override http request option.
|
|
2107
|
+
* @throws {RequiredError}
|
|
2108
|
+
*/
|
|
2109
|
+
public createFileUploadUrl(idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options?: RawAxiosRequestConfig) {
|
|
2110
|
+
return PartnerApiApiFp(this.configuration).createFileUploadUrl(idempotencyKey, createUploadUrlRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
2111
|
+
}
|
|
2112
|
+
|
|
1944
2113
|
/**
|
|
1945
2114
|
* 무인증 — `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` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
1946
2115
|
* @summary 파일 다운로드
|
|
@@ -1987,7 +2156,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
1987
2156
|
}
|
|
1988
2157
|
|
|
1989
2158
|
/**
|
|
1990
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요.
|
|
2159
|
+
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey` 만 아는 경우(예: 업로드 직후 크기 확인)를 위한 것입니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex 가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
|
|
1991
2160
|
* @summary 파일 정보 조회
|
|
1992
2161
|
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
1993
2162
|
* @param {*} [options] Override http request option.
|
|
@@ -2071,7 +2240,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2071
2240
|
* 공고를 유찰 상태로 전환합니다. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드와 상세가 기록됩니다. **유찰사유 값 목록(failureReasonCode — 공개값):** | 값 | 의미 | |------|------| | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `OTHER` | 기타 (`failureReasonDetail` 필수) | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
2072
2241
|
* @summary 유찰 처리
|
|
2073
2242
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2074
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2243
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2075
2244
|
* @param {MarkBidFailedRequestDto} markBidFailedRequestDto
|
|
2076
2245
|
* @param {*} [options] Override http request option.
|
|
2077
2246
|
* @throws {RequiredError}
|
|
@@ -2084,7 +2253,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2084
2253
|
* 낙찰 결과를 등록합니다. 이 요청의 응답은 처리 상태 `AWARDED` 를 반환합니다. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 낙찰자(공급사)의 응찰 건이 낙찰 처리됩니다. - 이후 **공고의 조회 상태(status)는 계약진행(CONTRACT_IN_PROGRESS)** 으로 진행합니다. `AWARDED` 라는 공고 status 는 존재하지 않으므로, 낙찰 여부는 `GET /v2/bids/{bidRef}/results` 의 `participants[].isWinner` 또는 `GET /v2/bids/{bidRef}` 의 status(=계약진행)로 관측하세요(`status === \'AWARDED\'` 폴링 금지). - 협상 방식(NEGOTIATION/NEGOTIATION_AUTO) 공고는 이 엔드포인트 전에 `POST /v2/bids/{bidRef}/negotiation-scores`(협상 점수평가)로 평가를 완료해야 합니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
|
|
2085
2254
|
* @summary 낙찰 결과 전송
|
|
2086
2255
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2087
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2256
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2088
2257
|
* @param {RegisterAwardRequestDto} registerAwardRequestDto
|
|
2089
2258
|
* @param {*} [options] Override http request option.
|
|
2090
2259
|
* @throws {RequiredError}
|
|
@@ -2096,7 +2265,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2096
2265
|
/**
|
|
2097
2266
|
* 입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **첨부는 2단계입니다.** 파일을 이 요청 본문에 직접 싣지 마세요 — 먼저 `POST /v2/files`(base64 또는 url)로 올려 `fileKey` 를 받고, 그 32자 키를 이 요청의 `attachments` 배열에 넣습니다.
|
|
2098
2267
|
* @summary 공고 등록
|
|
2099
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2268
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2100
2269
|
* @param {CreateBidRequestDto} createBidRequestDto
|
|
2101
2270
|
* @param {*} [options] Override http request option.
|
|
2102
2271
|
* @throws {RequiredError}
|
|
@@ -2108,7 +2277,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2108
2277
|
/**
|
|
2109
2278
|
* 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
2110
2279
|
* @summary 계약 발행대상 등록
|
|
2111
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2280
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2112
2281
|
* @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
|
|
2113
2282
|
* @param {*} [options] Override http request option.
|
|
2114
2283
|
* @throws {RequiredError}
|
|
@@ -2121,7 +2290,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2121
2290
|
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write`. **청구만 접수합니다.** 이 호출이 계산서를 발행하지는 않습니다 — 접수된 청구는 정산 파이프라인이 처리하며, 진행 여부는 `GET /v2/bids/{bidRef}` 의 `taxInvoiceRequested` 로 관측합니다. **나눠 담을 금액을 보냅니다.** `supplyAmount`(공급가액)와 `vat`(부가세)는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 같은 공고에 청구를 한 번 더 보냅니다 — 그때는 **새 `Idempotency-Key`** 를 쓰세요. 같은 키로 다시 보내면 앞선 청구의 응답이 그대로 재생됩니다. **발급 희망일**(`issueDate`)은 선택이며 미래 일자는 400 입니다. 미지정 시 서버 기본값을 씁니다.
|
|
2122
2291
|
* @summary 계산서 분할 발급 청구
|
|
2123
2292
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2124
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2293
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2125
2294
|
* @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
|
|
2126
2295
|
* @param {*} [options] Override http request option.
|
|
2127
2296
|
* @throws {RequiredError}
|
|
@@ -2134,7 +2303,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2134
2303
|
* 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
2135
2304
|
* @summary 낙찰 되돌리기
|
|
2136
2305
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2137
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2306
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2138
2307
|
* @param {RevertAwardRequestDto} revertAwardRequestDto
|
|
2139
2308
|
* @param {*} [options] Override http request option.
|
|
2140
2309
|
* @throws {RequiredError}
|
|
@@ -2147,7 +2316,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2147
2316
|
* 협상방식(NEGOTIATION/NEGOTIATION_AUTO) 공고의 응찰자별 점수를 입력합니다. **호출 시점:** 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전. 협상방식 공고는 이 평가를 완료해야 낙찰에 진입할 수 있습니다. **부수효과:** - 응찰자별 기술점수(및 선택적 가격점수 override)가 기록됩니다. - `complete=true` 면 평가완료 게이트까지 적용돼 낙찰 진입이 가능해집니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
|
|
2148
2317
|
* @summary 협상 점수평가
|
|
2149
2318
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2150
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2319
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2151
2320
|
* @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
|
|
2152
2321
|
* @param {*} [options] Override http request option.
|
|
2153
2322
|
* @throws {RequiredError}
|
|
@@ -2160,21 +2329,20 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2160
2329
|
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEditHistory=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
|
|
2161
2330
|
* @summary 공고 수정
|
|
2162
2331
|
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 바인딩된 발주처 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2163
|
-
* @param {string} ifMatch
|
|
2164
|
-
* @param {string}
|
|
2165
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body 로 재전송하면 24시간 동안 캐시된 응답을 그대로 받습니다. UUID v4 를 권장합니다.
|
|
2332
|
+
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다.
|
|
2333
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2166
2334
|
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
2167
2335
|
* @param {*} [options] Override http request option.
|
|
2168
2336
|
* @throws {RequiredError}
|
|
2169
2337
|
*/
|
|
2170
|
-
public updateBid(bidRef: string, ifMatch: string,
|
|
2171
|
-
return PartnerApiApiFp(this.configuration).updateBid(bidRef, ifMatch,
|
|
2338
|
+
public updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig) {
|
|
2339
|
+
return PartnerApiApiFp(this.configuration).updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options).then((request) => request(this.axios, this.basePath));
|
|
2172
2340
|
}
|
|
2173
2341
|
|
|
2174
2342
|
/**
|
|
2175
|
-
* 파일 본문을 base64 또는 url 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 그대로
|
|
2176
|
-
* @summary 공고 첨부파일 업로드
|
|
2177
|
-
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). 같은 키 + 같은 body
|
|
2343
|
+
* 파일 본문을 `base64` 또는 `url` 중 정확히 하나로 제출하면 `fileKey` 를 돌려줍니다. 이 값을 공고 등록·수정의 첨부 필드에 실으세요. **크기 상한이 다른 경로가 하나 더 있습니다.** 이 경로는 본문이 c-market 을 통과하므로 base64 팽창(4/3)까지 얹혀 **원본 23MB 부근**이 천장입니다(`url` 로 제출하면 c-market 이 대신 내려받으므로 그 제약은 없습니다). 더 큰 파일은 `POST /v2/files/upload-url` 로 서명 URL 을 받아 스토리지에 직접 올리세요 — **100MB** 까지 됩니다. **공고 등록에 파일을 함께 실을 수도 있습니다.** `POST /v2/bids` 의 `attachments` 원소에 `{ fileName, url }`·`{ fileName, base64 }` 를 그대로 넣으면 이 호출 없이 한 번에 끝납니다. 여러 공고에 같은 파일을 재사용하거나 큰 파일을 다룰 때만 `fileKey` 를 먼저 만드세요. **필수 스코프:** `files:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
2344
|
+
* @summary 공고 첨부파일 업로드 (한 번에)
|
|
2345
|
+
* @param {string} idempotencyKey 멱등성 키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때 처음과 같은 키를 다시 보내야** 중복 생성이 막힙니다 — 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청으로 처리됩니다. 그래서 키는 UUID v4 를 만들어 **연동 시스템 원장에 저장**하거나, 요청 내용에서 결정적으로 파생(예: `bid-create-{구매번호}`)해 재시도가 같은 값을 재현하도록 하세요. 같은 키 + 같은 body 는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2178
2346
|
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
2179
2347
|
* @param {*} [options] Override http request option.
|
|
2180
2348
|
* @throws {RequiredError}
|