@cmarket/partner-sdk 25.2.0 → 31.1.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 +81 -18
- package/api/oauth-api.ts +75 -2
- package/api/partner-v1-api.ts +14 -14
- package/api/partner-v2-api.ts +1593 -258
- package/api/well-known-api.ts +2 -2
- package/api.ts +2 -2
- package/base.ts +2 -2
- package/common.ts +2 -2
- package/configuration.ts +2 -2
- package/dist/api/oauth-api.d.ts +36 -2
- package/dist/api/oauth-api.js +69 -2
- package/dist/api/partner-v1-api.d.ts +2 -2
- package/dist/api/partner-v1-api.js +14 -14
- package/dist/api/partner-v2-api.d.ts +763 -171
- package/dist/api/partner-v2-api.js +1500 -250
- package/dist/api/well-known-api.d.ts +2 -2
- package/dist/api/well-known-api.js +2 -2
- 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/oauth-api.d.ts +36 -2
- package/dist/esm/api/oauth-api.js +69 -2
- package/dist/esm/api/partner-v1-api.d.ts +2 -2
- package/dist/esm/api/partner-v1-api.js +14 -14
- package/dist/esm/api/partner-v2-api.d.ts +763 -171
- package/dist/esm/api/partner-v2-api.js +1500 -250
- package/dist/esm/api/well-known-api.d.ts +2 -2
- package/dist/esm/api/well-known-api.js +2 -2
- 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/acceptance-result-v1-response-dto.d.ts +2 -2
- package/dist/esm/models/acceptance-result-v1-response-dto.js +2 -2
- package/dist/esm/models/acceptance-status-response-dto.d.ts +33 -0
- package/dist/esm/models/acceptance-status-response-dto.js +14 -0
- package/dist/esm/models/acknowledge-product-receipt200-response.d.ts +21 -0
- package/dist/esm/models/acknowledge-product-receipt200-response.js +14 -0
- package/dist/esm/models/acknowledge-products-request-dto.d.ts +17 -0
- package/dist/esm/models/acknowledge-products-request-dto.js +14 -0
- package/dist/esm/models/acknowledge-products-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/acknowledge-products-v1-request-dto.js +2 -2
- package/dist/esm/models/authorization-server-metadata-dto.d.ts +6 -2
- 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-response-dto.d.ts +2 -2
- package/dist/esm/models/award-registered-response-dto.js +2 -2
- package/dist/esm/models/award-registered-v2-response-dto.d.ts +2 -2
- package/dist/esm/models/award-registered-v2-response-dto.js +2 -2
- package/dist/esm/models/award-reverted-v2-response-dto.d.ts +25 -0
- package/dist/esm/models/award-reverted-v2-response-dto.js +16 -0
- package/dist/esm/models/bid-attachment-v1-dto.d.ts +2 -2
- package/dist/esm/models/bid-attachment-v1-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-bond-v1-dto.d.ts +2 -2
- package/dist/esm/models/bid-bond-v1-dto.js +2 -2
- package/dist/esm/models/bid-cancelled-response-dto.d.ts +25 -0
- package/dist/esm/models/bid-cancelled-response-dto.js +16 -0
- 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 +60 -0
- package/dist/esm/models/bid-contract-document-dto.js +19 -0
- package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/bid-contract-documents-batch-v1-request-dto.js +2 -2
- package/dist/esm/models/bid-contract-documents-v1-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-contract-documents-v1-response-dto.js +2 -2
- package/dist/esm/models/bid-created-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-created-response-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 +2 -2
- 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-document-v1-dto.d.ts +2 -2
- package/dist/esm/models/bid-document-v1-dto.js +2 -2
- package/dist/esm/models/bid-failed-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-failed-response-dto.js +2 -2
- package/dist/esm/models/bid-failed-v2-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-failed-v2-response-dto.js +2 -2
- package/dist/esm/models/bid-failure-reason.d.ts +2 -2
- package/dist/esm/models/bid-failure-reason.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-item-v1-dto.d.ts +2 -2
- package/dist/esm/models/bid-item-v1-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-manager-v1-dto.d.ts +2 -2
- package/dist/esm/models/bid-manager-v1-dto.js +2 -2
- package/dist/esm/models/bid-participant-summary-dto.d.ts +2 -2
- package/dist/esm/models/bid-participant-summary-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-published-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-published-response-dto.js +2 -2
- package/dist/esm/models/bid-registered-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-registered-response-dto.js +2 -2
- package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +2 -2
- package/dist/esm/models/bid-result-participant-attachment-dto.js +2 -2
- package/dist/esm/models/bid-result-participant-dto.d.ts +2 -2
- package/dist/esm/models/bid-result-participant-dto.js +2 -2
- package/dist/esm/models/bid-result-v1-attachment-dto.d.ts +2 -2
- package/dist/esm/models/bid-result-v1-attachment-dto.js +2 -2
- package/dist/esm/models/bid-result-v1-bid-product-info-dto.d.ts +2 -2
- package/dist/esm/models/bid-result-v1-bid-product-info-dto.js +2 -2
- package/dist/esm/models/bid-result-v1-participant-dto.d.ts +2 -2
- package/dist/esm/models/bid-result-v1-participant-dto.js +2 -2
- package/dist/esm/models/bid-result-v1-product-dto.d.ts +2 -2
- package/dist/esm/models/bid-result-v1-product-dto.js +2 -2
- package/dist/esm/models/bid-results-batch-request-dto.d.ts +17 -0
- package/dist/esm/models/bid-results-batch-request-dto.js +14 -0
- package/dist/esm/models/bid-results-batch-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/bid-results-batch-v1-request-dto.js +2 -2
- package/dist/esm/models/bid-results-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-results-response-dto.js +2 -2
- package/dist/esm/models/bid-results-v1-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-results-v1-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-statement-v1-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-statement-v1-response-dto.js +2 -2
- package/dist/esm/models/bid-status.d.ts +2 -2
- package/dist/esm/models/bid-status.js +2 -2
- package/dist/esm/models/bid-summary-dto.d.ts +2 -2
- package/dist/esm/models/bid-summary-dto.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 +17 -0
- package/dist/esm/models/cancel-bid-request-dto.js +14 -0
- package/dist/esm/models/cancel-bid200-response.d.ts +21 -0
- package/dist/esm/models/cancel-bid200-response.js +14 -0
- 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 +2 -2
- package/dist/esm/models/complete-acceptance-request-dto.js +2 -2
- package/dist/esm/models/complete-acceptance-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/complete-acceptance-v1-request-dto.js +2 -2
- package/dist/esm/models/complete-acceptance200-response.d.ts +21 -0
- package/dist/esm/models/complete-acceptance200-response.js +14 -0
- package/dist/esm/models/complete-invoice200-response.d.ts +21 -0
- package/dist/esm/models/complete-invoice200-response.js +14 -0
- package/dist/esm/models/contract-document-item-dto.d.ts +2 -2
- package/dist/esm/models/contract-document-item-dto.js +2 -2
- package/dist/esm/models/contract-documents-regenerated-response-dto.d.ts +2 -2
- package/dist/esm/models/contract-documents-regenerated-response-dto.js +2 -2
- package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +2 -2
- package/dist/esm/models/contract-restriction-confirm-input-dto.js +2 -2
- package/dist/esm/models/create-bid-request-dto.d.ts +2 -2
- package/dist/esm/models/create-bid-request-dto.js +2 -2
- package/dist/esm/models/create-bid-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/create-bid-v1-request-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 +21 -0
- package/dist/esm/models/create-card-payment200-response.js +14 -0
- package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +2 -2
- 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-webhook-endpoint-request-dto.d.ts +22 -0
- package/dist/esm/models/create-webhook-endpoint-request-dto.js +14 -0
- package/dist/esm/models/create-webhook-endpoint201-response.d.ts +21 -0
- package/dist/esm/models/create-webhook-endpoint201-response.js +14 -0
- package/dist/esm/models/external-contract-document-item-dto.d.ts +2 -2
- 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 +2 -2
- 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 +33 -0
- package/dist/esm/models/file-meta-response-dto.js +14 -0
- 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/file-uploaded-v1-response-dto.d.ts +2 -2
- package/dist/esm/models/file-uploaded-v1-response-dto.js +2 -2
- package/dist/esm/models/generated-external-contract-document-dto.d.ts +2 -2
- package/dist/esm/models/generated-external-contract-document-dto.js +2 -2
- package/dist/esm/models/get-bid-acceptance200-response.d.ts +21 -0
- package/dist/esm/models/get-bid-acceptance200-response.js +14 -0
- package/dist/esm/models/get-bid-results200-response.d.ts +21 -0
- package/dist/esm/models/get-bid-results200-response.js +14 -0
- package/dist/esm/models/get-bid-settlement200-response.d.ts +21 -0
- package/dist/esm/models/get-bid-settlement200-response.js +14 -0
- package/dist/esm/models/get-bid-statement200-response.d.ts +21 -0
- package/dist/esm/models/get-bid-statement200-response.js +14 -0
- package/dist/esm/models/get-bid200-response.d.ts +21 -0
- package/dist/esm/models/get-bid200-response.js +14 -0
- package/dist/esm/models/get-file-meta200-response.d.ts +21 -0
- package/dist/esm/models/get-file-meta200-response.js +14 -0
- package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +21 -0
- package/dist/esm/models/get-supplier-card-payable-v2200-response.js +14 -0
- package/dist/esm/models/get-webhook-endpoint200-response.d.ts +21 -0
- package/dist/esm/models/get-webhook-endpoint200-response.js +14 -0
- package/dist/esm/models/health-controller-check200-response.d.ts +21 -0
- package/dist/esm/models/health-controller-check200-response.js +14 -0
- 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/hierarchical-region-v1-dto.d.ts +2 -2
- package/dist/esm/models/hierarchical-region-v1-dto.js +2 -2
- package/dist/esm/models/index.d.ts +54 -8
- package/dist/esm/models/index.js +54 -8
- package/dist/esm/models/introspect-request-dto.d.ts +46 -0
- package/dist/esm/models/introspect-request-dto.js +20 -0
- package/dist/esm/models/introspection-response-dto.d.ts +45 -0
- package/dist/esm/models/introspection-response-dto.js +14 -0
- 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/list-bid-contract-documents200-response.d.ts +21 -0
- package/dist/esm/models/list-bid-contract-documents200-response.js +14 -0
- package/dist/esm/models/list-bid-participants200-response.d.ts +21 -0
- package/dist/esm/models/list-bid-participants200-response.js +14 -0
- package/dist/esm/models/list-bid-results200-response.d.ts +21 -0
- package/dist/esm/models/list-bid-results200-response.js +14 -0
- package/dist/esm/models/list-bids-response-dto.d.ts +2 -2
- package/dist/esm/models/list-bids-response-dto.js +2 -2
- package/dist/esm/models/list-bids200-response.d.ts +21 -0
- package/dist/esm/models/list-bids200-response.js +14 -0
- package/dist/esm/models/list-products200-response.d.ts +21 -0
- package/dist/esm/models/list-products200-response.js +14 -0
- package/dist/esm/models/list-webhook-deliveries-response-dto.d.ts +22 -0
- package/dist/esm/models/list-webhook-deliveries-response-dto.js +14 -0
- package/dist/esm/models/list-webhook-deliveries200-response.d.ts +21 -0
- package/dist/esm/models/list-webhook-deliveries200-response.js +14 -0
- package/dist/esm/models/list-webhook-endpoints200-response.d.ts +21 -0
- package/dist/esm/models/list-webhook-endpoints200-response.js +14 -0
- 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-failed-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/mark-bid-failed-v1-request-dto.js +2 -2
- package/dist/esm/models/mark-bid-failed201-response.d.ts +21 -0
- package/dist/esm/models/mark-bid-failed201-response.js +14 -0
- package/dist/esm/models/negotiation-score-v1-dto.d.ts +2 -2
- package/dist/esm/models/negotiation-score-v1-dto.js +2 -2
- package/dist/esm/models/negotiation-scored-response-dto.d.ts +2 -2
- package/dist/esm/models/negotiation-scored-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/partner-webhook-delivery-status.d.ts +18 -0
- package/dist/esm/models/partner-webhook-delivery-status.js +19 -0
- package/dist/esm/models/partner-webhook-endpoint-status.d.ts +19 -0
- package/dist/esm/models/partner-webhook-endpoint-status.js +20 -0
- package/dist/esm/models/partner-webhook-event-type.d.ts +22 -0
- package/dist/esm/models/partner-webhook-event-type.js +23 -0
- package/dist/esm/models/preconditions-dto.d.ts +2 -2
- package/dist/esm/models/preconditions-dto.js +2 -2
- package/dist/esm/models/preconditions-v1-dto.d.ts +2 -2
- package/dist/esm/models/preconditions-v1-dto.js +2 -2
- package/dist/esm/models/problem-details-dto.d.ts +7 -3
- package/dist/esm/models/problem-details-dto.js +2 -2
- package/dist/esm/models/product-receipt-response-dto.d.ts +17 -0
- package/dist/esm/models/product-receipt-response-dto.js +14 -0
- package/dist/esm/models/product-receipt-v1-response-dto.d.ts +2 -2
- package/dist/esm/models/product-receipt-v1-response-dto.js +2 -2
- package/dist/esm/models/product-response-dto.d.ts +77 -0
- package/dist/esm/models/product-response-dto.js +14 -0
- package/dist/esm/models/product-v1-response-dto.d.ts +2 -2
- package/dist/esm/models/product-v1-response-dto.js +2 -2
- package/dist/esm/models/protected-resource-metadata-dto.d.ts +2 -2
- package/dist/esm/models/protected-resource-metadata-dto.js +2 -2
- package/dist/esm/models/publish-bid200-response.d.ts +21 -0
- package/dist/esm/models/publish-bid200-response.js +14 -0
- package/dist/esm/models/regenerate-contract-documents201-response.d.ts +21 -0
- package/dist/esm/models/regenerate-contract-documents201-response.js +14 -0
- package/dist/esm/models/register-award-request-dto.d.ts +2 -2
- package/dist/esm/models/register-award-request-dto.js +2 -2
- package/dist/esm/models/register-award-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/register-award-v1-request-dto.js +2 -2
- package/dist/esm/models/register-award201-response.d.ts +21 -0
- package/dist/esm/models/register-award201-response.js +14 -0
- package/dist/esm/models/register-bid201-response.d.ts +21 -0
- package/dist/esm/models/register-bid201-response.js +14 -0
- package/dist/esm/models/register-semo-contract-request-dto.d.ts +2 -2
- package/dist/esm/models/register-semo-contract-request-dto.js +2 -2
- package/dist/esm/models/request-split-invoice-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/request-split-invoice-v1-request-dto.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 +17 -0
- package/dist/esm/models/revert-award-request-dto.js +14 -0
- package/dist/esm/models/revert-award200-response.d.ts +21 -0
- package/dist/esm/models/revert-award200-response.js +14 -0
- package/dist/esm/models/revoke-request-dto.d.ts +2 -2
- package/dist/esm/models/revoke-request-dto.js +2 -2
- package/dist/esm/models/semo-contract-registered-response-dto.d.ts +2 -2
- 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 +21 -0
- package/dist/esm/models/send-webhook-test-event200-response.js +14 -0
- package/dist/esm/models/split-invoice-v1-response-dto.d.ts +2 -2
- package/dist/esm/models/split-invoice-v1-response-dto.js +2 -2
- package/dist/esm/models/statement-document-dto.d.ts +2 -2
- 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/statement-v1-document-dto.d.ts +2 -2
- package/dist/esm/models/statement-v1-document-dto.js +2 -2
- package/dist/esm/models/statement-v1-product-dto.d.ts +2 -2
- package/dist/esm/models/statement-v1-product-dto.js +2 -2
- package/dist/esm/models/submit-negotiation-scores-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/submit-negotiation-scores-v1-request-dto.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 +2 -2
- package/dist/esm/models/token-request-dto.js +2 -2
- package/dist/esm/models/token-response-dto.d.ts +2 -2
- package/dist/esm/models/token-response-dto.js +2 -2
- package/dist/esm/models/update-bid-request-dto.d.ts +2 -2
- package/dist/esm/models/update-bid-request-dto.js +2 -2
- package/dist/esm/models/update-bid200-response.d.ts +21 -0
- package/dist/esm/models/update-bid200-response.js +14 -0
- package/dist/esm/models/update-webhook-endpoint-request-dto.d.ts +27 -0
- package/dist/esm/models/update-webhook-endpoint-request-dto.js +14 -0
- package/dist/esm/models/upload-file-request-dto.d.ts +2 -2
- package/dist/esm/models/upload-file-request-dto.js +2 -2
- package/dist/esm/models/upload-file-v1-request-dto.d.ts +2 -2
- package/dist/esm/models/upload-file-v1-request-dto.js +2 -2
- package/dist/esm/models/upload-file201-response.d.ts +21 -0
- package/dist/esm/models/upload-file201-response.js +14 -0
- package/dist/esm/models/webhook-delivery-dto.d.ts +73 -0
- package/dist/esm/models/webhook-delivery-dto.js +21 -0
- package/dist/esm/models/webhook-endpoint-dto.d.ts +55 -0
- package/dist/esm/models/webhook-endpoint-dto.js +14 -0
- package/dist/esm/models/webhook-endpoint-with-secret-dto.d.ts +59 -0
- package/dist/esm/models/webhook-endpoint-with-secret-dto.js +14 -0
- package/dist/esm/models/webhook-test-result-dto.d.ts +25 -0
- package/dist/esm/models/webhook-test-result-dto.js +14 -0
- 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/acceptance-result-v1-response-dto.d.ts +2 -2
- package/dist/models/acceptance-result-v1-response-dto.js +2 -2
- package/dist/models/acceptance-status-response-dto.d.ts +33 -0
- package/dist/models/acceptance-status-response-dto.js +15 -0
- package/dist/models/acknowledge-product-receipt200-response.d.ts +21 -0
- package/dist/models/acknowledge-product-receipt200-response.js +15 -0
- package/dist/models/acknowledge-products-request-dto.d.ts +17 -0
- package/dist/models/acknowledge-products-request-dto.js +15 -0
- package/dist/models/acknowledge-products-v1-request-dto.d.ts +2 -2
- package/dist/models/acknowledge-products-v1-request-dto.js +2 -2
- package/dist/models/authorization-server-metadata-dto.d.ts +6 -2
- 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-response-dto.d.ts +2 -2
- package/dist/models/award-registered-response-dto.js +2 -2
- package/dist/models/award-registered-v2-response-dto.d.ts +2 -2
- package/dist/models/award-registered-v2-response-dto.js +2 -2
- package/dist/models/award-reverted-v2-response-dto.d.ts +25 -0
- package/dist/models/award-reverted-v2-response-dto.js +19 -0
- package/dist/models/bid-attachment-v1-dto.d.ts +2 -2
- package/dist/models/bid-attachment-v1-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-bond-v1-dto.d.ts +2 -2
- package/dist/models/bid-bond-v1-dto.js +2 -2
- package/dist/models/bid-cancelled-response-dto.d.ts +25 -0
- package/dist/models/bid-cancelled-response-dto.js +19 -0
- 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 +60 -0
- package/dist/models/bid-contract-document-dto.js +22 -0
- package/dist/models/bid-contract-documents-batch-v1-request-dto.d.ts +2 -2
- package/dist/models/bid-contract-documents-batch-v1-request-dto.js +2 -2
- package/dist/models/bid-contract-documents-v1-response-dto.d.ts +2 -2
- package/dist/models/bid-contract-documents-v1-response-dto.js +2 -2
- package/dist/models/bid-created-response-dto.d.ts +2 -2
- package/dist/models/bid-created-response-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 +2 -2
- 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-document-v1-dto.d.ts +2 -2
- package/dist/models/bid-document-v1-dto.js +2 -2
- package/dist/models/bid-failed-response-dto.d.ts +2 -2
- package/dist/models/bid-failed-response-dto.js +2 -2
- package/dist/models/bid-failed-v2-response-dto.d.ts +2 -2
- package/dist/models/bid-failed-v2-response-dto.js +2 -2
- package/dist/models/bid-failure-reason.d.ts +2 -2
- package/dist/models/bid-failure-reason.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-item-v1-dto.d.ts +2 -2
- package/dist/models/bid-item-v1-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-manager-v1-dto.d.ts +2 -2
- package/dist/models/bid-manager-v1-dto.js +2 -2
- package/dist/models/bid-participant-summary-dto.d.ts +2 -2
- package/dist/models/bid-participant-summary-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-published-response-dto.d.ts +2 -2
- package/dist/models/bid-published-response-dto.js +2 -2
- package/dist/models/bid-registered-response-dto.d.ts +2 -2
- package/dist/models/bid-registered-response-dto.js +2 -2
- package/dist/models/bid-result-participant-attachment-dto.d.ts +2 -2
- package/dist/models/bid-result-participant-attachment-dto.js +2 -2
- package/dist/models/bid-result-participant-dto.d.ts +2 -2
- package/dist/models/bid-result-participant-dto.js +2 -2
- package/dist/models/bid-result-v1-attachment-dto.d.ts +2 -2
- package/dist/models/bid-result-v1-attachment-dto.js +2 -2
- package/dist/models/bid-result-v1-bid-product-info-dto.d.ts +2 -2
- package/dist/models/bid-result-v1-bid-product-info-dto.js +2 -2
- package/dist/models/bid-result-v1-participant-dto.d.ts +2 -2
- package/dist/models/bid-result-v1-participant-dto.js +2 -2
- package/dist/models/bid-result-v1-product-dto.d.ts +2 -2
- package/dist/models/bid-result-v1-product-dto.js +2 -2
- package/dist/models/bid-results-batch-request-dto.d.ts +17 -0
- package/dist/models/bid-results-batch-request-dto.js +15 -0
- package/dist/models/bid-results-batch-v1-request-dto.d.ts +2 -2
- package/dist/models/bid-results-batch-v1-request-dto.js +2 -2
- package/dist/models/bid-results-response-dto.d.ts +2 -2
- package/dist/models/bid-results-response-dto.js +2 -2
- package/dist/models/bid-results-v1-response-dto.d.ts +2 -2
- package/dist/models/bid-results-v1-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-statement-v1-response-dto.d.ts +2 -2
- package/dist/models/bid-statement-v1-response-dto.js +2 -2
- package/dist/models/bid-status.d.ts +2 -2
- package/dist/models/bid-status.js +2 -2
- package/dist/models/bid-summary-dto.d.ts +2 -2
- package/dist/models/bid-summary-dto.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 +17 -0
- package/dist/models/cancel-bid-request-dto.js +15 -0
- package/dist/models/cancel-bid200-response.d.ts +21 -0
- package/dist/models/cancel-bid200-response.js +15 -0
- 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 +2 -2
- package/dist/models/complete-acceptance-request-dto.js +2 -2
- package/dist/models/complete-acceptance-v1-request-dto.d.ts +2 -2
- package/dist/models/complete-acceptance-v1-request-dto.js +2 -2
- package/dist/models/complete-acceptance200-response.d.ts +21 -0
- package/dist/models/complete-acceptance200-response.js +15 -0
- package/dist/models/complete-invoice200-response.d.ts +21 -0
- package/dist/models/complete-invoice200-response.js +15 -0
- package/dist/models/contract-document-item-dto.d.ts +2 -2
- package/dist/models/contract-document-item-dto.js +2 -2
- package/dist/models/contract-documents-regenerated-response-dto.d.ts +2 -2
- package/dist/models/contract-documents-regenerated-response-dto.js +2 -2
- package/dist/models/contract-restriction-confirm-input-dto.d.ts +2 -2
- package/dist/models/contract-restriction-confirm-input-dto.js +2 -2
- package/dist/models/create-bid-request-dto.d.ts +2 -2
- package/dist/models/create-bid-request-dto.js +2 -2
- package/dist/models/create-bid-v1-request-dto.d.ts +2 -2
- package/dist/models/create-bid-v1-request-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 +21 -0
- package/dist/models/create-card-payment200-response.js +15 -0
- package/dist/models/create-external-contract-documents-request-dto.d.ts +2 -2
- 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-webhook-endpoint-request-dto.d.ts +22 -0
- package/dist/models/create-webhook-endpoint-request-dto.js +15 -0
- package/dist/models/create-webhook-endpoint201-response.d.ts +21 -0
- package/dist/models/create-webhook-endpoint201-response.js +15 -0
- package/dist/models/external-contract-document-item-dto.d.ts +2 -2
- 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 +2 -2
- 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 +33 -0
- package/dist/models/file-meta-response-dto.js +15 -0
- package/dist/models/file-uploaded-response-dto.d.ts +2 -2
- package/dist/models/file-uploaded-response-dto.js +2 -2
- package/dist/models/file-uploaded-v1-response-dto.d.ts +2 -2
- package/dist/models/file-uploaded-v1-response-dto.js +2 -2
- package/dist/models/generated-external-contract-document-dto.d.ts +2 -2
- package/dist/models/generated-external-contract-document-dto.js +2 -2
- package/dist/models/get-bid-acceptance200-response.d.ts +21 -0
- package/dist/models/get-bid-acceptance200-response.js +15 -0
- package/dist/models/get-bid-results200-response.d.ts +21 -0
- package/dist/models/get-bid-results200-response.js +15 -0
- package/dist/models/get-bid-settlement200-response.d.ts +21 -0
- package/dist/models/get-bid-settlement200-response.js +15 -0
- package/dist/models/get-bid-statement200-response.d.ts +21 -0
- package/dist/models/get-bid-statement200-response.js +15 -0
- package/dist/models/get-bid200-response.d.ts +21 -0
- package/dist/models/get-bid200-response.js +15 -0
- package/dist/models/get-file-meta200-response.d.ts +21 -0
- package/dist/models/get-file-meta200-response.js +15 -0
- package/dist/models/get-supplier-card-payable-v2200-response.d.ts +21 -0
- package/dist/models/get-supplier-card-payable-v2200-response.js +15 -0
- package/dist/models/get-webhook-endpoint200-response.d.ts +21 -0
- package/dist/models/get-webhook-endpoint200-response.js +15 -0
- package/dist/models/health-controller-check200-response.d.ts +21 -0
- package/dist/models/health-controller-check200-response.js +15 -0
- 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/hierarchical-region-v1-dto.d.ts +2 -2
- package/dist/models/hierarchical-region-v1-dto.js +2 -2
- package/dist/models/index.d.ts +54 -8
- package/dist/models/index.js +54 -8
- package/dist/models/introspect-request-dto.d.ts +46 -0
- package/dist/models/introspect-request-dto.js +23 -0
- package/dist/models/introspection-response-dto.d.ts +45 -0
- package/dist/models/introspection-response-dto.js +15 -0
- 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/list-bid-contract-documents200-response.d.ts +21 -0
- package/dist/models/list-bid-contract-documents200-response.js +15 -0
- package/dist/models/list-bid-participants200-response.d.ts +21 -0
- package/dist/models/list-bid-participants200-response.js +15 -0
- package/dist/models/list-bid-results200-response.d.ts +21 -0
- package/dist/models/list-bid-results200-response.js +15 -0
- package/dist/models/list-bids-response-dto.d.ts +2 -2
- package/dist/models/list-bids-response-dto.js +2 -2
- package/dist/models/list-bids200-response.d.ts +21 -0
- package/dist/models/list-bids200-response.js +15 -0
- package/dist/models/list-products200-response.d.ts +21 -0
- package/dist/models/list-products200-response.js +15 -0
- package/dist/models/list-webhook-deliveries-response-dto.d.ts +22 -0
- package/dist/models/list-webhook-deliveries-response-dto.js +15 -0
- package/dist/models/list-webhook-deliveries200-response.d.ts +21 -0
- package/dist/models/list-webhook-deliveries200-response.js +15 -0
- package/dist/models/list-webhook-endpoints200-response.d.ts +21 -0
- package/dist/models/list-webhook-endpoints200-response.js +15 -0
- 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-failed-v1-request-dto.d.ts +2 -2
- package/dist/models/mark-bid-failed-v1-request-dto.js +2 -2
- package/dist/models/mark-bid-failed201-response.d.ts +21 -0
- package/dist/models/mark-bid-failed201-response.js +15 -0
- package/dist/models/negotiation-score-v1-dto.d.ts +2 -2
- package/dist/models/negotiation-score-v1-dto.js +2 -2
- package/dist/models/negotiation-scored-response-dto.d.ts +2 -2
- package/dist/models/negotiation-scored-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/partner-webhook-delivery-status.d.ts +18 -0
- package/dist/models/partner-webhook-delivery-status.js +22 -0
- package/dist/models/partner-webhook-endpoint-status.d.ts +19 -0
- package/dist/models/partner-webhook-endpoint-status.js +23 -0
- package/dist/models/partner-webhook-event-type.d.ts +22 -0
- package/dist/models/partner-webhook-event-type.js +26 -0
- package/dist/models/preconditions-dto.d.ts +2 -2
- package/dist/models/preconditions-dto.js +2 -2
- package/dist/models/preconditions-v1-dto.d.ts +2 -2
- package/dist/models/preconditions-v1-dto.js +2 -2
- package/dist/models/problem-details-dto.d.ts +7 -3
- package/dist/models/problem-details-dto.js +2 -2
- package/dist/models/product-receipt-response-dto.d.ts +17 -0
- package/dist/models/product-receipt-response-dto.js +15 -0
- package/dist/models/product-receipt-v1-response-dto.d.ts +2 -2
- package/dist/models/product-receipt-v1-response-dto.js +2 -2
- package/dist/models/product-response-dto.d.ts +77 -0
- package/dist/models/product-response-dto.js +15 -0
- package/dist/models/product-v1-response-dto.d.ts +2 -2
- package/dist/models/product-v1-response-dto.js +2 -2
- package/dist/models/protected-resource-metadata-dto.d.ts +2 -2
- package/dist/models/protected-resource-metadata-dto.js +2 -2
- package/dist/models/publish-bid200-response.d.ts +21 -0
- package/dist/models/publish-bid200-response.js +15 -0
- package/dist/models/regenerate-contract-documents201-response.d.ts +21 -0
- package/dist/models/regenerate-contract-documents201-response.js +15 -0
- package/dist/models/register-award-request-dto.d.ts +2 -2
- package/dist/models/register-award-request-dto.js +2 -2
- package/dist/models/register-award-v1-request-dto.d.ts +2 -2
- package/dist/models/register-award-v1-request-dto.js +2 -2
- package/dist/models/register-award201-response.d.ts +21 -0
- package/dist/models/register-award201-response.js +15 -0
- package/dist/models/register-bid201-response.d.ts +21 -0
- package/dist/models/register-bid201-response.js +15 -0
- package/dist/models/register-semo-contract-request-dto.d.ts +2 -2
- package/dist/models/register-semo-contract-request-dto.js +2 -2
- package/dist/models/request-split-invoice-v1-request-dto.d.ts +2 -2
- package/dist/models/request-split-invoice-v1-request-dto.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 +17 -0
- package/dist/models/revert-award-request-dto.js +15 -0
- package/dist/models/revert-award200-response.d.ts +21 -0
- package/dist/models/revert-award200-response.js +15 -0
- package/dist/models/revoke-request-dto.d.ts +2 -2
- package/dist/models/revoke-request-dto.js +2 -2
- package/dist/models/semo-contract-registered-response-dto.d.ts +2 -2
- 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 +21 -0
- package/dist/models/send-webhook-test-event200-response.js +15 -0
- package/dist/models/split-invoice-v1-response-dto.d.ts +2 -2
- package/dist/models/split-invoice-v1-response-dto.js +2 -2
- package/dist/models/statement-document-dto.d.ts +2 -2
- 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/statement-v1-document-dto.d.ts +2 -2
- package/dist/models/statement-v1-document-dto.js +2 -2
- package/dist/models/statement-v1-product-dto.d.ts +2 -2
- package/dist/models/statement-v1-product-dto.js +2 -2
- package/dist/models/submit-negotiation-scores-v1-request-dto.d.ts +2 -2
- package/dist/models/submit-negotiation-scores-v1-request-dto.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 +2 -2
- package/dist/models/token-request-dto.js +2 -2
- package/dist/models/token-response-dto.d.ts +2 -2
- package/dist/models/token-response-dto.js +2 -2
- package/dist/models/update-bid-request-dto.d.ts +2 -2
- package/dist/models/update-bid-request-dto.js +2 -2
- package/dist/models/update-bid200-response.d.ts +21 -0
- package/dist/models/update-bid200-response.js +15 -0
- package/dist/models/update-webhook-endpoint-request-dto.d.ts +27 -0
- package/dist/models/update-webhook-endpoint-request-dto.js +15 -0
- package/dist/models/upload-file-request-dto.d.ts +2 -2
- package/dist/models/upload-file-request-dto.js +2 -2
- package/dist/models/upload-file-v1-request-dto.d.ts +2 -2
- package/dist/models/upload-file-v1-request-dto.js +2 -2
- package/dist/models/upload-file201-response.d.ts +21 -0
- package/dist/models/upload-file201-response.js +15 -0
- package/dist/models/webhook-delivery-dto.d.ts +73 -0
- package/dist/models/webhook-delivery-dto.js +24 -0
- package/dist/models/webhook-endpoint-dto.d.ts +55 -0
- package/dist/models/webhook-endpoint-dto.js +15 -0
- package/dist/models/webhook-endpoint-with-secret-dto.d.ts +59 -0
- package/dist/models/webhook-endpoint-with-secret-dto.js +15 -0
- package/dist/models/webhook-test-result-dto.d.ts +25 -0
- package/dist/models/webhook-test-result-dto.js +15 -0
- package/docs/AcceptanceStatusResponseDto.md +28 -0
- package/docs/AcknowledgeProductReceipt200Response.md +22 -0
- package/docs/AcknowledgeProductsRequestDto.md +20 -0
- package/docs/AuthorizationServerMetadataDto.md +2 -0
- package/docs/AwardRevertedV2ResponseDto.md +22 -0
- package/docs/BidCancelledResponseDto.md +22 -0
- package/docs/BidContractDocumentDto.md +38 -0
- package/docs/{IssueTaxInvoiceRequestDto.md → BidResultsBatchRequestDto.md} +5 -5
- package/docs/CancelBid200Response.md +22 -0
- package/docs/CancelBidRequestDto.md +20 -0
- package/docs/CompleteAcceptance200Response.md +22 -0
- package/docs/CompleteInvoice200Response.md +22 -0
- package/docs/CreateCardPayment200Response.md +22 -0
- package/docs/CreateWebhookEndpoint201Response.md +22 -0
- package/docs/CreateWebhookEndpointRequestDto.md +22 -0
- package/docs/FileMetaResponseDto.md +28 -0
- package/docs/GetBid200Response.md +22 -0
- package/docs/GetBidAcceptance200Response.md +22 -0
- package/docs/GetBidResults200Response.md +22 -0
- package/docs/GetBidSettlement200Response.md +22 -0
- package/docs/GetBidStatement200Response.md +22 -0
- package/docs/GetFileMeta200Response.md +22 -0
- package/docs/GetSupplierCardPayableV2200Response.md +22 -0
- package/docs/GetWebhookEndpoint200Response.md +22 -0
- package/docs/HealthControllerCheck200Response.md +22 -0
- package/docs/IntrospectRequestDto.md +30 -0
- package/docs/IntrospectionResponseDto.md +34 -0
- package/docs/ListBidContractDocuments200Response.md +22 -0
- package/docs/ListBidParticipants200Response.md +22 -0
- package/docs/ListBidResults200Response.md +22 -0
- package/docs/ListBids200Response.md +22 -0
- package/docs/ListProducts200Response.md +22 -0
- package/docs/ListWebhookDeliveries200Response.md +22 -0
- package/docs/ListWebhookDeliveriesResponseDto.md +22 -0
- package/docs/ListWebhookEndpoints200Response.md +22 -0
- package/docs/MarkBidFailed201Response.md +22 -0
- package/docs/OauthApi.md +54 -0
- package/docs/PartnerV1Api.md +12 -12
- package/docs/PartnerV2Api.md +1233 -228
- package/docs/PartnerWebhookDeliveryStatus.md +14 -0
- package/docs/PartnerWebhookEndpointStatus.md +11 -0
- package/docs/PartnerWebhookEventType.md +17 -0
- package/docs/ProblemDetailsDto.md +3 -1
- package/docs/ProductReceiptResponseDto.md +20 -0
- package/docs/ProductResponseDto.md +50 -0
- package/docs/PublishBid200Response.md +22 -0
- package/docs/RegenerateContractDocuments201Response.md +22 -0
- package/docs/RegisterAward201Response.md +22 -0
- package/docs/RegisterBid201Response.md +22 -0
- package/docs/RevertAward200Response.md +22 -0
- package/docs/RevertAwardRequestDto.md +20 -0
- package/docs/SendWebhookTestEvent200Response.md +22 -0
- package/docs/UpdateBid200Response.md +22 -0
- package/docs/UpdateWebhookEndpointRequestDto.md +24 -0
- package/docs/UploadFile201Response.md +22 -0
- package/docs/WebhookDeliveryDto.md +42 -0
- package/docs/WebhookEndpointDto.md +38 -0
- package/docs/WebhookEndpointWithSecretDto.md +40 -0
- package/docs/WebhookTestResultDto.md +24 -0
- package/index.ts +2 -2
- package/models/acceptance-result-response-dto.ts +2 -2
- package/models/acceptance-result-v1-response-dto.ts +2 -2
- package/models/acceptance-status-response-dto.ts +39 -0
- package/models/acknowledge-product-receipt200-response.ts +27 -0
- package/models/acknowledge-products-request-dto.ts +23 -0
- package/models/acknowledge-products-v1-request-dto.ts +2 -2
- package/models/authorization-server-metadata-dto.ts +6 -2
- package/models/award-method-public.ts +2 -2
- package/models/award-registered-response-dto.ts +2 -2
- package/models/award-registered-v2-response-dto.ts +2 -2
- package/models/award-reverted-v2-response-dto.ts +34 -0
- package/models/bid-attachment-v1-dto.ts +2 -2
- package/models/bid-bond-dto.ts +2 -2
- package/models/bid-bond-v1-dto.ts +2 -2
- package/models/bid-cancelled-response-dto.ts +34 -0
- package/models/bid-contact-dto.ts +2 -2
- package/models/bid-contacts-dto.ts +2 -2
- package/models/bid-contract-document-dto.ts +69 -0
- package/models/bid-contract-documents-batch-v1-request-dto.ts +2 -2
- package/models/bid-contract-documents-v1-response-dto.ts +2 -2
- package/models/bid-created-response-dto.ts +2 -2
- package/models/bid-delivery-terms-dto.ts +2 -2
- package/models/bid-detail-response-dto.ts +2 -2
- package/models/bid-document-dto.ts +2 -2
- package/models/bid-document-v1-dto.ts +2 -2
- package/models/bid-failed-response-dto.ts +2 -2
- package/models/bid-failed-v2-response-dto.ts +2 -2
- package/models/bid-failure-reason.ts +2 -2
- package/models/bid-item-dto.ts +2 -2
- package/models/bid-item-v1-dto.ts +2 -2
- package/models/bid-lifecycle-dto.ts +2 -2
- package/models/bid-manager-dto.ts +2 -2
- package/models/bid-manager-v1-dto.ts +2 -2
- package/models/bid-participant-summary-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-published-response-dto.ts +2 -2
- package/models/bid-registered-response-dto.ts +2 -2
- package/models/bid-result-participant-attachment-dto.ts +2 -2
- package/models/bid-result-participant-dto.ts +2 -2
- package/models/bid-result-v1-attachment-dto.ts +2 -2
- package/models/bid-result-v1-bid-product-info-dto.ts +2 -2
- package/models/bid-result-v1-participant-dto.ts +2 -2
- package/models/bid-result-v1-product-dto.ts +2 -2
- package/models/bid-results-batch-request-dto.ts +23 -0
- package/models/bid-results-batch-v1-request-dto.ts +2 -2
- package/models/bid-results-response-dto.ts +2 -2
- package/models/bid-results-v1-response-dto.ts +2 -2
- 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-statement-v1-response-dto.ts +2 -2
- package/models/bid-status.ts +2 -2
- package/models/bid-summary-dto.ts +2 -2
- package/models/bid-updated-response-dto.ts +2 -2
- package/models/cancel-bid-request-dto.ts +23 -0
- package/models/cancel-bid200-response.ts +27 -0
- package/models/card-payment-request-response-dto.ts +2 -2
- package/models/complete-acceptance-request-dto.ts +2 -2
- package/models/complete-acceptance-v1-request-dto.ts +2 -2
- package/models/complete-acceptance200-response.ts +27 -0
- package/models/complete-invoice200-response.ts +27 -0
- package/models/contract-document-item-dto.ts +2 -2
- package/models/contract-documents-regenerated-response-dto.ts +2 -2
- package/models/contract-restriction-confirm-input-dto.ts +2 -2
- package/models/create-bid-request-dto.ts +2 -2
- package/models/create-bid-v1-request-dto.ts +2 -2
- package/models/create-card-payment-request-dto.ts +2 -2
- package/models/create-card-payment200-response.ts +27 -0
- package/models/create-external-contract-documents-request-dto.ts +2 -2
- package/models/create-external-contract-documents-response-dto.ts +2 -2
- package/models/create-webhook-endpoint-request-dto.ts +30 -0
- package/models/create-webhook-endpoint201-response.ts +27 -0
- package/models/external-contract-document-item-dto.ts +2 -2
- 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 +2 -2
- package/models/external-document-inputs-dto.ts +2 -2
- package/models/file-meta-response-dto.ts +39 -0
- package/models/file-uploaded-response-dto.ts +2 -2
- package/models/file-uploaded-v1-response-dto.ts +2 -2
- package/models/generated-external-contract-document-dto.ts +2 -2
- package/models/get-bid-acceptance200-response.ts +27 -0
- package/models/get-bid-results200-response.ts +27 -0
- package/models/get-bid-settlement200-response.ts +27 -0
- package/models/get-bid-statement200-response.ts +27 -0
- package/models/get-bid200-response.ts +27 -0
- package/models/get-file-meta200-response.ts +27 -0
- package/models/get-supplier-card-payable-v2200-response.ts +27 -0
- package/models/get-webhook-endpoint200-response.ts +27 -0
- package/models/health-controller-check200-response.ts +27 -0
- package/models/health-response-dto.ts +2 -2
- package/models/hierarchical-region-dto.ts +2 -2
- package/models/hierarchical-region-v1-dto.ts +2 -2
- package/models/index.ts +54 -8
- package/models/introspect-request-dto.ts +56 -0
- package/models/introspection-response-dto.ts +51 -0
- package/models/invalid-param-dto.ts +2 -2
- package/models/invoice-completed-response-dto.ts +2 -2
- package/models/list-bid-contract-documents200-response.ts +27 -0
- package/models/list-bid-participants200-response.ts +27 -0
- package/models/list-bid-results200-response.ts +27 -0
- package/models/list-bids-response-dto.ts +2 -2
- package/models/list-bids200-response.ts +27 -0
- package/models/list-products200-response.ts +27 -0
- package/models/list-webhook-deliveries-response-dto.ts +30 -0
- package/models/list-webhook-deliveries200-response.ts +27 -0
- package/models/list-webhook-endpoints200-response.ts +27 -0
- package/models/mark-bid-failed-request-dto.ts +2 -2
- package/models/mark-bid-failed-v1-request-dto.ts +2 -2
- package/models/mark-bid-failed201-response.ts +27 -0
- package/models/negotiation-score-v1-dto.ts +2 -2
- package/models/negotiation-scored-response-dto.ts +2 -2
- package/models/oauth-error-response-dto.ts +2 -2
- package/models/partner-webhook-delivery-status.ts +28 -0
- package/models/partner-webhook-endpoint-status.ts +29 -0
- package/models/partner-webhook-event-type.ts +32 -0
- package/models/preconditions-dto.ts +2 -2
- package/models/preconditions-v1-dto.ts +2 -2
- package/models/problem-details-dto.ts +7 -3
- package/models/product-receipt-response-dto.ts +23 -0
- package/models/product-receipt-v1-response-dto.ts +2 -2
- package/models/product-response-dto.ts +83 -0
- package/models/product-v1-response-dto.ts +2 -2
- package/models/protected-resource-metadata-dto.ts +2 -2
- package/models/publish-bid200-response.ts +27 -0
- package/models/regenerate-contract-documents201-response.ts +27 -0
- package/models/register-award-request-dto.ts +2 -2
- package/models/register-award-v1-request-dto.ts +2 -2
- package/models/register-award201-response.ts +27 -0
- package/models/register-bid201-response.ts +27 -0
- package/models/register-semo-contract-request-dto.ts +2 -2
- package/models/request-split-invoice-v1-request-dto.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 +23 -0
- package/models/revert-award200-response.ts +27 -0
- package/models/revoke-request-dto.ts +2 -2
- package/models/semo-contract-registered-response-dto.ts +2 -2
- package/models/semo-contract-taxinvoice-status-response-dto.ts +2 -2
- package/models/send-webhook-test-event200-response.ts +27 -0
- package/models/split-invoice-v1-response-dto.ts +2 -2
- package/models/statement-document-dto.ts +2 -2
- package/models/statement-product-dto.ts +2 -2
- package/models/statement-v1-document-dto.ts +2 -2
- package/models/statement-v1-product-dto.ts +2 -2
- package/models/submit-negotiation-scores-v1-request-dto.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 +2 -2
- package/models/token-response-dto.ts +2 -2
- package/models/update-bid-request-dto.ts +2 -2
- package/models/update-bid200-response.ts +27 -0
- package/models/update-webhook-endpoint-request-dto.ts +39 -0
- package/models/upload-file-request-dto.ts +2 -2
- package/models/upload-file-v1-request-dto.ts +2 -2
- package/models/upload-file201-response.ts +27 -0
- package/models/webhook-delivery-dto.ts +82 -0
- package/models/webhook-endpoint-dto.ts +67 -0
- package/models/webhook-endpoint-with-secret-dto.ts +71 -0
- package/models/webhook-test-result-dto.ts +31 -0
- package/package.json +1 -1
- package/dist/esm/models/close-sandbox-bid-response-dto.d.ts +0 -34
- package/dist/esm/models/close-sandbox-bid-response-dto.js +0 -21
- package/dist/esm/models/embed-launch-request-dto.d.ts +0 -33
- package/dist/esm/models/embed-launch-request-dto.js +0 -20
- package/dist/esm/models/embed-launch-response-dto.d.ts +0 -21
- package/dist/esm/models/embed-launch-response-dto.js +0 -14
- package/dist/esm/models/issue-tax-invoice-request-dto.d.ts +0 -17
- package/dist/esm/models/issue-tax-invoice-request-dto.js +0 -14
- package/dist/esm/models/negotiation-score-dto.d.ts +0 -25
- package/dist/esm/models/negotiation-score-dto.js +0 -14
- package/dist/esm/models/negotiation-scored-v2-response-dto.d.ts +0 -29
- package/dist/esm/models/negotiation-scored-v2-response-dto.js +0 -16
- package/dist/esm/models/submit-negotiation-scores-request-dto.d.ts +0 -22
- package/dist/esm/models/submit-negotiation-scores-request-dto.js +0 -14
- package/dist/esm/models/tax-invoice-issued-response-dto.d.ts +0 -33
- package/dist/esm/models/tax-invoice-issued-response-dto.js +0 -14
- package/dist/models/close-sandbox-bid-response-dto.d.ts +0 -34
- package/dist/models/close-sandbox-bid-response-dto.js +0 -24
- package/dist/models/embed-launch-request-dto.d.ts +0 -33
- package/dist/models/embed-launch-request-dto.js +0 -23
- package/dist/models/embed-launch-response-dto.d.ts +0 -21
- package/dist/models/embed-launch-response-dto.js +0 -15
- package/dist/models/issue-tax-invoice-request-dto.d.ts +0 -17
- package/dist/models/issue-tax-invoice-request-dto.js +0 -15
- package/dist/models/negotiation-score-dto.d.ts +0 -25
- package/dist/models/negotiation-score-dto.js +0 -15
- package/dist/models/negotiation-scored-v2-response-dto.d.ts +0 -29
- package/dist/models/negotiation-scored-v2-response-dto.js +0 -19
- package/dist/models/submit-negotiation-scores-request-dto.d.ts +0 -22
- package/dist/models/submit-negotiation-scores-request-dto.js +0 -15
- package/dist/models/tax-invoice-issued-response-dto.d.ts +0 -33
- package/dist/models/tax-invoice-issued-response-dto.js +0 -15
- package/docs/CloseSandboxBidResponseDto.md +0 -24
- package/docs/EmbedLaunchRequestDto.md +0 -24
- package/docs/EmbedLaunchResponseDto.md +0 -22
- package/docs/NegotiationScoreDto.md +0 -24
- package/docs/NegotiationScoredV2ResponseDto.md +0 -24
- package/docs/SubmitNegotiationScoresRequestDto.md +0 -22
- package/docs/TaxInvoiceIssuedResponseDto.md +0 -28
- package/models/close-sandbox-bid-response-dto.ts +0 -43
- package/models/embed-launch-request-dto.ts +0 -42
- package/models/embed-launch-response-dto.ts +0 -27
- package/models/issue-tax-invoice-request-dto.ts +0 -23
- package/models/negotiation-score-dto.ts +0 -31
- package/models/negotiation-scored-v2-response-dto.ts +0 -38
- package/models/submit-negotiation-scores-request-dto.ts +0 -30
- package/models/tax-invoice-issued-response-dto.ts +0 -39
package/docs/PartnerV2Api.md
CHANGED
|
@@ -4,53 +4,72 @@ All URIs are relative to *https://partner-api.c-market.net*
|
|
|
4
4
|
|
|
5
5
|
|Method | HTTP request | Description|
|
|
6
6
|
|------------- | ------------- | -------------|
|
|
7
|
-
|[**
|
|
7
|
+
|[**acknowledgeProductReceipt**](#acknowledgeproductreceipt) | **POST** /v2/products/receipts | 물품 수신확인|
|
|
8
|
+
|[**cancelBid**](#cancelbid) | **POST** /v2/bids/{bidId}/cancel | 공고 취소|
|
|
8
9
|
|[**completeAcceptance**](#completeacceptance) | **POST** /v2/bids/{bidId}/acceptance | 검수완료 전송|
|
|
9
10
|
|[**completeInvoice**](#completeinvoice) | **POST** /v2/bids/{bidId}/settlement/complete | 정산 마감(송장 강제완료)|
|
|
11
|
+
|[**createCardPayment**](#createcardpayment) | **POST** /v2/card-payments | 결제창 발행|
|
|
10
12
|
|[**createCardPaymentRequest**](#createcardpaymentrequest) | **POST** /v2/card-payment-requests | 결제창 발행|
|
|
11
|
-
|[**createEmbedLaunch**](#createembedlaunch) | **POST** /v2/embed/launch | 임베드 launch code 발급 (iframe SSO)|
|
|
12
13
|
|[**createExternalContractDocuments**](#createexternalcontractdocuments) | **POST** /v2/contract-documents | 계약서류 생성|
|
|
14
|
+
|[**createWebhookEndpoint**](#createwebhookendpoint) | **POST** /v2/webhook-endpoints | 웹훅 구독 등록|
|
|
15
|
+
|[**deleteWebhookEndpoint**](#deletewebhookendpoint) | **DELETE** /v2/webhook-endpoints/{endpointId} | 웹훅 구독 삭제|
|
|
13
16
|
|[**downloadFile**](#downloadfile) | **GET** /files/{fileKey} | 파일 다운로드 — 안정 URL(302)|
|
|
14
17
|
|[**getBid**](#getbid) | **GET** /v2/bids/{bidId} | 공고 단건(라이프사이클) 조회|
|
|
15
|
-
|[**
|
|
18
|
+
|[**getBidAcceptance**](#getbidacceptance) | **GET** /v2/bids/{bidId}/acceptance | 검수 현황 조회|
|
|
19
|
+
|[**getBidResults**](#getbidresults) | **GET** /v2/bids/{bidId}/result | 입찰 결과 조회|
|
|
16
20
|
|[**getBidSettlement**](#getbidsettlement) | **GET** /v2/bids/{bidId}/settlement | 입찰결과 정산정보 조회|
|
|
17
21
|
|[**getBidStatement**](#getbidstatement) | **GET** /v2/bids/{bidId}/statement | 거래명세서 조회|
|
|
22
|
+
|[**getFileMeta**](#getfilemeta) | **GET** /v2/files/{fileKey} | 파일 조회(메타 + 내려받기 주소)|
|
|
18
23
|
|[**getSemoContractTaxinvoiceStatus**](#getsemocontracttaxinvoicestatus) | **GET** /v2/semo-contracts/{externalContractId}/tax-invoice | 계산서 발행 상태 조회|
|
|
19
24
|
|[**getSupplierCardPayable**](#getsuppliercardpayable) | **GET** /v2/card-payment-requests/suppliers/{memberId}/card-payable | 공급사 카드결제 가능 여부|
|
|
25
|
+
|[**getSupplierCardPayableV2**](#getsuppliercardpayablev2) | **GET** /v2/suppliers/{memberId}/card-payable | 공급사 카드결제 가능 여부|
|
|
26
|
+
|[**getWebhookEndpoint**](#getwebhookendpoint) | **GET** /v2/webhook-endpoints/{endpointId} | 웹훅 구독 단건 조회|
|
|
20
27
|
|[**healthControllerCheck**](#healthcontrollercheck) | **GET** /health | Partner API 헬스체크|
|
|
21
|
-
|[**
|
|
28
|
+
|[**listBidContractDocuments**](#listbidcontractdocuments) | **GET** /v2/bids/{bidId}/contract-documents | 계약서류 목록 조회|
|
|
29
|
+
|[**listBidParticipants**](#listbidparticipants) | **GET** /v2/bids/{bidId}/participants | 응찰 현황 조회|
|
|
30
|
+
|[**listBidResults**](#listbidresults) | **GET** /v2/bid-results | 입찰 결과 배치 조회|
|
|
22
31
|
|[**listBids**](#listbids) | **GET** /v2/bids | 공고 목록 조회|
|
|
23
32
|
|[**listExternalContractDocuments**](#listexternalcontractdocuments) | **GET** /v2/contract-documents | 거래에 필요한 계약서류 목록 조회|
|
|
24
|
-
|[**
|
|
33
|
+
|[**listProducts**](#listproducts) | **GET** /v2/products | 물품 카탈로그 조회|
|
|
34
|
+
|[**listWebhookDeliveries**](#listwebhookdeliveries) | **GET** /v2/webhook-deliveries | 웹훅 전송 이력 조회|
|
|
35
|
+
|[**listWebhookEndpoints**](#listwebhookendpoints) | **GET** /v2/webhook-endpoints | 웹훅 구독 목록 조회|
|
|
36
|
+
|[**markBidFailed**](#markbidfailed) | **POST** /v2/bids/{bidId}/fail | 유찰 처리|
|
|
25
37
|
|[**publishBid**](#publishbid) | **POST** /v2/bids/{bidId}/publish | 공고 게시(초안 → 진행중)|
|
|
38
|
+
|[**queryBidResults**](#querybidresults) | **POST** /v2/bid-results/query | 입찰 결과 배치 조회 (본문 전달)|
|
|
26
39
|
|[**regenerateContractDocuments**](#regeneratecontractdocuments) | **POST** /v2/bids/{bidId}/contract-documents | 계약서류 생성(재생성)|
|
|
27
40
|
|[**registerAward**](#registeraward) | **POST** /v2/bids/{bidId}/award | 낙찰 결과 전송|
|
|
28
41
|
|[**registerBid**](#registerbid) | **POST** /v2/bids | 입찰 정보 전송(등록)|
|
|
29
42
|
|[**registerSemoContract**](#registersemocontract) | **POST** /v2/semo-contracts | 계약 발행대상 등록|
|
|
30
|
-
|[**
|
|
43
|
+
|[**revertAward**](#revertaward) | **DELETE** /v2/bids/{bidId}/award | 낙찰 되돌리기|
|
|
44
|
+
|[**rotateWebhookSecret**](#rotatewebhooksecret) | **POST** /v2/webhook-endpoints/{endpointId}/rotate-secret | 웹훅 서명 시크릿 재발급|
|
|
45
|
+
|[**sendWebhookTestEvent**](#sendwebhooktestevent) | **POST** /v2/webhook-endpoints/{endpointId}/test | 웹훅 연결 확인 발송|
|
|
31
46
|
|[**updateBid**](#updatebid) | **PATCH** /v2/bids/{bidId} | 입찰 공고 수정|
|
|
47
|
+
|[**updateWebhookEndpoint**](#updatewebhookendpoint) | **PATCH** /v2/webhook-endpoints/{endpointId} | 웹훅 구독 수정|
|
|
32
48
|
|[**uploadFile**](#uploadfile) | **POST** /v2/files | 입찰 첨부파일 업로드(base64 또는 url) → fileKey|
|
|
33
49
|
|
|
34
|
-
# **
|
|
35
|
-
>
|
|
50
|
+
# **acknowledgeProductReceipt**
|
|
51
|
+
> AcknowledgeProductReceipt200Response acknowledgeProductReceipt(acknowledgeProductsRequestDto)
|
|
36
52
|
|
|
37
|
-
|
|
53
|
+
저장을 마친 물품을 전송완료로 표시해 다음 조회에서 제외합니다. **되돌릴 수 없습니다.** 표시한 물품은 `GET /v2/products` 로 다시 내려오지 않으므로, 자기 시스템에 저장이 끝난 뒤에 호출하세요. **표시 범위는 기관 그룹으로 잠깁니다.** 다른 기관의 물품 코드를 섞어 보내면 그 건은 표시되지 않고 `acknowledged` 가 요청 수보다 작게 돌아옵니다. **필수 스코프:** `products:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
38
54
|
|
|
39
55
|
### Example
|
|
40
56
|
|
|
41
57
|
```typescript
|
|
42
58
|
import {
|
|
43
59
|
PartnerV2Api,
|
|
44
|
-
Configuration
|
|
60
|
+
Configuration,
|
|
61
|
+
AcknowledgeProductsRequestDto
|
|
45
62
|
} from '@cmarket/partner-sdk';
|
|
46
63
|
|
|
47
64
|
const configuration = new Configuration();
|
|
48
65
|
const apiInstance = new PartnerV2Api(configuration);
|
|
49
66
|
|
|
50
|
-
let
|
|
67
|
+
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. (default to undefined)
|
|
68
|
+
let acknowledgeProductsRequestDto: AcknowledgeProductsRequestDto; //
|
|
51
69
|
|
|
52
|
-
const { status, data } = await apiInstance.
|
|
53
|
-
|
|
70
|
+
const { status, data } = await apiInstance.acknowledgeProductReceipt(
|
|
71
|
+
idempotencyKey,
|
|
72
|
+
acknowledgeProductsRequestDto
|
|
54
73
|
);
|
|
55
74
|
```
|
|
56
75
|
|
|
@@ -58,12 +77,13 @@ const { status, data } = await apiInstance.closeSandboxBid(
|
|
|
58
77
|
|
|
59
78
|
|Name | Type | Description | Notes|
|
|
60
79
|
|------------- | ------------- | ------------- | -------------|
|
|
61
|
-
| **
|
|
80
|
+
| **acknowledgeProductsRequestDto** | **AcknowledgeProductsRequestDto**| | |
|
|
81
|
+
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. | defaults to undefined|
|
|
62
82
|
|
|
63
83
|
|
|
64
84
|
### Return type
|
|
65
85
|
|
|
66
|
-
**
|
|
86
|
+
**AcknowledgeProductReceipt200Response**
|
|
67
87
|
|
|
68
88
|
### Authorization
|
|
69
89
|
|
|
@@ -71,19 +91,86 @@ const { status, data } = await apiInstance.closeSandboxBid(
|
|
|
71
91
|
|
|
72
92
|
### HTTP request headers
|
|
73
93
|
|
|
74
|
-
- **Content-Type**:
|
|
75
|
-
- **Accept**: application/json
|
|
94
|
+
- **Content-Type**: application/json
|
|
95
|
+
- **Accept**: application/json, application/problem+json
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### HTTP response details
|
|
99
|
+
| Status code | Description | Response headers |
|
|
100
|
+
|-------------|-------------|------------------|
|
|
101
|
+
|**200** | 수신확인 결과. | - |
|
|
102
|
+
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
103
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
104
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
105
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
106
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
107
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
108
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
109
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
110
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
111
|
+
|
|
112
|
+
[[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)
|
|
113
|
+
|
|
114
|
+
# **cancelBid**
|
|
115
|
+
> CancelBid200Response cancelBid(cancelBidRequestDto)
|
|
116
|
+
|
|
117
|
+
진행중인 공고를 취소합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **되돌릴 수 없습니다.** 취소 사유는 필수이며 공고 이력에 남습니다. **전제조건:** 진행중(ONGOING) 상태여야 합니다. **거부:** 진행중이 아니거나 이미 취소된 공고 → 409. 타 발주처 공고 → 403. **마감과의 차이:** 취소는 공고를 무효로 되돌리는 것이고, 유찰(`POST /v2/bids/{bidId}/fail`)은 응찰을 받았으나 낙찰자를 정하지 못한 종료입니다.
|
|
118
|
+
|
|
119
|
+
### Example
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
import {
|
|
123
|
+
PartnerV2Api,
|
|
124
|
+
Configuration,
|
|
125
|
+
CancelBidRequestDto
|
|
126
|
+
} from '@cmarket/partner-sdk';
|
|
127
|
+
|
|
128
|
+
const configuration = new Configuration();
|
|
129
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
130
|
+
|
|
131
|
+
let bidId: string; //공고 식별자(등록 응답의 bidId). (default to undefined)
|
|
132
|
+
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 재전송 시 캐시 응답 반환(24시간). (default to undefined)
|
|
133
|
+
let cancelBidRequestDto: CancelBidRequestDto; //
|
|
134
|
+
|
|
135
|
+
const { status, data } = await apiInstance.cancelBid(
|
|
136
|
+
bidId,
|
|
137
|
+
idempotencyKey,
|
|
138
|
+
cancelBidRequestDto
|
|
139
|
+
);
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Parameters
|
|
143
|
+
|
|
144
|
+
|Name | Type | Description | Notes|
|
|
145
|
+
|------------- | ------------- | ------------- | -------------|
|
|
146
|
+
| **cancelBidRequestDto** | **CancelBidRequestDto**| | |
|
|
147
|
+
| **bidId** | [**string**] | 공고 식별자(등록 응답의 bidId). | defaults to undefined|
|
|
148
|
+
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 재전송 시 캐시 응답 반환(24시간). | defaults to undefined|
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
### Return type
|
|
152
|
+
|
|
153
|
+
**CancelBid200Response**
|
|
154
|
+
|
|
155
|
+
### Authorization
|
|
156
|
+
|
|
157
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
158
|
+
|
|
159
|
+
### HTTP request headers
|
|
160
|
+
|
|
161
|
+
- **Content-Type**: application/json
|
|
162
|
+
- **Accept**: application/json, application/problem+json
|
|
76
163
|
|
|
77
164
|
|
|
78
165
|
### HTTP response details
|
|
79
166
|
| Status code | Description | Response headers |
|
|
80
167
|
|-------------|-------------|------------------|
|
|
81
|
-
|**200** |
|
|
82
|
-
|**400** |
|
|
168
|
+
|**200** | 공고 취소 완료. | - |
|
|
169
|
+
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
83
170
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
84
171
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
85
|
-
|**409** |
|
|
86
|
-
|**422** |
|
|
172
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
173
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
87
174
|
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
88
175
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
89
176
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -92,7 +179,7 @@ const { status, data } = await apiInstance.closeSandboxBid(
|
|
|
92
179
|
[[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)
|
|
93
180
|
|
|
94
181
|
# **completeAcceptance**
|
|
95
|
-
>
|
|
182
|
+
> CompleteAcceptance200Response completeAcceptance(completeAcceptanceRequestDto)
|
|
96
183
|
|
|
97
184
|
낙찰 공고의 검수(납품 검수)가 완료되었음을 기록합니다. **V5 대응:** `acceptanceCompleteSend` — BidApi.xml `acceptanceComplete` 액션의 V6 후속. **호출 시점:** 낙찰자(공급사)가 납품을 완료하고 구매자가 검수를 확인한 시점. 공고 상태가 낙찰(AWARDED) 상태여야 합니다. **부수효과:** - 검수완료 상태가 기록됩니다. - 응답은 204가 아닌 200입니다 — 멱등성 인터셉터가 구체 바디를 캐시하고 SDK 가 타입드 응답을 필요로 하기 때문. **V5-compat 안내:** 거래명세서·검수보고서에 찍힐 구매사 사업자정보·담당자·작성일자 override(11종)는 modern v2 표면에서 제거됐습니다. 필요 시 V5 충실 카운터파트 `POST /v1/bids/{bidId}/acceptance`(`CompleteAcceptanceV1RequestDto`)를 사용하세요. **낙찰자 식별:** `winnerMemberId`(공급사 memberId). 내부 joinSeq 해소는 backend 가 처리합니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
98
185
|
|
|
@@ -130,7 +217,7 @@ const { status, data } = await apiInstance.completeAcceptance(
|
|
|
130
217
|
|
|
131
218
|
### Return type
|
|
132
219
|
|
|
133
|
-
**
|
|
220
|
+
**CompleteAcceptance200Response**
|
|
134
221
|
|
|
135
222
|
### Authorization
|
|
136
223
|
|
|
@@ -139,7 +226,7 @@ const { status, data } = await apiInstance.completeAcceptance(
|
|
|
139
226
|
### HTTP request headers
|
|
140
227
|
|
|
141
228
|
- **Content-Type**: application/json
|
|
142
|
-
- **Accept**: application/json
|
|
229
|
+
- **Accept**: application/json, application/problem+json
|
|
143
230
|
|
|
144
231
|
|
|
145
232
|
### HTTP response details
|
|
@@ -159,7 +246,7 @@ const { status, data } = await apiInstance.completeAcceptance(
|
|
|
159
246
|
[[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)
|
|
160
247
|
|
|
161
248
|
# **completeInvoice**
|
|
162
|
-
>
|
|
249
|
+
> CompleteInvoice200Response completeInvoice()
|
|
163
250
|
|
|
164
251
|
공급사로부터 계산서를 수령한 뒤, 계약을 완료처리 상태로 강제 전환합니다. **호출 시점:** 낙찰·계약 완료 후 공급사 계산서를 오프라인으로 수령했을 때. **부수효과:** - 결제완료·계산서 발급 상태가 기록되고 발급일자가 현재 시각으로 설정됩니다. **소유권:** 공고는 요청 파트너 키가 소유한 발주처 명의여야 합니다(타 발주처 공고 → 403). **이미 완료:** 이미 완료처리된 공고 재호출 → 409. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
165
252
|
|
|
@@ -193,7 +280,7 @@ const { status, data } = await apiInstance.completeInvoice(
|
|
|
193
280
|
|
|
194
281
|
### Return type
|
|
195
282
|
|
|
196
|
-
**
|
|
283
|
+
**CompleteInvoice200Response**
|
|
197
284
|
|
|
198
285
|
### Authorization
|
|
199
286
|
|
|
@@ -202,7 +289,7 @@ const { status, data } = await apiInstance.completeInvoice(
|
|
|
202
289
|
### HTTP request headers
|
|
203
290
|
|
|
204
291
|
- **Content-Type**: Not defined
|
|
205
|
-
- **Accept**: application/json
|
|
292
|
+
- **Accept**: application/json, application/problem+json
|
|
206
293
|
|
|
207
294
|
|
|
208
295
|
### HTTP response details
|
|
@@ -221,10 +308,10 @@ const { status, data } = await apiInstance.completeInvoice(
|
|
|
221
308
|
|
|
222
309
|
[[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)
|
|
223
310
|
|
|
224
|
-
# **
|
|
225
|
-
>
|
|
311
|
+
# **createCardPayment**
|
|
312
|
+
> CreateCardPayment200Response createCardPayment(createCardPaymentRequestDto)
|
|
226
313
|
|
|
227
|
-
발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동
|
|
314
|
+
발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인되어 바로 결제할 수 있습니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 도메인 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요.
|
|
228
315
|
|
|
229
316
|
### Example
|
|
230
317
|
|
|
@@ -241,7 +328,7 @@ const apiInstance = new PartnerV2Api(configuration);
|
|
|
241
328
|
let idempotencyKey: string; //재시도 안전을 위한 멱등 키. (default to undefined)
|
|
242
329
|
let createCardPaymentRequestDto: CreateCardPaymentRequestDto; //
|
|
243
330
|
|
|
244
|
-
const { status, data } = await apiInstance.
|
|
331
|
+
const { status, data } = await apiInstance.createCardPayment(
|
|
245
332
|
idempotencyKey,
|
|
246
333
|
createCardPaymentRequestDto
|
|
247
334
|
);
|
|
@@ -257,7 +344,7 @@ const { status, data } = await apiInstance.createCardPaymentRequest(
|
|
|
257
344
|
|
|
258
345
|
### Return type
|
|
259
346
|
|
|
260
|
-
**
|
|
347
|
+
**CreateCardPayment200Response**
|
|
261
348
|
|
|
262
349
|
### Authorization
|
|
263
350
|
|
|
@@ -266,7 +353,7 @@ const { status, data } = await apiInstance.createCardPaymentRequest(
|
|
|
266
353
|
### HTTP request headers
|
|
267
354
|
|
|
268
355
|
- **Content-Type**: application/json
|
|
269
|
-
- **Accept**: application/json
|
|
356
|
+
- **Accept**: application/json, application/problem+json
|
|
270
357
|
|
|
271
358
|
|
|
272
359
|
### HTTP response details
|
|
@@ -285,10 +372,10 @@ const { status, data } = await apiInstance.createCardPaymentRequest(
|
|
|
285
372
|
|
|
286
373
|
[[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)
|
|
287
374
|
|
|
288
|
-
# **
|
|
289
|
-
>
|
|
375
|
+
# **createCardPaymentRequest**
|
|
376
|
+
> CardPaymentRequestResponseDto createCardPaymentRequest(createCardPaymentRequestDto)
|
|
290
377
|
|
|
291
|
-
|
|
378
|
+
발주기관이 특정 업체에게 카드로 지불하는 거래(결제창) 1건을 만듭니다. **대금 흐름:** 카드 승인이 **그 업체의 가맹점**으로 나가므로 대금은 씨마켓을 거치지 않고 업체로 직행합니다. **발행 직후 상태:** 자동 승인(APPROVED)되어 바로 결제 가능합니다. **사용자 동선:** 응답의 `payUrl` 로 발주기관을 보내면 그 결제창 한 건만 걸러진 화면이 열립니다. 거기서 카드를 골라 결제합니다. **사전 조건:** 계약업체가 씨마켓 회원이고 카드결제에 가입(가맹)돼 있어야 합니다 — `GET /v2/card-payment-requests/suppliers/{memberId}/card-payable` 로 미리 확인하세요. 미가입 업체로 발행하면 400 입니다. **필수 스코프:** `payments:write`. 어느 발주기관을 대신할 수 있는지는 스코프가 아니라 API 키의 대행 범위 설정이 정합니다. **멱등성:** `externalRef`(파트너 측 거래 식별자)가 멱등키입니다. 같은 값으로 재요청하면 새로 만들지 않고 기존 결제창을 돌려줍니다(`reused=true`). `Idempotency-Key` 헤더도 함께 사용하세요. --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 를 신규 연동에 권합니다. 이 경로도 계속 동작하며 중단 일정은 없습니다.
|
|
292
379
|
|
|
293
380
|
### Example
|
|
294
381
|
|
|
@@ -296,16 +383,18 @@ const { status, data } = await apiInstance.createCardPaymentRequest(
|
|
|
296
383
|
import {
|
|
297
384
|
PartnerV2Api,
|
|
298
385
|
Configuration,
|
|
299
|
-
|
|
386
|
+
CreateCardPaymentRequestDto
|
|
300
387
|
} from '@cmarket/partner-sdk';
|
|
301
388
|
|
|
302
389
|
const configuration = new Configuration();
|
|
303
390
|
const apiInstance = new PartnerV2Api(configuration);
|
|
304
391
|
|
|
305
|
-
let
|
|
392
|
+
let idempotencyKey: string; //재시도 안전을 위한 멱등 키. (default to undefined)
|
|
393
|
+
let createCardPaymentRequestDto: CreateCardPaymentRequestDto; //
|
|
306
394
|
|
|
307
|
-
const { status, data } = await apiInstance.
|
|
308
|
-
|
|
395
|
+
const { status, data } = await apiInstance.createCardPaymentRequest(
|
|
396
|
+
idempotencyKey,
|
|
397
|
+
createCardPaymentRequestDto
|
|
309
398
|
);
|
|
310
399
|
```
|
|
311
400
|
|
|
@@ -313,12 +402,13 @@ const { status, data } = await apiInstance.createEmbedLaunch(
|
|
|
313
402
|
|
|
314
403
|
|Name | Type | Description | Notes|
|
|
315
404
|
|------------- | ------------- | ------------- | -------------|
|
|
316
|
-
| **
|
|
405
|
+
| **createCardPaymentRequestDto** | **CreateCardPaymentRequestDto**| | |
|
|
406
|
+
| **idempotencyKey** | [**string**] | 재시도 안전을 위한 멱등 키. | defaults to undefined|
|
|
317
407
|
|
|
318
408
|
|
|
319
409
|
### Return type
|
|
320
410
|
|
|
321
|
-
**
|
|
411
|
+
**CardPaymentRequestResponseDto**
|
|
322
412
|
|
|
323
413
|
### Authorization
|
|
324
414
|
|
|
@@ -327,17 +417,18 @@ const { status, data } = await apiInstance.createEmbedLaunch(
|
|
|
327
417
|
### HTTP request headers
|
|
328
418
|
|
|
329
419
|
- **Content-Type**: application/json
|
|
330
|
-
- **Accept**: application/json
|
|
420
|
+
- **Accept**: application/json, application/problem+json
|
|
331
421
|
|
|
332
422
|
|
|
333
423
|
### HTTP response details
|
|
334
424
|
| Status code | Description | Response headers |
|
|
335
425
|
|-------------|-------------|------------------|
|
|
336
|
-
|**
|
|
337
|
-
|**400** |
|
|
426
|
+
|**200** | | - |
|
|
427
|
+
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
338
428
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
339
429
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
340
|
-
|**
|
|
430
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
431
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
341
432
|
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
342
433
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
343
434
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -348,7 +439,7 @@ const { status, data } = await apiInstance.createEmbedLaunch(
|
|
|
348
439
|
# **createExternalContractDocuments**
|
|
349
440
|
> CreateExternalContractDocumentsResponseDto createExternalContractDocuments(createExternalContractDocumentsRequestDto)
|
|
350
441
|
|
|
351
|
-
공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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` 헤더 필수.
|
|
442
|
+
공고 없이 성사된 거래의 계약서류를 생성합니다. **호출 시점:** 계약이 체결된 직후. **요청한 `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/{bidId}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
352
443
|
|
|
353
444
|
### Example
|
|
354
445
|
|
|
@@ -390,7 +481,7 @@ const { status, data } = await apiInstance.createExternalContractDocuments(
|
|
|
390
481
|
### HTTP request headers
|
|
391
482
|
|
|
392
483
|
- **Content-Type**: application/json
|
|
393
|
-
- **Accept**: application/json
|
|
484
|
+
- **Accept**: application/json, application/problem+json
|
|
394
485
|
|
|
395
486
|
|
|
396
487
|
### HTTP response details
|
|
@@ -409,26 +500,29 @@ const { status, data } = await apiInstance.createExternalContractDocuments(
|
|
|
409
500
|
|
|
410
501
|
[[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)
|
|
411
502
|
|
|
412
|
-
# **
|
|
413
|
-
>
|
|
503
|
+
# **createWebhookEndpoint**
|
|
504
|
+
> CreateWebhookEndpoint201Response createWebhookEndpoint(createWebhookEndpointRequestDto)
|
|
414
505
|
|
|
415
|
-
|
|
506
|
+
수신 주소와 구독할 이벤트를 등록합니다. **호출 시점:** 연동 초기 1회. 수신 주소가 바뀌면 새로 만들지 말고 `PATCH` 로 고치세요 — 그래야 시크릿과 전송 이력이 유지됩니다. **서명 시크릿은 이 응답에서 한 번만 나갑니다.** 서버는 해시만 보관하므로 조회로 다시 받을 수 없습니다. 응답의 `secret` 을 즉시 안전한 곳에 보관하세요. 잃어버렸다면 복구가 아니라 `POST /v2/webhook-endpoints/{endpointId}/rotate-secret` 으로 **재발급**해야 합니다. **거절되는 경우와 고치는 법:** - `400` — `url` 이 HTTPS 가 아니거나 형식이 잘못됨, `eventTypes` 가 비었거나 목록 밖 값 (`ping` 은 구독 불가). 값을 고쳐 재시도하세요. - `400` — `Idempotency-Key` 헤더 누락/형식 오류. UUID v4 를 실어 보내세요. - `403` — 토큰에 `webhooks:write` 스코프가 없음. 키 발급 설정을 넓혀야 합니다. **필수 스코프:** `webhooks:write` **멱등성:** `Idempotency-Key` 헤더 필수. ### 서명 검증 (필수) 발송 요청마다 헤더 `X-CMarket-Signature` 가 실립니다. ``` X-CMarket-Signature: t=<unix초>,v1=<hex> ``` `v1` 은 `HMAC-SHA256(secret, \"${t}.${요청 본문 원문}\")` 의 소문자 hex 입니다. 1. 헤더를 `t` 와 `v1` 로 나눕니다. 2. `\"${t}.${본문}\"` 을 만듭니다. **본문은 파싱 전 원문 바이트**여야 합니다 — JSON 을 다시 직렬화하면 공백·키 순서가 달라져 서명이 맞지 않습니다. 3. 등록 시 받은 시크릿으로 HMAC-SHA256 을 계산해 `v1` 과 비교합니다. 비교는 **상수 시간** 비교 함수를 쓰세요(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `t` 가 현재 시각으로부터 **5분** 이상 지났으면 거절하세요(재전송 공격 방어). ### 중복 제거 `X-CMarket-Event-Id` 헤더가 이벤트 식별자입니다. **재시도에도 같은 값이 옵니다** — 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상 동작이며, 중복 제거는 수신측 책임입니다. ### 응답과 재시도 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` 가 발송 시도 이력(본문·응답 상태·다음 재시도 시각)을 돌려줍니다. 수신측 장애 구간을 메울 때 이 엔드포인트를 폴링 대체 경로로 쓰세요.
|
|
416
507
|
|
|
417
508
|
### Example
|
|
418
509
|
|
|
419
510
|
```typescript
|
|
420
511
|
import {
|
|
421
512
|
PartnerV2Api,
|
|
422
|
-
Configuration
|
|
513
|
+
Configuration,
|
|
514
|
+
CreateWebhookEndpointRequestDto
|
|
423
515
|
} from '@cmarket/partner-sdk';
|
|
424
516
|
|
|
425
517
|
const configuration = new Configuration();
|
|
426
518
|
const apiInstance = new PartnerV2Api(configuration);
|
|
427
519
|
|
|
428
|
-
let
|
|
520
|
+
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. (default to undefined)
|
|
521
|
+
let createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto; //
|
|
429
522
|
|
|
430
|
-
const { status, data } = await apiInstance.
|
|
431
|
-
|
|
523
|
+
const { status, data } = await apiInstance.createWebhookEndpoint(
|
|
524
|
+
idempotencyKey,
|
|
525
|
+
createWebhookEndpointRequestDto
|
|
432
526
|
);
|
|
433
527
|
```
|
|
434
528
|
|
|
@@ -436,34 +530,44 @@ const { status, data } = await apiInstance.downloadFile(
|
|
|
436
530
|
|
|
437
531
|
|Name | Type | Description | Notes|
|
|
438
532
|
|------------- | ------------- | ------------- | -------------|
|
|
439
|
-
| **
|
|
533
|
+
| **createWebhookEndpointRequestDto** | **CreateWebhookEndpointRequestDto**| | |
|
|
534
|
+
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. | defaults to undefined|
|
|
440
535
|
|
|
441
536
|
|
|
442
537
|
### Return type
|
|
443
538
|
|
|
444
|
-
|
|
539
|
+
**CreateWebhookEndpoint201Response**
|
|
445
540
|
|
|
446
541
|
### Authorization
|
|
447
542
|
|
|
448
|
-
|
|
543
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
449
544
|
|
|
450
545
|
### HTTP request headers
|
|
451
546
|
|
|
452
|
-
- **Content-Type**:
|
|
453
|
-
- **Accept**:
|
|
547
|
+
- **Content-Type**: application/json
|
|
548
|
+
- **Accept**: application/json, application/problem+json
|
|
454
549
|
|
|
455
550
|
|
|
456
551
|
### HTTP response details
|
|
457
552
|
| Status code | Description | Response headers |
|
|
458
553
|
|-------------|-------------|------------------|
|
|
459
|
-
|**
|
|
554
|
+
|**201** | 구독 등록 완료. `secret` 은 이 응답에만 실립니다. | - |
|
|
555
|
+
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
556
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
557
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
558
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
559
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
560
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
561
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
562
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
563
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
460
564
|
|
|
461
565
|
[[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)
|
|
462
566
|
|
|
463
|
-
# **
|
|
464
|
-
>
|
|
567
|
+
# **deleteWebhookEndpoint**
|
|
568
|
+
> deleteWebhookEndpoint()
|
|
465
569
|
|
|
466
|
-
|
|
570
|
+
구독을 삭제합니다. 이후 그 주소로는 아무 이벤트도 발송되지 않습니다. **호출 시점:** 연동을 종료할 때. 잠시만 멈추려면 삭제하지 말고 `PATCH … {\"status\":\"DISABLED\"}` 를 쓰세요 — 시크릿과 이벤트 구성이 남아 그대로 되살릴 수 있습니다. **되돌릴 수 없습니다.** 다시 등록하면 새 구독이고 서명 시크릿도 새 값입니다. **`If-Match` 가 필수입니다.** `GET` 으로 받은 `ETag` 를 실어 보내세요. - `428` — 헤더 누락. 조회 후 재시도하세요. - `412` — 그 사이 구독이 바뀌었습니다(누군가 수정했거나 발송기가 상태를 내렸습니다). 다시 조회해 정말 지울 대상이 맞는지 확인하고 최신 `ETag` 로 재시도하세요. **필수 스코프:** `webhooks:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
467
571
|
|
|
468
572
|
### Example
|
|
469
573
|
|
|
@@ -476,10 +580,16 @@ import {
|
|
|
476
580
|
const configuration = new Configuration();
|
|
477
581
|
const apiInstance = new PartnerV2Api(configuration);
|
|
478
582
|
|
|
479
|
-
let
|
|
583
|
+
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
584
|
+
let ifMatch: string; // (default to undefined)
|
|
585
|
+
let ifMatch2: string; //직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412 로 거절되며 아무것도 변경되지 않습니다. (default to undefined)
|
|
586
|
+
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. (default to undefined)
|
|
480
587
|
|
|
481
|
-
const { status, data } = await apiInstance.
|
|
482
|
-
|
|
588
|
+
const { status, data } = await apiInstance.deleteWebhookEndpoint(
|
|
589
|
+
endpointId,
|
|
590
|
+
ifMatch,
|
|
591
|
+
ifMatch2,
|
|
592
|
+
idempotencyKey
|
|
483
593
|
);
|
|
484
594
|
```
|
|
485
595
|
|
|
@@ -487,12 +597,15 @@ const { status, data } = await apiInstance.getBid(
|
|
|
487
597
|
|
|
488
598
|
|Name | Type | Description | Notes|
|
|
489
599
|
|------------- | ------------- | ------------- | -------------|
|
|
490
|
-
| **
|
|
600
|
+
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
601
|
+
| **ifMatch** | [**string**] | | defaults to undefined|
|
|
602
|
+
| **ifMatch2** | [**string**] | 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412 로 거절되며 아무것도 변경되지 않습니다. | defaults to undefined|
|
|
603
|
+
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. | defaults to undefined|
|
|
491
604
|
|
|
492
605
|
|
|
493
606
|
### Return type
|
|
494
607
|
|
|
495
|
-
|
|
608
|
+
void (empty response body)
|
|
496
609
|
|
|
497
610
|
### Authorization
|
|
498
611
|
|
|
@@ -501,16 +614,20 @@ const { status, data } = await apiInstance.getBid(
|
|
|
501
614
|
### HTTP request headers
|
|
502
615
|
|
|
503
616
|
- **Content-Type**: Not defined
|
|
504
|
-
- **Accept**: application/json
|
|
617
|
+
- **Accept**: application/problem+json
|
|
505
618
|
|
|
506
619
|
|
|
507
620
|
### HTTP response details
|
|
508
621
|
| Status code | Description | Response headers |
|
|
509
622
|
|-------------|-------------|------------------|
|
|
510
|
-
|**
|
|
623
|
+
|**204** | 구독 삭제 완료(본문 없음). | - |
|
|
624
|
+
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
511
625
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
512
626
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
513
|
-
|**
|
|
627
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
628
|
+
|**412** | `If-Match` 가 현재 구독 버전과 다릅니다(`type: …/precondition-failed`). 다시 조회해 최신 `ETag` 로 재시도하세요. | - |
|
|
629
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
630
|
+
|**428** | `If-Match` 헤더가 없습니다(`type: …/if-match-required`). 잃어버린 삭제 사고를 막기 위해 필수입니다. | - |
|
|
514
631
|
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
515
632
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
516
633
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -518,10 +635,10 @@ const { status, data } = await apiInstance.getBid(
|
|
|
518
635
|
|
|
519
636
|
[[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)
|
|
520
637
|
|
|
521
|
-
# **
|
|
522
|
-
>
|
|
638
|
+
# **downloadFile**
|
|
639
|
+
> downloadFile()
|
|
523
640
|
|
|
524
|
-
|
|
641
|
+
무인증 — `fileKey` 자체가 capability 다(V5 `/download/{fileKey}` 와 같은 보안 모델). 파트너 응답의 `fileUrl`/`fullUrl` 이 이 URL 을 가리킨다. 요청 시점에 서명하므로 URL 을 저장해 두어도 만료되지 않는다. 응답은 실제 저장소 URL 로의 302 리다이렉트이며 리다이렉트 타깃은 1시간 뒤 만료되므로 302 자체를 캐시하지 말 것(`Cache-Control: no-store`). --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — `GET /v2/files/{fileKey}` 가 파일 메타와 `downloadUrl` 을 v2 응답 규약으로 돌려줍니다. 이 안정 URL 은 파트너 응답의 `fileUrl`/`fullUrl` 이 가리키는 주소라 계속 유지되며 중단 일정은 없습니다.
|
|
525
642
|
|
|
526
643
|
### Example
|
|
527
644
|
|
|
@@ -534,10 +651,10 @@ import {
|
|
|
534
651
|
const configuration = new Configuration();
|
|
535
652
|
const apiInstance = new PartnerV2Api(configuration);
|
|
536
653
|
|
|
537
|
-
let
|
|
654
|
+
let fileKey: string; //파일 키 — UUIDv4 hex 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. (default to undefined)
|
|
538
655
|
|
|
539
|
-
const { status, data } = await apiInstance.
|
|
540
|
-
|
|
656
|
+
const { status, data } = await apiInstance.downloadFile(
|
|
657
|
+
fileKey
|
|
541
658
|
);
|
|
542
659
|
```
|
|
543
660
|
|
|
@@ -545,41 +662,34 @@ const { status, data } = await apiInstance.getBidResults(
|
|
|
545
662
|
|
|
546
663
|
|Name | Type | Description | Notes|
|
|
547
664
|
|------------- | ------------- | ------------- | -------------|
|
|
548
|
-
| **
|
|
665
|
+
| **fileKey** | [**string**] | 파일 키 — UUIDv4 hex 32자. 업로드(`POST /v1|/v2/files`) 응답에서 받은 값. | defaults to undefined|
|
|
549
666
|
|
|
550
667
|
|
|
551
668
|
### Return type
|
|
552
669
|
|
|
553
|
-
|
|
670
|
+
void (empty response body)
|
|
554
671
|
|
|
555
672
|
### Authorization
|
|
556
673
|
|
|
557
|
-
|
|
674
|
+
No authorization required
|
|
558
675
|
|
|
559
676
|
### HTTP request headers
|
|
560
677
|
|
|
561
678
|
- **Content-Type**: Not defined
|
|
562
|
-
- **Accept**:
|
|
679
|
+
- **Accept**: Not defined
|
|
563
680
|
|
|
564
681
|
|
|
565
682
|
### HTTP response details
|
|
566
683
|
| Status code | Description | Response headers |
|
|
567
684
|
|-------------|-------------|------------------|
|
|
568
|
-
|**
|
|
569
|
-
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
570
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
571
|
-
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
572
|
-
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
573
|
-
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
574
|
-
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
575
|
-
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
685
|
+
|**302** | 해소된 다운로드 URL 로 리다이렉트 | - |
|
|
576
686
|
|
|
577
687
|
[[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)
|
|
578
688
|
|
|
579
|
-
# **
|
|
580
|
-
>
|
|
689
|
+
# **getBid**
|
|
690
|
+
> GetBid200Response getBid()
|
|
581
691
|
|
|
582
|
-
|
|
692
|
+
공고의 현재 상태와 라이프사이클 하위 상태(계약서류 생성·정산·세금계산서)를 조회합니다. 스코프 `bids:read`. ERP 는 이 엔드포인트를 폴링해 async 처리(정산 마감·세금계산서 발행 등)의 성사를 관측합니다. **낙찰 여부:** 이 응답의 `status` 가 아니라 낙찰 결과 조회(`GET /v2/bids/{bidId}/results`)의 `participants[].isWinner` 로 관측합니다. AWARDED 라는 공고 상태는 존재하지 않으며(낙찰 직후 공고는 CONTRACT_IN_PROGRESS 로 전이) `status === \'AWARDED\'` 를 기다리면 영원히 도달하지 않습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
583
693
|
|
|
584
694
|
### Example
|
|
585
695
|
|
|
@@ -592,9 +702,9 @@ import {
|
|
|
592
702
|
const configuration = new Configuration();
|
|
593
703
|
const apiInstance = new PartnerV2Api(configuration);
|
|
594
704
|
|
|
595
|
-
let bidId: string;
|
|
705
|
+
let bidId: string; //공고 식별자(등록 응답의 bidId). (default to undefined)
|
|
596
706
|
|
|
597
|
-
const { status, data } = await apiInstance.
|
|
707
|
+
const { status, data } = await apiInstance.getBid(
|
|
598
708
|
bidId
|
|
599
709
|
);
|
|
600
710
|
```
|
|
@@ -603,12 +713,12 @@ const { status, data } = await apiInstance.getBidSettlement(
|
|
|
603
713
|
|
|
604
714
|
|Name | Type | Description | Notes|
|
|
605
715
|
|------------- | ------------- | ------------- | -------------|
|
|
606
|
-
| **bidId** | [**string**] |
|
|
716
|
+
| **bidId** | [**string**] | 공고 식별자(등록 응답의 bidId). | defaults to undefined|
|
|
607
717
|
|
|
608
718
|
|
|
609
719
|
### Return type
|
|
610
720
|
|
|
611
|
-
**
|
|
721
|
+
**GetBid200Response**
|
|
612
722
|
|
|
613
723
|
### Authorization
|
|
614
724
|
|
|
@@ -617,13 +727,13 @@ const { status, data } = await apiInstance.getBidSettlement(
|
|
|
617
727
|
### HTTP request headers
|
|
618
728
|
|
|
619
729
|
- **Content-Type**: Not defined
|
|
620
|
-
- **Accept**: application/json
|
|
730
|
+
- **Accept**: application/json, application/problem+json
|
|
621
731
|
|
|
622
732
|
|
|
623
733
|
### HTTP response details
|
|
624
734
|
| Status code | Description | Response headers |
|
|
625
735
|
|-------------|-------------|------------------|
|
|
626
|
-
|**200** | | - |
|
|
736
|
+
|**200** | | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
627
737
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
628
738
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
629
739
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
@@ -634,10 +744,10 @@ const { status, data } = await apiInstance.getBidSettlement(
|
|
|
634
744
|
|
|
635
745
|
[[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)
|
|
636
746
|
|
|
637
|
-
# **
|
|
638
|
-
>
|
|
747
|
+
# **getBidAcceptance**
|
|
748
|
+
> GetBidAcceptance200Response getBidAcceptance()
|
|
639
749
|
|
|
640
|
-
낙찰
|
|
750
|
+
공고의 납품·검수·계약완료 진행 상태를 조회합니다. 검수완료 전송의 읽기 카운터파트입니다. **세 축은 서로 다른 사건입니다.** - `delivered`: 낙찰 공급사가 납품(결과확인)을 보고했습니다. - `confirmed`/`confirmedAt`: 발주기관이 검수를 확인했습니다. - `contractCompletedAt`: 검수완료 전송이 원장에 반영된 시각입니다. 검수완료 전송(`POST /v2/bids/{bidId}/acceptance`)이 성사되었는지는 `contractCompletedAt` 이 채워졌는지로 확인하세요. **필수 스코프:** `contracts:read`
|
|
641
751
|
|
|
642
752
|
### Example
|
|
643
753
|
|
|
@@ -650,12 +760,10 @@ import {
|
|
|
650
760
|
const configuration = new Configuration();
|
|
651
761
|
const apiInstance = new PartnerV2Api(configuration);
|
|
652
762
|
|
|
653
|
-
let bidId: string;
|
|
654
|
-
let paperCode: number; // (optional) (default to undefined)
|
|
763
|
+
let bidId: string; //공고 ID(= backend bidId = 등록 응답의 bidNo). (default to undefined)
|
|
655
764
|
|
|
656
|
-
const { status, data } = await apiInstance.
|
|
657
|
-
bidId
|
|
658
|
-
paperCode
|
|
765
|
+
const { status, data } = await apiInstance.getBidAcceptance(
|
|
766
|
+
bidId
|
|
659
767
|
);
|
|
660
768
|
```
|
|
661
769
|
|
|
@@ -663,13 +771,12 @@ const { status, data } = await apiInstance.getBidStatement(
|
|
|
663
771
|
|
|
664
772
|
|Name | Type | Description | Notes|
|
|
665
773
|
|------------- | ------------- | ------------- | -------------|
|
|
666
|
-
| **bidId** | [**string**] |
|
|
667
|
-
| **paperCode** | [**number**] | | (optional) defaults to undefined|
|
|
774
|
+
| **bidId** | [**string**] | 공고 ID(= backend bidId = 등록 응답의 bidNo). | defaults to undefined|
|
|
668
775
|
|
|
669
776
|
|
|
670
777
|
### Return type
|
|
671
778
|
|
|
672
|
-
**
|
|
779
|
+
**GetBidAcceptance200Response**
|
|
673
780
|
|
|
674
781
|
### Authorization
|
|
675
782
|
|
|
@@ -678,13 +785,13 @@ const { status, data } = await apiInstance.getBidStatement(
|
|
|
678
785
|
### HTTP request headers
|
|
679
786
|
|
|
680
787
|
- **Content-Type**: Not defined
|
|
681
|
-
- **Accept**: application/json
|
|
788
|
+
- **Accept**: application/json, application/problem+json
|
|
682
789
|
|
|
683
790
|
|
|
684
791
|
### HTTP response details
|
|
685
792
|
| Status code | Description | Response headers |
|
|
686
793
|
|-------------|-------------|------------------|
|
|
687
|
-
|**200** |
|
|
794
|
+
|**200** | 검수 현황. | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
688
795
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
689
796
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
690
797
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
@@ -695,10 +802,10 @@ const { status, data } = await apiInstance.getBidStatement(
|
|
|
695
802
|
|
|
696
803
|
[[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)
|
|
697
804
|
|
|
698
|
-
# **
|
|
699
|
-
>
|
|
805
|
+
# **getBidResults**
|
|
806
|
+
> GetBidResults200Response getBidResults()
|
|
700
807
|
|
|
701
|
-
|
|
808
|
+
공고의 응찰 참여 업체·순위·낙찰 여부를 조회한다. scope bids:read.
|
|
702
809
|
|
|
703
810
|
### Example
|
|
704
811
|
|
|
@@ -711,10 +818,10 @@ import {
|
|
|
711
818
|
const configuration = new Configuration();
|
|
712
819
|
const apiInstance = new PartnerV2Api(configuration);
|
|
713
820
|
|
|
714
|
-
let
|
|
821
|
+
let bidId: string; // (default to undefined)
|
|
715
822
|
|
|
716
|
-
const { status, data } = await apiInstance.
|
|
717
|
-
|
|
823
|
+
const { status, data } = await apiInstance.getBidResults(
|
|
824
|
+
bidId
|
|
718
825
|
);
|
|
719
826
|
```
|
|
720
827
|
|
|
@@ -722,12 +829,12 @@ const { status, data } = await apiInstance.getSemoContractTaxinvoiceStatus(
|
|
|
722
829
|
|
|
723
830
|
|Name | Type | Description | Notes|
|
|
724
831
|
|------------- | ------------- | ------------- | -------------|
|
|
725
|
-
| **
|
|
832
|
+
| **bidId** | [**string**] | | defaults to undefined|
|
|
726
833
|
|
|
727
834
|
|
|
728
835
|
### Return type
|
|
729
836
|
|
|
730
|
-
**
|
|
837
|
+
**GetBidResults200Response**
|
|
731
838
|
|
|
732
839
|
### Authorization
|
|
733
840
|
|
|
@@ -736,20 +843,27 @@ const { status, data } = await apiInstance.getSemoContractTaxinvoiceStatus(
|
|
|
736
843
|
### HTTP request headers
|
|
737
844
|
|
|
738
845
|
- **Content-Type**: Not defined
|
|
739
|
-
- **Accept**: application/json
|
|
846
|
+
- **Accept**: application/json, application/problem+json
|
|
740
847
|
|
|
741
848
|
|
|
742
849
|
### HTTP response details
|
|
743
850
|
| Status code | Description | Response headers |
|
|
744
851
|
|-------------|-------------|------------------|
|
|
745
|
-
|**200** | | - |
|
|
852
|
+
|**200** | | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
853
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
854
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
855
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
856
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
857
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
858
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
859
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
746
860
|
|
|
747
861
|
[[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)
|
|
748
862
|
|
|
749
|
-
# **
|
|
750
|
-
>
|
|
863
|
+
# **getBidSettlement**
|
|
864
|
+
> GetBidSettlement200Response getBidSettlement()
|
|
751
865
|
|
|
752
|
-
|
|
866
|
+
낙찰 공급사의 사업자·계좌·공급가액/부가세·응찰 품목내역을 조회합니다. 대금 지급에 필요한 정보입니다. 가시성 마스킹과는 직교한 정산 데이터이며 읽기 전용입니다. **필수 스코프:** `invoices:read` — 종전에는 `bids:read` 를 요구했습니다. 대금·계좌가 실리는 응답이라 공고 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
|
|
753
867
|
|
|
754
868
|
### Example
|
|
755
869
|
|
|
@@ -762,10 +876,10 @@ import {
|
|
|
762
876
|
const configuration = new Configuration();
|
|
763
877
|
const apiInstance = new PartnerV2Api(configuration);
|
|
764
878
|
|
|
765
|
-
let
|
|
879
|
+
let bidId: string; // (default to undefined)
|
|
766
880
|
|
|
767
|
-
const { status, data } = await apiInstance.
|
|
768
|
-
|
|
881
|
+
const { status, data } = await apiInstance.getBidSettlement(
|
|
882
|
+
bidId
|
|
769
883
|
);
|
|
770
884
|
```
|
|
771
885
|
|
|
@@ -773,12 +887,12 @@ const { status, data } = await apiInstance.getSupplierCardPayable(
|
|
|
773
887
|
|
|
774
888
|
|Name | Type | Description | Notes|
|
|
775
889
|
|------------- | ------------- | ------------- | -------------|
|
|
776
|
-
| **
|
|
890
|
+
| **bidId** | [**string**] | | defaults to undefined|
|
|
777
891
|
|
|
778
892
|
|
|
779
893
|
### Return type
|
|
780
894
|
|
|
781
|
-
**
|
|
895
|
+
**GetBidSettlement200Response**
|
|
782
896
|
|
|
783
897
|
### Authorization
|
|
784
898
|
|
|
@@ -787,20 +901,27 @@ const { status, data } = await apiInstance.getSupplierCardPayable(
|
|
|
787
901
|
### HTTP request headers
|
|
788
902
|
|
|
789
903
|
- **Content-Type**: Not defined
|
|
790
|
-
- **Accept**: application/json
|
|
904
|
+
- **Accept**: application/json, application/problem+json
|
|
791
905
|
|
|
792
906
|
|
|
793
907
|
### HTTP response details
|
|
794
908
|
| Status code | Description | Response headers |
|
|
795
909
|
|-------------|-------------|------------------|
|
|
796
|
-
|**200** | | - |
|
|
910
|
+
|**200** | | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
911
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
912
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
913
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
914
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
915
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
916
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
917
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
797
918
|
|
|
798
919
|
[[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)
|
|
799
920
|
|
|
800
|
-
# **
|
|
801
|
-
>
|
|
921
|
+
# **getBidStatement**
|
|
922
|
+
> GetBidStatement200Response getBidStatement()
|
|
802
923
|
|
|
803
|
-
|
|
924
|
+
낙찰 계약의 거래명세서(문서 헤더와 품목 라인)를 조회합니다. **필수 스코프:** `invoices:read` — 종전에는 `contracts:read` 를 요구했습니다. 금액이 실리는 정산 계열 문서라 계약서류 조회 권한과 분리했습니다. 이 엔드포인트를 쓰시던 키에는 `invoices:read` 를 추가로 부여받으셔야 합니다.
|
|
804
925
|
|
|
805
926
|
### Example
|
|
806
927
|
|
|
@@ -813,61 +934,451 @@ import {
|
|
|
813
934
|
const configuration = new Configuration();
|
|
814
935
|
const apiInstance = new PartnerV2Api(configuration);
|
|
815
936
|
|
|
816
|
-
|
|
937
|
+
let bidId: string; // (default to undefined)
|
|
938
|
+
let paperCode: number; // (optional) (default to undefined)
|
|
939
|
+
|
|
940
|
+
const { status, data } = await apiInstance.getBidStatement(
|
|
941
|
+
bidId,
|
|
942
|
+
paperCode
|
|
943
|
+
);
|
|
817
944
|
```
|
|
818
945
|
|
|
819
946
|
### Parameters
|
|
820
|
-
|
|
947
|
+
|
|
948
|
+
|Name | Type | Description | Notes|
|
|
949
|
+
|------------- | ------------- | ------------- | -------------|
|
|
950
|
+
| **bidId** | [**string**] | | defaults to undefined|
|
|
951
|
+
| **paperCode** | [**number**] | | (optional) defaults to undefined|
|
|
821
952
|
|
|
822
953
|
|
|
823
954
|
### Return type
|
|
824
955
|
|
|
825
|
-
**
|
|
956
|
+
**GetBidStatement200Response**
|
|
826
957
|
|
|
827
958
|
### Authorization
|
|
828
959
|
|
|
829
|
-
|
|
960
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
830
961
|
|
|
831
962
|
### HTTP request headers
|
|
832
963
|
|
|
833
964
|
- **Content-Type**: Not defined
|
|
834
|
-
- **Accept**: application/json
|
|
965
|
+
- **Accept**: application/json, application/problem+json
|
|
835
966
|
|
|
836
967
|
|
|
837
968
|
### HTTP response details
|
|
838
969
|
| Status code | Description | Response headers |
|
|
839
970
|
|-------------|-------------|------------------|
|
|
840
|
-
|**200** | | - |
|
|
971
|
+
|**200** | | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
972
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
973
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
974
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
841
975
|
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
842
976
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
977
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
978
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
843
979
|
|
|
844
980
|
[[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)
|
|
845
981
|
|
|
846
|
-
# **
|
|
847
|
-
>
|
|
982
|
+
# **getFileMeta**
|
|
983
|
+
> GetFileMeta200Response getFileMeta()
|
|
848
984
|
|
|
849
|
-
|
|
985
|
+
파일명·크기·업로드 시각과 내려받기 주소를 함께 조회합니다. **내려받기:** 응답의 `downloadUrl` 로 파일을 받으세요. 요청 시점에 서명하므로 유효기간이 있습니다 — 저장해 두고 재사용하지 마시고 필요할 때 이 조회를 다시 호출하세요. **구 경로:** 버전 없는 `GET /files/{fileKey}` 는 만료 없는 안정 주소이고 파트너 응답의 `fileUrl`/`fullUrl` 이 그 값을 가리킵니다. 인증도 스코프도 없는 옛 표면이라 신규 연동은 이 엔드포인트를 쓰세요. 구 경로는 당분간 유지됩니다. **MIME 타입은 싣지 않습니다.** 저장소가 그 값을 신뢰할 수 있게 보관하지 않아서, 지어내면 그것으로 분기한 쪽이 조용히 틀립니다. 확장자는 `fileName` 에 그대로 들어 있습니다. **형식이 틀린 키는 404 가 아니라 400 입니다.** 하이픈 없는 16진수 32자가 아닌 값은 애초에 키가 될 수 없으므로 그렇게 답합니다. 형식은 맞지만 없는 키는 404 입니다. **필수 스코프:** `files:read`
|
|
850
986
|
|
|
851
987
|
### Example
|
|
852
988
|
|
|
853
989
|
```typescript
|
|
854
990
|
import {
|
|
855
991
|
PartnerV2Api,
|
|
856
|
-
Configuration
|
|
857
|
-
|
|
992
|
+
Configuration
|
|
993
|
+
} from '@cmarket/partner-sdk';
|
|
994
|
+
|
|
995
|
+
const configuration = new Configuration();
|
|
996
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
997
|
+
|
|
998
|
+
let fileKey: string; //파일 키 — 업로드 응답의 fileKey(하이픈 없는 16진수 32자). (default to undefined)
|
|
999
|
+
|
|
1000
|
+
const { status, data } = await apiInstance.getFileMeta(
|
|
1001
|
+
fileKey
|
|
1002
|
+
);
|
|
1003
|
+
```
|
|
1004
|
+
|
|
1005
|
+
### Parameters
|
|
1006
|
+
|
|
1007
|
+
|Name | Type | Description | Notes|
|
|
1008
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1009
|
+
| **fileKey** | [**string**] | 파일 키 — 업로드 응답의 fileKey(하이픈 없는 16진수 32자). | defaults to undefined|
|
|
1010
|
+
|
|
1011
|
+
|
|
1012
|
+
### Return type
|
|
1013
|
+
|
|
1014
|
+
**GetFileMeta200Response**
|
|
1015
|
+
|
|
1016
|
+
### Authorization
|
|
1017
|
+
|
|
1018
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1019
|
+
|
|
1020
|
+
### HTTP request headers
|
|
1021
|
+
|
|
1022
|
+
- **Content-Type**: Not defined
|
|
1023
|
+
- **Accept**: application/json, application/problem+json
|
|
1024
|
+
|
|
1025
|
+
|
|
1026
|
+
### HTTP response details
|
|
1027
|
+
| Status code | Description | Response headers |
|
|
1028
|
+
|-------------|-------------|------------------|
|
|
1029
|
+
|**200** | | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
1030
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1031
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1032
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1033
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1034
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1035
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
1036
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
1037
|
+
|
|
1038
|
+
[[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)
|
|
1039
|
+
|
|
1040
|
+
# **getSemoContractTaxinvoiceStatus**
|
|
1041
|
+
> SemoContractTaxinvoiceStatusResponseDto getSemoContractTaxinvoiceStatus()
|
|
1042
|
+
|
|
1043
|
+
등록한 계약의 계산서 발행 상태를 확인합니다. **언제 쓰나:** 씨마켓이 보내는 발행완료 통지를 놓쳤을 때의 **복구 경로**입니다. 평상시에는 통지를 받아 처리하고, 상태가 어긋난 것 같을 때 이 API 로 되읽으세요. **필수 스코프:** `contracts:read`
|
|
1044
|
+
|
|
1045
|
+
### Example
|
|
1046
|
+
|
|
1047
|
+
```typescript
|
|
1048
|
+
import {
|
|
1049
|
+
PartnerV2Api,
|
|
1050
|
+
Configuration
|
|
1051
|
+
} from '@cmarket/partner-sdk';
|
|
1052
|
+
|
|
1053
|
+
const configuration = new Configuration();
|
|
1054
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1055
|
+
|
|
1056
|
+
let externalContractId: string; //등록할 때 보낸 파트너 측 계약 식별자. (default to undefined)
|
|
1057
|
+
|
|
1058
|
+
const { status, data } = await apiInstance.getSemoContractTaxinvoiceStatus(
|
|
1059
|
+
externalContractId
|
|
1060
|
+
);
|
|
1061
|
+
```
|
|
1062
|
+
|
|
1063
|
+
### Parameters
|
|
1064
|
+
|
|
1065
|
+
|Name | Type | Description | Notes|
|
|
1066
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1067
|
+
| **externalContractId** | [**string**] | 등록할 때 보낸 파트너 측 계약 식별자. | defaults to undefined|
|
|
1068
|
+
|
|
1069
|
+
|
|
1070
|
+
### Return type
|
|
1071
|
+
|
|
1072
|
+
**SemoContractTaxinvoiceStatusResponseDto**
|
|
1073
|
+
|
|
1074
|
+
### Authorization
|
|
1075
|
+
|
|
1076
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1077
|
+
|
|
1078
|
+
### HTTP request headers
|
|
1079
|
+
|
|
1080
|
+
- **Content-Type**: Not defined
|
|
1081
|
+
- **Accept**: application/json
|
|
1082
|
+
|
|
1083
|
+
|
|
1084
|
+
### HTTP response details
|
|
1085
|
+
| Status code | Description | Response headers |
|
|
1086
|
+
|-------------|-------------|------------------|
|
|
1087
|
+
|**200** | | - |
|
|
1088
|
+
|
|
1089
|
+
[[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)
|
|
1090
|
+
|
|
1091
|
+
# **getSupplierCardPayable**
|
|
1092
|
+
> SupplierCardPayableResponseDto getSupplierCardPayable()
|
|
1093
|
+
|
|
1094
|
+
계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어는 지지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **필수 스코프:** `payments:write` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 이미 있습니다 — 같은 기능을 v2 응답 규약으로 제공하는 `POST /v2/card-payments` 와 `GET /v2/suppliers/{memberId}/card-payable` 를 신규 연동에 권합니다. 이 경로도 계속 동작하며 중단 일정은 없습니다.
|
|
1095
|
+
|
|
1096
|
+
### Example
|
|
1097
|
+
|
|
1098
|
+
```typescript
|
|
1099
|
+
import {
|
|
1100
|
+
PartnerV2Api,
|
|
1101
|
+
Configuration
|
|
1102
|
+
} from '@cmarket/partner-sdk';
|
|
1103
|
+
|
|
1104
|
+
const configuration = new Configuration();
|
|
1105
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1106
|
+
|
|
1107
|
+
let memberId: string; //계약업체 회원 ID (default to undefined)
|
|
1108
|
+
|
|
1109
|
+
const { status, data } = await apiInstance.getSupplierCardPayable(
|
|
1110
|
+
memberId
|
|
1111
|
+
);
|
|
1112
|
+
```
|
|
1113
|
+
|
|
1114
|
+
### Parameters
|
|
1115
|
+
|
|
1116
|
+
|Name | Type | Description | Notes|
|
|
1117
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1118
|
+
| **memberId** | [**string**] | 계약업체 회원 ID | defaults to undefined|
|
|
1119
|
+
|
|
1120
|
+
|
|
1121
|
+
### Return type
|
|
1122
|
+
|
|
1123
|
+
**SupplierCardPayableResponseDto**
|
|
1124
|
+
|
|
1125
|
+
### Authorization
|
|
1126
|
+
|
|
1127
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1128
|
+
|
|
1129
|
+
### HTTP request headers
|
|
1130
|
+
|
|
1131
|
+
- **Content-Type**: Not defined
|
|
1132
|
+
- **Accept**: application/json
|
|
1133
|
+
|
|
1134
|
+
|
|
1135
|
+
### HTTP response details
|
|
1136
|
+
| Status code | Description | Response headers |
|
|
1137
|
+
|-------------|-------------|------------------|
|
|
1138
|
+
|**200** | | - |
|
|
1139
|
+
|
|
1140
|
+
[[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)
|
|
1141
|
+
|
|
1142
|
+
# **getSupplierCardPayableV2**
|
|
1143
|
+
> GetSupplierCardPayableV2200Response getSupplierCardPayableV2()
|
|
1144
|
+
|
|
1145
|
+
계약업체가 카드결제로 대금을 받을 수 있는 상태인지 확인합니다(씨마켓 회원 + 카드결제 가맹). **결제수단을 사용자에게 보여주기 전에** 호출하세요. 불가한 업체로 결제창을 만들면 만들어지기는 하지만 결제가 막혀, 사용자가 막다른 길에 갇힙니다. **응답은 가부와 사유뿐입니다.** 업체의 상호·사업자번호 같은 식별정보는 싣지 않습니다. **필수 스코프:** `payments:read` — 구 경로(`/v2/card-payment-requests/suppliers/{id}/card-payable`)는 조회인데도 `payments:write` 를 요구했습니다. 그쪽은 동결 표면이라 그대로 둡니다.
|
|
1146
|
+
|
|
1147
|
+
### Example
|
|
1148
|
+
|
|
1149
|
+
```typescript
|
|
1150
|
+
import {
|
|
1151
|
+
PartnerV2Api,
|
|
1152
|
+
Configuration
|
|
1153
|
+
} from '@cmarket/partner-sdk';
|
|
1154
|
+
|
|
1155
|
+
const configuration = new Configuration();
|
|
1156
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1157
|
+
|
|
1158
|
+
let memberId: string; //계약업체 회원 ID (default to undefined)
|
|
1159
|
+
|
|
1160
|
+
const { status, data } = await apiInstance.getSupplierCardPayableV2(
|
|
1161
|
+
memberId
|
|
1162
|
+
);
|
|
1163
|
+
```
|
|
1164
|
+
|
|
1165
|
+
### Parameters
|
|
1166
|
+
|
|
1167
|
+
|Name | Type | Description | Notes|
|
|
1168
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1169
|
+
| **memberId** | [**string**] | 계약업체 회원 ID | defaults to undefined|
|
|
1170
|
+
|
|
1171
|
+
|
|
1172
|
+
### Return type
|
|
1173
|
+
|
|
1174
|
+
**GetSupplierCardPayableV2200Response**
|
|
1175
|
+
|
|
1176
|
+
### Authorization
|
|
1177
|
+
|
|
1178
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1179
|
+
|
|
1180
|
+
### HTTP request headers
|
|
1181
|
+
|
|
1182
|
+
- **Content-Type**: Not defined
|
|
1183
|
+
- **Accept**: application/json, application/problem+json
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
### HTTP response details
|
|
1187
|
+
| Status code | Description | Response headers |
|
|
1188
|
+
|-------------|-------------|------------------|
|
|
1189
|
+
|**200** | | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
1190
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1191
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1192
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1193
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1194
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1195
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
1196
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
1197
|
+
|
|
1198
|
+
[[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)
|
|
1199
|
+
|
|
1200
|
+
# **getWebhookEndpoint**
|
|
1201
|
+
> GetWebhookEndpoint200Response getWebhookEndpoint()
|
|
1202
|
+
|
|
1203
|
+
구독 1건의 현재 상태를 조회합니다. 서명 시크릿은 실리지 않습니다. **수정·삭제 전에 먼저 호출하세요.** 응답 헤더 `ETag` 를 `If-Match` 에 그대로 실어야 `PATCH`/`DELETE` 가 통과합니다. **`404`:** 없는 구독이거나 다른 파트너 키의 구독입니다 — `endpointId` 를 확인하세요. **필수 스코프:** `webhooks:read`
|
|
1204
|
+
|
|
1205
|
+
### Example
|
|
1206
|
+
|
|
1207
|
+
```typescript
|
|
1208
|
+
import {
|
|
1209
|
+
PartnerV2Api,
|
|
1210
|
+
Configuration
|
|
1211
|
+
} from '@cmarket/partner-sdk';
|
|
1212
|
+
|
|
1213
|
+
const configuration = new Configuration();
|
|
1214
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1215
|
+
|
|
1216
|
+
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
1217
|
+
|
|
1218
|
+
const { status, data } = await apiInstance.getWebhookEndpoint(
|
|
1219
|
+
endpointId
|
|
1220
|
+
);
|
|
1221
|
+
```
|
|
1222
|
+
|
|
1223
|
+
### Parameters
|
|
1224
|
+
|
|
1225
|
+
|Name | Type | Description | Notes|
|
|
1226
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1227
|
+
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
1228
|
+
|
|
1229
|
+
|
|
1230
|
+
### Return type
|
|
1231
|
+
|
|
1232
|
+
**GetWebhookEndpoint200Response**
|
|
1233
|
+
|
|
1234
|
+
### Authorization
|
|
1235
|
+
|
|
1236
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1237
|
+
|
|
1238
|
+
### HTTP request headers
|
|
1239
|
+
|
|
1240
|
+
- **Content-Type**: Not defined
|
|
1241
|
+
- **Accept**: application/json, application/problem+json
|
|
1242
|
+
|
|
1243
|
+
|
|
1244
|
+
### HTTP response details
|
|
1245
|
+
| Status code | Description | Response headers |
|
|
1246
|
+
|-------------|-------------|------------------|
|
|
1247
|
+
|**200** | 웹훅 구독 상세. | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
1248
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1249
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1250
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1251
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1252
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1253
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
1254
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
1255
|
+
|
|
1256
|
+
[[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)
|
|
1257
|
+
|
|
1258
|
+
# **healthControllerCheck**
|
|
1259
|
+
> HealthControllerCheck200Response healthControllerCheck()
|
|
1260
|
+
|
|
1261
|
+
ERP 연동 직전 회선·인증 endpoint 동작 확인용.
|
|
1262
|
+
|
|
1263
|
+
### Example
|
|
1264
|
+
|
|
1265
|
+
```typescript
|
|
1266
|
+
import {
|
|
1267
|
+
PartnerV2Api,
|
|
1268
|
+
Configuration
|
|
1269
|
+
} from '@cmarket/partner-sdk';
|
|
1270
|
+
|
|
1271
|
+
const configuration = new Configuration();
|
|
1272
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1273
|
+
|
|
1274
|
+
const { status, data } = await apiInstance.healthControllerCheck();
|
|
1275
|
+
```
|
|
1276
|
+
|
|
1277
|
+
### Parameters
|
|
1278
|
+
This endpoint does not have any parameters.
|
|
1279
|
+
|
|
1280
|
+
|
|
1281
|
+
### Return type
|
|
1282
|
+
|
|
1283
|
+
**HealthControllerCheck200Response**
|
|
1284
|
+
|
|
1285
|
+
### Authorization
|
|
1286
|
+
|
|
1287
|
+
No authorization required
|
|
1288
|
+
|
|
1289
|
+
### HTTP request headers
|
|
1290
|
+
|
|
1291
|
+
- **Content-Type**: Not defined
|
|
1292
|
+
- **Accept**: application/json, application/problem+json
|
|
1293
|
+
|
|
1294
|
+
|
|
1295
|
+
### HTTP response details
|
|
1296
|
+
| Status code | Description | Response headers |
|
|
1297
|
+
|-------------|-------------|------------------|
|
|
1298
|
+
|**200** | | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
1299
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1300
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1301
|
+
|
|
1302
|
+
[[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)
|
|
1303
|
+
|
|
1304
|
+
# **listBidContractDocuments**
|
|
1305
|
+
> ListBidContractDocuments200Response listBidContractDocuments()
|
|
1306
|
+
|
|
1307
|
+
공고의 계약서류 목록과 내려받기 주소를 조회합니다. **목록에 실리는 것:** 공고 전체에 공통인 서류(약관·자동생성 공통본)와 낙찰자에게 귀속된 서류를 함께 싣습니다. 낙찰자 귀속 서류는 `winnerSequence` 에 그 낙찰자의 응찰 순번이 들어갑니다. **아직 없는 서류도 실립니다.** 공고가 제출을 요구했지만 아직 올라오지 않은 서류는 `fileKey: null` 로 나타나므로, 제출 여부는 이 값으로 판정하세요. **자동생성 서류:** `autoGenerated: true` 인 서류는 c-market 이 만들어 줍니다. 만드는 중이면 `generationState` 가 `QUEUED`/`PROCESSING` 이고 `downloadUrl` 이 아직 없습니다. `DEAD_LETTER` 는 생성이 실패해 멈춘 상태이며, 같은 경로의 POST(재생성)로 다시 큐에 올립니다. **내려받기:** `downloadUrl` 은 유효기간 1시간의 서명 주소입니다. 저장해 두고 재사용하지 마시고 필요할 때 이 엔드포인트를 다시 호출하세요. 기간에 얽매이지 않으려면 `fileKey` 를 보관하시고 파일 내려받기 경로를 사용하세요. **보이는 범위:** 서버가 공고 낙찰방법과 진행 단계로 결정합니다. 응답을 그대로 사용하시고 클라이언트에서 다시 거르지 마세요. **필수 스코프:** `contracts:read`
|
|
1308
|
+
|
|
1309
|
+
### Example
|
|
1310
|
+
|
|
1311
|
+
```typescript
|
|
1312
|
+
import {
|
|
1313
|
+
PartnerV2Api,
|
|
1314
|
+
Configuration
|
|
1315
|
+
} from '@cmarket/partner-sdk';
|
|
1316
|
+
|
|
1317
|
+
const configuration = new Configuration();
|
|
1318
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1319
|
+
|
|
1320
|
+
let bidId: string; //공고번호(buy_idx, 예 CM…) 또는 외부 구매번호(bid_puchase_no). (default to undefined)
|
|
1321
|
+
|
|
1322
|
+
const { status, data } = await apiInstance.listBidContractDocuments(
|
|
1323
|
+
bidId
|
|
1324
|
+
);
|
|
1325
|
+
```
|
|
1326
|
+
|
|
1327
|
+
### Parameters
|
|
1328
|
+
|
|
1329
|
+
|Name | Type | Description | Notes|
|
|
1330
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1331
|
+
| **bidId** | [**string**] | 공고번호(buy_idx, 예 CM…) 또는 외부 구매번호(bid_puchase_no). | defaults to undefined|
|
|
1332
|
+
|
|
1333
|
+
|
|
1334
|
+
### Return type
|
|
1335
|
+
|
|
1336
|
+
**ListBidContractDocuments200Response**
|
|
1337
|
+
|
|
1338
|
+
### Authorization
|
|
1339
|
+
|
|
1340
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1341
|
+
|
|
1342
|
+
### HTTP request headers
|
|
1343
|
+
|
|
1344
|
+
- **Content-Type**: Not defined
|
|
1345
|
+
- **Accept**: application/json, application/problem+json
|
|
1346
|
+
|
|
1347
|
+
|
|
1348
|
+
### HTTP response details
|
|
1349
|
+
| Status code | Description | Response headers |
|
|
1350
|
+
|-------------|-------------|------------------|
|
|
1351
|
+
|**200** | 계약서류 목록. | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
1352
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1353
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1354
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1355
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1356
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1357
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
1358
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
1359
|
+
|
|
1360
|
+
[[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)
|
|
1361
|
+
|
|
1362
|
+
# **listBidParticipants**
|
|
1363
|
+
> ListBidParticipants200Response listBidParticipants()
|
|
1364
|
+
|
|
1365
|
+
공고에 응찰한 업체 목록을 조회합니다. 스코프 `bids:read` 필수. **보이는 범위는 공고의 낙찰방법과 진행 단계가 결정합니다.** 개찰 전에는 업체명이 가려지고 (`companyName: null`), 순위는 산정 전까지 `null` 입니다. 이 판정은 서버가 소유하므로 응답을 그대로 사용하시고 클라이언트에서 다시 계산하지 마세요. 같은 목록이 `GET /v2/bids/{bidId}` 응답의 `participants` 에도 실립니다 — 응찰 현황만 필요하면 이 엔드포인트가 가볍습니다.
|
|
1366
|
+
|
|
1367
|
+
### Example
|
|
1368
|
+
|
|
1369
|
+
```typescript
|
|
1370
|
+
import {
|
|
1371
|
+
PartnerV2Api,
|
|
1372
|
+
Configuration
|
|
858
1373
|
} from '@cmarket/partner-sdk';
|
|
859
1374
|
|
|
860
1375
|
const configuration = new Configuration();
|
|
861
1376
|
const apiInstance = new PartnerV2Api(configuration);
|
|
862
1377
|
|
|
863
1378
|
let bidId: string; //공고 식별자(등록 응답의 bidId). (default to undefined)
|
|
864
|
-
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. (default to undefined)
|
|
865
|
-
let issueTaxInvoiceRequestDto: IssueTaxInvoiceRequestDto; //
|
|
866
1379
|
|
|
867
|
-
const { status, data } = await apiInstance.
|
|
868
|
-
bidId
|
|
869
|
-
idempotencyKey,
|
|
870
|
-
issueTaxInvoiceRequestDto
|
|
1380
|
+
const { status, data } = await apiInstance.listBidParticipants(
|
|
1381
|
+
bidId
|
|
871
1382
|
);
|
|
872
1383
|
```
|
|
873
1384
|
|
|
@@ -875,14 +1386,12 @@ const { status, data } = await apiInstance.issueTaxInvoice(
|
|
|
875
1386
|
|
|
876
1387
|
|Name | Type | Description | Notes|
|
|
877
1388
|
|------------- | ------------- | ------------- | -------------|
|
|
878
|
-
| **issueTaxInvoiceRequestDto** | **IssueTaxInvoiceRequestDto**| | |
|
|
879
1389
|
| **bidId** | [**string**] | 공고 식별자(등록 응답의 bidId). | defaults to undefined|
|
|
880
|
-
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. | defaults to undefined|
|
|
881
1390
|
|
|
882
1391
|
|
|
883
1392
|
### Return type
|
|
884
1393
|
|
|
885
|
-
**
|
|
1394
|
+
**ListBidParticipants200Response**
|
|
886
1395
|
|
|
887
1396
|
### Authorization
|
|
888
1397
|
|
|
@@ -890,19 +1399,75 @@ const { status, data } = await apiInstance.issueTaxInvoice(
|
|
|
890
1399
|
|
|
891
1400
|
### HTTP request headers
|
|
892
1401
|
|
|
893
|
-
- **Content-Type**:
|
|
894
|
-
- **Accept**: application/json
|
|
1402
|
+
- **Content-Type**: Not defined
|
|
1403
|
+
- **Accept**: application/json, application/problem+json
|
|
895
1404
|
|
|
896
1405
|
|
|
897
1406
|
### HTTP response details
|
|
898
1407
|
| Status code | Description | Response headers |
|
|
899
1408
|
|-------------|-------------|------------------|
|
|
900
|
-
|**200** |
|
|
901
|
-
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1409
|
+
|**200** | 응찰 업체 목록. | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
902
1410
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
903
1411
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
904
|
-
|**
|
|
905
|
-
|**
|
|
1412
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1413
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1414
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1415
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
1416
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
1417
|
+
|
|
1418
|
+
[[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)
|
|
1419
|
+
|
|
1420
|
+
# **listBidResults**
|
|
1421
|
+
> ListBidResults200Response listBidResults()
|
|
1422
|
+
|
|
1423
|
+
여러 공고의 응찰 결과를 한 번에 조회합니다. 스코프 `bids:read`. **이 엔드포인트를 폴링에 쓰세요.** 공고 하나씩 조회하는 대신 최대 100건을 한 왕복으로 받습니다. 응답에는 `ETag` 가 실리므로, 다음 요청에 `If-None-Match` 로 되보내면 결과가 그대로일 때 `304` 를 본문 없이 받습니다 — 마감을 기다리는 동안의 전송량이 사라집니다. **식별자 전달:** `?bidIds=A,B,C`(쉼표) 또는 `?bidIds=A&bidIds=B`(반복) 둘 다 됩니다. **없는 공고는 응답에서 빠집니다.** 존재하지 않거나 대행 범위 밖인 식별자는 오류가 아니라 누락으로 처리됩니다 — 요청한 건수와 받은 건수가 다를 수 있으니 `bidId` 로 대조하세요. **목록이 길어 URL 이 부담되면** `POST /v2/bid-results/query` 를 쓰세요. 응답은 같습니다.
|
|
1424
|
+
|
|
1425
|
+
### Example
|
|
1426
|
+
|
|
1427
|
+
```typescript
|
|
1428
|
+
import {
|
|
1429
|
+
PartnerV2Api,
|
|
1430
|
+
Configuration
|
|
1431
|
+
} from '@cmarket/partner-sdk';
|
|
1432
|
+
|
|
1433
|
+
const configuration = new Configuration();
|
|
1434
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1435
|
+
|
|
1436
|
+
let bidIds: string; //조회할 공고 식별자 목록. 쉼표로 구분하거나 `bidIds` 를 반복해 전달합니다. 최대 100건. (default to undefined)
|
|
1437
|
+
|
|
1438
|
+
const { status, data } = await apiInstance.listBidResults(
|
|
1439
|
+
bidIds
|
|
1440
|
+
);
|
|
1441
|
+
```
|
|
1442
|
+
|
|
1443
|
+
### Parameters
|
|
1444
|
+
|
|
1445
|
+
|Name | Type | Description | Notes|
|
|
1446
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1447
|
+
| **bidIds** | [**string**] | 조회할 공고 식별자 목록. 쉼표로 구분하거나 `bidIds` 를 반복해 전달합니다. 최대 100건. | defaults to undefined|
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
### Return type
|
|
1451
|
+
|
|
1452
|
+
**ListBidResults200Response**
|
|
1453
|
+
|
|
1454
|
+
### Authorization
|
|
1455
|
+
|
|
1456
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1457
|
+
|
|
1458
|
+
### HTTP request headers
|
|
1459
|
+
|
|
1460
|
+
- **Content-Type**: Not defined
|
|
1461
|
+
- **Accept**: application/json, application/problem+json
|
|
1462
|
+
|
|
1463
|
+
|
|
1464
|
+
### HTTP response details
|
|
1465
|
+
| Status code | Description | Response headers |
|
|
1466
|
+
|-------------|-------------|------------------|
|
|
1467
|
+
|**200** | | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
1468
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1469
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1470
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
906
1471
|
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
907
1472
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
908
1473
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -911,7 +1476,7 @@ const { status, data } = await apiInstance.issueTaxInvoice(
|
|
|
911
1476
|
[[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)
|
|
912
1477
|
|
|
913
1478
|
# **listBids**
|
|
914
|
-
>
|
|
1479
|
+
> ListBids200Response listBids()
|
|
915
1480
|
|
|
916
1481
|
발주처(API 키 바인딩)의 공고를 게시일 최신순으로 조회합니다. 스코프 `bids:read`. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(쿼리에 buyerId 를 넣지 않습니다). **페이지네이션(cursor):** `limit`(1~100, 기본 100) + `cursor`(불투명 토큰). 응답의 `nextCursor` 를 다음 요청 `cursor` 로 전달하면 다음 페이지를 받습니다. `nextCursor=null` 이면 마지막 페이지입니다. **상태·낙찰방법:** 공개값(의미 문자열)으로 반환됩니다. 낙찰 여부는 상태가 아니라 낙찰 결과 조회의 `participants[].isWinner` 로 관측합니다(AWARDED 상태는 없습니다).
|
|
917
1482
|
|
|
@@ -932,12 +1497,192 @@ let bidIds: Array<string>; //조회할 공고 식별자 CSV(최대 100건). 지
|
|
|
932
1497
|
let status: Array<BidPublicStatus>; //공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다. (optional) (default to undefined)
|
|
933
1498
|
let include: Array<'results' | 'products' | 'contacts'>; //행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다). (optional) (default to undefined)
|
|
934
1499
|
|
|
935
|
-
const { status, data } = await apiInstance.listBids(
|
|
936
|
-
limit,
|
|
937
|
-
cursor,
|
|
938
|
-
bidIds,
|
|
1500
|
+
const { status, data } = await apiInstance.listBids(
|
|
1501
|
+
limit,
|
|
1502
|
+
cursor,
|
|
1503
|
+
bidIds,
|
|
1504
|
+
status,
|
|
1505
|
+
include
|
|
1506
|
+
);
|
|
1507
|
+
```
|
|
1508
|
+
|
|
1509
|
+
### Parameters
|
|
1510
|
+
|
|
1511
|
+
|Name | Type | Description | Notes|
|
|
1512
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1513
|
+
| **limit** | [**number**] | 페이지 크기(1~100, 기본 100). | (optional) defaults to 100|
|
|
1514
|
+
| **cursor** | [**string**] | 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor` 를 그대로 전달한다. 미지정 시 첫 페이지. `nextCursor=null` 이면 마지막 페이지다. | (optional) defaults to undefined|
|
|
1515
|
+
| **bidIds** | **Array<string>** | 조회할 공고 식별자 CSV(최대 100건). 지정 시 그 공고만 조회한다. | (optional) defaults to undefined|
|
|
1516
|
+
| **status** | **Array<BidPublicStatus>** | 공고 상태 필터(공개값) CSV. 지정 시 그중 하나라도 일치하는 공고만 조회한다. | (optional) defaults to undefined|
|
|
1517
|
+
| **include** | **Array<'results' | 'products' | 'contacts'>** | 행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다). | (optional) defaults to undefined|
|
|
1518
|
+
|
|
1519
|
+
|
|
1520
|
+
### Return type
|
|
1521
|
+
|
|
1522
|
+
**ListBids200Response**
|
|
1523
|
+
|
|
1524
|
+
### Authorization
|
|
1525
|
+
|
|
1526
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1527
|
+
|
|
1528
|
+
### HTTP request headers
|
|
1529
|
+
|
|
1530
|
+
- **Content-Type**: Not defined
|
|
1531
|
+
- **Accept**: application/json, application/problem+json
|
|
1532
|
+
|
|
1533
|
+
|
|
1534
|
+
### HTTP response details
|
|
1535
|
+
| Status code | Description | Response headers |
|
|
1536
|
+
|-------------|-------------|------------------|
|
|
1537
|
+
|**200** | | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
1538
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1539
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1540
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1541
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1542
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1543
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
1544
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
1545
|
+
|
|
1546
|
+
[[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)
|
|
1547
|
+
|
|
1548
|
+
# **listExternalContractDocuments**
|
|
1549
|
+
> ExternalContractDocumentsResponseDto listExternalContractDocuments()
|
|
1550
|
+
|
|
1551
|
+
발주기관 회원과 거래유형으로 **그 거래에 필요한 계약서류 목록**을 조회합니다. **용도:** 공고(입찰)를 거치지 않는 거래 — 예: 채팅 기반 견적 — 에서 계약 전에 \"어떤 서류가 필요한가\"를 보여줄 때. **판정 기준:** 발주기관이 속한 그룹에 배정된 계약서류 중 그 거래유형에 적용되는 것 전부입니다. 운영자가 어드민에서 배정을 바꾸면 별도 배포 없이 즉시 반영됩니다. **응답 해석:** - `isDefault=true` — 운영자가 기본값(★)으로 켜 둔 서류입니다. 선택 화면에서 **미리 체크된 상태로** 보여주세요. 목록이 이 값으로 걸러져 있지는 않습니다. - `autoGenerated=true` — c-market 이 데이터를 채워 PDF 로 만들어 주는 서류입니다. 생성 API 의 `paperCodes` 에 넣을 수 있습니다. - `autoGenerated=false` — 이 API 로는 만들 수 없는 서류입니다(거래명세서처럼 세금계산서 발행 같은 별도 시점이 필요한 서류). 목록에서 감추지 말고 사용자가 직접 첨부하도록 안내하세요. **조회 가능한 회원 범위:** 이 API 키에 설정된 대행 범위(소속 그룹 전원 또는 지정 회원 목록) 안의 회원만 조회할 수 있습니다. 범위 밖이면 403 입니다. 대행 범위는 키 설정이며 스코프와는 별개 축입니다. **필수 스코프:** `contracts:read` --- **응답 형태가 동결된 표면입니다.** 이미 연동 중인 시스템이 있어 응답 필드를 추가하거나 이름을 바꾸지 않습니다. 다른 `/v2` 엔드포인트와 달리 `{data,meta}` 봉투를 씌우지 않으므로 응답 본문이 곧 위 스키마입니다. 지금 연동하셔도 계속 동작합니다 — 다만 이 경로에 새 기능이 추가되지는 않습니다. **대체 계획:** 공고 기반 거래의 계약서류는 `GET /v2/bids/{bidId}/contract-documents` 가 v2 응답 규약으로 제공합니다. 공고 없는 거래(이 엔드포인트)의 신 표면은 아직 없습니다 — 만들 때 이 설명에 새 경로와 이관 기간을 함께 적습니다.
|
|
1552
|
+
|
|
1553
|
+
### Example
|
|
1554
|
+
|
|
1555
|
+
```typescript
|
|
1556
|
+
import {
|
|
1557
|
+
PartnerV2Api,
|
|
1558
|
+
Configuration
|
|
1559
|
+
} from '@cmarket/partner-sdk';
|
|
1560
|
+
|
|
1561
|
+
const configuration = new Configuration();
|
|
1562
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1563
|
+
|
|
1564
|
+
let buyerId: string; //발주기관 회원 ID(c-market memberId). (default to undefined)
|
|
1565
|
+
let bidType: 'goods' | 'service' | 'construction' | 'sale'; //거래유형. (default to undefined)
|
|
1566
|
+
|
|
1567
|
+
const { status, data } = await apiInstance.listExternalContractDocuments(
|
|
1568
|
+
buyerId,
|
|
1569
|
+
bidType
|
|
1570
|
+
);
|
|
1571
|
+
```
|
|
1572
|
+
|
|
1573
|
+
### Parameters
|
|
1574
|
+
|
|
1575
|
+
|Name | Type | Description | Notes|
|
|
1576
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1577
|
+
| **buyerId** | [**string**] | 발주기관 회원 ID(c-market memberId). | defaults to undefined|
|
|
1578
|
+
| **bidType** | [**'goods' | 'service' | 'construction' | 'sale'**]**Array<'goods' | 'service' | 'construction' | 'sale'>** | 거래유형. | defaults to undefined|
|
|
1579
|
+
|
|
1580
|
+
|
|
1581
|
+
### Return type
|
|
1582
|
+
|
|
1583
|
+
**ExternalContractDocumentsResponseDto**
|
|
1584
|
+
|
|
1585
|
+
### Authorization
|
|
1586
|
+
|
|
1587
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1588
|
+
|
|
1589
|
+
### HTTP request headers
|
|
1590
|
+
|
|
1591
|
+
- **Content-Type**: Not defined
|
|
1592
|
+
- **Accept**: application/json, application/problem+json
|
|
1593
|
+
|
|
1594
|
+
|
|
1595
|
+
### HTTP response details
|
|
1596
|
+
| Status code | Description | Response headers |
|
|
1597
|
+
|-------------|-------------|------------------|
|
|
1598
|
+
|**200** | 필요 계약서류 목록. | - |
|
|
1599
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1600
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1601
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1602
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1603
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1604
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
1605
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
1606
|
+
|
|
1607
|
+
[[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)
|
|
1608
|
+
|
|
1609
|
+
# **listProducts**
|
|
1610
|
+
> ListProducts200Response listProducts()
|
|
1611
|
+
|
|
1612
|
+
기관에 공유된 물품 중 **아직 전송되지 않은 것**을 조회합니다. **증분 피드입니다.** 가져간 물품을 `POST /v2/products/receipts` 로 수신확인하면 다음 조회 결과에서 빠집니다. 수신확인을 하지 않으면 같은 물품이 계속 내려옵니다. **권장 흐름:** 조회 → 자기 시스템에 저장 → 저장에 성공한 물품 코드만 수신확인. 저장 전에 수신확인하면 그 물품은 다시 받을 수 없습니다. **조회 범위:** 요청 키가 대행하는 기관 그룹입니다. 기관 그룹이 설정되지 않은 키는 403 입니다. **필수 스코프:** `products:read`
|
|
1613
|
+
|
|
1614
|
+
### Example
|
|
1615
|
+
|
|
1616
|
+
```typescript
|
|
1617
|
+
import {
|
|
1618
|
+
PartnerV2Api,
|
|
1619
|
+
Configuration
|
|
1620
|
+
} from '@cmarket/partner-sdk';
|
|
1621
|
+
|
|
1622
|
+
const configuration = new Configuration();
|
|
1623
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1624
|
+
|
|
1625
|
+
const { status, data } = await apiInstance.listProducts();
|
|
1626
|
+
```
|
|
1627
|
+
|
|
1628
|
+
### Parameters
|
|
1629
|
+
This endpoint does not have any parameters.
|
|
1630
|
+
|
|
1631
|
+
|
|
1632
|
+
### Return type
|
|
1633
|
+
|
|
1634
|
+
**ListProducts200Response**
|
|
1635
|
+
|
|
1636
|
+
### Authorization
|
|
1637
|
+
|
|
1638
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1639
|
+
|
|
1640
|
+
### HTTP request headers
|
|
1641
|
+
|
|
1642
|
+
- **Content-Type**: Not defined
|
|
1643
|
+
- **Accept**: application/json, application/problem+json
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
### HTTP response details
|
|
1647
|
+
| Status code | Description | Response headers |
|
|
1648
|
+
|-------------|-------------|------------------|
|
|
1649
|
+
|**200** | 미전송 물품 목록. | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
1650
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1651
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1652
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1653
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1654
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1655
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
1656
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
1657
|
+
|
|
1658
|
+
[[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)
|
|
1659
|
+
|
|
1660
|
+
# **listWebhookDeliveries**
|
|
1661
|
+
> ListWebhookDeliveries200Response listWebhookDeliveries()
|
|
1662
|
+
|
|
1663
|
+
이 API 키의 웹훅 발송 시도를 최신순으로 조회합니다. 보낸 본문·수신측 응답 상태· 다음 재시도 예정 시각이 함께 실립니다. **호출 시점:** - 수신측 장애로 놓친 이벤트를 메울 때. 이 엔드포인트가 웹훅의 **폴링 대체 경로**입니다 — `status=EXHAUSTED` 로 걸러 다시 처리하면 됩니다. - \"이벤트가 안 온다\" 를 진단할 때. 발송 시도 자체가 없는지(구독·이벤트 타입 문제), 시도했지만 실패했는지(`responseStatus`·`responseBodyExcerpt`)를 여기서 가릅니다. **같은 이벤트가 여러 행으로 보입니다.** 재시도마다 한 행이며 `eventId` 가 같고 `attempt` 만 올라갑니다. 처리 여부는 `eventId` 기준으로 판단하세요. **페이지네이션:** `nextCursor` 를 다음 요청의 `cursor` 로 전달합니다. null 이면 마지막 페이지입니다. **`400`:** `status` 가 허용 값 밖이거나 `limit` 이 범위를 벗어났습니다 — 값을 고쳐 재시도하세요. **필수 스코프:** `webhooks:read`
|
|
1664
|
+
|
|
1665
|
+
### Example
|
|
1666
|
+
|
|
1667
|
+
```typescript
|
|
1668
|
+
import {
|
|
1669
|
+
PartnerV2Api,
|
|
1670
|
+
Configuration
|
|
1671
|
+
} from '@cmarket/partner-sdk';
|
|
1672
|
+
|
|
1673
|
+
const configuration = new Configuration();
|
|
1674
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1675
|
+
|
|
1676
|
+
let endpointId: string; //이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다. (optional) (default to undefined)
|
|
1677
|
+
let status: PartnerWebhookDeliveryStatus; //전송 상태 필터. 미지정이면 전부. (optional) (default to undefined)
|
|
1678
|
+
let limit: number; //페이지 크기(1~200, 기본 50). (optional) (default to 50)
|
|
1679
|
+
let cursor: string; //다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor` 를 그대로 전달합니다. 미지정 시 첫 페이지. (optional) (default to undefined)
|
|
1680
|
+
|
|
1681
|
+
const { status, data } = await apiInstance.listWebhookDeliveries(
|
|
1682
|
+
endpointId,
|
|
939
1683
|
status,
|
|
940
|
-
|
|
1684
|
+
limit,
|
|
1685
|
+
cursor
|
|
941
1686
|
);
|
|
942
1687
|
```
|
|
943
1688
|
|
|
@@ -945,16 +1690,15 @@ const { status, data } = await apiInstance.listBids(
|
|
|
945
1690
|
|
|
946
1691
|
|Name | Type | Description | Notes|
|
|
947
1692
|
|------------- | ------------- | ------------- | -------------|
|
|
948
|
-
| **
|
|
949
|
-
| **
|
|
950
|
-
| **
|
|
951
|
-
| **
|
|
952
|
-
| **include** | **Array<'results' | 'products' | 'contacts'>** | 행별 확장 부착 CSV. `results`=응찰 참여자, `products`=공고 등록 품목, `contacts`=발주 담당자 성명·연락처·이메일. 미지정이면 부착하지 않는다(응답이 가볍고 조회 비용도 들지 않는다). | (optional) defaults to undefined|
|
|
1693
|
+
| **endpointId** | [**string**] | 이 구독의 전송만 조회합니다. 미지정이면 이 키의 모든 구독을 함께 조회합니다. | (optional) defaults to undefined|
|
|
1694
|
+
| **status** | **PartnerWebhookDeliveryStatus** | 전송 상태 필터. 미지정이면 전부. | (optional) defaults to undefined|
|
|
1695
|
+
| **limit** | [**number**] | 페이지 크기(1~200, 기본 50). | (optional) defaults to 50|
|
|
1696
|
+
| **cursor** | [**string**] | 다음 페이지 커서(불투명 토큰). 직전 응답의 `nextCursor` 를 그대로 전달합니다. 미지정 시 첫 페이지. | (optional) defaults to undefined|
|
|
953
1697
|
|
|
954
1698
|
|
|
955
1699
|
### Return type
|
|
956
1700
|
|
|
957
|
-
**
|
|
1701
|
+
**ListWebhookDeliveries200Response**
|
|
958
1702
|
|
|
959
1703
|
### Authorization
|
|
960
1704
|
|
|
@@ -963,13 +1707,13 @@ const { status, data } = await apiInstance.listBids(
|
|
|
963
1707
|
### HTTP request headers
|
|
964
1708
|
|
|
965
1709
|
- **Content-Type**: Not defined
|
|
966
|
-
- **Accept**: application/json
|
|
1710
|
+
- **Accept**: application/json, application/problem+json
|
|
967
1711
|
|
|
968
1712
|
|
|
969
1713
|
### HTTP response details
|
|
970
1714
|
| Status code | Description | Response headers |
|
|
971
1715
|
|-------------|-------------|------------------|
|
|
972
|
-
|**200** |
|
|
1716
|
+
|**200** | 웹훅 전송 이력. | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
973
1717
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
974
1718
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
975
1719
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
@@ -980,10 +1724,10 @@ const { status, data } = await apiInstance.listBids(
|
|
|
980
1724
|
|
|
981
1725
|
[[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)
|
|
982
1726
|
|
|
983
|
-
# **
|
|
984
|
-
>
|
|
1727
|
+
# **listWebhookEndpoints**
|
|
1728
|
+
> ListWebhookEndpoints200Response listWebhookEndpoints()
|
|
985
1729
|
|
|
986
|
-
|
|
1730
|
+
이 API 키가 등록한 웹훅 구독을 모두 조회합니다. **호출 시점:** 연동 상태를 점검할 때, 또는 발송이 멈춘 이유(`status`·`consecutiveFailures`)를 확인할 때. 서명 시크릿은 여기에 실리지 않습니다. **필수 스코프:** `webhooks:read` ### 서명 검증 (필수) 발송 요청마다 헤더 `X-CMarket-Signature` 가 실립니다. ``` X-CMarket-Signature: t=<unix초>,v1=<hex> ``` `v1` 은 `HMAC-SHA256(secret, \"${t}.${요청 본문 원문}\")` 의 소문자 hex 입니다. 1. 헤더를 `t` 와 `v1` 로 나눕니다. 2. `\"${t}.${본문}\"` 을 만듭니다. **본문은 파싱 전 원문 바이트**여야 합니다 — JSON 을 다시 직렬화하면 공백·키 순서가 달라져 서명이 맞지 않습니다. 3. 등록 시 받은 시크릿으로 HMAC-SHA256 을 계산해 `v1` 과 비교합니다. 비교는 **상수 시간** 비교 함수를 쓰세요(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `t` 가 현재 시각으로부터 **5분** 이상 지났으면 거절하세요(재전송 공격 방어). ### 중복 제거 `X-CMarket-Event-Id` 헤더가 이벤트 식별자입니다. **재시도에도 같은 값이 옵니다** — 이미 처리한 값이면 무시하세요. 같은 이벤트를 두 번 받는 것은 정상 동작이며, 중복 제거는 수신측 책임입니다. ### 응답과 재시도 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` 가 발송 시도 이력(본문·응답 상태·다음 재시도 시각)을 돌려줍니다. 수신측 장애 구간을 메울 때 이 엔드포인트를 폴링 대체 경로로 쓰세요.
|
|
987
1731
|
|
|
988
1732
|
### Example
|
|
989
1733
|
|
|
@@ -996,26 +1740,16 @@ import {
|
|
|
996
1740
|
const configuration = new Configuration();
|
|
997
1741
|
const apiInstance = new PartnerV2Api(configuration);
|
|
998
1742
|
|
|
999
|
-
|
|
1000
|
-
let bidType: 'goods' | 'service' | 'construction' | 'sale'; //거래유형. (default to undefined)
|
|
1001
|
-
|
|
1002
|
-
const { status, data } = await apiInstance.listExternalContractDocuments(
|
|
1003
|
-
buyerId,
|
|
1004
|
-
bidType
|
|
1005
|
-
);
|
|
1743
|
+
const { status, data } = await apiInstance.listWebhookEndpoints();
|
|
1006
1744
|
```
|
|
1007
1745
|
|
|
1008
1746
|
### Parameters
|
|
1009
|
-
|
|
1010
|
-
|Name | Type | Description | Notes|
|
|
1011
|
-
|------------- | ------------- | ------------- | -------------|
|
|
1012
|
-
| **buyerId** | [**string**] | 발주기관 회원 ID(c-market memberId). | defaults to undefined|
|
|
1013
|
-
| **bidType** | [**'goods' | 'service' | 'construction' | 'sale'**]**Array<'goods' | 'service' | 'construction' | 'sale'>** | 거래유형. | defaults to undefined|
|
|
1747
|
+
This endpoint does not have any parameters.
|
|
1014
1748
|
|
|
1015
1749
|
|
|
1016
1750
|
### Return type
|
|
1017
1751
|
|
|
1018
|
-
**
|
|
1752
|
+
**ListWebhookEndpoints200Response**
|
|
1019
1753
|
|
|
1020
1754
|
### Authorization
|
|
1021
1755
|
|
|
@@ -1024,13 +1758,13 @@ const { status, data } = await apiInstance.listExternalContractDocuments(
|
|
|
1024
1758
|
### HTTP request headers
|
|
1025
1759
|
|
|
1026
1760
|
- **Content-Type**: Not defined
|
|
1027
|
-
- **Accept**: application/json
|
|
1761
|
+
- **Accept**: application/json, application/problem+json
|
|
1028
1762
|
|
|
1029
1763
|
|
|
1030
1764
|
### HTTP response details
|
|
1031
1765
|
| Status code | Description | Response headers |
|
|
1032
1766
|
|-------------|-------------|------------------|
|
|
1033
|
-
|**200** |
|
|
1767
|
+
|**200** | 웹훅 구독 목록. | * ETag - 리소스 지문(weak). 다음 요청의 `If-None-Match` 헤더로 되보내면 내용이 그대로일 때 `304 Not Modified` 를 본문 없이 받습니다. <br> |
|
|
1034
1768
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1035
1769
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1036
1770
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
@@ -1042,7 +1776,7 @@ const { status, data } = await apiInstance.listExternalContractDocuments(
|
|
|
1042
1776
|
[[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)
|
|
1043
1777
|
|
|
1044
1778
|
# **markBidFailed**
|
|
1045
|
-
>
|
|
1779
|
+
> MarkBidFailed201Response markBidFailed(markBidFailedRequestDto)
|
|
1046
1780
|
|
|
1047
1781
|
공고를 유찰 상태로 전환합니다. **호출 시점:** 입찰 마감 후 유찰 사유가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 공고 상태가 유찰(FAILED)로 전환됩니다. - 유찰사유 코드와 상세가 기록됩니다. **유찰사유 값 목록(failureReasonCode — 공개값):** | 값 | 의미 | |------|------| | `ABOVE_TARGET_PRICE` | 예정가격 초과 | | `DEPT_MISMATCH` | 자격 미달 | | `NEEDS_EXPERTISE` | 전문성 필요 | | `OTHER` | 기타 (`failureReasonDetail` 필수) | | `NO_PARTICIPANT` | 참가자 없음 | | `SINGLE_PARTICIPANT` | 단독 참가 | | `LESS_THAN_TWO` | 2인 미만 | | `BELOW_MINIMUM` | 최저가 미달 | **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1048
1782
|
|
|
@@ -1080,7 +1814,7 @@ const { status, data } = await apiInstance.markBidFailed(
|
|
|
1080
1814
|
|
|
1081
1815
|
### Return type
|
|
1082
1816
|
|
|
1083
|
-
**
|
|
1817
|
+
**MarkBidFailed201Response**
|
|
1084
1818
|
|
|
1085
1819
|
### Authorization
|
|
1086
1820
|
|
|
@@ -1089,7 +1823,7 @@ const { status, data } = await apiInstance.markBidFailed(
|
|
|
1089
1823
|
### HTTP request headers
|
|
1090
1824
|
|
|
1091
1825
|
- **Content-Type**: application/json
|
|
1092
|
-
- **Accept**: application/json
|
|
1826
|
+
- **Accept**: application/json, application/problem+json
|
|
1093
1827
|
|
|
1094
1828
|
|
|
1095
1829
|
### HTTP response details
|
|
@@ -1109,7 +1843,7 @@ const { status, data } = await apiInstance.markBidFailed(
|
|
|
1109
1843
|
[[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)
|
|
1110
1844
|
|
|
1111
1845
|
# **publishBid**
|
|
1112
|
-
>
|
|
1846
|
+
> PublishBid200Response publishBid()
|
|
1113
1847
|
|
|
1114
1848
|
초안(DRAFT) 상태로 등록된 공고를 진행중(ONGOING)으로 게시합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 연간/지명계약 등으로 초안 상태로 등록된 공고를 명시적으로 게시할 때. 등록 응답의 `status` 로 게시 필요 여부를 판별합니다. **전제조건:** 초안(DRAFT) 상태이고 마감(bidEndAt)이 미래여야 합니다. **거부:** 초안이 아니거나 마감이 지난 공고 → 409. 마감이 지났으면 먼저 마감일을 연장해야 합니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403). **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1115
1849
|
|
|
@@ -1143,7 +1877,7 @@ const { status, data } = await apiInstance.publishBid(
|
|
|
1143
1877
|
|
|
1144
1878
|
### Return type
|
|
1145
1879
|
|
|
1146
|
-
**
|
|
1880
|
+
**PublishBid200Response**
|
|
1147
1881
|
|
|
1148
1882
|
### Authorization
|
|
1149
1883
|
|
|
@@ -1152,7 +1886,7 @@ const { status, data } = await apiInstance.publishBid(
|
|
|
1152
1886
|
### HTTP request headers
|
|
1153
1887
|
|
|
1154
1888
|
- **Content-Type**: Not defined
|
|
1155
|
-
- **Accept**: application/json
|
|
1889
|
+
- **Accept**: application/json, application/problem+json
|
|
1156
1890
|
|
|
1157
1891
|
|
|
1158
1892
|
### HTTP response details
|
|
@@ -1171,8 +1905,67 @@ const { status, data } = await apiInstance.publishBid(
|
|
|
1171
1905
|
|
|
1172
1906
|
[[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)
|
|
1173
1907
|
|
|
1908
|
+
# **queryBidResults**
|
|
1909
|
+
> ListBidResults200Response queryBidResults(bidResultsBatchRequestDto)
|
|
1910
|
+
|
|
1911
|
+
`GET /v2/bid-results` 와 **완전히 같은 조회**이며, 식별자 목록을 본문으로 받습니다. 스코프 `bids:read`. 공고 식별자 100건이면 URL 이 1KB를 넘습니다 — 중간 프록시가 긴 URL 을 자르는 환경을 위한 대체 경로입니다. **부수효과가 없으므로 `Idempotency-Key` 는 필요하지 않습니다.** POST 인 것은 전송 형태의 문제일 뿐이며, 가능하면 캐시·`ETag` 가 동작하는 `GET` 쪽을 쓰세요.
|
|
1912
|
+
|
|
1913
|
+
### Example
|
|
1914
|
+
|
|
1915
|
+
```typescript
|
|
1916
|
+
import {
|
|
1917
|
+
PartnerV2Api,
|
|
1918
|
+
Configuration,
|
|
1919
|
+
BidResultsBatchRequestDto
|
|
1920
|
+
} from '@cmarket/partner-sdk';
|
|
1921
|
+
|
|
1922
|
+
const configuration = new Configuration();
|
|
1923
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
1924
|
+
|
|
1925
|
+
let bidResultsBatchRequestDto: BidResultsBatchRequestDto; //
|
|
1926
|
+
|
|
1927
|
+
const { status, data } = await apiInstance.queryBidResults(
|
|
1928
|
+
bidResultsBatchRequestDto
|
|
1929
|
+
);
|
|
1930
|
+
```
|
|
1931
|
+
|
|
1932
|
+
### Parameters
|
|
1933
|
+
|
|
1934
|
+
|Name | Type | Description | Notes|
|
|
1935
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1936
|
+
| **bidResultsBatchRequestDto** | **BidResultsBatchRequestDto**| | |
|
|
1937
|
+
|
|
1938
|
+
|
|
1939
|
+
### Return type
|
|
1940
|
+
|
|
1941
|
+
**ListBidResults200Response**
|
|
1942
|
+
|
|
1943
|
+
### Authorization
|
|
1944
|
+
|
|
1945
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
1946
|
+
|
|
1947
|
+
### HTTP request headers
|
|
1948
|
+
|
|
1949
|
+
- **Content-Type**: application/json
|
|
1950
|
+
- **Accept**: application/json, application/problem+json
|
|
1951
|
+
|
|
1952
|
+
|
|
1953
|
+
### HTTP response details
|
|
1954
|
+
| Status code | Description | Response headers |
|
|
1955
|
+
|-------------|-------------|------------------|
|
|
1956
|
+
|**200** | | - |
|
|
1957
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1958
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1959
|
+
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1960
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1961
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1962
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
1963
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
1964
|
+
|
|
1965
|
+
[[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)
|
|
1966
|
+
|
|
1174
1967
|
# **regenerateContractDocuments**
|
|
1175
|
-
>
|
|
1968
|
+
> RegenerateContractDocuments201Response regenerateContractDocuments()
|
|
1176
1969
|
|
|
1177
1970
|
공고의 자동생성 계약서류(발주서·공고결과·표준계약서 등)를 생성/재생성합니다. **V6 대응:** `RegenerateAllContractPdfsCommand` — 웹 어드민의 \"계약 서류 일괄 재생성\"과 동일 경로. **호출 시점:** 낙찰(계약 시작) 후 계약서류가 필요하거나, 생성에 실패한 서류를 다시 만들 때. **부수효과:** - 생성 실패(DEAD_LETTER) 상태의 자동생성 PDF 가 재생성 큐에 등록됩니다(비동기). - 승낙사항(ACCEPTANCE) 계열은 운영자 승인 워크플로가 필요해 이 경로에서 제외됩니다. **응답:** 즉시 파일이 아니라 큐 등록 결과(`enqueuedCount`/`skippedCount`)를 반환합니다. 잠시 후 자동 생성됩니다. **필수 스코프:** `contracts:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
1178
1971
|
|
|
@@ -1206,7 +1999,7 @@ const { status, data } = await apiInstance.regenerateContractDocuments(
|
|
|
1206
1999
|
|
|
1207
2000
|
### Return type
|
|
1208
2001
|
|
|
1209
|
-
**
|
|
2002
|
+
**RegenerateContractDocuments201Response**
|
|
1210
2003
|
|
|
1211
2004
|
### Authorization
|
|
1212
2005
|
|
|
@@ -1215,7 +2008,7 @@ const { status, data } = await apiInstance.regenerateContractDocuments(
|
|
|
1215
2008
|
### HTTP request headers
|
|
1216
2009
|
|
|
1217
2010
|
- **Content-Type**: Not defined
|
|
1218
|
-
- **Accept**: application/json
|
|
2011
|
+
- **Accept**: application/json, application/problem+json
|
|
1219
2012
|
|
|
1220
2013
|
|
|
1221
2014
|
### HTTP response details
|
|
@@ -1235,7 +2028,7 @@ const { status, data } = await apiInstance.regenerateContractDocuments(
|
|
|
1235
2028
|
[[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)
|
|
1236
2029
|
|
|
1237
2030
|
# **registerAward**
|
|
1238
|
-
>
|
|
2031
|
+
> RegisterAward201Response registerAward(registerAwardRequestDto)
|
|
1239
2032
|
|
|
1240
2033
|
낙찰 결과를 등록합니다. 이 요청의 응답은 처리 상태 `AWARDED` 를 반환합니다. **호출 시점:** 입찰 마감 후 낙찰자가 확정되었을 때. 공고가 입찰완료(마감) 상태에서 호출합니다. **부수효과:** - 낙찰자(공급사)의 응찰 건이 낙찰 처리됩니다. - 이후 **공고의 조회 상태(status)는 계약진행(CONTRACT_IN_PROGRESS)** 으로 진행합니다. `AWARDED` 라는 공고 status 는 존재하지 않으므로, 낙찰 여부는 `GET /v2/bids/{bidId}/results` 의 `participants[].isWinner` 또는 `GET /v2/bids/{bidId}` 의 status(=계약진행)로 관측하세요(`status === \'AWARDED\'` 폴링 금지). - 협상 방식(NEGOTIATION/NEGOTIATION_AUTO) 공고는 이 엔드포인트 전에 `POST /v2/bids/{bidId}/negotiation-scores`(협상 점수평가)로 평가를 완료해야 합니다. **발주처:** API 키에 바인딩된 발주처로 자동 스코프됩니다(요청 body 에 buyerId 를 넣지 않습니다). **필수 스코프:** `awards:write` **멱등성:** `Idempotency-Key` 헤더 필수. 동일 키 + 동일 body 재전송 시 24시간 내 캐시 응답 반환.
|
|
1241
2034
|
|
|
@@ -1273,7 +2066,7 @@ const { status, data } = await apiInstance.registerAward(
|
|
|
1273
2066
|
|
|
1274
2067
|
### Return type
|
|
1275
2068
|
|
|
1276
|
-
**
|
|
2069
|
+
**RegisterAward201Response**
|
|
1277
2070
|
|
|
1278
2071
|
### Authorization
|
|
1279
2072
|
|
|
@@ -1282,7 +2075,7 @@ const { status, data } = await apiInstance.registerAward(
|
|
|
1282
2075
|
### HTTP request headers
|
|
1283
2076
|
|
|
1284
2077
|
- **Content-Type**: application/json
|
|
1285
|
-
- **Accept**: application/json
|
|
2078
|
+
- **Accept**: application/json, application/problem+json
|
|
1286
2079
|
|
|
1287
2080
|
|
|
1288
2081
|
### HTTP response details
|
|
@@ -1302,7 +2095,7 @@ const { status, data } = await apiInstance.registerAward(
|
|
|
1302
2095
|
[[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)
|
|
1303
2096
|
|
|
1304
2097
|
# **registerBid**
|
|
1305
|
-
>
|
|
2098
|
+
> RegisterBid201Response registerBid(createBidRequestDto)
|
|
1306
2099
|
|
|
1307
2100
|
입찰 정보 등록. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수.
|
|
1308
2101
|
|
|
@@ -1318,9 +2111,11 @@ import {
|
|
|
1318
2111
|
const configuration = new Configuration();
|
|
1319
2112
|
const apiInstance = new PartnerV2Api(configuration);
|
|
1320
2113
|
|
|
2114
|
+
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환. (default to undefined)
|
|
1321
2115
|
let createBidRequestDto: CreateBidRequestDto; //
|
|
1322
2116
|
|
|
1323
2117
|
const { status, data } = await apiInstance.registerBid(
|
|
2118
|
+
idempotencyKey,
|
|
1324
2119
|
createBidRequestDto
|
|
1325
2120
|
);
|
|
1326
2121
|
```
|
|
@@ -1330,11 +2125,12 @@ const { status, data } = await apiInstance.registerBid(
|
|
|
1330
2125
|
|Name | Type | Description | Notes|
|
|
1331
2126
|
|------------- | ------------- | ------------- | -------------|
|
|
1332
2127
|
| **createBidRequestDto** | **CreateBidRequestDto**| | |
|
|
2128
|
+
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환. | defaults to undefined|
|
|
1333
2129
|
|
|
1334
2130
|
|
|
1335
2131
|
### Return type
|
|
1336
2132
|
|
|
1337
|
-
**
|
|
2133
|
+
**RegisterBid201Response**
|
|
1338
2134
|
|
|
1339
2135
|
### Authorization
|
|
1340
2136
|
|
|
@@ -1343,7 +2139,7 @@ const { status, data } = await apiInstance.registerBid(
|
|
|
1343
2139
|
### HTTP request headers
|
|
1344
2140
|
|
|
1345
2141
|
- **Content-Type**: application/json
|
|
1346
|
-
- **Accept**: application/json
|
|
2142
|
+
- **Accept**: application/json, application/problem+json
|
|
1347
2143
|
|
|
1348
2144
|
|
|
1349
2145
|
### HTTP response details
|
|
@@ -1407,7 +2203,7 @@ const { status, data } = await apiInstance.registerSemoContract(
|
|
|
1407
2203
|
### HTTP request headers
|
|
1408
2204
|
|
|
1409
2205
|
- **Content-Type**: application/json
|
|
1410
|
-
- **Accept**: application/json
|
|
2206
|
+
- **Accept**: application/json, application/problem+json
|
|
1411
2207
|
|
|
1412
2208
|
|
|
1413
2209
|
### HTTP response details
|
|
@@ -1426,10 +2222,10 @@ const { status, data } = await apiInstance.registerSemoContract(
|
|
|
1426
2222
|
|
|
1427
2223
|
[[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)
|
|
1428
2224
|
|
|
1429
|
-
# **
|
|
1430
|
-
>
|
|
2225
|
+
# **revertAward**
|
|
2226
|
+
> RevertAward200Response revertAward(revertAwardRequestDto)
|
|
1431
2227
|
|
|
1432
|
-
|
|
2228
|
+
확정된 낙찰을 되돌려 공고를 낙찰대기(PENDING_AWARD) 상태로 보냅니다. 스코프 `awards:write` + `Idempotency-Key` 헤더 필수. **호출 시점:** 낙찰자가 계약을 포기했거나 낙찰 처리 자체가 잘못됐을 때. 되돌린 뒤 같은 공고에 다시 낙찰을 등록할 수 있습니다. **되돌릴 수 없는 경우 → 409:** - 수수료 결제가 이미 완료된 공고 - 세금계산서가 이미 발행된 공고 - 수입권공매 계열 낙찰방법(다수 낙찰자 구조라 되돌리기 단위가 다릅니다) **사유는 필수입니다** — 감사 대상 행위이며 공고 이력에 남습니다. **소유권:** 요청 파트너 키가 소유한 발주처 공고여야 합니다(타 발주처 공고 → 403).
|
|
1433
2229
|
|
|
1434
2230
|
### Example
|
|
1435
2231
|
|
|
@@ -1437,20 +2233,20 @@ const { status, data } = await apiInstance.registerSemoContract(
|
|
|
1437
2233
|
import {
|
|
1438
2234
|
PartnerV2Api,
|
|
1439
2235
|
Configuration,
|
|
1440
|
-
|
|
2236
|
+
RevertAwardRequestDto
|
|
1441
2237
|
} from '@cmarket/partner-sdk';
|
|
1442
2238
|
|
|
1443
2239
|
const configuration = new Configuration();
|
|
1444
2240
|
const apiInstance = new PartnerV2Api(configuration);
|
|
1445
2241
|
|
|
1446
2242
|
let bidId: string; //공고 식별자(등록 응답의 bidId). (default to undefined)
|
|
1447
|
-
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키
|
|
1448
|
-
let
|
|
2243
|
+
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 재전송 시 캐시 응답 반환(24시간). (default to undefined)
|
|
2244
|
+
let revertAwardRequestDto: RevertAwardRequestDto; //
|
|
1449
2245
|
|
|
1450
|
-
const { status, data } = await apiInstance.
|
|
2246
|
+
const { status, data } = await apiInstance.revertAward(
|
|
1451
2247
|
bidId,
|
|
1452
2248
|
idempotencyKey,
|
|
1453
|
-
|
|
2249
|
+
revertAwardRequestDto
|
|
1454
2250
|
);
|
|
1455
2251
|
```
|
|
1456
2252
|
|
|
@@ -1458,14 +2254,14 @@ const { status, data } = await apiInstance.submitNegotiationScores(
|
|
|
1458
2254
|
|
|
1459
2255
|
|Name | Type | Description | Notes|
|
|
1460
2256
|
|------------- | ------------- | ------------- | -------------|
|
|
1461
|
-
| **
|
|
2257
|
+
| **revertAwardRequestDto** | **RevertAwardRequestDto**| | |
|
|
1462
2258
|
| **bidId** | [**string**] | 공고 식별자(등록 응답의 bidId). | defaults to undefined|
|
|
1463
|
-
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키
|
|
2259
|
+
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 재전송 시 캐시 응답 반환(24시간). | defaults to undefined|
|
|
1464
2260
|
|
|
1465
2261
|
|
|
1466
2262
|
### Return type
|
|
1467
2263
|
|
|
1468
|
-
**
|
|
2264
|
+
**RevertAward200Response**
|
|
1469
2265
|
|
|
1470
2266
|
### Authorization
|
|
1471
2267
|
|
|
@@ -1474,13 +2270,139 @@ const { status, data } = await apiInstance.submitNegotiationScores(
|
|
|
1474
2270
|
### HTTP request headers
|
|
1475
2271
|
|
|
1476
2272
|
- **Content-Type**: application/json
|
|
1477
|
-
- **Accept**: application/json
|
|
2273
|
+
- **Accept**: application/json, application/problem+json
|
|
2274
|
+
|
|
2275
|
+
|
|
2276
|
+
### HTTP response details
|
|
2277
|
+
| Status code | Description | Response headers |
|
|
2278
|
+
|-------------|-------------|------------------|
|
|
2279
|
+
|**200** | 낙찰 되돌리기 완료. | - |
|
|
2280
|
+
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
2281
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
2282
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
2283
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
2284
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
2285
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
2286
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
2287
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
2288
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
2289
|
+
|
|
2290
|
+
[[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)
|
|
2291
|
+
|
|
2292
|
+
# **rotateWebhookSecret**
|
|
2293
|
+
> CreateWebhookEndpoint201Response rotateWebhookSecret()
|
|
2294
|
+
|
|
2295
|
+
서명 시크릿을 새로 발급합니다. 응답의 `secretVersion` 이 1 올라갑니다. **호출 시점:** 시크릿을 분실했거나 유출이 의심될 때, 또는 주기적 교체 정책이 있을 때. **새 시크릿은 이 응답에서 한 번만 나갑니다.** 조회로 다시 받을 수 없습니다. **옛 시크릿은 즉시 무효입니다.** 유예 기간이 없으므로, 수신측이 새 값을 반영하기 전에 도착한 이벤트는 서명 검증에 실패합니다. 배포 순서를 이렇게 잡으세요 — ① 수신측이 옛 값과 새 값을 **둘 다** 받아들이도록 배포 → ② 이 엔드포인트 호출 → ③ 응답의 새 값을 반영 → ④ 옛 값 제거. 검증 실패로 non-2xx 를 돌려주면 실패로 집계되어 20회 연속 시 구독이 중지됩니다. **필수 스코프:** `webhooks:write` **멱등성:** `Idempotency-Key` 헤더 필수. 같은 키로 재전송하면 **새로 발급하지 않고** 처음 발급한 값을 그대로 돌려줍니다(24시간) — 네트워크 오류로 응답을 놓쳤을 때 같은 키로 다시 부르세요.
|
|
2296
|
+
|
|
2297
|
+
### Example
|
|
2298
|
+
|
|
2299
|
+
```typescript
|
|
2300
|
+
import {
|
|
2301
|
+
PartnerV2Api,
|
|
2302
|
+
Configuration
|
|
2303
|
+
} from '@cmarket/partner-sdk';
|
|
2304
|
+
|
|
2305
|
+
const configuration = new Configuration();
|
|
2306
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
2307
|
+
|
|
2308
|
+
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
2309
|
+
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. (default to undefined)
|
|
2310
|
+
|
|
2311
|
+
const { status, data } = await apiInstance.rotateWebhookSecret(
|
|
2312
|
+
endpointId,
|
|
2313
|
+
idempotencyKey
|
|
2314
|
+
);
|
|
2315
|
+
```
|
|
2316
|
+
|
|
2317
|
+
### Parameters
|
|
2318
|
+
|
|
2319
|
+
|Name | Type | Description | Notes|
|
|
2320
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2321
|
+
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
2322
|
+
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. | defaults to undefined|
|
|
2323
|
+
|
|
2324
|
+
|
|
2325
|
+
### Return type
|
|
2326
|
+
|
|
2327
|
+
**CreateWebhookEndpoint201Response**
|
|
2328
|
+
|
|
2329
|
+
### Authorization
|
|
2330
|
+
|
|
2331
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
2332
|
+
|
|
2333
|
+
### HTTP request headers
|
|
2334
|
+
|
|
2335
|
+
- **Content-Type**: Not defined
|
|
2336
|
+
- **Accept**: application/json, application/problem+json
|
|
2337
|
+
|
|
2338
|
+
|
|
2339
|
+
### HTTP response details
|
|
2340
|
+
| Status code | Description | Response headers |
|
|
2341
|
+
|-------------|-------------|------------------|
|
|
2342
|
+
|**200** | 시크릿 재발급 완료. `secret` 은 이 응답에만 실립니다. | - |
|
|
2343
|
+
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
2344
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
2345
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
2346
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
2347
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
2348
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
2349
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
2350
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
2351
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
2352
|
+
|
|
2353
|
+
[[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)
|
|
2354
|
+
|
|
2355
|
+
# **sendWebhookTestEvent**
|
|
2356
|
+
> SendWebhookTestEvent200Response sendWebhookTestEvent()
|
|
2357
|
+
|
|
2358
|
+
등록된 주소로 `ping` 이벤트를 즉시 1회 보내고 그 결과를 돌려줍니다. **호출 시점:** 구독을 등록한 직후, 수신 주소를 바꾼 직후, 방화벽·인증서를 손본 뒤. **응답은 발송 결과이지 요청 실패가 아닙니다.** 수신측이 받지 못해도 HTTP `200` 에 `delivered: false` 로 옵니다 — `responseStatus`(수신측 상태)와 `error`(연결 거부·타임아웃· TLS 오류)를 보고 원인을 좁히세요. 이 발송에도 실제 이벤트와 **똑같은 서명 헤더**가 실리므로 검증 코드를 그대로 시험할 수 있습니다. `ping` 은 구독 목록에 넣을 수 없는 타입이니, 수신측이 모르는 `eventType` 을 만나면 버리도록 짜여 있다면 이 확인만 실패할 수 있습니다. **필수 스코프:** `webhooks:write` **멱등성:** `Idempotency-Key` 헤더 필수. 다시 보내려면 **새 키**를 쓰세요 — 같은 키는 24시간 동안 직전 결과를 그대로 돌려줍니다(재발송하지 않습니다).
|
|
2359
|
+
|
|
2360
|
+
### Example
|
|
2361
|
+
|
|
2362
|
+
```typescript
|
|
2363
|
+
import {
|
|
2364
|
+
PartnerV2Api,
|
|
2365
|
+
Configuration
|
|
2366
|
+
} from '@cmarket/partner-sdk';
|
|
2367
|
+
|
|
2368
|
+
const configuration = new Configuration();
|
|
2369
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
2370
|
+
|
|
2371
|
+
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
2372
|
+
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. (default to undefined)
|
|
2373
|
+
|
|
2374
|
+
const { status, data } = await apiInstance.sendWebhookTestEvent(
|
|
2375
|
+
endpointId,
|
|
2376
|
+
idempotencyKey
|
|
2377
|
+
);
|
|
2378
|
+
```
|
|
2379
|
+
|
|
2380
|
+
### Parameters
|
|
2381
|
+
|
|
2382
|
+
|Name | Type | Description | Notes|
|
|
2383
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2384
|
+
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
2385
|
+
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. | defaults to undefined|
|
|
2386
|
+
|
|
2387
|
+
|
|
2388
|
+
### Return type
|
|
2389
|
+
|
|
2390
|
+
**SendWebhookTestEvent200Response**
|
|
2391
|
+
|
|
2392
|
+
### Authorization
|
|
2393
|
+
|
|
2394
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
2395
|
+
|
|
2396
|
+
### HTTP request headers
|
|
2397
|
+
|
|
2398
|
+
- **Content-Type**: Not defined
|
|
2399
|
+
- **Accept**: application/json, application/problem+json
|
|
1478
2400
|
|
|
1479
2401
|
|
|
1480
2402
|
### HTTP response details
|
|
1481
2403
|
| Status code | Description | Response headers |
|
|
1482
2404
|
|-------------|-------------|------------------|
|
|
1483
|
-
|**
|
|
2405
|
+
|**200** | 연결 확인 발송 결과. | - |
|
|
1484
2406
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1485
2407
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1486
2408
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
@@ -1494,7 +2416,7 @@ const { status, data } = await apiInstance.submitNegotiationScores(
|
|
|
1494
2416
|
[[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)
|
|
1495
2417
|
|
|
1496
2418
|
# **updateBid**
|
|
1497
|
-
>
|
|
2419
|
+
> UpdateBid200Response updateBid(updateBidRequestDto)
|
|
1498
2420
|
|
|
1499
2421
|
등록된 공고의 내용을 수정합니다. 스코프 `bids:write` + `Idempotency-Key` 헤더 필수. 진행중/초안 상태의 공고만 수정할 수 있습니다. **부수효과:** - 변경 내용이 반영되고 수정이력이 기록됩니다. - `hideEdit=true` 면 변경이력을 비공개 처리하고 노출 카운터 증가를 생략합니다. **수정 제약:** - 낙찰방법(awardMethod)은 수정 불가(잠금). - 참여자가 있으면 입찰방식/면허/예산/품목 일부가 잠깁니다. - 마감/취소된 공고는 수정할 수 없습니다. 한 섹션을 수정하려면 해당 섹션의 필수 필드를 함께 보내야 합니다(부분 섹션은 거부됨).
|
|
1500
2422
|
|
|
@@ -1511,11 +2433,15 @@ const configuration = new Configuration();
|
|
|
1511
2433
|
const apiInstance = new PartnerV2Api(configuration);
|
|
1512
2434
|
|
|
1513
2435
|
let bidId: string; //공고 식별자(등록 응답의 bidId). (default to undefined)
|
|
2436
|
+
let ifMatch: string; // (default to undefined)
|
|
2437
|
+
let ifMatch2: string; //수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidId}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다. (default to undefined)
|
|
1514
2438
|
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환. (default to undefined)
|
|
1515
2439
|
let updateBidRequestDto: UpdateBidRequestDto; //
|
|
1516
2440
|
|
|
1517
2441
|
const { status, data } = await apiInstance.updateBid(
|
|
1518
2442
|
bidId,
|
|
2443
|
+
ifMatch,
|
|
2444
|
+
ifMatch2,
|
|
1519
2445
|
idempotencyKey,
|
|
1520
2446
|
updateBidRequestDto
|
|
1521
2447
|
);
|
|
@@ -1527,12 +2453,14 @@ const { status, data } = await apiInstance.updateBid(
|
|
|
1527
2453
|
|------------- | ------------- | ------------- | -------------|
|
|
1528
2454
|
| **updateBidRequestDto** | **UpdateBidRequestDto**| | |
|
|
1529
2455
|
| **bidId** | [**string**] | 공고 식별자(등록 응답의 bidId). | defaults to undefined|
|
|
2456
|
+
| **ifMatch** | [**string**] | | defaults to undefined|
|
|
2457
|
+
| **ifMatch2** | [**string**] | 수정하려는 공고의 ETag(필수). 직전 `GET /v2/bids/{bidId}` 응답의 `ETag` 헤더 값을 그대로 실어 보내세요. 누락하면 428, 그 사이 공고가 바뀌었으면 412 로 거절되며 아무것도 수정되지 않습니다. | defaults to undefined|
|
|
1530
2458
|
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환. | defaults to undefined|
|
|
1531
2459
|
|
|
1532
2460
|
|
|
1533
2461
|
### Return type
|
|
1534
2462
|
|
|
1535
|
-
**
|
|
2463
|
+
**UpdateBid200Response**
|
|
1536
2464
|
|
|
1537
2465
|
### Authorization
|
|
1538
2466
|
|
|
@@ -1541,7 +2469,7 @@ const { status, data } = await apiInstance.updateBid(
|
|
|
1541
2469
|
### HTTP request headers
|
|
1542
2470
|
|
|
1543
2471
|
- **Content-Type**: application/json
|
|
1544
|
-
- **Accept**: application/json
|
|
2472
|
+
- **Accept**: application/json, application/problem+json
|
|
1545
2473
|
|
|
1546
2474
|
|
|
1547
2475
|
### HTTP response details
|
|
@@ -1552,7 +2480,84 @@ const { status, data } = await apiInstance.updateBid(
|
|
|
1552
2480
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1553
2481
|
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1554
2482
|
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
2483
|
+
|**412** | `If-Match` 지문이 현재 공고와 다릅니다(`type: …/precondition-failed`). 그 사이 다른 요청이 공고를 바꿨습니다 — 다시 조회해 최신 ETag 로 재시도하세요. | - |
|
|
2484
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
2485
|
+
|**428** | `If-Match` 헤더가 없습니다(`type: …/if-match-required`). 잃어버린 갱신을 막기 위해 필수입니다. | - |
|
|
2486
|
+
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
2487
|
+
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
2488
|
+
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
2489
|
+
|**503** | backend 도달 불가(`type: …/service-unavailable`). `Retry-After` 헤더 참조. `retryable: true`. | - |
|
|
2490
|
+
|
|
2491
|
+
[[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)
|
|
2492
|
+
|
|
2493
|
+
# **updateWebhookEndpoint**
|
|
2494
|
+
> GetWebhookEndpoint200Response updateWebhookEndpoint(updateWebhookEndpointRequestDto)
|
|
2495
|
+
|
|
2496
|
+
수신 주소·구독 이벤트·상태를 수정합니다. 보낸 필드만 바뀝니다. **호출 시점:** 수신 주소가 바뀌었을 때, 구독 이벤트를 늘리거나 줄일 때, 연속 실패로 자동 중지된 구독을 고친 뒤 되살릴 때(`{\"status\":\"ACTIVE\"}`). **`eventTypes` 는 치환입니다** — 보낸 목록이 곧 새 구독 목록입니다. 하나를 더하려면 기존 목록에 더한 **전체**를 보내세요. **`If-Match` 가 필수입니다.** 먼저 `GET /v2/webhook-endpoints/{endpointId}` 로 현재 `ETag` 를 받아 그대로 실어 보내세요. 이 헤더가 없으면 두 요청이 앞서거니 뒤서거니 하며 먼저 한 수정을 조용히 덮어씁니다. - `428` — 헤더를 빼먹었습니다. 조회 후 `ETag` 를 실어 재시도하세요. - `412` — 그 사이 구독이 바뀌었습니다. 다시 조회해 최신 `ETag` 로 재시도하세요. 아무것도 수정되지 않았습니다. **시크릿은 이 경로로 바뀌지 않습니다** — 재발급은 `rotate-secret` 입니다. **필수 스코프:** `webhooks:write` **멱등성:** `Idempotency-Key` 헤더 필수.
|
|
2497
|
+
|
|
2498
|
+
### Example
|
|
2499
|
+
|
|
2500
|
+
```typescript
|
|
2501
|
+
import {
|
|
2502
|
+
PartnerV2Api,
|
|
2503
|
+
Configuration,
|
|
2504
|
+
UpdateWebhookEndpointRequestDto
|
|
2505
|
+
} from '@cmarket/partner-sdk';
|
|
2506
|
+
|
|
2507
|
+
const configuration = new Configuration();
|
|
2508
|
+
const apiInstance = new PartnerV2Api(configuration);
|
|
2509
|
+
|
|
2510
|
+
let endpointId: string; //구독 식별자(등록 응답의 `endpointId`). (default to undefined)
|
|
2511
|
+
let ifMatch: string; // (default to undefined)
|
|
2512
|
+
let ifMatch2: string; //직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412 로 거절되며 아무것도 변경되지 않습니다. (default to undefined)
|
|
2513
|
+
let idempotencyKey: string; //멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. (default to undefined)
|
|
2514
|
+
let updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto; //
|
|
2515
|
+
|
|
2516
|
+
const { status, data } = await apiInstance.updateWebhookEndpoint(
|
|
2517
|
+
endpointId,
|
|
2518
|
+
ifMatch,
|
|
2519
|
+
ifMatch2,
|
|
2520
|
+
idempotencyKey,
|
|
2521
|
+
updateWebhookEndpointRequestDto
|
|
2522
|
+
);
|
|
2523
|
+
```
|
|
2524
|
+
|
|
2525
|
+
### Parameters
|
|
2526
|
+
|
|
2527
|
+
|Name | Type | Description | Notes|
|
|
2528
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2529
|
+
| **updateWebhookEndpointRequestDto** | **UpdateWebhookEndpointRequestDto**| | |
|
|
2530
|
+
| **endpointId** | [**string**] | 구독 식별자(등록 응답의 `endpointId`). | defaults to undefined|
|
|
2531
|
+
| **ifMatch** | [**string**] | | defaults to undefined|
|
|
2532
|
+
| **ifMatch2** | [**string**] | 직전 조회 응답의 `ETag` 값. 누락하면 428, 그 사이 구독이 바뀌었으면 412 로 거절되며 아무것도 변경되지 않습니다. | defaults to undefined|
|
|
2533
|
+
| **idempotencyKey** | [**string**] | 멱등성 키(1~255자, [A-Za-z0-9_-]). 동일 키 + 동일 body 재전송 시 캐시 응답 반환(24시간). UUID v4 권장. | defaults to undefined|
|
|
2534
|
+
|
|
2535
|
+
|
|
2536
|
+
### Return type
|
|
2537
|
+
|
|
2538
|
+
**GetWebhookEndpoint200Response**
|
|
2539
|
+
|
|
2540
|
+
### Authorization
|
|
2541
|
+
|
|
2542
|
+
[partner-oauth2](../README.md#partner-oauth2)
|
|
2543
|
+
|
|
2544
|
+
### HTTP request headers
|
|
2545
|
+
|
|
2546
|
+
- **Content-Type**: application/json
|
|
2547
|
+
- **Accept**: application/json, application/problem+json
|
|
2548
|
+
|
|
2549
|
+
|
|
2550
|
+
### HTTP response details
|
|
2551
|
+
| Status code | Description | Response headers |
|
|
2552
|
+
|-------------|-------------|------------------|
|
|
2553
|
+
|**200** | 수정된 웹훅 구독. | - |
|
|
2554
|
+
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
2555
|
+
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
2556
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
2557
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
2558
|
+
|**412** | `If-Match` 가 현재 구독 버전과 다릅니다(`type: …/precondition-failed`). 다시 조회해 최신 `ETag` 로 재시도하세요. | - |
|
|
1555
2559
|
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
2560
|
+
|**428** | `If-Match` 헤더가 없습니다(`type: …/if-match-required`). 잃어버린 갱신을 막기 위해 필수입니다. | - |
|
|
1556
2561
|
|**429** | rate limit 초과(`type: …/too-many-requests`) — 전역 60/min per client_id. `Retry-After` + `X-RateLimit-Limit`/`X-RateLimit-Remaining`/`X-RateLimit-Reset` 헤더 참조. `retryable: true`. | - |
|
|
1557
2562
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1558
2563
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -1561,7 +2566,7 @@ const { status, data } = await apiInstance.updateBid(
|
|
|
1561
2566
|
[[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)
|
|
1562
2567
|
|
|
1563
2568
|
# **uploadFile**
|
|
1564
|
-
>
|
|
2569
|
+
> UploadFile201Response uploadFile(uploadFileRequestDto)
|
|
1565
2570
|
|
|
1566
2571
|
스코프 `files:write` + `Idempotency-Key` 헤더 필수. base64 또는 url 중 정확히 하나를 제출한다.
|
|
1567
2572
|
|
|
@@ -1593,7 +2598,7 @@ const { status, data } = await apiInstance.uploadFile(
|
|
|
1593
2598
|
|
|
1594
2599
|
### Return type
|
|
1595
2600
|
|
|
1596
|
-
**
|
|
2601
|
+
**UploadFile201Response**
|
|
1597
2602
|
|
|
1598
2603
|
### Authorization
|
|
1599
2604
|
|
|
@@ -1602,7 +2607,7 @@ const { status, data } = await apiInstance.uploadFile(
|
|
|
1602
2607
|
### HTTP request headers
|
|
1603
2608
|
|
|
1604
2609
|
- **Content-Type**: application/json
|
|
1605
|
-
- **Accept**: application/json
|
|
2610
|
+
- **Accept**: application/json, application/problem+json
|
|
1606
2611
|
|
|
1607
2612
|
|
|
1608
2613
|
### HTTP response details
|