@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/docs/PartnerApiApi.md
CHANGED
|
@@ -43,7 +43,7 @@ All URIs are relative to *https://partner-api.c-market.net*
|
|
|
43
43
|
# **cancelBid**
|
|
44
44
|
> CancelBid200Response cancelBid(cancelBidRequestDto)
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
진행중(`ONGOING`) 공고를 취소합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 취소 사유는 필수이고 공고 이력에 남습니다. - 진행중이 아니거나 이미 취소된 공고는 409, 다른 발주기관의 공고는 403입니다. - 응찰은 받았으나 낙찰자를 정하지 못한 종료는 취소가 아니라 유찰(`POST /v2/bids/{bidRef}/fail`)입니다.
|
|
47
47
|
|
|
48
48
|
### Example
|
|
49
49
|
|
|
@@ -57,8 +57,8 @@ import {
|
|
|
57
57
|
const configuration = new Configuration();
|
|
58
58
|
const apiInstance = new PartnerApiApi(configuration);
|
|
59
59
|
|
|
60
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
61
|
-
let idempotencyKey: string;
|
|
60
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
61
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
62
62
|
let cancelBidRequestDto: CancelBidRequestDto; //
|
|
63
63
|
|
|
64
64
|
const { status, data } = await apiInstance.cancelBid(
|
|
@@ -73,8 +73,8 @@ const { status, data } = await apiInstance.cancelBid(
|
|
|
73
73
|
|Name | Type | Description | Notes|
|
|
74
74
|
|------------- | ------------- | ------------- | -------------|
|
|
75
75
|
| **cancelBidRequestDto** | **CancelBidRequestDto**| | |
|
|
76
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
77
|
-
| **idempotencyKey** | [**string**] |
|
|
76
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
77
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
### Return type
|
|
@@ -94,23 +94,23 @@ const { status, data } = await apiInstance.cancelBid(
|
|
|
94
94
|
### HTTP response details
|
|
95
95
|
| Status code | Description | Response headers |
|
|
96
96
|
|-------------|-------------|------------------|
|
|
97
|
-
|**200** | 공고 취소 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
98
|
-
|**400** | 입력 검증 실패(`
|
|
99
|
-
|**401** | Bearer 토큰 없음(`
|
|
100
|
-
|**403** | 키 미바인딩(`
|
|
101
|
-
|**409** | 원 요청이
|
|
102
|
-
|**422** |
|
|
103
|
-
|**429** |
|
|
104
|
-
|**500** | 서버 내부 오류(`
|
|
105
|
-
|**502** |
|
|
106
|
-
|**503** |
|
|
97
|
+
|**200** | 공고 취소 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
98
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
99
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
100
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
101
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
102
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
103
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
104
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
105
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
106
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
107
107
|
|
|
108
108
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
109
109
|
|
|
110
110
|
# **completeAcceptance**
|
|
111
111
|
> CompleteAcceptance200Response completeAcceptance(completeAcceptanceRequestDto)
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
납품 검수 완료를 기록합니다. 낙찰 처리된 공고에서 호출합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 현금 결제 공고는 세금계산서 발행요청이 등록되고 낙찰자에게 알림·문자가 나갑니다. 카드 결제 공고는 발행요청이 없어 알림도 없습니다. - 거래명세서 발행이 예약됩니다. - 협의로 계약금액이 줄었으면 `supplyAmount`와 `vat`를 함께 보냅니다. 현금 결제·낙찰자 1인·감액일 때만 허용하며 어긋나면 409입니다. 생략하면 낙찰금액에서 파생합니다. - 문서에 찍히는 구매사 사업자정보·담당자·작성일자와 낙찰자는 등록된 값에서 채워지며 요청으로 바꿀 수 없습니다.
|
|
114
114
|
|
|
115
115
|
### Example
|
|
116
116
|
|
|
@@ -124,8 +124,8 @@ import {
|
|
|
124
124
|
const configuration = new Configuration();
|
|
125
125
|
const apiInstance = new PartnerApiApi(configuration);
|
|
126
126
|
|
|
127
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
128
|
-
let idempotencyKey: string;
|
|
127
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
128
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
129
129
|
let completeAcceptanceRequestDto: CompleteAcceptanceRequestDto; //
|
|
130
130
|
|
|
131
131
|
const { status, data } = await apiInstance.completeAcceptance(
|
|
@@ -140,8 +140,8 @@ const { status, data } = await apiInstance.completeAcceptance(
|
|
|
140
140
|
|Name | Type | Description | Notes|
|
|
141
141
|
|------------- | ------------- | ------------- | -------------|
|
|
142
142
|
| **completeAcceptanceRequestDto** | **CompleteAcceptanceRequestDto**| | |
|
|
143
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
144
|
-
| **idempotencyKey** | [**string**] |
|
|
143
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
144
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
### Return type
|
|
@@ -161,23 +161,23 @@ const { status, data } = await apiInstance.completeAcceptance(
|
|
|
161
161
|
### HTTP response details
|
|
162
162
|
| Status code | Description | Response headers |
|
|
163
163
|
|-------------|-------------|------------------|
|
|
164
|
-
|**200** | 검수완료 처리 결과. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
165
|
-
|**400** | 입력 검증 실패(`
|
|
166
|
-
|**401** | Bearer 토큰 없음(`
|
|
167
|
-
|**403** | 키 미바인딩(`
|
|
168
|
-
|**409** | 원 요청이
|
|
169
|
-
|**422** |
|
|
170
|
-
|**429** |
|
|
171
|
-
|**500** | 서버 내부 오류(`
|
|
172
|
-
|**502** |
|
|
173
|
-
|**503** |
|
|
164
|
+
|**200** | 검수완료 처리 결과. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
165
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
166
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
167
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
168
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
169
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
170
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
171
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
172
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
173
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
174
174
|
|
|
175
175
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
176
176
|
|
|
177
177
|
# **completeFileUpload**
|
|
178
178
|
> UploadFile201Response completeFileUpload(completeUploadRequestDto)
|
|
179
179
|
|
|
180
|
-
`uploadUrl
|
|
180
|
+
`uploadUrl`로 올린 파일을 확정합니다. 이 시점부터 `fileKey`를 공고 첨부로 쓸 수 있습니다. 스코프 `files:write` · `Idempotency-Key` 헤더 필수. - 확정 전 `fileKey`를 첨부로 쓰면 공고 등록이 400입니다. - 신고한 `fileSize`가 아니라 실제 파일을 측정해 기록하며, 정책 상한을 넘으면 여기서 거절됩니다. - 같은 `fileKey`로 여러 번 호출해도 안전합니다.
|
|
181
181
|
|
|
182
182
|
### Example
|
|
183
183
|
|
|
@@ -192,7 +192,7 @@ const configuration = new Configuration();
|
|
|
192
192
|
const apiInstance = new PartnerApiApi(configuration);
|
|
193
193
|
|
|
194
194
|
let fileKey: string; //발급 응답의 fileKey(영문 대소문자·숫자 32자). (default to undefined)
|
|
195
|
-
let idempotencyKey: string;
|
|
195
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
196
196
|
let completeUploadRequestDto: CompleteUploadRequestDto; //
|
|
197
197
|
|
|
198
198
|
const { status, data } = await apiInstance.completeFileUpload(
|
|
@@ -208,7 +208,7 @@ const { status, data } = await apiInstance.completeFileUpload(
|
|
|
208
208
|
|------------- | ------------- | ------------- | -------------|
|
|
209
209
|
| **completeUploadRequestDto** | **CompleteUploadRequestDto**| | |
|
|
210
210
|
| **fileKey** | [**string**] | 발급 응답의 fileKey(영문 대소문자·숫자 32자). | defaults to undefined|
|
|
211
|
-
| **idempotencyKey** | [**string**] |
|
|
211
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
212
212
|
|
|
213
213
|
|
|
214
214
|
### Return type
|
|
@@ -228,23 +228,23 @@ const { status, data } = await apiInstance.completeFileUpload(
|
|
|
228
228
|
### HTTP response details
|
|
229
229
|
| Status code | Description | Response headers |
|
|
230
230
|
|-------------|-------------|------------------|
|
|
231
|
-
|**200** | 업로드 확정 완료. 이제 `fileKey`
|
|
232
|
-
|**400** | 입력 검증 실패(`
|
|
233
|
-
|**401** | Bearer 토큰 없음(`
|
|
234
|
-
|**403** | 키 미바인딩(`
|
|
235
|
-
|**409** | 원 요청이
|
|
236
|
-
|**422** |
|
|
237
|
-
|**429** |
|
|
238
|
-
|**500** | 서버 내부 오류(`
|
|
239
|
-
|**502** |
|
|
240
|
-
|**503** |
|
|
231
|
+
|**200** | 업로드 확정 완료. 이제 `fileKey`를 공고 등록·수정의 첨부 필드에 실을 수 있습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
232
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
233
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
234
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
235
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
236
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
237
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
238
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
239
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
240
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
241
241
|
|
|
242
242
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
243
243
|
|
|
244
244
|
# **completeInvoice**
|
|
245
245
|
> CompleteInvoice200Response completeInvoice()
|
|
246
246
|
|
|
247
|
-
|
|
247
|
+
공급사에게 계산서를 수령한 뒤 계약을 완료처리합니다. 스코프 `contracts:write` · `Idempotency-Key` 헤더 필수. - 결제완료·계산서 발급 상태가 기록되고 발급일자는 현재 시각이 됩니다. - 이미 완료된 공고는 409, 다른 발주기관의 공고는 403입니다.
|
|
248
248
|
|
|
249
249
|
### Example
|
|
250
250
|
|
|
@@ -257,8 +257,8 @@ import {
|
|
|
257
257
|
const configuration = new Configuration();
|
|
258
258
|
const apiInstance = new PartnerApiApi(configuration);
|
|
259
259
|
|
|
260
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
261
|
-
let idempotencyKey: string;
|
|
260
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
261
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
262
262
|
|
|
263
263
|
const { status, data } = await apiInstance.completeInvoice(
|
|
264
264
|
bidRef,
|
|
@@ -270,8 +270,8 @@ const { status, data } = await apiInstance.completeInvoice(
|
|
|
270
270
|
|
|
271
271
|
|Name | Type | Description | Notes|
|
|
272
272
|
|------------- | ------------- | ------------- | -------------|
|
|
273
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
274
|
-
| **idempotencyKey** | [**string**] |
|
|
273
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
274
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
275
275
|
|
|
276
276
|
|
|
277
277
|
### Return type
|
|
@@ -291,23 +291,23 @@ const { status, data } = await apiInstance.completeInvoice(
|
|
|
291
291
|
### HTTP response details
|
|
292
292
|
| Status code | Description | Response headers |
|
|
293
293
|
|-------------|-------------|------------------|
|
|
294
|
-
|**200** | 정산 마감 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
295
|
-
|**400** | 입력 검증 실패(`
|
|
296
|
-
|**401** | Bearer 토큰 없음(`
|
|
297
|
-
|**403** | 키 미바인딩(`
|
|
298
|
-
|**409** | 원 요청이
|
|
299
|
-
|**422** |
|
|
300
|
-
|**429** |
|
|
301
|
-
|**500** | 서버 내부 오류(`
|
|
302
|
-
|**502** |
|
|
303
|
-
|**503** |
|
|
294
|
+
|**200** | 정산 마감 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
295
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
296
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
297
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
298
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
299
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
300
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
301
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
302
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
303
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
304
304
|
|
|
305
305
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
306
306
|
|
|
307
307
|
# **createCardPayment**
|
|
308
308
|
> CreateCardPayment200Response createCardPayment(createCardPaymentDto)
|
|
309
309
|
|
|
310
|
-
발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable
|
|
310
|
+
발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable`로 미리 확인하세요. 미가입 업체로 발행하면 400입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
311
311
|
|
|
312
312
|
### Example
|
|
313
313
|
|
|
@@ -321,7 +321,7 @@ import {
|
|
|
321
321
|
const configuration = new Configuration();
|
|
322
322
|
const apiInstance = new PartnerApiApi(configuration);
|
|
323
323
|
|
|
324
|
-
let idempotencyKey: string;
|
|
324
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
325
325
|
let createCardPaymentDto: CreateCardPaymentDto; //
|
|
326
326
|
|
|
327
327
|
const { status, data } = await apiInstance.createCardPayment(
|
|
@@ -335,7 +335,7 @@ const { status, data } = await apiInstance.createCardPayment(
|
|
|
335
335
|
|Name | Type | Description | Notes|
|
|
336
336
|
|------------- | ------------- | ------------- | -------------|
|
|
337
337
|
| **createCardPaymentDto** | **CreateCardPaymentDto**| | |
|
|
338
|
-
| **idempotencyKey** | [**string**] |
|
|
338
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
339
339
|
|
|
340
340
|
|
|
341
341
|
### Return type
|
|
@@ -355,23 +355,23 @@ const { status, data } = await apiInstance.createCardPayment(
|
|
|
355
355
|
### HTTP response details
|
|
356
356
|
| Status code | Description | Response headers |
|
|
357
357
|
|-------------|-------------|------------------|
|
|
358
|
-
|**200** | 결제창 발행 완료. 반환된 주소로 결제자를 보내면 됩니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
359
|
-
|**400** | 입력 검증 실패(`
|
|
360
|
-
|**401** | Bearer 토큰 없음(`
|
|
361
|
-
|**403** | 키 미바인딩(`
|
|
362
|
-
|**409** | 원 요청이
|
|
363
|
-
|**422** |
|
|
364
|
-
|**429** |
|
|
365
|
-
|**500** | 서버 내부 오류(`
|
|
366
|
-
|**502** |
|
|
367
|
-
|**503** |
|
|
358
|
+
|**200** | 결제창 발행 완료. 반환된 주소로 결제자를 보내면 됩니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
359
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
360
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
361
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
362
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
363
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
364
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
365
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
366
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
367
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
368
368
|
|
|
369
369
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
370
370
|
|
|
371
371
|
# **createExternalContractDocuments**
|
|
372
372
|
> CreateExternalContractDocumentsResponseDto createExternalContractDocuments(createExternalContractDocumentsRequestDto)
|
|
373
373
|
|
|
374
|
-
공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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
|
|
374
|
+
공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
375
375
|
|
|
376
376
|
### Example
|
|
377
377
|
|
|
@@ -385,7 +385,7 @@ import {
|
|
|
385
385
|
const configuration = new Configuration();
|
|
386
386
|
const apiInstance = new PartnerApiApi(configuration);
|
|
387
387
|
|
|
388
|
-
let idempotencyKey: string;
|
|
388
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
389
389
|
let createExternalContractDocumentsRequestDto: CreateExternalContractDocumentsRequestDto; //
|
|
390
390
|
|
|
391
391
|
const { status, data } = await apiInstance.createExternalContractDocuments(
|
|
@@ -399,7 +399,7 @@ const { status, data } = await apiInstance.createExternalContractDocuments(
|
|
|
399
399
|
|Name | Type | Description | Notes|
|
|
400
400
|
|------------- | ------------- | ------------- | -------------|
|
|
401
401
|
| **createExternalContractDocumentsRequestDto** | **CreateExternalContractDocumentsRequestDto**| | |
|
|
402
|
-
| **idempotencyKey** | [**string**] |
|
|
402
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
403
403
|
|
|
404
404
|
|
|
405
405
|
### Return type
|
|
@@ -419,23 +419,23 @@ const { status, data } = await apiInstance.createExternalContractDocuments(
|
|
|
419
419
|
### HTTP response details
|
|
420
420
|
| Status code | Description | Response headers |
|
|
421
421
|
|-------------|-------------|------------------|
|
|
422
|
-
|**201** | 계약서류 생성 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
423
|
-
|**400** | 입력 검증 실패(`
|
|
424
|
-
|**401** | Bearer 토큰 없음(`
|
|
425
|
-
|**403** | 키 미바인딩(`
|
|
426
|
-
|**409** | 원 요청이
|
|
427
|
-
|**422** |
|
|
428
|
-
|**429** |
|
|
429
|
-
|**500** | 서버 내부 오류(`
|
|
430
|
-
|**502** |
|
|
431
|
-
|**503** |
|
|
422
|
+
|**201** | 계약서류 생성 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
423
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
424
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
425
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
426
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
427
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
428
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
429
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
430
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
431
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
432
432
|
|
|
433
433
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
434
434
|
|
|
435
435
|
# **createFileUploadUrl**
|
|
436
436
|
> CreateFileUploadUrl201Response createFileUploadUrl(createUploadUrlRequestDto)
|
|
437
437
|
|
|
438
|
-
|
|
438
|
+
파일을 스토리지로 직접 올리기 위한 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` 한 번으로 끝납니다.
|
|
439
439
|
|
|
440
440
|
### Example
|
|
441
441
|
|
|
@@ -449,7 +449,7 @@ import {
|
|
|
449
449
|
const configuration = new Configuration();
|
|
450
450
|
const apiInstance = new PartnerApiApi(configuration);
|
|
451
451
|
|
|
452
|
-
let idempotencyKey: string;
|
|
452
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
453
453
|
let createUploadUrlRequestDto: CreateUploadUrlRequestDto; //
|
|
454
454
|
|
|
455
455
|
const { status, data } = await apiInstance.createFileUploadUrl(
|
|
@@ -463,7 +463,7 @@ const { status, data } = await apiInstance.createFileUploadUrl(
|
|
|
463
463
|
|Name | Type | Description | Notes|
|
|
464
464
|
|------------- | ------------- | ------------- | -------------|
|
|
465
465
|
| **createUploadUrlRequestDto** | **CreateUploadUrlRequestDto**| | |
|
|
466
|
-
| **idempotencyKey** | [**string**] |
|
|
466
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
467
467
|
|
|
468
468
|
|
|
469
469
|
### Return type
|
|
@@ -483,23 +483,23 @@ const { status, data } = await apiInstance.createFileUploadUrl(
|
|
|
483
483
|
### HTTP response details
|
|
484
484
|
| Status code | Description | Response headers |
|
|
485
485
|
|-------------|-------------|------------------|
|
|
486
|
-
|**201** | 업로드 주소 발급 완료. 이 주소로 파일 본문을 직접 PUT 한 뒤 반드시 확정(2/2)을 호출해야 `fileKey`
|
|
487
|
-
|**400** | 입력 검증 실패(`
|
|
488
|
-
|**401** | Bearer 토큰 없음(`
|
|
489
|
-
|**403** | 키 미바인딩(`
|
|
490
|
-
|**409** | 원 요청이
|
|
491
|
-
|**422** |
|
|
492
|
-
|**429** |
|
|
493
|
-
|**500** | 서버 내부 오류(`
|
|
494
|
-
|**502** |
|
|
495
|
-
|**503** |
|
|
486
|
+
|**201** | 업로드 주소 발급 완료. 이 주소로 파일 본문을 직접 PUT 한 뒤 반드시 확정(2/2)을 호출해야 `fileKey`가 유효해집니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
487
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
488
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
489
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
490
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
491
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
492
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
493
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
494
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
495
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
496
496
|
|
|
497
497
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
498
498
|
|
|
499
499
|
# **createWebhookEndpoint**
|
|
500
500
|
> CreateWebhookEndpoint201Response createWebhookEndpoint(createWebhookEndpointRequestDto)
|
|
501
501
|
|
|
502
|
-
수신 주소와 구독할 이벤트를 등록합니다.
|
|
502
|
+
수신 주소와 구독할 이벤트를 등록합니다. 연동 초기 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`로 조회해 메웁니다.
|
|
503
503
|
|
|
504
504
|
### Example
|
|
505
505
|
|
|
@@ -513,7 +513,7 @@ import {
|
|
|
513
513
|
const configuration = new Configuration();
|
|
514
514
|
const apiInstance = new PartnerApiApi(configuration);
|
|
515
515
|
|
|
516
|
-
let idempotencyKey: string;
|
|
516
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
517
517
|
let createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto; //
|
|
518
518
|
|
|
519
519
|
const { status, data } = await apiInstance.createWebhookEndpoint(
|
|
@@ -527,7 +527,7 @@ const { status, data } = await apiInstance.createWebhookEndpoint(
|
|
|
527
527
|
|Name | Type | Description | Notes|
|
|
528
528
|
|------------- | ------------- | ------------- | -------------|
|
|
529
529
|
| **createWebhookEndpointRequestDto** | **CreateWebhookEndpointRequestDto**| | |
|
|
530
|
-
| **idempotencyKey** | [**string**] |
|
|
530
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
531
531
|
|
|
532
532
|
|
|
533
533
|
### Return type
|
|
@@ -547,23 +547,23 @@ const { status, data } = await apiInstance.createWebhookEndpoint(
|
|
|
547
547
|
### HTTP response details
|
|
548
548
|
| Status code | Description | Response headers |
|
|
549
549
|
|-------------|-------------|------------------|
|
|
550
|
-
|**201** | 구독 등록 완료. `secret`
|
|
551
|
-
|**400** | 입력 검증 실패(`
|
|
552
|
-
|**401** | Bearer 토큰 없음(`
|
|
553
|
-
|**403** | 키 미바인딩(`
|
|
554
|
-
|**409** | 원 요청이
|
|
555
|
-
|**422** |
|
|
556
|
-
|**429** |
|
|
557
|
-
|**500** | 서버 내부 오류(`
|
|
558
|
-
|**502** |
|
|
559
|
-
|**503** |
|
|
550
|
+
|**201** | 구독 등록 완료. `secret`은 이 응답에만 실립니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
551
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
552
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
553
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
554
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
555
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
556
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
557
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
558
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
559
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
560
560
|
|
|
561
561
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
562
562
|
|
|
563
563
|
# **deleteWebhookEndpoint**
|
|
564
564
|
> deleteWebhookEndpoint()
|
|
565
565
|
|
|
566
|
-
구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다.
|
|
566
|
+
구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 되돌릴 수 없습니다. 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. 잠시만 멈추려면 `PATCH`로 `{\"status\":\"DISABLED\"}`를 보내세요. - `If-Match`가 필수입니다. 누락은 428, 그 사이 구독이 바뀌었으면 412입니다.
|
|
567
567
|
|
|
568
568
|
### Example
|
|
569
569
|
|
|
@@ -577,8 +577,8 @@ const configuration = new Configuration();
|
|
|
577
577
|
const apiInstance = new PartnerApiApi(configuration);
|
|
578
578
|
|
|
579
579
|
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
580
|
-
let ifMatch: string; //직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
581
|
-
let idempotencyKey: string;
|
|
580
|
+
let ifMatch: string; //직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다. (default to undefined)
|
|
581
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
582
582
|
|
|
583
583
|
const { status, data } = await apiInstance.deleteWebhookEndpoint(
|
|
584
584
|
endpointId,
|
|
@@ -592,8 +592,8 @@ const { status, data } = await apiInstance.deleteWebhookEndpoint(
|
|
|
592
592
|
|Name | Type | Description | Notes|
|
|
593
593
|
|------------- | ------------- | ------------- | -------------|
|
|
594
594
|
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
595
|
-
| **ifMatch** | [**string**] | 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
596
|
-
| **idempotencyKey** | [**string**] |
|
|
595
|
+
| **ifMatch** | [**string**] | 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다. | defaults to undefined|
|
|
596
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
597
597
|
|
|
598
598
|
|
|
599
599
|
### Return type
|
|
@@ -613,25 +613,25 @@ void (empty response body)
|
|
|
613
613
|
### HTTP response details
|
|
614
614
|
| Status code | Description | Response headers |
|
|
615
615
|
|-------------|-------------|------------------|
|
|
616
|
-
|**204** | 구독 삭제 완료(본문 없음). | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
617
|
-
|**400** | 입력 검증 실패(`
|
|
618
|
-
|**401** | Bearer 토큰 없음(`
|
|
619
|
-
|**403** | 키 미바인딩(`
|
|
620
|
-
|**409** | 원 요청이
|
|
621
|
-
|**412** | `If-Match`
|
|
622
|
-
|**422** |
|
|
623
|
-
|**428** | `If-Match`
|
|
624
|
-
|**429** |
|
|
625
|
-
|**500** | 서버 내부 오류(`
|
|
626
|
-
|**502** |
|
|
627
|
-
|**503** |
|
|
616
|
+
|**204** | 구독 삭제 완료(본문 없음). | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
617
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
618
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
619
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
620
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
621
|
+
|**412** | `If-Match` 값이 현재 리소스와 다름(`…/precondition-failed`). 다시 조회해 최신 `ETag`로 재시도합니다. | - |
|
|
622
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
623
|
+
|**428** | `If-Match` 헤더 누락(`…/if-match-required`). | - |
|
|
624
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
625
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
626
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
627
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
628
628
|
|
|
629
629
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
630
630
|
|
|
631
631
|
# **downloadFile**
|
|
632
632
|
> downloadFile()
|
|
633
633
|
|
|
634
|
-
무인증 — `fileKey` 자체가 capability 다(키를 아는 쪽이 곧 접근 권한을 가진다). 파트너 응답의 `fileUrl`/`fullUrl
|
|
634
|
+
무인증 — `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`이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
635
635
|
|
|
636
636
|
### Example
|
|
637
637
|
|
|
@@ -644,7 +644,7 @@ import {
|
|
|
644
644
|
const configuration = new Configuration();
|
|
645
645
|
const apiInstance = new PartnerApiApi(configuration);
|
|
646
646
|
|
|
647
|
-
let fileKey: string; //파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex
|
|
647
|
+
let fileKey: string; //파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다. (default to undefined)
|
|
648
648
|
|
|
649
649
|
const { status, data } = await apiInstance.downloadFile(
|
|
650
650
|
fileKey
|
|
@@ -655,7 +655,7 @@ const { status, data } = await apiInstance.downloadFile(
|
|
|
655
655
|
|
|
656
656
|
|Name | Type | Description | Notes|
|
|
657
657
|
|------------- | ------------- | ------------- | -------------|
|
|
658
|
-
| **fileKey** | [**string**] | 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex
|
|
658
|
+
| **fileKey** | [**string**] | 파일 키 — 영문 대소문자·숫자 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다. | defaults to undefined|
|
|
659
659
|
|
|
660
660
|
|
|
661
661
|
### Return type
|
|
@@ -675,14 +675,14 @@ No authorization required
|
|
|
675
675
|
### HTTP response details
|
|
676
676
|
| Status code | Description | Response headers |
|
|
677
677
|
|-------------|-------------|------------------|
|
|
678
|
-
|**302** | 해소된 다운로드 URL
|
|
678
|
+
|**302** | 해소된 다운로드 URL로 리다이렉트 | - |
|
|
679
679
|
|
|
680
680
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
681
681
|
|
|
682
682
|
# **getBid**
|
|
683
683
|
> GetBid200Response getBid()
|
|
684
684
|
|
|
685
|
-
|
|
685
|
+
공고 한 건의 전체 정보를 조회합니다 — 기본 정보, 납품·대금 조건, 담당자, 품목, 응찰 참여자, 계약서류, 검수 상태. 스코프 `bids:read`. - 낙찰 여부는 `status`가 아니라 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없어(낙찰 직후 `CONTRACT_IN_PROGRESS`) `status === \'AWARDED\'` 폴링은 끝나지 않습니다. - 계약서류는 `contractDocuments[]`에 실립니다. 따로 받는 엔드포인트는 없습니다. - 여러 건은 `GET /v2/bid-results`로 한 번에 받습니다. - 다른 발주기관의 공고는 403입니다.
|
|
686
686
|
|
|
687
687
|
### Example
|
|
688
688
|
|
|
@@ -695,8 +695,8 @@ import {
|
|
|
695
695
|
const configuration = new Configuration();
|
|
696
696
|
const apiInstance = new PartnerApiApi(configuration);
|
|
697
697
|
|
|
698
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
699
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
698
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
699
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
700
700
|
|
|
701
701
|
const { status, data } = await apiInstance.getBid(
|
|
702
702
|
bidRef,
|
|
@@ -708,8 +708,8 @@ const { status, data } = await apiInstance.getBid(
|
|
|
708
708
|
|
|
709
709
|
|Name | Type | Description | Notes|
|
|
710
710
|
|------------- | ------------- | ------------- | -------------|
|
|
711
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
712
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
711
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
712
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
713
713
|
|
|
714
714
|
|
|
715
715
|
### Return type
|
|
@@ -729,23 +729,23 @@ const { status, data } = await apiInstance.getBid(
|
|
|
729
729
|
### HTTP response details
|
|
730
730
|
| Status code | Description | Response headers |
|
|
731
731
|
|-------------|-------------|------------------|
|
|
732
|
-
|**200** | 공고 상세. 마감 전에는 참가자 신원이 가려져 나가고, 마감 이후 낙찰 여부는 `participants[].isWinner`
|
|
733
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
734
|
-
|**400** |
|
|
735
|
-
|**401** | Bearer 토큰 없음(`
|
|
736
|
-
|**403** | 키 미바인딩(`
|
|
737
|
-
|**404** |
|
|
738
|
-
|**429** |
|
|
739
|
-
|**500** | 서버 내부 오류(`
|
|
740
|
-
|**502** |
|
|
741
|
-
|**503** |
|
|
732
|
+
|**200** | 공고 상세. 마감 전에는 참가자 신원이 가려져 나가고, 마감 이후 낙찰 여부는 `participants[].isWinner`로 읽습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
733
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
734
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
735
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
736
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
737
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
738
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
739
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
740
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
741
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
742
742
|
|
|
743
743
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
744
744
|
|
|
745
745
|
# **getBidSettlement**
|
|
746
746
|
> GetBidSettlement200Response getBidSettlement()
|
|
747
747
|
|
|
748
|
-
낙찰 공급사의
|
|
748
|
+
낙찰 공급사의 사업자·계좌 정보와 공급가액·부가세, 응찰 품목내역을 조회합니다. 대금 지급에 필요한 값입니다. 스코프 `invoices:read`(종전 `bids:read`에서 변경). 다른 조회에서 참가자 정보가 가려지는 경우와 무관하게 이 응답은 항상 그대로 나갑니다.
|
|
749
749
|
|
|
750
750
|
### Example
|
|
751
751
|
|
|
@@ -758,8 +758,8 @@ import {
|
|
|
758
758
|
const configuration = new Configuration();
|
|
759
759
|
const apiInstance = new PartnerApiApi(configuration);
|
|
760
760
|
|
|
761
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
762
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
761
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
762
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
763
763
|
|
|
764
764
|
const { status, data } = await apiInstance.getBidSettlement(
|
|
765
765
|
bidRef,
|
|
@@ -771,8 +771,8 @@ const { status, data } = await apiInstance.getBidSettlement(
|
|
|
771
771
|
|
|
772
772
|
|Name | Type | Description | Notes|
|
|
773
773
|
|------------- | ------------- | ------------- | -------------|
|
|
774
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
775
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
774
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
775
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
776
776
|
|
|
777
777
|
|
|
778
778
|
### Return type
|
|
@@ -792,23 +792,23 @@ const { status, data } = await apiInstance.getBidSettlement(
|
|
|
792
792
|
### HTTP response details
|
|
793
793
|
| Status code | Description | Response headers |
|
|
794
794
|
|-------------|-------------|------------------|
|
|
795
|
-
|**200** | 낙찰 공급사의 사업자·계좌 정보와 공급가액/부가세, 응찰 품목내역. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
796
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
797
|
-
|**400** |
|
|
798
|
-
|**401** | Bearer 토큰 없음(`
|
|
799
|
-
|**403** | 키 미바인딩(`
|
|
800
|
-
|**404** |
|
|
801
|
-
|**429** |
|
|
802
|
-
|**500** | 서버 내부 오류(`
|
|
803
|
-
|**502** |
|
|
804
|
-
|**503** |
|
|
795
|
+
|**200** | 낙찰 공급사의 사업자·계좌 정보와 공급가액/부가세, 응찰 품목내역. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
796
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
797
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
798
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
799
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
800
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
801
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
802
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
803
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
804
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
805
805
|
|
|
806
806
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
807
807
|
|
|
808
808
|
# **getBidStatement**
|
|
809
809
|
> GetBidStatement200Response getBidStatement()
|
|
810
810
|
|
|
811
|
-
낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다.
|
|
811
|
+
낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다. 스코프 `invoices:read`(종전 `contracts:read`에서 변경).
|
|
812
812
|
|
|
813
813
|
### Example
|
|
814
814
|
|
|
@@ -821,9 +821,9 @@ import {
|
|
|
821
821
|
const configuration = new Configuration();
|
|
822
822
|
const apiInstance = new PartnerApiApi(configuration);
|
|
823
823
|
|
|
824
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
824
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
825
825
|
let paperCode: number; //거래명세서 서식 코드. 생략하면 해당 공고에 적용된 기본 서식으로 조회합니다. 기관에 서식이 여러 벌인 경우에만 지정하세요. (optional) (default to undefined)
|
|
826
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
826
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
827
827
|
|
|
828
828
|
const { status, data } = await apiInstance.getBidStatement(
|
|
829
829
|
bidRef,
|
|
@@ -836,9 +836,9 @@ const { status, data } = await apiInstance.getBidStatement(
|
|
|
836
836
|
|
|
837
837
|
|Name | Type | Description | Notes|
|
|
838
838
|
|------------- | ------------- | ------------- | -------------|
|
|
839
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
839
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
840
840
|
| **paperCode** | [**number**] | 거래명세서 서식 코드. 생략하면 해당 공고에 적용된 기본 서식으로 조회합니다. 기관에 서식이 여러 벌인 경우에만 지정하세요. | (optional) defaults to undefined|
|
|
841
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
841
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
842
842
|
|
|
843
843
|
|
|
844
844
|
### Return type
|
|
@@ -858,23 +858,23 @@ const { status, data } = await apiInstance.getBidStatement(
|
|
|
858
858
|
### HTTP response details
|
|
859
859
|
| Status code | Description | Response headers |
|
|
860
860
|
|-------------|-------------|------------------|
|
|
861
|
-
|**200** | 거래명세서 본문과 발행 메타. 정산 마감 전후 어느 시점에도 조회할 수 있습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
862
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
863
|
-
|**400** |
|
|
864
|
-
|**401** | Bearer 토큰 없음(`
|
|
865
|
-
|**403** | 키 미바인딩(`
|
|
866
|
-
|**404** |
|
|
867
|
-
|**429** |
|
|
868
|
-
|**500** | 서버 내부 오류(`
|
|
869
|
-
|**502** |
|
|
870
|
-
|**503** |
|
|
861
|
+
|**200** | 거래명세서 본문과 발행 메타. 정산 마감 전후 어느 시점에도 조회할 수 있습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
862
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
863
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
864
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
865
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
866
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
867
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
868
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
869
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
870
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
871
871
|
|
|
872
872
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
873
873
|
|
|
874
874
|
# **getFileMeta**
|
|
875
875
|
> GetFileMeta200Response getFileMeta()
|
|
876
876
|
|
|
877
|
-
파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey
|
|
877
|
+
파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **대부분은 이 조회가 필요 없습니다.** 공고·결과 응답의 첨부 항목에 파일명과 내려받기 주소 (`fileUrl`/`fullUrl`, 만료 없는 안정 주소)가 이미 실려 있습니다. 이 엔드포인트는 그 주소를 들고 있지 않고 `fileKey`만 아는 경우(예: 업로드 직후 크기 확인)를 위한 것입니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName`에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** fileKey 는 **영문 대소문자·숫자 32자**이고, 그 형태가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. 키를 16진수(hex)로 가정해 클라이언트에서 걸러내지 마세요 — 업로드된 파일의 키에는 hex가 아닌 문자가 들어갑니다. **필수 스코프:** `files:read`
|
|
878
878
|
|
|
879
879
|
### Example
|
|
880
880
|
|
|
@@ -888,7 +888,7 @@ const configuration = new Configuration();
|
|
|
888
888
|
const apiInstance = new PartnerApiApi(configuration);
|
|
889
889
|
|
|
890
890
|
let fileKey: string; //파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자). (default to undefined)
|
|
891
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
891
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
892
892
|
|
|
893
893
|
const { status, data } = await apiInstance.getFileMeta(
|
|
894
894
|
fileKey,
|
|
@@ -901,7 +901,7 @@ const { status, data } = await apiInstance.getFileMeta(
|
|
|
901
901
|
|Name | Type | Description | Notes|
|
|
902
902
|
|------------- | ------------- | ------------- | -------------|
|
|
903
903
|
| **fileKey** | [**string**] | 파일 키 — 업로드 응답의 fileKey(영문 대소문자·숫자 32자). | defaults to undefined|
|
|
904
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
904
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
905
905
|
|
|
906
906
|
|
|
907
907
|
### Return type
|
|
@@ -921,16 +921,16 @@ const { status, data } = await apiInstance.getFileMeta(
|
|
|
921
921
|
### HTTP response details
|
|
922
922
|
| Status code | Description | Response headers |
|
|
923
923
|
|-------------|-------------|------------------|
|
|
924
|
-
|**200** | 파일 메타(원본 파일명·크기·MIME). 내용은 포함하지 않습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
925
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
926
|
-
|**400** |
|
|
927
|
-
|**401** | Bearer 토큰 없음(`
|
|
928
|
-
|**403** | 키 미바인딩(`
|
|
929
|
-
|**404** |
|
|
930
|
-
|**429** |
|
|
931
|
-
|**500** | 서버 내부 오류(`
|
|
932
|
-
|**502** |
|
|
933
|
-
|**503** |
|
|
924
|
+
|**200** | 파일 메타(원본 파일명·크기·MIME). 내용은 포함하지 않습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
925
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
926
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
927
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
928
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
929
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
930
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
931
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
932
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
933
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
934
934
|
|
|
935
935
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
936
936
|
|
|
@@ -981,14 +981,14 @@ const { status, data } = await apiInstance.getSemoContractTaxinvoiceStatus(
|
|
|
981
981
|
### HTTP response details
|
|
982
982
|
| Status code | Description | Response headers |
|
|
983
983
|
|-------------|-------------|------------------|
|
|
984
|
-
|**200** | 세금계산서 발행 상태. 동결 표면이라 `{data}` 봉투를 씌우지 않습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
984
|
+
|**200** | 세금계산서 발행 상태. 동결 표면이라 `{data}` 봉투를 씌우지 않습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
985
985
|
|
|
986
986
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
987
987
|
|
|
988
988
|
# **getSupplierCardPayableV2**
|
|
989
989
|
> GetSupplierCardPayableV2200Response getSupplierCardPayableV2()
|
|
990
990
|
|
|
991
|
-
계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write
|
|
991
|
+
계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write`를 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
|
|
992
992
|
|
|
993
993
|
### Example
|
|
994
994
|
|
|
@@ -1002,7 +1002,7 @@ const configuration = new Configuration();
|
|
|
1002
1002
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1003
1003
|
|
|
1004
1004
|
let memberId: string; //계약업체 회원 ID (default to undefined)
|
|
1005
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
1005
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
1006
1006
|
|
|
1007
1007
|
const { status, data } = await apiInstance.getSupplierCardPayableV2(
|
|
1008
1008
|
memberId,
|
|
@@ -1015,7 +1015,7 @@ const { status, data } = await apiInstance.getSupplierCardPayableV2(
|
|
|
1015
1015
|
|Name | Type | Description | Notes|
|
|
1016
1016
|
|------------- | ------------- | ------------- | -------------|
|
|
1017
1017
|
| **memberId** | [**string**] | 계약업체 회원 ID | defaults to undefined|
|
|
1018
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1018
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
1019
1019
|
|
|
1020
1020
|
|
|
1021
1021
|
### Return type
|
|
@@ -1035,23 +1035,23 @@ const { status, data } = await apiInstance.getSupplierCardPayableV2(
|
|
|
1035
1035
|
### HTTP response details
|
|
1036
1036
|
| Status code | Description | Response headers |
|
|
1037
1037
|
|-------------|-------------|------------------|
|
|
1038
|
-
|**200** | 해당 공급사에 카드결제가 가능한지와, 불가하면 그 사유. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1039
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1040
|
-
|**400** |
|
|
1041
|
-
|**401** | Bearer 토큰 없음(`
|
|
1042
|
-
|**403** | 키 미바인딩(`
|
|
1043
|
-
|**404** |
|
|
1044
|
-
|**429** |
|
|
1045
|
-
|**500** | 서버 내부 오류(`
|
|
1046
|
-
|**502** |
|
|
1047
|
-
|**503** |
|
|
1038
|
+
|**200** | 해당 공급사에 카드결제가 가능한지와, 불가하면 그 사유. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1039
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1040
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
1041
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1042
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1043
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
1044
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1045
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1046
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1047
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1048
1048
|
|
|
1049
1049
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1050
1050
|
|
|
1051
1051
|
# **getWebhookEndpoint**
|
|
1052
1052
|
> GetWebhookEndpoint200Response getWebhookEndpoint()
|
|
1053
1053
|
|
|
1054
|
-
구독 1건의 현재 상태를 조회합니다.
|
|
1054
|
+
구독 1건의 현재 상태를 조회합니다. 스코프 `webhooks:read`. 수정·삭제 전에 먼저 호출해 응답 헤더의 `ETag`를 `If-Match`에 실어야 합니다. 없는 구독이거나 다른 파트너 키의 구독이면 404입니다. 서명 시크릿은 실리지 않습니다.
|
|
1055
1055
|
|
|
1056
1056
|
### Example
|
|
1057
1057
|
|
|
@@ -1065,7 +1065,7 @@ const configuration = new Configuration();
|
|
|
1065
1065
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1066
1066
|
|
|
1067
1067
|
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
1068
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
1068
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
1069
1069
|
|
|
1070
1070
|
const { status, data } = await apiInstance.getWebhookEndpoint(
|
|
1071
1071
|
endpointId,
|
|
@@ -1078,7 +1078,7 @@ const { status, data } = await apiInstance.getWebhookEndpoint(
|
|
|
1078
1078
|
|Name | Type | Description | Notes|
|
|
1079
1079
|
|------------- | ------------- | ------------- | -------------|
|
|
1080
1080
|
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
1081
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1081
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
1082
1082
|
|
|
1083
1083
|
|
|
1084
1084
|
### Return type
|
|
@@ -1098,16 +1098,16 @@ const { status, data } = await apiInstance.getWebhookEndpoint(
|
|
|
1098
1098
|
### HTTP response details
|
|
1099
1099
|
| Status code | Description | Response headers |
|
|
1100
1100
|
|-------------|-------------|------------------|
|
|
1101
|
-
|**200** | 웹훅 구독 상세. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1102
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1103
|
-
|**400** |
|
|
1104
|
-
|**401** | Bearer 토큰 없음(`
|
|
1105
|
-
|**403** | 키 미바인딩(`
|
|
1106
|
-
|**404** |
|
|
1107
|
-
|**429** |
|
|
1108
|
-
|**500** | 서버 내부 오류(`
|
|
1109
|
-
|**502** |
|
|
1110
|
-
|**503** |
|
|
1101
|
+
|**200** | 웹훅 구독 상세. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1102
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1103
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
1104
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1105
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1106
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
1107
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1108
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1109
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1110
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1111
1111
|
|
|
1112
1112
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1113
1113
|
|
|
@@ -1127,7 +1127,7 @@ import {
|
|
|
1127
1127
|
const configuration = new Configuration();
|
|
1128
1128
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1129
1129
|
|
|
1130
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
1130
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
1131
1131
|
|
|
1132
1132
|
const { status, data } = await apiInstance.healthControllerCheck(
|
|
1133
1133
|
ifNoneMatch
|
|
@@ -1138,7 +1138,7 @@ const { status, data } = await apiInstance.healthControllerCheck(
|
|
|
1138
1138
|
|
|
1139
1139
|
|Name | Type | Description | Notes|
|
|
1140
1140
|
|------------- | ------------- | ------------- | -------------|
|
|
1141
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1141
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
1142
1142
|
|
|
1143
1143
|
|
|
1144
1144
|
### Return type
|
|
@@ -1158,17 +1158,17 @@ No authorization required
|
|
|
1158
1158
|
### HTTP response details
|
|
1159
1159
|
| Status code | Description | Response headers |
|
|
1160
1160
|
|-------------|-------------|------------------|
|
|
1161
|
-
|**200** | 프로세스가 살아 있음. 의존성은 보지 않습니다(readiness
|
|
1162
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1163
|
-
|**429** |
|
|
1164
|
-
|**500** | 서버 내부 오류(`
|
|
1161
|
+
|**200** | 프로세스가 살아 있음. 의존성은 보지 않습니다(readiness가 그 역할). | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1162
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1163
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1164
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1165
1165
|
|
|
1166
1166
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1167
1167
|
|
|
1168
1168
|
# **listBidResults**
|
|
1169
1169
|
> ListBidResults200Response listBidResults()
|
|
1170
1170
|
|
|
1171
|
-
여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`.
|
|
1171
|
+
여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. - 결과 확인은 공고를 하나씩 조회하지 말고 이 엔드포인트로 최대 100건씩 받습니다. 응답의 `ETag`를 다음 요청의 `If-None-Match`로 보내면 변화가 없을 때 본문 없이 `304`로 끝납니다. - 식별자는 `?bidRefs=A,B,C`와 `?bidRefs=A&bidRefs=B` 둘 다 됩니다. - 없거나 대행 범위 밖인 식별자는 오류가 아니라 응답에서 빠집니다. 보낸 값이 공고번호면 `bidId`, 구매번호면 `purchaseNo`로 대조합니다.
|
|
1172
1172
|
|
|
1173
1173
|
### Example
|
|
1174
1174
|
|
|
@@ -1181,8 +1181,8 @@ import {
|
|
|
1181
1181
|
const configuration = new Configuration();
|
|
1182
1182
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1183
1183
|
|
|
1184
|
-
let bidRefs: string; //조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1185
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
1184
|
+
let bidRefs: string; //조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 `bidRefs`를 반복해 전달합니다. 최대 100건입니다. (default to undefined)
|
|
1185
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
1186
1186
|
|
|
1187
1187
|
const { status, data } = await apiInstance.listBidResults(
|
|
1188
1188
|
bidRefs,
|
|
@@ -1194,8 +1194,8 @@ const { status, data } = await apiInstance.listBidResults(
|
|
|
1194
1194
|
|
|
1195
1195
|
|Name | Type | Description | Notes|
|
|
1196
1196
|
|------------- | ------------- | ------------- | -------------|
|
|
1197
|
-
| **bidRefs** | [**string**] | 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1198
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1197
|
+
| **bidRefs** | [**string**] | 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. 쉼표로 구분하거나 `bidRefs`를 반복해 전달합니다. 최대 100건입니다. | defaults to undefined|
|
|
1198
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
1199
1199
|
|
|
1200
1200
|
|
|
1201
1201
|
### Return type
|
|
@@ -1215,23 +1215,23 @@ const { status, data } = await apiInstance.listBidResults(
|
|
|
1215
1215
|
### HTTP response details
|
|
1216
1216
|
| Status code | Description | Response headers |
|
|
1217
1217
|
|-------------|-------------|------------------|
|
|
1218
|
-
|**200** | 요청한 공고의 응찰 결과 목록. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1219
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1220
|
-
|**400** |
|
|
1221
|
-
|**401** | Bearer 토큰 없음(`
|
|
1222
|
-
|**403** | 키 미바인딩(`
|
|
1223
|
-
|**404** |
|
|
1224
|
-
|**429** |
|
|
1225
|
-
|**500** | 서버 내부 오류(`
|
|
1226
|
-
|**502** |
|
|
1227
|
-
|**503** |
|
|
1218
|
+
|**200** | 요청한 공고의 응찰 결과 목록. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1219
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1220
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
1221
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1222
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1223
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
1224
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1225
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1226
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1227
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1228
1228
|
|
|
1229
1229
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1230
1230
|
|
|
1231
1231
|
# **listBids**
|
|
1232
1232
|
> ListBids200Response listBids()
|
|
1233
1233
|
|
|
1234
|
-
|
|
1234
|
+
API 키에 연결된 발주기관의 공고를 게시일 최신순으로 조회합니다. 스코프 `bids:read`. - 발주기관은 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 페이지네이션: `limit`(1~100, 기본 100)과 `cursor`. 응답 `meta.nextCursor`를 다음 요청의 `cursor`로 보내고, `meta.hasMore`가 `false`면 마지막 페이지입니다. - 낙찰 여부는 공고 상태가 아니라 `GET /v2/bid-results`의 `participants[].isWinner`로 판단합니다. `AWARDED` 상태는 없습니다.
|
|
1235
1235
|
|
|
1236
1236
|
### Example
|
|
1237
1237
|
|
|
@@ -1245,11 +1245,11 @@ const configuration = new Configuration();
|
|
|
1245
1245
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1246
1246
|
|
|
1247
1247
|
let limit: number; //페이지 크기(1~100, 기본 100). (optional) (default to 100)
|
|
1248
|
-
let cursor: string; //다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor
|
|
1249
|
-
let bidRefs: Array<string>; //조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1248
|
+
let cursor: string; //다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 보냅니다. 생략하면 첫 페이지이고, `nextCursor`가 `null`이면 마지막 페이지입니다. (optional) (default to undefined)
|
|
1249
|
+
let bidRefs: Array<string>; //조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다. (optional) (default to undefined)
|
|
1250
1250
|
let status: Array<BidPublicStatus>; //공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다. (optional) (default to undefined)
|
|
1251
1251
|
let include: Array<'results' | 'products' | 'contacts'>; //행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다). (optional) (default to undefined)
|
|
1252
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
1252
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
1253
1253
|
|
|
1254
1254
|
const { status, data } = await apiInstance.listBids(
|
|
1255
1255
|
limit,
|
|
@@ -1266,11 +1266,11 @@ const { status, data } = await apiInstance.listBids(
|
|
|
1266
1266
|
|Name | Type | Description | Notes|
|
|
1267
1267
|
|------------- | ------------- | ------------- | -------------|
|
|
1268
1268
|
| **limit** | [**number**] | 페이지 크기(1~100, 기본 100). | (optional) defaults to 100|
|
|
1269
|
-
| **cursor** | [**string**] | 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
1270
|
-
| **bidRefs** | **Array<string>** | 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1269
|
+
| **cursor** | [**string**] | 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 보냅니다. 생략하면 첫 페이지이고, `nextCursor`가 `null`이면 마지막 페이지입니다. | (optional) defaults to undefined|
|
|
1270
|
+
| **bidRefs** | **Array<string>** | 조회할 공고 식별자 목록. 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. 두 형식을 섞어 보내도 됩니다. CSV로 전달하며 최대 100건. 지정 시 그 공고만 조회합니다. | (optional) defaults to undefined|
|
|
1271
1271
|
| **status** | **Array<BidPublicStatus>** | 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회합니다. | (optional) defaults to undefined|
|
|
1272
1272
|
| **include** | **Array<'results' | 'products' | 'contacts'>** | 행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다). | (optional) defaults to undefined|
|
|
1273
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1273
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
1274
1274
|
|
|
1275
1275
|
|
|
1276
1276
|
### Return type
|
|
@@ -1290,23 +1290,23 @@ const { status, data } = await apiInstance.listBids(
|
|
|
1290
1290
|
### HTTP response details
|
|
1291
1291
|
| Status code | Description | Response headers |
|
|
1292
1292
|
|-------------|-------------|------------------|
|
|
1293
|
-
|**200** | 공고 요약 목록. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1294
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1295
|
-
|**400** |
|
|
1296
|
-
|**401** | Bearer 토큰 없음(`
|
|
1297
|
-
|**403** | 키 미바인딩(`
|
|
1298
|
-
|**404** |
|
|
1299
|
-
|**429** |
|
|
1300
|
-
|**500** | 서버 내부 오류(`
|
|
1301
|
-
|**502** |
|
|
1302
|
-
|**503** |
|
|
1293
|
+
|**200** | 공고 요약 목록. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1294
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1295
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
1296
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1297
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1298
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
1299
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1300
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1301
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1302
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1303
1303
|
|
|
1304
1304
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1305
1305
|
|
|
1306
1306
|
# **listExternalContractDocuments**
|
|
1307
1307
|
> ExternalContractDocumentsResponseDto listExternalContractDocuments()
|
|
1308
1308
|
|
|
1309
|
-
발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market
|
|
1309
|
+
발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `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 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
1310
1310
|
|
|
1311
1311
|
### Example
|
|
1312
1312
|
|
|
@@ -1353,22 +1353,22 @@ const { status, data } = await apiInstance.listExternalContractDocuments(
|
|
|
1353
1353
|
### HTTP response details
|
|
1354
1354
|
| Status code | Description | Response headers |
|
|
1355
1355
|
|-------------|-------------|------------------|
|
|
1356
|
-
|**200** | 필요 계약서류 목록. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1357
|
-
|**400** |
|
|
1358
|
-
|**401** | Bearer 토큰 없음(`
|
|
1359
|
-
|**403** | 키 미바인딩(`
|
|
1360
|
-
|**404** |
|
|
1361
|
-
|**429** |
|
|
1362
|
-
|**500** | 서버 내부 오류(`
|
|
1363
|
-
|**502** |
|
|
1364
|
-
|**503** |
|
|
1356
|
+
|**200** | 필요 계약서류 목록. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1357
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
1358
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1359
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1360
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
1361
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1362
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1363
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1364
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1365
1365
|
|
|
1366
1366
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1367
1367
|
|
|
1368
1368
|
# **listWebhookDeliveries**
|
|
1369
1369
|
> ListWebhookDeliveries200Response listWebhookDeliveries()
|
|
1370
1370
|
|
|
1371
|
-
이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸
|
|
1371
|
+
이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문, 수신측 응답 상태, 다음 재시도 시각이 함께 실립니다. 스코프 `webhooks:read`. - 수신측 장애로 놓친 이벤트는 `status=EXHAUSTED`로 걸러 다시 처리합니다. 웹훅의 폴링 대체 경로입니다. - 재시도마다 한 행이며 `eventId`가 같고 `attempt`만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단합니다. - 페이지네이션: 응답 `nextCursor`를 다음 요청의 `cursor`로 보냅니다. `null`이면 마지막 페이지입니다.
|
|
1372
1372
|
|
|
1373
1373
|
### Example
|
|
1374
1374
|
|
|
@@ -1384,8 +1384,8 @@ const apiInstance = new PartnerApiApi(configuration);
|
|
|
1384
1384
|
let endpointId: string; //이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다. (optional) (default to undefined)
|
|
1385
1385
|
let status: PartnerWebhookDeliveryStatus; //전송 상태 필터. 미지정이면 전부. (optional) (default to undefined)
|
|
1386
1386
|
let limit: number; //페이지 크기(1~200, 기본 50). (optional) (default to 50)
|
|
1387
|
-
let cursor: string; //다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor
|
|
1388
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
1387
|
+
let cursor: string; //다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지. (optional) (default to undefined)
|
|
1388
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
1389
1389
|
|
|
1390
1390
|
const { status, data } = await apiInstance.listWebhookDeliveries(
|
|
1391
1391
|
endpointId,
|
|
@@ -1403,8 +1403,8 @@ const { status, data } = await apiInstance.listWebhookDeliveries(
|
|
|
1403
1403
|
| **endpointId** | [**string**] | 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다. | (optional) defaults to undefined|
|
|
1404
1404
|
| **status** | **PartnerWebhookDeliveryStatus** | 전송 상태 필터. 미지정이면 전부. | (optional) defaults to undefined|
|
|
1405
1405
|
| **limit** | [**number**] | 페이지 크기(1~200, 기본 50). | (optional) defaults to 50|
|
|
1406
|
-
| **cursor** | [**string**] | 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`
|
|
1407
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1406
|
+
| **cursor** | [**string**] | 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor`를 그대로 전달합니다. 미지정 시 첫 페이지. | (optional) defaults to undefined|
|
|
1407
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
1408
1408
|
|
|
1409
1409
|
|
|
1410
1410
|
### Return type
|
|
@@ -1424,23 +1424,23 @@ const { status, data } = await apiInstance.listWebhookDeliveries(
|
|
|
1424
1424
|
### HTTP response details
|
|
1425
1425
|
| Status code | Description | Response headers |
|
|
1426
1426
|
|-------------|-------------|------------------|
|
|
1427
|
-
|**200** | 웹훅 전송 이력. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1428
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1429
|
-
|**400** |
|
|
1430
|
-
|**401** | Bearer 토큰 없음(`
|
|
1431
|
-
|**403** | 키 미바인딩(`
|
|
1432
|
-
|**404** |
|
|
1433
|
-
|**429** |
|
|
1434
|
-
|**500** | 서버 내부 오류(`
|
|
1435
|
-
|**502** |
|
|
1436
|
-
|**503** |
|
|
1427
|
+
|**200** | 웹훅 전송 이력. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1428
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1429
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
1430
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1431
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1432
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
1433
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1434
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1435
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1436
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1437
1437
|
|
|
1438
1438
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1439
1439
|
|
|
1440
1440
|
# **listWebhookEndpoints**
|
|
1441
1441
|
> ListWebhookEndpoints200Response listWebhookEndpoints()
|
|
1442
1442
|
|
|
1443
|
-
이 API 키가 등록한 웹훅 구독을 모두 조회합니다.
|
|
1443
|
+
이 API 키가 등록한 웹훅 구독을 모두 조회합니다. 스코프 `webhooks:read`. 발송이 멈춘 이유는 `status`와 `consecutiveFailures`로 확인합니다. 서명 시크릿은 실리지 않습니다. 수신측 구현 방법은 `POST /v2/webhook-endpoints` 설명에 있습니다.
|
|
1444
1444
|
|
|
1445
1445
|
### Example
|
|
1446
1446
|
|
|
@@ -1453,7 +1453,7 @@ import {
|
|
|
1453
1453
|
const configuration = new Configuration();
|
|
1454
1454
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1455
1455
|
|
|
1456
|
-
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304
|
|
1456
|
+
let ifNoneMatch: string; //직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. (optional) (default to undefined)
|
|
1457
1457
|
|
|
1458
1458
|
const { status, data } = await apiInstance.listWebhookEndpoints(
|
|
1459
1459
|
ifNoneMatch
|
|
@@ -1464,7 +1464,7 @@ const { status, data } = await apiInstance.listWebhookEndpoints(
|
|
|
1464
1464
|
|
|
1465
1465
|
|Name | Type | Description | Notes|
|
|
1466
1466
|
|------------- | ------------- | ------------- | -------------|
|
|
1467
|
-
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`
|
|
1467
|
+
| **ifNoneMatch** | [**string**] | 직전 응답의 `ETag` 값. 내용이 그대로면 본문 없이 `304`로 끝납니다 — 폴링에서 전송량과 파싱 비용이 사라집니다. | (optional) defaults to undefined|
|
|
1468
1468
|
|
|
1469
1469
|
|
|
1470
1470
|
### Return type
|
|
@@ -1484,23 +1484,23 @@ const { status, data } = await apiInstance.listWebhookEndpoints(
|
|
|
1484
1484
|
### HTTP response details
|
|
1485
1485
|
| Status code | Description | Response headers |
|
|
1486
1486
|
|-------------|-------------|------------------|
|
|
1487
|
-
|**200** | 웹훅 구독 목록. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1488
|
-
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1489
|
-
|**400** |
|
|
1490
|
-
|**401** | Bearer 토큰 없음(`
|
|
1491
|
-
|**403** | 키 미바인딩(`
|
|
1492
|
-
|**404** |
|
|
1493
|
-
|**429** |
|
|
1494
|
-
|**500** | 서버 내부 오류(`
|
|
1495
|
-
|**502** |
|
|
1496
|
-
|**503** |
|
|
1487
|
+
|**200** | 웹훅 구독 목록. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1488
|
+
|**304** | `If-None-Match` 지문이 현재 리소스와 같습니다 — 내용이 바뀌지 않았습니다. **본문이 없습니다.** 직전에 받은 값을 그대로 쓰세요. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. <br> |
|
|
1489
|
+
|**400** | 입력 검증 실패(`…/validation-failed`). 상한 초과(`bidRefs` 101건 등), 값 형식 위반, 알 수 없는 `cursor`. | - |
|
|
1490
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1491
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1492
|
+
|**404** | 대상 없음(`…/upstream-not-found`). | - |
|
|
1493
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1494
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1495
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1496
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1497
1497
|
|
|
1498
1498
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1499
1499
|
|
|
1500
1500
|
# **markBidFailed**
|
|
1501
1501
|
> MarkBidFailed201Response markBidFailed(markBidFailedRequestDto)
|
|
1502
1502
|
|
|
1503
|
-
공고를 유찰
|
|
1503
|
+
공고를 유찰 처리합니다. 입찰 마감 상태에서 호출합니다. 스코프 `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` 필수) |
|
|
1504
1504
|
|
|
1505
1505
|
### Example
|
|
1506
1506
|
|
|
@@ -1514,8 +1514,8 @@ import {
|
|
|
1514
1514
|
const configuration = new Configuration();
|
|
1515
1515
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1516
1516
|
|
|
1517
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1518
|
-
let idempotencyKey: string;
|
|
1517
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
1518
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
1519
1519
|
let markBidFailedRequestDto: MarkBidFailedRequestDto; //
|
|
1520
1520
|
|
|
1521
1521
|
const { status, data } = await apiInstance.markBidFailed(
|
|
@@ -1530,8 +1530,8 @@ const { status, data } = await apiInstance.markBidFailed(
|
|
|
1530
1530
|
|Name | Type | Description | Notes|
|
|
1531
1531
|
|------------- | ------------- | ------------- | -------------|
|
|
1532
1532
|
| **markBidFailedRequestDto** | **MarkBidFailedRequestDto**| | |
|
|
1533
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1534
|
-
| **idempotencyKey** | [**string**] |
|
|
1533
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
1534
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
1535
1535
|
|
|
1536
1536
|
|
|
1537
1537
|
### Return type
|
|
@@ -1551,23 +1551,23 @@ const { status, data } = await apiInstance.markBidFailed(
|
|
|
1551
1551
|
### HTTP response details
|
|
1552
1552
|
| Status code | Description | Response headers |
|
|
1553
1553
|
|-------------|-------------|------------------|
|
|
1554
|
-
|**201** | 유찰 처리 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1555
|
-
|**400** | 입력 검증 실패(`
|
|
1556
|
-
|**401** | Bearer 토큰 없음(`
|
|
1557
|
-
|**403** | 키 미바인딩(`
|
|
1558
|
-
|**409** | 원 요청이
|
|
1559
|
-
|**422** |
|
|
1560
|
-
|**429** |
|
|
1561
|
-
|**500** | 서버 내부 오류(`
|
|
1562
|
-
|**502** |
|
|
1563
|
-
|**503** |
|
|
1554
|
+
|**201** | 유찰 처리 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1555
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
1556
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1557
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1558
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
1559
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
1560
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1561
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1562
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1563
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1564
1564
|
|
|
1565
1565
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1566
1566
|
|
|
1567
1567
|
# **registerAward**
|
|
1568
1568
|
> RegisterAward201Response registerAward(registerAwardRequestDto)
|
|
1569
1569
|
|
|
1570
|
-
낙찰 결과를 등록합니다.
|
|
1570
|
+
낙찰 결과를 등록합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감(입찰완료) 상태에서 호출합니다. - 낙찰 후 공고 상태는 계약진행(`CONTRACT_IN_PROGRESS`)입니다. `AWARDED` 공고 상태는 없으므로 낙찰 여부는 `participants[].isWinner`로 판단합니다. - 협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고는 `POST /v2/bids/{bidRef}/negotiation-scores`로 평가를 마쳐야 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다). - 같은 키와 같은 body로 재전송하면 24시간 동안 캐시된 응답을 돌려줍니다.
|
|
1571
1571
|
|
|
1572
1572
|
### Example
|
|
1573
1573
|
|
|
@@ -1581,8 +1581,8 @@ import {
|
|
|
1581
1581
|
const configuration = new Configuration();
|
|
1582
1582
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1583
1583
|
|
|
1584
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1585
|
-
let idempotencyKey: string;
|
|
1584
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
1585
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
1586
1586
|
let registerAwardRequestDto: RegisterAwardRequestDto; //
|
|
1587
1587
|
|
|
1588
1588
|
const { status, data } = await apiInstance.registerAward(
|
|
@@ -1597,8 +1597,8 @@ const { status, data } = await apiInstance.registerAward(
|
|
|
1597
1597
|
|Name | Type | Description | Notes|
|
|
1598
1598
|
|------------- | ------------- | ------------- | -------------|
|
|
1599
1599
|
| **registerAwardRequestDto** | **RegisterAwardRequestDto**| | |
|
|
1600
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1601
|
-
| **idempotencyKey** | [**string**] |
|
|
1600
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
1601
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
1602
1602
|
|
|
1603
1603
|
|
|
1604
1604
|
### Return type
|
|
@@ -1618,23 +1618,23 @@ const { status, data } = await apiInstance.registerAward(
|
|
|
1618
1618
|
### HTTP response details
|
|
1619
1619
|
| Status code | Description | Response headers |
|
|
1620
1620
|
|-------------|-------------|------------------|
|
|
1621
|
-
|**201** | 낙찰 등록 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1622
|
-
|**400** | 입력 검증 실패(`
|
|
1623
|
-
|**401** | Bearer 토큰 없음(`
|
|
1624
|
-
|**403** | 키 미바인딩(`
|
|
1625
|
-
|**409** | 원 요청이
|
|
1626
|
-
|**422** |
|
|
1627
|
-
|**429** |
|
|
1628
|
-
|**500** | 서버 내부 오류(`
|
|
1629
|
-
|**502** |
|
|
1630
|
-
|**503** |
|
|
1621
|
+
|**201** | 낙찰 등록 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1622
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
1623
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1624
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1625
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
1626
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
1627
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1628
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1629
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1630
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1631
1631
|
|
|
1632
1632
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1633
1633
|
|
|
1634
1634
|
# **registerBid**
|
|
1635
1635
|
> RegisterBid201Response registerBid(createBidRequestDto)
|
|
1636
1636
|
|
|
1637
|
-
|
|
1637
|
+
공고를 등록합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. 첨부는 두 방법 중 하나입니다. - `attachments` 원소에 `{ fileName, url }` 또는 `{ fileName, base64 }`를 그대로 넣습니다. - 여러 공고에서 재사용할 파일은 `POST /v2/files`로 먼저 올려 받은 `fileKey`를 넣습니다.
|
|
1638
1638
|
|
|
1639
1639
|
### Example
|
|
1640
1640
|
|
|
@@ -1648,7 +1648,7 @@ import {
|
|
|
1648
1648
|
const configuration = new Configuration();
|
|
1649
1649
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1650
1650
|
|
|
1651
|
-
let idempotencyKey: string;
|
|
1651
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
1652
1652
|
let createBidRequestDto: CreateBidRequestDto; //
|
|
1653
1653
|
|
|
1654
1654
|
const { status, data } = await apiInstance.registerBid(
|
|
@@ -1662,7 +1662,7 @@ const { status, data } = await apiInstance.registerBid(
|
|
|
1662
1662
|
|Name | Type | Description | Notes|
|
|
1663
1663
|
|------------- | ------------- | ------------- | -------------|
|
|
1664
1664
|
| **createBidRequestDto** | **CreateBidRequestDto**| | |
|
|
1665
|
-
| **idempotencyKey** | [**string**] |
|
|
1665
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
1666
1666
|
|
|
1667
1667
|
|
|
1668
1668
|
### Return type
|
|
@@ -1682,16 +1682,16 @@ const { status, data } = await apiInstance.registerBid(
|
|
|
1682
1682
|
### HTTP response details
|
|
1683
1683
|
| Status code | Description | Response headers |
|
|
1684
1684
|
|-------------|-------------|------------------|
|
|
1685
|
-
|**201** | 공고 등록 완료. 발급된 `bidId`(c-market 공고번호)와 보낸 `purchaseNo`
|
|
1686
|
-
|**400** | 입력 검증 실패(`
|
|
1687
|
-
|**401** | Bearer 토큰 없음(`
|
|
1688
|
-
|**403** | 키 미바인딩(`
|
|
1689
|
-
|**409** | 원 요청이
|
|
1690
|
-
|**422** |
|
|
1691
|
-
|**429** |
|
|
1692
|
-
|**500** | 서버 내부 오류(`
|
|
1693
|
-
|**502** |
|
|
1694
|
-
|**503** |
|
|
1685
|
+
|**201** | 공고 등록 완료. 발급된 `bidId`(c-market 공고번호)와 보낸 `purchaseNo`를 함께 돌려주므로 이후 조회에 어느 쪽을 써도 됩니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1686
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
1687
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1688
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1689
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
1690
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
1691
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1692
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1693
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1694
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1695
1695
|
|
|
1696
1696
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1697
1697
|
|
|
@@ -1712,7 +1712,7 @@ import {
|
|
|
1712
1712
|
const configuration = new Configuration();
|
|
1713
1713
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1714
1714
|
|
|
1715
|
-
let idempotencyKey: string;
|
|
1715
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
1716
1716
|
let registerSemoContractRequestDto: RegisterSemoContractRequestDto; //
|
|
1717
1717
|
|
|
1718
1718
|
const { status, data } = await apiInstance.registerSemoContract(
|
|
@@ -1726,7 +1726,7 @@ const { status, data } = await apiInstance.registerSemoContract(
|
|
|
1726
1726
|
|Name | Type | Description | Notes|
|
|
1727
1727
|
|------------- | ------------- | ------------- | -------------|
|
|
1728
1728
|
| **registerSemoContractRequestDto** | **RegisterSemoContractRequestDto**| | |
|
|
1729
|
-
| **idempotencyKey** | [**string**] |
|
|
1729
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
1730
1730
|
|
|
1731
1731
|
|
|
1732
1732
|
### Return type
|
|
@@ -1746,23 +1746,23 @@ const { status, data } = await apiInstance.registerSemoContract(
|
|
|
1746
1746
|
### HTTP response details
|
|
1747
1747
|
| Status code | Description | Response headers |
|
|
1748
1748
|
|-------------|-------------|------------------|
|
|
1749
|
-
|**200** | 외부 계약 등록 완료. 동결 표면이라 `{data}` 봉투를 씌우지 않습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1750
|
-
|**400** | 입력 검증 실패(`
|
|
1751
|
-
|**401** | Bearer 토큰 없음(`
|
|
1752
|
-
|**403** | 키 미바인딩(`
|
|
1753
|
-
|**409** | 원 요청이
|
|
1754
|
-
|**422** |
|
|
1755
|
-
|**429** |
|
|
1756
|
-
|**500** | 서버 내부 오류(`
|
|
1757
|
-
|**502** |
|
|
1758
|
-
|**503** |
|
|
1749
|
+
|**200** | 외부 계약 등록 완료. 동결 표면이라 `{data}` 봉투를 씌우지 않습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1750
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
1751
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1752
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1753
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
1754
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
1755
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1756
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1757
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1758
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1759
1759
|
|
|
1760
1760
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1761
1761
|
|
|
1762
1762
|
# **requestInvoiceSplit**
|
|
1763
1763
|
> RequestInvoiceSplit200Response requestInvoiceSplit(requestInvoiceSplitRequestDto)
|
|
1764
1764
|
|
|
1765
|
-
한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write
|
|
1765
|
+
한 공고의 계산서를 여러 장으로 나눠 발급해 달라고 청구합니다. 스코프 `invoices:write` · `Idempotency-Key` 헤더 필수. - 청구만 접수합니다. 발행은 정산 파이프라인이 처리하며 진행 여부는 `GET /v2/bids/{bidRef}`의 `taxInvoiceRequested`로 확인합니다. - `supplyAmount`와 `vat`는 이번 장에 실을 금액입니다. 남은 금액을 다시 나누려면 **새 `Idempotency-Key`**로 한 번 더 청구합니다. 같은 키는 앞선 청구의 응답을 그대로 돌려줍니다. - `issueDate`는 선택이며 미래 일자는 400입니다.
|
|
1766
1766
|
|
|
1767
1767
|
### Example
|
|
1768
1768
|
|
|
@@ -1776,8 +1776,8 @@ import {
|
|
|
1776
1776
|
const configuration = new Configuration();
|
|
1777
1777
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1778
1778
|
|
|
1779
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1780
|
-
let idempotencyKey: string;
|
|
1779
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
1780
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
1781
1781
|
let requestInvoiceSplitRequestDto: RequestInvoiceSplitRequestDto; //
|
|
1782
1782
|
|
|
1783
1783
|
const { status, data } = await apiInstance.requestInvoiceSplit(
|
|
@@ -1792,8 +1792,8 @@ const { status, data } = await apiInstance.requestInvoiceSplit(
|
|
|
1792
1792
|
|Name | Type | Description | Notes|
|
|
1793
1793
|
|------------- | ------------- | ------------- | -------------|
|
|
1794
1794
|
| **requestInvoiceSplitRequestDto** | **RequestInvoiceSplitRequestDto**| | |
|
|
1795
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1796
|
-
| **idempotencyKey** | [**string**] |
|
|
1795
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
1796
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
1797
1797
|
|
|
1798
1798
|
|
|
1799
1799
|
### Return type
|
|
@@ -1813,16 +1813,16 @@ const { status, data } = await apiInstance.requestInvoiceSplit(
|
|
|
1813
1813
|
### HTTP response details
|
|
1814
1814
|
| Status code | Description | Response headers |
|
|
1815
1815
|
|-------------|-------------|------------------|
|
|
1816
|
-
|**200** | 청구 접수 결과. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1817
|
-
|**400** | 입력 검증 실패(`
|
|
1818
|
-
|**401** | Bearer 토큰 없음(`
|
|
1819
|
-
|**403** | 키 미바인딩(`
|
|
1820
|
-
|**409** | 원 요청이
|
|
1821
|
-
|**422** |
|
|
1822
|
-
|**429** |
|
|
1823
|
-
|**500** | 서버 내부 오류(`
|
|
1824
|
-
|**502** |
|
|
1825
|
-
|**503** |
|
|
1816
|
+
|**200** | 청구 접수 결과. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1817
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
1818
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1819
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1820
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
1821
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
1822
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1823
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1824
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1825
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1826
1826
|
|
|
1827
1827
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1828
1828
|
|
|
@@ -1843,8 +1843,8 @@ import {
|
|
|
1843
1843
|
const configuration = new Configuration();
|
|
1844
1844
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1845
1845
|
|
|
1846
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1847
|
-
let idempotencyKey: string;
|
|
1846
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
1847
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
1848
1848
|
let revertAwardRequestDto: RevertAwardRequestDto; //
|
|
1849
1849
|
|
|
1850
1850
|
const { status, data } = await apiInstance.revertAward(
|
|
@@ -1859,8 +1859,8 @@ const { status, data } = await apiInstance.revertAward(
|
|
|
1859
1859
|
|Name | Type | Description | Notes|
|
|
1860
1860
|
|------------- | ------------- | ------------- | -------------|
|
|
1861
1861
|
| **revertAwardRequestDto** | **RevertAwardRequestDto**| | |
|
|
1862
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
1863
|
-
| **idempotencyKey** | [**string**] |
|
|
1862
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
1863
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
1864
1864
|
|
|
1865
1865
|
|
|
1866
1866
|
### Return type
|
|
@@ -1880,23 +1880,23 @@ const { status, data } = await apiInstance.revertAward(
|
|
|
1880
1880
|
### HTTP response details
|
|
1881
1881
|
| Status code | Description | Response headers |
|
|
1882
1882
|
|-------------|-------------|------------------|
|
|
1883
|
-
|**200** | 낙찰 되돌리기 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
1884
|
-
|**400** | 입력 검증 실패(`
|
|
1885
|
-
|**401** | Bearer 토큰 없음(`
|
|
1886
|
-
|**403** | 키 미바인딩(`
|
|
1887
|
-
|**409** | 원 요청이
|
|
1888
|
-
|**422** |
|
|
1889
|
-
|**429** |
|
|
1890
|
-
|**500** | 서버 내부 오류(`
|
|
1891
|
-
|**502** |
|
|
1892
|
-
|**503** |
|
|
1883
|
+
|**200** | 낙찰 되돌리기 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1884
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
1885
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1886
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1887
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
1888
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
1889
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1890
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1891
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1892
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1893
1893
|
|
|
1894
1894
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1895
1895
|
|
|
1896
1896
|
# **rotateWebhookSecret**
|
|
1897
1897
|
> CreateWebhookEndpoint201Response rotateWebhookSecret()
|
|
1898
1898
|
|
|
1899
|
-
서명 시크릿을 새로 발급합니다.
|
|
1899
|
+
서명 시크릿을 새로 발급합니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 새 시크릿은 이 응답에서 한 번만 나가고 `secretVersion`이 1 올라갑니다. - **옛 시크릿은 즉시 무효입니다.** 유예가 없으므로 순서를 지키세요 — ① 수신측이 옛 값과 새 값을 모두 받아들이도록 배포 → ② 이 호출 → ③ 새 값 반영 → ④ 옛 값 제거. - 같은 `Idempotency-Key`로 다시 부르면 새로 발급하지 않고 처음 발급한 값을 돌려줍니다(24시간).
|
|
1900
1900
|
|
|
1901
1901
|
### Example
|
|
1902
1902
|
|
|
@@ -1910,7 +1910,7 @@ const configuration = new Configuration();
|
|
|
1910
1910
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1911
1911
|
|
|
1912
1912
|
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
1913
|
-
let idempotencyKey: string;
|
|
1913
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
1914
1914
|
|
|
1915
1915
|
const { status, data } = await apiInstance.rotateWebhookSecret(
|
|
1916
1916
|
endpointId,
|
|
@@ -1923,7 +1923,7 @@ const { status, data } = await apiInstance.rotateWebhookSecret(
|
|
|
1923
1923
|
|Name | Type | Description | Notes|
|
|
1924
1924
|
|------------- | ------------- | ------------- | -------------|
|
|
1925
1925
|
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
1926
|
-
| **idempotencyKey** | [**string**] |
|
|
1926
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
1927
1927
|
|
|
1928
1928
|
|
|
1929
1929
|
### Return type
|
|
@@ -1943,23 +1943,23 @@ const { status, data } = await apiInstance.rotateWebhookSecret(
|
|
|
1943
1943
|
### HTTP response details
|
|
1944
1944
|
| Status code | Description | Response headers |
|
|
1945
1945
|
|-------------|-------------|------------------|
|
|
1946
|
-
|**200** | 시크릿 재발급 완료. `secret`
|
|
1947
|
-
|**400** | 입력 검증 실패(`
|
|
1948
|
-
|**401** | Bearer 토큰 없음(`
|
|
1949
|
-
|**403** | 키 미바인딩(`
|
|
1950
|
-
|**409** | 원 요청이
|
|
1951
|
-
|**422** |
|
|
1952
|
-
|**429** |
|
|
1953
|
-
|**500** | 서버 내부 오류(`
|
|
1954
|
-
|**502** |
|
|
1955
|
-
|**503** |
|
|
1946
|
+
|**200** | 시크릿 재발급 완료. `secret`은 이 응답에만 실립니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1947
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
1948
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
1949
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
1950
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
1951
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
1952
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
1953
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
1954
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
1955
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
1956
1956
|
|
|
1957
1957
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
1958
1958
|
|
|
1959
1959
|
# **sendWebhookTestEvent**
|
|
1960
1960
|
> SendWebhookTestEvent200Response sendWebhookTestEvent()
|
|
1961
1961
|
|
|
1962
|
-
등록된 주소로 `ping` 이벤트를
|
|
1962
|
+
등록된 주소로 `ping` 이벤트를 1회 보내고 결과를 돌려줍니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - 수신측이 받지 못해도 응답은 200이고 `delivered: false`입니다. 원인은 `responseStatus`와 `error`로 좁힙니다. - 실제 이벤트와 같은 서명 헤더가 실리므로 검증 코드를 그대로 시험할 수 있습니다. - 다시 보내려면 새 `Idempotency-Key`를 쓰세요. 같은 키는 24시간 동안 직전 결과를 돌려줍니다.
|
|
1963
1963
|
|
|
1964
1964
|
### Example
|
|
1965
1965
|
|
|
@@ -1973,7 +1973,7 @@ const configuration = new Configuration();
|
|
|
1973
1973
|
const apiInstance = new PartnerApiApi(configuration);
|
|
1974
1974
|
|
|
1975
1975
|
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
1976
|
-
let idempotencyKey: string;
|
|
1976
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
1977
1977
|
|
|
1978
1978
|
const { status, data } = await apiInstance.sendWebhookTestEvent(
|
|
1979
1979
|
endpointId,
|
|
@@ -1986,7 +1986,7 @@ const { status, data } = await apiInstance.sendWebhookTestEvent(
|
|
|
1986
1986
|
|Name | Type | Description | Notes|
|
|
1987
1987
|
|------------- | ------------- | ------------- | -------------|
|
|
1988
1988
|
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
1989
|
-
| **idempotencyKey** | [**string**] |
|
|
1989
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
1990
1990
|
|
|
1991
1991
|
|
|
1992
1992
|
### Return type
|
|
@@ -2006,23 +2006,23 @@ const { status, data } = await apiInstance.sendWebhookTestEvent(
|
|
|
2006
2006
|
### HTTP response details
|
|
2007
2007
|
| Status code | Description | Response headers |
|
|
2008
2008
|
|-------------|-------------|------------------|
|
|
2009
|
-
|**200** | 연결 확인 발송 결과. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
2010
|
-
|**400** | 입력 검증 실패(`
|
|
2011
|
-
|**401** | Bearer 토큰 없음(`
|
|
2012
|
-
|**403** | 키 미바인딩(`
|
|
2013
|
-
|**409** | 원 요청이
|
|
2014
|
-
|**422** |
|
|
2015
|
-
|**429** |
|
|
2016
|
-
|**500** | 서버 내부 오류(`
|
|
2017
|
-
|**502** |
|
|
2018
|
-
|**503** |
|
|
2009
|
+
|**200** | 연결 확인 발송 결과. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2010
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
2011
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
2012
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
2013
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
2014
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
2015
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2016
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
2017
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
2018
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
2019
2019
|
|
|
2020
2020
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
2021
2021
|
|
|
2022
2022
|
# **submitNegotiationScores**
|
|
2023
2023
|
> SubmitNegotiationScores201Response submitNegotiationScores(submitNegotiationScoresRequestDto)
|
|
2024
2024
|
|
|
2025
|
-
|
|
2025
|
+
협상 방식(`NEGOTIATION`, `NEGOTIATION_AUTO`) 공고의 응찰자별 점수를 입력합니다. 스코프 `awards:write` · `Idempotency-Key` 헤더 필수. - 입찰 마감 후 낙찰(`POST /v2/bids/{bidRef}/award`) 전에 호출합니다. 협상 방식 공고는 이 평가를 마쳐야 낙찰에 진입합니다. - `complete=true`면 평가완료로 처리되어 낙찰을 호출할 수 있습니다. - 발주기관은 API 키로 결정됩니다(`buyerId`를 보내지 않습니다).
|
|
2026
2026
|
|
|
2027
2027
|
### Example
|
|
2028
2028
|
|
|
@@ -2036,8 +2036,8 @@ import {
|
|
|
2036
2036
|
const configuration = new Configuration();
|
|
2037
2037
|
const apiInstance = new PartnerApiApi(configuration);
|
|
2038
2038
|
|
|
2039
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2040
|
-
let idempotencyKey: string;
|
|
2039
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
2040
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
2041
2041
|
let submitNegotiationScoresRequestDto: SubmitNegotiationScoresRequestDto; //
|
|
2042
2042
|
|
|
2043
2043
|
const { status, data } = await apiInstance.submitNegotiationScores(
|
|
@@ -2052,8 +2052,8 @@ const { status, data } = await apiInstance.submitNegotiationScores(
|
|
|
2052
2052
|
|Name | Type | Description | Notes|
|
|
2053
2053
|
|------------- | ------------- | ------------- | -------------|
|
|
2054
2054
|
| **submitNegotiationScoresRequestDto** | **SubmitNegotiationScoresRequestDto**| | |
|
|
2055
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2056
|
-
| **idempotencyKey** | [**string**] |
|
|
2055
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
2056
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
2057
2057
|
|
|
2058
2058
|
|
|
2059
2059
|
### Return type
|
|
@@ -2073,23 +2073,23 @@ const { status, data } = await apiInstance.submitNegotiationScores(
|
|
|
2073
2073
|
### HTTP response details
|
|
2074
2074
|
| Status code | Description | Response headers |
|
|
2075
2075
|
|-------------|-------------|------------------|
|
|
2076
|
-
|**201** | 협상 점수평가 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
2077
|
-
|**400** | 입력 검증 실패(`
|
|
2078
|
-
|**401** | Bearer 토큰 없음(`
|
|
2079
|
-
|**403** | 키 미바인딩(`
|
|
2080
|
-
|**409** | 원 요청이
|
|
2081
|
-
|**422** |
|
|
2082
|
-
|**429** |
|
|
2083
|
-
|**500** | 서버 내부 오류(`
|
|
2084
|
-
|**502** |
|
|
2085
|
-
|**503** |
|
|
2076
|
+
|**201** | 협상 점수평가 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2077
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
2078
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
2079
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
2080
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
2081
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
2082
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2083
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
2084
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
2085
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
2086
2086
|
|
|
2087
2087
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
2088
2088
|
|
|
2089
2089
|
# **updateBid**
|
|
2090
2090
|
> UpdateBid200Response updateBid(updateBidRequestDto)
|
|
2091
2091
|
|
|
2092
|
-
등록된 공고의 내용을 수정합니다. 스코프 `bids:write`
|
|
2092
|
+
등록된 공고의 내용을 수정합니다. 스코프 `bids:write` · `Idempotency-Key` 헤더 필수. - 진행중·초안 상태만 수정할 수 있습니다. 마감·취소된 공고는 거부됩니다. - 낙찰방법(`awardMethod`)은 수정할 수 없고, 참여자가 있으면 입찰방식·면허·예산·품목 일부가 잠깁니다. - 한 섹션을 수정하려면 그 섹션의 필수 필드를 함께 보냅니다. - `hideEditHistory=true`면 변경이력을 비공개로 남기고 노출 카운터를 올리지 않습니다.
|
|
2093
2093
|
|
|
2094
2094
|
### Example
|
|
2095
2095
|
|
|
@@ -2103,9 +2103,9 @@ import {
|
|
|
2103
2103
|
const configuration = new Configuration();
|
|
2104
2104
|
const apiInstance = new PartnerApiApi(configuration);
|
|
2105
2105
|
|
|
2106
|
-
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2107
|
-
let ifMatch: string; //수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412
|
|
2108
|
-
let idempotencyKey: string;
|
|
2106
|
+
let bidRef: string; //발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. (default to undefined)
|
|
2107
|
+
let ifMatch: string; //수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412로 거절되며 아무것도 수정되지 않습니다. (default to undefined)
|
|
2108
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
2109
2109
|
let updateBidRequestDto: UpdateBidRequestDto; //
|
|
2110
2110
|
|
|
2111
2111
|
const { status, data } = await apiInstance.updateBid(
|
|
@@ -2121,9 +2121,9 @@ const { status, data } = await apiInstance.updateBid(
|
|
|
2121
2121
|
|Name | Type | Description | Notes|
|
|
2122
2122
|
|------------- | ------------- | ------------- | -------------|
|
|
2123
2123
|
| **updateBidRequestDto** | **UpdateBidRequestDto**| | |
|
|
2124
|
-
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에
|
|
2125
|
-
| **ifMatch** | [**string**] | 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412
|
|
2126
|
-
| **idempotencyKey** | [**string**] |
|
|
2124
|
+
| **bidRef** | [**string**] | 발주기관 자체 구매번호(권장) 또는 c-market 공고번호. 구매번호는 키에 연결된 발주기관 범위에서 최신 라운드 공고로 해소됩니다. | defaults to undefined|
|
|
2125
|
+
| **ifMatch** | [**string**] | 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidRef}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412로 거절되며 아무것도 수정되지 않습니다. | defaults to undefined|
|
|
2126
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
2127
2127
|
|
|
2128
2128
|
|
|
2129
2129
|
### Return type
|
|
@@ -2143,25 +2143,25 @@ const { status, data } = await apiInstance.updateBid(
|
|
|
2143
2143
|
### HTTP response details
|
|
2144
2144
|
| Status code | Description | Response headers |
|
|
2145
2145
|
|-------------|-------------|------------------|
|
|
2146
|
-
|**200** | 공고 수정 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
2147
|
-
|**400** | 입력 검증 실패(`
|
|
2148
|
-
|**401** | Bearer 토큰 없음(`
|
|
2149
|
-
|**403** | 키 미바인딩(`
|
|
2150
|
-
|**409** | 원 요청이
|
|
2151
|
-
|**412** | `If-Match`
|
|
2152
|
-
|**422** |
|
|
2153
|
-
|**428** | `If-Match`
|
|
2154
|
-
|**429** |
|
|
2155
|
-
|**500** | 서버 내부 오류(`
|
|
2156
|
-
|**502** |
|
|
2157
|
-
|**503** |
|
|
2146
|
+
|**200** | 공고 수정 완료. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2147
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
2148
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
2149
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
2150
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
2151
|
+
|**412** | `If-Match` 값이 현재 리소스와 다름(`…/precondition-failed`). 다시 조회해 최신 `ETag`로 재시도합니다. | - |
|
|
2152
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
2153
|
+
|**428** | `If-Match` 헤더 누락(`…/if-match-required`). | - |
|
|
2154
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2155
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
2156
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
2157
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
2158
2158
|
|
|
2159
2159
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
2160
2160
|
|
|
2161
2161
|
# **updateWebhookEndpoint**
|
|
2162
2162
|
> GetWebhookEndpoint200Response updateWebhookEndpoint(updateWebhookEndpointRequestDto)
|
|
2163
2163
|
|
|
2164
|
-
수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다.
|
|
2164
|
+
수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. 스코프 `webhooks:write` · `Idempotency-Key` 헤더 필수. - `eventTypes`는 치환입니다. 하나를 더하려면 기존 목록을 포함한 전체를 보냅니다. - `If-Match`가 필수입니다. `GET`으로 받은 `ETag`를 그대로 실으세요. 누락은 428, 그 사이 구독이 바뀌었으면 412이며 아무것도 수정되지 않습니다. - 연속 실패로 자동 중지된 구독은 `{\"status\":\"ACTIVE\"}`로 되살립니다. - 시크릿은 이 경로로 바뀌지 않습니다. 재발급은 `rotate-secret`입니다.
|
|
2165
2165
|
|
|
2166
2166
|
### Example
|
|
2167
2167
|
|
|
@@ -2176,8 +2176,8 @@ const configuration = new Configuration();
|
|
|
2176
2176
|
const apiInstance = new PartnerApiApi(configuration);
|
|
2177
2177
|
|
|
2178
2178
|
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
2179
|
-
let ifMatch: string; //직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
2180
|
-
let idempotencyKey: string;
|
|
2179
|
+
let ifMatch: string; //직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다. (default to undefined)
|
|
2180
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
2181
2181
|
let updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto; //
|
|
2182
2182
|
|
|
2183
2183
|
const { status, data } = await apiInstance.updateWebhookEndpoint(
|
|
@@ -2194,8 +2194,8 @@ const { status, data } = await apiInstance.updateWebhookEndpoint(
|
|
|
2194
2194
|
|------------- | ------------- | ------------- | -------------|
|
|
2195
2195
|
| **updateWebhookEndpointRequestDto** | **UpdateWebhookEndpointRequestDto**| | |
|
|
2196
2196
|
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
2197
|
-
| **ifMatch** | [**string**] | 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412
|
|
2198
|
-
| **idempotencyKey** | [**string**] |
|
|
2197
|
+
| **ifMatch** | [**string**] | 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412로 거절되며 아무것도 변경되지 않습니다. | defaults to undefined|
|
|
2198
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
2199
2199
|
|
|
2200
2200
|
|
|
2201
2201
|
### Return type
|
|
@@ -2215,25 +2215,25 @@ const { status, data } = await apiInstance.updateWebhookEndpoint(
|
|
|
2215
2215
|
### HTTP response details
|
|
2216
2216
|
| Status code | Description | Response headers |
|
|
2217
2217
|
|-------------|-------------|------------------|
|
|
2218
|
-
|**200** | 수정된 웹훅 구독. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0
|
|
2219
|
-
|**400** | 입력 검증 실패(`
|
|
2220
|
-
|**401** | Bearer 토큰 없음(`
|
|
2221
|
-
|**403** | 키 미바인딩(`
|
|
2222
|
-
|**409** | 원 요청이
|
|
2223
|
-
|**412** | `If-Match`
|
|
2224
|
-
|**422** |
|
|
2225
|
-
|**428** | `If-Match`
|
|
2226
|
-
|**429** |
|
|
2227
|
-
|**500** | 서버 내부 오류(`
|
|
2228
|
-
|**502** |
|
|
2229
|
-
|**503** |
|
|
2218
|
+
|**200** | 수정된 웹훅 구독. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2219
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
2220
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
2221
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
2222
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
2223
|
+
|**412** | `If-Match` 값이 현재 리소스와 다름(`…/precondition-failed`). 다시 조회해 최신 `ETag`로 재시도합니다. | - |
|
|
2224
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
2225
|
+
|**428** | `If-Match` 헤더 누락(`…/if-match-required`). | - |
|
|
2226
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2227
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
2228
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
2229
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
2230
2230
|
|
|
2231
2231
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
2232
2232
|
|
|
2233
2233
|
# **uploadFile**
|
|
2234
2234
|
> UploadFile201Response uploadFile(uploadFileRequestDto)
|
|
2235
2235
|
|
|
2236
|
-
|
|
2236
|
+
공고 첨부파일을 올리고 `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`를 직접 넣어 이 호출을 생략할 수 있습니다.
|
|
2237
2237
|
|
|
2238
2238
|
### Example
|
|
2239
2239
|
|
|
@@ -2247,7 +2247,7 @@ import {
|
|
|
2247
2247
|
const configuration = new Configuration();
|
|
2248
2248
|
const apiInstance = new PartnerApiApi(configuration);
|
|
2249
2249
|
|
|
2250
|
-
let idempotencyKey: string;
|
|
2250
|
+
let idempotencyKey: string; //멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. (default to undefined)
|
|
2251
2251
|
let uploadFileRequestDto: UploadFileRequestDto; //
|
|
2252
2252
|
|
|
2253
2253
|
const { status, data } = await apiInstance.uploadFile(
|
|
@@ -2261,7 +2261,7 @@ const { status, data } = await apiInstance.uploadFile(
|
|
|
2261
2261
|
|Name | Type | Description | Notes|
|
|
2262
2262
|
|------------- | ------------- | ------------- | -------------|
|
|
2263
2263
|
| **uploadFileRequestDto** | **UploadFileRequestDto**| | |
|
|
2264
|
-
| **idempotencyKey** | [**string**] |
|
|
2264
|
+
| **idempotencyKey** | [**string**] | 멱등키(1~255자, `[A-Za-z0-9_-]`). **재시도할 때는 처음과 같은 키를 보내야** 중복 생성이 막힙니다. 타임아웃·네트워크 오류로 다시 부르면서 새 키를 만들면 별개 요청이 됩니다. UUID v4를 만들어 연동 시스템에 저장하거나, 요청 내용에서 결정적으로 파생하세요(예: `bid-create-{구매번호}`). 같은 키와 같은 body는 24시간 동안 캐시된 응답을 그대로 돌려줍니다. | defaults to undefined|
|
|
2265
2265
|
|
|
2266
2266
|
|
|
2267
2267
|
### Return type
|
|
@@ -2281,17 +2281,17 @@ const { status, data } = await apiInstance.uploadFile(
|
|
|
2281
2281
|
### HTTP response details
|
|
2282
2282
|
| Status code | Description | Response headers |
|
|
2283
2283
|
|-------------|-------------|------------------|
|
|
2284
|
-
|**201** | 업로드 완료. 받은 `fileKey`
|
|
2285
|
-
|**400** | 입력 검증 실패(`
|
|
2286
|
-
|**401** | Bearer 토큰 없음(`
|
|
2287
|
-
|**403** | 키 미바인딩(`
|
|
2288
|
-
|**409** | 원 요청이
|
|
2289
|
-
|**413** | 요청 본문 크기 초과(`
|
|
2290
|
-
|**422** |
|
|
2291
|
-
|**429** |
|
|
2292
|
-
|**500** | 서버 내부 오류(`
|
|
2293
|
-
|**502** |
|
|
2294
|
-
|**503** |
|
|
2284
|
+
|**201** | 업로드 완료. 받은 `fileKey`를 공고 등록·수정의 첨부 필드에 실으세요. 같은 파일을 여러 공고에 재사용할 수 있습니다. | * RateLimit - 현재 창의 잔여 쿼터(`r`)와 리셋까지 남은 초(`t`). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2285
|
+
|**400** | 입력 검증 실패(`…/validation-failed`), `Idempotency-Key` 누락·형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 요청 내용 오류(`…/upstream-invalid-input`). | - |
|
|
2286
|
+
|**401** | Bearer 토큰 없음(`…/missing-bearer-token`), 만료·위변조·폐기(`…/invalid-token`). | - |
|
|
2287
|
+
|**403** | 키 미바인딩(`…/unbound-partner-key`), IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), 대행 범위 밖(`…/buyer-scope-mismatch`), 권한 없음(`…/upstream-forbidden`). | - |
|
|
2288
|
+
|**409** | 같은 `Idempotency-Key`의 원 요청이 처리 중(`…/idempotency-key-conflict`), 또는 현재 상태와 충돌(`…/upstream-conflict`). 앞의 경우 잠시 후 같은 키로 재시도하면 결과를 받습니다. | - |
|
|
2289
|
+
|**413** | 요청 본문 크기 초과(`…/payload-too-large`). | - |
|
|
2290
|
+
|**422** | 같은 `Idempotency-Key`를 다른 body로 재전송(`…/idempotency-key-reused`), 또는 내용상 처리 불가(`…/upstream-unprocessable`). 재시도해도 같은 실패이므로 새 키를 쓰거나 body를 되돌립니다. | - |
|
|
2291
|
+
|**429** | 요청 한도 초과(`…/too-many-requests`). 한도는 `client_id`당 분당 60회. 대기 시간은 `Retry-After`(초), 잔여 쿼터는 `RateLimit`·`RateLimit-Policy` 헤더에 실립니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> * RateLimit - 현재 창의 잔여 쿼터. 예: `\"default\";r=0;t=42`. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(`q` 요청 수 / `w` 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
|
|
2292
|
+
|**500** | 서버 내부 오류(`…/internal-server-error`). `retryable: true`. | - |
|
|
2293
|
+
|**502** | 요청 처리 실패(`…/upstream-rejected`). `retryable: true`. | - |
|
|
2294
|
+
|**503** | 일시적 처리 불가(`…/service-unavailable`). `Retry-After` 헤더를 따릅니다. `retryable: true`. | * Retry-After - 재시도까지 대기할 초. <br> |
|
|
2295
2295
|
|
|
2296
2296
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
2297
2297
|
|