@cmarket/partner-sdk 39.0.0 → 40.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 +9 -6
- package/api/embed-api.ts +10 -10
- package/api/oauth-api.ts +18 -18
- package/api/partner-api-api.ts +334 -334
- package/api/products-api.ts +22 -22
- package/api/webhooks-api.ts +78 -78
- package/api/well-known-api.ts +10 -10
- package/api.ts +2 -2
- package/base.ts +2 -2
- package/common.ts +2 -2
- package/configuration.ts +2 -2
- package/dist/api/embed-api.d.ts +10 -10
- package/dist/api/embed-api.js +10 -10
- package/dist/api/oauth-api.d.ts +18 -18
- package/dist/api/oauth-api.js +18 -18
- package/dist/api/partner-api-api.d.ts +334 -334
- package/dist/api/partner-api-api.js +334 -334
- package/dist/api/products-api.d.ts +22 -22
- package/dist/api/products-api.js +22 -22
- package/dist/api/webhooks-api.d.ts +78 -78
- package/dist/api/webhooks-api.js +78 -78
- package/dist/api/well-known-api.d.ts +10 -10
- package/dist/api/well-known-api.js +10 -10
- package/dist/api.d.ts +2 -2
- package/dist/api.js +2 -2
- package/dist/base.d.ts +2 -2
- package/dist/base.js +2 -2
- package/dist/common.d.ts +2 -2
- package/dist/common.js +2 -2
- package/dist/configuration.d.ts +2 -2
- package/dist/configuration.js +2 -2
- package/dist/esm/api/embed-api.d.ts +10 -10
- package/dist/esm/api/embed-api.js +10 -10
- package/dist/esm/api/oauth-api.d.ts +18 -18
- package/dist/esm/api/oauth-api.js +18 -18
- package/dist/esm/api/partner-api-api.d.ts +334 -334
- package/dist/esm/api/partner-api-api.js +334 -334
- package/dist/esm/api/products-api.d.ts +22 -22
- package/dist/esm/api/products-api.js +22 -22
- package/dist/esm/api/webhooks-api.d.ts +78 -78
- package/dist/esm/api/webhooks-api.js +78 -78
- package/dist/esm/api/well-known-api.d.ts +10 -10
- package/dist/esm/api/well-known-api.js +10 -10
- package/dist/esm/api.d.ts +2 -2
- package/dist/esm/api.js +2 -2
- package/dist/esm/base.d.ts +2 -2
- package/dist/esm/base.js +2 -2
- package/dist/esm/common.d.ts +2 -2
- package/dist/esm/common.js +2 -2
- package/dist/esm/configuration.d.ts +2 -2
- package/dist/esm/configuration.js +2 -2
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/models/acceptance-result-response-dto.d.ts +2 -2
- package/dist/esm/models/acceptance-result-response-dto.js +2 -2
- package/dist/esm/models/acknowledge-product-receipt200-response.d.ts +2 -2
- package/dist/esm/models/acknowledge-product-receipt200-response.js +2 -2
- package/dist/esm/models/acknowledge-products-request-dto.d.ts +3 -3
- package/dist/esm/models/acknowledge-products-request-dto.js +2 -2
- package/dist/esm/models/api-catalog-dto.d.ts +2 -2
- package/dist/esm/models/api-catalog-dto.js +2 -2
- package/dist/esm/models/api-catalog-entry-dto.d.ts +4 -4
- package/dist/esm/models/api-catalog-entry-dto.js +2 -2
- package/dist/esm/models/api-catalog-link-dto.d.ts +2 -2
- package/dist/esm/models/api-catalog-link-dto.js +2 -2
- package/dist/esm/models/authorization-server-metadata-dto.d.ts +6 -6
- package/dist/esm/models/authorization-server-metadata-dto.js +2 -2
- package/dist/esm/models/award-method-public.d.ts +2 -2
- package/dist/esm/models/award-method-public.js +2 -2
- package/dist/esm/models/award-registered-v2-response-dto.d.ts +3 -3
- package/dist/esm/models/award-registered-v2-response-dto.js +2 -2
- package/dist/esm/models/award-reverted-v2-response-dto.d.ts +3 -3
- package/dist/esm/models/award-reverted-v2-response-dto.js +2 -2
- package/dist/esm/models/bid-acceptance-dto.d.ts +2 -2
- package/dist/esm/models/bid-acceptance-dto.js +2 -2
- package/dist/esm/models/bid-attachment-input-dto.d.ts +6 -6
- package/dist/esm/models/bid-attachment-input-dto.js +2 -2
- package/dist/esm/models/bid-bond-dto.d.ts +2 -2
- package/dist/esm/models/bid-bond-dto.js +2 -2
- package/dist/esm/models/bid-cancelled-response-dto.d.ts +3 -3
- package/dist/esm/models/bid-cancelled-response-dto.js +2 -2
- package/dist/esm/models/bid-contact-dto.d.ts +2 -2
- package/dist/esm/models/bid-contact-dto.js +2 -2
- package/dist/esm/models/bid-contacts-dto.d.ts +2 -2
- package/dist/esm/models/bid-contacts-dto.js +2 -2
- package/dist/esm/models/bid-contract-document-dto.d.ts +9 -9
- package/dist/esm/models/bid-contract-document-dto.js +2 -2
- package/dist/esm/models/bid-delivery-terms-dto.d.ts +2 -2
- package/dist/esm/models/bid-delivery-terms-dto.js +2 -2
- package/dist/esm/models/bid-detail-response-dto.d.ts +5 -5
- package/dist/esm/models/bid-detail-response-dto.js +2 -2
- package/dist/esm/models/bid-document-dto.d.ts +2 -2
- package/dist/esm/models/bid-document-dto.js +2 -2
- package/dist/esm/models/bid-failed-v2-response-dto.d.ts +3 -3
- package/dist/esm/models/bid-failed-v2-response-dto.js +2 -2
- package/dist/esm/models/bid-item-dto.d.ts +2 -2
- package/dist/esm/models/bid-item-dto.js +2 -2
- package/dist/esm/models/bid-lifecycle-dto.d.ts +2 -2
- package/dist/esm/models/bid-lifecycle-dto.js +2 -2
- package/dist/esm/models/bid-manager-dto.d.ts +2 -2
- package/dist/esm/models/bid-manager-dto.js +2 -2
- package/dist/esm/models/bid-payment-terms-dto.d.ts +2 -2
- package/dist/esm/models/bid-payment-terms-dto.js +2 -2
- package/dist/esm/models/bid-product-dto.d.ts +2 -2
- package/dist/esm/models/bid-product-dto.js +2 -2
- package/dist/esm/models/bid-public-status.d.ts +2 -2
- package/dist/esm/models/bid-public-status.js +2 -2
- package/dist/esm/models/bid-registered-response-dto.d.ts +3 -3
- package/dist/esm/models/bid-registered-response-dto.js +2 -2
- package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +3 -3
- package/dist/esm/models/bid-result-participant-attachment-dto.js +2 -2
- package/dist/esm/models/bid-result-participant-dto.d.ts +3 -3
- package/dist/esm/models/bid-result-participant-dto.js +2 -2
- package/dist/esm/models/bid-results-response-dto.d.ts +5 -5
- package/dist/esm/models/bid-results-response-dto.js +2 -2
- package/dist/esm/models/bid-settlement-line-item-dto.d.ts +2 -2
- package/dist/esm/models/bid-settlement-line-item-dto.js +2 -2
- package/dist/esm/models/bid-settlement-participant-dto.d.ts +2 -2
- package/dist/esm/models/bid-settlement-participant-dto.js +2 -2
- package/dist/esm/models/bid-settlement-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-settlement-response-dto.js +2 -2
- package/dist/esm/models/bid-statement-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-statement-response-dto.js +2 -2
- package/dist/esm/models/bid-summary-dto.d.ts +3 -3
- package/dist/esm/models/bid-summary-dto.js +2 -2
- package/dist/esm/models/bid-type-public.d.ts +2 -2
- package/dist/esm/models/bid-type-public.js +2 -2
- package/dist/esm/models/bid-updated-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-updated-response-dto.js +2 -2
- package/dist/esm/models/cancel-bid-request-dto.d.ts +2 -2
- package/dist/esm/models/cancel-bid-request-dto.js +2 -2
- package/dist/esm/models/cancel-bid200-response.d.ts +2 -2
- package/dist/esm/models/cancel-bid200-response.js +2 -2
- package/dist/esm/models/card-payment-request-response-dto.d.ts +2 -2
- package/dist/esm/models/card-payment-request-response-dto.js +2 -2
- package/dist/esm/models/complete-acceptance-request-dto.d.ts +4 -4
- package/dist/esm/models/complete-acceptance-request-dto.js +2 -2
- package/dist/esm/models/complete-acceptance200-response.d.ts +2 -2
- package/dist/esm/models/complete-acceptance200-response.js +2 -2
- package/dist/esm/models/complete-invoice200-response.d.ts +2 -2
- package/dist/esm/models/complete-invoice200-response.js +2 -2
- package/dist/esm/models/complete-upload-request-dto.d.ts +2 -2
- package/dist/esm/models/complete-upload-request-dto.js +2 -2
- package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +3 -3
- package/dist/esm/models/contract-restriction-confirm-input-dto.js +2 -2
- package/dist/esm/models/create-bid-request-dto.d.ts +5 -5
- package/dist/esm/models/create-bid-request-dto.js +2 -2
- package/dist/esm/models/create-card-payment-dto.d.ts +2 -2
- package/dist/esm/models/create-card-payment-dto.js +2 -2
- package/dist/esm/models/create-card-payment-request-dto.d.ts +2 -2
- package/dist/esm/models/create-card-payment-request-dto.js +2 -2
- package/dist/esm/models/create-card-payment200-response.d.ts +2 -2
- package/dist/esm/models/create-card-payment200-response.js +2 -2
- package/dist/esm/models/create-embed-launch201-response.d.ts +2 -2
- package/dist/esm/models/create-embed-launch201-response.js +2 -2
- package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +4 -4
- package/dist/esm/models/create-external-contract-documents-request-dto.js +2 -2
- package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +2 -2
- package/dist/esm/models/create-external-contract-documents-response-dto.js +2 -2
- package/dist/esm/models/create-file-upload-url201-response.d.ts +2 -2
- package/dist/esm/models/create-file-upload-url201-response.js +2 -2
- package/dist/esm/models/create-upload-url-request-dto.d.ts +2 -2
- package/dist/esm/models/create-upload-url-request-dto.js +2 -2
- package/dist/esm/models/create-webhook-endpoint-request-dto.d.ts +4 -4
- package/dist/esm/models/create-webhook-endpoint-request-dto.js +2 -2
- package/dist/esm/models/create-webhook-endpoint201-response.d.ts +2 -2
- package/dist/esm/models/create-webhook-endpoint201-response.js +2 -2
- package/dist/esm/models/delivery-date-type-public.d.ts +2 -2
- package/dist/esm/models/delivery-date-type-public.js +2 -2
- package/dist/esm/models/delivery-method-public.d.ts +2 -2
- package/dist/esm/models/delivery-method-public.js +2 -2
- package/dist/esm/models/embed-bid-prefill-dto.d.ts +83 -0
- package/dist/esm/models/embed-bid-prefill-dto.js +23 -0
- package/dist/esm/models/embed-bid-prefill-item-dto.d.ts +33 -0
- package/dist/esm/models/embed-bid-prefill-item-dto.js +14 -0
- package/dist/esm/models/embed-bid-prefill-manager-dto.d.ts +25 -0
- package/dist/esm/models/embed-bid-prefill-manager-dto.js +14 -0
- package/dist/esm/models/embed-launch-request-dto.d.ts +10 -9
- package/dist/esm/models/embed-launch-request-dto.js +2 -2
- package/dist/esm/models/embed-launch-response-dto.d.ts +4 -4
- package/dist/esm/models/embed-launch-response-dto.js +2 -2
- package/dist/esm/models/excellent-procurement-public.d.ts +2 -2
- package/dist/esm/models/excellent-procurement-public.js +2 -2
- package/dist/esm/models/external-contract-document-item-dto.d.ts +3 -3
- package/dist/esm/models/external-contract-document-item-dto.js +2 -2
- package/dist/esm/models/external-contract-documents-response-dto.d.ts +2 -2
- package/dist/esm/models/external-contract-documents-response-dto.js +2 -2
- package/dist/esm/models/external-contract-item-dto.d.ts +2 -2
- package/dist/esm/models/external-contract-item-dto.js +2 -2
- package/dist/esm/models/external-contract-snapshot-dto.d.ts +5 -5
- package/dist/esm/models/external-contract-snapshot-dto.js +2 -2
- package/dist/esm/models/external-document-inputs-dto.d.ts +2 -2
- package/dist/esm/models/external-document-inputs-dto.js +2 -2
- package/dist/esm/models/file-meta-response-dto.d.ts +2 -2
- package/dist/esm/models/file-meta-response-dto.js +2 -2
- package/dist/esm/models/file-uploaded-response-dto.d.ts +2 -2
- package/dist/esm/models/file-uploaded-response-dto.js +2 -2
- package/dist/esm/models/generated-external-contract-document-dto.d.ts +4 -4
- package/dist/esm/models/generated-external-contract-document-dto.js +2 -2
- package/dist/esm/models/get-bid-settlement200-response.d.ts +2 -2
- package/dist/esm/models/get-bid-settlement200-response.js +2 -2
- package/dist/esm/models/get-bid-statement200-response.d.ts +2 -2
- package/dist/esm/models/get-bid-statement200-response.js +2 -2
- package/dist/esm/models/get-bid200-response.d.ts +2 -2
- package/dist/esm/models/get-bid200-response.js +2 -2
- package/dist/esm/models/get-file-meta200-response.d.ts +2 -2
- package/dist/esm/models/get-file-meta200-response.js +2 -2
- package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +2 -2
- package/dist/esm/models/get-supplier-card-payable-v2200-response.js +2 -2
- package/dist/esm/models/get-webhook-endpoint200-response.d.ts +2 -2
- package/dist/esm/models/get-webhook-endpoint200-response.js +2 -2
- package/dist/esm/models/green-product-public.d.ts +2 -2
- package/dist/esm/models/green-product-public.js +2 -2
- package/dist/esm/models/health-controller-check200-response.d.ts +2 -2
- package/dist/esm/models/health-controller-check200-response.js +2 -2
- package/dist/esm/models/health-response-dto.d.ts +2 -2
- package/dist/esm/models/health-response-dto.js +2 -2
- package/dist/esm/models/hierarchical-region-dto.d.ts +2 -2
- package/dist/esm/models/hierarchical-region-dto.js +2 -2
- package/dist/esm/models/index.d.ts +3 -0
- package/dist/esm/models/index.js +3 -0
- package/dist/esm/models/introspect-request-dto.d.ts +5 -5
- package/dist/esm/models/introspect-request-dto.js +2 -2
- package/dist/esm/models/introspection-response-dto.d.ts +4 -4
- package/dist/esm/models/introspection-response-dto.js +2 -2
- package/dist/esm/models/invalid-param-dto.d.ts +2 -2
- package/dist/esm/models/invalid-param-dto.js +2 -2
- package/dist/esm/models/invoice-completed-response-dto.d.ts +2 -2
- package/dist/esm/models/invoice-completed-response-dto.js +2 -2
- package/dist/esm/models/invoice-split-response-dto.d.ts +2 -2
- package/dist/esm/models/invoice-split-response-dto.js +2 -2
- package/dist/esm/models/legal-mandatory-public.d.ts +2 -2
- package/dist/esm/models/legal-mandatory-public.js +2 -2
- package/dist/esm/models/list-bid-results200-response.d.ts +2 -2
- package/dist/esm/models/list-bid-results200-response.js +2 -2
- package/dist/esm/models/list-bids200-response-meta.d.ts +3 -3
- package/dist/esm/models/list-bids200-response-meta.js +2 -2
- package/dist/esm/models/list-bids200-response.d.ts +2 -2
- package/dist/esm/models/list-bids200-response.js +2 -2
- package/dist/esm/models/list-products200-response.d.ts +2 -2
- package/dist/esm/models/list-products200-response.js +2 -2
- package/dist/esm/models/list-webhook-deliveries-response-dto.d.ts +3 -3
- package/dist/esm/models/list-webhook-deliveries-response-dto.js +2 -2
- package/dist/esm/models/list-webhook-deliveries200-response.d.ts +2 -2
- package/dist/esm/models/list-webhook-deliveries200-response.js +2 -2
- package/dist/esm/models/list-webhook-endpoints200-response.d.ts +2 -2
- package/dist/esm/models/list-webhook-endpoints200-response.js +2 -2
- package/dist/esm/models/mark-bid-failed-request-dto.d.ts +2 -2
- package/dist/esm/models/mark-bid-failed-request-dto.js +2 -2
- package/dist/esm/models/mark-bid-failed201-response.d.ts +2 -2
- package/dist/esm/models/mark-bid-failed201-response.js +2 -2
- package/dist/esm/models/negotiation-score-dto.d.ts +2 -2
- package/dist/esm/models/negotiation-score-dto.js +2 -2
- package/dist/esm/models/negotiation-scored-v2-response-dto.d.ts +3 -3
- package/dist/esm/models/negotiation-scored-v2-response-dto.js +2 -2
- package/dist/esm/models/oauth-error-response-dto.d.ts +2 -2
- package/dist/esm/models/oauth-error-response-dto.js +2 -2
- package/dist/esm/models/on-bid-award-reverted-request.d.ts +2 -2
- package/dist/esm/models/on-bid-award-reverted-request.js +2 -2
- package/dist/esm/models/on-bid-awarded-request.d.ts +2 -2
- package/dist/esm/models/on-bid-awarded-request.js +2 -2
- package/dist/esm/models/on-bid-canceled-request.d.ts +2 -2
- package/dist/esm/models/on-bid-canceled-request.js +2 -2
- package/dist/esm/models/on-bid-closed-request.d.ts +2 -2
- package/dist/esm/models/on-bid-closed-request.js +2 -2
- package/dist/esm/models/on-bid-failed-request.d.ts +2 -2
- package/dist/esm/models/on-bid-failed-request.js +2 -2
- package/dist/esm/models/on-ping-request.d.ts +2 -2
- package/dist/esm/models/on-ping-request.js +2 -2
- package/dist/esm/models/partner-webhook-delivery-status.d.ts +2 -2
- package/dist/esm/models/partner-webhook-delivery-status.js +2 -2
- package/dist/esm/models/partner-webhook-endpoint-status.d.ts +3 -3
- package/dist/esm/models/partner-webhook-endpoint-status.js +3 -3
- package/dist/esm/models/partner-webhook-event-type.d.ts +2 -2
- package/dist/esm/models/partner-webhook-event-type.js +2 -2
- package/dist/esm/models/payment-method-public.d.ts +2 -2
- package/dist/esm/models/payment-method-public.js +2 -2
- package/dist/esm/models/preconditions-dto.d.ts +2 -2
- package/dist/esm/models/preconditions-dto.js +2 -2
- package/dist/esm/models/problem-details-dto.d.ts +3 -3
- package/dist/esm/models/problem-details-dto.js +2 -2
- package/dist/esm/models/product-receipt-response-dto.d.ts +2 -2
- package/dist/esm/models/product-receipt-response-dto.js +2 -2
- package/dist/esm/models/product-response-dto.d.ts +3 -3
- package/dist/esm/models/product-response-dto.js +2 -2
- package/dist/esm/models/protected-resource-metadata-dto.d.ts +6 -6
- package/dist/esm/models/protected-resource-metadata-dto.js +2 -2
- package/dist/esm/models/register-award-request-dto.d.ts +5 -5
- package/dist/esm/models/register-award-request-dto.js +2 -2
- package/dist/esm/models/register-award201-response.d.ts +2 -2
- package/dist/esm/models/register-award201-response.js +2 -2
- package/dist/esm/models/register-bid201-response.d.ts +2 -2
- package/dist/esm/models/register-bid201-response.js +2 -2
- package/dist/esm/models/register-semo-contract-request-dto.d.ts +5 -5
- package/dist/esm/models/register-semo-contract-request-dto.js +2 -2
- package/dist/esm/models/request-invoice-split-request-dto.d.ts +4 -4
- package/dist/esm/models/request-invoice-split-request-dto.js +2 -2
- package/dist/esm/models/request-invoice-split200-response.d.ts +2 -2
- package/dist/esm/models/request-invoice-split200-response.js +2 -2
- package/dist/esm/models/retiree-roster-input-dto.d.ts +2 -2
- package/dist/esm/models/retiree-roster-input-dto.js +2 -2
- package/dist/esm/models/retiree-roster-row-dto.d.ts +2 -2
- package/dist/esm/models/retiree-roster-row-dto.js +2 -2
- package/dist/esm/models/revert-award-request-dto.d.ts +2 -2
- package/dist/esm/models/revert-award-request-dto.js +2 -2
- package/dist/esm/models/revert-award200-response.d.ts +2 -2
- package/dist/esm/models/revert-award200-response.js +2 -2
- package/dist/esm/models/revoke-request-dto.d.ts +5 -5
- package/dist/esm/models/revoke-request-dto.js +2 -2
- package/dist/esm/models/semo-contract-registered-response-dto.d.ts +3 -3
- package/dist/esm/models/semo-contract-registered-response-dto.js +2 -2
- package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +2 -2
- package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +2 -2
- package/dist/esm/models/send-webhook-test-event200-response.d.ts +2 -2
- package/dist/esm/models/send-webhook-test-event200-response.js +2 -2
- package/dist/esm/models/statement-document-dto.d.ts +3 -3
- package/dist/esm/models/statement-document-dto.js +2 -2
- package/dist/esm/models/statement-product-dto.d.ts +2 -2
- package/dist/esm/models/statement-product-dto.js +2 -2
- package/dist/esm/models/submit-negotiation-scores-request-dto.d.ts +2 -2
- package/dist/esm/models/submit-negotiation-scores-request-dto.js +2 -2
- package/dist/esm/models/submit-negotiation-scores201-response.d.ts +2 -2
- package/dist/esm/models/submit-negotiation-scores201-response.js +2 -2
- package/dist/esm/models/supplier-card-payable-response-dto.d.ts +2 -2
- package/dist/esm/models/supplier-card-payable-response-dto.js +2 -2
- package/dist/esm/models/supplier-tax-type.d.ts +2 -2
- package/dist/esm/models/supplier-tax-type.js +2 -2
- package/dist/esm/models/token-request-dto.d.ts +5 -5
- package/dist/esm/models/token-request-dto.js +2 -2
- package/dist/esm/models/token-response-dto.d.ts +3 -3
- package/dist/esm/models/token-response-dto.js +2 -2
- package/dist/esm/models/update-bid-request-dto.d.ts +5 -5
- package/dist/esm/models/update-bid-request-dto.js +2 -2
- package/dist/esm/models/update-bid200-response.d.ts +2 -2
- package/dist/esm/models/update-bid200-response.js +2 -2
- package/dist/esm/models/update-webhook-endpoint-request-dto.d.ts +3 -3
- package/dist/esm/models/update-webhook-endpoint-request-dto.js +2 -2
- package/dist/esm/models/upload-file-request-dto.d.ts +4 -4
- package/dist/esm/models/upload-file-request-dto.js +2 -2
- package/dist/esm/models/upload-file201-response.d.ts +2 -2
- package/dist/esm/models/upload-file201-response.js +2 -2
- package/dist/esm/models/upload-url-created-response-dto.d.ts +5 -5
- package/dist/esm/models/upload-url-created-response-dto.js +2 -2
- package/dist/esm/models/webhook-bid-event-data.d.ts +3 -3
- package/dist/esm/models/webhook-bid-event-data.js +2 -2
- package/dist/esm/models/webhook-delivery-dto.d.ts +4 -4
- package/dist/esm/models/webhook-delivery-dto.js +2 -2
- package/dist/esm/models/webhook-endpoint-dto.d.ts +6 -6
- package/dist/esm/models/webhook-endpoint-dto.js +2 -2
- package/dist/esm/models/webhook-endpoint-with-secret-dto.d.ts +6 -6
- package/dist/esm/models/webhook-endpoint-with-secret-dto.js +2 -2
- package/dist/esm/models/webhook-event-envelope.d.ts +3 -3
- package/dist/esm/models/webhook-event-envelope.js +2 -2
- package/dist/esm/models/webhook-ping-event-data.d.ts +2 -2
- package/dist/esm/models/webhook-ping-event-data.js +2 -2
- package/dist/esm/models/webhook-test-result-dto.d.ts +3 -3
- package/dist/esm/models/webhook-test-result-dto.js +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/models/acceptance-result-response-dto.d.ts +2 -2
- package/dist/models/acceptance-result-response-dto.js +2 -2
- package/dist/models/acknowledge-product-receipt200-response.d.ts +2 -2
- package/dist/models/acknowledge-product-receipt200-response.js +2 -2
- package/dist/models/acknowledge-products-request-dto.d.ts +3 -3
- package/dist/models/acknowledge-products-request-dto.js +2 -2
- package/dist/models/api-catalog-dto.d.ts +2 -2
- package/dist/models/api-catalog-dto.js +2 -2
- package/dist/models/api-catalog-entry-dto.d.ts +4 -4
- package/dist/models/api-catalog-entry-dto.js +2 -2
- package/dist/models/api-catalog-link-dto.d.ts +2 -2
- package/dist/models/api-catalog-link-dto.js +2 -2
- package/dist/models/authorization-server-metadata-dto.d.ts +6 -6
- package/dist/models/authorization-server-metadata-dto.js +2 -2
- package/dist/models/award-method-public.d.ts +2 -2
- package/dist/models/award-method-public.js +2 -2
- package/dist/models/award-registered-v2-response-dto.d.ts +3 -3
- package/dist/models/award-registered-v2-response-dto.js +2 -2
- package/dist/models/award-reverted-v2-response-dto.d.ts +3 -3
- package/dist/models/award-reverted-v2-response-dto.js +2 -2
- package/dist/models/bid-acceptance-dto.d.ts +2 -2
- package/dist/models/bid-acceptance-dto.js +2 -2
- package/dist/models/bid-attachment-input-dto.d.ts +6 -6
- package/dist/models/bid-attachment-input-dto.js +2 -2
- package/dist/models/bid-bond-dto.d.ts +2 -2
- package/dist/models/bid-bond-dto.js +2 -2
- package/dist/models/bid-cancelled-response-dto.d.ts +3 -3
- package/dist/models/bid-cancelled-response-dto.js +2 -2
- package/dist/models/bid-contact-dto.d.ts +2 -2
- package/dist/models/bid-contact-dto.js +2 -2
- package/dist/models/bid-contacts-dto.d.ts +2 -2
- package/dist/models/bid-contacts-dto.js +2 -2
- package/dist/models/bid-contract-document-dto.d.ts +9 -9
- package/dist/models/bid-contract-document-dto.js +2 -2
- package/dist/models/bid-delivery-terms-dto.d.ts +2 -2
- package/dist/models/bid-delivery-terms-dto.js +2 -2
- package/dist/models/bid-detail-response-dto.d.ts +5 -5
- package/dist/models/bid-detail-response-dto.js +2 -2
- package/dist/models/bid-document-dto.d.ts +2 -2
- package/dist/models/bid-document-dto.js +2 -2
- package/dist/models/bid-failed-v2-response-dto.d.ts +3 -3
- package/dist/models/bid-failed-v2-response-dto.js +2 -2
- package/dist/models/bid-item-dto.d.ts +2 -2
- package/dist/models/bid-item-dto.js +2 -2
- package/dist/models/bid-lifecycle-dto.d.ts +2 -2
- package/dist/models/bid-lifecycle-dto.js +2 -2
- package/dist/models/bid-manager-dto.d.ts +2 -2
- package/dist/models/bid-manager-dto.js +2 -2
- package/dist/models/bid-payment-terms-dto.d.ts +2 -2
- package/dist/models/bid-payment-terms-dto.js +2 -2
- package/dist/models/bid-product-dto.d.ts +2 -2
- package/dist/models/bid-product-dto.js +2 -2
- package/dist/models/bid-public-status.d.ts +2 -2
- package/dist/models/bid-public-status.js +2 -2
- package/dist/models/bid-registered-response-dto.d.ts +3 -3
- package/dist/models/bid-registered-response-dto.js +2 -2
- package/dist/models/bid-result-participant-attachment-dto.d.ts +3 -3
- package/dist/models/bid-result-participant-attachment-dto.js +2 -2
- package/dist/models/bid-result-participant-dto.d.ts +3 -3
- package/dist/models/bid-result-participant-dto.js +2 -2
- package/dist/models/bid-results-response-dto.d.ts +5 -5
- package/dist/models/bid-results-response-dto.js +2 -2
- package/dist/models/bid-settlement-line-item-dto.d.ts +2 -2
- package/dist/models/bid-settlement-line-item-dto.js +2 -2
- package/dist/models/bid-settlement-participant-dto.d.ts +2 -2
- package/dist/models/bid-settlement-participant-dto.js +2 -2
- package/dist/models/bid-settlement-response-dto.d.ts +2 -2
- package/dist/models/bid-settlement-response-dto.js +2 -2
- package/dist/models/bid-statement-response-dto.d.ts +2 -2
- package/dist/models/bid-statement-response-dto.js +2 -2
- package/dist/models/bid-summary-dto.d.ts +3 -3
- package/dist/models/bid-summary-dto.js +2 -2
- package/dist/models/bid-type-public.d.ts +2 -2
- package/dist/models/bid-type-public.js +2 -2
- package/dist/models/bid-updated-response-dto.d.ts +2 -2
- package/dist/models/bid-updated-response-dto.js +2 -2
- package/dist/models/cancel-bid-request-dto.d.ts +2 -2
- package/dist/models/cancel-bid-request-dto.js +2 -2
- package/dist/models/cancel-bid200-response.d.ts +2 -2
- package/dist/models/cancel-bid200-response.js +2 -2
- package/dist/models/card-payment-request-response-dto.d.ts +2 -2
- package/dist/models/card-payment-request-response-dto.js +2 -2
- package/dist/models/complete-acceptance-request-dto.d.ts +4 -4
- package/dist/models/complete-acceptance-request-dto.js +2 -2
- package/dist/models/complete-acceptance200-response.d.ts +2 -2
- package/dist/models/complete-acceptance200-response.js +2 -2
- package/dist/models/complete-invoice200-response.d.ts +2 -2
- package/dist/models/complete-invoice200-response.js +2 -2
- package/dist/models/complete-upload-request-dto.d.ts +2 -2
- package/dist/models/complete-upload-request-dto.js +2 -2
- package/dist/models/contract-restriction-confirm-input-dto.d.ts +3 -3
- package/dist/models/contract-restriction-confirm-input-dto.js +2 -2
- package/dist/models/create-bid-request-dto.d.ts +5 -5
- package/dist/models/create-bid-request-dto.js +2 -2
- package/dist/models/create-card-payment-dto.d.ts +2 -2
- package/dist/models/create-card-payment-dto.js +2 -2
- package/dist/models/create-card-payment-request-dto.d.ts +2 -2
- package/dist/models/create-card-payment-request-dto.js +2 -2
- package/dist/models/create-card-payment200-response.d.ts +2 -2
- package/dist/models/create-card-payment200-response.js +2 -2
- package/dist/models/create-embed-launch201-response.d.ts +2 -2
- package/dist/models/create-embed-launch201-response.js +2 -2
- package/dist/models/create-external-contract-documents-request-dto.d.ts +4 -4
- package/dist/models/create-external-contract-documents-request-dto.js +2 -2
- package/dist/models/create-external-contract-documents-response-dto.d.ts +2 -2
- package/dist/models/create-external-contract-documents-response-dto.js +2 -2
- package/dist/models/create-file-upload-url201-response.d.ts +2 -2
- package/dist/models/create-file-upload-url201-response.js +2 -2
- package/dist/models/create-upload-url-request-dto.d.ts +2 -2
- package/dist/models/create-upload-url-request-dto.js +2 -2
- package/dist/models/create-webhook-endpoint-request-dto.d.ts +4 -4
- package/dist/models/create-webhook-endpoint-request-dto.js +2 -2
- package/dist/models/create-webhook-endpoint201-response.d.ts +2 -2
- package/dist/models/create-webhook-endpoint201-response.js +2 -2
- package/dist/models/delivery-date-type-public.d.ts +2 -2
- package/dist/models/delivery-date-type-public.js +2 -2
- package/dist/models/delivery-method-public.d.ts +2 -2
- package/dist/models/delivery-method-public.js +2 -2
- package/dist/models/embed-bid-prefill-dto.d.ts +83 -0
- package/dist/models/embed-bid-prefill-dto.js +26 -0
- package/dist/models/embed-bid-prefill-item-dto.d.ts +33 -0
- package/dist/models/embed-bid-prefill-item-dto.js +15 -0
- package/dist/models/embed-bid-prefill-manager-dto.d.ts +25 -0
- package/dist/models/embed-bid-prefill-manager-dto.js +15 -0
- package/dist/models/embed-launch-request-dto.d.ts +10 -9
- package/dist/models/embed-launch-request-dto.js +2 -2
- package/dist/models/embed-launch-response-dto.d.ts +4 -4
- package/dist/models/embed-launch-response-dto.js +2 -2
- package/dist/models/excellent-procurement-public.d.ts +2 -2
- package/dist/models/excellent-procurement-public.js +2 -2
- package/dist/models/external-contract-document-item-dto.d.ts +3 -3
- package/dist/models/external-contract-document-item-dto.js +2 -2
- package/dist/models/external-contract-documents-response-dto.d.ts +2 -2
- package/dist/models/external-contract-documents-response-dto.js +2 -2
- package/dist/models/external-contract-item-dto.d.ts +2 -2
- package/dist/models/external-contract-item-dto.js +2 -2
- package/dist/models/external-contract-snapshot-dto.d.ts +5 -5
- package/dist/models/external-contract-snapshot-dto.js +2 -2
- package/dist/models/external-document-inputs-dto.d.ts +2 -2
- package/dist/models/external-document-inputs-dto.js +2 -2
- package/dist/models/file-meta-response-dto.d.ts +2 -2
- package/dist/models/file-meta-response-dto.js +2 -2
- package/dist/models/file-uploaded-response-dto.d.ts +2 -2
- package/dist/models/file-uploaded-response-dto.js +2 -2
- package/dist/models/generated-external-contract-document-dto.d.ts +4 -4
- package/dist/models/generated-external-contract-document-dto.js +2 -2
- package/dist/models/get-bid-settlement200-response.d.ts +2 -2
- package/dist/models/get-bid-settlement200-response.js +2 -2
- package/dist/models/get-bid-statement200-response.d.ts +2 -2
- package/dist/models/get-bid-statement200-response.js +2 -2
- package/dist/models/get-bid200-response.d.ts +2 -2
- package/dist/models/get-bid200-response.js +2 -2
- package/dist/models/get-file-meta200-response.d.ts +2 -2
- package/dist/models/get-file-meta200-response.js +2 -2
- package/dist/models/get-supplier-card-payable-v2200-response.d.ts +2 -2
- package/dist/models/get-supplier-card-payable-v2200-response.js +2 -2
- package/dist/models/get-webhook-endpoint200-response.d.ts +2 -2
- package/dist/models/get-webhook-endpoint200-response.js +2 -2
- package/dist/models/green-product-public.d.ts +2 -2
- package/dist/models/green-product-public.js +2 -2
- package/dist/models/health-controller-check200-response.d.ts +2 -2
- package/dist/models/health-controller-check200-response.js +2 -2
- package/dist/models/health-response-dto.d.ts +2 -2
- package/dist/models/health-response-dto.js +2 -2
- package/dist/models/hierarchical-region-dto.d.ts +2 -2
- package/dist/models/hierarchical-region-dto.js +2 -2
- package/dist/models/index.d.ts +3 -0
- package/dist/models/index.js +3 -0
- package/dist/models/introspect-request-dto.d.ts +5 -5
- package/dist/models/introspect-request-dto.js +2 -2
- package/dist/models/introspection-response-dto.d.ts +4 -4
- package/dist/models/introspection-response-dto.js +2 -2
- package/dist/models/invalid-param-dto.d.ts +2 -2
- package/dist/models/invalid-param-dto.js +2 -2
- package/dist/models/invoice-completed-response-dto.d.ts +2 -2
- package/dist/models/invoice-completed-response-dto.js +2 -2
- package/dist/models/invoice-split-response-dto.d.ts +2 -2
- package/dist/models/invoice-split-response-dto.js +2 -2
- package/dist/models/legal-mandatory-public.d.ts +2 -2
- package/dist/models/legal-mandatory-public.js +2 -2
- package/dist/models/list-bid-results200-response.d.ts +2 -2
- package/dist/models/list-bid-results200-response.js +2 -2
- package/dist/models/list-bids200-response-meta.d.ts +3 -3
- package/dist/models/list-bids200-response-meta.js +2 -2
- package/dist/models/list-bids200-response.d.ts +2 -2
- package/dist/models/list-bids200-response.js +2 -2
- package/dist/models/list-products200-response.d.ts +2 -2
- package/dist/models/list-products200-response.js +2 -2
- package/dist/models/list-webhook-deliveries-response-dto.d.ts +3 -3
- package/dist/models/list-webhook-deliveries-response-dto.js +2 -2
- package/dist/models/list-webhook-deliveries200-response.d.ts +2 -2
- package/dist/models/list-webhook-deliveries200-response.js +2 -2
- package/dist/models/list-webhook-endpoints200-response.d.ts +2 -2
- package/dist/models/list-webhook-endpoints200-response.js +2 -2
- package/dist/models/mark-bid-failed-request-dto.d.ts +2 -2
- package/dist/models/mark-bid-failed-request-dto.js +2 -2
- package/dist/models/mark-bid-failed201-response.d.ts +2 -2
- package/dist/models/mark-bid-failed201-response.js +2 -2
- package/dist/models/negotiation-score-dto.d.ts +2 -2
- package/dist/models/negotiation-score-dto.js +2 -2
- package/dist/models/negotiation-scored-v2-response-dto.d.ts +3 -3
- package/dist/models/negotiation-scored-v2-response-dto.js +2 -2
- package/dist/models/oauth-error-response-dto.d.ts +2 -2
- package/dist/models/oauth-error-response-dto.js +2 -2
- package/dist/models/on-bid-award-reverted-request.d.ts +2 -2
- package/dist/models/on-bid-award-reverted-request.js +2 -2
- package/dist/models/on-bid-awarded-request.d.ts +2 -2
- package/dist/models/on-bid-awarded-request.js +2 -2
- package/dist/models/on-bid-canceled-request.d.ts +2 -2
- package/dist/models/on-bid-canceled-request.js +2 -2
- package/dist/models/on-bid-closed-request.d.ts +2 -2
- package/dist/models/on-bid-closed-request.js +2 -2
- package/dist/models/on-bid-failed-request.d.ts +2 -2
- package/dist/models/on-bid-failed-request.js +2 -2
- package/dist/models/on-ping-request.d.ts +2 -2
- package/dist/models/on-ping-request.js +2 -2
- package/dist/models/partner-webhook-delivery-status.d.ts +2 -2
- package/dist/models/partner-webhook-delivery-status.js +2 -2
- package/dist/models/partner-webhook-endpoint-status.d.ts +3 -3
- package/dist/models/partner-webhook-endpoint-status.js +3 -3
- package/dist/models/partner-webhook-event-type.d.ts +2 -2
- package/dist/models/partner-webhook-event-type.js +2 -2
- package/dist/models/payment-method-public.d.ts +2 -2
- package/dist/models/payment-method-public.js +2 -2
- package/dist/models/preconditions-dto.d.ts +2 -2
- package/dist/models/preconditions-dto.js +2 -2
- package/dist/models/problem-details-dto.d.ts +3 -3
- package/dist/models/problem-details-dto.js +2 -2
- package/dist/models/product-receipt-response-dto.d.ts +2 -2
- package/dist/models/product-receipt-response-dto.js +2 -2
- package/dist/models/product-response-dto.d.ts +3 -3
- package/dist/models/product-response-dto.js +2 -2
- package/dist/models/protected-resource-metadata-dto.d.ts +6 -6
- package/dist/models/protected-resource-metadata-dto.js +2 -2
- package/dist/models/register-award-request-dto.d.ts +5 -5
- package/dist/models/register-award-request-dto.js +2 -2
- package/dist/models/register-award201-response.d.ts +2 -2
- package/dist/models/register-award201-response.js +2 -2
- package/dist/models/register-bid201-response.d.ts +2 -2
- package/dist/models/register-bid201-response.js +2 -2
- package/dist/models/register-semo-contract-request-dto.d.ts +5 -5
- package/dist/models/register-semo-contract-request-dto.js +2 -2
- package/dist/models/request-invoice-split-request-dto.d.ts +4 -4
- package/dist/models/request-invoice-split-request-dto.js +2 -2
- package/dist/models/request-invoice-split200-response.d.ts +2 -2
- package/dist/models/request-invoice-split200-response.js +2 -2
- package/dist/models/retiree-roster-input-dto.d.ts +2 -2
- package/dist/models/retiree-roster-input-dto.js +2 -2
- package/dist/models/retiree-roster-row-dto.d.ts +2 -2
- package/dist/models/retiree-roster-row-dto.js +2 -2
- package/dist/models/revert-award-request-dto.d.ts +2 -2
- package/dist/models/revert-award-request-dto.js +2 -2
- package/dist/models/revert-award200-response.d.ts +2 -2
- package/dist/models/revert-award200-response.js +2 -2
- package/dist/models/revoke-request-dto.d.ts +5 -5
- package/dist/models/revoke-request-dto.js +2 -2
- package/dist/models/semo-contract-registered-response-dto.d.ts +3 -3
- package/dist/models/semo-contract-registered-response-dto.js +2 -2
- package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +2 -2
- package/dist/models/semo-contract-taxinvoice-status-response-dto.js +2 -2
- package/dist/models/send-webhook-test-event200-response.d.ts +2 -2
- package/dist/models/send-webhook-test-event200-response.js +2 -2
- package/dist/models/statement-document-dto.d.ts +3 -3
- package/dist/models/statement-document-dto.js +2 -2
- package/dist/models/statement-product-dto.d.ts +2 -2
- package/dist/models/statement-product-dto.js +2 -2
- package/dist/models/submit-negotiation-scores-request-dto.d.ts +2 -2
- package/dist/models/submit-negotiation-scores-request-dto.js +2 -2
- package/dist/models/submit-negotiation-scores201-response.d.ts +2 -2
- package/dist/models/submit-negotiation-scores201-response.js +2 -2
- package/dist/models/supplier-card-payable-response-dto.d.ts +2 -2
- package/dist/models/supplier-card-payable-response-dto.js +2 -2
- package/dist/models/supplier-tax-type.d.ts +2 -2
- package/dist/models/supplier-tax-type.js +2 -2
- package/dist/models/token-request-dto.d.ts +5 -5
- package/dist/models/token-request-dto.js +2 -2
- package/dist/models/token-response-dto.d.ts +3 -3
- package/dist/models/token-response-dto.js +2 -2
- package/dist/models/update-bid-request-dto.d.ts +5 -5
- package/dist/models/update-bid-request-dto.js +2 -2
- package/dist/models/update-bid200-response.d.ts +2 -2
- package/dist/models/update-bid200-response.js +2 -2
- package/dist/models/update-webhook-endpoint-request-dto.d.ts +3 -3
- package/dist/models/update-webhook-endpoint-request-dto.js +2 -2
- package/dist/models/upload-file-request-dto.d.ts +4 -4
- package/dist/models/upload-file-request-dto.js +2 -2
- package/dist/models/upload-file201-response.d.ts +2 -2
- package/dist/models/upload-file201-response.js +2 -2
- package/dist/models/upload-url-created-response-dto.d.ts +5 -5
- package/dist/models/upload-url-created-response-dto.js +2 -2
- package/dist/models/webhook-bid-event-data.d.ts +3 -3
- package/dist/models/webhook-bid-event-data.js +2 -2
- package/dist/models/webhook-delivery-dto.d.ts +4 -4
- package/dist/models/webhook-delivery-dto.js +2 -2
- package/dist/models/webhook-endpoint-dto.d.ts +6 -6
- package/dist/models/webhook-endpoint-dto.js +2 -2
- package/dist/models/webhook-endpoint-with-secret-dto.d.ts +6 -6
- package/dist/models/webhook-endpoint-with-secret-dto.js +2 -2
- package/dist/models/webhook-event-envelope.d.ts +3 -3
- package/dist/models/webhook-event-envelope.js +2 -2
- package/dist/models/webhook-ping-event-data.d.ts +2 -2
- package/dist/models/webhook-ping-event-data.js +2 -2
- package/dist/models/webhook-test-result-dto.d.ts +3 -3
- package/dist/models/webhook-test-result-dto.js +2 -2
- package/docs/AcknowledgeProductsRequestDto.md +1 -1
- package/docs/ApiCatalogEntryDto.md +2 -2
- package/docs/AuthorizationServerMetadataDto.md +4 -4
- package/docs/AwardRegisteredV2ResponseDto.md +1 -1
- package/docs/AwardRevertedV2ResponseDto.md +1 -1
- package/docs/BidAttachmentInputDto.md +4 -4
- package/docs/BidCancelledResponseDto.md +1 -1
- package/docs/BidContractDocumentDto.md +7 -7
- package/docs/BidDetailResponseDto.md +3 -3
- package/docs/BidFailedV2ResponseDto.md +1 -1
- package/docs/BidRegisteredResponseDto.md +1 -1
- package/docs/BidResultParticipantAttachmentDto.md +1 -1
- package/docs/BidResultParticipantDto.md +1 -1
- package/docs/BidResultsResponseDto.md +3 -3
- package/docs/BidSummaryDto.md +1 -1
- package/docs/CompleteAcceptanceRequestDto.md +2 -2
- package/docs/ContractRestrictionConfirmInputDto.md +1 -1
- package/docs/CreateBidRequestDto.md +3 -3
- package/docs/CreateExternalContractDocumentsRequestDto.md +2 -2
- package/docs/CreateWebhookEndpointRequestDto.md +2 -2
- package/docs/EmbedApi.md +11 -11
- package/docs/EmbedBidPrefillDto.md +46 -0
- package/docs/EmbedBidPrefillItemDto.md +28 -0
- package/docs/EmbedBidPrefillManagerDto.md +24 -0
- package/docs/EmbedLaunchRequestDto.md +6 -6
- package/docs/EmbedLaunchResponseDto.md +2 -2
- package/docs/ExternalContractDocumentItemDto.md +1 -1
- package/docs/ExternalContractSnapshotDto.md +3 -3
- package/docs/GeneratedExternalContractDocumentDto.md +2 -2
- package/docs/IntrospectRequestDto.md +3 -3
- package/docs/IntrospectionResponseDto.md +2 -2
- package/docs/ListBids200ResponseMeta.md +1 -1
- package/docs/ListWebhookDeliveriesResponseDto.md +1 -1
- package/docs/NegotiationScoredV2ResponseDto.md +1 -1
- package/docs/OauthApi.md +7 -7
- package/docs/PartnerApiApi.md +467 -467
- package/docs/PartnerWebhookEndpointStatus.md +1 -1
- package/docs/ProblemDetailsDto.md +1 -1
- package/docs/ProductResponseDto.md +1 -1
- package/docs/ProductsApi.md +28 -28
- package/docs/ProtectedResourceMetadataDto.md +4 -4
- package/docs/RegisterAwardRequestDto.md +3 -3
- package/docs/RegisterSemoContractRequestDto.md +3 -3
- package/docs/RequestInvoiceSplitRequestDto.md +2 -2
- package/docs/RevokeRequestDto.md +3 -3
- package/docs/SemoContractRegisteredResponseDto.md +1 -1
- package/docs/StatementDocumentDto.md +1 -1
- package/docs/TokenRequestDto.md +3 -3
- package/docs/TokenResponseDto.md +1 -1
- package/docs/UpdateBidRequestDto.md +3 -3
- package/docs/UpdateWebhookEndpointRequestDto.md +1 -1
- package/docs/UploadFileRequestDto.md +2 -2
- package/docs/UploadUrlCreatedResponseDto.md +3 -3
- package/docs/WebhookBidEventData.md +1 -1
- package/docs/WebhookDeliveryDto.md +2 -2
- package/docs/WebhookEndpointDto.md +4 -4
- package/docs/WebhookEndpointWithSecretDto.md +4 -4
- package/docs/WebhookEventEnvelope.md +1 -1
- package/docs/WebhookTestResultDto.md +1 -1
- package/docs/WebhooksApi.md +43 -43
- package/docs/WellKnownApi.md +5 -5
- package/index.ts +2 -2
- package/models/acceptance-result-response-dto.ts +2 -2
- package/models/acknowledge-product-receipt200-response.ts +2 -2
- package/models/acknowledge-products-request-dto.ts +3 -3
- package/models/api-catalog-dto.ts +2 -2
- package/models/api-catalog-entry-dto.ts +4 -4
- package/models/api-catalog-link-dto.ts +2 -2
- package/models/authorization-server-metadata-dto.ts +6 -6
- package/models/award-method-public.ts +2 -2
- package/models/award-registered-v2-response-dto.ts +3 -3
- package/models/award-reverted-v2-response-dto.ts +3 -3
- package/models/bid-acceptance-dto.ts +2 -2
- package/models/bid-attachment-input-dto.ts +6 -6
- package/models/bid-bond-dto.ts +2 -2
- package/models/bid-cancelled-response-dto.ts +3 -3
- package/models/bid-contact-dto.ts +2 -2
- package/models/bid-contacts-dto.ts +2 -2
- package/models/bid-contract-document-dto.ts +9 -9
- package/models/bid-delivery-terms-dto.ts +2 -2
- package/models/bid-detail-response-dto.ts +5 -5
- package/models/bid-document-dto.ts +2 -2
- package/models/bid-failed-v2-response-dto.ts +3 -3
- package/models/bid-item-dto.ts +2 -2
- package/models/bid-lifecycle-dto.ts +2 -2
- package/models/bid-manager-dto.ts +2 -2
- package/models/bid-payment-terms-dto.ts +2 -2
- package/models/bid-product-dto.ts +2 -2
- package/models/bid-public-status.ts +2 -2
- package/models/bid-registered-response-dto.ts +3 -3
- package/models/bid-result-participant-attachment-dto.ts +3 -3
- package/models/bid-result-participant-dto.ts +3 -3
- package/models/bid-results-response-dto.ts +5 -5
- package/models/bid-settlement-line-item-dto.ts +2 -2
- package/models/bid-settlement-participant-dto.ts +2 -2
- package/models/bid-settlement-response-dto.ts +2 -2
- package/models/bid-statement-response-dto.ts +2 -2
- package/models/bid-summary-dto.ts +3 -3
- package/models/bid-type-public.ts +2 -2
- package/models/bid-updated-response-dto.ts +2 -2
- package/models/cancel-bid-request-dto.ts +2 -2
- package/models/cancel-bid200-response.ts +2 -2
- package/models/card-payment-request-response-dto.ts +2 -2
- package/models/complete-acceptance-request-dto.ts +4 -4
- package/models/complete-acceptance200-response.ts +2 -2
- package/models/complete-invoice200-response.ts +2 -2
- package/models/complete-upload-request-dto.ts +2 -2
- package/models/contract-restriction-confirm-input-dto.ts +3 -3
- package/models/create-bid-request-dto.ts +5 -5
- package/models/create-card-payment-dto.ts +2 -2
- package/models/create-card-payment-request-dto.ts +2 -2
- package/models/create-card-payment200-response.ts +2 -2
- package/models/create-embed-launch201-response.ts +2 -2
- package/models/create-external-contract-documents-request-dto.ts +4 -4
- package/models/create-external-contract-documents-response-dto.ts +2 -2
- package/models/create-file-upload-url201-response.ts +2 -2
- package/models/create-upload-url-request-dto.ts +2 -2
- package/models/create-webhook-endpoint-request-dto.ts +4 -4
- package/models/create-webhook-endpoint201-response.ts +2 -2
- package/models/delivery-date-type-public.ts +2 -2
- package/models/delivery-method-public.ts +2 -2
- package/models/embed-bid-prefill-dto.ts +97 -0
- package/models/embed-bid-prefill-item-dto.ts +39 -0
- package/models/embed-bid-prefill-manager-dto.ts +31 -0
- package/models/embed-launch-request-dto.ts +12 -9
- package/models/embed-launch-response-dto.ts +4 -4
- package/models/excellent-procurement-public.ts +2 -2
- package/models/external-contract-document-item-dto.ts +3 -3
- package/models/external-contract-documents-response-dto.ts +2 -2
- package/models/external-contract-item-dto.ts +2 -2
- package/models/external-contract-snapshot-dto.ts +5 -5
- package/models/external-document-inputs-dto.ts +2 -2
- package/models/file-meta-response-dto.ts +2 -2
- package/models/file-uploaded-response-dto.ts +2 -2
- package/models/generated-external-contract-document-dto.ts +4 -4
- package/models/get-bid-settlement200-response.ts +2 -2
- package/models/get-bid-statement200-response.ts +2 -2
- package/models/get-bid200-response.ts +2 -2
- package/models/get-file-meta200-response.ts +2 -2
- package/models/get-supplier-card-payable-v2200-response.ts +2 -2
- package/models/get-webhook-endpoint200-response.ts +2 -2
- package/models/green-product-public.ts +2 -2
- package/models/health-controller-check200-response.ts +2 -2
- package/models/health-response-dto.ts +2 -2
- package/models/hierarchical-region-dto.ts +2 -2
- package/models/index.ts +3 -0
- package/models/introspect-request-dto.ts +5 -5
- package/models/introspection-response-dto.ts +4 -4
- package/models/invalid-param-dto.ts +2 -2
- package/models/invoice-completed-response-dto.ts +2 -2
- package/models/invoice-split-response-dto.ts +2 -2
- package/models/legal-mandatory-public.ts +2 -2
- package/models/list-bid-results200-response.ts +2 -2
- package/models/list-bids200-response-meta.ts +3 -3
- package/models/list-bids200-response.ts +2 -2
- package/models/list-products200-response.ts +2 -2
- package/models/list-webhook-deliveries-response-dto.ts +3 -3
- package/models/list-webhook-deliveries200-response.ts +2 -2
- package/models/list-webhook-endpoints200-response.ts +2 -2
- package/models/mark-bid-failed-request-dto.ts +2 -2
- package/models/mark-bid-failed201-response.ts +2 -2
- package/models/negotiation-score-dto.ts +2 -2
- package/models/negotiation-scored-v2-response-dto.ts +3 -3
- package/models/oauth-error-response-dto.ts +2 -2
- package/models/on-bid-award-reverted-request.ts +2 -2
- package/models/on-bid-awarded-request.ts +2 -2
- package/models/on-bid-canceled-request.ts +2 -2
- package/models/on-bid-closed-request.ts +2 -2
- package/models/on-bid-failed-request.ts +2 -2
- package/models/on-ping-request.ts +2 -2
- package/models/partner-webhook-delivery-status.ts +2 -2
- package/models/partner-webhook-endpoint-status.ts +3 -3
- package/models/partner-webhook-event-type.ts +2 -2
- package/models/payment-method-public.ts +2 -2
- package/models/preconditions-dto.ts +2 -2
- package/models/problem-details-dto.ts +3 -3
- package/models/product-receipt-response-dto.ts +2 -2
- package/models/product-response-dto.ts +3 -3
- package/models/protected-resource-metadata-dto.ts +6 -6
- package/models/register-award-request-dto.ts +5 -5
- package/models/register-award201-response.ts +2 -2
- package/models/register-bid201-response.ts +2 -2
- package/models/register-semo-contract-request-dto.ts +5 -5
- package/models/request-invoice-split-request-dto.ts +4 -4
- package/models/request-invoice-split200-response.ts +2 -2
- package/models/retiree-roster-input-dto.ts +2 -2
- package/models/retiree-roster-row-dto.ts +2 -2
- package/models/revert-award-request-dto.ts +2 -2
- package/models/revert-award200-response.ts +2 -2
- package/models/revoke-request-dto.ts +5 -5
- package/models/semo-contract-registered-response-dto.ts +3 -3
- package/models/semo-contract-taxinvoice-status-response-dto.ts +2 -2
- package/models/send-webhook-test-event200-response.ts +2 -2
- package/models/statement-document-dto.ts +3 -3
- package/models/statement-product-dto.ts +2 -2
- package/models/submit-negotiation-scores-request-dto.ts +2 -2
- package/models/submit-negotiation-scores201-response.ts +2 -2
- package/models/supplier-card-payable-response-dto.ts +2 -2
- package/models/supplier-tax-type.ts +2 -2
- package/models/token-request-dto.ts +5 -5
- package/models/token-response-dto.ts +3 -3
- package/models/update-bid-request-dto.ts +5 -5
- package/models/update-bid200-response.ts +2 -2
- package/models/update-webhook-endpoint-request-dto.ts +3 -3
- package/models/upload-file-request-dto.ts +4 -4
- package/models/upload-file201-response.ts +2 -2
- package/models/upload-url-created-response-dto.ts +5 -5
- package/models/webhook-bid-event-data.ts +3 -3
- package/models/webhook-delivery-dto.ts +4 -4
- package/models/webhook-endpoint-dto.ts +6 -6
- package/models/webhook-endpoint-with-secret-dto.ts +6 -6
- package/models/webhook-event-envelope.ts +3 -3
- package/models/webhook-ping-event-data.ts +2 -2
- package/models/webhook-test-result-dto.ts +3 -3
- package/package.json +1 -1
package/api/partner-api-api.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* CMARKET V6 Partner API
|
|
5
|
-
* 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token
|
|
5
|
+
* 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 봉투 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 봉투를 쓰지 않는 표면은 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 봉투를 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `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: 40.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).
|
|
@@ -127,10 +127,10 @@ import type { UploadFileRequestDto } from '../models';
|
|
|
127
127
|
export const PartnerApiApiAxiosParamCreator = function (configuration?: Configuration) {
|
|
128
128
|
return {
|
|
129
129
|
/**
|
|
130
|
-
*
|
|
130
|
+
* 진행중(`ONGOING`) 공고를 취소합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 취소 사유는 필수이고 공고 이력에 남습니다. - 진행중이 아니거나 이미 취소된 공고는 409, 다른 발주기관의 공고는 403입니다. - 응찰은 받았으나 낙찰자를 정하지 못한 종료는 취소가 아니라 유찰(`POST /v2/bids/{bidRef}/fail`)입니다.
|
|
131
131
|
* @summary 공고 취소
|
|
132
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
133
|
-
* @param {string} idempotencyKey
|
|
132
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
133
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
134
134
|
* @param {CancelBidRequestDto} cancelBidRequestDto
|
|
135
135
|
* @param {*} [options] Override http request option.
|
|
136
136
|
* @throws {RequiredError}
|
|
@@ -176,10 +176,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
176
176
|
};
|
|
177
177
|
},
|
|
178
178
|
/**
|
|
179
|
-
*
|
|
179
|
+
* 납품 검수 완료를 기록합니다. 낙찰 처리된 공고에서 호출합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 현금 결제 공고는 세금계산서 발행요청이 등록되고 낙찰자에게 알림·문자가 나갑니다. 카드 결제 공고는 발행요청이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 협의로 계약금액이 줄었으면 `supplyAmount`와 `vat`를 함께 보냅니다. 현금 결제·낙찰자 1인·감액일 때만 허용하며 어긋나면 409입니다. 생략하면 낙찰금액에서 파생합니다. - 문서에 찍히는 구매사 사업자정보·담당자·작성일자와 낙찰자는 등록된 값에서 채워지며 요청으로 바꿀 수 없습니다.
|
|
180
180
|
* @summary 검수완료 전송
|
|
181
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
182
|
-
* @param {string} idempotencyKey
|
|
181
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
182
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
183
183
|
* @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
|
|
184
184
|
* @param {*} [options] Override http request option.
|
|
185
185
|
* @throws {RequiredError}
|
|
@@ -225,10 +225,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
225
225
|
};
|
|
226
226
|
},
|
|
227
227
|
/**
|
|
228
|
-
* `uploadUrl
|
|
228
|
+
* `uploadUrl`로 올린 파일을 확정합니다. 이 시점부터 `fileKey`를 공고 첨부로 쓸 수 있습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. - 확정 전 `fileKey`를 첨부로 쓰면 공고 등록이 400입니다. - 신고한 `fileSize`가 아니라 실제 파일을 측정해 기록하며, 정책 상한을 넘으면 여기서 거절됩니다. - 같은 `fileKey`로 여러 번 호출해도 안전합니다.
|
|
229
229
|
* @summary 대용량 업로드 2/2 — 업로드 확정
|
|
230
230
|
* @param {string} fileKey 발급 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
231
|
-
* @param {string} idempotencyKey
|
|
231
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
232
232
|
* @param {CompleteUploadRequestDto} completeUploadRequestDto
|
|
233
233
|
* @param {*} [options] Override http request option.
|
|
234
234
|
* @throws {RequiredError}
|
|
@@ -274,10 +274,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
274
274
|
};
|
|
275
275
|
},
|
|
276
276
|
/**
|
|
277
|
-
*
|
|
277
|
+
* 공급사에게 계산서를 수령한 뒤 계약을 완료처리합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 결제완료·계산서 발급 상태가 기록되고 발급일자는 현재 시각이 됩니다. - 이미 완료된 공고는 409, 다른 발주기관의 공고는 403입니다.
|
|
278
278
|
* @summary 정산 마감
|
|
279
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
280
|
-
* @param {string} idempotencyKey
|
|
279
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
280
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
281
281
|
* @param {*} [options] Override http request option.
|
|
282
282
|
* @throws {RequiredError}
|
|
283
283
|
*/
|
|
@@ -318,9 +318,9 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
318
318
|
};
|
|
319
319
|
},
|
|
320
320
|
/**
|
|
321
|
-
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable
|
|
321
|
+
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable`로 미리 확인하세요. 미가입 업체로 발행하면 400입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
322
322
|
* @summary 결제창 발행
|
|
323
|
-
* @param {string} idempotencyKey
|
|
323
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
324
324
|
* @param {CreateCardPaymentDto} createCardPaymentDto
|
|
325
325
|
* @param {*} [options] Override http request option.
|
|
326
326
|
* @throws {RequiredError}
|
|
@@ -363,9 +363,9 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
363
363
|
};
|
|
364
364
|
},
|
|
365
365
|
/**
|
|
366
|
-
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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
|
|
366
|
+
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
367
367
|
* @summary 계약서류 생성
|
|
368
|
-
* @param {string} idempotencyKey
|
|
368
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
369
369
|
* @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
|
|
370
370
|
* @param {*} [options] Override http request option.
|
|
371
371
|
* @throws {RequiredError}
|
|
@@ -408,9 +408,9 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
408
408
|
};
|
|
409
409
|
},
|
|
410
410
|
/**
|
|
411
|
-
*
|
|
411
|
+
* 파일을 스토리지로 직접 올리기 위한 1회용 서명 URL을 발급합니다(100MB까지). 스코프 `files:write` · `Idempotency-Key` 헤더 필수. 1. 이 호출로 `fileKey`와 `uploadUrl`을 받습니다. 2. `uploadUrl`에 파일 바이트를 그대로 `PUT` 합니다. 응답의 `contentType`을 `Content-Type` 헤더에 싣고, `Authorization` 헤더는 붙이지 않습니다(주소 자체가 자격증명입니다). 3. `POST /v2/files/{fileKey}/complete`로 확정합니다. ```bash curl -X PUT \"$uploadUrl\" -H \"Content-Type: $contentType\" --upload-file 시방서.pdf ``` - 2단계는 요청이 스토리지로 가므로 이 명세에 오퍼레이션이 없고, 실패 본문도 problem+json이 아닙니다. 만료(400)·중복 업로드(409)면 1단계부터 다시 합니다. - `uploadUrl`은 1회용이며 `expiresIn`초 뒤 만료됩니다. 주소가 곧 자격증명이므로 로그에 남기지 않습니다. - 30MB 이하는 `POST /v2/files` 한 번으로 끝납니다.
|
|
412
412
|
* @summary 대용량 업로드 1/2 — 업로드 주소 발급
|
|
413
|
-
* @param {string} idempotencyKey
|
|
413
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
414
414
|
* @param {CreateUploadUrlRequestDto} createUploadUrlRequestDto
|
|
415
415
|
* @param {*} [options] Override http request option.
|
|
416
416
|
* @throws {RequiredError}
|
|
@@ -453,9 +453,9 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
453
453
|
};
|
|
454
454
|
},
|
|
455
455
|
/**
|
|
456
|
-
* 수신 주소와 구독할 이벤트를 등록합니다.
|
|
456
|
+
* 수신 주소와 구독할 이벤트를 등록합니다. 연동 초기 1회 호출합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - **서명 시크릿은 이 응답에서 한 번만 나갑니다.** 서버는 해시만 보관하므로 조회로 다시 받을 수 없습니다. 잃어버렸다면 `POST /v2/webhook-endpoints/{endpointId}/rotate-secret`으로 재발급합니다. - 수신 주소가 바뀌면 새로 만들지 말고 `PATCH`로 고치세요. 시크릿과 전송 이력이 유지됩니다. - `url`은 HTTPS만 허용하고 `eventTypes`는 아래 목록 안의 값이어야 합니다. 어기면 400입니다. ### 서명 검증 **[Standard Webhooks](https://www.standardwebhooks.com)** 규약입니다. 직접 짜지 말고 각 언어의 `standardwebhooks` 라이브러리에 등록 시 받은 시크릿(`whsec_…`)을 그대로 넘기세요. ```ts import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); // 실패하면 예외 ``` 라이브러리를 쓸 수 없다면 헤더 셋으로 직접 검증합니다. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. 시크릿에서 `whsec_` 접두어를 떼고 base64 디코드한 바이트가 HMAC 키입니다. 2. `{webhook-id}.{webhook-timestamp}.{본문}`을 연결합니다. 본문은 **파싱 전 원문 바이트**여야 합니다. JSON을 다시 직렬화하면 키 순서·공백이 달라져 서명이 어긋납니다. 3. HMAC-SHA256을 base64로 인코딩해 `webhook-signature`의 `v1,` 뒤 값과 상수 시간 함수로 비교합니다. 4. `webhook-timestamp`가 5분 이상 지났으면 거절합니다. `webhook-signature`에는 서명이 여러 개 실릴 수 있으므로(키 회전용) 하나라도 맞으면 통과로 처리하세요. ### 중복 제거 `webhook-id`가 이벤트 식별자입니다. 재시도에도 같은 값이 오므로 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상이며 중복 제거는 수신측 책임입니다. `webhook-event-type` 헤더에 본문 `type`과 같은 값이 실려, 본문을 파싱하기 전에 거를 수 있습니다. ### 재시도와 자동 중지 2xx를 돌려주면 성공입니다. 그 외에는 최대 7회 재시도하며 간격은 10초 → 1분 → 5분 → 30분 → 2시간 → 6시간 → 24시간입니다. 처리가 길면 먼저 2xx를 돌려주고 비동기로 처리하세요. 연속 실패가 20회에 닿으면 구독이 `DISABLED`로 내려갑니다. 수신측을 고친 뒤 `PATCH /v2/webhook-endpoints/{endpointId}`에 `{\"status\":\"ACTIVE\"}`로 되살리세요. ### 이벤트 `bid.closed` · `bid.awarded` · `bid.failed` · `bid.canceled` · `bid.award_reverted` `ping`은 연결 확인 전용이라 구독할 수 없습니다. 놓친 이벤트는 `GET /v2/webhook-deliveries`로 조회해 메웁니다.
|
|
457
457
|
* @summary 웹훅 구독 등록
|
|
458
|
-
* @param {string} idempotencyKey
|
|
458
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
459
459
|
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
460
460
|
* @param {*} [options] Override http request option.
|
|
461
461
|
* @throws {RequiredError}
|
|
@@ -498,11 +498,11 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
498
498
|
};
|
|
499
499
|
},
|
|
500
500
|
/**
|
|
501
|
-
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다.
|
|
501
|
+
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. 잠시만 멈추려면 `PATCH`로 `{\"status\":\"DISABLED\"}`를 보내세요. - `If-Match`가 필수입니다. 누락은 428, 그 사이 구독이 바뀌었으면 412입니다.
|
|
502
502
|
* @summary 웹훅 구독 삭제
|
|
503
503
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
504
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
505
|
-
* @param {string} idempotencyKey
|
|
504
|
+
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
505
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
506
506
|
* @param {*} [options] Override http request option.
|
|
507
507
|
* @throws {RequiredError}
|
|
508
508
|
*/
|
|
@@ -548,9 +548,9 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
548
548
|
};
|
|
549
549
|
},
|
|
550
550
|
/**
|
|
551
|
-
* 무인증 — `fileKey` 자체가 capability 다(키를 아는 쪽이 곧 접근 권한을 가진다). 파트너 응답의 `fileUrl`/`fullUrl
|
|
551
|
+
* 무인증 — `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`이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
552
552
|
* @summary 파일 다운로드
|
|
553
|
-
* @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex
|
|
553
|
+
* @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다.
|
|
554
554
|
* @param {*} [options] Override http request option.
|
|
555
555
|
* @throws {RequiredError}
|
|
556
556
|
*/
|
|
@@ -581,10 +581,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
581
581
|
};
|
|
582
582
|
},
|
|
583
583
|
/**
|
|
584
|
-
*
|
|
584
|
+
* 공고 한 건의 전체 정보를 조회합니다 — 기본 정보, 납품·대금 조건, 담당자, 품목, 응찰 참여자, 계약서류, 검수 상태. 스코프 `bids:read`. - 낙찰 여부는 `status`가 아니라 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없어(낙찰 직후 `CONTRACT_IN_PROGRESS`) `status === \'AWARDED\'` 폴링은 끝나지 않습니다. - 계약서류는 `contractDocuments[]`에 실립니다. 따로 받는 엔드포인트는 없습니다. - 여러 건은 `GET /v2/bid-results`로 한 번에 받습니다. - 다른 발주기관의 공고는 403입니다.
|
|
585
585
|
* @summary 공고 상세 조회
|
|
586
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
587
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
586
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
587
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
588
588
|
* @param {*} [options] Override http request option.
|
|
589
589
|
* @throws {RequiredError}
|
|
590
590
|
*/
|
|
@@ -623,10 +623,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
623
623
|
};
|
|
624
624
|
},
|
|
625
625
|
/**
|
|
626
|
-
* 낙찰 공급사의
|
|
626
|
+
* 낙찰 공급사의 사업자·계좌 정보와 공급가액·부가세, 응찰 품목내역을 조회합니다. 대금 지급에 필요한 값입니다. 스코프 `invoices:read`(종전 `bids:read`에서 변경). 다른 조회에서 참가자 정보가 가려지는 경우와 무관하게 이 응답은 항상 그대로 나갑니다.
|
|
627
627
|
* @summary 정산 정보 조회
|
|
628
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
629
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
628
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
629
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
630
630
|
* @param {*} [options] Override http request option.
|
|
631
631
|
* @throws {RequiredError}
|
|
632
632
|
*/
|
|
@@ -665,11 +665,11 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
665
665
|
};
|
|
666
666
|
},
|
|
667
667
|
/**
|
|
668
|
-
* 낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다.
|
|
668
|
+
* 낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다. 스코프 `invoices:read`(종전 `contracts:read`에서 변경).
|
|
669
669
|
* @summary 거래명세서 조회
|
|
670
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
670
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
671
671
|
* @param {number} [paperCode] 거래명세서 서식 코드. 생략하면 해당 공고에 적용된 기본 서식으로 조회합니다. 기관에 서식이 여러 벌인 경우에만 지정하세요.
|
|
672
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
672
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
673
673
|
* @param {*} [options] Override http request option.
|
|
674
674
|
* @throws {RequiredError}
|
|
675
675
|
*/
|
|
@@ -712,10 +712,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
712
712
|
};
|
|
713
713
|
},
|
|
714
714
|
/**
|
|
715
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey
|
|
715
|
+
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey`만 아는 경우(예: 업로드 직후 크기 확인)를 위한 것입니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName`에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
|
|
716
716
|
* @summary 파일 정보 조회
|
|
717
717
|
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
718
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
718
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
719
719
|
* @param {*} [options] Override http request option.
|
|
720
720
|
* @throws {RequiredError}
|
|
721
721
|
*/
|
|
@@ -792,10 +792,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
792
792
|
};
|
|
793
793
|
},
|
|
794
794
|
/**
|
|
795
|
-
* 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write
|
|
795
|
+
* 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write`를 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
|
|
796
796
|
* @summary 공급사 카드결제 가능 여부
|
|
797
797
|
* @param {string} memberId 계약업체 회원 ID
|
|
798
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
798
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
799
799
|
* @param {*} [options] Override http request option.
|
|
800
800
|
* @throws {RequiredError}
|
|
801
801
|
*/
|
|
@@ -834,10 +834,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
834
834
|
};
|
|
835
835
|
},
|
|
836
836
|
/**
|
|
837
|
-
* 구독 1건의 현재 상태를 조회합니다.
|
|
837
|
+
* 구독 1건의 현재 상태를 조회합니다. 스코프 `webhooks:read`. 수정·삭제 전에 먼저 호출해 응답 헤더의 `ETag`를 `If-Match`에 실어야 합니다. 없는 구독이거나 다른 파트너 키의 구독이면 404입니다. 서명 시크릿은 실리지 않습니다.
|
|
838
838
|
* @summary 웹훅 구독 단건 조회
|
|
839
839
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
840
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
840
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
841
841
|
* @param {*} [options] Override http request option.
|
|
842
842
|
* @throws {RequiredError}
|
|
843
843
|
*/
|
|
@@ -878,7 +878,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
878
878
|
/**
|
|
879
879
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
880
880
|
* @summary Partner API 헬스체크
|
|
881
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
881
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
882
882
|
* @param {*} [options] Override http request option.
|
|
883
883
|
* @throws {RequiredError}
|
|
884
884
|
*/
|
|
@@ -910,10 +910,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
910
910
|
};
|
|
911
911
|
},
|
|
912
912
|
/**
|
|
913
|
-
* 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`.
|
|
913
|
+
* 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. - 결과 확인은 공고를 하나씩 조회하지 말고 이 엔드포인트로 최대 100건씩 받습니다. 응답의 `ETag`를 다음 요청의 `If-None-Match`로 보내면 변화가 없을 때 본문 없이 `304`로 끝납니다. - 식별자는 `?bidRefs=A,B,C`와 `?bidRefs=A&bidRefs=B` 둘 다 됩니다. - 없거나 대행 범위 밖인 식별자는 오류가 아니라 응답에서 빠집니다. 보낸 값이 공고번호면 `bidId`, 구매번호면 `purchaseNo`로 대조합니다.
|
|
914
914
|
* @summary 공고 결과 조회
|
|
915
|
-
* @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
916
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
915
|
+
* @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 `bidRefs`를 반복해 전달합니다. 최대 100건입니다.
|
|
916
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
917
917
|
* @param {*} [options] Override http request option.
|
|
918
918
|
* @throws {RequiredError}
|
|
919
919
|
*/
|
|
@@ -955,14 +955,14 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
955
955
|
};
|
|
956
956
|
},
|
|
957
957
|
/**
|
|
958
|
-
*
|
|
958
|
+
* API 키에 연결된 발주기관의 공고를 게시일 최신순으로 조회합니다. 스코프 `bids:read`. - 발주기관은 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 페이지네이션: `limit`(1~100, 기본 100)과 `cursor`. 응답 `meta.nextCursor`를 다음 요청의 `cursor`로 보내고, `meta.hasMore`가 `false`면 마지막 페이지입니다. - 낙찰 여부는 공고 상태가 아니라 `GET /v2/bid-results`의 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없습니다.
|
|
959
959
|
* @summary 공고 목록 조회
|
|
960
960
|
* @param {number} [limit] 페이지 크기(1~100, 기본 100).
|
|
961
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
962
|
-
* @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
961
|
+
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 보냅니다. 생략하면 첫 페이지이고, `nextCursor`가 `null`이면 마지막 페이지입니다.
|
|
962
|
+
* @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
|
|
963
963
|
* @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다.
|
|
964
964
|
* @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
|
|
965
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
965
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
966
966
|
* @param {*} [options] Override http request option.
|
|
967
967
|
* @throws {RequiredError}
|
|
968
968
|
*/
|
|
@@ -1018,7 +1018,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1018
1018
|
};
|
|
1019
1019
|
},
|
|
1020
1020
|
/**
|
|
1021
|
-
* 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market
|
|
1021
|
+
* 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market이 데이터를 채워 PDF로 만들어 주는 서류입니다. 생성 API의 `paperCodes`에 넣을 수 있습니다. - `autoGenerated=false` — 이 API 로는 만들 수 없는 서류입니다(거래명세서처럼 세금계산서 발행 같은 별도 시점이 필요한 서류). 목록에서 감추지 말고 사용자가 직접 첨부하도록 안내하세요. **조회 가능한 회원 범위:** 이 API 키에 설정된 대행 범위(소속 그룹 전원 또는 지정 회원 목록) 안의 회원만 조회할 수 있습니다. 범위 밖이면 403 입니다. 대행 범위는 키 설정이며 스코프와는 별개 축입니다. **필수 스코프:** `contracts:read` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents`가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
1022
1022
|
* @summary 거래에 필요한 계약서류 목록 조회
|
|
1023
1023
|
* @param {string} buyerId 발주기관 회원 ID(c-market memberId).
|
|
1024
1024
|
* @param {ListExternalContractDocumentsBidTypeEnum} bidType 거래유형.
|
|
@@ -1066,13 +1066,13 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1066
1066
|
};
|
|
1067
1067
|
},
|
|
1068
1068
|
/**
|
|
1069
|
-
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸
|
|
1069
|
+
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문, 수신측 응답 상태, 다음 재시도 시각이 함께 실립니다. 스코프 `webhooks:read`. - 수신측 장애로 놓친 이벤트는 `status=EXHAUSTED`로 걸러 다시 처리합니다. 웹훅의 폴링 대체 경로입니다. - 재시도마다 한 행이며 `eventId`가 같고 `attempt`만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단합니다. - 페이지네이션: 응답 `nextCursor`를 다음 요청의 `cursor`로 보냅니다. `null`이면 마지막 페이지입니다.
|
|
1070
1070
|
* @summary 웹훅 전송 이력 조회
|
|
1071
1071
|
* @param {string} [endpointId] 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다.
|
|
1072
1072
|
* @param {PartnerWebhookDeliveryStatus} [status] 전송 상태 필터. 미지정이면 전부.
|
|
1073
1073
|
* @param {number} [limit] 페이지 크기(1~200, 기본 50).
|
|
1074
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
1075
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1074
|
+
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지.
|
|
1075
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1076
1076
|
* @param {*} [options] Override http request option.
|
|
1077
1077
|
* @throws {RequiredError}
|
|
1078
1078
|
*/
|
|
@@ -1124,9 +1124,9 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1124
1124
|
};
|
|
1125
1125
|
},
|
|
1126
1126
|
/**
|
|
1127
|
-
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다.
|
|
1127
|
+
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다. 스코프 `webhooks:read`. 발송이 멈춘 이유는 `status`와 `consecutiveFailures`로 확인합니다. 서명 시크릿은 실리지 않습니다. 수신측 구현 방법은 `POST /v2/webhook-endpoints` 설명에 있습니다.
|
|
1128
1128
|
* @summary 웹훅 구독 목록 조회
|
|
1129
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1129
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1130
1130
|
* @param {*} [options] Override http request option.
|
|
1131
1131
|
* @throws {RequiredError}
|
|
1132
1132
|
*/
|
|
@@ -1162,10 +1162,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1162
1162
|
};
|
|
1163
1163
|
},
|
|
1164
1164
|
/**
|
|
1165
|
-
* 공고를 유찰
|
|
1165
|
+
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. 공고 상태가 유찰(`FAILED`)로 바뀌고 유찰사유가 기록됩니다. 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). | `failureReasonCode` | 의미 | | --- | --- | | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | | `OTHER` | 기타(`failureReasonDetail` 필수) |
|
|
1166
1166
|
* @summary 유찰 처리
|
|
1167
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1168
|
-
* @param {string} idempotencyKey
|
|
1167
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1168
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1169
1169
|
* @param {MarkBidFailedRequestDto} markBidFailedRequestDto
|
|
1170
1170
|
* @param {*} [options] Override http request option.
|
|
1171
1171
|
* @throws {RequiredError}
|
|
@@ -1211,10 +1211,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1211
1211
|
};
|
|
1212
1212
|
},
|
|
1213
1213
|
/**
|
|
1214
|
-
* 낙찰 결과를 등록합니다.
|
|
1214
|
+
* 낙찰 결과를 등록합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감(입찰완료) 상태에서 호출합니다. - 낙찰 후 공고 상태는 계약진행(`CONTRACT_IN_PROGRESS`)입니다. `AWARDED` 공고 상태는 없으므로 낙찰 여부는 `participants[].isWinner`로 판단합니다. - 협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고는 `POST /v2/bids/{bidRef}/negotiation-scores`로 평가를 마쳐야 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 같은 키와 같은 body로 재전송하면 24시간 동안 캐시된 응답을 돌려줍니다.
|
|
1215
1215
|
* @summary 낙찰 결과 전송
|
|
1216
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1217
|
-
* @param {string} idempotencyKey
|
|
1216
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1217
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1218
1218
|
* @param {RegisterAwardRequestDto} registerAwardRequestDto
|
|
1219
1219
|
* @param {*} [options] Override http request option.
|
|
1220
1220
|
* @throws {RequiredError}
|
|
@@ -1260,9 +1260,9 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1260
1260
|
};
|
|
1261
1261
|
},
|
|
1262
1262
|
/**
|
|
1263
|
-
*
|
|
1263
|
+
* 공고를 등록합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. 첨부는 두 방법 중 하나입니다. - `attachments` 원소에 `{ fileName, url }` 또는 `{ fileName, base64 }`를 그대로 넣습니다. - 여러 공고에서 재사용할 파일은 `POST /v2/files`로 먼저 올려 받은 `fileKey`를 넣습니다.
|
|
1264
1264
|
* @summary 공고 등록
|
|
1265
|
-
* @param {string} idempotencyKey
|
|
1265
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1266
1266
|
* @param {CreateBidRequestDto} createBidRequestDto
|
|
1267
1267
|
* @param {*} [options] Override http request option.
|
|
1268
1268
|
* @throws {RequiredError}
|
|
@@ -1307,7 +1307,7 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1307
1307
|
/**
|
|
1308
1308
|
* 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
1309
1309
|
* @summary 계약 발행대상 등록
|
|
1310
|
-
* @param {string} idempotencyKey
|
|
1310
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1311
1311
|
* @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
|
|
1312
1312
|
* @param {*} [options] Override http request option.
|
|
1313
1313
|
* @throws {RequiredError}
|
|
@@ -1350,10 +1350,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1350
1350
|
};
|
|
1351
1351
|
},
|
|
1352
1352
|
/**
|
|
1353
|
-
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write
|
|
1353
|
+
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write` · `Idempotency-Key` 헤더 필수. - 청구만 접수합니다. 발행은 정산 파이프라인이 처리하며 진행 여부는 `GET /v2/bids/{bidRef}`의 `taxInvoiceRequested`로 확인합니다. - `supplyAmount`와 `vat`는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 **새 `Idempotency-Key`**로 한 번 더 청구합니다. 같은 키는 앞선 청구의 응답을 그대로 돌려줍니다. - `issueDate`는 선택이며 미래 일자는 400입니다.
|
|
1354
1354
|
* @summary 계산서 분할 발급 청구
|
|
1355
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1356
|
-
* @param {string} idempotencyKey
|
|
1355
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1356
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1357
1357
|
* @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
|
|
1358
1358
|
* @param {*} [options] Override http request option.
|
|
1359
1359
|
* @throws {RequiredError}
|
|
@@ -1401,8 +1401,8 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1401
1401
|
/**
|
|
1402
1402
|
* 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
1403
1403
|
* @summary 낙찰 되돌리기
|
|
1404
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1405
|
-
* @param {string} idempotencyKey
|
|
1404
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1405
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1406
1406
|
* @param {RevertAwardRequestDto} revertAwardRequestDto
|
|
1407
1407
|
* @param {*} [options] Override http request option.
|
|
1408
1408
|
* @throws {RequiredError}
|
|
@@ -1448,10 +1448,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1448
1448
|
};
|
|
1449
1449
|
},
|
|
1450
1450
|
/**
|
|
1451
|
-
* 서명 시크릿을 새로 발급합니다.
|
|
1451
|
+
* 서명 시크릿을 새로 발급합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 새 시크릿은 이 응답에서 한 번만 나가고 `secretVersion`이 1 올라갑니다. - **옛 시크릿은 즉시 무효입니다.** 유예가 없으므로 순서를 지키세요 — ① 수신측이 옛 값과 새 값을 모두 받아들이도록 배포 → ② 이 호출 → ③ 새 값 반영 → ④ 옛 값 제거. - 같은 `Idempotency-Key`로 다시 부르면 새로 발급하지 않고 처음 발급한 값을 돌려줍니다(24시간).
|
|
1452
1452
|
* @summary 웹훅 서명 시크릿 재발급
|
|
1453
1453
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
1454
|
-
* @param {string} idempotencyKey
|
|
1454
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1455
1455
|
* @param {*} [options] Override http request option.
|
|
1456
1456
|
* @throws {RequiredError}
|
|
1457
1457
|
*/
|
|
@@ -1492,10 +1492,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1492
1492
|
};
|
|
1493
1493
|
},
|
|
1494
1494
|
/**
|
|
1495
|
-
* 등록된 주소로 `ping` 이벤트를
|
|
1495
|
+
* 등록된 주소로 `ping` 이벤트를 1회 보내고 결과를 돌려줍니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 수신측이 받지 못해도 응답은 200이고 `delivered: false`입니다. 원인은 `responseStatus`와 `error`로 좁힙니다. - 실제 이벤트와 같은 서명 헤더가 실리므로 검증 코드를 그대로 시험할 수 있습니다. - 다시 보내려면 새 `Idempotency-Key`를 쓰세요. 같은 키는 24시간 동안 직전 결과를 돌려줍니다.
|
|
1496
1496
|
* @summary 웹훅 연결 확인 발송
|
|
1497
1497
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
1498
|
-
* @param {string} idempotencyKey
|
|
1498
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1499
1499
|
* @param {*} [options] Override http request option.
|
|
1500
1500
|
* @throws {RequiredError}
|
|
1501
1501
|
*/
|
|
@@ -1536,10 +1536,10 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1536
1536
|
};
|
|
1537
1537
|
},
|
|
1538
1538
|
/**
|
|
1539
|
-
*
|
|
1539
|
+
* 협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고의 응찰자별 점수를 입력합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전에 호출합니다. 협상 방식 공고는 이 평가를 마쳐야 낙찰에 진입합니다. - `complete=true`면 평가완료로 처리되어 낙찰을 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다).
|
|
1540
1540
|
* @summary 협상 점수평가
|
|
1541
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1542
|
-
* @param {string} idempotencyKey
|
|
1541
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1542
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1543
1543
|
* @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
|
|
1544
1544
|
* @param {*} [options] Override http request option.
|
|
1545
1545
|
* @throws {RequiredError}
|
|
@@ -1585,11 +1585,11 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1585
1585
|
};
|
|
1586
1586
|
},
|
|
1587
1587
|
/**
|
|
1588
|
-
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write`
|
|
1588
|
+
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
1589
1589
|
* @summary 공고 수정
|
|
1590
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1591
|
-
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412
|
|
1592
|
-
* @param {string} idempotencyKey
|
|
1590
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1591
|
+
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412로 거절되며 아무것도 수정되지 않습니다.
|
|
1592
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1593
1593
|
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
1594
1594
|
* @param {*} [options] Override http request option.
|
|
1595
1595
|
* @throws {RequiredError}
|
|
@@ -1640,11 +1640,11 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1640
1640
|
};
|
|
1641
1641
|
},
|
|
1642
1642
|
/**
|
|
1643
|
-
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다.
|
|
1643
|
+
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - `eventTypes`는 치환입니다. 하나를 더하려면 기존 목록을 포함한 전체를 보냅니다. - `If-Match`가 필수입니다. `GET`으로 받은 `ETag`를 그대로 실으세요. 누락은 428, 그 사이 구독이 바뀌었으면 412이며 아무것도 수정되지 않습니다. - 연속 실패로 자동 중지된 구독은 `{\"status\":\"ACTIVE\"}`로 되살립니다. - 시크릿은 이 경로로 바뀌지 않습니다. 재발급은 `rotate-secret`입니다.
|
|
1644
1644
|
* @summary 웹훅 구독 수정
|
|
1645
1645
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
1646
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
1647
|
-
* @param {string} idempotencyKey
|
|
1646
|
+
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
1647
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1648
1648
|
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
1649
1649
|
* @param {*} [options] Override http request option.
|
|
1650
1650
|
* @throws {RequiredError}
|
|
@@ -1695,9 +1695,9 @@ export const PartnerApiApiAxiosParamCreator = function (configuration?: Configur
|
|
|
1695
1695
|
};
|
|
1696
1696
|
},
|
|
1697
1697
|
/**
|
|
1698
|
-
*
|
|
1698
|
+
* 공고 첨부파일을 올리고 `fileKey`를 받습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. `base64`와 `url` 중 하나만 보냅니다. 받은 `fileKey`는 공고 등록·수정의 `attachments`에 넣습니다. | 제출 방식 | 상한 | 호출 수 | | --- | --- | --- | | 이 호출 + `base64` | 23MB | 1 | | 이 호출 + `url` | 30MB | 1 | | `POST /v2/files/upload-url` 2단계 | 100MB | 2 + 스토리지 PUT | 한 공고에만 쓰는 파일이면 `POST /v2/bids`의 `attachments`에 `url`·`base64`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
1699
1699
|
* @summary 공고 첨부파일 업로드 (기본)
|
|
1700
|
-
* @param {string} idempotencyKey
|
|
1700
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1701
1701
|
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
1702
1702
|
* @param {*} [options] Override http request option.
|
|
1703
1703
|
* @throws {RequiredError}
|
|
@@ -1749,10 +1749,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1749
1749
|
const localVarAxiosParamCreator = PartnerApiApiAxiosParamCreator(configuration)
|
|
1750
1750
|
return {
|
|
1751
1751
|
/**
|
|
1752
|
-
*
|
|
1752
|
+
* 진행중(`ONGOING`) 공고를 취소합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 취소 사유는 필수이고 공고 이력에 남습니다. - 진행중이 아니거나 이미 취소된 공고는 409, 다른 발주기관의 공고는 403입니다. - 응찰은 받았으나 낙찰자를 정하지 못한 종료는 취소가 아니라 유찰(`POST /v2/bids/{bidRef}/fail`)입니다.
|
|
1753
1753
|
* @summary 공고 취소
|
|
1754
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1755
|
-
* @param {string} idempotencyKey
|
|
1754
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1755
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1756
1756
|
* @param {CancelBidRequestDto} cancelBidRequestDto
|
|
1757
1757
|
* @param {*} [options] Override http request option.
|
|
1758
1758
|
* @throws {RequiredError}
|
|
@@ -1764,10 +1764,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1764
1764
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1765
1765
|
},
|
|
1766
1766
|
/**
|
|
1767
|
-
*
|
|
1767
|
+
* 납품 검수 완료를 기록합니다. 낙찰 처리된 공고에서 호출합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 현금 결제 공고는 세금계산서 발행요청이 등록되고 낙찰자에게 알림·문자가 나갑니다. 카드 결제 공고는 발행요청이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 협의로 계약금액이 줄었으면 `supplyAmount`와 `vat`를 함께 보냅니다. 현금 결제·낙찰자 1인·감액일 때만 허용하며 어긋나면 409입니다. 생략하면 낙찰금액에서 파생합니다. - 문서에 찍히는 구매사 사업자정보·담당자·작성일자와 낙찰자는 등록된 값에서 채워지며 요청으로 바꿀 수 없습니다.
|
|
1768
1768
|
* @summary 검수완료 전송
|
|
1769
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1770
|
-
* @param {string} idempotencyKey
|
|
1769
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1770
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1771
1771
|
* @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
|
|
1772
1772
|
* @param {*} [options] Override http request option.
|
|
1773
1773
|
* @throws {RequiredError}
|
|
@@ -1779,10 +1779,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1779
1779
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1780
1780
|
},
|
|
1781
1781
|
/**
|
|
1782
|
-
* `uploadUrl
|
|
1782
|
+
* `uploadUrl`로 올린 파일을 확정합니다. 이 시점부터 `fileKey`를 공고 첨부로 쓸 수 있습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. - 확정 전 `fileKey`를 첨부로 쓰면 공고 등록이 400입니다. - 신고한 `fileSize`가 아니라 실제 파일을 측정해 기록하며, 정책 상한을 넘으면 여기서 거절됩니다. - 같은 `fileKey`로 여러 번 호출해도 안전합니다.
|
|
1783
1783
|
* @summary 대용량 업로드 2/2 — 업로드 확정
|
|
1784
1784
|
* @param {string} fileKey 발급 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
1785
|
-
* @param {string} idempotencyKey
|
|
1785
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1786
1786
|
* @param {CompleteUploadRequestDto} completeUploadRequestDto
|
|
1787
1787
|
* @param {*} [options] Override http request option.
|
|
1788
1788
|
* @throws {RequiredError}
|
|
@@ -1794,10 +1794,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1794
1794
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1795
1795
|
},
|
|
1796
1796
|
/**
|
|
1797
|
-
*
|
|
1797
|
+
* 공급사에게 계산서를 수령한 뒤 계약을 완료처리합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 결제완료·계산서 발급 상태가 기록되고 발급일자는 현재 시각이 됩니다. - 이미 완료된 공고는 409, 다른 발주기관의 공고는 403입니다.
|
|
1798
1798
|
* @summary 정산 마감
|
|
1799
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1800
|
-
* @param {string} idempotencyKey
|
|
1799
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1800
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1801
1801
|
* @param {*} [options] Override http request option.
|
|
1802
1802
|
* @throws {RequiredError}
|
|
1803
1803
|
*/
|
|
@@ -1808,9 +1808,9 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1808
1808
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1809
1809
|
},
|
|
1810
1810
|
/**
|
|
1811
|
-
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable
|
|
1811
|
+
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable`로 미리 확인하세요. 미가입 업체로 발행하면 400입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
1812
1812
|
* @summary 결제창 발행
|
|
1813
|
-
* @param {string} idempotencyKey
|
|
1813
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1814
1814
|
* @param {CreateCardPaymentDto} createCardPaymentDto
|
|
1815
1815
|
* @param {*} [options] Override http request option.
|
|
1816
1816
|
* @throws {RequiredError}
|
|
@@ -1822,9 +1822,9 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1822
1822
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1823
1823
|
},
|
|
1824
1824
|
/**
|
|
1825
|
-
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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
|
|
1825
|
+
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
1826
1826
|
* @summary 계약서류 생성
|
|
1827
|
-
* @param {string} idempotencyKey
|
|
1827
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1828
1828
|
* @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
|
|
1829
1829
|
* @param {*} [options] Override http request option.
|
|
1830
1830
|
* @throws {RequiredError}
|
|
@@ -1836,9 +1836,9 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1836
1836
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1837
1837
|
},
|
|
1838
1838
|
/**
|
|
1839
|
-
*
|
|
1839
|
+
* 파일을 스토리지로 직접 올리기 위한 1회용 서명 URL을 발급합니다(100MB까지). 스코프 `files:write` · `Idempotency-Key` 헤더 필수. 1. 이 호출로 `fileKey`와 `uploadUrl`을 받습니다. 2. `uploadUrl`에 파일 바이트를 그대로 `PUT` 합니다. 응답의 `contentType`을 `Content-Type` 헤더에 싣고, `Authorization` 헤더는 붙이지 않습니다(주소 자체가 자격증명입니다). 3. `POST /v2/files/{fileKey}/complete`로 확정합니다. ```bash curl -X PUT \"$uploadUrl\" -H \"Content-Type: $contentType\" --upload-file 시방서.pdf ``` - 2단계는 요청이 스토리지로 가므로 이 명세에 오퍼레이션이 없고, 실패 본문도 problem+json이 아닙니다. 만료(400)·중복 업로드(409)면 1단계부터 다시 합니다. - `uploadUrl`은 1회용이며 `expiresIn`초 뒤 만료됩니다. 주소가 곧 자격증명이므로 로그에 남기지 않습니다. - 30MB 이하는 `POST /v2/files` 한 번으로 끝납니다.
|
|
1840
1840
|
* @summary 대용량 업로드 1/2 — 업로드 주소 발급
|
|
1841
|
-
* @param {string} idempotencyKey
|
|
1841
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1842
1842
|
* @param {CreateUploadUrlRequestDto} createUploadUrlRequestDto
|
|
1843
1843
|
* @param {*} [options] Override http request option.
|
|
1844
1844
|
* @throws {RequiredError}
|
|
@@ -1850,9 +1850,9 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1850
1850
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1851
1851
|
},
|
|
1852
1852
|
/**
|
|
1853
|
-
* 수신 주소와 구독할 이벤트를 등록합니다.
|
|
1853
|
+
* 수신 주소와 구독할 이벤트를 등록합니다. 연동 초기 1회 호출합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - **서명 시크릿은 이 응답에서 한 번만 나갑니다.** 서버는 해시만 보관하므로 조회로 다시 받을 수 없습니다. 잃어버렸다면 `POST /v2/webhook-endpoints/{endpointId}/rotate-secret`으로 재발급합니다. - 수신 주소가 바뀌면 새로 만들지 말고 `PATCH`로 고치세요. 시크릿과 전송 이력이 유지됩니다. - `url`은 HTTPS만 허용하고 `eventTypes`는 아래 목록 안의 값이어야 합니다. 어기면 400입니다. ### 서명 검증 **[Standard Webhooks](https://www.standardwebhooks.com)** 규약입니다. 직접 짜지 말고 각 언어의 `standardwebhooks` 라이브러리에 등록 시 받은 시크릿(`whsec_…`)을 그대로 넘기세요. ```ts import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); // 실패하면 예외 ``` 라이브러리를 쓸 수 없다면 헤더 셋으로 직접 검증합니다. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. 시크릿에서 `whsec_` 접두어를 떼고 base64 디코드한 바이트가 HMAC 키입니다. 2. `{webhook-id}.{webhook-timestamp}.{본문}`을 연결합니다. 본문은 **파싱 전 원문 바이트**여야 합니다. JSON을 다시 직렬화하면 키 순서·공백이 달라져 서명이 어긋납니다. 3. HMAC-SHA256을 base64로 인코딩해 `webhook-signature`의 `v1,` 뒤 값과 상수 시간 함수로 비교합니다. 4. `webhook-timestamp`가 5분 이상 지났으면 거절합니다. `webhook-signature`에는 서명이 여러 개 실릴 수 있으므로(키 회전용) 하나라도 맞으면 통과로 처리하세요. ### 중복 제거 `webhook-id`가 이벤트 식별자입니다. 재시도에도 같은 값이 오므로 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상이며 중복 제거는 수신측 책임입니다. `webhook-event-type` 헤더에 본문 `type`과 같은 값이 실려, 본문을 파싱하기 전에 거를 수 있습니다. ### 재시도와 자동 중지 2xx를 돌려주면 성공입니다. 그 외에는 최대 7회 재시도하며 간격은 10초 → 1분 → 5분 → 30분 → 2시간 → 6시간 → 24시간입니다. 처리가 길면 먼저 2xx를 돌려주고 비동기로 처리하세요. 연속 실패가 20회에 닿으면 구독이 `DISABLED`로 내려갑니다. 수신측을 고친 뒤 `PATCH /v2/webhook-endpoints/{endpointId}`에 `{\"status\":\"ACTIVE\"}`로 되살리세요. ### 이벤트 `bid.closed` · `bid.awarded` · `bid.failed` · `bid.canceled` · `bid.award_reverted` `ping`은 연결 확인 전용이라 구독할 수 없습니다. 놓친 이벤트는 `GET /v2/webhook-deliveries`로 조회해 메웁니다.
|
|
1854
1854
|
* @summary 웹훅 구독 등록
|
|
1855
|
-
* @param {string} idempotencyKey
|
|
1855
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1856
1856
|
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
1857
1857
|
* @param {*} [options] Override http request option.
|
|
1858
1858
|
* @throws {RequiredError}
|
|
@@ -1864,11 +1864,11 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1864
1864
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1865
1865
|
},
|
|
1866
1866
|
/**
|
|
1867
|
-
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다.
|
|
1867
|
+
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. 잠시만 멈추려면 `PATCH`로 `{\"status\":\"DISABLED\"}`를 보내세요. - `If-Match`가 필수입니다. 누락은 428, 그 사이 구독이 바뀌었으면 412입니다.
|
|
1868
1868
|
* @summary 웹훅 구독 삭제
|
|
1869
1869
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
1870
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
1871
|
-
* @param {string} idempotencyKey
|
|
1870
|
+
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
1871
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
1872
1872
|
* @param {*} [options] Override http request option.
|
|
1873
1873
|
* @throws {RequiredError}
|
|
1874
1874
|
*/
|
|
@@ -1879,9 +1879,9 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1879
1879
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1880
1880
|
},
|
|
1881
1881
|
/**
|
|
1882
|
-
* 무인증 — `fileKey` 자체가 capability 다(키를 아는 쪽이 곧 접근 권한을 가진다). 파트너 응답의 `fileUrl`/`fullUrl
|
|
1882
|
+
* 무인증 — `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`이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
1883
1883
|
* @summary 파일 다운로드
|
|
1884
|
-
* @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex
|
|
1884
|
+
* @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다.
|
|
1885
1885
|
* @param {*} [options] Override http request option.
|
|
1886
1886
|
* @throws {RequiredError}
|
|
1887
1887
|
*/
|
|
@@ -1892,10 +1892,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1892
1892
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1893
1893
|
},
|
|
1894
1894
|
/**
|
|
1895
|
-
*
|
|
1895
|
+
* 공고 한 건의 전체 정보를 조회합니다 — 기본 정보, 납품·대금 조건, 담당자, 품목, 응찰 참여자, 계약서류, 검수 상태. 스코프 `bids:read`. - 낙찰 여부는 `status`가 아니라 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없어(낙찰 직후 `CONTRACT_IN_PROGRESS`) `status === \'AWARDED\'` 폴링은 끝나지 않습니다. - 계약서류는 `contractDocuments[]`에 실립니다. 따로 받는 엔드포인트는 없습니다. - 여러 건은 `GET /v2/bid-results`로 한 번에 받습니다. - 다른 발주기관의 공고는 403입니다.
|
|
1896
1896
|
* @summary 공고 상세 조회
|
|
1897
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1898
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1897
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1898
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1899
1899
|
* @param {*} [options] Override http request option.
|
|
1900
1900
|
* @throws {RequiredError}
|
|
1901
1901
|
*/
|
|
@@ -1906,10 +1906,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1906
1906
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1907
1907
|
},
|
|
1908
1908
|
/**
|
|
1909
|
-
* 낙찰 공급사의
|
|
1909
|
+
* 낙찰 공급사의 사업자·계좌 정보와 공급가액·부가세, 응찰 품목내역을 조회합니다. 대금 지급에 필요한 값입니다. 스코프 `invoices:read`(종전 `bids:read`에서 변경). 다른 조회에서 참가자 정보가 가려지는 경우와 무관하게 이 응답은 항상 그대로 나갑니다.
|
|
1910
1910
|
* @summary 정산 정보 조회
|
|
1911
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1912
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1911
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1912
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1913
1913
|
* @param {*} [options] Override http request option.
|
|
1914
1914
|
* @throws {RequiredError}
|
|
1915
1915
|
*/
|
|
@@ -1920,11 +1920,11 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1920
1920
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1921
1921
|
},
|
|
1922
1922
|
/**
|
|
1923
|
-
* 낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다.
|
|
1923
|
+
* 낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다. 스코프 `invoices:read`(종전 `contracts:read`에서 변경).
|
|
1924
1924
|
* @summary 거래명세서 조회
|
|
1925
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1925
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
1926
1926
|
* @param {number} [paperCode] 거래명세서 서식 코드. 생략하면 해당 공고에 적용된 기본 서식으로 조회합니다. 기관에 서식이 여러 벌인 경우에만 지정하세요.
|
|
1927
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1927
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1928
1928
|
* @param {*} [options] Override http request option.
|
|
1929
1929
|
* @throws {RequiredError}
|
|
1930
1930
|
*/
|
|
@@ -1935,10 +1935,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1935
1935
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1936
1936
|
},
|
|
1937
1937
|
/**
|
|
1938
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey
|
|
1938
|
+
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey`만 아는 경우(예: 업로드 직후 크기 확인)를 위한 것입니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName`에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
|
|
1939
1939
|
* @summary 파일 정보 조회
|
|
1940
1940
|
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
1941
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1941
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1942
1942
|
* @param {*} [options] Override http request option.
|
|
1943
1943
|
* @throws {RequiredError}
|
|
1944
1944
|
*/
|
|
@@ -1962,10 +1962,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1962
1962
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1963
1963
|
},
|
|
1964
1964
|
/**
|
|
1965
|
-
* 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write
|
|
1965
|
+
* 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write`를 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
|
|
1966
1966
|
* @summary 공급사 카드결제 가능 여부
|
|
1967
1967
|
* @param {string} memberId 계약업체 회원 ID
|
|
1968
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1968
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1969
1969
|
* @param {*} [options] Override http request option.
|
|
1970
1970
|
* @throws {RequiredError}
|
|
1971
1971
|
*/
|
|
@@ -1976,10 +1976,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1976
1976
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
1977
1977
|
},
|
|
1978
1978
|
/**
|
|
1979
|
-
* 구독 1건의 현재 상태를 조회합니다.
|
|
1979
|
+
* 구독 1건의 현재 상태를 조회합니다. 스코프 `webhooks:read`. 수정·삭제 전에 먼저 호출해 응답 헤더의 `ETag`를 `If-Match`에 실어야 합니다. 없는 구독이거나 다른 파트너 키의 구독이면 404입니다. 서명 시크릿은 실리지 않습니다.
|
|
1980
1980
|
* @summary 웹훅 구독 단건 조회
|
|
1981
1981
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
1982
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1982
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1983
1983
|
* @param {*} [options] Override http request option.
|
|
1984
1984
|
* @throws {RequiredError}
|
|
1985
1985
|
*/
|
|
@@ -1992,7 +1992,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
1992
1992
|
/**
|
|
1993
1993
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
1994
1994
|
* @summary Partner API 헬스체크
|
|
1995
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1995
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
1996
1996
|
* @param {*} [options] Override http request option.
|
|
1997
1997
|
* @throws {RequiredError}
|
|
1998
1998
|
*/
|
|
@@ -2003,10 +2003,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2003
2003
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2004
2004
|
},
|
|
2005
2005
|
/**
|
|
2006
|
-
* 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`.
|
|
2006
|
+
* 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. - 결과 확인은 공고를 하나씩 조회하지 말고 이 엔드포인트로 최대 100건씩 받습니다. 응답의 `ETag`를 다음 요청의 `If-None-Match`로 보내면 변화가 없을 때 본문 없이 `304`로 끝납니다. - 식별자는 `?bidRefs=A,B,C`와 `?bidRefs=A&bidRefs=B` 둘 다 됩니다. - 없거나 대행 범위 밖인 식별자는 오류가 아니라 응답에서 빠집니다. 보낸 값이 공고번호면 `bidId`, 구매번호면 `purchaseNo`로 대조합니다.
|
|
2007
2007
|
* @summary 공고 결과 조회
|
|
2008
|
-
* @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2009
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2008
|
+
* @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 `bidRefs`를 반복해 전달합니다. 최대 100건입니다.
|
|
2009
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2010
2010
|
* @param {*} [options] Override http request option.
|
|
2011
2011
|
* @throws {RequiredError}
|
|
2012
2012
|
*/
|
|
@@ -2017,14 +2017,14 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2017
2017
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2018
2018
|
},
|
|
2019
2019
|
/**
|
|
2020
|
-
*
|
|
2020
|
+
* API 키에 연결된 발주기관의 공고를 게시일 최신순으로 조회합니다. 스코프 `bids:read`. - 발주기관은 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 페이지네이션: `limit`(1~100, 기본 100)과 `cursor`. 응답 `meta.nextCursor`를 다음 요청의 `cursor`로 보내고, `meta.hasMore`가 `false`면 마지막 페이지입니다. - 낙찰 여부는 공고 상태가 아니라 `GET /v2/bid-results`의 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없습니다.
|
|
2021
2021
|
* @summary 공고 목록 조회
|
|
2022
2022
|
* @param {number} [limit] 페이지 크기(1~100, 기본 100).
|
|
2023
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
2024
|
-
* @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2023
|
+
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 보냅니다. 생략하면 첫 페이지이고, `nextCursor`가 `null`이면 마지막 페이지입니다.
|
|
2024
|
+
* @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
|
|
2025
2025
|
* @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다.
|
|
2026
2026
|
* @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
|
|
2027
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2027
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2028
2028
|
* @param {*} [options] Override http request option.
|
|
2029
2029
|
* @throws {RequiredError}
|
|
2030
2030
|
*/
|
|
@@ -2035,7 +2035,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2035
2035
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2036
2036
|
},
|
|
2037
2037
|
/**
|
|
2038
|
-
* 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market
|
|
2038
|
+
* 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market이 데이터를 채워 PDF로 만들어 주는 서류입니다. 생성 API의 `paperCodes`에 넣을 수 있습니다. - `autoGenerated=false` — 이 API 로는 만들 수 없는 서류입니다(거래명세서처럼 세금계산서 발행 같은 별도 시점이 필요한 서류). 목록에서 감추지 말고 사용자가 직접 첨부하도록 안내하세요. **조회 가능한 회원 범위:** 이 API 키에 설정된 대행 범위(소속 그룹 전원 또는 지정 회원 목록) 안의 회원만 조회할 수 있습니다. 범위 밖이면 403 입니다. 대행 범위는 키 설정이며 스코프와는 별개 축입니다. **필수 스코프:** `contracts:read` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents`가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
2039
2039
|
* @summary 거래에 필요한 계약서류 목록 조회
|
|
2040
2040
|
* @param {string} buyerId 발주기관 회원 ID(c-market memberId).
|
|
2041
2041
|
* @param {ListExternalContractDocumentsBidTypeEnum} bidType 거래유형.
|
|
@@ -2049,13 +2049,13 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2049
2049
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2050
2050
|
},
|
|
2051
2051
|
/**
|
|
2052
|
-
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸
|
|
2052
|
+
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문, 수신측 응답 상태, 다음 재시도 시각이 함께 실립니다. 스코프 `webhooks:read`. - 수신측 장애로 놓친 이벤트는 `status=EXHAUSTED`로 걸러 다시 처리합니다. 웹훅의 폴링 대체 경로입니다. - 재시도마다 한 행이며 `eventId`가 같고 `attempt`만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단합니다. - 페이지네이션: 응답 `nextCursor`를 다음 요청의 `cursor`로 보냅니다. `null`이면 마지막 페이지입니다.
|
|
2053
2053
|
* @summary 웹훅 전송 이력 조회
|
|
2054
2054
|
* @param {string} [endpointId] 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다.
|
|
2055
2055
|
* @param {PartnerWebhookDeliveryStatus} [status] 전송 상태 필터. 미지정이면 전부.
|
|
2056
2056
|
* @param {number} [limit] 페이지 크기(1~200, 기본 50).
|
|
2057
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
2058
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2057
|
+
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지.
|
|
2058
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2059
2059
|
* @param {*} [options] Override http request option.
|
|
2060
2060
|
* @throws {RequiredError}
|
|
2061
2061
|
*/
|
|
@@ -2066,9 +2066,9 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2066
2066
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2067
2067
|
},
|
|
2068
2068
|
/**
|
|
2069
|
-
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다.
|
|
2069
|
+
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다. 스코프 `webhooks:read`. 발송이 멈춘 이유는 `status`와 `consecutiveFailures`로 확인합니다. 서명 시크릿은 실리지 않습니다. 수신측 구현 방법은 `POST /v2/webhook-endpoints` 설명에 있습니다.
|
|
2070
2070
|
* @summary 웹훅 구독 목록 조회
|
|
2071
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2071
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2072
2072
|
* @param {*} [options] Override http request option.
|
|
2073
2073
|
* @throws {RequiredError}
|
|
2074
2074
|
*/
|
|
@@ -2079,10 +2079,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2079
2079
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2080
2080
|
},
|
|
2081
2081
|
/**
|
|
2082
|
-
* 공고를 유찰
|
|
2082
|
+
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. 공고 상태가 유찰(`FAILED`)로 바뀌고 유찰사유가 기록됩니다. 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). | `failureReasonCode` | 의미 | | --- | --- | | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | | `OTHER` | 기타(`failureReasonDetail` 필수) |
|
|
2083
2083
|
* @summary 유찰 처리
|
|
2084
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2085
|
-
* @param {string} idempotencyKey
|
|
2084
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2085
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2086
2086
|
* @param {MarkBidFailedRequestDto} markBidFailedRequestDto
|
|
2087
2087
|
* @param {*} [options] Override http request option.
|
|
2088
2088
|
* @throws {RequiredError}
|
|
@@ -2094,10 +2094,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2094
2094
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2095
2095
|
},
|
|
2096
2096
|
/**
|
|
2097
|
-
* 낙찰 결과를 등록합니다.
|
|
2097
|
+
* 낙찰 결과를 등록합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감(입찰완료) 상태에서 호출합니다. - 낙찰 후 공고 상태는 계약진행(`CONTRACT_IN_PROGRESS`)입니다. `AWARDED` 공고 상태는 없으므로 낙찰 여부는 `participants[].isWinner`로 판단합니다. - 협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고는 `POST /v2/bids/{bidRef}/negotiation-scores`로 평가를 마쳐야 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 같은 키와 같은 body로 재전송하면 24시간 동안 캐시된 응답을 돌려줍니다.
|
|
2098
2098
|
* @summary 낙찰 결과 전송
|
|
2099
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2100
|
-
* @param {string} idempotencyKey
|
|
2099
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2100
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2101
2101
|
* @param {RegisterAwardRequestDto} registerAwardRequestDto
|
|
2102
2102
|
* @param {*} [options] Override http request option.
|
|
2103
2103
|
* @throws {RequiredError}
|
|
@@ -2109,9 +2109,9 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2109
2109
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2110
2110
|
},
|
|
2111
2111
|
/**
|
|
2112
|
-
*
|
|
2112
|
+
* 공고를 등록합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. 첨부는 두 방법 중 하나입니다. - `attachments` 원소에 `{ fileName, url }` 또는 `{ fileName, base64 }`를 그대로 넣습니다. - 여러 공고에서 재사용할 파일은 `POST /v2/files`로 먼저 올려 받은 `fileKey`를 넣습니다.
|
|
2113
2113
|
* @summary 공고 등록
|
|
2114
|
-
* @param {string} idempotencyKey
|
|
2114
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2115
2115
|
* @param {CreateBidRequestDto} createBidRequestDto
|
|
2116
2116
|
* @param {*} [options] Override http request option.
|
|
2117
2117
|
* @throws {RequiredError}
|
|
@@ -2125,7 +2125,7 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2125
2125
|
/**
|
|
2126
2126
|
* 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
2127
2127
|
* @summary 계약 발행대상 등록
|
|
2128
|
-
* @param {string} idempotencyKey
|
|
2128
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2129
2129
|
* @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
|
|
2130
2130
|
* @param {*} [options] Override http request option.
|
|
2131
2131
|
* @throws {RequiredError}
|
|
@@ -2137,10 +2137,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2137
2137
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2138
2138
|
},
|
|
2139
2139
|
/**
|
|
2140
|
-
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write
|
|
2140
|
+
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write` · `Idempotency-Key` 헤더 필수. - 청구만 접수합니다. 발행은 정산 파이프라인이 처리하며 진행 여부는 `GET /v2/bids/{bidRef}`의 `taxInvoiceRequested`로 확인합니다. - `supplyAmount`와 `vat`는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 **새 `Idempotency-Key`**로 한 번 더 청구합니다. 같은 키는 앞선 청구의 응답을 그대로 돌려줍니다. - `issueDate`는 선택이며 미래 일자는 400입니다.
|
|
2141
2141
|
* @summary 계산서 분할 발급 청구
|
|
2142
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2143
|
-
* @param {string} idempotencyKey
|
|
2142
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2143
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2144
2144
|
* @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
|
|
2145
2145
|
* @param {*} [options] Override http request option.
|
|
2146
2146
|
* @throws {RequiredError}
|
|
@@ -2154,8 +2154,8 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2154
2154
|
/**
|
|
2155
2155
|
* 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
2156
2156
|
* @summary 낙찰 되돌리기
|
|
2157
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2158
|
-
* @param {string} idempotencyKey
|
|
2157
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2158
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2159
2159
|
* @param {RevertAwardRequestDto} revertAwardRequestDto
|
|
2160
2160
|
* @param {*} [options] Override http request option.
|
|
2161
2161
|
* @throws {RequiredError}
|
|
@@ -2167,10 +2167,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2167
2167
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2168
2168
|
},
|
|
2169
2169
|
/**
|
|
2170
|
-
* 서명 시크릿을 새로 발급합니다.
|
|
2170
|
+
* 서명 시크릿을 새로 발급합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 새 시크릿은 이 응답에서 한 번만 나가고 `secretVersion`이 1 올라갑니다. - **옛 시크릿은 즉시 무효입니다.** 유예가 없으므로 순서를 지키세요 — ① 수신측이 옛 값과 새 값을 모두 받아들이도록 배포 → ② 이 호출 → ③ 새 값 반영 → ④ 옛 값 제거. - 같은 `Idempotency-Key`로 다시 부르면 새로 발급하지 않고 처음 발급한 값을 돌려줍니다(24시간).
|
|
2171
2171
|
* @summary 웹훅 서명 시크릿 재발급
|
|
2172
2172
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2173
|
-
* @param {string} idempotencyKey
|
|
2173
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2174
2174
|
* @param {*} [options] Override http request option.
|
|
2175
2175
|
* @throws {RequiredError}
|
|
2176
2176
|
*/
|
|
@@ -2181,10 +2181,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2181
2181
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2182
2182
|
},
|
|
2183
2183
|
/**
|
|
2184
|
-
* 등록된 주소로 `ping` 이벤트를
|
|
2184
|
+
* 등록된 주소로 `ping` 이벤트를 1회 보내고 결과를 돌려줍니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 수신측이 받지 못해도 응답은 200이고 `delivered: false`입니다. 원인은 `responseStatus`와 `error`로 좁힙니다. - 실제 이벤트와 같은 서명 헤더가 실리므로 검증 코드를 그대로 시험할 수 있습니다. - 다시 보내려면 새 `Idempotency-Key`를 쓰세요. 같은 키는 24시간 동안 직전 결과를 돌려줍니다.
|
|
2185
2185
|
* @summary 웹훅 연결 확인 발송
|
|
2186
2186
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2187
|
-
* @param {string} idempotencyKey
|
|
2187
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2188
2188
|
* @param {*} [options] Override http request option.
|
|
2189
2189
|
* @throws {RequiredError}
|
|
2190
2190
|
*/
|
|
@@ -2195,10 +2195,10 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2195
2195
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2196
2196
|
},
|
|
2197
2197
|
/**
|
|
2198
|
-
*
|
|
2198
|
+
* 협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고의 응찰자별 점수를 입력합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전에 호출합니다. 협상 방식 공고는 이 평가를 마쳐야 낙찰에 진입합니다. - `complete=true`면 평가완료로 처리되어 낙찰을 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다).
|
|
2199
2199
|
* @summary 협상 점수평가
|
|
2200
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2201
|
-
* @param {string} idempotencyKey
|
|
2200
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2201
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2202
2202
|
* @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
|
|
2203
2203
|
* @param {*} [options] Override http request option.
|
|
2204
2204
|
* @throws {RequiredError}
|
|
@@ -2210,11 +2210,11 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2210
2210
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2211
2211
|
},
|
|
2212
2212
|
/**
|
|
2213
|
-
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write`
|
|
2213
|
+
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
2214
2214
|
* @summary 공고 수정
|
|
2215
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2216
|
-
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412
|
|
2217
|
-
* @param {string} idempotencyKey
|
|
2215
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2216
|
+
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412로 거절되며 아무것도 수정되지 않습니다.
|
|
2217
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2218
2218
|
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
2219
2219
|
* @param {*} [options] Override http request option.
|
|
2220
2220
|
* @throws {RequiredError}
|
|
@@ -2226,11 +2226,11 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2226
2226
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2227
2227
|
},
|
|
2228
2228
|
/**
|
|
2229
|
-
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다.
|
|
2229
|
+
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - `eventTypes`는 치환입니다. 하나를 더하려면 기존 목록을 포함한 전체를 보냅니다. - `If-Match`가 필수입니다. `GET`으로 받은 `ETag`를 그대로 실으세요. 누락은 428, 그 사이 구독이 바뀌었으면 412이며 아무것도 수정되지 않습니다. - 연속 실패로 자동 중지된 구독은 `{\"status\":\"ACTIVE\"}`로 되살립니다. - 시크릿은 이 경로로 바뀌지 않습니다. 재발급은 `rotate-secret`입니다.
|
|
2230
2230
|
* @summary 웹훅 구독 수정
|
|
2231
2231
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2232
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
2233
|
-
* @param {string} idempotencyKey
|
|
2232
|
+
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
2233
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2234
2234
|
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
2235
2235
|
* @param {*} [options] Override http request option.
|
|
2236
2236
|
* @throws {RequiredError}
|
|
@@ -2242,9 +2242,9 @@ export const PartnerApiApiFp = function(configuration?: Configuration) {
|
|
|
2242
2242
|
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
2243
2243
|
},
|
|
2244
2244
|
/**
|
|
2245
|
-
*
|
|
2245
|
+
* 공고 첨부파일을 올리고 `fileKey`를 받습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. `base64`와 `url` 중 하나만 보냅니다. 받은 `fileKey`는 공고 등록·수정의 `attachments`에 넣습니다. | 제출 방식 | 상한 | 호출 수 | | --- | --- | --- | | 이 호출 + `base64` | 23MB | 1 | | 이 호출 + `url` | 30MB | 1 | | `POST /v2/files/upload-url` 2단계 | 100MB | 2 + 스토리지 PUT | 한 공고에만 쓰는 파일이면 `POST /v2/bids`의 `attachments`에 `url`·`base64`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
2246
2246
|
* @summary 공고 첨부파일 업로드 (기본)
|
|
2247
|
-
* @param {string} idempotencyKey
|
|
2247
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2248
2248
|
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
2249
2249
|
* @param {*} [options] Override http request option.
|
|
2250
2250
|
* @throws {RequiredError}
|
|
@@ -2265,10 +2265,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2265
2265
|
const localVarFp = PartnerApiApiFp(configuration)
|
|
2266
2266
|
return {
|
|
2267
2267
|
/**
|
|
2268
|
-
*
|
|
2268
|
+
* 진행중(`ONGOING`) 공고를 취소합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 취소 사유는 필수이고 공고 이력에 남습니다. - 진행중이 아니거나 이미 취소된 공고는 409, 다른 발주기관의 공고는 403입니다. - 응찰은 받았으나 낙찰자를 정하지 못한 종료는 취소가 아니라 유찰(`POST /v2/bids/{bidRef}/fail`)입니다.
|
|
2269
2269
|
* @summary 공고 취소
|
|
2270
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2271
|
-
* @param {string} idempotencyKey
|
|
2270
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2271
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2272
2272
|
* @param {CancelBidRequestDto} cancelBidRequestDto
|
|
2273
2273
|
* @param {*} [options] Override http request option.
|
|
2274
2274
|
* @throws {RequiredError}
|
|
@@ -2277,10 +2277,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2277
2277
|
return localVarFp.cancelBid(bidRef, idempotencyKey, cancelBidRequestDto, options).then((request) => request(axios, basePath));
|
|
2278
2278
|
},
|
|
2279
2279
|
/**
|
|
2280
|
-
*
|
|
2280
|
+
* 납품 검수 완료를 기록합니다. 낙찰 처리된 공고에서 호출합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 현금 결제 공고는 세금계산서 발행요청이 등록되고 낙찰자에게 알림·문자가 나갑니다. 카드 결제 공고는 발행요청이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 협의로 계약금액이 줄었으면 `supplyAmount`와 `vat`를 함께 보냅니다. 현금 결제·낙찰자 1인·감액일 때만 허용하며 어긋나면 409입니다. 생략하면 낙찰금액에서 파생합니다. - 문서에 찍히는 구매사 사업자정보·담당자·작성일자와 낙찰자는 등록된 값에서 채워지며 요청으로 바꿀 수 없습니다.
|
|
2281
2281
|
* @summary 검수완료 전송
|
|
2282
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2283
|
-
* @param {string} idempotencyKey
|
|
2282
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2283
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2284
2284
|
* @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
|
|
2285
2285
|
* @param {*} [options] Override http request option.
|
|
2286
2286
|
* @throws {RequiredError}
|
|
@@ -2289,10 +2289,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2289
2289
|
return localVarFp.completeAcceptance(bidRef, idempotencyKey, completeAcceptanceRequestDto, options).then((request) => request(axios, basePath));
|
|
2290
2290
|
},
|
|
2291
2291
|
/**
|
|
2292
|
-
* `uploadUrl
|
|
2292
|
+
* `uploadUrl`로 올린 파일을 확정합니다. 이 시점부터 `fileKey`를 공고 첨부로 쓸 수 있습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. - 확정 전 `fileKey`를 첨부로 쓰면 공고 등록이 400입니다. - 신고한 `fileSize`가 아니라 실제 파일을 측정해 기록하며, 정책 상한을 넘으면 여기서 거절됩니다. - 같은 `fileKey`로 여러 번 호출해도 안전합니다.
|
|
2293
2293
|
* @summary 대용량 업로드 2/2 — 업로드 확정
|
|
2294
2294
|
* @param {string} fileKey 발급 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
2295
|
-
* @param {string} idempotencyKey
|
|
2295
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2296
2296
|
* @param {CompleteUploadRequestDto} completeUploadRequestDto
|
|
2297
2297
|
* @param {*} [options] Override http request option.
|
|
2298
2298
|
* @throws {RequiredError}
|
|
@@ -2301,10 +2301,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2301
2301
|
return localVarFp.completeFileUpload(fileKey, idempotencyKey, completeUploadRequestDto, options).then((request) => request(axios, basePath));
|
|
2302
2302
|
},
|
|
2303
2303
|
/**
|
|
2304
|
-
*
|
|
2304
|
+
* 공급사에게 계산서를 수령한 뒤 계약을 완료처리합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 결제완료·계산서 발급 상태가 기록되고 발급일자는 현재 시각이 됩니다. - 이미 완료된 공고는 409, 다른 발주기관의 공고는 403입니다.
|
|
2305
2305
|
* @summary 정산 마감
|
|
2306
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2307
|
-
* @param {string} idempotencyKey
|
|
2306
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2307
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2308
2308
|
* @param {*} [options] Override http request option.
|
|
2309
2309
|
* @throws {RequiredError}
|
|
2310
2310
|
*/
|
|
@@ -2312,9 +2312,9 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2312
2312
|
return localVarFp.completeInvoice(bidRef, idempotencyKey, options).then((request) => request(axios, basePath));
|
|
2313
2313
|
},
|
|
2314
2314
|
/**
|
|
2315
|
-
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable
|
|
2315
|
+
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable`로 미리 확인하세요. 미가입 업체로 발행하면 400입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
2316
2316
|
* @summary 결제창 발행
|
|
2317
|
-
* @param {string} idempotencyKey
|
|
2317
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2318
2318
|
* @param {CreateCardPaymentDto} createCardPaymentDto
|
|
2319
2319
|
* @param {*} [options] Override http request option.
|
|
2320
2320
|
* @throws {RequiredError}
|
|
@@ -2323,9 +2323,9 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2323
2323
|
return localVarFp.createCardPayment(idempotencyKey, createCardPaymentDto, options).then((request) => request(axios, basePath));
|
|
2324
2324
|
},
|
|
2325
2325
|
/**
|
|
2326
|
-
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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
|
|
2326
|
+
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
2327
2327
|
* @summary 계약서류 생성
|
|
2328
|
-
* @param {string} idempotencyKey
|
|
2328
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2329
2329
|
* @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
|
|
2330
2330
|
* @param {*} [options] Override http request option.
|
|
2331
2331
|
* @throws {RequiredError}
|
|
@@ -2334,9 +2334,9 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2334
2334
|
return localVarFp.createExternalContractDocuments(idempotencyKey, createExternalContractDocumentsRequestDto, options).then((request) => request(axios, basePath));
|
|
2335
2335
|
},
|
|
2336
2336
|
/**
|
|
2337
|
-
*
|
|
2337
|
+
* 파일을 스토리지로 직접 올리기 위한 1회용 서명 URL을 발급합니다(100MB까지). 스코프 `files:write` · `Idempotency-Key` 헤더 필수. 1. 이 호출로 `fileKey`와 `uploadUrl`을 받습니다. 2. `uploadUrl`에 파일 바이트를 그대로 `PUT` 합니다. 응답의 `contentType`을 `Content-Type` 헤더에 싣고, `Authorization` 헤더는 붙이지 않습니다(주소 자체가 자격증명입니다). 3. `POST /v2/files/{fileKey}/complete`로 확정합니다. ```bash curl -X PUT \"$uploadUrl\" -H \"Content-Type: $contentType\" --upload-file 시방서.pdf ``` - 2단계는 요청이 스토리지로 가므로 이 명세에 오퍼레이션이 없고, 실패 본문도 problem+json이 아닙니다. 만료(400)·중복 업로드(409)면 1단계부터 다시 합니다. - `uploadUrl`은 1회용이며 `expiresIn`초 뒤 만료됩니다. 주소가 곧 자격증명이므로 로그에 남기지 않습니다. - 30MB 이하는 `POST /v2/files` 한 번으로 끝납니다.
|
|
2338
2338
|
* @summary 대용량 업로드 1/2 — 업로드 주소 발급
|
|
2339
|
-
* @param {string} idempotencyKey
|
|
2339
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2340
2340
|
* @param {CreateUploadUrlRequestDto} createUploadUrlRequestDto
|
|
2341
2341
|
* @param {*} [options] Override http request option.
|
|
2342
2342
|
* @throws {RequiredError}
|
|
@@ -2345,9 +2345,9 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2345
2345
|
return localVarFp.createFileUploadUrl(idempotencyKey, createUploadUrlRequestDto, options).then((request) => request(axios, basePath));
|
|
2346
2346
|
},
|
|
2347
2347
|
/**
|
|
2348
|
-
* 수신 주소와 구독할 이벤트를 등록합니다.
|
|
2348
|
+
* 수신 주소와 구독할 이벤트를 등록합니다. 연동 초기 1회 호출합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - **서명 시크릿은 이 응답에서 한 번만 나갑니다.** 서버는 해시만 보관하므로 조회로 다시 받을 수 없습니다. 잃어버렸다면 `POST /v2/webhook-endpoints/{endpointId}/rotate-secret`으로 재발급합니다. - 수신 주소가 바뀌면 새로 만들지 말고 `PATCH`로 고치세요. 시크릿과 전송 이력이 유지됩니다. - `url`은 HTTPS만 허용하고 `eventTypes`는 아래 목록 안의 값이어야 합니다. 어기면 400입니다. ### 서명 검증 **[Standard Webhooks](https://www.standardwebhooks.com)** 규약입니다. 직접 짜지 말고 각 언어의 `standardwebhooks` 라이브러리에 등록 시 받은 시크릿(`whsec_…`)을 그대로 넘기세요. ```ts import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); // 실패하면 예외 ``` 라이브러리를 쓸 수 없다면 헤더 셋으로 직접 검증합니다. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. 시크릿에서 `whsec_` 접두어를 떼고 base64 디코드한 바이트가 HMAC 키입니다. 2. `{webhook-id}.{webhook-timestamp}.{본문}`을 연결합니다. 본문은 **파싱 전 원문 바이트**여야 합니다. JSON을 다시 직렬화하면 키 순서·공백이 달라져 서명이 어긋납니다. 3. HMAC-SHA256을 base64로 인코딩해 `webhook-signature`의 `v1,` 뒤 값과 상수 시간 함수로 비교합니다. 4. `webhook-timestamp`가 5분 이상 지났으면 거절합니다. `webhook-signature`에는 서명이 여러 개 실릴 수 있으므로(키 회전용) 하나라도 맞으면 통과로 처리하세요. ### 중복 제거 `webhook-id`가 이벤트 식별자입니다. 재시도에도 같은 값이 오므로 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상이며 중복 제거는 수신측 책임입니다. `webhook-event-type` 헤더에 본문 `type`과 같은 값이 실려, 본문을 파싱하기 전에 거를 수 있습니다. ### 재시도와 자동 중지 2xx를 돌려주면 성공입니다. 그 외에는 최대 7회 재시도하며 간격은 10초 → 1분 → 5분 → 30분 → 2시간 → 6시간 → 24시간입니다. 처리가 길면 먼저 2xx를 돌려주고 비동기로 처리하세요. 연속 실패가 20회에 닿으면 구독이 `DISABLED`로 내려갑니다. 수신측을 고친 뒤 `PATCH /v2/webhook-endpoints/{endpointId}`에 `{\"status\":\"ACTIVE\"}`로 되살리세요. ### 이벤트 `bid.closed` · `bid.awarded` · `bid.failed` · `bid.canceled` · `bid.award_reverted` `ping`은 연결 확인 전용이라 구독할 수 없습니다. 놓친 이벤트는 `GET /v2/webhook-deliveries`로 조회해 메웁니다.
|
|
2349
2349
|
* @summary 웹훅 구독 등록
|
|
2350
|
-
* @param {string} idempotencyKey
|
|
2350
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2351
2351
|
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
2352
2352
|
* @param {*} [options] Override http request option.
|
|
2353
2353
|
* @throws {RequiredError}
|
|
@@ -2356,11 +2356,11 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2356
2356
|
return localVarFp.createWebhookEndpoint(idempotencyKey, createWebhookEndpointRequestDto, options).then((request) => request(axios, basePath));
|
|
2357
2357
|
},
|
|
2358
2358
|
/**
|
|
2359
|
-
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다.
|
|
2359
|
+
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. 잠시만 멈추려면 `PATCH`로 `{\"status\":\"DISABLED\"}`를 보내세요. - `If-Match`가 필수입니다. 누락은 428, 그 사이 구독이 바뀌었으면 412입니다.
|
|
2360
2360
|
* @summary 웹훅 구독 삭제
|
|
2361
2361
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2362
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
2363
|
-
* @param {string} idempotencyKey
|
|
2362
|
+
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
2363
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2364
2364
|
* @param {*} [options] Override http request option.
|
|
2365
2365
|
* @throws {RequiredError}
|
|
2366
2366
|
*/
|
|
@@ -2368,9 +2368,9 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2368
2368
|
return localVarFp.deleteWebhookEndpoint(endpointId, ifMatch, idempotencyKey, options).then((request) => request(axios, basePath));
|
|
2369
2369
|
},
|
|
2370
2370
|
/**
|
|
2371
|
-
* 무인증 — `fileKey` 자체가 capability 다(키를 아는 쪽이 곧 접근 권한을 가진다). 파트너 응답의 `fileUrl`/`fullUrl
|
|
2371
|
+
* 무인증 — `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`이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
2372
2372
|
* @summary 파일 다운로드
|
|
2373
|
-
* @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex
|
|
2373
|
+
* @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다.
|
|
2374
2374
|
* @param {*} [options] Override http request option.
|
|
2375
2375
|
* @throws {RequiredError}
|
|
2376
2376
|
*/
|
|
@@ -2378,10 +2378,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2378
2378
|
return localVarFp.downloadFile(fileKey, options).then((request) => request(axios, basePath));
|
|
2379
2379
|
},
|
|
2380
2380
|
/**
|
|
2381
|
-
*
|
|
2381
|
+
* 공고 한 건의 전체 정보를 조회합니다 — 기본 정보, 납품·대금 조건, 담당자, 품목, 응찰 참여자, 계약서류, 검수 상태. 스코프 `bids:read`. - 낙찰 여부는 `status`가 아니라 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없어(낙찰 직후 `CONTRACT_IN_PROGRESS`) `status === \'AWARDED\'` 폴링은 끝나지 않습니다. - 계약서류는 `contractDocuments[]`에 실립니다. 따로 받는 엔드포인트는 없습니다. - 여러 건은 `GET /v2/bid-results`로 한 번에 받습니다. - 다른 발주기관의 공고는 403입니다.
|
|
2382
2382
|
* @summary 공고 상세 조회
|
|
2383
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2384
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2383
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2384
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2385
2385
|
* @param {*} [options] Override http request option.
|
|
2386
2386
|
* @throws {RequiredError}
|
|
2387
2387
|
*/
|
|
@@ -2389,10 +2389,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2389
2389
|
return localVarFp.getBid(bidRef, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2390
2390
|
},
|
|
2391
2391
|
/**
|
|
2392
|
-
* 낙찰 공급사의
|
|
2392
|
+
* 낙찰 공급사의 사업자·계좌 정보와 공급가액·부가세, 응찰 품목내역을 조회합니다. 대금 지급에 필요한 값입니다. 스코프 `invoices:read`(종전 `bids:read`에서 변경). 다른 조회에서 참가자 정보가 가려지는 경우와 무관하게 이 응답은 항상 그대로 나갑니다.
|
|
2393
2393
|
* @summary 정산 정보 조회
|
|
2394
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2395
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2394
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2395
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2396
2396
|
* @param {*} [options] Override http request option.
|
|
2397
2397
|
* @throws {RequiredError}
|
|
2398
2398
|
*/
|
|
@@ -2400,11 +2400,11 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2400
2400
|
return localVarFp.getBidSettlement(bidRef, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2401
2401
|
},
|
|
2402
2402
|
/**
|
|
2403
|
-
* 낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다.
|
|
2403
|
+
* 낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다. 스코프 `invoices:read`(종전 `contracts:read`에서 변경).
|
|
2404
2404
|
* @summary 거래명세서 조회
|
|
2405
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2405
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2406
2406
|
* @param {number} [paperCode] 거래명세서 서식 코드. 생략하면 해당 공고에 적용된 기본 서식으로 조회합니다. 기관에 서식이 여러 벌인 경우에만 지정하세요.
|
|
2407
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2407
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2408
2408
|
* @param {*} [options] Override http request option.
|
|
2409
2409
|
* @throws {RequiredError}
|
|
2410
2410
|
*/
|
|
@@ -2412,10 +2412,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2412
2412
|
return localVarFp.getBidStatement(bidRef, paperCode, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2413
2413
|
},
|
|
2414
2414
|
/**
|
|
2415
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey
|
|
2415
|
+
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey`만 아는 경우(예: 업로드 직후 크기 확인)를 위한 것입니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName`에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
|
|
2416
2416
|
* @summary 파일 정보 조회
|
|
2417
2417
|
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
2418
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2418
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2419
2419
|
* @param {*} [options] Override http request option.
|
|
2420
2420
|
* @throws {RequiredError}
|
|
2421
2421
|
*/
|
|
@@ -2433,10 +2433,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2433
2433
|
return localVarFp.getSemoContractTaxinvoiceStatus(externalContractId, options).then((request) => request(axios, basePath));
|
|
2434
2434
|
},
|
|
2435
2435
|
/**
|
|
2436
|
-
* 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write
|
|
2436
|
+
* 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write`를 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
|
|
2437
2437
|
* @summary 공급사 카드결제 가능 여부
|
|
2438
2438
|
* @param {string} memberId 계약업체 회원 ID
|
|
2439
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2439
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2440
2440
|
* @param {*} [options] Override http request option.
|
|
2441
2441
|
* @throws {RequiredError}
|
|
2442
2442
|
*/
|
|
@@ -2444,10 +2444,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2444
2444
|
return localVarFp.getSupplierCardPayableV2(memberId, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2445
2445
|
},
|
|
2446
2446
|
/**
|
|
2447
|
-
* 구독 1건의 현재 상태를 조회합니다.
|
|
2447
|
+
* 구독 1건의 현재 상태를 조회합니다. 스코프 `webhooks:read`. 수정·삭제 전에 먼저 호출해 응답 헤더의 `ETag`를 `If-Match`에 실어야 합니다. 없는 구독이거나 다른 파트너 키의 구독이면 404입니다. 서명 시크릿은 실리지 않습니다.
|
|
2448
2448
|
* @summary 웹훅 구독 단건 조회
|
|
2449
2449
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2450
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2450
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2451
2451
|
* @param {*} [options] Override http request option.
|
|
2452
2452
|
* @throws {RequiredError}
|
|
2453
2453
|
*/
|
|
@@ -2457,7 +2457,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2457
2457
|
/**
|
|
2458
2458
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
2459
2459
|
* @summary Partner API 헬스체크
|
|
2460
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2460
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2461
2461
|
* @param {*} [options] Override http request option.
|
|
2462
2462
|
* @throws {RequiredError}
|
|
2463
2463
|
*/
|
|
@@ -2465,10 +2465,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2465
2465
|
return localVarFp.healthControllerCheck(ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2466
2466
|
},
|
|
2467
2467
|
/**
|
|
2468
|
-
* 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`.
|
|
2468
|
+
* 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. - 결과 확인은 공고를 하나씩 조회하지 말고 이 엔드포인트로 최대 100건씩 받습니다. 응답의 `ETag`를 다음 요청의 `If-None-Match`로 보내면 변화가 없을 때 본문 없이 `304`로 끝납니다. - 식별자는 `?bidRefs=A,B,C`와 `?bidRefs=A&bidRefs=B` 둘 다 됩니다. - 없거나 대행 범위 밖인 식별자는 오류가 아니라 응답에서 빠집니다. 보낸 값이 공고번호면 `bidId`, 구매번호면 `purchaseNo`로 대조합니다.
|
|
2469
2469
|
* @summary 공고 결과 조회
|
|
2470
|
-
* @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2471
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2470
|
+
* @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 `bidRefs`를 반복해 전달합니다. 최대 100건입니다.
|
|
2471
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2472
2472
|
* @param {*} [options] Override http request option.
|
|
2473
2473
|
* @throws {RequiredError}
|
|
2474
2474
|
*/
|
|
@@ -2476,14 +2476,14 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2476
2476
|
return localVarFp.listBidResults(bidRefs, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2477
2477
|
},
|
|
2478
2478
|
/**
|
|
2479
|
-
*
|
|
2479
|
+
* API 키에 연결된 발주기관의 공고를 게시일 최신순으로 조회합니다. 스코프 `bids:read`. - 발주기관은 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 페이지네이션: `limit`(1~100, 기본 100)과 `cursor`. 응답 `meta.nextCursor`를 다음 요청의 `cursor`로 보내고, `meta.hasMore`가 `false`면 마지막 페이지입니다. - 낙찰 여부는 공고 상태가 아니라 `GET /v2/bid-results`의 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없습니다.
|
|
2480
2480
|
* @summary 공고 목록 조회
|
|
2481
2481
|
* @param {number} [limit] 페이지 크기(1~100, 기본 100).
|
|
2482
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
2483
|
-
* @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2482
|
+
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 보냅니다. 생략하면 첫 페이지이고, `nextCursor`가 `null`이면 마지막 페이지입니다.
|
|
2483
|
+
* @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
|
|
2484
2484
|
* @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다.
|
|
2485
2485
|
* @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
|
|
2486
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2486
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2487
2487
|
* @param {*} [options] Override http request option.
|
|
2488
2488
|
* @throws {RequiredError}
|
|
2489
2489
|
*/
|
|
@@ -2491,7 +2491,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2491
2491
|
return localVarFp.listBids(limit, cursor, bidRefs, status, include, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2492
2492
|
},
|
|
2493
2493
|
/**
|
|
2494
|
-
* 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market
|
|
2494
|
+
* 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market이 데이터를 채워 PDF로 만들어 주는 서류입니다. 생성 API의 `paperCodes`에 넣을 수 있습니다. - `autoGenerated=false` — 이 API 로는 만들 수 없는 서류입니다(거래명세서처럼 세금계산서 발행 같은 별도 시점이 필요한 서류). 목록에서 감추지 말고 사용자가 직접 첨부하도록 안내하세요. **조회 가능한 회원 범위:** 이 API 키에 설정된 대행 범위(소속 그룹 전원 또는 지정 회원 목록) 안의 회원만 조회할 수 있습니다. 범위 밖이면 403 입니다. 대행 범위는 키 설정이며 스코프와는 별개 축입니다. **필수 스코프:** `contracts:read` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents`가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
2495
2495
|
* @summary 거래에 필요한 계약서류 목록 조회
|
|
2496
2496
|
* @param {string} buyerId 발주기관 회원 ID(c-market memberId).
|
|
2497
2497
|
* @param {ListExternalContractDocumentsBidTypeEnum} bidType 거래유형.
|
|
@@ -2502,13 +2502,13 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2502
2502
|
return localVarFp.listExternalContractDocuments(buyerId, bidType, options).then((request) => request(axios, basePath));
|
|
2503
2503
|
},
|
|
2504
2504
|
/**
|
|
2505
|
-
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸
|
|
2505
|
+
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문, 수신측 응답 상태, 다음 재시도 시각이 함께 실립니다. 스코프 `webhooks:read`. - 수신측 장애로 놓친 이벤트는 `status=EXHAUSTED`로 걸러 다시 처리합니다. 웹훅의 폴링 대체 경로입니다. - 재시도마다 한 행이며 `eventId`가 같고 `attempt`만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단합니다. - 페이지네이션: 응답 `nextCursor`를 다음 요청의 `cursor`로 보냅니다. `null`이면 마지막 페이지입니다.
|
|
2506
2506
|
* @summary 웹훅 전송 이력 조회
|
|
2507
2507
|
* @param {string} [endpointId] 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다.
|
|
2508
2508
|
* @param {PartnerWebhookDeliveryStatus} [status] 전송 상태 필터. 미지정이면 전부.
|
|
2509
2509
|
* @param {number} [limit] 페이지 크기(1~200, 기본 50).
|
|
2510
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
2511
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2510
|
+
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지.
|
|
2511
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2512
2512
|
* @param {*} [options] Override http request option.
|
|
2513
2513
|
* @throws {RequiredError}
|
|
2514
2514
|
*/
|
|
@@ -2516,9 +2516,9 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2516
2516
|
return localVarFp.listWebhookDeliveries(endpointId, status, limit, cursor, ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2517
2517
|
},
|
|
2518
2518
|
/**
|
|
2519
|
-
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다.
|
|
2519
|
+
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다. 스코프 `webhooks:read`. 발송이 멈춘 이유는 `status`와 `consecutiveFailures`로 확인합니다. 서명 시크릿은 실리지 않습니다. 수신측 구현 방법은 `POST /v2/webhook-endpoints` 설명에 있습니다.
|
|
2520
2520
|
* @summary 웹훅 구독 목록 조회
|
|
2521
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2521
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2522
2522
|
* @param {*} [options] Override http request option.
|
|
2523
2523
|
* @throws {RequiredError}
|
|
2524
2524
|
*/
|
|
@@ -2526,10 +2526,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2526
2526
|
return localVarFp.listWebhookEndpoints(ifNoneMatch, options).then((request) => request(axios, basePath));
|
|
2527
2527
|
},
|
|
2528
2528
|
/**
|
|
2529
|
-
* 공고를 유찰
|
|
2529
|
+
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. 공고 상태가 유찰(`FAILED`)로 바뀌고 유찰사유가 기록됩니다. 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). | `failureReasonCode` | 의미 | | --- | --- | | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | | `OTHER` | 기타(`failureReasonDetail` 필수) |
|
|
2530
2530
|
* @summary 유찰 처리
|
|
2531
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2532
|
-
* @param {string} idempotencyKey
|
|
2531
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2532
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2533
2533
|
* @param {MarkBidFailedRequestDto} markBidFailedRequestDto
|
|
2534
2534
|
* @param {*} [options] Override http request option.
|
|
2535
2535
|
* @throws {RequiredError}
|
|
@@ -2538,10 +2538,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2538
2538
|
return localVarFp.markBidFailed(bidRef, idempotencyKey, markBidFailedRequestDto, options).then((request) => request(axios, basePath));
|
|
2539
2539
|
},
|
|
2540
2540
|
/**
|
|
2541
|
-
* 낙찰 결과를 등록합니다.
|
|
2541
|
+
* 낙찰 결과를 등록합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감(입찰완료) 상태에서 호출합니다. - 낙찰 후 공고 상태는 계약진행(`CONTRACT_IN_PROGRESS`)입니다. `AWARDED` 공고 상태는 없으므로 낙찰 여부는 `participants[].isWinner`로 판단합니다. - 협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고는 `POST /v2/bids/{bidRef}/negotiation-scores`로 평가를 마쳐야 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 같은 키와 같은 body로 재전송하면 24시간 동안 캐시된 응답을 돌려줍니다.
|
|
2542
2542
|
* @summary 낙찰 결과 전송
|
|
2543
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2544
|
-
* @param {string} idempotencyKey
|
|
2543
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2544
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2545
2545
|
* @param {RegisterAwardRequestDto} registerAwardRequestDto
|
|
2546
2546
|
* @param {*} [options] Override http request option.
|
|
2547
2547
|
* @throws {RequiredError}
|
|
@@ -2550,9 +2550,9 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2550
2550
|
return localVarFp.registerAward(bidRef, idempotencyKey, registerAwardRequestDto, options).then((request) => request(axios, basePath));
|
|
2551
2551
|
},
|
|
2552
2552
|
/**
|
|
2553
|
-
*
|
|
2553
|
+
* 공고를 등록합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. 첨부는 두 방법 중 하나입니다. - `attachments` 원소에 `{ fileName, url }` 또는 `{ fileName, base64 }`를 그대로 넣습니다. - 여러 공고에서 재사용할 파일은 `POST /v2/files`로 먼저 올려 받은 `fileKey`를 넣습니다.
|
|
2554
2554
|
* @summary 공고 등록
|
|
2555
|
-
* @param {string} idempotencyKey
|
|
2555
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2556
2556
|
* @param {CreateBidRequestDto} createBidRequestDto
|
|
2557
2557
|
* @param {*} [options] Override http request option.
|
|
2558
2558
|
* @throws {RequiredError}
|
|
@@ -2563,7 +2563,7 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2563
2563
|
/**
|
|
2564
2564
|
* 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
2565
2565
|
* @summary 계약 발행대상 등록
|
|
2566
|
-
* @param {string} idempotencyKey
|
|
2566
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2567
2567
|
* @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
|
|
2568
2568
|
* @param {*} [options] Override http request option.
|
|
2569
2569
|
* @throws {RequiredError}
|
|
@@ -2572,10 +2572,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2572
2572
|
return localVarFp.registerSemoContract(idempotencyKey, registerSemoContractRequestDto, options).then((request) => request(axios, basePath));
|
|
2573
2573
|
},
|
|
2574
2574
|
/**
|
|
2575
|
-
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write
|
|
2575
|
+
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write` · `Idempotency-Key` 헤더 필수. - 청구만 접수합니다. 발행은 정산 파이프라인이 처리하며 진행 여부는 `GET /v2/bids/{bidRef}`의 `taxInvoiceRequested`로 확인합니다. - `supplyAmount`와 `vat`는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 **새 `Idempotency-Key`**로 한 번 더 청구합니다. 같은 키는 앞선 청구의 응답을 그대로 돌려줍니다. - `issueDate`는 선택이며 미래 일자는 400입니다.
|
|
2576
2576
|
* @summary 계산서 분할 발급 청구
|
|
2577
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2578
|
-
* @param {string} idempotencyKey
|
|
2577
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2578
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2579
2579
|
* @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
|
|
2580
2580
|
* @param {*} [options] Override http request option.
|
|
2581
2581
|
* @throws {RequiredError}
|
|
@@ -2586,8 +2586,8 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2586
2586
|
/**
|
|
2587
2587
|
* 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
2588
2588
|
* @summary 낙찰 되돌리기
|
|
2589
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2590
|
-
* @param {string} idempotencyKey
|
|
2589
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2590
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2591
2591
|
* @param {RevertAwardRequestDto} revertAwardRequestDto
|
|
2592
2592
|
* @param {*} [options] Override http request option.
|
|
2593
2593
|
* @throws {RequiredError}
|
|
@@ -2596,10 +2596,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2596
2596
|
return localVarFp.revertAward(bidRef, idempotencyKey, revertAwardRequestDto, options).then((request) => request(axios, basePath));
|
|
2597
2597
|
},
|
|
2598
2598
|
/**
|
|
2599
|
-
* 서명 시크릿을 새로 발급합니다.
|
|
2599
|
+
* 서명 시크릿을 새로 발급합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 새 시크릿은 이 응답에서 한 번만 나가고 `secretVersion`이 1 올라갑니다. - **옛 시크릿은 즉시 무효입니다.** 유예가 없으므로 순서를 지키세요 — ① 수신측이 옛 값과 새 값을 모두 받아들이도록 배포 → ② 이 호출 → ③ 새 값 반영 → ④ 옛 값 제거. - 같은 `Idempotency-Key`로 다시 부르면 새로 발급하지 않고 처음 발급한 값을 돌려줍니다(24시간).
|
|
2600
2600
|
* @summary 웹훅 서명 시크릿 재발급
|
|
2601
2601
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2602
|
-
* @param {string} idempotencyKey
|
|
2602
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2603
2603
|
* @param {*} [options] Override http request option.
|
|
2604
2604
|
* @throws {RequiredError}
|
|
2605
2605
|
*/
|
|
@@ -2607,10 +2607,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2607
2607
|
return localVarFp.rotateWebhookSecret(endpointId, idempotencyKey, options).then((request) => request(axios, basePath));
|
|
2608
2608
|
},
|
|
2609
2609
|
/**
|
|
2610
|
-
* 등록된 주소로 `ping` 이벤트를
|
|
2610
|
+
* 등록된 주소로 `ping` 이벤트를 1회 보내고 결과를 돌려줍니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 수신측이 받지 못해도 응답은 200이고 `delivered: false`입니다. 원인은 `responseStatus`와 `error`로 좁힙니다. - 실제 이벤트와 같은 서명 헤더가 실리므로 검증 코드를 그대로 시험할 수 있습니다. - 다시 보내려면 새 `Idempotency-Key`를 쓰세요. 같은 키는 24시간 동안 직전 결과를 돌려줍니다.
|
|
2611
2611
|
* @summary 웹훅 연결 확인 발송
|
|
2612
2612
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2613
|
-
* @param {string} idempotencyKey
|
|
2613
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2614
2614
|
* @param {*} [options] Override http request option.
|
|
2615
2615
|
* @throws {RequiredError}
|
|
2616
2616
|
*/
|
|
@@ -2618,10 +2618,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2618
2618
|
return localVarFp.sendWebhookTestEvent(endpointId, idempotencyKey, options).then((request) => request(axios, basePath));
|
|
2619
2619
|
},
|
|
2620
2620
|
/**
|
|
2621
|
-
*
|
|
2621
|
+
* 협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고의 응찰자별 점수를 입력합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전에 호출합니다. 협상 방식 공고는 이 평가를 마쳐야 낙찰에 진입합니다. - `complete=true`면 평가완료로 처리되어 낙찰을 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다).
|
|
2622
2622
|
* @summary 협상 점수평가
|
|
2623
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2624
|
-
* @param {string} idempotencyKey
|
|
2623
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2624
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2625
2625
|
* @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
|
|
2626
2626
|
* @param {*} [options] Override http request option.
|
|
2627
2627
|
* @throws {RequiredError}
|
|
@@ -2630,11 +2630,11 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2630
2630
|
return localVarFp.submitNegotiationScores(bidRef, idempotencyKey, submitNegotiationScoresRequestDto, options).then((request) => request(axios, basePath));
|
|
2631
2631
|
},
|
|
2632
2632
|
/**
|
|
2633
|
-
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write`
|
|
2633
|
+
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
2634
2634
|
* @summary 공고 수정
|
|
2635
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2636
|
-
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412
|
|
2637
|
-
* @param {string} idempotencyKey
|
|
2635
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2636
|
+
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412로 거절되며 아무것도 수정되지 않습니다.
|
|
2637
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2638
2638
|
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
2639
2639
|
* @param {*} [options] Override http request option.
|
|
2640
2640
|
* @throws {RequiredError}
|
|
@@ -2643,11 +2643,11 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2643
2643
|
return localVarFp.updateBid(bidRef, ifMatch, idempotencyKey, updateBidRequestDto, options).then((request) => request(axios, basePath));
|
|
2644
2644
|
},
|
|
2645
2645
|
/**
|
|
2646
|
-
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다.
|
|
2646
|
+
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - `eventTypes`는 치환입니다. 하나를 더하려면 기존 목록을 포함한 전체를 보냅니다. - `If-Match`가 필수입니다. `GET`으로 받은 `ETag`를 그대로 실으세요. 누락은 428, 그 사이 구독이 바뀌었으면 412이며 아무것도 수정되지 않습니다. - 연속 실패로 자동 중지된 구독은 `{\"status\":\"ACTIVE\"}`로 되살립니다. - 시크릿은 이 경로로 바뀌지 않습니다. 재발급은 `rotate-secret`입니다.
|
|
2647
2647
|
* @summary 웹훅 구독 수정
|
|
2648
2648
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2649
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
2650
|
-
* @param {string} idempotencyKey
|
|
2649
|
+
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
2650
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2651
2651
|
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
2652
2652
|
* @param {*} [options] Override http request option.
|
|
2653
2653
|
* @throws {RequiredError}
|
|
@@ -2656,9 +2656,9 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2656
2656
|
return localVarFp.updateWebhookEndpoint(endpointId, ifMatch, idempotencyKey, updateWebhookEndpointRequestDto, options).then((request) => request(axios, basePath));
|
|
2657
2657
|
},
|
|
2658
2658
|
/**
|
|
2659
|
-
*
|
|
2659
|
+
* 공고 첨부파일을 올리고 `fileKey`를 받습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. `base64`와 `url` 중 하나만 보냅니다. 받은 `fileKey`는 공고 등록·수정의 `attachments`에 넣습니다. | 제출 방식 | 상한 | 호출 수 | | --- | --- | --- | | 이 호출 + `base64` | 23MB | 1 | | 이 호출 + `url` | 30MB | 1 | | `POST /v2/files/upload-url` 2단계 | 100MB | 2 + 스토리지 PUT | 한 공고에만 쓰는 파일이면 `POST /v2/bids`의 `attachments`에 `url`·`base64`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
2660
2660
|
* @summary 공고 첨부파일 업로드 (기본)
|
|
2661
|
-
* @param {string} idempotencyKey
|
|
2661
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2662
2662
|
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
2663
2663
|
* @param {*} [options] Override http request option.
|
|
2664
2664
|
* @throws {RequiredError}
|
|
@@ -2674,10 +2674,10 @@ export const PartnerApiApiFactory = function (configuration?: Configuration, bas
|
|
|
2674
2674
|
*/
|
|
2675
2675
|
export class PartnerApiApi extends BaseAPI {
|
|
2676
2676
|
/**
|
|
2677
|
-
*
|
|
2677
|
+
* 진행중(`ONGOING`) 공고를 취소합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 취소 사유는 필수이고 공고 이력에 남습니다. - 진행중이 아니거나 이미 취소된 공고는 409, 다른 발주기관의 공고는 403입니다. - 응찰은 받았으나 낙찰자를 정하지 못한 종료는 취소가 아니라 유찰(`POST /v2/bids/{bidRef}/fail`)입니다.
|
|
2678
2678
|
* @summary 공고 취소
|
|
2679
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2680
|
-
* @param {string} idempotencyKey
|
|
2679
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2680
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2681
2681
|
* @param {CancelBidRequestDto} cancelBidRequestDto
|
|
2682
2682
|
* @param {*} [options] Override http request option.
|
|
2683
2683
|
* @throws {RequiredError}
|
|
@@ -2687,10 +2687,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2687
2687
|
}
|
|
2688
2688
|
|
|
2689
2689
|
/**
|
|
2690
|
-
*
|
|
2690
|
+
* 납품 검수 완료를 기록합니다. 낙찰 처리된 공고에서 호출합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 현금 결제 공고는 세금계산서 발행요청이 등록되고 낙찰자에게 알림·문자가 나갑니다. 카드 결제 공고는 발행요청이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 협의로 계약금액이 줄었으면 `supplyAmount`와 `vat`를 함께 보냅니다. 현금 결제·낙찰자 1인·감액일 때만 허용하며 어긋나면 409입니다. 생략하면 낙찰금액에서 파생합니다. - 문서에 찍히는 구매사 사업자정보·담당자·작성일자와 낙찰자는 등록된 값에서 채워지며 요청으로 바꿀 수 없습니다.
|
|
2691
2691
|
* @summary 검수완료 전송
|
|
2692
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2693
|
-
* @param {string} idempotencyKey
|
|
2692
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2693
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2694
2694
|
* @param {CompleteAcceptanceRequestDto} completeAcceptanceRequestDto
|
|
2695
2695
|
* @param {*} [options] Override http request option.
|
|
2696
2696
|
* @throws {RequiredError}
|
|
@@ -2700,10 +2700,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2700
2700
|
}
|
|
2701
2701
|
|
|
2702
2702
|
/**
|
|
2703
|
-
* `uploadUrl
|
|
2703
|
+
* `uploadUrl`로 올린 파일을 확정합니다. 이 시점부터 `fileKey`를 공고 첨부로 쓸 수 있습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. - 확정 전 `fileKey`를 첨부로 쓰면 공고 등록이 400입니다. - 신고한 `fileSize`가 아니라 실제 파일을 측정해 기록하며, 정책 상한을 넘으면 여기서 거절됩니다. - 같은 `fileKey`로 여러 번 호출해도 안전합니다.
|
|
2704
2704
|
* @summary 대용량 업로드 2/2 — 업로드 확정
|
|
2705
2705
|
* @param {string} fileKey 발급 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
2706
|
-
* @param {string} idempotencyKey
|
|
2706
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2707
2707
|
* @param {CompleteUploadRequestDto} completeUploadRequestDto
|
|
2708
2708
|
* @param {*} [options] Override http request option.
|
|
2709
2709
|
* @throws {RequiredError}
|
|
@@ -2713,10 +2713,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2713
2713
|
}
|
|
2714
2714
|
|
|
2715
2715
|
/**
|
|
2716
|
-
*
|
|
2716
|
+
* 공급사에게 계산서를 수령한 뒤 계약을 완료처리합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 결제완료·계산서 발급 상태가 기록되고 발급일자는 현재 시각이 됩니다. - 이미 완료된 공고는 409, 다른 발주기관의 공고는 403입니다.
|
|
2717
2717
|
* @summary 정산 마감
|
|
2718
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2719
|
-
* @param {string} idempotencyKey
|
|
2718
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2719
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2720
2720
|
* @param {*} [options] Override http request option.
|
|
2721
2721
|
* @throws {RequiredError}
|
|
2722
2722
|
*/
|
|
@@ -2725,9 +2725,9 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2725
2725
|
}
|
|
2726
2726
|
|
|
2727
2727
|
/**
|
|
2728
|
-
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable
|
|
2728
|
+
* 발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable`로 미리 확인하세요. 미가입 업체로 발행하면 400입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
2729
2729
|
* @summary 결제창 발행
|
|
2730
|
-
* @param {string} idempotencyKey
|
|
2730
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2731
2731
|
* @param {CreateCardPaymentDto} createCardPaymentDto
|
|
2732
2732
|
* @param {*} [options] Override http request option.
|
|
2733
2733
|
* @throws {RequiredError}
|
|
@@ -2737,9 +2737,9 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2737
2737
|
}
|
|
2738
2738
|
|
|
2739
2739
|
/**
|
|
2740
|
-
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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
|
|
2740
|
+
* 공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
2741
2741
|
* @summary 계약서류 생성
|
|
2742
|
-
* @param {string} idempotencyKey
|
|
2742
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2743
2743
|
* @param {CreateExternalContractDocumentsRequestDto} createExternalContractDocumentsRequestDto
|
|
2744
2744
|
* @param {*} [options] Override http request option.
|
|
2745
2745
|
* @throws {RequiredError}
|
|
@@ -2749,9 +2749,9 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2749
2749
|
}
|
|
2750
2750
|
|
|
2751
2751
|
/**
|
|
2752
|
-
*
|
|
2752
|
+
* 파일을 스토리지로 직접 올리기 위한 1회용 서명 URL을 발급합니다(100MB까지). 스코프 `files:write` · `Idempotency-Key` 헤더 필수. 1. 이 호출로 `fileKey`와 `uploadUrl`을 받습니다. 2. `uploadUrl`에 파일 바이트를 그대로 `PUT` 합니다. 응답의 `contentType`을 `Content-Type` 헤더에 싣고, `Authorization` 헤더는 붙이지 않습니다(주소 자체가 자격증명입니다). 3. `POST /v2/files/{fileKey}/complete`로 확정합니다. ```bash curl -X PUT \"$uploadUrl\" -H \"Content-Type: $contentType\" --upload-file 시방서.pdf ``` - 2단계는 요청이 스토리지로 가므로 이 명세에 오퍼레이션이 없고, 실패 본문도 problem+json이 아닙니다. 만료(400)·중복 업로드(409)면 1단계부터 다시 합니다. - `uploadUrl`은 1회용이며 `expiresIn`초 뒤 만료됩니다. 주소가 곧 자격증명이므로 로그에 남기지 않습니다. - 30MB 이하는 `POST /v2/files` 한 번으로 끝납니다.
|
|
2753
2753
|
* @summary 대용량 업로드 1/2 — 업로드 주소 발급
|
|
2754
|
-
* @param {string} idempotencyKey
|
|
2754
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2755
2755
|
* @param {CreateUploadUrlRequestDto} createUploadUrlRequestDto
|
|
2756
2756
|
* @param {*} [options] Override http request option.
|
|
2757
2757
|
* @throws {RequiredError}
|
|
@@ -2761,9 +2761,9 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2761
2761
|
}
|
|
2762
2762
|
|
|
2763
2763
|
/**
|
|
2764
|
-
* 수신 주소와 구독할 이벤트를 등록합니다.
|
|
2764
|
+
* 수신 주소와 구독할 이벤트를 등록합니다. 연동 초기 1회 호출합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - **서명 시크릿은 이 응답에서 한 번만 나갑니다.** 서버는 해시만 보관하므로 조회로 다시 받을 수 없습니다. 잃어버렸다면 `POST /v2/webhook-endpoints/{endpointId}/rotate-secret`으로 재발급합니다. - 수신 주소가 바뀌면 새로 만들지 말고 `PATCH`로 고치세요. 시크릿과 전송 이력이 유지됩니다. - `url`은 HTTPS만 허용하고 `eventTypes`는 아래 목록 안의 값이어야 합니다. 어기면 400입니다. ### 서명 검증 **[Standard Webhooks](https://www.standardwebhooks.com)** 규약입니다. 직접 짜지 말고 각 언어의 `standardwebhooks` 라이브러리에 등록 시 받은 시크릿(`whsec_…`)을 그대로 넘기세요. ```ts import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); // 실패하면 예외 ``` 라이브러리를 쓸 수 없다면 헤더 셋으로 직접 검증합니다. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. 시크릿에서 `whsec_` 접두어를 떼고 base64 디코드한 바이트가 HMAC 키입니다. 2. `{webhook-id}.{webhook-timestamp}.{본문}`을 연결합니다. 본문은 **파싱 전 원문 바이트**여야 합니다. JSON을 다시 직렬화하면 키 순서·공백이 달라져 서명이 어긋납니다. 3. HMAC-SHA256을 base64로 인코딩해 `webhook-signature`의 `v1,` 뒤 값과 상수 시간 함수로 비교합니다. 4. `webhook-timestamp`가 5분 이상 지났으면 거절합니다. `webhook-signature`에는 서명이 여러 개 실릴 수 있으므로(키 회전용) 하나라도 맞으면 통과로 처리하세요. ### 중복 제거 `webhook-id`가 이벤트 식별자입니다. 재시도에도 같은 값이 오므로 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상이며 중복 제거는 수신측 책임입니다. `webhook-event-type` 헤더에 본문 `type`과 같은 값이 실려, 본문을 파싱하기 전에 거를 수 있습니다. ### 재시도와 자동 중지 2xx를 돌려주면 성공입니다. 그 외에는 최대 7회 재시도하며 간격은 10초 → 1분 → 5분 → 30분 → 2시간 → 6시간 → 24시간입니다. 처리가 길면 먼저 2xx를 돌려주고 비동기로 처리하세요. 연속 실패가 20회에 닿으면 구독이 `DISABLED`로 내려갑니다. 수신측을 고친 뒤 `PATCH /v2/webhook-endpoints/{endpointId}`에 `{\"status\":\"ACTIVE\"}`로 되살리세요. ### 이벤트 `bid.closed` · `bid.awarded` · `bid.failed` · `bid.canceled` · `bid.award_reverted` `ping`은 연결 확인 전용이라 구독할 수 없습니다. 놓친 이벤트는 `GET /v2/webhook-deliveries`로 조회해 메웁니다.
|
|
2765
2765
|
* @summary 웹훅 구독 등록
|
|
2766
|
-
* @param {string} idempotencyKey
|
|
2766
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2767
2767
|
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
2768
2768
|
* @param {*} [options] Override http request option.
|
|
2769
2769
|
* @throws {RequiredError}
|
|
@@ -2773,11 +2773,11 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2773
2773
|
}
|
|
2774
2774
|
|
|
2775
2775
|
/**
|
|
2776
|
-
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다.
|
|
2776
|
+
* 구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. 잠시만 멈추려면 `PATCH`로 `{\"status\":\"DISABLED\"}`를 보내세요. - `If-Match`가 필수입니다. 누락은 428, 그 사이 구독이 바뀌었으면 412입니다.
|
|
2777
2777
|
* @summary 웹훅 구독 삭제
|
|
2778
2778
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2779
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
2780
|
-
* @param {string} idempotencyKey
|
|
2779
|
+
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
2780
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2781
2781
|
* @param {*} [options] Override http request option.
|
|
2782
2782
|
* @throws {RequiredError}
|
|
2783
2783
|
*/
|
|
@@ -2786,9 +2786,9 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2786
2786
|
}
|
|
2787
2787
|
|
|
2788
2788
|
/**
|
|
2789
|
-
* 무인증 — `fileKey` 자체가 capability 다(키를 아는 쪽이 곧 접근 권한을 가진다). 파트너 응답의 `fileUrl`/`fullUrl
|
|
2789
|
+
* 무인증 — `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`이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
2790
2790
|
* @summary 파일 다운로드
|
|
2791
|
-
* @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex
|
|
2791
|
+
* @param {string} fileKey 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다.
|
|
2792
2792
|
* @param {*} [options] Override http request option.
|
|
2793
2793
|
* @throws {RequiredError}
|
|
2794
2794
|
*/
|
|
@@ -2797,10 +2797,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2797
2797
|
}
|
|
2798
2798
|
|
|
2799
2799
|
/**
|
|
2800
|
-
*
|
|
2800
|
+
* 공고 한 건의 전체 정보를 조회합니다 — 기본 정보, 납품·대금 조건, 담당자, 품목, 응찰 참여자, 계약서류, 검수 상태. 스코프 `bids:read`. - 낙찰 여부는 `status`가 아니라 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없어(낙찰 직후 `CONTRACT_IN_PROGRESS`) `status === \'AWARDED\'` 폴링은 끝나지 않습니다. - 계약서류는 `contractDocuments[]`에 실립니다. 따로 받는 엔드포인트는 없습니다. - 여러 건은 `GET /v2/bid-results`로 한 번에 받습니다. - 다른 발주기관의 공고는 403입니다.
|
|
2801
2801
|
* @summary 공고 상세 조회
|
|
2802
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2803
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2802
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2803
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2804
2804
|
* @param {*} [options] Override http request option.
|
|
2805
2805
|
* @throws {RequiredError}
|
|
2806
2806
|
*/
|
|
@@ -2809,10 +2809,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2809
2809
|
}
|
|
2810
2810
|
|
|
2811
2811
|
/**
|
|
2812
|
-
* 낙찰 공급사의
|
|
2812
|
+
* 낙찰 공급사의 사업자·계좌 정보와 공급가액·부가세, 응찰 품목내역을 조회합니다. 대금 지급에 필요한 값입니다. 스코프 `invoices:read`(종전 `bids:read`에서 변경). 다른 조회에서 참가자 정보가 가려지는 경우와 무관하게 이 응답은 항상 그대로 나갑니다.
|
|
2813
2813
|
* @summary 정산 정보 조회
|
|
2814
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2815
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2814
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2815
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2816
2816
|
* @param {*} [options] Override http request option.
|
|
2817
2817
|
* @throws {RequiredError}
|
|
2818
2818
|
*/
|
|
@@ -2821,11 +2821,11 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2821
2821
|
}
|
|
2822
2822
|
|
|
2823
2823
|
/**
|
|
2824
|
-
* 낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다.
|
|
2824
|
+
* 낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다. 스코프 `invoices:read`(종전 `contracts:read`에서 변경).
|
|
2825
2825
|
* @summary 거래명세서 조회
|
|
2826
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2826
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2827
2827
|
* @param {number} [paperCode] 거래명세서 서식 코드. 생략하면 해당 공고에 적용된 기본 서식으로 조회합니다. 기관에 서식이 여러 벌인 경우에만 지정하세요.
|
|
2828
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2828
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2829
2829
|
* @param {*} [options] Override http request option.
|
|
2830
2830
|
* @throws {RequiredError}
|
|
2831
2831
|
*/
|
|
@@ -2834,10 +2834,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2834
2834
|
}
|
|
2835
2835
|
|
|
2836
2836
|
/**
|
|
2837
|
-
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey
|
|
2837
|
+
* 파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey`만 아는 경우(예: 업로드 직후 크기 확인)를 위한 것입니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName`에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
|
|
2838
2838
|
* @summary 파일 정보 조회
|
|
2839
2839
|
* @param {string} fileKey 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자).
|
|
2840
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2840
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2841
2841
|
* @param {*} [options] Override http request option.
|
|
2842
2842
|
* @throws {RequiredError}
|
|
2843
2843
|
*/
|
|
@@ -2857,10 +2857,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2857
2857
|
}
|
|
2858
2858
|
|
|
2859
2859
|
/**
|
|
2860
|
-
* 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write
|
|
2860
|
+
* 계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write`를 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
|
|
2861
2861
|
* @summary 공급사 카드결제 가능 여부
|
|
2862
2862
|
* @param {string} memberId 계약업체 회원 ID
|
|
2863
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2863
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2864
2864
|
* @param {*} [options] Override http request option.
|
|
2865
2865
|
* @throws {RequiredError}
|
|
2866
2866
|
*/
|
|
@@ -2869,10 +2869,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2869
2869
|
}
|
|
2870
2870
|
|
|
2871
2871
|
/**
|
|
2872
|
-
* 구독 1건의 현재 상태를 조회합니다.
|
|
2872
|
+
* 구독 1건의 현재 상태를 조회합니다. 스코프 `webhooks:read`. 수정·삭제 전에 먼저 호출해 응답 헤더의 `ETag`를 `If-Match`에 실어야 합니다. 없는 구독이거나 다른 파트너 키의 구독이면 404입니다. 서명 시크릿은 실리지 않습니다.
|
|
2873
2873
|
* @summary 웹훅 구독 단건 조회
|
|
2874
2874
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
2875
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2875
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2876
2876
|
* @param {*} [options] Override http request option.
|
|
2877
2877
|
* @throws {RequiredError}
|
|
2878
2878
|
*/
|
|
@@ -2883,7 +2883,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2883
2883
|
/**
|
|
2884
2884
|
* ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
2885
2885
|
* @summary Partner API 헬스체크
|
|
2886
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2886
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2887
2887
|
* @param {*} [options] Override http request option.
|
|
2888
2888
|
* @throws {RequiredError}
|
|
2889
2889
|
*/
|
|
@@ -2892,10 +2892,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2892
2892
|
}
|
|
2893
2893
|
|
|
2894
2894
|
/**
|
|
2895
|
-
* 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`.
|
|
2895
|
+
* 여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. - 결과 확인은 공고를 하나씩 조회하지 말고 이 엔드포인트로 최대 100건씩 받습니다. 응답의 `ETag`를 다음 요청의 `If-None-Match`로 보내면 변화가 없을 때 본문 없이 `304`로 끝납니다. - 식별자는 `?bidRefs=A,B,C`와 `?bidRefs=A&bidRefs=B` 둘 다 됩니다. - 없거나 대행 범위 밖인 식별자는 오류가 아니라 응답에서 빠집니다. 보낸 값이 공고번호면 `bidId`, 구매번호면 `purchaseNo`로 대조합니다.
|
|
2896
2896
|
* @summary 공고 결과 조회
|
|
2897
|
-
* @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2898
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2897
|
+
* @param {string} bidRefs 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 `bidRefs`를 반복해 전달합니다. 최대 100건입니다.
|
|
2898
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2899
2899
|
* @param {*} [options] Override http request option.
|
|
2900
2900
|
* @throws {RequiredError}
|
|
2901
2901
|
*/
|
|
@@ -2904,14 +2904,14 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2904
2904
|
}
|
|
2905
2905
|
|
|
2906
2906
|
/**
|
|
2907
|
-
*
|
|
2907
|
+
* API 키에 연결된 발주기관의 공고를 게시일 최신순으로 조회합니다. 스코프 `bids:read`. - 발주기관은 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 페이지네이션: `limit`(1~100, 기본 100)과 `cursor`. 응답 `meta.nextCursor`를 다음 요청의 `cursor`로 보내고, `meta.hasMore`가 `false`면 마지막 페이지입니다. - 낙찰 여부는 공고 상태가 아니라 `GET /v2/bid-results`의 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없습니다.
|
|
2908
2908
|
* @summary 공고 목록 조회
|
|
2909
2909
|
* @param {number} [limit] 페이지 크기(1~100, 기본 100).
|
|
2910
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
2911
|
-
* @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2910
|
+
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 보냅니다. 생략하면 첫 페이지이고, `nextCursor`가 `null`이면 마지막 페이지입니다.
|
|
2911
|
+
* @param {Array<string>} [bidRefs] 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다.
|
|
2912
2912
|
* @param {Array<BidPublicStatus>} [status] 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다.
|
|
2913
2913
|
* @param {Array<ListBidsIncludeEnum>} [include] 행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다).
|
|
2914
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2914
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2915
2915
|
* @param {*} [options] Override http request option.
|
|
2916
2916
|
* @throws {RequiredError}
|
|
2917
2917
|
*/
|
|
@@ -2920,7 +2920,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2920
2920
|
}
|
|
2921
2921
|
|
|
2922
2922
|
/**
|
|
2923
|
-
* 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market
|
|
2923
|
+
* 발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market이 데이터를 채워 PDF로 만들어 주는 서류입니다. 생성 API의 `paperCodes`에 넣을 수 있습니다. - `autoGenerated=false` — 이 API 로는 만들 수 없는 서류입니다(거래명세서처럼 세금계산서 발행 같은 별도 시점이 필요한 서류). 목록에서 감추지 말고 사용자가 직접 첨부하도록 안내하세요. **조회 가능한 회원 범위:** 이 API 키에 설정된 대행 범위(소속 그룹 전원 또는 지정 회원 목록) 안의 회원만 조회할 수 있습니다. 범위 밖이면 403 입니다. 대행 범위는 키 설정이며 스코프와는 별개 축입니다. **필수 스코프:** `contracts:read` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidRef}/contract-documents`가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
2924
2924
|
* @summary 거래에 필요한 계약서류 목록 조회
|
|
2925
2925
|
* @param {string} buyerId 발주기관 회원 ID(c-market memberId).
|
|
2926
2926
|
* @param {ListExternalContractDocumentsBidTypeEnum} bidType 거래유형.
|
|
@@ -2932,13 +2932,13 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2932
2932
|
}
|
|
2933
2933
|
|
|
2934
2934
|
/**
|
|
2935
|
-
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸
|
|
2935
|
+
* 이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문, 수신측 응답 상태, 다음 재시도 시각이 함께 실립니다. 스코프 `webhooks:read`. - 수신측 장애로 놓친 이벤트는 `status=EXHAUSTED`로 걸러 다시 처리합니다. 웹훅의 폴링 대체 경로입니다. - 재시도마다 한 행이며 `eventId`가 같고 `attempt`만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단합니다. - 페이지네이션: 응답 `nextCursor`를 다음 요청의 `cursor`로 보냅니다. `null`이면 마지막 페이지입니다.
|
|
2936
2936
|
* @summary 웹훅 전송 이력 조회
|
|
2937
2937
|
* @param {string} [endpointId] 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다.
|
|
2938
2938
|
* @param {PartnerWebhookDeliveryStatus} [status] 전송 상태 필터. 미지정이면 전부.
|
|
2939
2939
|
* @param {number} [limit] 페이지 크기(1~200, 기본 50).
|
|
2940
|
-
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
2941
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2940
|
+
* @param {string} [cursor] 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지.
|
|
2941
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2942
2942
|
* @param {*} [options] Override http request option.
|
|
2943
2943
|
* @throws {RequiredError}
|
|
2944
2944
|
*/
|
|
@@ -2947,9 +2947,9 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2947
2947
|
}
|
|
2948
2948
|
|
|
2949
2949
|
/**
|
|
2950
|
-
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다.
|
|
2950
|
+
* 이 API 키가 등록한 웹훅 구독을 모두 조회합니다. 스코프 `webhooks:read`. 발송이 멈춘 이유는 `status`와 `consecutiveFailures`로 확인합니다. 서명 시크릿은 실리지 않습니다. 수신측 구현 방법은 `POST /v2/webhook-endpoints` 설명에 있습니다.
|
|
2951
2951
|
* @summary 웹훅 구독 목록 조회
|
|
2952
|
-
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
2952
|
+
* @param {string} [ifNoneMatch] 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다.
|
|
2953
2953
|
* @param {*} [options] Override http request option.
|
|
2954
2954
|
* @throws {RequiredError}
|
|
2955
2955
|
*/
|
|
@@ -2958,10 +2958,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2958
2958
|
}
|
|
2959
2959
|
|
|
2960
2960
|
/**
|
|
2961
|
-
* 공고를 유찰
|
|
2961
|
+
* 공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. 공고 상태가 유찰(`FAILED`)로 바뀌고 유찰사유가 기록됩니다. 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). | `failureReasonCode` | 의미 | | --- | --- | | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | | `OTHER` | 기타(`failureReasonDetail` 필수) |
|
|
2962
2962
|
* @summary 유찰 처리
|
|
2963
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2964
|
-
* @param {string} idempotencyKey
|
|
2963
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2964
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2965
2965
|
* @param {MarkBidFailedRequestDto} markBidFailedRequestDto
|
|
2966
2966
|
* @param {*} [options] Override http request option.
|
|
2967
2967
|
* @throws {RequiredError}
|
|
@@ -2971,10 +2971,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2971
2971
|
}
|
|
2972
2972
|
|
|
2973
2973
|
/**
|
|
2974
|
-
* 낙찰 결과를 등록합니다.
|
|
2974
|
+
* 낙찰 결과를 등록합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감(입찰완료) 상태에서 호출합니다. - 낙찰 후 공고 상태는 계약진행(`CONTRACT_IN_PROGRESS`)입니다. `AWARDED` 공고 상태는 없으므로 낙찰 여부는 `participants[].isWinner`로 판단합니다. - 협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고는 `POST /v2/bids/{bidRef}/negotiation-scores`로 평가를 마쳐야 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 같은 키와 같은 body로 재전송하면 24시간 동안 캐시된 응답을 돌려줍니다.
|
|
2975
2975
|
* @summary 낙찰 결과 전송
|
|
2976
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2977
|
-
* @param {string} idempotencyKey
|
|
2976
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
2977
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2978
2978
|
* @param {RegisterAwardRequestDto} registerAwardRequestDto
|
|
2979
2979
|
* @param {*} [options] Override http request option.
|
|
2980
2980
|
* @throws {RequiredError}
|
|
@@ -2984,9 +2984,9 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2984
2984
|
}
|
|
2985
2985
|
|
|
2986
2986
|
/**
|
|
2987
|
-
*
|
|
2987
|
+
* 공고를 등록합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. 첨부는 두 방법 중 하나입니다. - `attachments` 원소에 `{ fileName, url }` 또는 `{ fileName, base64 }`를 그대로 넣습니다. - 여러 공고에서 재사용할 파일은 `POST /v2/files`로 먼저 올려 받은 `fileKey`를 넣습니다.
|
|
2988
2988
|
* @summary 공고 등록
|
|
2989
|
-
* @param {string} idempotencyKey
|
|
2989
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
2990
2990
|
* @param {CreateBidRequestDto} createBidRequestDto
|
|
2991
2991
|
* @param {*} [options] Override http request option.
|
|
2992
2992
|
* @throws {RequiredError}
|
|
@@ -2998,7 +2998,7 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
2998
2998
|
/**
|
|
2999
2999
|
* 외부에서 맺어진 계약 1건을 씨마켓의 **세금계산서 발행 대상**으로 등록합니다. **등록 후 동선:** 발주기관이 씨마켓 [나의 계약 관리] 에서 계산서 발급을 요청하고, 공급기업이 같은 화면에서 발행합니다. 계산서의 **공급자는 공급기업, 공급받는자는 발주기관**입니다. **대금 흐름:** 씨마켓은 이 거래의 대금을 받지 않습니다 — 발행 경로만 제공합니다. **금액:** `supplyPrice` 는 **부가세를 뺀 과세 공급가액**입니다(결제창 API 가 부가세 포함가를 받는 것과 다릅니다). 과세·면세 공급가액이 모두 0 이면 400 입니다. **사전 조건:** 두 회원 ID 가 씨마켓에 실재해야 합니다. 회원 ID 가 곧 소유권이라, 없는 회원으로 등록하면 아무도 열 수 없는 계산서 대상이 됩니다. **필수 스코프:** `contracts:write`. 바인딩된 발주처 외의 발주기관을 대신하려면 대행 범위에 그 회원이 있어야 합니다. **멱등성:** `externalContractId` 가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 대상을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
3000
3000
|
* @summary 계약 발행대상 등록
|
|
3001
|
-
* @param {string} idempotencyKey
|
|
3001
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3002
3002
|
* @param {RegisterSemoContractRequestDto} registerSemoContractRequestDto
|
|
3003
3003
|
* @param {*} [options] Override http request option.
|
|
3004
3004
|
* @throws {RequiredError}
|
|
@@ -3008,10 +3008,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3008
3008
|
}
|
|
3009
3009
|
|
|
3010
3010
|
/**
|
|
3011
|
-
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write
|
|
3011
|
+
* 한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write` · `Idempotency-Key` 헤더 필수. - 청구만 접수합니다. 발행은 정산 파이프라인이 처리하며 진행 여부는 `GET /v2/bids/{bidRef}`의 `taxInvoiceRequested`로 확인합니다. - `supplyAmount`와 `vat`는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 **새 `Idempotency-Key`**로 한 번 더 청구합니다. 같은 키는 앞선 청구의 응답을 그대로 돌려줍니다. - `issueDate`는 선택이며 미래 일자는 400입니다.
|
|
3012
3012
|
* @summary 계산서 분할 발급 청구
|
|
3013
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
3014
|
-
* @param {string} idempotencyKey
|
|
3013
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
3014
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3015
3015
|
* @param {RequestInvoiceSplitRequestDto} requestInvoiceSplitRequestDto
|
|
3016
3016
|
* @param {*} [options] Override http request option.
|
|
3017
3017
|
* @throws {RequiredError}
|
|
@@ -3023,8 +3023,8 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3023
3023
|
/**
|
|
3024
3024
|
* 확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
3025
3025
|
* @summary 낙찰 되돌리기
|
|
3026
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
3027
|
-
* @param {string} idempotencyKey
|
|
3026
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
3027
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3028
3028
|
* @param {RevertAwardRequestDto} revertAwardRequestDto
|
|
3029
3029
|
* @param {*} [options] Override http request option.
|
|
3030
3030
|
* @throws {RequiredError}
|
|
@@ -3034,10 +3034,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3034
3034
|
}
|
|
3035
3035
|
|
|
3036
3036
|
/**
|
|
3037
|
-
* 서명 시크릿을 새로 발급합니다.
|
|
3037
|
+
* 서명 시크릿을 새로 발급합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 새 시크릿은 이 응답에서 한 번만 나가고 `secretVersion`이 1 올라갑니다. - **옛 시크릿은 즉시 무효입니다.** 유예가 없으므로 순서를 지키세요 — ① 수신측이 옛 값과 새 값을 모두 받아들이도록 배포 → ② 이 호출 → ③ 새 값 반영 → ④ 옛 값 제거. - 같은 `Idempotency-Key`로 다시 부르면 새로 발급하지 않고 처음 발급한 값을 돌려줍니다(24시간).
|
|
3038
3038
|
* @summary 웹훅 서명 시크릿 재발급
|
|
3039
3039
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
3040
|
-
* @param {string} idempotencyKey
|
|
3040
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3041
3041
|
* @param {*} [options] Override http request option.
|
|
3042
3042
|
* @throws {RequiredError}
|
|
3043
3043
|
*/
|
|
@@ -3046,10 +3046,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3046
3046
|
}
|
|
3047
3047
|
|
|
3048
3048
|
/**
|
|
3049
|
-
* 등록된 주소로 `ping` 이벤트를
|
|
3049
|
+
* 등록된 주소로 `ping` 이벤트를 1회 보내고 결과를 돌려줍니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 수신측이 받지 못해도 응답은 200이고 `delivered: false`입니다. 원인은 `responseStatus`와 `error`로 좁힙니다. - 실제 이벤트와 같은 서명 헤더가 실리므로 검증 코드를 그대로 시험할 수 있습니다. - 다시 보내려면 새 `Idempotency-Key`를 쓰세요. 같은 키는 24시간 동안 직전 결과를 돌려줍니다.
|
|
3050
3050
|
* @summary 웹훅 연결 확인 발송
|
|
3051
3051
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
3052
|
-
* @param {string} idempotencyKey
|
|
3052
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3053
3053
|
* @param {*} [options] Override http request option.
|
|
3054
3054
|
* @throws {RequiredError}
|
|
3055
3055
|
*/
|
|
@@ -3058,10 +3058,10 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3058
3058
|
}
|
|
3059
3059
|
|
|
3060
3060
|
/**
|
|
3061
|
-
*
|
|
3061
|
+
* 협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고의 응찰자별 점수를 입력합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전에 호출합니다. 협상 방식 공고는 이 평가를 마쳐야 낙찰에 진입합니다. - `complete=true`면 평가완료로 처리되어 낙찰을 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다).
|
|
3062
3062
|
* @summary 협상 점수평가
|
|
3063
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
3064
|
-
* @param {string} idempotencyKey
|
|
3063
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
3064
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3065
3065
|
* @param {SubmitNegotiationScoresRequestDto} submitNegotiationScoresRequestDto
|
|
3066
3066
|
* @param {*} [options] Override http request option.
|
|
3067
3067
|
* @throws {RequiredError}
|
|
@@ -3071,11 +3071,11 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3071
3071
|
}
|
|
3072
3072
|
|
|
3073
3073
|
/**
|
|
3074
|
-
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write`
|
|
3074
|
+
* 등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
3075
3075
|
* @summary 공고 수정
|
|
3076
|
-
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
3077
|
-
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412
|
|
3078
|
-
* @param {string} idempotencyKey
|
|
3076
|
+
* @param {string} bidRef 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다.
|
|
3077
|
+
* @param {string} ifMatch 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412로 거절되며 아무것도 수정되지 않습니다.
|
|
3078
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3079
3079
|
* @param {UpdateBidRequestDto} updateBidRequestDto
|
|
3080
3080
|
* @param {*} [options] Override http request option.
|
|
3081
3081
|
* @throws {RequiredError}
|
|
@@ -3085,11 +3085,11 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3085
3085
|
}
|
|
3086
3086
|
|
|
3087
3087
|
/**
|
|
3088
|
-
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다.
|
|
3088
|
+
* 수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - `eventTypes`는 치환입니다. 하나를 더하려면 기존 목록을 포함한 전체를 보냅니다. - `If-Match`가 필수입니다. `GET`으로 받은 `ETag`를 그대로 실으세요. 누락은 428, 그 사이 구독이 바뀌었으면 412이며 아무것도 수정되지 않습니다. - 연속 실패로 자동 중지된 구독은 `{\"status\":\"ACTIVE\"}`로 되살립니다. - 시크릿은 이 경로로 바뀌지 않습니다. 재발급은 `rotate-secret`입니다.
|
|
3089
3089
|
* @summary 웹훅 구독 수정
|
|
3090
3090
|
* @param {string} endpointId 구독 식별자(등록 응답의 `endpointId`).
|
|
3091
|
-
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
3092
|
-
* @param {string} idempotencyKey
|
|
3091
|
+
* @param {string} ifMatch 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다.
|
|
3092
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3093
3093
|
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
3094
3094
|
* @param {*} [options] Override http request option.
|
|
3095
3095
|
* @throws {RequiredError}
|
|
@@ -3099,9 +3099,9 @@ export class PartnerApiApi extends BaseAPI {
|
|
|
3099
3099
|
}
|
|
3100
3100
|
|
|
3101
3101
|
/**
|
|
3102
|
-
*
|
|
3102
|
+
* 공고 첨부파일을 올리고 `fileKey`를 받습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. `base64`와 `url` 중 하나만 보냅니다. 받은 `fileKey`는 공고 등록·수정의 `attachments`에 넣습니다. | 제출 방식 | 상한 | 호출 수 | | --- | --- | --- | | 이 호출 + `base64` | 23MB | 1 | | 이 호출 + `url` | 30MB | 1 | | `POST /v2/files/upload-url` 2단계 | 100MB | 2 + 스토리지 PUT | 한 공고에만 쓰는 파일이면 `POST /v2/bids`의 `attachments`에 `url`·`base64`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
3103
3103
|
* @summary 공고 첨부파일 업로드 (기본)
|
|
3104
|
-
* @param {string} idempotencyKey
|
|
3104
|
+
* @param {string} idempotencyKey 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다.
|
|
3105
3105
|
* @param {UploadFileRequestDto} uploadFileRequestDto
|
|
3106
3106
|
* @param {*} [options] Override http request option.
|
|
3107
3107
|
* @throws {RequiredError}
|