@cmarket/partner-sdk 22.8.0 → 23.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/api/oauth-api.ts +2 -2
- package/api/partner-v1-api.ts +2 -2
- package/api/partner-v2-api.ts +2 -2
- 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 +2 -2
- package/dist/api/oauth-api.js +2 -2
- package/dist/api/partner-v1-api.d.ts +2 -2
- package/dist/api/partner-v1-api.js +2 -2
- package/dist/api/partner-v2-api.d.ts +2 -2
- package/dist/api/partner-v2-api.js +2 -2
- 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 +2 -2
- package/dist/esm/api/oauth-api.js +2 -2
- package/dist/esm/api/partner-v1-api.d.ts +2 -2
- package/dist/esm/api/partner-v1-api.js +2 -2
- package/dist/esm/api/partner-v2-api.d.ts +2 -2
- package/dist/esm/api/partner-v2-api.js +2 -2
- 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/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/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-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-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-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-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/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/close-sandbox-bid-response-dto.d.ts +2 -2
- package/dist/esm/models/close-sandbox-bid-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/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-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/embed-launch-request-dto.d.ts +2 -2
- package/dist/esm/models/embed-launch-request-dto.js +2 -2
- package/dist/esm/models/embed-launch-response-dto.d.ts +2 -2
- package/dist/esm/models/embed-launch-response-dto.js +2 -2
- 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-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/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/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/issue-tax-invoice-request-dto.d.ts +2 -2
- package/dist/esm/models/issue-tax-invoice-request-dto.js +2 -2
- 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/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/negotiation-score-dto.d.ts +2 -2
- package/dist/esm/models/negotiation-score-dto.js +2 -2
- 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/negotiation-scored-v2-response-dto.d.ts +2 -2
- package/dist/esm/models/negotiation-scored-v2-response-dto.js +2 -2
- package/dist/esm/models/oauth-error-response-dto.d.ts +2 -2
- package/dist/esm/models/oauth-error-response-dto.js +2 -2
- package/dist/esm/models/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 +2 -2
- package/dist/esm/models/problem-details-dto.js +2 -2
- 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-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/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-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/revoke-request-dto.d.ts +14 -2
- package/dist/esm/models/revoke-request-dto.js +5 -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/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-request-dto.d.ts +2 -2
- package/dist/esm/models/submit-negotiation-scores-request-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/tax-invoice-issued-response-dto.d.ts +2 -2
- package/dist/esm/models/tax-invoice-issued-response-dto.js +2 -2
- package/dist/esm/models/token-request-dto.d.ts +14 -2
- package/dist/esm/models/token-request-dto.js +5 -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/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/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/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/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-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-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-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-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/card-payment-request-response-dto.d.ts +2 -2
- package/dist/models/card-payment-request-response-dto.js +2 -2
- package/dist/models/close-sandbox-bid-response-dto.d.ts +2 -2
- package/dist/models/close-sandbox-bid-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/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-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/embed-launch-request-dto.d.ts +2 -2
- package/dist/models/embed-launch-request-dto.js +2 -2
- package/dist/models/embed-launch-response-dto.d.ts +2 -2
- package/dist/models/embed-launch-response-dto.js +2 -2
- 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-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/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/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/issue-tax-invoice-request-dto.d.ts +2 -2
- package/dist/models/issue-tax-invoice-request-dto.js +2 -2
- package/dist/models/list-bids-response-dto.d.ts +2 -2
- package/dist/models/list-bids-response-dto.js +2 -2
- package/dist/models/mark-bid-failed-request-dto.d.ts +2 -2
- package/dist/models/mark-bid-failed-request-dto.js +2 -2
- package/dist/models/mark-bid-failed-v1-request-dto.d.ts +2 -2
- package/dist/models/mark-bid-failed-v1-request-dto.js +2 -2
- package/dist/models/negotiation-score-dto.d.ts +2 -2
- package/dist/models/negotiation-score-dto.js +2 -2
- package/dist/models/negotiation-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/negotiation-scored-v2-response-dto.d.ts +2 -2
- package/dist/models/negotiation-scored-v2-response-dto.js +2 -2
- package/dist/models/oauth-error-response-dto.d.ts +2 -2
- package/dist/models/oauth-error-response-dto.js +2 -2
- package/dist/models/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 +2 -2
- package/dist/models/problem-details-dto.js +2 -2
- 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-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/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-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/revoke-request-dto.d.ts +14 -2
- package/dist/models/revoke-request-dto.js +6 -3
- 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/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-request-dto.d.ts +2 -2
- package/dist/models/submit-negotiation-scores-request-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/tax-invoice-issued-response-dto.d.ts +2 -2
- package/dist/models/tax-invoice-issued-response-dto.js +2 -2
- package/dist/models/token-request-dto.d.ts +14 -2
- package/dist/models/token-request-dto.js +6 -3
- 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/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/docs/AuthorizationServerMetadataDto.md +2 -0
- package/docs/PartnerV2Api.md +52 -36
- package/docs/RevokeRequestDto.md +4 -0
- package/docs/TokenRequestDto.md +4 -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/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/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-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-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-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-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/card-payment-request-response-dto.ts +2 -2
- package/models/close-sandbox-bid-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/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-external-contract-documents-request-dto.ts +2 -2
- package/models/create-external-contract-documents-response-dto.ts +2 -2
- package/models/embed-launch-request-dto.ts +2 -2
- package/models/embed-launch-response-dto.ts +2 -2
- 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-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/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/invalid-param-dto.ts +2 -2
- package/models/invoice-completed-response-dto.ts +2 -2
- package/models/issue-tax-invoice-request-dto.ts +2 -2
- package/models/list-bids-response-dto.ts +2 -2
- package/models/mark-bid-failed-request-dto.ts +2 -2
- package/models/mark-bid-failed-v1-request-dto.ts +2 -2
- package/models/negotiation-score-dto.ts +2 -2
- package/models/negotiation-score-v1-dto.ts +2 -2
- package/models/negotiation-scored-response-dto.ts +2 -2
- package/models/negotiation-scored-v2-response-dto.ts +2 -2
- package/models/oauth-error-response-dto.ts +2 -2
- package/models/preconditions-dto.ts +2 -2
- package/models/preconditions-v1-dto.ts +2 -2
- package/models/problem-details-dto.ts +2 -2
- package/models/product-receipt-v1-response-dto.ts +2 -2
- package/models/product-v1-response-dto.ts +2 -2
- package/models/protected-resource-metadata-dto.ts +2 -2
- package/models/register-award-request-dto.ts +2 -2
- package/models/register-award-v1-request-dto.ts +2 -2
- 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/revoke-request-dto.ts +15 -2
- package/models/semo-contract-registered-response-dto.ts +2 -2
- package/models/semo-contract-taxinvoice-status-response-dto.ts +2 -2
- 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-request-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/tax-invoice-issued-response-dto.ts +2 -2
- package/models/token-request-dto.ts +15 -2
- package/models/token-response-dto.ts +2 -2
- package/models/update-bid-request-dto.ts +2 -2
- package/models/upload-file-request-dto.ts +2 -2
- package/models/upload-file-v1-request-dto.ts +2 -2
- package/package.json +1 -1
package/docs/PartnerV2Api.md
CHANGED
|
@@ -81,8 +81,9 @@ const { status, data } = await apiInstance.closeSandboxBid(
|
|
|
81
81
|
|**200** | 마감 결과(마감 후 공개 상태·응찰 수). | - |
|
|
82
82
|
|**400** | 쿼리/본문 입력 검증 실패(`type: …/validation-failed`). | - |
|
|
83
83
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
84
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
84
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
85
85
|
|**409** | backend 도메인 충돌 — 마감 불가 상태(이미 마감 등). `type: …/upstream-conflict`. | - |
|
|
86
|
+
|**422** | backend 가 형식은 맞지만 내용상 처리 불가로 거부(`type: …/upstream-unprocessable`). | - |
|
|
86
87
|
|**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`. | - |
|
|
87
88
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
88
89
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -147,8 +148,9 @@ const { status, data } = await apiInstance.completeAcceptance(
|
|
|
147
148
|
|**200** | 검수완료 처리 결과. | - |
|
|
148
149
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
149
150
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
150
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
151
|
-
|**409** |
|
|
151
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
152
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
153
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
152
154
|
|**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`. | - |
|
|
153
155
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
154
156
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -209,8 +211,9 @@ const { status, data } = await apiInstance.completeInvoice(
|
|
|
209
211
|
|**200** | 정산 마감 완료. | - |
|
|
210
212
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
211
213
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
212
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
213
|
-
|**409** |
|
|
214
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
215
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
216
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
214
217
|
|**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`. | - |
|
|
215
218
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
216
219
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -272,8 +275,9 @@ const { status, data } = await apiInstance.createCardPaymentRequest(
|
|
|
272
275
|
|**200** | | - |
|
|
273
276
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
274
277
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
275
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
276
|
-
|**409** |
|
|
278
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
279
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
280
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
277
281
|
|**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`. | - |
|
|
278
282
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
279
283
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -332,7 +336,8 @@ const { status, data } = await apiInstance.createEmbedLaunch(
|
|
|
332
336
|
|**201** | | - |
|
|
333
337
|
|**400** | 쿼리/본문 입력 검증 실패(`type: …/validation-failed`). | - |
|
|
334
338
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
335
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
339
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
340
|
+
|**422** | backend 가 형식은 맞지만 내용상 처리 불가로 거부(`type: …/upstream-unprocessable`). | - |
|
|
336
341
|
|**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`. | - |
|
|
337
342
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
338
343
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -394,8 +399,9 @@ const { status, data } = await apiInstance.createExternalContractDocuments(
|
|
|
394
399
|
|**201** | 계약서류 생성 완료. | - |
|
|
395
400
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
396
401
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
397
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
398
|
-
|**409** |
|
|
402
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
403
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
404
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
399
405
|
|**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`. | - |
|
|
400
406
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
401
407
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -503,7 +509,7 @@ const { status, data } = await apiInstance.getBid(
|
|
|
503
509
|
|-------------|-------------|------------------|
|
|
504
510
|
|**200** | | - |
|
|
505
511
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
506
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
512
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
507
513
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
508
514
|
|**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`. | - |
|
|
509
515
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
@@ -561,7 +567,7 @@ const { status, data } = await apiInstance.getBidResults(
|
|
|
561
567
|
|-------------|-------------|------------------|
|
|
562
568
|
|**200** | | - |
|
|
563
569
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
564
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
570
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
565
571
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
566
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`. | - |
|
|
567
573
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
@@ -619,7 +625,7 @@ const { status, data } = await apiInstance.getBidSettlement(
|
|
|
619
625
|
|-------------|-------------|------------------|
|
|
620
626
|
|**200** | | - |
|
|
621
627
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
622
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
628
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
623
629
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
624
630
|
|**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`. | - |
|
|
625
631
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
@@ -680,7 +686,7 @@ const { status, data } = await apiInstance.getBidStatement(
|
|
|
680
686
|
|-------------|-------------|------------------|
|
|
681
687
|
|**200** | | - |
|
|
682
688
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
683
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
689
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
684
690
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
685
691
|
|**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`. | - |
|
|
686
692
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
@@ -894,8 +900,9 @@ const { status, data } = await apiInstance.issueTaxInvoice(
|
|
|
894
900
|
|**200** | 세금계산서 발행 완료. | - |
|
|
895
901
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
896
902
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
897
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
898
|
-
|**409** |
|
|
903
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
904
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
905
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
899
906
|
|**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`. | - |
|
|
900
907
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
901
908
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -955,7 +962,7 @@ const { status, data } = await apiInstance.listBids(
|
|
|
955
962
|
|-------------|-------------|------------------|
|
|
956
963
|
|**200** | | - |
|
|
957
964
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
958
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
965
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
959
966
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
960
967
|
|**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`. | - |
|
|
961
968
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
@@ -1016,7 +1023,7 @@ const { status, data } = await apiInstance.listExternalContractDocuments(
|
|
|
1016
1023
|
|-------------|-------------|------------------|
|
|
1017
1024
|
|**200** | 필요 계약서류 목록. | - |
|
|
1018
1025
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1019
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1026
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1020
1027
|
|**404** | 대상 리소스 없음 — backend 거부 패스스루(`type: …/upstream-not-found`). | - |
|
|
1021
1028
|
|**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`. | - |
|
|
1022
1029
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
@@ -1082,8 +1089,9 @@ const { status, data } = await apiInstance.markBidFailed(
|
|
|
1082
1089
|
|**201** | 유찰 처리 완료. | - |
|
|
1083
1090
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1084
1091
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1085
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1086
|
-
|**409** |
|
|
1092
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1093
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
1094
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
1087
1095
|
|**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`. | - |
|
|
1088
1096
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1089
1097
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -1144,8 +1152,9 @@ const { status, data } = await apiInstance.publishBid(
|
|
|
1144
1152
|
|**200** | 공고 게시 완료. | - |
|
|
1145
1153
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1146
1154
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1147
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1148
|
-
|**409** |
|
|
1155
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1156
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
1157
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
1149
1158
|
|**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`. | - |
|
|
1150
1159
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1151
1160
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -1206,8 +1215,9 @@ const { status, data } = await apiInstance.regenerateContractDocuments(
|
|
|
1206
1215
|
|**201** | 계약서류 재생성 큐 등록 완료. | - |
|
|
1207
1216
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1208
1217
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1209
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1210
|
-
|**409** |
|
|
1218
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1219
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
1220
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
1211
1221
|
|**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`. | - |
|
|
1212
1222
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1213
1223
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -1272,8 +1282,9 @@ const { status, data } = await apiInstance.registerAward(
|
|
|
1272
1282
|
|**201** | 낙찰 등록 완료. | - |
|
|
1273
1283
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1274
1284
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1275
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1276
|
-
|**409** |
|
|
1285
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1286
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
1287
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
1277
1288
|
|**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`. | - |
|
|
1278
1289
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1279
1290
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -1332,8 +1343,9 @@ const { status, data } = await apiInstance.registerBid(
|
|
|
1332
1343
|
|**201** | | - |
|
|
1333
1344
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1334
1345
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1335
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1336
|
-
|**409** |
|
|
1346
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1347
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
1348
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
1337
1349
|
|**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`. | - |
|
|
1338
1350
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1339
1351
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -1395,8 +1407,9 @@ const { status, data } = await apiInstance.registerSemoContract(
|
|
|
1395
1407
|
|**200** | | - |
|
|
1396
1408
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1397
1409
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1398
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1399
|
-
|**409** |
|
|
1410
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1411
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
1412
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
1400
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`. | - |
|
|
1401
1414
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1402
1415
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -1461,8 +1474,9 @@ const { status, data } = await apiInstance.submitNegotiationScores(
|
|
|
1461
1474
|
|**201** | 협상 점수평가 완료. | - |
|
|
1462
1475
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1463
1476
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1464
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1465
|
-
|**409** |
|
|
1477
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1478
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
1479
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
1466
1480
|
|**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`. | - |
|
|
1467
1481
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1468
1482
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -1527,8 +1541,9 @@ const { status, data } = await apiInstance.updateBid(
|
|
|
1527
1541
|
|**200** | 공고 수정 완료. | - |
|
|
1528
1542
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1529
1543
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1530
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1531
|
-
|**409** |
|
|
1544
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1545
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
1546
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
1532
1547
|
|**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`. | - |
|
|
1533
1548
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1534
1549
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
|
@@ -1587,9 +1602,10 @@ const { status, data } = await apiInstance.uploadFile(
|
|
|
1587
1602
|
|**201** | | - |
|
|
1588
1603
|
|**400** | 입력 검증 실패(`type: …/validation-failed`), Idempotency-Key 헤더 누락/형식 오류(`…/idempotency-key-required`, `…/idempotency-key-invalid`), 또는 backend 입력 거부(`…/upstream-invalid-input`). | - |
|
|
1589
1604
|
|**401** | Bearer 토큰 없음(`type: …/missing-bearer-token`) 또는 만료/위변조/폐기(`…/invalid-token`). | - |
|
|
1590
|
-
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가
|
|
1591
|
-
|**409** |
|
|
1605
|
+
|**403** | 키 미바인딩(`type: …/unbound-partner-key`), 클라 IP 차단(`…/ip-not-allowed`), 스코프 부족(`…/insufficient-scope`), buyerId 가 키의 대행 범위 밖(`…/buyer-scope-mismatch` — 샌드박스 키의 범위 위반도 이 slug), 또는 backend 권한 거부(`…/upstream-forbidden`). | - |
|
|
1606
|
+
|**409** | 원 요청이 아직 처리 중인 상태에서 같은 Idempotency-Key 재전송(`type: …/idempotency-key-conflict` — 잠시 뒤 같은 키로 재시도하면 결과를 받는다) 또는 backend 도메인 상태 충돌(`…/upstream-conflict`). | - |
|
|
1592
1607
|
|**413** | 요청 본문 크기 초과(`type: …/payload-too-large`). | - |
|
|
1608
|
+
|**422** | 동일 Idempotency-Key 를 **다른 body** 로 재전송(`type: …/idempotency-key-reused`). 재시도해도 동일 실패 — 새 키를 쓰거나 body 를 원래대로 되돌려야 한다. backend 가 내용상 처리 불가로 거부한 경우(`…/upstream-unprocessable`)도 이 상태다. | - |
|
|
1593
1609
|
|**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`. | - |
|
|
1594
1610
|
|**500** | 서버 내부 오류(`type: …/internal-server-error`). `retryable: true`. | - |
|
|
1595
1611
|
|**502** | backend 도메인 거부 또는 backend 5xx(`type: …/upstream-rejected`). `retryable: true`. | - |
|
package/docs/RevokeRequestDto.md
CHANGED
|
@@ -9,6 +9,8 @@ Name | Type | Description | Notes
|
|
|
9
9
|
**token_type_hint** | **string** | 토큰 종류 힌트. 이 API 는 access_token 만 발급하므로 무시됩니다. | [optional] [default to undefined]
|
|
10
10
|
**client_id** | **string** | client_id (Basic 인증 헤더를 쓰지 않는 경우) | [optional] [default to undefined]
|
|
11
11
|
**client_secret** | **string** | client_secret (Basic 인증 헤더를 쓰지 않는 경우) | [optional] [default to undefined]
|
|
12
|
+
**client_assertion** | **string** | RFC 7523 private_key_jwt 인증용 서명 JWT (공개키가 등록된 키). | [optional] [default to undefined]
|
|
13
|
+
**client_assertion_type** | **string** | client_assertion 의 종류. RFC 7523 이 정한 고정 URN 만 허용합니다. | [optional] [default to undefined]
|
|
12
14
|
|
|
13
15
|
## Example
|
|
14
16
|
|
|
@@ -20,6 +22,8 @@ const instance: RevokeRequestDto = {
|
|
|
20
22
|
token_type_hint,
|
|
21
23
|
client_id,
|
|
22
24
|
client_secret,
|
|
25
|
+
client_assertion,
|
|
26
|
+
client_assertion_type,
|
|
23
27
|
};
|
|
24
28
|
```
|
|
25
29
|
|
package/docs/TokenRequestDto.md
CHANGED
|
@@ -9,6 +9,8 @@ Name | Type | Description | Notes
|
|
|
9
9
|
**client_id** | **string** | 파트너 client_id (client_secret_post 방식). Basic 인증 시 생략. | [optional] [default to undefined]
|
|
10
10
|
**client_secret** | **string** | 파트너 client_secret (client_secret_post 방식). Basic 인증 시 생략. | [optional] [default to undefined]
|
|
11
11
|
**scope** | **string** | space-separated 요청 스코프. 미지정 시 client 의 전체 스코프 발급. | [optional] [default to undefined]
|
|
12
|
+
**client_assertion** | **string** | RFC 7523 private_key_jwt 인증용 서명 JWT. 공개키가 등록된 키는 client_secret 대신 이 값을 보냅니다. | [optional] [default to undefined]
|
|
13
|
+
**client_assertion_type** | **string** | client_assertion 의 종류. RFC 7523 이 정한 고정 URN 만 허용합니다. | [optional] [default to undefined]
|
|
12
14
|
|
|
13
15
|
## Example
|
|
14
16
|
|
|
@@ -20,6 +22,8 @@ const instance: TokenRequestDto = {
|
|
|
20
22
|
client_id,
|
|
21
23
|
client_secret,
|
|
22
24
|
scope,
|
|
25
|
+
client_assertion,
|
|
26
|
+
client_assertion_type,
|
|
23
27
|
};
|
|
24
28
|
```
|
|
25
29
|
|
package/index.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* CMARKET V6 Partner API
|
|
5
|
-
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). `
|
|
5
|
+
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시다. 폐지 일정이 정해지면 /v1 응답에 `Deprecation`(RFC 9745, `@<epoch초>`) 과 `Sunset`(RFC 8594, HTTP-date) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
|
|
6
6
|
*
|
|
7
|
-
* The version of the OpenAPI document:
|
|
7
|
+
* The version of the OpenAPI document: 23.0.0
|
|
8
8
|
* Contact: semo.io.kr@gmail.com
|
|
9
9
|
*
|
|
10
10
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* CMARKET V6 Partner API
|
|
5
|
-
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). `
|
|
5
|
+
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시다. 폐지 일정이 정해지면 /v1 응답에 `Deprecation`(RFC 9745, `@<epoch초>`) 과 `Sunset`(RFC 8594, HTTP-date) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
|
|
6
6
|
*
|
|
7
|
-
* The version of the OpenAPI document:
|
|
7
|
+
* The version of the OpenAPI document: 23.0.0
|
|
8
8
|
* Contact: semo.io.kr@gmail.com
|
|
9
9
|
*
|
|
10
10
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* CMARKET V6 Partner API
|
|
5
|
-
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). `
|
|
5
|
+
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시다. 폐지 일정이 정해지면 /v1 응답에 `Deprecation`(RFC 9745, `@<epoch초>`) 과 `Sunset`(RFC 8594, HTTP-date) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
|
|
6
6
|
*
|
|
7
|
-
* The version of the OpenAPI document:
|
|
7
|
+
* The version of the OpenAPI document: 23.0.0
|
|
8
8
|
* Contact: semo.io.kr@gmail.com
|
|
9
9
|
*
|
|
10
10
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* CMARKET V6 Partner API
|
|
5
|
-
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). `
|
|
5
|
+
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시다. 폐지 일정이 정해지면 /v1 응답에 `Deprecation`(RFC 9745, `@<epoch초>`) 과 `Sunset`(RFC 8594, HTTP-date) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
|
|
6
6
|
*
|
|
7
|
-
* The version of the OpenAPI document:
|
|
7
|
+
* The version of the OpenAPI document: 23.0.0
|
|
8
8
|
* Contact: semo.io.kr@gmail.com
|
|
9
9
|
*
|
|
10
10
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* CMARKET V6 Partner API
|
|
5
|
-
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). `
|
|
5
|
+
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시다. 폐지 일정이 정해지면 /v1 응답에 `Deprecation`(RFC 9745, `@<epoch초>`) 과 `Sunset`(RFC 8594, HTTP-date) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
|
|
6
6
|
*
|
|
7
|
-
* The version of the OpenAPI document:
|
|
7
|
+
* The version of the OpenAPI document: 23.0.0
|
|
8
8
|
* Contact: semo.io.kr@gmail.com
|
|
9
9
|
*
|
|
10
10
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -35,6 +35,10 @@ export interface AuthorizationServerMetadataDto {
|
|
|
35
35
|
* token endpoint 의 client 인증 방식 (RFC 6749 §2.3.1).
|
|
36
36
|
*/
|
|
37
37
|
'token_endpoint_auth_methods_supported': Array<string>;
|
|
38
|
+
/**
|
|
39
|
+
* private_key_jwt(RFC 7523) client_assertion 서명에 받아 주는 알고리즘.
|
|
40
|
+
*/
|
|
41
|
+
'token_endpoint_auth_signing_alg_values_supported': Array<string>;
|
|
38
42
|
/**
|
|
39
43
|
* 발급 가능한 scope 전체. 키에 실제로 부여된 범위는 이보다 좁을 수 있다.
|
|
40
44
|
*/
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* CMARKET V6 Partner API
|
|
5
|
-
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). `
|
|
5
|
+
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시다. 폐지 일정이 정해지면 /v1 응답에 `Deprecation`(RFC 9745, `@<epoch초>`) 과 `Sunset`(RFC 8594, HTTP-date) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
|
|
6
6
|
*
|
|
7
|
-
* The version of the OpenAPI document:
|
|
7
|
+
* The version of the OpenAPI document: 23.0.0
|
|
8
8
|
* Contact: semo.io.kr@gmail.com
|
|
9
9
|
*
|
|
10
10
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* CMARKET V6 Partner API
|
|
5
|
-
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). `
|
|
5
|
+
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시다. 폐지 일정이 정해지면 /v1 응답에 `Deprecation`(RFC 9745, `@<epoch초>`) 과 `Sunset`(RFC 8594, HTTP-date) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
|
|
6
6
|
*
|
|
7
|
-
* The version of the OpenAPI document:
|
|
7
|
+
* The version of the OpenAPI document: 23.0.0
|
|
8
8
|
* Contact: semo.io.kr@gmail.com
|
|
9
9
|
*
|
|
10
10
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* CMARKET V6 Partner API
|
|
5
|
-
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). `
|
|
5
|
+
* 외부 ERP 연동용 RESTful API. ## 버전별 인증 - **_/v2** — OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token` 에서 토큰 발급 후 `Authorization: Bearer <token>` 헤더. - **_/v1** — V5 충실 platform-auth. `X-Platform-Id`(cate_set.api_id) / `X-Platform-Secret`(cate_set.api_secret, MD5-hex) 헤더로 전송. ## 권한 — 두 개의 독립된 축 `403` 을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분할 것. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않는다. 범위 밖이면 스코프와 무관하게 403 이다. 대행 범위는 키마다 둘 중 하나로 설정된다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주처 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청할 것. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`. 소비자는 **HTTP status + `type` URI** 로 분기한다. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도, `false`면 요청을 고쳐야 한다. - `correlationId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 동일 — 문의 시 이 값을 첨부. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). `type` 은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**다. RFC 9457 §3.1.1 이 허용하는 대로 이 URI 는 **역참조(dereference)되지 않는다** — 브라우저로 열지 말고 문자열 비교로만 쓸 것. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 명시돼 있다. 새 slug 은 추가될 수 있으므로, 모르는 slug 을 만나면 `type` 이 아니라 **HTTP status 로 폴백**하도록 구현할 것. ### 멱등성 위반: 409 와 422 의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**이다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받는다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈다. 재시도해도 영원히 같은 실패다. 새 키를 쓰거나 body 를 되돌릴 것. ## 레이트 리밋 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분**. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나간다 — 신규 연동은 표준 필드를 쓸 것. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지한다. `429` 에서는 `Retry-After`(초)가 우선한다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도할 것. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급한다. 모든 응답(성공/에러)에 `X-Correlation-Id` 가 실린다. ## 버전 수명(deprecation/sunset) - **_/v1** 은 레거시 V5 cutover 완료 시점까지 유지되는 충실 프록시다. 폐지 일정이 정해지면 /v1 응답에 `Deprecation`(RFC 9745, `@<epoch초>`) 과 `Sunset`(RFC 8594, HTTP-date) 헤더가 실린다 — 그 전까지는 두 헤더가 나가지 않는다. - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지한다. 소비자는 이 헤더를 모니터링할 것.
|
|
6
6
|
*
|
|
7
|
-
* The version of the OpenAPI document:
|
|
7
|
+
* The version of the OpenAPI document: 23.0.0
|
|
8
8
|
* Contact: semo.io.kr@gmail.com
|
|
9
9
|
*
|
|
10
10
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|