@cmarket/partner-sdk 37.3.1 โ 38.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -5
- package/api/embed-api.ts +2 -2
- package/api/oauth-api.ts +2 -2
- package/api/partner-api-api.ts +688 -6
- package/api/products-api.ts +21 -13
- 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/embed-api.d.ts +2 -2
- package/dist/api/embed-api.js +2 -2
- package/dist/api/oauth-api.d.ts +2 -2
- package/dist/api/oauth-api.js +2 -2
- package/dist/api/partner-api-api.d.ts +310 -6
- package/dist/api/partner-api-api.js +644 -6
- package/dist/api/products-api.d.ts +14 -10
- package/dist/api/products-api.js +20 -13
- 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/embed-api.d.ts +2 -2
- package/dist/esm/api/embed-api.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-api-api.d.ts +310 -6
- package/dist/esm/api/partner-api-api.js +644 -6
- package/dist/esm/api/products-api.d.ts +14 -10
- package/dist/esm/api/products-api.js +20 -13
- 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/acknowledge-product-receipt200-response.d.ts +2 -8
- package/dist/esm/models/acknowledge-product-receipt200-response.js +2 -2
- package/dist/esm/models/acknowledge-products-request-dto.d.ts +2 -2
- package/dist/esm/models/acknowledge-products-request-dto.js +2 -2
- package/dist/esm/models/api-catalog-dto.d.ts +2 -2
- package/dist/esm/models/api-catalog-dto.js +2 -2
- package/dist/esm/models/api-catalog-entry-dto.d.ts +2 -2
- package/dist/esm/models/api-catalog-entry-dto.js +2 -2
- package/dist/esm/models/api-catalog-link-dto.d.ts +2 -2
- package/dist/esm/models/api-catalog-link-dto.js +2 -2
- package/dist/esm/models/authorization-server-metadata-dto.d.ts +2 -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-v2-response-dto.d.ts +2 -2
- package/dist/esm/models/award-registered-v2-response-dto.js +2 -2
- package/dist/esm/models/award-reverted-v2-response-dto.d.ts +2 -2
- package/dist/esm/models/award-reverted-v2-response-dto.js +2 -2
- package/dist/esm/models/bid-acceptance-dto.d.ts +2 -2
- package/dist/esm/models/bid-acceptance-dto.js +2 -2
- package/dist/esm/models/bid-attachment-input-dto.d.ts +2 -2
- package/dist/esm/models/bid-attachment-input-dto.js +2 -2
- package/dist/esm/models/bid-bond-dto.d.ts +2 -2
- package/dist/esm/models/bid-bond-dto.js +2 -2
- package/dist/esm/models/bid-cancelled-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-cancelled-response-dto.js +2 -2
- package/dist/esm/models/bid-contact-dto.d.ts +2 -2
- package/dist/esm/models/bid-contact-dto.js +2 -2
- package/dist/esm/models/bid-contacts-dto.d.ts +2 -2
- package/dist/esm/models/bid-contacts-dto.js +2 -2
- package/dist/esm/models/bid-contract-document-dto.d.ts +2 -2
- package/dist/esm/models/bid-contract-document-dto.js +2 -2
- package/dist/esm/models/bid-delivery-terms-dto.d.ts +2 -2
- package/dist/esm/models/bid-delivery-terms-dto.js +2 -2
- package/dist/esm/models/bid-detail-response-dto.d.ts +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-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-item-dto.d.ts +2 -2
- package/dist/esm/models/bid-item-dto.js +2 -2
- package/dist/esm/models/bid-lifecycle-dto.d.ts +2 -2
- package/dist/esm/models/bid-lifecycle-dto.js +2 -2
- package/dist/esm/models/bid-manager-dto.d.ts +2 -2
- package/dist/esm/models/bid-manager-dto.js +2 -2
- package/dist/esm/models/bid-payment-terms-dto.d.ts +2 -2
- package/dist/esm/models/bid-payment-terms-dto.js +2 -2
- package/dist/esm/models/bid-product-dto.d.ts +2 -2
- package/dist/esm/models/bid-product-dto.js +2 -2
- package/dist/esm/models/bid-public-status.d.ts +2 -2
- package/dist/esm/models/bid-public-status.js +2 -2
- package/dist/esm/models/bid-registered-response-dto.d.ts +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-results-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-results-response-dto.js +2 -2
- package/dist/esm/models/bid-settlement-line-item-dto.d.ts +2 -2
- package/dist/esm/models/bid-settlement-line-item-dto.js +2 -2
- package/dist/esm/models/bid-settlement-participant-dto.d.ts +2 -2
- package/dist/esm/models/bid-settlement-participant-dto.js +2 -2
- package/dist/esm/models/bid-settlement-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-settlement-response-dto.js +2 -2
- package/dist/esm/models/bid-statement-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-statement-response-dto.js +2 -2
- package/dist/esm/models/bid-summary-dto.d.ts +2 -2
- package/dist/esm/models/bid-summary-dto.js +2 -2
- package/dist/esm/models/bid-type-public.d.ts +2 -2
- package/dist/esm/models/bid-type-public.js +2 -2
- package/dist/esm/models/bid-updated-response-dto.d.ts +2 -2
- package/dist/esm/models/bid-updated-response-dto.js +2 -2
- package/dist/esm/models/cancel-bid-request-dto.d.ts +2 -2
- package/dist/esm/models/cancel-bid-request-dto.js +2 -2
- package/dist/esm/models/cancel-bid200-response.d.ts +2 -8
- package/dist/esm/models/cancel-bid200-response.js +2 -2
- package/dist/esm/models/card-payment-request-response-dto.d.ts +2 -2
- package/dist/esm/models/card-payment-request-response-dto.js +2 -2
- package/dist/esm/models/complete-acceptance-request-dto.d.ts +2 -2
- package/dist/esm/models/complete-acceptance-request-dto.js +2 -2
- package/dist/esm/models/complete-acceptance200-response.d.ts +2 -8
- package/dist/esm/models/complete-acceptance200-response.js +2 -2
- package/dist/esm/models/complete-invoice200-response.d.ts +2 -8
- package/dist/esm/models/complete-invoice200-response.js +2 -2
- package/dist/esm/models/complete-upload-request-dto.d.ts +2 -2
- package/dist/esm/models/complete-upload-request-dto.js +2 -2
- package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +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-card-payment-dto.d.ts +2 -2
- package/dist/esm/models/create-card-payment-dto.js +2 -2
- package/dist/esm/models/create-card-payment-request-dto.d.ts +2 -2
- package/dist/esm/models/create-card-payment-request-dto.js +2 -2
- package/dist/esm/models/create-card-payment200-response.d.ts +2 -8
- package/dist/esm/models/create-card-payment200-response.js +2 -2
- package/dist/esm/models/create-embed-launch201-response.d.ts +2 -8
- package/dist/esm/models/create-embed-launch201-response.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/create-file-upload-url201-response.d.ts +2 -8
- package/dist/esm/models/create-file-upload-url201-response.js +2 -2
- package/dist/esm/models/create-upload-url-request-dto.d.ts +2 -2
- package/dist/esm/models/create-upload-url-request-dto.js +2 -2
- package/dist/esm/models/create-webhook-endpoint-request-dto.d.ts +22 -0
- package/dist/esm/models/create-webhook-endpoint-request-dto.js +14 -0
- package/dist/esm/models/create-webhook-endpoint201-response.d.ts +15 -0
- package/dist/esm/models/create-webhook-endpoint201-response.js +14 -0
- package/dist/esm/models/delivery-date-type-public.d.ts +2 -2
- package/dist/esm/models/delivery-date-type-public.js +2 -2
- package/dist/esm/models/delivery-method-public.d.ts +2 -2
- package/dist/esm/models/delivery-method-public.js +2 -2
- package/dist/esm/models/embed-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/excellent-procurement-public.d.ts +2 -2
- package/dist/esm/models/excellent-procurement-public.js +2 -2
- package/dist/esm/models/external-contract-document-item-dto.d.ts +2 -2
- package/dist/esm/models/external-contract-document-item-dto.js +2 -2
- package/dist/esm/models/external-contract-documents-response-dto.d.ts +2 -2
- package/dist/esm/models/external-contract-documents-response-dto.js +2 -2
- package/dist/esm/models/external-contract-item-dto.d.ts +2 -2
- package/dist/esm/models/external-contract-item-dto.js +2 -2
- package/dist/esm/models/external-contract-snapshot-dto.d.ts +2 -2
- package/dist/esm/models/external-contract-snapshot-dto.js +2 -2
- package/dist/esm/models/external-document-inputs-dto.d.ts +2 -2
- package/dist/esm/models/external-document-inputs-dto.js +2 -2
- package/dist/esm/models/file-meta-response-dto.d.ts +2 -2
- package/dist/esm/models/file-meta-response-dto.js +2 -2
- package/dist/esm/models/file-uploaded-response-dto.d.ts +2 -2
- package/dist/esm/models/file-uploaded-response-dto.js +2 -2
- package/dist/esm/models/generated-external-contract-document-dto.d.ts +2 -2
- package/dist/esm/models/generated-external-contract-document-dto.js +2 -2
- package/dist/esm/models/get-bid-settlement200-response.d.ts +2 -8
- package/dist/esm/models/get-bid-settlement200-response.js +2 -2
- package/dist/esm/models/get-bid-statement200-response.d.ts +2 -8
- package/dist/esm/models/get-bid-statement200-response.js +2 -2
- package/dist/esm/models/get-bid200-response.d.ts +2 -8
- package/dist/esm/models/get-bid200-response.js +2 -2
- package/dist/esm/models/get-file-meta200-response.d.ts +2 -8
- package/dist/esm/models/get-file-meta200-response.js +2 -2
- package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +2 -8
- package/dist/esm/models/get-supplier-card-payable-v2200-response.js +2 -2
- package/dist/esm/models/get-webhook-endpoint200-response.d.ts +15 -0
- package/dist/esm/models/get-webhook-endpoint200-response.js +14 -0
- package/dist/esm/models/green-product-public.d.ts +2 -2
- package/dist/esm/models/green-product-public.js +2 -2
- package/dist/esm/models/health-controller-check200-response.d.ts +2 -8
- package/dist/esm/models/health-controller-check200-response.js +2 -2
- package/dist/esm/models/health-response-dto.d.ts +2 -2
- package/dist/esm/models/health-response-dto.js +2 -2
- package/dist/esm/models/hierarchical-region-dto.d.ts +2 -2
- package/dist/esm/models/hierarchical-region-dto.js +2 -2
- package/dist/esm/models/index.d.ts +16 -1
- package/dist/esm/models/index.js +16 -1
- package/dist/esm/models/introspect-request-dto.d.ts +2 -2
- package/dist/esm/models/introspect-request-dto.js +2 -2
- package/dist/esm/models/introspection-response-dto.d.ts +2 -2
- package/dist/esm/models/introspection-response-dto.js +2 -2
- package/dist/esm/models/invalid-param-dto.d.ts +2 -2
- package/dist/esm/models/invalid-param-dto.js +2 -2
- package/dist/esm/models/invoice-completed-response-dto.d.ts +2 -2
- package/dist/esm/models/invoice-completed-response-dto.js +2 -2
- package/dist/esm/models/invoice-split-response-dto.d.ts +2 -2
- package/dist/esm/models/invoice-split-response-dto.js +2 -2
- package/dist/esm/models/legal-mandatory-public.d.ts +2 -2
- package/dist/esm/models/legal-mandatory-public.js +2 -2
- package/dist/esm/models/list-bid-results200-response.d.ts +4 -8
- package/dist/esm/models/list-bid-results200-response.js +2 -2
- package/dist/esm/models/list-bids200-response-meta.d.ts +24 -0
- package/dist/esm/models/list-bids200-response-meta.js +14 -0
- package/dist/esm/models/list-bids200-response.d.ts +6 -10
- package/dist/esm/models/list-bids200-response.js +2 -2
- package/dist/esm/models/list-products200-response.d.ts +4 -8
- package/dist/esm/models/list-products200-response.js +2 -2
- package/dist/esm/models/list-webhook-deliveries-response-dto.d.ts +22 -0
- package/dist/esm/models/list-webhook-deliveries-response-dto.js +14 -0
- package/dist/esm/models/list-webhook-deliveries200-response.d.ts +15 -0
- package/dist/esm/models/list-webhook-deliveries200-response.js +14 -0
- package/dist/esm/models/list-webhook-endpoints200-response.d.ts +17 -0
- package/dist/esm/models/list-webhook-endpoints200-response.js +14 -0
- package/dist/esm/models/mark-bid-failed-request-dto.d.ts +2 -2
- package/dist/esm/models/mark-bid-failed-request-dto.js +2 -2
- package/dist/esm/models/mark-bid-failed201-response.d.ts +2 -8
- package/dist/esm/models/mark-bid-failed201-response.js +2 -2
- package/dist/esm/models/negotiation-score-dto.d.ts +2 -2
- package/dist/esm/models/negotiation-score-dto.js +2 -2
- package/dist/esm/models/negotiation-scored-v2-response-dto.d.ts +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/partner-webhook-delivery-status.d.ts +18 -0
- package/dist/esm/models/partner-webhook-delivery-status.js +19 -0
- package/dist/esm/models/partner-webhook-endpoint-status.d.ts +19 -0
- package/dist/esm/models/partner-webhook-endpoint-status.js +20 -0
- package/dist/esm/models/partner-webhook-event-type.d.ts +22 -0
- package/dist/esm/models/partner-webhook-event-type.js +23 -0
- package/dist/esm/models/payment-method-public.d.ts +2 -2
- package/dist/esm/models/payment-method-public.js +2 -2
- package/dist/esm/models/preconditions-dto.d.ts +2 -2
- package/dist/esm/models/preconditions-dto.js +2 -2
- package/dist/esm/models/problem-details-dto.d.ts +2 -2
- package/dist/esm/models/problem-details-dto.js +2 -2
- package/dist/esm/models/product-receipt-response-dto.d.ts +2 -2
- package/dist/esm/models/product-receipt-response-dto.js +2 -2
- package/dist/esm/models/product-response-dto.d.ts +2 -2
- package/dist/esm/models/product-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-award201-response.d.ts +2 -8
- package/dist/esm/models/register-award201-response.js +2 -2
- package/dist/esm/models/register-bid201-response.d.ts +2 -8
- package/dist/esm/models/register-bid201-response.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-invoice-split-request-dto.d.ts +2 -2
- package/dist/esm/models/request-invoice-split-request-dto.js +2 -2
- package/dist/esm/models/request-invoice-split200-response.d.ts +2 -8
- package/dist/esm/models/request-invoice-split200-response.js +2 -2
- package/dist/esm/models/retiree-roster-input-dto.d.ts +2 -2
- package/dist/esm/models/retiree-roster-input-dto.js +2 -2
- package/dist/esm/models/retiree-roster-row-dto.d.ts +2 -2
- package/dist/esm/models/retiree-roster-row-dto.js +2 -2
- package/dist/esm/models/revert-award-request-dto.d.ts +2 -2
- package/dist/esm/models/revert-award-request-dto.js +2 -2
- package/dist/esm/models/revert-award200-response.d.ts +2 -8
- package/dist/esm/models/revert-award200-response.js +2 -2
- package/dist/esm/models/revoke-request-dto.d.ts +2 -2
- package/dist/esm/models/revoke-request-dto.js +2 -2
- package/dist/esm/models/semo-contract-registered-response-dto.d.ts +2 -2
- package/dist/esm/models/semo-contract-registered-response-dto.js +2 -2
- package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +2 -2
- package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +2 -2
- package/dist/esm/models/send-webhook-test-event200-response.d.ts +15 -0
- package/dist/esm/models/send-webhook-test-event200-response.js +14 -0
- 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/submit-negotiation-scores-request-dto.d.ts +2 -2
- package/dist/esm/models/submit-negotiation-scores-request-dto.js +2 -2
- package/dist/esm/models/submit-negotiation-scores201-response.d.ts +2 -8
- package/dist/esm/models/submit-negotiation-scores201-response.js +2 -2
- package/dist/esm/models/supplier-card-payable-response-dto.d.ts +2 -2
- package/dist/esm/models/supplier-card-payable-response-dto.js +2 -2
- package/dist/esm/models/supplier-tax-type.d.ts +2 -2
- package/dist/esm/models/supplier-tax-type.js +2 -2
- package/dist/esm/models/token-request-dto.d.ts +2 -2
- package/dist/esm/models/token-request-dto.js +2 -2
- package/dist/esm/models/token-response-dto.d.ts +2 -2
- package/dist/esm/models/token-response-dto.js +2 -2
- package/dist/esm/models/update-bid-request-dto.d.ts +2 -2
- package/dist/esm/models/update-bid-request-dto.js +2 -2
- package/dist/esm/models/update-bid200-response.d.ts +2 -8
- package/dist/esm/models/update-bid200-response.js +2 -2
- package/dist/esm/models/update-webhook-endpoint-request-dto.d.ts +27 -0
- package/dist/esm/models/update-webhook-endpoint-request-dto.js +14 -0
- package/dist/esm/models/upload-file-request-dto.d.ts +2 -2
- package/dist/esm/models/upload-file-request-dto.js +2 -2
- package/dist/esm/models/upload-file201-response.d.ts +2 -8
- package/dist/esm/models/upload-file201-response.js +2 -2
- package/dist/esm/models/upload-url-created-response-dto.d.ts +2 -2
- package/dist/esm/models/upload-url-created-response-dto.js +2 -2
- package/dist/esm/models/webhook-delivery-dto.d.ts +73 -0
- package/dist/esm/models/webhook-delivery-dto.js +21 -0
- package/dist/esm/models/webhook-endpoint-dto.d.ts +55 -0
- package/dist/esm/models/webhook-endpoint-dto.js +14 -0
- package/dist/esm/models/webhook-endpoint-with-secret-dto.d.ts +59 -0
- package/dist/esm/models/webhook-endpoint-with-secret-dto.js +14 -0
- package/dist/esm/models/webhook-test-result-dto.d.ts +25 -0
- package/dist/esm/models/webhook-test-result-dto.js +14 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/models/acceptance-result-response-dto.d.ts +2 -2
- package/dist/models/acceptance-result-response-dto.js +2 -2
- package/dist/models/acknowledge-product-receipt200-response.d.ts +2 -8
- package/dist/models/acknowledge-product-receipt200-response.js +2 -2
- package/dist/models/acknowledge-products-request-dto.d.ts +2 -2
- package/dist/models/acknowledge-products-request-dto.js +2 -2
- package/dist/models/api-catalog-dto.d.ts +2 -2
- package/dist/models/api-catalog-dto.js +2 -2
- package/dist/models/api-catalog-entry-dto.d.ts +2 -2
- package/dist/models/api-catalog-entry-dto.js +2 -2
- package/dist/models/api-catalog-link-dto.d.ts +2 -2
- package/dist/models/api-catalog-link-dto.js +2 -2
- package/dist/models/authorization-server-metadata-dto.d.ts +2 -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-v2-response-dto.d.ts +2 -2
- package/dist/models/award-registered-v2-response-dto.js +2 -2
- package/dist/models/award-reverted-v2-response-dto.d.ts +2 -2
- package/dist/models/award-reverted-v2-response-dto.js +2 -2
- package/dist/models/bid-acceptance-dto.d.ts +2 -2
- package/dist/models/bid-acceptance-dto.js +2 -2
- package/dist/models/bid-attachment-input-dto.d.ts +2 -2
- package/dist/models/bid-attachment-input-dto.js +2 -2
- package/dist/models/bid-bond-dto.d.ts +2 -2
- package/dist/models/bid-bond-dto.js +2 -2
- package/dist/models/bid-cancelled-response-dto.d.ts +2 -2
- package/dist/models/bid-cancelled-response-dto.js +2 -2
- package/dist/models/bid-contact-dto.d.ts +2 -2
- package/dist/models/bid-contact-dto.js +2 -2
- package/dist/models/bid-contacts-dto.d.ts +2 -2
- package/dist/models/bid-contacts-dto.js +2 -2
- package/dist/models/bid-contract-document-dto.d.ts +2 -2
- package/dist/models/bid-contract-document-dto.js +2 -2
- package/dist/models/bid-delivery-terms-dto.d.ts +2 -2
- package/dist/models/bid-delivery-terms-dto.js +2 -2
- package/dist/models/bid-detail-response-dto.d.ts +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-failed-v2-response-dto.d.ts +2 -2
- package/dist/models/bid-failed-v2-response-dto.js +2 -2
- package/dist/models/bid-item-dto.d.ts +2 -2
- package/dist/models/bid-item-dto.js +2 -2
- package/dist/models/bid-lifecycle-dto.d.ts +2 -2
- package/dist/models/bid-lifecycle-dto.js +2 -2
- package/dist/models/bid-manager-dto.d.ts +2 -2
- package/dist/models/bid-manager-dto.js +2 -2
- package/dist/models/bid-payment-terms-dto.d.ts +2 -2
- package/dist/models/bid-payment-terms-dto.js +2 -2
- package/dist/models/bid-product-dto.d.ts +2 -2
- package/dist/models/bid-product-dto.js +2 -2
- package/dist/models/bid-public-status.d.ts +2 -2
- package/dist/models/bid-public-status.js +2 -2
- package/dist/models/bid-registered-response-dto.d.ts +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-results-response-dto.d.ts +2 -2
- package/dist/models/bid-results-response-dto.js +2 -2
- package/dist/models/bid-settlement-line-item-dto.d.ts +2 -2
- package/dist/models/bid-settlement-line-item-dto.js +2 -2
- package/dist/models/bid-settlement-participant-dto.d.ts +2 -2
- package/dist/models/bid-settlement-participant-dto.js +2 -2
- package/dist/models/bid-settlement-response-dto.d.ts +2 -2
- package/dist/models/bid-settlement-response-dto.js +2 -2
- package/dist/models/bid-statement-response-dto.d.ts +2 -2
- package/dist/models/bid-statement-response-dto.js +2 -2
- package/dist/models/bid-summary-dto.d.ts +2 -2
- package/dist/models/bid-summary-dto.js +2 -2
- package/dist/models/bid-type-public.d.ts +2 -2
- package/dist/models/bid-type-public.js +2 -2
- package/dist/models/bid-updated-response-dto.d.ts +2 -2
- package/dist/models/bid-updated-response-dto.js +2 -2
- package/dist/models/cancel-bid-request-dto.d.ts +2 -2
- package/dist/models/cancel-bid-request-dto.js +2 -2
- package/dist/models/cancel-bid200-response.d.ts +2 -8
- package/dist/models/cancel-bid200-response.js +2 -2
- package/dist/models/card-payment-request-response-dto.d.ts +2 -2
- package/dist/models/card-payment-request-response-dto.js +2 -2
- package/dist/models/complete-acceptance-request-dto.d.ts +2 -2
- package/dist/models/complete-acceptance-request-dto.js +2 -2
- package/dist/models/complete-acceptance200-response.d.ts +2 -8
- package/dist/models/complete-acceptance200-response.js +2 -2
- package/dist/models/complete-invoice200-response.d.ts +2 -8
- package/dist/models/complete-invoice200-response.js +2 -2
- package/dist/models/complete-upload-request-dto.d.ts +2 -2
- package/dist/models/complete-upload-request-dto.js +2 -2
- package/dist/models/contract-restriction-confirm-input-dto.d.ts +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-card-payment-dto.d.ts +2 -2
- package/dist/models/create-card-payment-dto.js +2 -2
- package/dist/models/create-card-payment-request-dto.d.ts +2 -2
- package/dist/models/create-card-payment-request-dto.js +2 -2
- package/dist/models/create-card-payment200-response.d.ts +2 -8
- package/dist/models/create-card-payment200-response.js +2 -2
- package/dist/models/create-embed-launch201-response.d.ts +2 -8
- package/dist/models/create-embed-launch201-response.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/create-file-upload-url201-response.d.ts +2 -8
- package/dist/models/create-file-upload-url201-response.js +2 -2
- package/dist/models/create-upload-url-request-dto.d.ts +2 -2
- package/dist/models/create-upload-url-request-dto.js +2 -2
- package/dist/models/create-webhook-endpoint-request-dto.d.ts +22 -0
- package/dist/models/create-webhook-endpoint-request-dto.js +15 -0
- package/dist/models/create-webhook-endpoint201-response.d.ts +15 -0
- package/dist/models/create-webhook-endpoint201-response.js +15 -0
- package/dist/models/delivery-date-type-public.d.ts +2 -2
- package/dist/models/delivery-date-type-public.js +2 -2
- package/dist/models/delivery-method-public.d.ts +2 -2
- package/dist/models/delivery-method-public.js +2 -2
- package/dist/models/embed-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/excellent-procurement-public.d.ts +2 -2
- package/dist/models/excellent-procurement-public.js +2 -2
- package/dist/models/external-contract-document-item-dto.d.ts +2 -2
- package/dist/models/external-contract-document-item-dto.js +2 -2
- package/dist/models/external-contract-documents-response-dto.d.ts +2 -2
- package/dist/models/external-contract-documents-response-dto.js +2 -2
- package/dist/models/external-contract-item-dto.d.ts +2 -2
- package/dist/models/external-contract-item-dto.js +2 -2
- package/dist/models/external-contract-snapshot-dto.d.ts +2 -2
- package/dist/models/external-contract-snapshot-dto.js +2 -2
- package/dist/models/external-document-inputs-dto.d.ts +2 -2
- package/dist/models/external-document-inputs-dto.js +2 -2
- package/dist/models/file-meta-response-dto.d.ts +2 -2
- package/dist/models/file-meta-response-dto.js +2 -2
- package/dist/models/file-uploaded-response-dto.d.ts +2 -2
- package/dist/models/file-uploaded-response-dto.js +2 -2
- package/dist/models/generated-external-contract-document-dto.d.ts +2 -2
- package/dist/models/generated-external-contract-document-dto.js +2 -2
- package/dist/models/get-bid-settlement200-response.d.ts +2 -8
- package/dist/models/get-bid-settlement200-response.js +2 -2
- package/dist/models/get-bid-statement200-response.d.ts +2 -8
- package/dist/models/get-bid-statement200-response.js +2 -2
- package/dist/models/get-bid200-response.d.ts +2 -8
- package/dist/models/get-bid200-response.js +2 -2
- package/dist/models/get-file-meta200-response.d.ts +2 -8
- package/dist/models/get-file-meta200-response.js +2 -2
- package/dist/models/get-supplier-card-payable-v2200-response.d.ts +2 -8
- package/dist/models/get-supplier-card-payable-v2200-response.js +2 -2
- package/dist/models/get-webhook-endpoint200-response.d.ts +15 -0
- package/dist/models/get-webhook-endpoint200-response.js +15 -0
- package/dist/models/green-product-public.d.ts +2 -2
- package/dist/models/green-product-public.js +2 -2
- package/dist/models/health-controller-check200-response.d.ts +2 -8
- package/dist/models/health-controller-check200-response.js +2 -2
- package/dist/models/health-response-dto.d.ts +2 -2
- package/dist/models/health-response-dto.js +2 -2
- package/dist/models/hierarchical-region-dto.d.ts +2 -2
- package/dist/models/hierarchical-region-dto.js +2 -2
- package/dist/models/index.d.ts +16 -1
- package/dist/models/index.js +16 -1
- package/dist/models/introspect-request-dto.d.ts +2 -2
- package/dist/models/introspect-request-dto.js +2 -2
- package/dist/models/introspection-response-dto.d.ts +2 -2
- package/dist/models/introspection-response-dto.js +2 -2
- package/dist/models/invalid-param-dto.d.ts +2 -2
- package/dist/models/invalid-param-dto.js +2 -2
- package/dist/models/invoice-completed-response-dto.d.ts +2 -2
- package/dist/models/invoice-completed-response-dto.js +2 -2
- package/dist/models/invoice-split-response-dto.d.ts +2 -2
- package/dist/models/invoice-split-response-dto.js +2 -2
- package/dist/models/legal-mandatory-public.d.ts +2 -2
- package/dist/models/legal-mandatory-public.js +2 -2
- package/dist/models/list-bid-results200-response.d.ts +4 -8
- package/dist/models/list-bid-results200-response.js +2 -2
- package/dist/models/list-bids200-response-meta.d.ts +24 -0
- package/dist/models/list-bids200-response-meta.js +15 -0
- package/dist/models/list-bids200-response.d.ts +6 -10
- package/dist/models/list-bids200-response.js +2 -2
- package/dist/models/list-products200-response.d.ts +4 -8
- package/dist/models/list-products200-response.js +2 -2
- package/dist/models/list-webhook-deliveries-response-dto.d.ts +22 -0
- package/dist/models/list-webhook-deliveries-response-dto.js +15 -0
- package/dist/models/list-webhook-deliveries200-response.d.ts +15 -0
- package/dist/models/list-webhook-deliveries200-response.js +15 -0
- package/dist/models/list-webhook-endpoints200-response.d.ts +17 -0
- package/dist/models/list-webhook-endpoints200-response.js +15 -0
- package/dist/models/mark-bid-failed-request-dto.d.ts +2 -2
- package/dist/models/mark-bid-failed-request-dto.js +2 -2
- package/dist/models/mark-bid-failed201-response.d.ts +2 -8
- package/dist/models/mark-bid-failed201-response.js +2 -2
- package/dist/models/negotiation-score-dto.d.ts +2 -2
- package/dist/models/negotiation-score-dto.js +2 -2
- package/dist/models/negotiation-scored-v2-response-dto.d.ts +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/partner-webhook-delivery-status.d.ts +18 -0
- package/dist/models/partner-webhook-delivery-status.js +22 -0
- package/dist/models/partner-webhook-endpoint-status.d.ts +19 -0
- package/dist/models/partner-webhook-endpoint-status.js +23 -0
- package/dist/models/partner-webhook-event-type.d.ts +22 -0
- package/dist/models/partner-webhook-event-type.js +26 -0
- package/dist/models/payment-method-public.d.ts +2 -2
- package/dist/models/payment-method-public.js +2 -2
- package/dist/models/preconditions-dto.d.ts +2 -2
- package/dist/models/preconditions-dto.js +2 -2
- package/dist/models/problem-details-dto.d.ts +2 -2
- package/dist/models/problem-details-dto.js +2 -2
- package/dist/models/product-receipt-response-dto.d.ts +2 -2
- package/dist/models/product-receipt-response-dto.js +2 -2
- package/dist/models/product-response-dto.d.ts +2 -2
- package/dist/models/product-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-award201-response.d.ts +2 -8
- package/dist/models/register-award201-response.js +2 -2
- package/dist/models/register-bid201-response.d.ts +2 -8
- package/dist/models/register-bid201-response.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-invoice-split-request-dto.d.ts +2 -2
- package/dist/models/request-invoice-split-request-dto.js +2 -2
- package/dist/models/request-invoice-split200-response.d.ts +2 -8
- package/dist/models/request-invoice-split200-response.js +2 -2
- package/dist/models/retiree-roster-input-dto.d.ts +2 -2
- package/dist/models/retiree-roster-input-dto.js +2 -2
- package/dist/models/retiree-roster-row-dto.d.ts +2 -2
- package/dist/models/retiree-roster-row-dto.js +2 -2
- package/dist/models/revert-award-request-dto.d.ts +2 -2
- package/dist/models/revert-award-request-dto.js +2 -2
- package/dist/models/revert-award200-response.d.ts +2 -8
- package/dist/models/revert-award200-response.js +2 -2
- package/dist/models/revoke-request-dto.d.ts +2 -2
- package/dist/models/revoke-request-dto.js +2 -2
- package/dist/models/semo-contract-registered-response-dto.d.ts +2 -2
- package/dist/models/semo-contract-registered-response-dto.js +2 -2
- package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +2 -2
- package/dist/models/semo-contract-taxinvoice-status-response-dto.js +2 -2
- package/dist/models/send-webhook-test-event200-response.d.ts +15 -0
- package/dist/models/send-webhook-test-event200-response.js +15 -0
- 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/submit-negotiation-scores-request-dto.d.ts +2 -2
- package/dist/models/submit-negotiation-scores-request-dto.js +2 -2
- package/dist/models/submit-negotiation-scores201-response.d.ts +2 -8
- package/dist/models/submit-negotiation-scores201-response.js +2 -2
- package/dist/models/supplier-card-payable-response-dto.d.ts +2 -2
- package/dist/models/supplier-card-payable-response-dto.js +2 -2
- package/dist/models/supplier-tax-type.d.ts +2 -2
- package/dist/models/supplier-tax-type.js +2 -2
- package/dist/models/token-request-dto.d.ts +2 -2
- package/dist/models/token-request-dto.js +2 -2
- package/dist/models/token-response-dto.d.ts +2 -2
- package/dist/models/token-response-dto.js +2 -2
- package/dist/models/update-bid-request-dto.d.ts +2 -2
- package/dist/models/update-bid-request-dto.js +2 -2
- package/dist/models/update-bid200-response.d.ts +2 -8
- package/dist/models/update-bid200-response.js +2 -2
- package/dist/models/update-webhook-endpoint-request-dto.d.ts +27 -0
- package/dist/models/update-webhook-endpoint-request-dto.js +15 -0
- package/dist/models/upload-file-request-dto.d.ts +2 -2
- package/dist/models/upload-file-request-dto.js +2 -2
- package/dist/models/upload-file201-response.d.ts +2 -8
- package/dist/models/upload-file201-response.js +2 -2
- package/dist/models/upload-url-created-response-dto.d.ts +2 -2
- package/dist/models/upload-url-created-response-dto.js +2 -2
- package/dist/models/webhook-delivery-dto.d.ts +73 -0
- package/dist/models/webhook-delivery-dto.js +24 -0
- package/dist/models/webhook-endpoint-dto.d.ts +55 -0
- package/dist/models/webhook-endpoint-dto.js +15 -0
- package/dist/models/webhook-endpoint-with-secret-dto.d.ts +59 -0
- package/dist/models/webhook-endpoint-with-secret-dto.js +15 -0
- package/dist/models/webhook-test-result-dto.d.ts +25 -0
- package/dist/models/webhook-test-result-dto.js +15 -0
- package/docs/AcknowledgeProductReceipt200Response.md +0 -2
- package/docs/CancelBid200Response.md +0 -2
- package/docs/CompleteAcceptance200Response.md +0 -2
- package/docs/CompleteInvoice200Response.md +0 -2
- package/docs/CreateCardPayment200Response.md +0 -2
- package/docs/CreateEmbedLaunch201Response.md +0 -2
- package/docs/CreateFileUploadUrl201Response.md +0 -2
- package/docs/CreateWebhookEndpoint201Response.md +20 -0
- package/docs/CreateWebhookEndpointRequestDto.md +22 -0
- package/docs/GetBid200Response.md +0 -2
- package/docs/GetBidSettlement200Response.md +0 -2
- package/docs/GetBidStatement200Response.md +0 -2
- package/docs/GetFileMeta200Response.md +0 -2
- package/docs/GetSupplierCardPayableV2200Response.md +0 -2
- package/docs/GetWebhookEndpoint200Response.md +20 -0
- package/docs/HealthControllerCheck200Response.md +0 -2
- package/docs/ListBidResults200Response.md +1 -1
- package/docs/ListBids200Response.md +2 -2
- package/docs/ListBids200ResponseMeta.md +23 -0
- package/docs/ListProducts200Response.md +1 -1
- package/docs/ListWebhookDeliveries200Response.md +20 -0
- package/docs/{ListBidsResponseDto.md โ ListWebhookDeliveriesResponseDto.md} +4 -4
- package/docs/ListWebhookEndpoints200Response.md +22 -0
- package/docs/MarkBidFailed201Response.md +0 -2
- package/docs/PartnerApiApi.md +520 -3
- package/docs/PartnerWebhookDeliveryStatus.md +14 -0
- package/docs/PartnerWebhookEndpointStatus.md +11 -0
- package/docs/PartnerWebhookEventType.md +17 -0
- package/docs/ProductsApi.md +10 -3
- package/docs/RegisterAward201Response.md +0 -2
- package/docs/RegisterBid201Response.md +0 -2
- package/docs/RequestInvoiceSplit200Response.md +0 -2
- package/docs/RevertAward200Response.md +0 -2
- package/docs/SendWebhookTestEvent200Response.md +20 -0
- package/docs/SubmitNegotiationScores201Response.md +0 -2
- package/docs/UpdateBid200Response.md +0 -2
- package/docs/UpdateWebhookEndpointRequestDto.md +24 -0
- package/docs/UploadFile201Response.md +0 -2
- package/docs/WebhookDeliveryDto.md +42 -0
- package/docs/WebhookEndpointDto.md +38 -0
- package/docs/WebhookEndpointWithSecretDto.md +40 -0
- package/docs/WebhookTestResultDto.md +24 -0
- package/index.ts +2 -2
- package/models/acceptance-result-response-dto.ts +2 -2
- package/models/acknowledge-product-receipt200-response.ts +2 -6
- package/models/acknowledge-products-request-dto.ts +2 -2
- package/models/api-catalog-dto.ts +2 -2
- package/models/api-catalog-entry-dto.ts +2 -2
- package/models/api-catalog-link-dto.ts +2 -2
- package/models/authorization-server-metadata-dto.ts +2 -2
- package/models/award-method-public.ts +2 -2
- package/models/award-registered-v2-response-dto.ts +2 -2
- package/models/award-reverted-v2-response-dto.ts +2 -2
- package/models/bid-acceptance-dto.ts +2 -2
- package/models/bid-attachment-input-dto.ts +2 -2
- package/models/bid-bond-dto.ts +2 -2
- package/models/bid-cancelled-response-dto.ts +2 -2
- package/models/bid-contact-dto.ts +2 -2
- package/models/bid-contacts-dto.ts +2 -2
- package/models/bid-contract-document-dto.ts +2 -2
- package/models/bid-delivery-terms-dto.ts +2 -2
- package/models/bid-detail-response-dto.ts +2 -2
- package/models/bid-document-dto.ts +2 -2
- package/models/bid-failed-v2-response-dto.ts +2 -2
- package/models/bid-item-dto.ts +2 -2
- package/models/bid-lifecycle-dto.ts +2 -2
- package/models/bid-manager-dto.ts +2 -2
- package/models/bid-payment-terms-dto.ts +2 -2
- package/models/bid-product-dto.ts +2 -2
- package/models/bid-public-status.ts +2 -2
- package/models/bid-registered-response-dto.ts +2 -2
- package/models/bid-result-participant-attachment-dto.ts +2 -2
- package/models/bid-result-participant-dto.ts +2 -2
- package/models/bid-results-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-summary-dto.ts +2 -2
- package/models/bid-type-public.ts +2 -2
- package/models/bid-updated-response-dto.ts +2 -2
- package/models/cancel-bid-request-dto.ts +2 -2
- package/models/cancel-bid200-response.ts +2 -6
- package/models/card-payment-request-response-dto.ts +2 -2
- package/models/complete-acceptance-request-dto.ts +2 -2
- package/models/complete-acceptance200-response.ts +2 -6
- package/models/complete-invoice200-response.ts +2 -6
- package/models/complete-upload-request-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-card-payment-dto.ts +2 -2
- package/models/create-card-payment-request-dto.ts +2 -2
- package/models/create-card-payment200-response.ts +2 -6
- package/models/create-embed-launch201-response.ts +2 -6
- package/models/create-external-contract-documents-request-dto.ts +2 -2
- package/models/create-external-contract-documents-response-dto.ts +2 -2
- package/models/create-file-upload-url201-response.ts +2 -6
- package/models/create-upload-url-request-dto.ts +2 -2
- package/models/create-webhook-endpoint-request-dto.ts +30 -0
- package/models/create-webhook-endpoint201-response.ts +23 -0
- package/models/delivery-date-type-public.ts +2 -2
- package/models/delivery-method-public.ts +2 -2
- package/models/embed-launch-request-dto.ts +2 -2
- package/models/embed-launch-response-dto.ts +2 -2
- package/models/excellent-procurement-public.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-meta-response-dto.ts +2 -2
- package/models/file-uploaded-response-dto.ts +2 -2
- package/models/generated-external-contract-document-dto.ts +2 -2
- package/models/get-bid-settlement200-response.ts +2 -6
- package/models/get-bid-statement200-response.ts +2 -6
- package/models/get-bid200-response.ts +2 -6
- package/models/get-file-meta200-response.ts +2 -6
- package/models/get-supplier-card-payable-v2200-response.ts +2 -6
- package/models/get-webhook-endpoint200-response.ts +23 -0
- package/models/green-product-public.ts +2 -2
- package/models/health-controller-check200-response.ts +2 -6
- package/models/health-response-dto.ts +2 -2
- package/models/hierarchical-region-dto.ts +2 -2
- package/models/index.ts +16 -1
- package/models/introspect-request-dto.ts +2 -2
- package/models/introspection-response-dto.ts +2 -2
- package/models/invalid-param-dto.ts +2 -2
- package/models/invoice-completed-response-dto.ts +2 -2
- package/models/invoice-split-response-dto.ts +2 -2
- package/models/legal-mandatory-public.ts +2 -2
- package/models/list-bid-results200-response.ts +6 -6
- package/models/list-bids200-response-meta.ts +30 -0
- package/models/list-bids200-response.ts +8 -8
- package/models/list-products200-response.ts +6 -6
- package/models/list-webhook-deliveries-response-dto.ts +30 -0
- package/models/list-webhook-deliveries200-response.ts +23 -0
- package/models/list-webhook-endpoints200-response.ts +27 -0
- package/models/mark-bid-failed-request-dto.ts +2 -2
- package/models/mark-bid-failed201-response.ts +2 -6
- package/models/negotiation-score-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/partner-webhook-delivery-status.ts +28 -0
- package/models/partner-webhook-endpoint-status.ts +29 -0
- package/models/partner-webhook-event-type.ts +32 -0
- package/models/payment-method-public.ts +2 -2
- package/models/preconditions-dto.ts +2 -2
- package/models/problem-details-dto.ts +2 -2
- package/models/product-receipt-response-dto.ts +2 -2
- package/models/product-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-award201-response.ts +2 -6
- package/models/register-bid201-response.ts +2 -6
- package/models/register-semo-contract-request-dto.ts +2 -2
- package/models/request-invoice-split-request-dto.ts +2 -2
- package/models/request-invoice-split200-response.ts +2 -6
- package/models/retiree-roster-input-dto.ts +2 -2
- package/models/retiree-roster-row-dto.ts +2 -2
- package/models/revert-award-request-dto.ts +2 -2
- package/models/revert-award200-response.ts +2 -6
- package/models/revoke-request-dto.ts +2 -2
- package/models/semo-contract-registered-response-dto.ts +2 -2
- package/models/semo-contract-taxinvoice-status-response-dto.ts +2 -2
- package/models/send-webhook-test-event200-response.ts +23 -0
- package/models/statement-document-dto.ts +2 -2
- package/models/statement-product-dto.ts +2 -2
- package/models/submit-negotiation-scores-request-dto.ts +2 -2
- package/models/submit-negotiation-scores201-response.ts +2 -6
- package/models/supplier-card-payable-response-dto.ts +2 -2
- package/models/supplier-tax-type.ts +2 -2
- package/models/token-request-dto.ts +2 -2
- package/models/token-response-dto.ts +2 -2
- package/models/update-bid-request-dto.ts +2 -2
- package/models/update-bid200-response.ts +2 -6
- package/models/update-webhook-endpoint-request-dto.ts +39 -0
- package/models/upload-file-request-dto.ts +2 -2
- package/models/upload-file201-response.ts +2 -6
- package/models/upload-url-created-response-dto.ts +2 -2
- package/models/webhook-delivery-dto.ts +82 -0
- package/models/webhook-endpoint-dto.ts +67 -0
- package/models/webhook-endpoint-with-secret-dto.ts +71 -0
- package/models/webhook-test-result-dto.ts +31 -0
- package/package.json +1 -1
- package/dist/esm/models/list-bids-response-dto.d.ts +0 -22
- package/dist/esm/models/list-bids-response-dto.js +0 -14
- package/dist/models/list-bids-response-dto.d.ts +0 -22
- package/dist/models/list-bids-response-dto.js +0 -15
- package/models/list-bids-response-dto.ts +0 -30
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CMARKET V6 Partner API
|
|
3
|
-
* ์ธ๋ถ ERP ์ฐ๋์ฉ RESTful API. ## ์ธ์ฆ OAuth2 Bearer JWT (`client_credentials` ํ๋ก์ฐ). `/oauth/token` ์์ ํ ํฐ์ ๋ฐ๊ธ๋ฐ์ `Authorization: Bearer <token>` ํค๋๋ก ์ค์ผ์ธ์. ## ๊ถํ โ ๋ ๊ฐ์ ๋
๋ฆฝ๋ ์ถ `403` ์ ๋ง๋ฌ๋ค๋ฉด ๋ ์ค ์ด๋ ์ถ์ ๊ฑธ๋ฆฐ ๊ฒ์ธ์ง ๋จผ์ ๊ตฌ๋ถํ์ธ์. - **์ค์ฝํ** = *๋ฌด์์ ํ ์ ์๋*. ํ ํฐ์ ๋ถ์ฌ๋ `bids:read`ยท`contracts:write` ๋ฑ์
๋๋ค. ๋ฏธ๋ณด์ ์ `โฆ/insufficient-scope`. - **๋ํ ๋ฒ์** = *๋๊ตฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ์ ์๋*. API ํค ์ค์ ์ด๋ฉฐ ์ค์ฝํ๋ก ํํ๋์ง ์์ต๋๋ค. ๋ฒ์ ๋ฐ์ด๋ฉด ์ค์ฝํ์ ๋ฌด๊ดํ๊ฒ 403 ์
๋๋ค. ๋ํ ๋ฒ์๋ ํค๋ง๋ค ๋ ์ค ํ๋๋ก ์ค์ ๋ฉ๋๋ค โ **์์ ๊ทธ๋ฃน ์ ์**(๊ธฐ๊ด ํค. ์ฌ์
์ฒยท๋ถ์ ๊ณ์ ์ด ์๋ก ์๊ฒจ๋ ์๋ ํฌํจ) ๋๋ **์ง์ ๋ฐ์ฃผ์ฒ ๋ชฉ๋ก**(๊ณ์ฝ์ผ๋ก ํฉ์๋ ๋ชฉ๋ก). ๋ฒ์๋ฅผ ๋ํ์ผ ํ๋ฉด ์ค์ฝํ๊ฐ ์๋๋ผ ํค ์ค์ ๋ณ๊ฒฝ์ ์์ฒญํ์ธ์. ## ์ฑ๊ณต ์๋ต ๋ดํฌ `/v2` ์ ๋ชจ๋ 2xx ๋ณธ๋ฌธ์ `{ \"data\": โฆ }` ์
๋๋ค. ๋จ์ผ ๋ฆฌ์์ค๋ ๋ชฉ๋ก์ด๋ ๊ฐ์ต๋๋ค.
|
|
3
|
+
* ์ธ๋ถ ERP ์ฐ๋์ฉ RESTful API. ## ์ธ์ฆ OAuth2 Bearer JWT (`client_credentials` ํ๋ก์ฐ). `/oauth/token` ์์ ํ ํฐ์ ๋ฐ๊ธ๋ฐ์ `Authorization: Bearer <token>` ํค๋๋ก ์ค์ผ์ธ์. ## ๊ถํ โ ๋ ๊ฐ์ ๋
๋ฆฝ๋ ์ถ `403` ์ ๋ง๋ฌ๋ค๋ฉด ๋ ์ค ์ด๋ ์ถ์ ๊ฑธ๋ฆฐ ๊ฒ์ธ์ง ๋จผ์ ๊ตฌ๋ถํ์ธ์. - **์ค์ฝํ** = *๋ฌด์์ ํ ์ ์๋*. ํ ํฐ์ ๋ถ์ฌ๋ `bids:read`ยท`contracts:write` ๋ฑ์
๋๋ค. ๋ฏธ๋ณด์ ์ `โฆ/insufficient-scope`. - **๋ํ ๋ฒ์** = *๋๊ตฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ์ ์๋*. API ํค ์ค์ ์ด๋ฉฐ ์ค์ฝํ๋ก ํํ๋์ง ์์ต๋๋ค. ๋ฒ์ ๋ฐ์ด๋ฉด ์ค์ฝํ์ ๋ฌด๊ดํ๊ฒ 403 ์
๋๋ค. ๋ํ ๋ฒ์๋ ํค๋ง๋ค ๋ ์ค ํ๋๋ก ์ค์ ๋ฉ๋๋ค โ **์์ ๊ทธ๋ฃน ์ ์**(๊ธฐ๊ด ํค. ์ฌ์
์ฒยท๋ถ์ ๊ณ์ ์ด ์๋ก ์๊ฒจ๋ ์๋ ํฌํจ) ๋๋ **์ง์ ๋ฐ์ฃผ์ฒ ๋ชฉ๋ก**(๊ณ์ฝ์ผ๋ก ํฉ์๋ ๋ชฉ๋ก). ๋ฒ์๋ฅผ ๋ํ์ผ ํ๋ฉด ์ค์ฝํ๊ฐ ์๋๋ผ ํค ์ค์ ๋ณ๊ฒฝ์ ์์ฒญํ์ธ์. ## ์ฑ๊ณต ์๋ต ๋ดํฌ `/v2` ์ ๋ชจ๋ 2xx ๋ณธ๋ฌธ์ `{ \"data\": โฆ }` ์
๋๋ค. ๋จ์ผ ๋ฆฌ์์ค๋ ๋ชฉ๋ก์ด๋ ๊ฐ์ต๋๋ค. **๋ชฉ๋ก์ `data` ๊ฐ ๋ฐฐ์ด์ด๊ณ `meta` ๊ฐ ํญ์ ํจ๊ป ์ค๋ฆฝ๋๋ค** โ `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. ๋จ์ผ ๋ฆฌ์์ค ์๋ต์๋ `meta` ๊ฐ ๋๊ฐ์ง ์์ต๋๋ค. ๋ดํฌ๋ฅผ ์ฐ์ง ์๋ ํ๋ฉด์ ๋์
๋๋ค. `/oauth/_*` ์ `/.well-known/_*` ๋ ๊ฐ๊ฐ RFC 6749ยทRFC 8414ยทRFC 9728 ์ด ์ต์์ ํ๋๋ฅผ ๊ท์ ํ๊ณ , ํ์ผ ๋ด์ฉ ์๋ต์ ๋ณธ๋ฌธ์ด JSON ์ด ์๋๋๋ค. ์๋ฌ ์๋ต์๋ ๋ดํฌ๋ฅผ ์์ฐ์ง ์์ต๋๋ค โ ์๋ problem+json ์ด ๋จ๋
์ผ๋ก ์ฑ
์์ง๋๋ค. ## ์กฐ๊ฑด๋ถ ์์ฒญ (ETag) `/v2` ์ ๋ชจ๋ `GET` ์๋ต์ weak `ETag`(`W/\"โฆ\"`)๊ฐ ์ค๋ฆฝ๋๋ค. ๋ฐ์ ๊ฐ์ ๋ค์ ์์ฒญ์ `If-None-Match` ํค๋๋ก ๋๋ณด๋ด๋ฉด, ๋ด์ฉ์ด ๊ทธ๋๋ก์ผ ๋ `304 Not Modified` ๋ฅผ ๋ณธ๋ฌธ ์์ด ๋ฐ์ต๋๋ค. ๊ฒฐ๊ณผ๊ฐ ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉฐ ๊ฐ์ ์์์ ๋ฐ๋ณต ์กฐํํ๋ ์ฐ๋์ด๋ผ๋ฉด ์ด ํค๋ ํ๋๋ก ์ ์ก๋์ด ์ฌ๋ผ์ง๋๋ค. ## ์๋ฌ (RFC 9457 problem+json) ๋ชจ๋ ์๋ฌ ์๋ต์ `application/problem+json` ์
๋๋ค. **HTTP status + `type` URI** ๋ก ๋ถ๊ธฐํ์ธ์. - `retryable`(boolean): ์๋ ์ฌ์๋ ์์ ์ฌ๋ถ. `true`(429ยท5xx transient)๋ฉด backoff ํ ์ฌ์๋ํ๊ณ , `false`๋ฉด ์์ฒญ์ ๊ณ ์ณ์ผ ํฉ๋๋ค. - `traceId`: ์์ฒญ ์ถ์ id. `X-Correlation-Id` ์๋ต ํค๋์ ๊ฐ์ ๊ฐ์
๋๋ค โ ๋ฌธ์ํ ๋ ์ด ๊ฐ์ ์ฒจ๋ถํ์ธ์. - `correlationId`: `traceId` ์ ๊ฐ์ ๊ฐ์ ์ ์ด๋ฆ. ๊ธฐ์กด ์ฐ๋ ํธํ์ผ๋ก ํจ๊ป ์ค๋ฆฝ๋๋ค. ์ ์ฐ๋์ `traceId` ๋ฅผ ์ฝ์ผ์ธ์. - `invalid-params`: ๊ฒ์ฆ ์คํจ(400 `โฆ/validation-failed`) ์ ์๋ฐ ํ๋ ๊ฒฝ๋ก ๋ชฉ๋ก(RFC 9457 ํ์ฅ, ๊ฐ ์์). `type` ์ `https://problems.cmarket.io/partner/<slug>` ํํ์ **์์ ์๋ณ์**์
๋๋ค. RFC 9457 ยง3.1.1 ์ด ํ์ฉํ๋ ๋๋ก ์ด URI ๋ **์ญ์ฐธ์กฐ(dereference)๋์ง ์์ต๋๋ค** โ ๋ธ๋ผ์ฐ์ ๋ก ์ด์ง ๋ง๊ณ ๋ฌธ์์ด ๋น๊ต๋ก๋ง ์ฐ์ธ์. slug ๋ชฉ๋ก๊ณผ ์๋ฏธ๋ ๊ฐ ์๋ํฌ์ธํธ์ ์๋ต ์ค๋ช
์ status ๋ณ๋ก ์ ํ ์์ต๋๋ค. ### ๋ฉฑ๋ฑ์ฑ ์๋ฐ: 409 ์ 422 ์ ์ฐจ์ด - `409` `โฆ/idempotency-key-conflict` โ ๊ฐ์ ํค์ **์ ์์ฒญ์ด ์์ง ์ฒ๋ฆฌ ์ค**์
๋๋ค. ์ ์ ๋ค ๊ฐ์ ํค๋ก ๋ค์ ๋ถ๋ฅด๋ฉด ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ต๋๋ค. - `422` `โฆ/idempotency-key-reused` โ ๊ฐ์ ํค๋ฅผ **๋ค๋ฅธ body** ๋ก ๋ณด๋์ต๋๋ค. ์ฌ์๋ํด๋ ์์ํ ๊ฐ์ ์คํจ์ด๋ ์ ํค๋ฅผ ์ฐ๊ฑฐ๋ body ๋ฅผ ๋๋๋ฆฌ์ธ์. ## Rate Limit ์ ์ญ **60 ์์ฒญ/๋ถ per `client_id`**, ํ ํฐ ๋ฐ๊ธ(`/oauth/token`)์ **5 ์์ฒญ/๋ถ** ์
๋๋ค. ์ด๊ณผ ์ `429`(`type: โฆ/too-many-requests`). ์ฟผํฐ๋ ๋ ๊ฐ์ง ํ๊ธฐ๋ก ํจ๊ป ๋๊ฐ๋๋ค โ ์ ๊ท ์ฐ๋์ ํ์ค ํ๋๋ฅผ ์ฐ์ธ์. - **ํ์ค**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (์ ์ฑ
) ยท `RateLimit: \"default\";r=59;t=42` (์๋ r, ๋ฆฌ์
๊น์ง t ์ด) - **๋ ๊ฑฐ์**(๊ด์ฉ): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. ๊ธฐ์กด ์ฐ๋ ํธํ์ ์ํด ์ ์งํฉ๋๋ค. `429` ์์๋ `Retry-After`(์ด)๊ฐ ์ฐ์ ํฉ๋๋ค. ๋๋ ๋๊ธฐํ(ํ๋ชฉ ๋จ์ ๋ฐ๋ณต ๋ฑ๋ก ๋ฑ)๋ `Retry-After` ๋งํผ backoff ํ ์ฌ์๋ํ์ธ์. ## ์ถ์ ์์ฒญ์ `X-Correlation-Id` ํค๋๋ฅผ ์ค์ผ๋ฉด ๊ทธ๋๋ก echo ๋๊ณ , ์์ผ๋ฉด ์๋ฒ๊ฐ ๋ฐ๊ธํฉ๋๋ค. ๋ชจ๋ ์๋ต(์ฑ๊ณต/์๋ฌ)์ `X-Correlation-Id` ๊ฐ ์ค๋ฆฝ๋๋ค. ## ์ ๋ฐฉํธํ โ ๋ชจ๋ฅด๋ ํ๋์ ๊ฐ์์ ๊นจ์ง์ง ์๊ฒ ๋ค์ ์
์ breaking ๋ณ๊ฒฝ์ผ๋ก ๋ณด์ง ์์ผ๋ฉฐ minor ๋ฆด๋ฆฌ์ค์์ ์๊ณ ์์ด ์ผ์ด๋ฉ๋๋ค. ์ด ์ ์ ๋ก ๊ตฌํํ์ธ์. - **์ ํ ํ๋ ์ถ๊ฐ**: ๋ชจ๋ฅด๋ ํ๋๋ ๋ฌด์ํ์ธ์. ์๊ฒฉ ํ์(unknown key ๊ฑฐ๋ถ)๋ฅผ ์ฐ์ง ๋ง์ธ์. - **enum ๊ฐ ์ถ๊ฐ**: ์ํยท๋์ฐฐ๋ฐฉ๋ฒ ๋ฑ์ ์ ๊ฐ์ด ์๊น๋๋ค. ๋ชจ๋ฅด๋ ๊ฐ์ ๋ง๋๋ฉด ์์ธ๋ฅผ ๋์ง์ง ๋ง๊ณ ์๋ฌธ ๋ฌธ์์ด์ ๋ณด์กดํ์ธ์. - **problem `type` slug ์ถ๊ฐ**: ๋ชจ๋ฅด๋ slug ์ **HTTP status ๋ก ํด๋ฐฑ**ํด ๋ถ๊ธฐํ์ธ์. ## ๋ฒ์ ์๋ช
(deprecation/sunset) - **_/v2** breaking ๋ณ๊ฒฝ์ CHANGELOG SemVer(major bump)์ `Deprecation`/`Sunset` ํค๋๋ก ํต์งํฉ๋๋ค. ์ด ํค๋๋ฅผ ๋ชจ๋ํฐ๋งํ์ธ์.
|
|
4
4
|
*
|
|
5
|
-
* The version of the OpenAPI document:
|
|
5
|
+
* The version of the OpenAPI document: 38.1.0
|
|
6
6
|
* Contact: semo.io.kr@gmail.com
|
|
7
7
|
*
|
|
8
8
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -26,17 +26,23 @@ import type { CreateExternalContractDocumentsRequestDto } from '../models';
|
|
|
26
26
|
import type { CreateExternalContractDocumentsResponseDto } from '../models';
|
|
27
27
|
import type { CreateFileUploadUrl201Response } from '../models';
|
|
28
28
|
import type { CreateUploadUrlRequestDto } from '../models';
|
|
29
|
+
import type { CreateWebhookEndpoint201Response } from '../models';
|
|
30
|
+
import type { CreateWebhookEndpointRequestDto } from '../models';
|
|
29
31
|
import type { ExternalContractDocumentsResponseDto } from '../models';
|
|
30
32
|
import type { GetBid200Response } from '../models';
|
|
31
33
|
import type { GetBidSettlement200Response } from '../models';
|
|
32
34
|
import type { GetBidStatement200Response } from '../models';
|
|
33
35
|
import type { GetFileMeta200Response } from '../models';
|
|
34
36
|
import type { GetSupplierCardPayableV2200Response } from '../models';
|
|
37
|
+
import type { GetWebhookEndpoint200Response } from '../models';
|
|
35
38
|
import type { HealthControllerCheck200Response } from '../models';
|
|
36
39
|
import type { ListBidResults200Response } from '../models';
|
|
37
40
|
import type { ListBids200Response } from '../models';
|
|
41
|
+
import type { ListWebhookDeliveries200Response } from '../models';
|
|
42
|
+
import type { ListWebhookEndpoints200Response } from '../models';
|
|
38
43
|
import type { MarkBidFailed201Response } from '../models';
|
|
39
44
|
import type { MarkBidFailedRequestDto } from '../models';
|
|
45
|
+
import type { PartnerWebhookDeliveryStatus } from '../models';
|
|
40
46
|
import type { RegisterAward201Response } from '../models';
|
|
41
47
|
import type { RegisterAwardRequestDto } from '../models';
|
|
42
48
|
import type { RegisterBid201Response } from '../models';
|
|
@@ -47,10 +53,12 @@ import type { RevertAward200Response } from '../models';
|
|
|
47
53
|
import type { RevertAwardRequestDto } from '../models';
|
|
48
54
|
import type { SemoContractRegisteredResponseDto } from '../models';
|
|
49
55
|
import type { SemoContractTaxinvoiceStatusResponseDto } from '../models';
|
|
56
|
+
import type { SendWebhookTestEvent200Response } from '../models';
|
|
50
57
|
import type { SubmitNegotiationScores201Response } from '../models';
|
|
51
58
|
import type { SubmitNegotiationScoresRequestDto } from '../models';
|
|
52
59
|
import type { UpdateBid200Response } from '../models';
|
|
53
60
|
import type { UpdateBidRequestDto } from '../models';
|
|
61
|
+
import type { UpdateWebhookEndpointRequestDto } from '../models';
|
|
54
62
|
import type { UploadFile201Response } from '../models';
|
|
55
63
|
import type { UploadFileRequestDto } from '../models';
|
|
56
64
|
/**
|
|
@@ -123,6 +131,25 @@ export declare const PartnerApiApiAxiosParamCreator: (configuration?: Configurat
|
|
|
123
131
|
* @throws {RequiredError}
|
|
124
132
|
*/
|
|
125
133
|
createFileUploadUrl: (idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
134
|
+
/**
|
|
135
|
+
* ์์ ์ฃผ์์ ๊ตฌ๋
ํ ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํฉ๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋ ์ด๊ธฐ 1ํ. ์์ ์ฃผ์๊ฐ ๋ฐ๋๋ฉด ์๋ก ๋ง๋ค์ง ๋ง๊ณ `PATCH` ๋ก ๊ณ ์น์ธ์ โ ๊ทธ๋์ผ ์ํฌ๋ฆฟ๊ณผ ์ ์ก ์ด๋ ฅ์ด ์ ์ง๋ฉ๋๋ค. **์๋ช
์ํฌ๋ฆฟ์ ์ด ์๋ต์์ ํ ๋ฒ๋ง ๋๊ฐ๋๋ค.** ์๋ฒ๋ ํด์๋ง ๋ณด๊ดํ๋ฏ๋ก ์กฐํ๋ก ๋ค์ ๋ฐ์ ์ ์์ต๋๋ค. ์๋ต์ `secret` ์ ์ฆ์ ์์ ํ ๊ณณ์ ๋ณด๊ดํ์ธ์. ์์ด๋ฒ๋ ธ๋ค๋ฉด ๋ณต๊ตฌ๊ฐ ์๋๋ผ `POST /v2/webhook-endpoints/{endpointId}/rotate-secret` ์ผ๋ก **์ฌ๋ฐ๊ธ**ํด์ผ ํฉ๋๋ค. **๊ฑฐ์ ๋๋ ๊ฒฝ์ฐ์ ๊ณ ์น๋ ๋ฒ:** - `400` โ `url` ์ด HTTPS ๊ฐ ์๋๊ฑฐ๋ ํ์์ด ์๋ชป๋จ, `eventTypes` ๊ฐ ๋น์๊ฑฐ๋ ๋ชฉ๋ก ๋ฐ ๊ฐ (`ping` ์ ๊ตฌ๋
๋ถ๊ฐ). ๊ฐ์ ๊ณ ์ณ ์ฌ์๋ํ์ธ์. - `400` โ `Idempotency-Key` ํค๋ ๋๋ฝ/ํ์ ์ค๋ฅ. UUID v4 ๋ฅผ ์ค์ด ๋ณด๋ด์ธ์. - `403` โ ํ ํฐ์ `webhooks:write` ์ค์ฝํ๊ฐ ์์. ํค ๋ฐ๊ธ ์ค์ ์ ๋ํ์ผ ํฉ๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ### ์๋ช
๊ฒ์ฆ (ํ์) ์๋ช
์ **[Standard Webhooks](https://www.standardwebhooks.com)** ๊ท์ฝ์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ์ง์ ๊ตฌํํ์ง ๋ง๊ณ ๊ฐ ์ธ์ด์ `standardwebhooks` ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฑ๋ก ์ ๋ฐ์ ์ํฌ๋ฆฟ (`whsec_โฆ`)์ ๊ทธ๋๋ก ๋๊ธฐ์ธ์ โ ๊ทธ๊ฒ์ด ์ด ํ์์ ์ฐ๋ ์ด์ ์
๋๋ค. ```java // Java Webhook webhook = new Webhook(secret); // secret = \"whsec_โฆ\" webhook.verify(rawBody, headers); // ์คํจํ๋ฉด ์์ธ ``` ```ts // Node / TypeScript import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); ``` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ ์ ์๋ค๋ฉด ๋ฐ์ก ์์ฒญ์ ์ค๋ฆฌ๋ ํค๋๋ ์
์
๋๋ค. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. ์ํฌ๋ฆฟ์์ `whsec_` ์ ๋์ด๋ฅผ ๋ผ๊ณ **base64 ๋์ฝ๋**ํฉ๋๋ค โ ๊ทธ ๋ฐ์ดํธ๊ฐ HMAC ํค์
๋๋ค (์ํฌ๋ฆฟ ๋ฌธ์์ด ์์ฒด๊ฐ ์๋๋๋ค). 2. `\"${webhook-id}.${webhook-timestamp}.${๋ณธ๋ฌธ ์๋ฌธ}\"` ์ ๋ง๋ญ๋๋ค. **๋ณธ๋ฌธ์ ํ์ฑ ์ ์๋ฌธ ๋ฐ์ดํธ**์ฌ์ผ ํฉ๋๋ค โ JSON ์ ๋ค์ ์ง๋ ฌํํ๋ฉด ๊ณต๋ฐฑยทํค ์์๊ฐ ๋ฌ๋ผ์ ธ ์๋ช
์ด ๋ง์ง ์์ต๋๋ค. 3. HMAC-SHA256 ์ ๊ณ์ฐํด **base64** ๋ก ์ธ์ฝ๋ฉํ๊ณ , `webhook-signature` ์ `v1,` ๋ค ๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ๋น๊ต๋ **์์ ์๊ฐ** ํจ์๋ฅผ ์ฐ์ธ์(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `webhook-timestamp` ๊ฐ ํ์ฌ ์๊ฐ์์ **5๋ถ** ์ด์ ์ง๋ฌ์ผ๋ฉด ๊ฑฐ์ ํ์ธ์(์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ด). `webhook-signature` ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ **์ฌ๋ฌ ์๋ช
**์ ์ค์ ์ ์๋ ํ์์
๋๋ค(ํค ํ์ ์ฉ). ์ง๊ธ์ ํญ์ ํ๋์ง๋ง, ๊ฒ์ฆ๊ธฐ๋ ๋ชฉ๋ก์ผ๋ก ์ฝ๊ณ **ํ๋๋ผ๋ ๋ง์ผ๋ฉด ํต๊ณผ**ํ๋๋ก ์ง์ธ์. ### ์ค๋ณต ์ ๊ฑฐ `webhook-id` ํค๋๊ฐ ์ด๋ฒคํธ ์๋ณ์์
๋๋ค. **์ฌ์๋์๋ ๊ฐ์ ๊ฐ์ด ์ต๋๋ค** โ ์ด๋ฏธ ์ฒ๋ฆฌํ ๊ฐ์ด๋ฉด ๋ฌด์ํ์ธ์. ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๋ ๋ฒ ๋ฐ๋ ๊ฒ์ ์ ์ ๋์์ด๋ฉฐ, ์ค๋ณต ์ ๊ฑฐ๋ ์์ ์ธก ์ฑ
์์
๋๋ค. ํธ์๋ฅผ ์ํด `webhook-event-type` ํค๋์ ์ด๋ฒคํธ ํ์
(๋ณธ๋ฌธ `type` ๊ณผ ๊ฐ์ ๊ฐ)๋ ์ค๋ฆฝ๋๋ค โ ๋ณธ๋ฌธ์ ํ์ฑํ๊ธฐ ์ ์ ๊ด์ฌ ์๋ ํ์
์ ๋ฒ๋ฆด ์ ์์ต๋๋ค. ํ์ค์๋ ์๋ ํ์ฅ์ด๋ผ ๊ฒ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด ํค๋๋ฅผ ๋ฌด์ํฉ๋๋ค. ### ์๋ต๊ณผ ์ฌ์๋ 2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์ฑ๊ณต์
๋๋ค. ๊ทธ ์ธ(๋๋ ๋ฌด์๋ต)๋ ์คํจ๋ก ๋ณด๊ณ ์ต๋ 7ํ ์ฌ์๋ํฉ๋๋ค โ ๊ฐ๊ฒฉ์ 10์ด โ 1๋ถ โ 5๋ถ โ 30๋ถ โ 2์๊ฐ โ 6์๊ฐ โ 24์๊ฐ ์
๋๋ค. ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ๋ฉด ๋จผ์ 2xx ๋ฅผ ๋๋ ค์ฃผ๊ณ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ์ธ์. ์ฐ์ ์คํจ๊ฐ 20ํ์ ๋ฟ์ผ๋ฉด ๊ตฌ๋
์ด ์๋์ผ๋ก `DISABLED` ๋ก ๋ด๋ ค๊ฐ๊ณ ๋ฐ์ก์ด ๋ฉ์ถฅ๋๋ค. ์์ ์ธก์ ๊ณ ์น ๋ค `PATCH /v2/webhook-endpoints/{endpointId}` ์ `{\"status\":\"ACTIVE\"}` ๋ก ๋์ด๋ฆฌ์ธ์. ### ๊ตฌ๋
๊ฐ๋ฅํ ์ด๋ฒคํธ `bid.closed` ยท `bid.awarded` ยท `bid.failed` ยท `bid.canceled` ยท `bid.award_reverted` `ping` ์ ์ฐ๊ฒฐ ํ์ธ ์ ์ฉ์ด๋ผ ๊ตฌ๋
ํ ์ ์์ต๋๋ค โ ํ
์คํธ ๋ฐ์ก ๊ฒฝ๋ก์์๋ง ๋๊ฐ๋๋ค. ### ๋์น ์ด๋ฒคํธ ํ์ธ `GET /v2/webhook-deliveries` ๊ฐ ๋ฐ์ก ์๋ ์ด๋ ฅ(๋ณธ๋ฌธยท์๋ต ์ํยท๋ค์ ์ฌ์๋ ์๊ฐ)์ ๋๋ ค์ค๋๋ค. ์์ ์ธก ์ฅ์ ๊ตฌ๊ฐ์ ๋ฉ์ธ ๋ ์ด ์๋ํฌ์ธํธ๋ฅผ ํด๋ง ๋์ฒด ๊ฒฝ๋ก๋ก ์ฐ์ธ์.
|
|
136
|
+
* @summary ์นํ
๊ตฌ๋
๋ฑ๋ก
|
|
137
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
138
|
+
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
139
|
+
* @param {*} [options] Override http request option.
|
|
140
|
+
* @throws {RequiredError}
|
|
141
|
+
*/
|
|
142
|
+
createWebhookEndpoint: (idempotencyKey: string, createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
143
|
+
/**
|
|
144
|
+
* ๊ตฌ๋
์ ์ญ์ ํฉ๋๋ค. ์ดํ ๊ทธ ์ฃผ์๋ก๋ ์๋ฌด ์ด๋ฒคํธ๋ ๋ฐ์ก๋์ง ์์ต๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋์ ์ข
๋ฃํ ๋. ์ ์๋ง ๋ฉ์ถ๋ ค๋ฉด ์ญ์ ํ์ง ๋ง๊ณ `PATCH โฆ {\"status\":\"DISABLED\"}` ๋ฅผ ์ฐ์ธ์ โ ์ํฌ๋ฆฟ๊ณผ ์ด๋ฒคํธ ๊ตฌ์ฑ์ด ๋จ์ ๊ทธ๋๋ก ๋์ด๋ฆด ์ ์์ต๋๋ค. **๋๋๋ฆด ์ ์์ต๋๋ค.** ๋ค์ ๋ฑ๋กํ๋ฉด ์ ๊ตฌ๋
์ด๊ณ ์๋ช
์ํฌ๋ฆฟ๋ ์ ๊ฐ์
๋๋ค. **`If-Match` ๊ฐ ํ์์
๋๋ค.** `GET` ์ผ๋ก ๋ฐ์ `ETag` ๋ฅผ ์ค์ด ๋ณด๋ด์ธ์. - `428` โ ํค๋ ๋๋ฝ. ์กฐํ ํ ์ฌ์๋ํ์ธ์. - `412` โ ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ต๋๋ค(๋๊ตฐ๊ฐ ์์ ํ๊ฑฐ๋ ๋ฐ์ก๊ธฐ๊ฐ ์ํ๋ฅผ ๋ด๋ ธ์ต๋๋ค). ๋ค์ ์กฐํํด ์ ๋ง ์ง์ธ ๋์์ด ๋ง๋์ง ํ์ธํ๊ณ ์ต์ `ETag` ๋ก ์ฌ์๋ํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
145
|
+
* @summary ์นํ
๊ตฌ๋
์ญ์
|
|
146
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
147
|
+
* @param {string} ifMatch ์ง์ ์กฐํ ์๋ต์ `ETag` ๊ฐ. ๋๋ฝํ๋ฉด 428, ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ผ๋ฉด 412 ๋ก ๊ฑฐ์ ๋๋ฉฐ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
|
|
148
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
149
|
+
* @param {*} [options] Override http request option.
|
|
150
|
+
* @throws {RequiredError}
|
|
151
|
+
*/
|
|
152
|
+
deleteWebhookEndpoint: (endpointId: string, ifMatch: string, idempotencyKey: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
126
153
|
/**
|
|
127
154
|
* ๋ฌด์ธ์ฆ โ `fileKey` ์์ฒด๊ฐ capability ๋ค(ํค๋ฅผ ์๋ ์ชฝ์ด ๊ณง ์ ๊ทผ ๊ถํ์ ๊ฐ์ง๋ค). ํํธ๋ ์๋ต์ `fileUrl`/`fullUrl` ์ด ์ด URL ์ ๊ฐ๋ฆฌํจ๋ค. ์์ฒญ ์์ ์ ์๋ช
ํ๋ฏ๋ก URL ์ ์ ์ฅํด ๋์ด๋ ๋ง๋ฃ๋์ง ์๋๋ค. ์๋ต์ ์ค์ ์ ์ฅ์ URL ๋ก์ 302 ๋ฆฌ๋ค์ด๋ ํธ์ด๋ฉฐ ๋ฆฌ๋ค์ด๋ ํธ ํ๊น์ 1์๊ฐ ๋ค ๋ง๋ฃ๋๋ฏ๋ก 302 ์์ฒด๋ฅผ ์บ์ํ์ง ๋ง ๊ฒ(`Cache-Control: no-store`). --- **์๋ต ํํ๊ฐ ๋๊ฒฐ๋ ํ๋ฉด์
๋๋ค.** ์ด๋ฏธ ์ฐ๋ ์ค์ธ ์์คํ
์ด ์์ด ์๋ต ํ๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ด๋ฆ์ ๋ฐ๊พธ์ง ์์ต๋๋ค. ๋ค๋ฅธ `/v2` ์๋ํฌ์ธํธ์ ๋ฌ๋ฆฌ `{data,meta}` ๋ดํฌ๋ฅผ ์์ฐ์ง ์์ผ๋ฏ๋ก ์๋ต ๋ณธ๋ฌธ์ด ๊ณง ์ ์คํค๋ง์
๋๋ค. ์ง๊ธ ์ฐ๋ํ์
๋ ๊ณ์ ๋์ํฉ๋๋ค โ ๋ค๋ง ์ด ๊ฒฝ๋ก์ ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ง๋ ์์ต๋๋ค. **๋์ฒด ๊ณํ:** ์ด๋ฏธ ์์ต๋๋ค โ `GET /v2/files/{fileKey}` ๊ฐ ํ์ผ ๋ฉํ์ `downloadUrl` ์ v2 ์๋ต ๊ท์ฝ์ผ๋ก ๋๋ ค์ค๋๋ค. ์ด ์์ URL ์ ํํธ๋ ์๋ต์ `fileUrl`/`fullUrl` ์ด ๊ฐ๋ฆฌํค๋ ์ฃผ์๋ผ ๊ณ์ ์ ์ง๋๋ฉฐ ์ค๋จ ์ผ์ ์ ์์ต๋๋ค.
|
|
128
155
|
* @summary ํ์ผ ๋ค์ด๋ก๋
|
|
@@ -180,6 +207,14 @@ export declare const PartnerApiApiAxiosParamCreator: (configuration?: Configurat
|
|
|
180
207
|
* @throws {RequiredError}
|
|
181
208
|
*/
|
|
182
209
|
getSupplierCardPayableV2: (memberId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
210
|
+
/**
|
|
211
|
+
* ๊ตฌ๋
1๊ฑด์ ํ์ฌ ์ํ๋ฅผ ์กฐํํฉ๋๋ค. ์๋ช
์ํฌ๋ฆฟ์ ์ค๋ฆฌ์ง ์์ต๋๋ค. **์์ ยท์ญ์ ์ ์ ๋จผ์ ํธ์ถํ์ธ์.** ์๋ต ํค๋ `ETag` ๋ฅผ `If-Match` ์ ๊ทธ๋๋ก ์ค์ด์ผ `PATCH`/`DELETE` ๊ฐ ํต๊ณผํฉ๋๋ค. **`404`:** ์๋ ๊ตฌ๋
์ด๊ฑฐ๋ ๋ค๋ฅธ ํํธ๋ ํค์ ๊ตฌ๋
์
๋๋ค โ `endpointId` ๋ฅผ ํ์ธํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:read`
|
|
212
|
+
* @summary ์นํ
๊ตฌ๋
๋จ๊ฑด ์กฐํ
|
|
213
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
214
|
+
* @param {*} [options] Override http request option.
|
|
215
|
+
* @throws {RequiredError}
|
|
216
|
+
*/
|
|
217
|
+
getWebhookEndpoint: (endpointId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
183
218
|
/**
|
|
184
219
|
* ERP ์ฐ๋ ์ง์ ํ์ ยท์ธ์ฆ endpoint ๋์ ํ์ธ์ฉ.
|
|
185
220
|
* @summary Partner API ํฌ์ค์ฒดํฌ
|
|
@@ -196,7 +231,7 @@ export declare const PartnerApiApiAxiosParamCreator: (configuration?: Configurat
|
|
|
196
231
|
*/
|
|
197
232
|
listBidResults: (bidRefs: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
198
233
|
/**
|
|
199
|
-
* ๋ฐ์ฃผ์ฒ(API ํค ๋ฐ์ธ๋ฉ)์ ๊ณต๊ณ ๋ฅผ ๊ฒ์์ผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ์ค์ฝํ `bids:read`. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์ฟผ๋ฆฌ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ด์ง๋ค์ด์
(cursor):** `limit`(1~100, ๊ธฐ๋ณธ 100) + `cursor`(๋ถํฌ๋ช
ํ ํฐ).
|
|
234
|
+
* ๋ฐ์ฃผ์ฒ(API ํค ๋ฐ์ธ๋ฉ)์ ๊ณต๊ณ ๋ฅผ ๊ฒ์์ผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ์ค์ฝํ `bids:read`. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์ฟผ๋ฆฌ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ด์ง๋ค์ด์
(cursor):** `limit`(1~100, ๊ธฐ๋ณธ 100) + `cursor`(๋ถํฌ๋ช
ํ ํฐ). ์๋ต `meta.nextCursor` ๋ฅผ ๋ค์ ์์ฒญ `cursor` ๋ก ์ ๋ฌํ๋ฉด ๋ค์ ํ์ด์ง๋ฅผ ๋ฐ์ต๋๋ค. `meta.hasMore` ๊ฐ `false`(= `nextCursor` ๊ฐ `null`)์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง์
๋๋ค. ๋ชฉ๋ก ์์ฒด๋ `data` ์ ๋ฐฐ์ด๋ก ์ค๋ฆฝ๋๋ค. **์ํยท๋์ฐฐ๋ฐฉ๋ฒ:** ๊ณต๊ฐ๊ฐ(์๋ฏธ ๋ฌธ์์ด)์ผ๋ก ๋ฐํ๋ฉ๋๋ค. ๋์ฐฐ ์ฌ๋ถ๋ ์ํ๊ฐ ์๋๋ผ ๋์ฐฐ ๊ฒฐ๊ณผ ์กฐํ์ `participants[].isWinner` ๋ก ๊ด์ธกํฉ๋๋ค(AWARDED ์ํ๋ ์์ต๋๋ค).
|
|
200
235
|
* @summary ๊ณต๊ณ ๋ชฉ๋ก ์กฐํ
|
|
201
236
|
* @param {number} [limit] ํ์ด์ง ํฌ๊ธฐ(1~100, ๊ธฐ๋ณธ 100).
|
|
202
237
|
* @param {string} [cursor] ๋ค์ ํ์ด์ง ์ปค์(๋ถํฌ๋ช
ํ ํฐ). ์ง์ ์๋ต์ `nextCursor` ๋ฅผ ๊ทธ๋๋ก ์ ๋ฌํ๋ค. ๋ฏธ์ง์ ์ ์ฒซ ํ์ด์ง. `nextCursor=null` ์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง๋ค.
|
|
@@ -216,6 +251,24 @@ export declare const PartnerApiApiAxiosParamCreator: (configuration?: Configurat
|
|
|
216
251
|
* @throws {RequiredError}
|
|
217
252
|
*/
|
|
218
253
|
listExternalContractDocuments: (buyerId: string, bidType: ListExternalContractDocumentsBidTypeEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
254
|
+
/**
|
|
255
|
+
* ์ด API ํค์ ์นํ
๋ฐ์ก ์๋๋ฅผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ๋ณด๋ธ ๋ณธ๋ฌธยท์์ ์ธก ์๋ต ์ํยท ๋ค์ ์ฌ์๋ ์์ ์๊ฐ์ด ํจ๊ป ์ค๋ฆฝ๋๋ค. **ํธ์ถ ์์ :** - ์์ ์ธก ์ฅ์ ๋ก ๋์น ์ด๋ฒคํธ๋ฅผ ๋ฉ์ธ ๋. ์ด ์๋ํฌ์ธํธ๊ฐ ์นํ
์ **ํด๋ง ๋์ฒด ๊ฒฝ๋ก**์
๋๋ค โ `status=EXHAUSTED` ๋ก ๊ฑธ๋ฌ ๋ค์ ์ฒ๋ฆฌํ๋ฉด ๋ฉ๋๋ค. - \"์ด๋ฒคํธ๊ฐ ์ ์จ๋ค\" ๋ฅผ ์ง๋จํ ๋. ๋ฐ์ก ์๋ ์์ฒด๊ฐ ์๋์ง(๊ตฌ๋
ยท์ด๋ฒคํธ ํ์
๋ฌธ์ ), ์๋ํ์ง๋ง ์คํจํ๋์ง(`responseStatus`ยท`responseBodyExcerpt`)๋ฅผ ์ฌ๊ธฐ์ ๊ฐ๋ฆ
๋๋ค. **๊ฐ์ ์ด๋ฒคํธ๊ฐ ์ฌ๋ฌ ํ์ผ๋ก ๋ณด์
๋๋ค.** ์ฌ์๋๋ง๋ค ํ ํ์ด๋ฉฐ `eventId` ๊ฐ ๊ฐ๊ณ `attempt` ๋ง ์ฌ๋ผ๊ฐ๋๋ค. ์ฒ๋ฆฌ ์ฌ๋ถ๋ `eventId` ๊ธฐ์ค์ผ๋ก ํ๋จํ์ธ์. **ํ์ด์ง๋ค์ด์
:** `nextCursor` ๋ฅผ ๋ค์ ์์ฒญ์ `cursor` ๋ก ์ ๋ฌํฉ๋๋ค. null ์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง์
๋๋ค. **`400`:** `status` ๊ฐ ํ์ฉ ๊ฐ ๋ฐ์ด๊ฑฐ๋ `limit` ์ด ๋ฒ์๋ฅผ ๋ฒ์ด๋ฌ์ต๋๋ค โ ๊ฐ์ ๊ณ ์ณ ์ฌ์๋ํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:read`
|
|
256
|
+
* @summary ์นํ
์ ์ก ์ด๋ ฅ ์กฐํ
|
|
257
|
+
* @param {string} [endpointId] ์ด ๊ตฌ๋
์ ์ ์ก๋ง ์กฐํํฉ๋๋ค. ๋ฏธ์ง์ ์ด๋ฉด ์ด ํค์ ๋ชจ๋ ๊ตฌ๋
์ ํจ๊ป ์กฐํํฉ๋๋ค.
|
|
258
|
+
* @param {PartnerWebhookDeliveryStatus} [status] ์ ์ก ์ํ ํํฐ. ๋ฏธ์ง์ ์ด๋ฉด ์ ๋ถ.
|
|
259
|
+
* @param {number} [limit] ํ์ด์ง ํฌ๊ธฐ(1~200, ๊ธฐ๋ณธ 50).
|
|
260
|
+
* @param {string} [cursor] ๋ค์ ํ์ด์ง ์ปค์(๋ถํฌ๋ช
ํ ํฐ). ์ง์ ์๋ต์ `nextCursor` ๋ฅผ ๊ทธ๋๋ก ์ ๋ฌํฉ๋๋ค. ๋ฏธ์ง์ ์ ์ฒซ ํ์ด์ง.
|
|
261
|
+
* @param {*} [options] Override http request option.
|
|
262
|
+
* @throws {RequiredError}
|
|
263
|
+
*/
|
|
264
|
+
listWebhookDeliveries: (endpointId?: string, status?: PartnerWebhookDeliveryStatus, limit?: number, cursor?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
265
|
+
/**
|
|
266
|
+
* ์ด API ํค๊ฐ ๋ฑ๋กํ ์นํ
๊ตฌ๋
์ ๋ชจ๋ ์กฐํํฉ๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋ ์ํ๋ฅผ ์ ๊ฒํ ๋, ๋๋ ๋ฐ์ก์ด ๋ฉ์ถ ์ด์ (`status`ยท`consecutiveFailures`)๋ฅผ ํ์ธํ ๋. ์๋ช
์ํฌ๋ฆฟ์ ์ฌ๊ธฐ์ ์ค๋ฆฌ์ง ์์ต๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:read` ### ์๋ช
๊ฒ์ฆ (ํ์) ์๋ช
์ **[Standard Webhooks](https://www.standardwebhooks.com)** ๊ท์ฝ์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ์ง์ ๊ตฌํํ์ง ๋ง๊ณ ๊ฐ ์ธ์ด์ `standardwebhooks` ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฑ๋ก ์ ๋ฐ์ ์ํฌ๋ฆฟ (`whsec_โฆ`)์ ๊ทธ๋๋ก ๋๊ธฐ์ธ์ โ ๊ทธ๊ฒ์ด ์ด ํ์์ ์ฐ๋ ์ด์ ์
๋๋ค. ```java // Java Webhook webhook = new Webhook(secret); // secret = \"whsec_โฆ\" webhook.verify(rawBody, headers); // ์คํจํ๋ฉด ์์ธ ``` ```ts // Node / TypeScript import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); ``` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ ์ ์๋ค๋ฉด ๋ฐ์ก ์์ฒญ์ ์ค๋ฆฌ๋ ํค๋๋ ์
์
๋๋ค. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. ์ํฌ๋ฆฟ์์ `whsec_` ์ ๋์ด๋ฅผ ๋ผ๊ณ **base64 ๋์ฝ๋**ํฉ๋๋ค โ ๊ทธ ๋ฐ์ดํธ๊ฐ HMAC ํค์
๋๋ค (์ํฌ๋ฆฟ ๋ฌธ์์ด ์์ฒด๊ฐ ์๋๋๋ค). 2. `\"${webhook-id}.${webhook-timestamp}.${๋ณธ๋ฌธ ์๋ฌธ}\"` ์ ๋ง๋ญ๋๋ค. **๋ณธ๋ฌธ์ ํ์ฑ ์ ์๋ฌธ ๋ฐ์ดํธ**์ฌ์ผ ํฉ๋๋ค โ JSON ์ ๋ค์ ์ง๋ ฌํํ๋ฉด ๊ณต๋ฐฑยทํค ์์๊ฐ ๋ฌ๋ผ์ ธ ์๋ช
์ด ๋ง์ง ์์ต๋๋ค. 3. HMAC-SHA256 ์ ๊ณ์ฐํด **base64** ๋ก ์ธ์ฝ๋ฉํ๊ณ , `webhook-signature` ์ `v1,` ๋ค ๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ๋น๊ต๋ **์์ ์๊ฐ** ํจ์๋ฅผ ์ฐ์ธ์(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `webhook-timestamp` ๊ฐ ํ์ฌ ์๊ฐ์์ **5๋ถ** ์ด์ ์ง๋ฌ์ผ๋ฉด ๊ฑฐ์ ํ์ธ์(์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ด). `webhook-signature` ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ **์ฌ๋ฌ ์๋ช
**์ ์ค์ ์ ์๋ ํ์์
๋๋ค(ํค ํ์ ์ฉ). ์ง๊ธ์ ํญ์ ํ๋์ง๋ง, ๊ฒ์ฆ๊ธฐ๋ ๋ชฉ๋ก์ผ๋ก ์ฝ๊ณ **ํ๋๋ผ๋ ๋ง์ผ๋ฉด ํต๊ณผ**ํ๋๋ก ์ง์ธ์. ### ์ค๋ณต ์ ๊ฑฐ `webhook-id` ํค๋๊ฐ ์ด๋ฒคํธ ์๋ณ์์
๋๋ค. **์ฌ์๋์๋ ๊ฐ์ ๊ฐ์ด ์ต๋๋ค** โ ์ด๋ฏธ ์ฒ๋ฆฌํ ๊ฐ์ด๋ฉด ๋ฌด์ํ์ธ์. ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๋ ๋ฒ ๋ฐ๋ ๊ฒ์ ์ ์ ๋์์ด๋ฉฐ, ์ค๋ณต ์ ๊ฑฐ๋ ์์ ์ธก ์ฑ
์์
๋๋ค. ํธ์๋ฅผ ์ํด `webhook-event-type` ํค๋์ ์ด๋ฒคํธ ํ์
(๋ณธ๋ฌธ `type` ๊ณผ ๊ฐ์ ๊ฐ)๋ ์ค๋ฆฝ๋๋ค โ ๋ณธ๋ฌธ์ ํ์ฑํ๊ธฐ ์ ์ ๊ด์ฌ ์๋ ํ์
์ ๋ฒ๋ฆด ์ ์์ต๋๋ค. ํ์ค์๋ ์๋ ํ์ฅ์ด๋ผ ๊ฒ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด ํค๋๋ฅผ ๋ฌด์ํฉ๋๋ค. ### ์๋ต๊ณผ ์ฌ์๋ 2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์ฑ๊ณต์
๋๋ค. ๊ทธ ์ธ(๋๋ ๋ฌด์๋ต)๋ ์คํจ๋ก ๋ณด๊ณ ์ต๋ 7ํ ์ฌ์๋ํฉ๋๋ค โ ๊ฐ๊ฒฉ์ 10์ด โ 1๋ถ โ 5๋ถ โ 30๋ถ โ 2์๊ฐ โ 6์๊ฐ โ 24์๊ฐ ์
๋๋ค. ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ๋ฉด ๋จผ์ 2xx ๋ฅผ ๋๋ ค์ฃผ๊ณ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ์ธ์. ์ฐ์ ์คํจ๊ฐ 20ํ์ ๋ฟ์ผ๋ฉด ๊ตฌ๋
์ด ์๋์ผ๋ก `DISABLED` ๋ก ๋ด๋ ค๊ฐ๊ณ ๋ฐ์ก์ด ๋ฉ์ถฅ๋๋ค. ์์ ์ธก์ ๊ณ ์น ๋ค `PATCH /v2/webhook-endpoints/{endpointId}` ์ `{\"status\":\"ACTIVE\"}` ๋ก ๋์ด๋ฆฌ์ธ์. ### ๊ตฌ๋
๊ฐ๋ฅํ ์ด๋ฒคํธ `bid.closed` ยท `bid.awarded` ยท `bid.failed` ยท `bid.canceled` ยท `bid.award_reverted` `ping` ์ ์ฐ๊ฒฐ ํ์ธ ์ ์ฉ์ด๋ผ ๊ตฌ๋
ํ ์ ์์ต๋๋ค โ ํ
์คํธ ๋ฐ์ก ๊ฒฝ๋ก์์๋ง ๋๊ฐ๋๋ค. ### ๋์น ์ด๋ฒคํธ ํ์ธ `GET /v2/webhook-deliveries` ๊ฐ ๋ฐ์ก ์๋ ์ด๋ ฅ(๋ณธ๋ฌธยท์๋ต ์ํยท๋ค์ ์ฌ์๋ ์๊ฐ)์ ๋๋ ค์ค๋๋ค. ์์ ์ธก ์ฅ์ ๊ตฌ๊ฐ์ ๋ฉ์ธ ๋ ์ด ์๋ํฌ์ธํธ๋ฅผ ํด๋ง ๋์ฒด ๊ฒฝ๋ก๋ก ์ฐ์ธ์.
|
|
267
|
+
* @summary ์นํ
๊ตฌ๋
๋ชฉ๋ก ์กฐํ
|
|
268
|
+
* @param {*} [options] Override http request option.
|
|
269
|
+
* @throws {RequiredError}
|
|
270
|
+
*/
|
|
271
|
+
listWebhookEndpoints: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
219
272
|
/**
|
|
220
273
|
* ๊ณต๊ณ ๋ฅผ ์ ์ฐฐ ์ํ๋ก ์ ํํฉ๋๋ค. **ํธ์ถ ์์ :** ์
์ฐฐ ๋ง๊ฐ ํ ์ ์ฐฐ ์ฌ์ ๊ฐ ํ์ ๋์์ ๋. ๊ณต๊ณ ๊ฐ ์
์ฐฐ์๋ฃ(๋ง๊ฐ) ์ํ์์ ํธ์ถํฉ๋๋ค. **๋ถ์ํจ๊ณผ:** - ๊ณต๊ณ ์ํ๊ฐ ์ ์ฐฐ(FAILED)๋ก ์ ํ๋ฉ๋๋ค. - ์ ์ฐฐ์ฌ์ ์ฝ๋์ ์์ธ๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. **์ ์ฐฐ์ฌ์ ๊ฐ ๋ชฉ๋ก(failureReasonCode โ ๊ณต๊ฐ๊ฐ):** | ๊ฐ | ์๋ฏธ | |------|------| | `ABOVE_TARGET_PRICE` | ์์ ๊ฐ๊ฒฉ ์ด๊ณผ | | `DEPT_MISMATCH` | ์๊ฒฉ ๋ฏธ๋ฌ | | `NEEDS_EXPERTISE` | ์ ๋ฌธ์ฑ ํ์ | | `OTHER` | ๊ธฐํ (`failureReasonDetail` ํ์) | | `NO_PARTICIPANT` | ์ฐธ๊ฐ์ ์์ | | `SINGLE_PARTICIPANT` | ๋จ๋
์ฐธ๊ฐ | | `LESS_THAN_TWO` | 2์ธ ๋ฏธ๋ง | | `BELOW_MINIMUM` | ์ต์ ๊ฐ ๋ฏธ๋ฌ | **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์์ฒญ body ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ ์ค์ฝํ:** `awards:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
221
274
|
* @summary ์ ์ฐฐ ์ฒ๋ฆฌ
|
|
@@ -274,6 +327,24 @@ export declare const PartnerApiApiAxiosParamCreator: (configuration?: Configurat
|
|
|
274
327
|
* @throws {RequiredError}
|
|
275
328
|
*/
|
|
276
329
|
revertAward: (bidRef: string, idempotencyKey: string, revertAwardRequestDto: RevertAwardRequestDto, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
330
|
+
/**
|
|
331
|
+
* ์๋ช
์ํฌ๋ฆฟ์ ์๋ก ๋ฐ๊ธํฉ๋๋ค. ์๋ต์ `secretVersion` ์ด 1 ์ฌ๋ผ๊ฐ๋๋ค. **ํธ์ถ ์์ :** ์ํฌ๋ฆฟ์ ๋ถ์คํ๊ฑฐ๋ ์ ์ถ์ด ์์ฌ๋ ๋, ๋๋ ์ฃผ๊ธฐ์ ๊ต์ฒด ์ ์ฑ
์ด ์์ ๋. **์ ์ํฌ๋ฆฟ์ ์ด ์๋ต์์ ํ ๋ฒ๋ง ๋๊ฐ๋๋ค.** ์กฐํ๋ก ๋ค์ ๋ฐ์ ์ ์์ต๋๋ค. **์ ์ํฌ๋ฆฟ์ ์ฆ์ ๋ฌดํจ์
๋๋ค.** ์ ์ ๊ธฐ๊ฐ์ด ์์ผ๋ฏ๋ก, ์์ ์ธก์ด ์ ๊ฐ์ ๋ฐ์ํ๊ธฐ ์ ์ ๋์ฐฉํ ์ด๋ฒคํธ๋ ์๋ช
๊ฒ์ฆ์ ์คํจํฉ๋๋ค. ๋ฐฐํฌ ์์๋ฅผ ์ด๋ ๊ฒ ์ก์ผ์ธ์ โ โ ์์ ์ธก์ด ์ ๊ฐ๊ณผ ์ ๊ฐ์ **๋ ๋ค** ๋ฐ์๋ค์ด๋๋ก ๋ฐฐํฌ โ โก ์ด ์๋ํฌ์ธํธ ํธ์ถ โ โข ์๋ต์ ์ ๊ฐ์ ๋ฐ์ โ โฃ ์ ๊ฐ ์ ๊ฑฐ. ๊ฒ์ฆ ์คํจ๋ก non-2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์คํจ๋ก ์ง๊ณ๋์ด 20ํ ์ฐ์ ์ ๊ตฌ๋
์ด ์ค์ง๋ฉ๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๊ฐ์ ํค๋ก ์ฌ์ ์กํ๋ฉด **์๋ก ๋ฐ๊ธํ์ง ์๊ณ ** ์ฒ์ ๋ฐ๊ธํ ๊ฐ์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค(24์๊ฐ) โ ๋คํธ์ํฌ ์ค๋ฅ๋ก ์๋ต์ ๋์ณค์ ๋ ๊ฐ์ ํค๋ก ๋ค์ ๋ถ๋ฅด์ธ์.
|
|
332
|
+
* @summary ์นํ
์๋ช
์ํฌ๋ฆฟ ์ฌ๋ฐ๊ธ
|
|
333
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
334
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
335
|
+
* @param {*} [options] Override http request option.
|
|
336
|
+
* @throws {RequiredError}
|
|
337
|
+
*/
|
|
338
|
+
rotateWebhookSecret: (endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
339
|
+
/**
|
|
340
|
+
* ๋ฑ๋ก๋ ์ฃผ์๋ก `ping` ์ด๋ฒคํธ๋ฅผ ์ฆ์ 1ํ ๋ณด๋ด๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ค๋๋ค. **ํธ์ถ ์์ :** ๊ตฌ๋
์ ๋ฑ๋กํ ์งํ, ์์ ์ฃผ์๋ฅผ ๋ฐ๊พผ ์งํ, ๋ฐฉํ๋ฒฝยท์ธ์ฆ์๋ฅผ ์๋ณธ ๋ค. **์๋ต์ ๋ฐ์ก ๊ฒฐ๊ณผ์ด์ง ์์ฒญ ์คํจ๊ฐ ์๋๋๋ค.** ์์ ์ธก์ด ๋ฐ์ง ๋ชปํด๋ HTTP `200` ์ `delivered: false` ๋ก ์ต๋๋ค โ `responseStatus`(์์ ์ธก ์ํ)์ `error`(์ฐ๊ฒฐ ๊ฑฐ๋ถยทํ์์์ยท TLS ์ค๋ฅ)๋ฅผ ๋ณด๊ณ ์์ธ์ ์ขํ์ธ์. ์ด ๋ฐ์ก์๋ ์ค์ ์ด๋ฒคํธ์ **๋๊ฐ์ ์๋ช
ํค๋**๊ฐ ์ค๋ฆฌ๋ฏ๋ก ๊ฒ์ฆ ์ฝ๋๋ฅผ ๊ทธ๋๋ก ์ํํ ์ ์์ต๋๋ค. `ping` ์ ๊ตฌ๋
๋ชฉ๋ก์ ๋ฃ์ ์ ์๋ ํ์
์ด๋, ์์ ์ธก์ด ๋ชจ๋ฅด๋ `eventType` ์ ๋ง๋๋ฉด ๋ฒ๋ฆฌ๋๋ก ์ง์ฌ ์๋ค๋ฉด ์ด ํ์ธ๋ง ์คํจํ ์ ์์ต๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๋ค์ ๋ณด๋ด๋ ค๋ฉด **์ ํค**๋ฅผ ์ฐ์ธ์ โ ๊ฐ์ ํค๋ 24์๊ฐ ๋์ ์ง์ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค(์ฌ๋ฐ์กํ์ง ์์ต๋๋ค).
|
|
341
|
+
* @summary ์นํ
์ฐ๊ฒฐ ํ์ธ ๋ฐ์ก
|
|
342
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
343
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
344
|
+
* @param {*} [options] Override http request option.
|
|
345
|
+
* @throws {RequiredError}
|
|
346
|
+
*/
|
|
347
|
+
sendWebhookTestEvent: (endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
277
348
|
/**
|
|
278
349
|
* ํ์๋ฐฉ์(NEGOTIATION/NEGOTIATION_AUTO) ๊ณต๊ณ ์ ์์ฐฐ์๋ณ ์ ์๋ฅผ ์
๋ ฅํฉ๋๋ค. **ํธ์ถ ์์ :** ์
์ฐฐ ๋ง๊ฐ ํ ๋์ฐฐ(`POST /v2/bids/{bidRef}/award`) ์ . ํ์๋ฐฉ์ ๊ณต๊ณ ๋ ์ด ํ๊ฐ๋ฅผ ์๋ฃํด์ผ ๋์ฐฐ์ ์ง์
ํ ์ ์์ต๋๋ค. **๋ถ์ํจ๊ณผ:** - ์์ฐฐ์๋ณ ๊ธฐ์ ์ ์(๋ฐ ์ ํ์ ๊ฐ๊ฒฉ์ ์ override)๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. - `complete=true` ๋ฉด ํ๊ฐ์๋ฃ ๊ฒ์ดํธ๊น์ง ์ ์ฉ๋ผ ๋์ฐฐ ์ง์
์ด ๊ฐ๋ฅํด์ง๋๋ค. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์์ฒญ body ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ ์ค์ฝํ:** `awards:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๋์ผ ํค + ๋์ผ body ์ฌ์ ์ก ์ 24์๊ฐ ๋ด ์บ์ ์๋ต ๋ฐํ.
|
|
279
350
|
* @summary ํ์ ์ ์ํ๊ฐ
|
|
@@ -295,6 +366,17 @@ export declare const PartnerApiApiAxiosParamCreator: (configuration?: Configurat
|
|
|
295
366
|
* @throws {RequiredError}
|
|
296
367
|
*/
|
|
297
368
|
updateBid: (bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
369
|
+
/**
|
|
370
|
+
* ์์ ์ฃผ์ยท๊ตฌ๋
์ด๋ฒคํธยท์ํ๋ฅผ ์์ ํฉ๋๋ค. ๋ณด๋ธ ํ๋๋ง ๋ฐ๋๋๋ค. **ํธ์ถ ์์ :** ์์ ์ฃผ์๊ฐ ๋ฐ๋์์ ๋, ๊ตฌ๋
์ด๋ฒคํธ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ๋, ์ฐ์ ์คํจ๋ก ์๋ ์ค์ง๋ ๊ตฌ๋
์ ๊ณ ์น ๋ค ๋์ด๋ฆด ๋(`{\"status\":\"ACTIVE\"}`). **`eventTypes` ๋ ์นํ์
๋๋ค** โ ๋ณด๋ธ ๋ชฉ๋ก์ด ๊ณง ์ ๊ตฌ๋
๋ชฉ๋ก์
๋๋ค. ํ๋๋ฅผ ๋ํ๋ ค๋ฉด ๊ธฐ์กด ๋ชฉ๋ก์ ๋ํ **์ ์ฒด**๋ฅผ ๋ณด๋ด์ธ์. **`If-Match` ๊ฐ ํ์์
๋๋ค.** ๋จผ์ `GET /v2/webhook-endpoints/{endpointId}` ๋ก ํ์ฌ `ETag` ๋ฅผ ๋ฐ์ ๊ทธ๋๋ก ์ค์ด ๋ณด๋ด์ธ์. ์ด ํค๋๊ฐ ์์ผ๋ฉด ๋ ์์ฒญ์ด ์์๊ฑฐ๋ ๋ค์๊ฑฐ๋ ํ๋ฉฐ ๋จผ์ ํ ์์ ์ ์กฐ์ฉํ ๋ฎ์ด์๋๋ค. - `428` โ ํค๋๋ฅผ ๋นผ๋จน์์ต๋๋ค. ์กฐํ ํ `ETag` ๋ฅผ ์ค์ด ์ฌ์๋ํ์ธ์. - `412` โ ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ต๋๋ค. ๋ค์ ์กฐํํด ์ต์ `ETag` ๋ก ์ฌ์๋ํ์ธ์. ์๋ฌด๊ฒ๋ ์์ ๋์ง ์์์ต๋๋ค. **์ํฌ๋ฆฟ์ ์ด ๊ฒฝ๋ก๋ก ๋ฐ๋์ง ์์ต๋๋ค** โ ์ฌ๋ฐ๊ธ์ `rotate-secret` ์
๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
371
|
+
* @summary ์นํ
๊ตฌ๋
์์
|
|
372
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
373
|
+
* @param {string} ifMatch ์ง์ ์กฐํ ์๋ต์ `ETag` ๊ฐ. ๋๋ฝํ๋ฉด 428, ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ผ๋ฉด 412 ๋ก ๊ฑฐ์ ๋๋ฉฐ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
|
|
374
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
375
|
+
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
376
|
+
* @param {*} [options] Override http request option.
|
|
377
|
+
* @throws {RequiredError}
|
|
378
|
+
*/
|
|
379
|
+
updateWebhookEndpoint: (endpointId: string, ifMatch: string, idempotencyKey: string, updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
298
380
|
/**
|
|
299
381
|
* **์ฒจ๋ถ ์
๋ก๋์ ๊ธฐ๋ณธ ๊ฒฝ๋ก์
๋๋ค. 23MB ์ดํ๋ฉด ์ด ํธ์ถ ํ๋๋ก ๋๋ฉ๋๋ค.** ํ์ผ ๋ณธ๋ฌธ์ `base64` ๋๋ `url` ์ค ์ ํํ ํ๋๋ก ์ ์ถํ๋ฉด `fileKey` ๋ฅผ ๋๋ ค์ค๋๋ค. ์ด ๊ฐ์ ๊ณต๊ณ ๋ฑ๋กยท์์ ์ ์ฒจ๋ถ ํ๋์ ์ค์ผ์ธ์. **23MB ๋ฅผ ๋์ผ๋ฉด ๊ฒฝ๋ก๋ฅผ ๋ฐ๊ฟ์ผ ํฉ๋๋ค.** ์ํ์ด ์
์ผ๋ก ๊ฐ๋ฆฝ๋๋ค. | ์ ์ถ ๋ฐฉ์ | ์ํ | ํธ์ถ ์ | | --- | --- | --- | | ์ด ํธ์ถ + `base64` | **23MB** (๋ณธ๋ฌธ์ด c-market ์ ํต๊ณผํ๋ฉฐ base64 ํฝ์ฐฝ 4/3 ์ด ์นํ) | 1 | | ์ด ํธ์ถ + `url` | **30MB** (c-market ์ด ๋์ ๋ด๋ ค๋ฐ์ ํฝ์ฐฝ์ ์์ง๋ง ์๋ฒ ๊ฒฝ์ ์ฒ์ฅ์ ๊ทธ๋๋ก) | 1 | | `POST /v2/files/upload-url` ๋ก ์์ํ๋ 2๋จ๊ณ | **100MB** (๋ฐ์ดํธ๊ฐ c-market ์ ์ง๋์ง ์์) | 2 + ์คํ ๋ฆฌ์ง PUT | c-market ์ด ๋ด๋ ค๋ฐ์ ์ ์๋ https ์ฃผ์์ ํ์ผ์ ์ฌ๋ ค ๋ ์ ์๋ค๋ฉด `url` ์ด 30MB ๊น์ง๋ฅผ 1์ฝ๋ก ๋ฎ์ต๋๋ค. ๊ทธ ์ด์์ด๊ฑฐ๋ ์ฃผ์๋ฅผ ์ด ์ ์์ผ๋ฉด 2๋จ๊ณ ๊ฒฝ๋ก๋ฅผ ์ฐ์ธ์. **๊ณต๊ณ ๋ฑ๋ก์ ํ์ผ์ ํจ๊ป ์ค์ ์๋ ์์ต๋๋ค.** `POST /v2/bids` ์ `attachments` ์์์ `{ fileName, url }`ยท`{ fileName, base64 }` ๋ฅผ ๊ทธ๋๋ก ๋ฃ์ผ๋ฉด ์ด ํธ์ถ ์์ด ํ ๋ฒ์ ๋๋ฉ๋๋ค. ์ฌ๋ฌ ๊ณต๊ณ ์ ๊ฐ์ ํ์ผ์ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ํฐ ํ์ผ์ ๋ค๋ฃฐ ๋๋ง `fileKey` ๋ฅผ ๋จผ์ ๋ง๋์ธ์. **ํ์ ์ค์ฝํ:** `files:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
300
382
|
* @summary ๊ณต๊ณ ์ฒจ๋ถํ์ผ ์
๋ก๋ (๊ธฐ๋ณธ)
|
|
@@ -375,6 +457,25 @@ export declare const PartnerApiApiFp: (configuration?: Configuration) => {
|
|
|
375
457
|
* @throws {RequiredError}
|
|
376
458
|
*/
|
|
377
459
|
createFileUploadUrl(idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateFileUploadUrl201Response>>;
|
|
460
|
+
/**
|
|
461
|
+
* ์์ ์ฃผ์์ ๊ตฌ๋
ํ ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํฉ๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋ ์ด๊ธฐ 1ํ. ์์ ์ฃผ์๊ฐ ๋ฐ๋๋ฉด ์๋ก ๋ง๋ค์ง ๋ง๊ณ `PATCH` ๋ก ๊ณ ์น์ธ์ โ ๊ทธ๋์ผ ์ํฌ๋ฆฟ๊ณผ ์ ์ก ์ด๋ ฅ์ด ์ ์ง๋ฉ๋๋ค. **์๋ช
์ํฌ๋ฆฟ์ ์ด ์๋ต์์ ํ ๋ฒ๋ง ๋๊ฐ๋๋ค.** ์๋ฒ๋ ํด์๋ง ๋ณด๊ดํ๋ฏ๋ก ์กฐํ๋ก ๋ค์ ๋ฐ์ ์ ์์ต๋๋ค. ์๋ต์ `secret` ์ ์ฆ์ ์์ ํ ๊ณณ์ ๋ณด๊ดํ์ธ์. ์์ด๋ฒ๋ ธ๋ค๋ฉด ๋ณต๊ตฌ๊ฐ ์๋๋ผ `POST /v2/webhook-endpoints/{endpointId}/rotate-secret` ์ผ๋ก **์ฌ๋ฐ๊ธ**ํด์ผ ํฉ๋๋ค. **๊ฑฐ์ ๋๋ ๊ฒฝ์ฐ์ ๊ณ ์น๋ ๋ฒ:** - `400` โ `url` ์ด HTTPS ๊ฐ ์๋๊ฑฐ๋ ํ์์ด ์๋ชป๋จ, `eventTypes` ๊ฐ ๋น์๊ฑฐ๋ ๋ชฉ๋ก ๋ฐ ๊ฐ (`ping` ์ ๊ตฌ๋
๋ถ๊ฐ). ๊ฐ์ ๊ณ ์ณ ์ฌ์๋ํ์ธ์. - `400` โ `Idempotency-Key` ํค๋ ๋๋ฝ/ํ์ ์ค๋ฅ. UUID v4 ๋ฅผ ์ค์ด ๋ณด๋ด์ธ์. - `403` โ ํ ํฐ์ `webhooks:write` ์ค์ฝํ๊ฐ ์์. ํค ๋ฐ๊ธ ์ค์ ์ ๋ํ์ผ ํฉ๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ### ์๋ช
๊ฒ์ฆ (ํ์) ์๋ช
์ **[Standard Webhooks](https://www.standardwebhooks.com)** ๊ท์ฝ์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ์ง์ ๊ตฌํํ์ง ๋ง๊ณ ๊ฐ ์ธ์ด์ `standardwebhooks` ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฑ๋ก ์ ๋ฐ์ ์ํฌ๋ฆฟ (`whsec_โฆ`)์ ๊ทธ๋๋ก ๋๊ธฐ์ธ์ โ ๊ทธ๊ฒ์ด ์ด ํ์์ ์ฐ๋ ์ด์ ์
๋๋ค. ```java // Java Webhook webhook = new Webhook(secret); // secret = \"whsec_โฆ\" webhook.verify(rawBody, headers); // ์คํจํ๋ฉด ์์ธ ``` ```ts // Node / TypeScript import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); ``` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ ์ ์๋ค๋ฉด ๋ฐ์ก ์์ฒญ์ ์ค๋ฆฌ๋ ํค๋๋ ์
์
๋๋ค. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. ์ํฌ๋ฆฟ์์ `whsec_` ์ ๋์ด๋ฅผ ๋ผ๊ณ **base64 ๋์ฝ๋**ํฉ๋๋ค โ ๊ทธ ๋ฐ์ดํธ๊ฐ HMAC ํค์
๋๋ค (์ํฌ๋ฆฟ ๋ฌธ์์ด ์์ฒด๊ฐ ์๋๋๋ค). 2. `\"${webhook-id}.${webhook-timestamp}.${๋ณธ๋ฌธ ์๋ฌธ}\"` ์ ๋ง๋ญ๋๋ค. **๋ณธ๋ฌธ์ ํ์ฑ ์ ์๋ฌธ ๋ฐ์ดํธ**์ฌ์ผ ํฉ๋๋ค โ JSON ์ ๋ค์ ์ง๋ ฌํํ๋ฉด ๊ณต๋ฐฑยทํค ์์๊ฐ ๋ฌ๋ผ์ ธ ์๋ช
์ด ๋ง์ง ์์ต๋๋ค. 3. HMAC-SHA256 ์ ๊ณ์ฐํด **base64** ๋ก ์ธ์ฝ๋ฉํ๊ณ , `webhook-signature` ์ `v1,` ๋ค ๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ๋น๊ต๋ **์์ ์๊ฐ** ํจ์๋ฅผ ์ฐ์ธ์(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `webhook-timestamp` ๊ฐ ํ์ฌ ์๊ฐ์์ **5๋ถ** ์ด์ ์ง๋ฌ์ผ๋ฉด ๊ฑฐ์ ํ์ธ์(์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ด). `webhook-signature` ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ **์ฌ๋ฌ ์๋ช
**์ ์ค์ ์ ์๋ ํ์์
๋๋ค(ํค ํ์ ์ฉ). ์ง๊ธ์ ํญ์ ํ๋์ง๋ง, ๊ฒ์ฆ๊ธฐ๋ ๋ชฉ๋ก์ผ๋ก ์ฝ๊ณ **ํ๋๋ผ๋ ๋ง์ผ๋ฉด ํต๊ณผ**ํ๋๋ก ์ง์ธ์. ### ์ค๋ณต ์ ๊ฑฐ `webhook-id` ํค๋๊ฐ ์ด๋ฒคํธ ์๋ณ์์
๋๋ค. **์ฌ์๋์๋ ๊ฐ์ ๊ฐ์ด ์ต๋๋ค** โ ์ด๋ฏธ ์ฒ๋ฆฌํ ๊ฐ์ด๋ฉด ๋ฌด์ํ์ธ์. ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๋ ๋ฒ ๋ฐ๋ ๊ฒ์ ์ ์ ๋์์ด๋ฉฐ, ์ค๋ณต ์ ๊ฑฐ๋ ์์ ์ธก ์ฑ
์์
๋๋ค. ํธ์๋ฅผ ์ํด `webhook-event-type` ํค๋์ ์ด๋ฒคํธ ํ์
(๋ณธ๋ฌธ `type` ๊ณผ ๊ฐ์ ๊ฐ)๋ ์ค๋ฆฝ๋๋ค โ ๋ณธ๋ฌธ์ ํ์ฑํ๊ธฐ ์ ์ ๊ด์ฌ ์๋ ํ์
์ ๋ฒ๋ฆด ์ ์์ต๋๋ค. ํ์ค์๋ ์๋ ํ์ฅ์ด๋ผ ๊ฒ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด ํค๋๋ฅผ ๋ฌด์ํฉ๋๋ค. ### ์๋ต๊ณผ ์ฌ์๋ 2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์ฑ๊ณต์
๋๋ค. ๊ทธ ์ธ(๋๋ ๋ฌด์๋ต)๋ ์คํจ๋ก ๋ณด๊ณ ์ต๋ 7ํ ์ฌ์๋ํฉ๋๋ค โ ๊ฐ๊ฒฉ์ 10์ด โ 1๋ถ โ 5๋ถ โ 30๋ถ โ 2์๊ฐ โ 6์๊ฐ โ 24์๊ฐ ์
๋๋ค. ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ๋ฉด ๋จผ์ 2xx ๋ฅผ ๋๋ ค์ฃผ๊ณ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ์ธ์. ์ฐ์ ์คํจ๊ฐ 20ํ์ ๋ฟ์ผ๋ฉด ๊ตฌ๋
์ด ์๋์ผ๋ก `DISABLED` ๋ก ๋ด๋ ค๊ฐ๊ณ ๋ฐ์ก์ด ๋ฉ์ถฅ๋๋ค. ์์ ์ธก์ ๊ณ ์น ๋ค `PATCH /v2/webhook-endpoints/{endpointId}` ์ `{\"status\":\"ACTIVE\"}` ๋ก ๋์ด๋ฆฌ์ธ์. ### ๊ตฌ๋
๊ฐ๋ฅํ ์ด๋ฒคํธ `bid.closed` ยท `bid.awarded` ยท `bid.failed` ยท `bid.canceled` ยท `bid.award_reverted` `ping` ์ ์ฐ๊ฒฐ ํ์ธ ์ ์ฉ์ด๋ผ ๊ตฌ๋
ํ ์ ์์ต๋๋ค โ ํ
์คํธ ๋ฐ์ก ๊ฒฝ๋ก์์๋ง ๋๊ฐ๋๋ค. ### ๋์น ์ด๋ฒคํธ ํ์ธ `GET /v2/webhook-deliveries` ๊ฐ ๋ฐ์ก ์๋ ์ด๋ ฅ(๋ณธ๋ฌธยท์๋ต ์ํยท๋ค์ ์ฌ์๋ ์๊ฐ)์ ๋๋ ค์ค๋๋ค. ์์ ์ธก ์ฅ์ ๊ตฌ๊ฐ์ ๋ฉ์ธ ๋ ์ด ์๋ํฌ์ธํธ๋ฅผ ํด๋ง ๋์ฒด ๊ฒฝ๋ก๋ก ์ฐ์ธ์.
|
|
462
|
+
* @summary ์นํ
๊ตฌ๋
๋ฑ๋ก
|
|
463
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
464
|
+
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
465
|
+
* @param {*} [options] Override http request option.
|
|
466
|
+
* @throws {RequiredError}
|
|
467
|
+
*/
|
|
468
|
+
createWebhookEndpoint(idempotencyKey: string, createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateWebhookEndpoint201Response>>;
|
|
469
|
+
/**
|
|
470
|
+
* ๊ตฌ๋
์ ์ญ์ ํฉ๋๋ค. ์ดํ ๊ทธ ์ฃผ์๋ก๋ ์๋ฌด ์ด๋ฒคํธ๋ ๋ฐ์ก๋์ง ์์ต๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋์ ์ข
๋ฃํ ๋. ์ ์๋ง ๋ฉ์ถ๋ ค๋ฉด ์ญ์ ํ์ง ๋ง๊ณ `PATCH โฆ {\"status\":\"DISABLED\"}` ๋ฅผ ์ฐ์ธ์ โ ์ํฌ๋ฆฟ๊ณผ ์ด๋ฒคํธ ๊ตฌ์ฑ์ด ๋จ์ ๊ทธ๋๋ก ๋์ด๋ฆด ์ ์์ต๋๋ค. **๋๋๋ฆด ์ ์์ต๋๋ค.** ๋ค์ ๋ฑ๋กํ๋ฉด ์ ๊ตฌ๋
์ด๊ณ ์๋ช
์ํฌ๋ฆฟ๋ ์ ๊ฐ์
๋๋ค. **`If-Match` ๊ฐ ํ์์
๋๋ค.** `GET` ์ผ๋ก ๋ฐ์ `ETag` ๋ฅผ ์ค์ด ๋ณด๋ด์ธ์. - `428` โ ํค๋ ๋๋ฝ. ์กฐํ ํ ์ฌ์๋ํ์ธ์. - `412` โ ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ต๋๋ค(๋๊ตฐ๊ฐ ์์ ํ๊ฑฐ๋ ๋ฐ์ก๊ธฐ๊ฐ ์ํ๋ฅผ ๋ด๋ ธ์ต๋๋ค). ๋ค์ ์กฐํํด ์ ๋ง ์ง์ธ ๋์์ด ๋ง๋์ง ํ์ธํ๊ณ ์ต์ `ETag` ๋ก ์ฌ์๋ํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
471
|
+
* @summary ์นํ
๊ตฌ๋
์ญ์
|
|
472
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
473
|
+
* @param {string} ifMatch ์ง์ ์กฐํ ์๋ต์ `ETag` ๊ฐ. ๋๋ฝํ๋ฉด 428, ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ผ๋ฉด 412 ๋ก ๊ฑฐ์ ๋๋ฉฐ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
|
|
474
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
475
|
+
* @param {*} [options] Override http request option.
|
|
476
|
+
* @throws {RequiredError}
|
|
477
|
+
*/
|
|
478
|
+
deleteWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
378
479
|
/**
|
|
379
480
|
* ๋ฌด์ธ์ฆ โ `fileKey` ์์ฒด๊ฐ capability ๋ค(ํค๋ฅผ ์๋ ์ชฝ์ด ๊ณง ์ ๊ทผ ๊ถํ์ ๊ฐ์ง๋ค). ํํธ๋ ์๋ต์ `fileUrl`/`fullUrl` ์ด ์ด URL ์ ๊ฐ๋ฆฌํจ๋ค. ์์ฒญ ์์ ์ ์๋ช
ํ๋ฏ๋ก URL ์ ์ ์ฅํด ๋์ด๋ ๋ง๋ฃ๋์ง ์๋๋ค. ์๋ต์ ์ค์ ์ ์ฅ์ URL ๋ก์ 302 ๋ฆฌ๋ค์ด๋ ํธ์ด๋ฉฐ ๋ฆฌ๋ค์ด๋ ํธ ํ๊น์ 1์๊ฐ ๋ค ๋ง๋ฃ๋๋ฏ๋ก 302 ์์ฒด๋ฅผ ์บ์ํ์ง ๋ง ๊ฒ(`Cache-Control: no-store`). --- **์๋ต ํํ๊ฐ ๋๊ฒฐ๋ ํ๋ฉด์
๋๋ค.** ์ด๋ฏธ ์ฐ๋ ์ค์ธ ์์คํ
์ด ์์ด ์๋ต ํ๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ด๋ฆ์ ๋ฐ๊พธ์ง ์์ต๋๋ค. ๋ค๋ฅธ `/v2` ์๋ํฌ์ธํธ์ ๋ฌ๋ฆฌ `{data,meta}` ๋ดํฌ๋ฅผ ์์ฐ์ง ์์ผ๋ฏ๋ก ์๋ต ๋ณธ๋ฌธ์ด ๊ณง ์ ์คํค๋ง์
๋๋ค. ์ง๊ธ ์ฐ๋ํ์
๋ ๊ณ์ ๋์ํฉ๋๋ค โ ๋ค๋ง ์ด ๊ฒฝ๋ก์ ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ง๋ ์์ต๋๋ค. **๋์ฒด ๊ณํ:** ์ด๋ฏธ ์์ต๋๋ค โ `GET /v2/files/{fileKey}` ๊ฐ ํ์ผ ๋ฉํ์ `downloadUrl` ์ v2 ์๋ต ๊ท์ฝ์ผ๋ก ๋๋ ค์ค๋๋ค. ์ด ์์ URL ์ ํํธ๋ ์๋ต์ `fileUrl`/`fullUrl` ์ด ๊ฐ๋ฆฌํค๋ ์ฃผ์๋ผ ๊ณ์ ์ ์ง๋๋ฉฐ ์ค๋จ ์ผ์ ์ ์์ต๋๋ค.
|
|
380
481
|
* @summary ํ์ผ ๋ค์ด๋ก๋
|
|
@@ -432,6 +533,14 @@ export declare const PartnerApiApiFp: (configuration?: Configuration) => {
|
|
|
432
533
|
* @throws {RequiredError}
|
|
433
534
|
*/
|
|
434
535
|
getSupplierCardPayableV2(memberId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSupplierCardPayableV2200Response>>;
|
|
536
|
+
/**
|
|
537
|
+
* ๊ตฌ๋
1๊ฑด์ ํ์ฌ ์ํ๋ฅผ ์กฐํํฉ๋๋ค. ์๋ช
์ํฌ๋ฆฟ์ ์ค๋ฆฌ์ง ์์ต๋๋ค. **์์ ยท์ญ์ ์ ์ ๋จผ์ ํธ์ถํ์ธ์.** ์๋ต ํค๋ `ETag` ๋ฅผ `If-Match` ์ ๊ทธ๋๋ก ์ค์ด์ผ `PATCH`/`DELETE` ๊ฐ ํต๊ณผํฉ๋๋ค. **`404`:** ์๋ ๊ตฌ๋
์ด๊ฑฐ๋ ๋ค๋ฅธ ํํธ๋ ํค์ ๊ตฌ๋
์
๋๋ค โ `endpointId` ๋ฅผ ํ์ธํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:read`
|
|
538
|
+
* @summary ์นํ
๊ตฌ๋
๋จ๊ฑด ์กฐํ
|
|
539
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
540
|
+
* @param {*} [options] Override http request option.
|
|
541
|
+
* @throws {RequiredError}
|
|
542
|
+
*/
|
|
543
|
+
getWebhookEndpoint(endpointId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetWebhookEndpoint200Response>>;
|
|
435
544
|
/**
|
|
436
545
|
* ERP ์ฐ๋ ์ง์ ํ์ ยท์ธ์ฆ endpoint ๋์ ํ์ธ์ฉ.
|
|
437
546
|
* @summary Partner API ํฌ์ค์ฒดํฌ
|
|
@@ -448,7 +557,7 @@ export declare const PartnerApiApiFp: (configuration?: Configuration) => {
|
|
|
448
557
|
*/
|
|
449
558
|
listBidResults(bidRefs: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListBidResults200Response>>;
|
|
450
559
|
/**
|
|
451
|
-
* ๋ฐ์ฃผ์ฒ(API ํค ๋ฐ์ธ๋ฉ)์ ๊ณต๊ณ ๋ฅผ ๊ฒ์์ผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ์ค์ฝํ `bids:read`. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์ฟผ๋ฆฌ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ด์ง๋ค์ด์
(cursor):** `limit`(1~100, ๊ธฐ๋ณธ 100) + `cursor`(๋ถํฌ๋ช
ํ ํฐ).
|
|
560
|
+
* ๋ฐ์ฃผ์ฒ(API ํค ๋ฐ์ธ๋ฉ)์ ๊ณต๊ณ ๋ฅผ ๊ฒ์์ผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ์ค์ฝํ `bids:read`. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์ฟผ๋ฆฌ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ด์ง๋ค์ด์
(cursor):** `limit`(1~100, ๊ธฐ๋ณธ 100) + `cursor`(๋ถํฌ๋ช
ํ ํฐ). ์๋ต `meta.nextCursor` ๋ฅผ ๋ค์ ์์ฒญ `cursor` ๋ก ์ ๋ฌํ๋ฉด ๋ค์ ํ์ด์ง๋ฅผ ๋ฐ์ต๋๋ค. `meta.hasMore` ๊ฐ `false`(= `nextCursor` ๊ฐ `null`)์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง์
๋๋ค. ๋ชฉ๋ก ์์ฒด๋ `data` ์ ๋ฐฐ์ด๋ก ์ค๋ฆฝ๋๋ค. **์ํยท๋์ฐฐ๋ฐฉ๋ฒ:** ๊ณต๊ฐ๊ฐ(์๋ฏธ ๋ฌธ์์ด)์ผ๋ก ๋ฐํ๋ฉ๋๋ค. ๋์ฐฐ ์ฌ๋ถ๋ ์ํ๊ฐ ์๋๋ผ ๋์ฐฐ ๊ฒฐ๊ณผ ์กฐํ์ `participants[].isWinner` ๋ก ๊ด์ธกํฉ๋๋ค(AWARDED ์ํ๋ ์์ต๋๋ค).
|
|
452
561
|
* @summary ๊ณต๊ณ ๋ชฉ๋ก ์กฐํ
|
|
453
562
|
* @param {number} [limit] ํ์ด์ง ํฌ๊ธฐ(1~100, ๊ธฐ๋ณธ 100).
|
|
454
563
|
* @param {string} [cursor] ๋ค์ ํ์ด์ง ์ปค์(๋ถํฌ๋ช
ํ ํฐ). ์ง์ ์๋ต์ `nextCursor` ๋ฅผ ๊ทธ๋๋ก ์ ๋ฌํ๋ค. ๋ฏธ์ง์ ์ ์ฒซ ํ์ด์ง. `nextCursor=null` ์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง๋ค.
|
|
@@ -468,6 +577,24 @@ export declare const PartnerApiApiFp: (configuration?: Configuration) => {
|
|
|
468
577
|
* @throws {RequiredError}
|
|
469
578
|
*/
|
|
470
579
|
listExternalContractDocuments(buyerId: string, bidType: ListExternalContractDocumentsBidTypeEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ExternalContractDocumentsResponseDto>>;
|
|
580
|
+
/**
|
|
581
|
+
* ์ด API ํค์ ์นํ
๋ฐ์ก ์๋๋ฅผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ๋ณด๋ธ ๋ณธ๋ฌธยท์์ ์ธก ์๋ต ์ํยท ๋ค์ ์ฌ์๋ ์์ ์๊ฐ์ด ํจ๊ป ์ค๋ฆฝ๋๋ค. **ํธ์ถ ์์ :** - ์์ ์ธก ์ฅ์ ๋ก ๋์น ์ด๋ฒคํธ๋ฅผ ๋ฉ์ธ ๋. ์ด ์๋ํฌ์ธํธ๊ฐ ์นํ
์ **ํด๋ง ๋์ฒด ๊ฒฝ๋ก**์
๋๋ค โ `status=EXHAUSTED` ๋ก ๊ฑธ๋ฌ ๋ค์ ์ฒ๋ฆฌํ๋ฉด ๋ฉ๋๋ค. - \"์ด๋ฒคํธ๊ฐ ์ ์จ๋ค\" ๋ฅผ ์ง๋จํ ๋. ๋ฐ์ก ์๋ ์์ฒด๊ฐ ์๋์ง(๊ตฌ๋
ยท์ด๋ฒคํธ ํ์
๋ฌธ์ ), ์๋ํ์ง๋ง ์คํจํ๋์ง(`responseStatus`ยท`responseBodyExcerpt`)๋ฅผ ์ฌ๊ธฐ์ ๊ฐ๋ฆ
๋๋ค. **๊ฐ์ ์ด๋ฒคํธ๊ฐ ์ฌ๋ฌ ํ์ผ๋ก ๋ณด์
๋๋ค.** ์ฌ์๋๋ง๋ค ํ ํ์ด๋ฉฐ `eventId` ๊ฐ ๊ฐ๊ณ `attempt` ๋ง ์ฌ๋ผ๊ฐ๋๋ค. ์ฒ๋ฆฌ ์ฌ๋ถ๋ `eventId` ๊ธฐ์ค์ผ๋ก ํ๋จํ์ธ์. **ํ์ด์ง๋ค์ด์
:** `nextCursor` ๋ฅผ ๋ค์ ์์ฒญ์ `cursor` ๋ก ์ ๋ฌํฉ๋๋ค. null ์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง์
๋๋ค. **`400`:** `status` ๊ฐ ํ์ฉ ๊ฐ ๋ฐ์ด๊ฑฐ๋ `limit` ์ด ๋ฒ์๋ฅผ ๋ฒ์ด๋ฌ์ต๋๋ค โ ๊ฐ์ ๊ณ ์ณ ์ฌ์๋ํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:read`
|
|
582
|
+
* @summary ์นํ
์ ์ก ์ด๋ ฅ ์กฐํ
|
|
583
|
+
* @param {string} [endpointId] ์ด ๊ตฌ๋
์ ์ ์ก๋ง ์กฐํํฉ๋๋ค. ๋ฏธ์ง์ ์ด๋ฉด ์ด ํค์ ๋ชจ๋ ๊ตฌ๋
์ ํจ๊ป ์กฐํํฉ๋๋ค.
|
|
584
|
+
* @param {PartnerWebhookDeliveryStatus} [status] ์ ์ก ์ํ ํํฐ. ๋ฏธ์ง์ ์ด๋ฉด ์ ๋ถ.
|
|
585
|
+
* @param {number} [limit] ํ์ด์ง ํฌ๊ธฐ(1~200, ๊ธฐ๋ณธ 50).
|
|
586
|
+
* @param {string} [cursor] ๋ค์ ํ์ด์ง ์ปค์(๋ถํฌ๋ช
ํ ํฐ). ์ง์ ์๋ต์ `nextCursor` ๋ฅผ ๊ทธ๋๋ก ์ ๋ฌํฉ๋๋ค. ๋ฏธ์ง์ ์ ์ฒซ ํ์ด์ง.
|
|
587
|
+
* @param {*} [options] Override http request option.
|
|
588
|
+
* @throws {RequiredError}
|
|
589
|
+
*/
|
|
590
|
+
listWebhookDeliveries(endpointId?: string, status?: PartnerWebhookDeliveryStatus, limit?: number, cursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListWebhookDeliveries200Response>>;
|
|
591
|
+
/**
|
|
592
|
+
* ์ด API ํค๊ฐ ๋ฑ๋กํ ์นํ
๊ตฌ๋
์ ๋ชจ๋ ์กฐํํฉ๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋ ์ํ๋ฅผ ์ ๊ฒํ ๋, ๋๋ ๋ฐ์ก์ด ๋ฉ์ถ ์ด์ (`status`ยท`consecutiveFailures`)๋ฅผ ํ์ธํ ๋. ์๋ช
์ํฌ๋ฆฟ์ ์ฌ๊ธฐ์ ์ค๋ฆฌ์ง ์์ต๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:read` ### ์๋ช
๊ฒ์ฆ (ํ์) ์๋ช
์ **[Standard Webhooks](https://www.standardwebhooks.com)** ๊ท์ฝ์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ์ง์ ๊ตฌํํ์ง ๋ง๊ณ ๊ฐ ์ธ์ด์ `standardwebhooks` ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฑ๋ก ์ ๋ฐ์ ์ํฌ๋ฆฟ (`whsec_โฆ`)์ ๊ทธ๋๋ก ๋๊ธฐ์ธ์ โ ๊ทธ๊ฒ์ด ์ด ํ์์ ์ฐ๋ ์ด์ ์
๋๋ค. ```java // Java Webhook webhook = new Webhook(secret); // secret = \"whsec_โฆ\" webhook.verify(rawBody, headers); // ์คํจํ๋ฉด ์์ธ ``` ```ts // Node / TypeScript import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); ``` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ ์ ์๋ค๋ฉด ๋ฐ์ก ์์ฒญ์ ์ค๋ฆฌ๋ ํค๋๋ ์
์
๋๋ค. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. ์ํฌ๋ฆฟ์์ `whsec_` ์ ๋์ด๋ฅผ ๋ผ๊ณ **base64 ๋์ฝ๋**ํฉ๋๋ค โ ๊ทธ ๋ฐ์ดํธ๊ฐ HMAC ํค์
๋๋ค (์ํฌ๋ฆฟ ๋ฌธ์์ด ์์ฒด๊ฐ ์๋๋๋ค). 2. `\"${webhook-id}.${webhook-timestamp}.${๋ณธ๋ฌธ ์๋ฌธ}\"` ์ ๋ง๋ญ๋๋ค. **๋ณธ๋ฌธ์ ํ์ฑ ์ ์๋ฌธ ๋ฐ์ดํธ**์ฌ์ผ ํฉ๋๋ค โ JSON ์ ๋ค์ ์ง๋ ฌํํ๋ฉด ๊ณต๋ฐฑยทํค ์์๊ฐ ๋ฌ๋ผ์ ธ ์๋ช
์ด ๋ง์ง ์์ต๋๋ค. 3. HMAC-SHA256 ์ ๊ณ์ฐํด **base64** ๋ก ์ธ์ฝ๋ฉํ๊ณ , `webhook-signature` ์ `v1,` ๋ค ๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ๋น๊ต๋ **์์ ์๊ฐ** ํจ์๋ฅผ ์ฐ์ธ์(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `webhook-timestamp` ๊ฐ ํ์ฌ ์๊ฐ์์ **5๋ถ** ์ด์ ์ง๋ฌ์ผ๋ฉด ๊ฑฐ์ ํ์ธ์(์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ด). `webhook-signature` ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ **์ฌ๋ฌ ์๋ช
**์ ์ค์ ์ ์๋ ํ์์
๋๋ค(ํค ํ์ ์ฉ). ์ง๊ธ์ ํญ์ ํ๋์ง๋ง, ๊ฒ์ฆ๊ธฐ๋ ๋ชฉ๋ก์ผ๋ก ์ฝ๊ณ **ํ๋๋ผ๋ ๋ง์ผ๋ฉด ํต๊ณผ**ํ๋๋ก ์ง์ธ์. ### ์ค๋ณต ์ ๊ฑฐ `webhook-id` ํค๋๊ฐ ์ด๋ฒคํธ ์๋ณ์์
๋๋ค. **์ฌ์๋์๋ ๊ฐ์ ๊ฐ์ด ์ต๋๋ค** โ ์ด๋ฏธ ์ฒ๋ฆฌํ ๊ฐ์ด๋ฉด ๋ฌด์ํ์ธ์. ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๋ ๋ฒ ๋ฐ๋ ๊ฒ์ ์ ์ ๋์์ด๋ฉฐ, ์ค๋ณต ์ ๊ฑฐ๋ ์์ ์ธก ์ฑ
์์
๋๋ค. ํธ์๋ฅผ ์ํด `webhook-event-type` ํค๋์ ์ด๋ฒคํธ ํ์
(๋ณธ๋ฌธ `type` ๊ณผ ๊ฐ์ ๊ฐ)๋ ์ค๋ฆฝ๋๋ค โ ๋ณธ๋ฌธ์ ํ์ฑํ๊ธฐ ์ ์ ๊ด์ฌ ์๋ ํ์
์ ๋ฒ๋ฆด ์ ์์ต๋๋ค. ํ์ค์๋ ์๋ ํ์ฅ์ด๋ผ ๊ฒ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด ํค๋๋ฅผ ๋ฌด์ํฉ๋๋ค. ### ์๋ต๊ณผ ์ฌ์๋ 2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์ฑ๊ณต์
๋๋ค. ๊ทธ ์ธ(๋๋ ๋ฌด์๋ต)๋ ์คํจ๋ก ๋ณด๊ณ ์ต๋ 7ํ ์ฌ์๋ํฉ๋๋ค โ ๊ฐ๊ฒฉ์ 10์ด โ 1๋ถ โ 5๋ถ โ 30๋ถ โ 2์๊ฐ โ 6์๊ฐ โ 24์๊ฐ ์
๋๋ค. ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ๋ฉด ๋จผ์ 2xx ๋ฅผ ๋๋ ค์ฃผ๊ณ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ์ธ์. ์ฐ์ ์คํจ๊ฐ 20ํ์ ๋ฟ์ผ๋ฉด ๊ตฌ๋
์ด ์๋์ผ๋ก `DISABLED` ๋ก ๋ด๋ ค๊ฐ๊ณ ๋ฐ์ก์ด ๋ฉ์ถฅ๋๋ค. ์์ ์ธก์ ๊ณ ์น ๋ค `PATCH /v2/webhook-endpoints/{endpointId}` ์ `{\"status\":\"ACTIVE\"}` ๋ก ๋์ด๋ฆฌ์ธ์. ### ๊ตฌ๋
๊ฐ๋ฅํ ์ด๋ฒคํธ `bid.closed` ยท `bid.awarded` ยท `bid.failed` ยท `bid.canceled` ยท `bid.award_reverted` `ping` ์ ์ฐ๊ฒฐ ํ์ธ ์ ์ฉ์ด๋ผ ๊ตฌ๋
ํ ์ ์์ต๋๋ค โ ํ
์คํธ ๋ฐ์ก ๊ฒฝ๋ก์์๋ง ๋๊ฐ๋๋ค. ### ๋์น ์ด๋ฒคํธ ํ์ธ `GET /v2/webhook-deliveries` ๊ฐ ๋ฐ์ก ์๋ ์ด๋ ฅ(๋ณธ๋ฌธยท์๋ต ์ํยท๋ค์ ์ฌ์๋ ์๊ฐ)์ ๋๋ ค์ค๋๋ค. ์์ ์ธก ์ฅ์ ๊ตฌ๊ฐ์ ๋ฉ์ธ ๋ ์ด ์๋ํฌ์ธํธ๋ฅผ ํด๋ง ๋์ฒด ๊ฒฝ๋ก๋ก ์ฐ์ธ์.
|
|
593
|
+
* @summary ์นํ
๊ตฌ๋
๋ชฉ๋ก ์กฐํ
|
|
594
|
+
* @param {*} [options] Override http request option.
|
|
595
|
+
* @throws {RequiredError}
|
|
596
|
+
*/
|
|
597
|
+
listWebhookEndpoints(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListWebhookEndpoints200Response>>;
|
|
471
598
|
/**
|
|
472
599
|
* ๊ณต๊ณ ๋ฅผ ์ ์ฐฐ ์ํ๋ก ์ ํํฉ๋๋ค. **ํธ์ถ ์์ :** ์
์ฐฐ ๋ง๊ฐ ํ ์ ์ฐฐ ์ฌ์ ๊ฐ ํ์ ๋์์ ๋. ๊ณต๊ณ ๊ฐ ์
์ฐฐ์๋ฃ(๋ง๊ฐ) ์ํ์์ ํธ์ถํฉ๋๋ค. **๋ถ์ํจ๊ณผ:** - ๊ณต๊ณ ์ํ๊ฐ ์ ์ฐฐ(FAILED)๋ก ์ ํ๋ฉ๋๋ค. - ์ ์ฐฐ์ฌ์ ์ฝ๋์ ์์ธ๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. **์ ์ฐฐ์ฌ์ ๊ฐ ๋ชฉ๋ก(failureReasonCode โ ๊ณต๊ฐ๊ฐ):** | ๊ฐ | ์๋ฏธ | |------|------| | `ABOVE_TARGET_PRICE` | ์์ ๊ฐ๊ฒฉ ์ด๊ณผ | | `DEPT_MISMATCH` | ์๊ฒฉ ๋ฏธ๋ฌ | | `NEEDS_EXPERTISE` | ์ ๋ฌธ์ฑ ํ์ | | `OTHER` | ๊ธฐํ (`failureReasonDetail` ํ์) | | `NO_PARTICIPANT` | ์ฐธ๊ฐ์ ์์ | | `SINGLE_PARTICIPANT` | ๋จ๋
์ฐธ๊ฐ | | `LESS_THAN_TWO` | 2์ธ ๋ฏธ๋ง | | `BELOW_MINIMUM` | ์ต์ ๊ฐ ๋ฏธ๋ฌ | **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์์ฒญ body ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ ์ค์ฝํ:** `awards:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
473
600
|
* @summary ์ ์ฐฐ ์ฒ๋ฆฌ
|
|
@@ -526,6 +653,24 @@ export declare const PartnerApiApiFp: (configuration?: Configuration) => {
|
|
|
526
653
|
* @throws {RequiredError}
|
|
527
654
|
*/
|
|
528
655
|
revertAward(bidRef: string, idempotencyKey: string, revertAwardRequestDto: RevertAwardRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RevertAward200Response>>;
|
|
656
|
+
/**
|
|
657
|
+
* ์๋ช
์ํฌ๋ฆฟ์ ์๋ก ๋ฐ๊ธํฉ๋๋ค. ์๋ต์ `secretVersion` ์ด 1 ์ฌ๋ผ๊ฐ๋๋ค. **ํธ์ถ ์์ :** ์ํฌ๋ฆฟ์ ๋ถ์คํ๊ฑฐ๋ ์ ์ถ์ด ์์ฌ๋ ๋, ๋๋ ์ฃผ๊ธฐ์ ๊ต์ฒด ์ ์ฑ
์ด ์์ ๋. **์ ์ํฌ๋ฆฟ์ ์ด ์๋ต์์ ํ ๋ฒ๋ง ๋๊ฐ๋๋ค.** ์กฐํ๋ก ๋ค์ ๋ฐ์ ์ ์์ต๋๋ค. **์ ์ํฌ๋ฆฟ์ ์ฆ์ ๋ฌดํจ์
๋๋ค.** ์ ์ ๊ธฐ๊ฐ์ด ์์ผ๋ฏ๋ก, ์์ ์ธก์ด ์ ๊ฐ์ ๋ฐ์ํ๊ธฐ ์ ์ ๋์ฐฉํ ์ด๋ฒคํธ๋ ์๋ช
๊ฒ์ฆ์ ์คํจํฉ๋๋ค. ๋ฐฐํฌ ์์๋ฅผ ์ด๋ ๊ฒ ์ก์ผ์ธ์ โ โ ์์ ์ธก์ด ์ ๊ฐ๊ณผ ์ ๊ฐ์ **๋ ๋ค** ๋ฐ์๋ค์ด๋๋ก ๋ฐฐํฌ โ โก ์ด ์๋ํฌ์ธํธ ํธ์ถ โ โข ์๋ต์ ์ ๊ฐ์ ๋ฐ์ โ โฃ ์ ๊ฐ ์ ๊ฑฐ. ๊ฒ์ฆ ์คํจ๋ก non-2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์คํจ๋ก ์ง๊ณ๋์ด 20ํ ์ฐ์ ์ ๊ตฌ๋
์ด ์ค์ง๋ฉ๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๊ฐ์ ํค๋ก ์ฌ์ ์กํ๋ฉด **์๋ก ๋ฐ๊ธํ์ง ์๊ณ ** ์ฒ์ ๋ฐ๊ธํ ๊ฐ์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค(24์๊ฐ) โ ๋คํธ์ํฌ ์ค๋ฅ๋ก ์๋ต์ ๋์ณค์ ๋ ๊ฐ์ ํค๋ก ๋ค์ ๋ถ๋ฅด์ธ์.
|
|
658
|
+
* @summary ์นํ
์๋ช
์ํฌ๋ฆฟ ์ฌ๋ฐ๊ธ
|
|
659
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
660
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
661
|
+
* @param {*} [options] Override http request option.
|
|
662
|
+
* @throws {RequiredError}
|
|
663
|
+
*/
|
|
664
|
+
rotateWebhookSecret(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateWebhookEndpoint201Response>>;
|
|
665
|
+
/**
|
|
666
|
+
* ๋ฑ๋ก๋ ์ฃผ์๋ก `ping` ์ด๋ฒคํธ๋ฅผ ์ฆ์ 1ํ ๋ณด๋ด๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ค๋๋ค. **ํธ์ถ ์์ :** ๊ตฌ๋
์ ๋ฑ๋กํ ์งํ, ์์ ์ฃผ์๋ฅผ ๋ฐ๊พผ ์งํ, ๋ฐฉํ๋ฒฝยท์ธ์ฆ์๋ฅผ ์๋ณธ ๋ค. **์๋ต์ ๋ฐ์ก ๊ฒฐ๊ณผ์ด์ง ์์ฒญ ์คํจ๊ฐ ์๋๋๋ค.** ์์ ์ธก์ด ๋ฐ์ง ๋ชปํด๋ HTTP `200` ์ `delivered: false` ๋ก ์ต๋๋ค โ `responseStatus`(์์ ์ธก ์ํ)์ `error`(์ฐ๊ฒฐ ๊ฑฐ๋ถยทํ์์์ยท TLS ์ค๋ฅ)๋ฅผ ๋ณด๊ณ ์์ธ์ ์ขํ์ธ์. ์ด ๋ฐ์ก์๋ ์ค์ ์ด๋ฒคํธ์ **๋๊ฐ์ ์๋ช
ํค๋**๊ฐ ์ค๋ฆฌ๋ฏ๋ก ๊ฒ์ฆ ์ฝ๋๋ฅผ ๊ทธ๋๋ก ์ํํ ์ ์์ต๋๋ค. `ping` ์ ๊ตฌ๋
๋ชฉ๋ก์ ๋ฃ์ ์ ์๋ ํ์
์ด๋, ์์ ์ธก์ด ๋ชจ๋ฅด๋ `eventType` ์ ๋ง๋๋ฉด ๋ฒ๋ฆฌ๋๋ก ์ง์ฌ ์๋ค๋ฉด ์ด ํ์ธ๋ง ์คํจํ ์ ์์ต๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๋ค์ ๋ณด๋ด๋ ค๋ฉด **์ ํค**๋ฅผ ์ฐ์ธ์ โ ๊ฐ์ ํค๋ 24์๊ฐ ๋์ ์ง์ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค(์ฌ๋ฐ์กํ์ง ์์ต๋๋ค).
|
|
667
|
+
* @summary ์นํ
์ฐ๊ฒฐ ํ์ธ ๋ฐ์ก
|
|
668
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
669
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
670
|
+
* @param {*} [options] Override http request option.
|
|
671
|
+
* @throws {RequiredError}
|
|
672
|
+
*/
|
|
673
|
+
sendWebhookTestEvent(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SendWebhookTestEvent200Response>>;
|
|
529
674
|
/**
|
|
530
675
|
* ํ์๋ฐฉ์(NEGOTIATION/NEGOTIATION_AUTO) ๊ณต๊ณ ์ ์์ฐฐ์๋ณ ์ ์๋ฅผ ์
๋ ฅํฉ๋๋ค. **ํธ์ถ ์์ :** ์
์ฐฐ ๋ง๊ฐ ํ ๋์ฐฐ(`POST /v2/bids/{bidRef}/award`) ์ . ํ์๋ฐฉ์ ๊ณต๊ณ ๋ ์ด ํ๊ฐ๋ฅผ ์๋ฃํด์ผ ๋์ฐฐ์ ์ง์
ํ ์ ์์ต๋๋ค. **๋ถ์ํจ๊ณผ:** - ์์ฐฐ์๋ณ ๊ธฐ์ ์ ์(๋ฐ ์ ํ์ ๊ฐ๊ฒฉ์ ์ override)๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. - `complete=true` ๋ฉด ํ๊ฐ์๋ฃ ๊ฒ์ดํธ๊น์ง ์ ์ฉ๋ผ ๋์ฐฐ ์ง์
์ด ๊ฐ๋ฅํด์ง๋๋ค. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์์ฒญ body ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ ์ค์ฝํ:** `awards:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๋์ผ ํค + ๋์ผ body ์ฌ์ ์ก ์ 24์๊ฐ ๋ด ์บ์ ์๋ต ๋ฐํ.
|
|
531
676
|
* @summary ํ์ ์ ์ํ๊ฐ
|
|
@@ -547,6 +692,17 @@ export declare const PartnerApiApiFp: (configuration?: Configuration) => {
|
|
|
547
692
|
* @throws {RequiredError}
|
|
548
693
|
*/
|
|
549
694
|
updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UpdateBid200Response>>;
|
|
695
|
+
/**
|
|
696
|
+
* ์์ ์ฃผ์ยท๊ตฌ๋
์ด๋ฒคํธยท์ํ๋ฅผ ์์ ํฉ๋๋ค. ๋ณด๋ธ ํ๋๋ง ๋ฐ๋๋๋ค. **ํธ์ถ ์์ :** ์์ ์ฃผ์๊ฐ ๋ฐ๋์์ ๋, ๊ตฌ๋
์ด๋ฒคํธ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ๋, ์ฐ์ ์คํจ๋ก ์๋ ์ค์ง๋ ๊ตฌ๋
์ ๊ณ ์น ๋ค ๋์ด๋ฆด ๋(`{\"status\":\"ACTIVE\"}`). **`eventTypes` ๋ ์นํ์
๋๋ค** โ ๋ณด๋ธ ๋ชฉ๋ก์ด ๊ณง ์ ๊ตฌ๋
๋ชฉ๋ก์
๋๋ค. ํ๋๋ฅผ ๋ํ๋ ค๋ฉด ๊ธฐ์กด ๋ชฉ๋ก์ ๋ํ **์ ์ฒด**๋ฅผ ๋ณด๋ด์ธ์. **`If-Match` ๊ฐ ํ์์
๋๋ค.** ๋จผ์ `GET /v2/webhook-endpoints/{endpointId}` ๋ก ํ์ฌ `ETag` ๋ฅผ ๋ฐ์ ๊ทธ๋๋ก ์ค์ด ๋ณด๋ด์ธ์. ์ด ํค๋๊ฐ ์์ผ๋ฉด ๋ ์์ฒญ์ด ์์๊ฑฐ๋ ๋ค์๊ฑฐ๋ ํ๋ฉฐ ๋จผ์ ํ ์์ ์ ์กฐ์ฉํ ๋ฎ์ด์๋๋ค. - `428` โ ํค๋๋ฅผ ๋นผ๋จน์์ต๋๋ค. ์กฐํ ํ `ETag` ๋ฅผ ์ค์ด ์ฌ์๋ํ์ธ์. - `412` โ ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ต๋๋ค. ๋ค์ ์กฐํํด ์ต์ `ETag` ๋ก ์ฌ์๋ํ์ธ์. ์๋ฌด๊ฒ๋ ์์ ๋์ง ์์์ต๋๋ค. **์ํฌ๋ฆฟ์ ์ด ๊ฒฝ๋ก๋ก ๋ฐ๋์ง ์์ต๋๋ค** โ ์ฌ๋ฐ๊ธ์ `rotate-secret` ์
๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
697
|
+
* @summary ์นํ
๊ตฌ๋
์์
|
|
698
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
699
|
+
* @param {string} ifMatch ์ง์ ์กฐํ ์๋ต์ `ETag` ๊ฐ. ๋๋ฝํ๋ฉด 428, ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ผ๋ฉด 412 ๋ก ๊ฑฐ์ ๋๋ฉฐ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
|
|
700
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
701
|
+
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
702
|
+
* @param {*} [options] Override http request option.
|
|
703
|
+
* @throws {RequiredError}
|
|
704
|
+
*/
|
|
705
|
+
updateWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetWebhookEndpoint200Response>>;
|
|
550
706
|
/**
|
|
551
707
|
* **์ฒจ๋ถ ์
๋ก๋์ ๊ธฐ๋ณธ ๊ฒฝ๋ก์
๋๋ค. 23MB ์ดํ๋ฉด ์ด ํธ์ถ ํ๋๋ก ๋๋ฉ๋๋ค.** ํ์ผ ๋ณธ๋ฌธ์ `base64` ๋๋ `url` ์ค ์ ํํ ํ๋๋ก ์ ์ถํ๋ฉด `fileKey` ๋ฅผ ๋๋ ค์ค๋๋ค. ์ด ๊ฐ์ ๊ณต๊ณ ๋ฑ๋กยท์์ ์ ์ฒจ๋ถ ํ๋์ ์ค์ผ์ธ์. **23MB ๋ฅผ ๋์ผ๋ฉด ๊ฒฝ๋ก๋ฅผ ๋ฐ๊ฟ์ผ ํฉ๋๋ค.** ์ํ์ด ์
์ผ๋ก ๊ฐ๋ฆฝ๋๋ค. | ์ ์ถ ๋ฐฉ์ | ์ํ | ํธ์ถ ์ | | --- | --- | --- | | ์ด ํธ์ถ + `base64` | **23MB** (๋ณธ๋ฌธ์ด c-market ์ ํต๊ณผํ๋ฉฐ base64 ํฝ์ฐฝ 4/3 ์ด ์นํ) | 1 | | ์ด ํธ์ถ + `url` | **30MB** (c-market ์ด ๋์ ๋ด๋ ค๋ฐ์ ํฝ์ฐฝ์ ์์ง๋ง ์๋ฒ ๊ฒฝ์ ์ฒ์ฅ์ ๊ทธ๋๋ก) | 1 | | `POST /v2/files/upload-url` ๋ก ์์ํ๋ 2๋จ๊ณ | **100MB** (๋ฐ์ดํธ๊ฐ c-market ์ ์ง๋์ง ์์) | 2 + ์คํ ๋ฆฌ์ง PUT | c-market ์ด ๋ด๋ ค๋ฐ์ ์ ์๋ https ์ฃผ์์ ํ์ผ์ ์ฌ๋ ค ๋ ์ ์๋ค๋ฉด `url` ์ด 30MB ๊น์ง๋ฅผ 1์ฝ๋ก ๋ฎ์ต๋๋ค. ๊ทธ ์ด์์ด๊ฑฐ๋ ์ฃผ์๋ฅผ ์ด ์ ์์ผ๋ฉด 2๋จ๊ณ ๊ฒฝ๋ก๋ฅผ ์ฐ์ธ์. **๊ณต๊ณ ๋ฑ๋ก์ ํ์ผ์ ํจ๊ป ์ค์ ์๋ ์์ต๋๋ค.** `POST /v2/bids` ์ `attachments` ์์์ `{ fileName, url }`ยท`{ fileName, base64 }` ๋ฅผ ๊ทธ๋๋ก ๋ฃ์ผ๋ฉด ์ด ํธ์ถ ์์ด ํ ๋ฒ์ ๋๋ฉ๋๋ค. ์ฌ๋ฌ ๊ณต๊ณ ์ ๊ฐ์ ํ์ผ์ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ํฐ ํ์ผ์ ๋ค๋ฃฐ ๋๋ง `fileKey` ๋ฅผ ๋จผ์ ๋ง๋์ธ์. **ํ์ ์ค์ฝํ:** `files:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
552
708
|
* @summary ๊ณต๊ณ ์ฒจ๋ถํ์ผ ์
๋ก๋ (๊ธฐ๋ณธ)
|
|
@@ -627,6 +783,25 @@ export declare const PartnerApiApiFactory: (configuration?: Configuration, baseP
|
|
|
627
783
|
* @throws {RequiredError}
|
|
628
784
|
*/
|
|
629
785
|
createFileUploadUrl(idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CreateFileUploadUrl201Response>;
|
|
786
|
+
/**
|
|
787
|
+
* ์์ ์ฃผ์์ ๊ตฌ๋
ํ ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํฉ๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋ ์ด๊ธฐ 1ํ. ์์ ์ฃผ์๊ฐ ๋ฐ๋๋ฉด ์๋ก ๋ง๋ค์ง ๋ง๊ณ `PATCH` ๋ก ๊ณ ์น์ธ์ โ ๊ทธ๋์ผ ์ํฌ๋ฆฟ๊ณผ ์ ์ก ์ด๋ ฅ์ด ์ ์ง๋ฉ๋๋ค. **์๋ช
์ํฌ๋ฆฟ์ ์ด ์๋ต์์ ํ ๋ฒ๋ง ๋๊ฐ๋๋ค.** ์๋ฒ๋ ํด์๋ง ๋ณด๊ดํ๋ฏ๋ก ์กฐํ๋ก ๋ค์ ๋ฐ์ ์ ์์ต๋๋ค. ์๋ต์ `secret` ์ ์ฆ์ ์์ ํ ๊ณณ์ ๋ณด๊ดํ์ธ์. ์์ด๋ฒ๋ ธ๋ค๋ฉด ๋ณต๊ตฌ๊ฐ ์๋๋ผ `POST /v2/webhook-endpoints/{endpointId}/rotate-secret` ์ผ๋ก **์ฌ๋ฐ๊ธ**ํด์ผ ํฉ๋๋ค. **๊ฑฐ์ ๋๋ ๊ฒฝ์ฐ์ ๊ณ ์น๋ ๋ฒ:** - `400` โ `url` ์ด HTTPS ๊ฐ ์๋๊ฑฐ๋ ํ์์ด ์๋ชป๋จ, `eventTypes` ๊ฐ ๋น์๊ฑฐ๋ ๋ชฉ๋ก ๋ฐ ๊ฐ (`ping` ์ ๊ตฌ๋
๋ถ๊ฐ). ๊ฐ์ ๊ณ ์ณ ์ฌ์๋ํ์ธ์. - `400` โ `Idempotency-Key` ํค๋ ๋๋ฝ/ํ์ ์ค๋ฅ. UUID v4 ๋ฅผ ์ค์ด ๋ณด๋ด์ธ์. - `403` โ ํ ํฐ์ `webhooks:write` ์ค์ฝํ๊ฐ ์์. ํค ๋ฐ๊ธ ์ค์ ์ ๋ํ์ผ ํฉ๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ### ์๋ช
๊ฒ์ฆ (ํ์) ์๋ช
์ **[Standard Webhooks](https://www.standardwebhooks.com)** ๊ท์ฝ์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ์ง์ ๊ตฌํํ์ง ๋ง๊ณ ๊ฐ ์ธ์ด์ `standardwebhooks` ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฑ๋ก ์ ๋ฐ์ ์ํฌ๋ฆฟ (`whsec_โฆ`)์ ๊ทธ๋๋ก ๋๊ธฐ์ธ์ โ ๊ทธ๊ฒ์ด ์ด ํ์์ ์ฐ๋ ์ด์ ์
๋๋ค. ```java // Java Webhook webhook = new Webhook(secret); // secret = \"whsec_โฆ\" webhook.verify(rawBody, headers); // ์คํจํ๋ฉด ์์ธ ``` ```ts // Node / TypeScript import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); ``` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ ์ ์๋ค๋ฉด ๋ฐ์ก ์์ฒญ์ ์ค๋ฆฌ๋ ํค๋๋ ์
์
๋๋ค. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. ์ํฌ๋ฆฟ์์ `whsec_` ์ ๋์ด๋ฅผ ๋ผ๊ณ **base64 ๋์ฝ๋**ํฉ๋๋ค โ ๊ทธ ๋ฐ์ดํธ๊ฐ HMAC ํค์
๋๋ค (์ํฌ๋ฆฟ ๋ฌธ์์ด ์์ฒด๊ฐ ์๋๋๋ค). 2. `\"${webhook-id}.${webhook-timestamp}.${๋ณธ๋ฌธ ์๋ฌธ}\"` ์ ๋ง๋ญ๋๋ค. **๋ณธ๋ฌธ์ ํ์ฑ ์ ์๋ฌธ ๋ฐ์ดํธ**์ฌ์ผ ํฉ๋๋ค โ JSON ์ ๋ค์ ์ง๋ ฌํํ๋ฉด ๊ณต๋ฐฑยทํค ์์๊ฐ ๋ฌ๋ผ์ ธ ์๋ช
์ด ๋ง์ง ์์ต๋๋ค. 3. HMAC-SHA256 ์ ๊ณ์ฐํด **base64** ๋ก ์ธ์ฝ๋ฉํ๊ณ , `webhook-signature` ์ `v1,` ๋ค ๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ๋น๊ต๋ **์์ ์๊ฐ** ํจ์๋ฅผ ์ฐ์ธ์(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `webhook-timestamp` ๊ฐ ํ์ฌ ์๊ฐ์์ **5๋ถ** ์ด์ ์ง๋ฌ์ผ๋ฉด ๊ฑฐ์ ํ์ธ์(์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ด). `webhook-signature` ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ **์ฌ๋ฌ ์๋ช
**์ ์ค์ ์ ์๋ ํ์์
๋๋ค(ํค ํ์ ์ฉ). ์ง๊ธ์ ํญ์ ํ๋์ง๋ง, ๊ฒ์ฆ๊ธฐ๋ ๋ชฉ๋ก์ผ๋ก ์ฝ๊ณ **ํ๋๋ผ๋ ๋ง์ผ๋ฉด ํต๊ณผ**ํ๋๋ก ์ง์ธ์. ### ์ค๋ณต ์ ๊ฑฐ `webhook-id` ํค๋๊ฐ ์ด๋ฒคํธ ์๋ณ์์
๋๋ค. **์ฌ์๋์๋ ๊ฐ์ ๊ฐ์ด ์ต๋๋ค** โ ์ด๋ฏธ ์ฒ๋ฆฌํ ๊ฐ์ด๋ฉด ๋ฌด์ํ์ธ์. ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๋ ๋ฒ ๋ฐ๋ ๊ฒ์ ์ ์ ๋์์ด๋ฉฐ, ์ค๋ณต ์ ๊ฑฐ๋ ์์ ์ธก ์ฑ
์์
๋๋ค. ํธ์๋ฅผ ์ํด `webhook-event-type` ํค๋์ ์ด๋ฒคํธ ํ์
(๋ณธ๋ฌธ `type` ๊ณผ ๊ฐ์ ๊ฐ)๋ ์ค๋ฆฝ๋๋ค โ ๋ณธ๋ฌธ์ ํ์ฑํ๊ธฐ ์ ์ ๊ด์ฌ ์๋ ํ์
์ ๋ฒ๋ฆด ์ ์์ต๋๋ค. ํ์ค์๋ ์๋ ํ์ฅ์ด๋ผ ๊ฒ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด ํค๋๋ฅผ ๋ฌด์ํฉ๋๋ค. ### ์๋ต๊ณผ ์ฌ์๋ 2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์ฑ๊ณต์
๋๋ค. ๊ทธ ์ธ(๋๋ ๋ฌด์๋ต)๋ ์คํจ๋ก ๋ณด๊ณ ์ต๋ 7ํ ์ฌ์๋ํฉ๋๋ค โ ๊ฐ๊ฒฉ์ 10์ด โ 1๋ถ โ 5๋ถ โ 30๋ถ โ 2์๊ฐ โ 6์๊ฐ โ 24์๊ฐ ์
๋๋ค. ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ๋ฉด ๋จผ์ 2xx ๋ฅผ ๋๋ ค์ฃผ๊ณ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ์ธ์. ์ฐ์ ์คํจ๊ฐ 20ํ์ ๋ฟ์ผ๋ฉด ๊ตฌ๋
์ด ์๋์ผ๋ก `DISABLED` ๋ก ๋ด๋ ค๊ฐ๊ณ ๋ฐ์ก์ด ๋ฉ์ถฅ๋๋ค. ์์ ์ธก์ ๊ณ ์น ๋ค `PATCH /v2/webhook-endpoints/{endpointId}` ์ `{\"status\":\"ACTIVE\"}` ๋ก ๋์ด๋ฆฌ์ธ์. ### ๊ตฌ๋
๊ฐ๋ฅํ ์ด๋ฒคํธ `bid.closed` ยท `bid.awarded` ยท `bid.failed` ยท `bid.canceled` ยท `bid.award_reverted` `ping` ์ ์ฐ๊ฒฐ ํ์ธ ์ ์ฉ์ด๋ผ ๊ตฌ๋
ํ ์ ์์ต๋๋ค โ ํ
์คํธ ๋ฐ์ก ๊ฒฝ๋ก์์๋ง ๋๊ฐ๋๋ค. ### ๋์น ์ด๋ฒคํธ ํ์ธ `GET /v2/webhook-deliveries` ๊ฐ ๋ฐ์ก ์๋ ์ด๋ ฅ(๋ณธ๋ฌธยท์๋ต ์ํยท๋ค์ ์ฌ์๋ ์๊ฐ)์ ๋๋ ค์ค๋๋ค. ์์ ์ธก ์ฅ์ ๊ตฌ๊ฐ์ ๋ฉ์ธ ๋ ์ด ์๋ํฌ์ธํธ๋ฅผ ํด๋ง ๋์ฒด ๊ฒฝ๋ก๋ก ์ฐ์ธ์.
|
|
788
|
+
* @summary ์นํ
๊ตฌ๋
๋ฑ๋ก
|
|
789
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
790
|
+
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
791
|
+
* @param {*} [options] Override http request option.
|
|
792
|
+
* @throws {RequiredError}
|
|
793
|
+
*/
|
|
794
|
+
createWebhookEndpoint(idempotencyKey: string, createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<CreateWebhookEndpoint201Response>;
|
|
795
|
+
/**
|
|
796
|
+
* ๊ตฌ๋
์ ์ญ์ ํฉ๋๋ค. ์ดํ ๊ทธ ์ฃผ์๋ก๋ ์๋ฌด ์ด๋ฒคํธ๋ ๋ฐ์ก๋์ง ์์ต๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋์ ์ข
๋ฃํ ๋. ์ ์๋ง ๋ฉ์ถ๋ ค๋ฉด ์ญ์ ํ์ง ๋ง๊ณ `PATCH โฆ {\"status\":\"DISABLED\"}` ๋ฅผ ์ฐ์ธ์ โ ์ํฌ๋ฆฟ๊ณผ ์ด๋ฒคํธ ๊ตฌ์ฑ์ด ๋จ์ ๊ทธ๋๋ก ๋์ด๋ฆด ์ ์์ต๋๋ค. **๋๋๋ฆด ์ ์์ต๋๋ค.** ๋ค์ ๋ฑ๋กํ๋ฉด ์ ๊ตฌ๋
์ด๊ณ ์๋ช
์ํฌ๋ฆฟ๋ ์ ๊ฐ์
๋๋ค. **`If-Match` ๊ฐ ํ์์
๋๋ค.** `GET` ์ผ๋ก ๋ฐ์ `ETag` ๋ฅผ ์ค์ด ๋ณด๋ด์ธ์. - `428` โ ํค๋ ๋๋ฝ. ์กฐํ ํ ์ฌ์๋ํ์ธ์. - `412` โ ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ต๋๋ค(๋๊ตฐ๊ฐ ์์ ํ๊ฑฐ๋ ๋ฐ์ก๊ธฐ๊ฐ ์ํ๋ฅผ ๋ด๋ ธ์ต๋๋ค). ๋ค์ ์กฐํํด ์ ๋ง ์ง์ธ ๋์์ด ๋ง๋์ง ํ์ธํ๊ณ ์ต์ `ETag` ๋ก ์ฌ์๋ํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
797
|
+
* @summary ์นํ
๊ตฌ๋
์ญ์
|
|
798
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
799
|
+
* @param {string} ifMatch ์ง์ ์กฐํ ์๋ต์ `ETag` ๊ฐ. ๋๋ฝํ๋ฉด 428, ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ผ๋ฉด 412 ๋ก ๊ฑฐ์ ๋๋ฉฐ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
|
|
800
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
801
|
+
* @param {*} [options] Override http request option.
|
|
802
|
+
* @throws {RequiredError}
|
|
803
|
+
*/
|
|
804
|
+
deleteWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
630
805
|
/**
|
|
631
806
|
* ๋ฌด์ธ์ฆ โ `fileKey` ์์ฒด๊ฐ capability ๋ค(ํค๋ฅผ ์๋ ์ชฝ์ด ๊ณง ์ ๊ทผ ๊ถํ์ ๊ฐ์ง๋ค). ํํธ๋ ์๋ต์ `fileUrl`/`fullUrl` ์ด ์ด URL ์ ๊ฐ๋ฆฌํจ๋ค. ์์ฒญ ์์ ์ ์๋ช
ํ๋ฏ๋ก URL ์ ์ ์ฅํด ๋์ด๋ ๋ง๋ฃ๋์ง ์๋๋ค. ์๋ต์ ์ค์ ์ ์ฅ์ URL ๋ก์ 302 ๋ฆฌ๋ค์ด๋ ํธ์ด๋ฉฐ ๋ฆฌ๋ค์ด๋ ํธ ํ๊น์ 1์๊ฐ ๋ค ๋ง๋ฃ๋๋ฏ๋ก 302 ์์ฒด๋ฅผ ์บ์ํ์ง ๋ง ๊ฒ(`Cache-Control: no-store`). --- **์๋ต ํํ๊ฐ ๋๊ฒฐ๋ ํ๋ฉด์
๋๋ค.** ์ด๋ฏธ ์ฐ๋ ์ค์ธ ์์คํ
์ด ์์ด ์๋ต ํ๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ด๋ฆ์ ๋ฐ๊พธ์ง ์์ต๋๋ค. ๋ค๋ฅธ `/v2` ์๋ํฌ์ธํธ์ ๋ฌ๋ฆฌ `{data,meta}` ๋ดํฌ๋ฅผ ์์ฐ์ง ์์ผ๋ฏ๋ก ์๋ต ๋ณธ๋ฌธ์ด ๊ณง ์ ์คํค๋ง์
๋๋ค. ์ง๊ธ ์ฐ๋ํ์
๋ ๊ณ์ ๋์ํฉ๋๋ค โ ๋ค๋ง ์ด ๊ฒฝ๋ก์ ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ง๋ ์์ต๋๋ค. **๋์ฒด ๊ณํ:** ์ด๋ฏธ ์์ต๋๋ค โ `GET /v2/files/{fileKey}` ๊ฐ ํ์ผ ๋ฉํ์ `downloadUrl` ์ v2 ์๋ต ๊ท์ฝ์ผ๋ก ๋๋ ค์ค๋๋ค. ์ด ์์ URL ์ ํํธ๋ ์๋ต์ `fileUrl`/`fullUrl` ์ด ๊ฐ๋ฆฌํค๋ ์ฃผ์๋ผ ๊ณ์ ์ ์ง๋๋ฉฐ ์ค๋จ ์ผ์ ์ ์์ต๋๋ค.
|
|
632
807
|
* @summary ํ์ผ ๋ค์ด๋ก๋
|
|
@@ -684,6 +859,14 @@ export declare const PartnerApiApiFactory: (configuration?: Configuration, baseP
|
|
|
684
859
|
* @throws {RequiredError}
|
|
685
860
|
*/
|
|
686
861
|
getSupplierCardPayableV2(memberId: string, options?: RawAxiosRequestConfig): AxiosPromise<GetSupplierCardPayableV2200Response>;
|
|
862
|
+
/**
|
|
863
|
+
* ๊ตฌ๋
1๊ฑด์ ํ์ฌ ์ํ๋ฅผ ์กฐํํฉ๋๋ค. ์๋ช
์ํฌ๋ฆฟ์ ์ค๋ฆฌ์ง ์์ต๋๋ค. **์์ ยท์ญ์ ์ ์ ๋จผ์ ํธ์ถํ์ธ์.** ์๋ต ํค๋ `ETag` ๋ฅผ `If-Match` ์ ๊ทธ๋๋ก ์ค์ด์ผ `PATCH`/`DELETE` ๊ฐ ํต๊ณผํฉ๋๋ค. **`404`:** ์๋ ๊ตฌ๋
์ด๊ฑฐ๋ ๋ค๋ฅธ ํํธ๋ ํค์ ๊ตฌ๋
์
๋๋ค โ `endpointId` ๋ฅผ ํ์ธํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:read`
|
|
864
|
+
* @summary ์นํ
๊ตฌ๋
๋จ๊ฑด ์กฐํ
|
|
865
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
866
|
+
* @param {*} [options] Override http request option.
|
|
867
|
+
* @throws {RequiredError}
|
|
868
|
+
*/
|
|
869
|
+
getWebhookEndpoint(endpointId: string, options?: RawAxiosRequestConfig): AxiosPromise<GetWebhookEndpoint200Response>;
|
|
687
870
|
/**
|
|
688
871
|
* ERP ์ฐ๋ ์ง์ ํ์ ยท์ธ์ฆ endpoint ๋์ ํ์ธ์ฉ.
|
|
689
872
|
* @summary Partner API ํฌ์ค์ฒดํฌ
|
|
@@ -700,7 +883,7 @@ export declare const PartnerApiApiFactory: (configuration?: Configuration, baseP
|
|
|
700
883
|
*/
|
|
701
884
|
listBidResults(bidRefs: string, options?: RawAxiosRequestConfig): AxiosPromise<ListBidResults200Response>;
|
|
702
885
|
/**
|
|
703
|
-
* ๋ฐ์ฃผ์ฒ(API ํค ๋ฐ์ธ๋ฉ)์ ๊ณต๊ณ ๋ฅผ ๊ฒ์์ผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ์ค์ฝํ `bids:read`. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์ฟผ๋ฆฌ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ด์ง๋ค์ด์
(cursor):** `limit`(1~100, ๊ธฐ๋ณธ 100) + `cursor`(๋ถํฌ๋ช
ํ ํฐ).
|
|
886
|
+
* ๋ฐ์ฃผ์ฒ(API ํค ๋ฐ์ธ๋ฉ)์ ๊ณต๊ณ ๋ฅผ ๊ฒ์์ผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ์ค์ฝํ `bids:read`. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์ฟผ๋ฆฌ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ด์ง๋ค์ด์
(cursor):** `limit`(1~100, ๊ธฐ๋ณธ 100) + `cursor`(๋ถํฌ๋ช
ํ ํฐ). ์๋ต `meta.nextCursor` ๋ฅผ ๋ค์ ์์ฒญ `cursor` ๋ก ์ ๋ฌํ๋ฉด ๋ค์ ํ์ด์ง๋ฅผ ๋ฐ์ต๋๋ค. `meta.hasMore` ๊ฐ `false`(= `nextCursor` ๊ฐ `null`)์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง์
๋๋ค. ๋ชฉ๋ก ์์ฒด๋ `data` ์ ๋ฐฐ์ด๋ก ์ค๋ฆฝ๋๋ค. **์ํยท๋์ฐฐ๋ฐฉ๋ฒ:** ๊ณต๊ฐ๊ฐ(์๋ฏธ ๋ฌธ์์ด)์ผ๋ก ๋ฐํ๋ฉ๋๋ค. ๋์ฐฐ ์ฌ๋ถ๋ ์ํ๊ฐ ์๋๋ผ ๋์ฐฐ ๊ฒฐ๊ณผ ์กฐํ์ `participants[].isWinner` ๋ก ๊ด์ธกํฉ๋๋ค(AWARDED ์ํ๋ ์์ต๋๋ค).
|
|
704
887
|
* @summary ๊ณต๊ณ ๋ชฉ๋ก ์กฐํ
|
|
705
888
|
* @param {number} [limit] ํ์ด์ง ํฌ๊ธฐ(1~100, ๊ธฐ๋ณธ 100).
|
|
706
889
|
* @param {string} [cursor] ๋ค์ ํ์ด์ง ์ปค์(๋ถํฌ๋ช
ํ ํฐ). ์ง์ ์๋ต์ `nextCursor` ๋ฅผ ๊ทธ๋๋ก ์ ๋ฌํ๋ค. ๋ฏธ์ง์ ์ ์ฒซ ํ์ด์ง. `nextCursor=null` ์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง๋ค.
|
|
@@ -720,6 +903,24 @@ export declare const PartnerApiApiFactory: (configuration?: Configuration, baseP
|
|
|
720
903
|
* @throws {RequiredError}
|
|
721
904
|
*/
|
|
722
905
|
listExternalContractDocuments(buyerId: string, bidType: ListExternalContractDocumentsBidTypeEnum, options?: RawAxiosRequestConfig): AxiosPromise<ExternalContractDocumentsResponseDto>;
|
|
906
|
+
/**
|
|
907
|
+
* ์ด API ํค์ ์นํ
๋ฐ์ก ์๋๋ฅผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ๋ณด๋ธ ๋ณธ๋ฌธยท์์ ์ธก ์๋ต ์ํยท ๋ค์ ์ฌ์๋ ์์ ์๊ฐ์ด ํจ๊ป ์ค๋ฆฝ๋๋ค. **ํธ์ถ ์์ :** - ์์ ์ธก ์ฅ์ ๋ก ๋์น ์ด๋ฒคํธ๋ฅผ ๋ฉ์ธ ๋. ์ด ์๋ํฌ์ธํธ๊ฐ ์นํ
์ **ํด๋ง ๋์ฒด ๊ฒฝ๋ก**์
๋๋ค โ `status=EXHAUSTED` ๋ก ๊ฑธ๋ฌ ๋ค์ ์ฒ๋ฆฌํ๋ฉด ๋ฉ๋๋ค. - \"์ด๋ฒคํธ๊ฐ ์ ์จ๋ค\" ๋ฅผ ์ง๋จํ ๋. ๋ฐ์ก ์๋ ์์ฒด๊ฐ ์๋์ง(๊ตฌ๋
ยท์ด๋ฒคํธ ํ์
๋ฌธ์ ), ์๋ํ์ง๋ง ์คํจํ๋์ง(`responseStatus`ยท`responseBodyExcerpt`)๋ฅผ ์ฌ๊ธฐ์ ๊ฐ๋ฆ
๋๋ค. **๊ฐ์ ์ด๋ฒคํธ๊ฐ ์ฌ๋ฌ ํ์ผ๋ก ๋ณด์
๋๋ค.** ์ฌ์๋๋ง๋ค ํ ํ์ด๋ฉฐ `eventId` ๊ฐ ๊ฐ๊ณ `attempt` ๋ง ์ฌ๋ผ๊ฐ๋๋ค. ์ฒ๋ฆฌ ์ฌ๋ถ๋ `eventId` ๊ธฐ์ค์ผ๋ก ํ๋จํ์ธ์. **ํ์ด์ง๋ค์ด์
:** `nextCursor` ๋ฅผ ๋ค์ ์์ฒญ์ `cursor` ๋ก ์ ๋ฌํฉ๋๋ค. null ์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง์
๋๋ค. **`400`:** `status` ๊ฐ ํ์ฉ ๊ฐ ๋ฐ์ด๊ฑฐ๋ `limit` ์ด ๋ฒ์๋ฅผ ๋ฒ์ด๋ฌ์ต๋๋ค โ ๊ฐ์ ๊ณ ์ณ ์ฌ์๋ํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:read`
|
|
908
|
+
* @summary ์นํ
์ ์ก ์ด๋ ฅ ์กฐํ
|
|
909
|
+
* @param {string} [endpointId] ์ด ๊ตฌ๋
์ ์ ์ก๋ง ์กฐํํฉ๋๋ค. ๋ฏธ์ง์ ์ด๋ฉด ์ด ํค์ ๋ชจ๋ ๊ตฌ๋
์ ํจ๊ป ์กฐํํฉ๋๋ค.
|
|
910
|
+
* @param {PartnerWebhookDeliveryStatus} [status] ์ ์ก ์ํ ํํฐ. ๋ฏธ์ง์ ์ด๋ฉด ์ ๋ถ.
|
|
911
|
+
* @param {number} [limit] ํ์ด์ง ํฌ๊ธฐ(1~200, ๊ธฐ๋ณธ 50).
|
|
912
|
+
* @param {string} [cursor] ๋ค์ ํ์ด์ง ์ปค์(๋ถํฌ๋ช
ํ ํฐ). ์ง์ ์๋ต์ `nextCursor` ๋ฅผ ๊ทธ๋๋ก ์ ๋ฌํฉ๋๋ค. ๋ฏธ์ง์ ์ ์ฒซ ํ์ด์ง.
|
|
913
|
+
* @param {*} [options] Override http request option.
|
|
914
|
+
* @throws {RequiredError}
|
|
915
|
+
*/
|
|
916
|
+
listWebhookDeliveries(endpointId?: string, status?: PartnerWebhookDeliveryStatus, limit?: number, cursor?: string, options?: RawAxiosRequestConfig): AxiosPromise<ListWebhookDeliveries200Response>;
|
|
917
|
+
/**
|
|
918
|
+
* ์ด API ํค๊ฐ ๋ฑ๋กํ ์นํ
๊ตฌ๋
์ ๋ชจ๋ ์กฐํํฉ๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋ ์ํ๋ฅผ ์ ๊ฒํ ๋, ๋๋ ๋ฐ์ก์ด ๋ฉ์ถ ์ด์ (`status`ยท`consecutiveFailures`)๋ฅผ ํ์ธํ ๋. ์๋ช
์ํฌ๋ฆฟ์ ์ฌ๊ธฐ์ ์ค๋ฆฌ์ง ์์ต๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:read` ### ์๋ช
๊ฒ์ฆ (ํ์) ์๋ช
์ **[Standard Webhooks](https://www.standardwebhooks.com)** ๊ท์ฝ์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ์ง์ ๊ตฌํํ์ง ๋ง๊ณ ๊ฐ ์ธ์ด์ `standardwebhooks` ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฑ๋ก ์ ๋ฐ์ ์ํฌ๋ฆฟ (`whsec_โฆ`)์ ๊ทธ๋๋ก ๋๊ธฐ์ธ์ โ ๊ทธ๊ฒ์ด ์ด ํ์์ ์ฐ๋ ์ด์ ์
๋๋ค. ```java // Java Webhook webhook = new Webhook(secret); // secret = \"whsec_โฆ\" webhook.verify(rawBody, headers); // ์คํจํ๋ฉด ์์ธ ``` ```ts // Node / TypeScript import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); ``` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ ์ ์๋ค๋ฉด ๋ฐ์ก ์์ฒญ์ ์ค๋ฆฌ๋ ํค๋๋ ์
์
๋๋ค. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. ์ํฌ๋ฆฟ์์ `whsec_` ์ ๋์ด๋ฅผ ๋ผ๊ณ **base64 ๋์ฝ๋**ํฉ๋๋ค โ ๊ทธ ๋ฐ์ดํธ๊ฐ HMAC ํค์
๋๋ค (์ํฌ๋ฆฟ ๋ฌธ์์ด ์์ฒด๊ฐ ์๋๋๋ค). 2. `\"${webhook-id}.${webhook-timestamp}.${๋ณธ๋ฌธ ์๋ฌธ}\"` ์ ๋ง๋ญ๋๋ค. **๋ณธ๋ฌธ์ ํ์ฑ ์ ์๋ฌธ ๋ฐ์ดํธ**์ฌ์ผ ํฉ๋๋ค โ JSON ์ ๋ค์ ์ง๋ ฌํํ๋ฉด ๊ณต๋ฐฑยทํค ์์๊ฐ ๋ฌ๋ผ์ ธ ์๋ช
์ด ๋ง์ง ์์ต๋๋ค. 3. HMAC-SHA256 ์ ๊ณ์ฐํด **base64** ๋ก ์ธ์ฝ๋ฉํ๊ณ , `webhook-signature` ์ `v1,` ๋ค ๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ๋น๊ต๋ **์์ ์๊ฐ** ํจ์๋ฅผ ์ฐ์ธ์(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `webhook-timestamp` ๊ฐ ํ์ฌ ์๊ฐ์์ **5๋ถ** ์ด์ ์ง๋ฌ์ผ๋ฉด ๊ฑฐ์ ํ์ธ์(์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ด). `webhook-signature` ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ **์ฌ๋ฌ ์๋ช
**์ ์ค์ ์ ์๋ ํ์์
๋๋ค(ํค ํ์ ์ฉ). ์ง๊ธ์ ํญ์ ํ๋์ง๋ง, ๊ฒ์ฆ๊ธฐ๋ ๋ชฉ๋ก์ผ๋ก ์ฝ๊ณ **ํ๋๋ผ๋ ๋ง์ผ๋ฉด ํต๊ณผ**ํ๋๋ก ์ง์ธ์. ### ์ค๋ณต ์ ๊ฑฐ `webhook-id` ํค๋๊ฐ ์ด๋ฒคํธ ์๋ณ์์
๋๋ค. **์ฌ์๋์๋ ๊ฐ์ ๊ฐ์ด ์ต๋๋ค** โ ์ด๋ฏธ ์ฒ๋ฆฌํ ๊ฐ์ด๋ฉด ๋ฌด์ํ์ธ์. ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๋ ๋ฒ ๋ฐ๋ ๊ฒ์ ์ ์ ๋์์ด๋ฉฐ, ์ค๋ณต ์ ๊ฑฐ๋ ์์ ์ธก ์ฑ
์์
๋๋ค. ํธ์๋ฅผ ์ํด `webhook-event-type` ํค๋์ ์ด๋ฒคํธ ํ์
(๋ณธ๋ฌธ `type` ๊ณผ ๊ฐ์ ๊ฐ)๋ ์ค๋ฆฝ๋๋ค โ ๋ณธ๋ฌธ์ ํ์ฑํ๊ธฐ ์ ์ ๊ด์ฌ ์๋ ํ์
์ ๋ฒ๋ฆด ์ ์์ต๋๋ค. ํ์ค์๋ ์๋ ํ์ฅ์ด๋ผ ๊ฒ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด ํค๋๋ฅผ ๋ฌด์ํฉ๋๋ค. ### ์๋ต๊ณผ ์ฌ์๋ 2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์ฑ๊ณต์
๋๋ค. ๊ทธ ์ธ(๋๋ ๋ฌด์๋ต)๋ ์คํจ๋ก ๋ณด๊ณ ์ต๋ 7ํ ์ฌ์๋ํฉ๋๋ค โ ๊ฐ๊ฒฉ์ 10์ด โ 1๋ถ โ 5๋ถ โ 30๋ถ โ 2์๊ฐ โ 6์๊ฐ โ 24์๊ฐ ์
๋๋ค. ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ๋ฉด ๋จผ์ 2xx ๋ฅผ ๋๋ ค์ฃผ๊ณ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ์ธ์. ์ฐ์ ์คํจ๊ฐ 20ํ์ ๋ฟ์ผ๋ฉด ๊ตฌ๋
์ด ์๋์ผ๋ก `DISABLED` ๋ก ๋ด๋ ค๊ฐ๊ณ ๋ฐ์ก์ด ๋ฉ์ถฅ๋๋ค. ์์ ์ธก์ ๊ณ ์น ๋ค `PATCH /v2/webhook-endpoints/{endpointId}` ์ `{\"status\":\"ACTIVE\"}` ๋ก ๋์ด๋ฆฌ์ธ์. ### ๊ตฌ๋
๊ฐ๋ฅํ ์ด๋ฒคํธ `bid.closed` ยท `bid.awarded` ยท `bid.failed` ยท `bid.canceled` ยท `bid.award_reverted` `ping` ์ ์ฐ๊ฒฐ ํ์ธ ์ ์ฉ์ด๋ผ ๊ตฌ๋
ํ ์ ์์ต๋๋ค โ ํ
์คํธ ๋ฐ์ก ๊ฒฝ๋ก์์๋ง ๋๊ฐ๋๋ค. ### ๋์น ์ด๋ฒคํธ ํ์ธ `GET /v2/webhook-deliveries` ๊ฐ ๋ฐ์ก ์๋ ์ด๋ ฅ(๋ณธ๋ฌธยท์๋ต ์ํยท๋ค์ ์ฌ์๋ ์๊ฐ)์ ๋๋ ค์ค๋๋ค. ์์ ์ธก ์ฅ์ ๊ตฌ๊ฐ์ ๋ฉ์ธ ๋ ์ด ์๋ํฌ์ธํธ๋ฅผ ํด๋ง ๋์ฒด ๊ฒฝ๋ก๋ก ์ฐ์ธ์.
|
|
919
|
+
* @summary ์นํ
๊ตฌ๋
๋ชฉ๋ก ์กฐํ
|
|
920
|
+
* @param {*} [options] Override http request option.
|
|
921
|
+
* @throws {RequiredError}
|
|
922
|
+
*/
|
|
923
|
+
listWebhookEndpoints(options?: RawAxiosRequestConfig): AxiosPromise<ListWebhookEndpoints200Response>;
|
|
723
924
|
/**
|
|
724
925
|
* ๊ณต๊ณ ๋ฅผ ์ ์ฐฐ ์ํ๋ก ์ ํํฉ๋๋ค. **ํธ์ถ ์์ :** ์
์ฐฐ ๋ง๊ฐ ํ ์ ์ฐฐ ์ฌ์ ๊ฐ ํ์ ๋์์ ๋. ๊ณต๊ณ ๊ฐ ์
์ฐฐ์๋ฃ(๋ง๊ฐ) ์ํ์์ ํธ์ถํฉ๋๋ค. **๋ถ์ํจ๊ณผ:** - ๊ณต๊ณ ์ํ๊ฐ ์ ์ฐฐ(FAILED)๋ก ์ ํ๋ฉ๋๋ค. - ์ ์ฐฐ์ฌ์ ์ฝ๋์ ์์ธ๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. **์ ์ฐฐ์ฌ์ ๊ฐ ๋ชฉ๋ก(failureReasonCode โ ๊ณต๊ฐ๊ฐ):** | ๊ฐ | ์๋ฏธ | |------|------| | `ABOVE_TARGET_PRICE` | ์์ ๊ฐ๊ฒฉ ์ด๊ณผ | | `DEPT_MISMATCH` | ์๊ฒฉ ๋ฏธ๋ฌ | | `NEEDS_EXPERTISE` | ์ ๋ฌธ์ฑ ํ์ | | `OTHER` | ๊ธฐํ (`failureReasonDetail` ํ์) | | `NO_PARTICIPANT` | ์ฐธ๊ฐ์ ์์ | | `SINGLE_PARTICIPANT` | ๋จ๋
์ฐธ๊ฐ | | `LESS_THAN_TWO` | 2์ธ ๋ฏธ๋ง | | `BELOW_MINIMUM` | ์ต์ ๊ฐ ๋ฏธ๋ฌ | **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์์ฒญ body ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ ์ค์ฝํ:** `awards:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
725
926
|
* @summary ์ ์ฐฐ ์ฒ๋ฆฌ
|
|
@@ -778,6 +979,24 @@ export declare const PartnerApiApiFactory: (configuration?: Configuration, baseP
|
|
|
778
979
|
* @throws {RequiredError}
|
|
779
980
|
*/
|
|
780
981
|
revertAward(bidRef: string, idempotencyKey: string, revertAwardRequestDto: RevertAwardRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<RevertAward200Response>;
|
|
982
|
+
/**
|
|
983
|
+
* ์๋ช
์ํฌ๋ฆฟ์ ์๋ก ๋ฐ๊ธํฉ๋๋ค. ์๋ต์ `secretVersion` ์ด 1 ์ฌ๋ผ๊ฐ๋๋ค. **ํธ์ถ ์์ :** ์ํฌ๋ฆฟ์ ๋ถ์คํ๊ฑฐ๋ ์ ์ถ์ด ์์ฌ๋ ๋, ๋๋ ์ฃผ๊ธฐ์ ๊ต์ฒด ์ ์ฑ
์ด ์์ ๋. **์ ์ํฌ๋ฆฟ์ ์ด ์๋ต์์ ํ ๋ฒ๋ง ๋๊ฐ๋๋ค.** ์กฐํ๋ก ๋ค์ ๋ฐ์ ์ ์์ต๋๋ค. **์ ์ํฌ๋ฆฟ์ ์ฆ์ ๋ฌดํจ์
๋๋ค.** ์ ์ ๊ธฐ๊ฐ์ด ์์ผ๋ฏ๋ก, ์์ ์ธก์ด ์ ๊ฐ์ ๋ฐ์ํ๊ธฐ ์ ์ ๋์ฐฉํ ์ด๋ฒคํธ๋ ์๋ช
๊ฒ์ฆ์ ์คํจํฉ๋๋ค. ๋ฐฐํฌ ์์๋ฅผ ์ด๋ ๊ฒ ์ก์ผ์ธ์ โ โ ์์ ์ธก์ด ์ ๊ฐ๊ณผ ์ ๊ฐ์ **๋ ๋ค** ๋ฐ์๋ค์ด๋๋ก ๋ฐฐํฌ โ โก ์ด ์๋ํฌ์ธํธ ํธ์ถ โ โข ์๋ต์ ์ ๊ฐ์ ๋ฐ์ โ โฃ ์ ๊ฐ ์ ๊ฑฐ. ๊ฒ์ฆ ์คํจ๋ก non-2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์คํจ๋ก ์ง๊ณ๋์ด 20ํ ์ฐ์ ์ ๊ตฌ๋
์ด ์ค์ง๋ฉ๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๊ฐ์ ํค๋ก ์ฌ์ ์กํ๋ฉด **์๋ก ๋ฐ๊ธํ์ง ์๊ณ ** ์ฒ์ ๋ฐ๊ธํ ๊ฐ์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค(24์๊ฐ) โ ๋คํธ์ํฌ ์ค๋ฅ๋ก ์๋ต์ ๋์ณค์ ๋ ๊ฐ์ ํค๋ก ๋ค์ ๋ถ๋ฅด์ธ์.
|
|
984
|
+
* @summary ์นํ
์๋ช
์ํฌ๋ฆฟ ์ฌ๋ฐ๊ธ
|
|
985
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
986
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
987
|
+
* @param {*} [options] Override http request option.
|
|
988
|
+
* @throws {RequiredError}
|
|
989
|
+
*/
|
|
990
|
+
rotateWebhookSecret(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): AxiosPromise<CreateWebhookEndpoint201Response>;
|
|
991
|
+
/**
|
|
992
|
+
* ๋ฑ๋ก๋ ์ฃผ์๋ก `ping` ์ด๋ฒคํธ๋ฅผ ์ฆ์ 1ํ ๋ณด๋ด๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ค๋๋ค. **ํธ์ถ ์์ :** ๊ตฌ๋
์ ๋ฑ๋กํ ์งํ, ์์ ์ฃผ์๋ฅผ ๋ฐ๊พผ ์งํ, ๋ฐฉํ๋ฒฝยท์ธ์ฆ์๋ฅผ ์๋ณธ ๋ค. **์๋ต์ ๋ฐ์ก ๊ฒฐ๊ณผ์ด์ง ์์ฒญ ์คํจ๊ฐ ์๋๋๋ค.** ์์ ์ธก์ด ๋ฐ์ง ๋ชปํด๋ HTTP `200` ์ `delivered: false` ๋ก ์ต๋๋ค โ `responseStatus`(์์ ์ธก ์ํ)์ `error`(์ฐ๊ฒฐ ๊ฑฐ๋ถยทํ์์์ยท TLS ์ค๋ฅ)๋ฅผ ๋ณด๊ณ ์์ธ์ ์ขํ์ธ์. ์ด ๋ฐ์ก์๋ ์ค์ ์ด๋ฒคํธ์ **๋๊ฐ์ ์๋ช
ํค๋**๊ฐ ์ค๋ฆฌ๋ฏ๋ก ๊ฒ์ฆ ์ฝ๋๋ฅผ ๊ทธ๋๋ก ์ํํ ์ ์์ต๋๋ค. `ping` ์ ๊ตฌ๋
๋ชฉ๋ก์ ๋ฃ์ ์ ์๋ ํ์
์ด๋, ์์ ์ธก์ด ๋ชจ๋ฅด๋ `eventType` ์ ๋ง๋๋ฉด ๋ฒ๋ฆฌ๋๋ก ์ง์ฌ ์๋ค๋ฉด ์ด ํ์ธ๋ง ์คํจํ ์ ์์ต๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๋ค์ ๋ณด๋ด๋ ค๋ฉด **์ ํค**๋ฅผ ์ฐ์ธ์ โ ๊ฐ์ ํค๋ 24์๊ฐ ๋์ ์ง์ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค(์ฌ๋ฐ์กํ์ง ์์ต๋๋ค).
|
|
993
|
+
* @summary ์นํ
์ฐ๊ฒฐ ํ์ธ ๋ฐ์ก
|
|
994
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
995
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
996
|
+
* @param {*} [options] Override http request option.
|
|
997
|
+
* @throws {RequiredError}
|
|
998
|
+
*/
|
|
999
|
+
sendWebhookTestEvent(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): AxiosPromise<SendWebhookTestEvent200Response>;
|
|
781
1000
|
/**
|
|
782
1001
|
* ํ์๋ฐฉ์(NEGOTIATION/NEGOTIATION_AUTO) ๊ณต๊ณ ์ ์์ฐฐ์๋ณ ์ ์๋ฅผ ์
๋ ฅํฉ๋๋ค. **ํธ์ถ ์์ :** ์
์ฐฐ ๋ง๊ฐ ํ ๋์ฐฐ(`POST /v2/bids/{bidRef}/award`) ์ . ํ์๋ฐฉ์ ๊ณต๊ณ ๋ ์ด ํ๊ฐ๋ฅผ ์๋ฃํด์ผ ๋์ฐฐ์ ์ง์
ํ ์ ์์ต๋๋ค. **๋ถ์ํจ๊ณผ:** - ์์ฐฐ์๋ณ ๊ธฐ์ ์ ์(๋ฐ ์ ํ์ ๊ฐ๊ฒฉ์ ์ override)๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. - `complete=true` ๋ฉด ํ๊ฐ์๋ฃ ๊ฒ์ดํธ๊น์ง ์ ์ฉ๋ผ ๋์ฐฐ ์ง์
์ด ๊ฐ๋ฅํด์ง๋๋ค. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์์ฒญ body ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ ์ค์ฝํ:** `awards:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๋์ผ ํค + ๋์ผ body ์ฌ์ ์ก ์ 24์๊ฐ ๋ด ์บ์ ์๋ต ๋ฐํ.
|
|
783
1002
|
* @summary ํ์ ์ ์ํ๊ฐ
|
|
@@ -799,6 +1018,17 @@ export declare const PartnerApiApiFactory: (configuration?: Configuration, baseP
|
|
|
799
1018
|
* @throws {RequiredError}
|
|
800
1019
|
*/
|
|
801
1020
|
updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<UpdateBid200Response>;
|
|
1021
|
+
/**
|
|
1022
|
+
* ์์ ์ฃผ์ยท๊ตฌ๋
์ด๋ฒคํธยท์ํ๋ฅผ ์์ ํฉ๋๋ค. ๋ณด๋ธ ํ๋๋ง ๋ฐ๋๋๋ค. **ํธ์ถ ์์ :** ์์ ์ฃผ์๊ฐ ๋ฐ๋์์ ๋, ๊ตฌ๋
์ด๋ฒคํธ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ๋, ์ฐ์ ์คํจ๋ก ์๋ ์ค์ง๋ ๊ตฌ๋
์ ๊ณ ์น ๋ค ๋์ด๋ฆด ๋(`{\"status\":\"ACTIVE\"}`). **`eventTypes` ๋ ์นํ์
๋๋ค** โ ๋ณด๋ธ ๋ชฉ๋ก์ด ๊ณง ์ ๊ตฌ๋
๋ชฉ๋ก์
๋๋ค. ํ๋๋ฅผ ๋ํ๋ ค๋ฉด ๊ธฐ์กด ๋ชฉ๋ก์ ๋ํ **์ ์ฒด**๋ฅผ ๋ณด๋ด์ธ์. **`If-Match` ๊ฐ ํ์์
๋๋ค.** ๋จผ์ `GET /v2/webhook-endpoints/{endpointId}` ๋ก ํ์ฌ `ETag` ๋ฅผ ๋ฐ์ ๊ทธ๋๋ก ์ค์ด ๋ณด๋ด์ธ์. ์ด ํค๋๊ฐ ์์ผ๋ฉด ๋ ์์ฒญ์ด ์์๊ฑฐ๋ ๋ค์๊ฑฐ๋ ํ๋ฉฐ ๋จผ์ ํ ์์ ์ ์กฐ์ฉํ ๋ฎ์ด์๋๋ค. - `428` โ ํค๋๋ฅผ ๋นผ๋จน์์ต๋๋ค. ์กฐํ ํ `ETag` ๋ฅผ ์ค์ด ์ฌ์๋ํ์ธ์. - `412` โ ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ต๋๋ค. ๋ค์ ์กฐํํด ์ต์ `ETag` ๋ก ์ฌ์๋ํ์ธ์. ์๋ฌด๊ฒ๋ ์์ ๋์ง ์์์ต๋๋ค. **์ํฌ๋ฆฟ์ ์ด ๊ฒฝ๋ก๋ก ๋ฐ๋์ง ์์ต๋๋ค** โ ์ฌ๋ฐ๊ธ์ `rotate-secret` ์
๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
1023
|
+
* @summary ์นํ
๊ตฌ๋
์์
|
|
1024
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
1025
|
+
* @param {string} ifMatch ์ง์ ์กฐํ ์๋ต์ `ETag` ๊ฐ. ๋๋ฝํ๋ฉด 428, ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ผ๋ฉด 412 ๋ก ๊ฑฐ์ ๋๋ฉฐ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
|
|
1026
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
1027
|
+
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
1028
|
+
* @param {*} [options] Override http request option.
|
|
1029
|
+
* @throws {RequiredError}
|
|
1030
|
+
*/
|
|
1031
|
+
updateWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<GetWebhookEndpoint200Response>;
|
|
802
1032
|
/**
|
|
803
1033
|
* **์ฒจ๋ถ ์
๋ก๋์ ๊ธฐ๋ณธ ๊ฒฝ๋ก์
๋๋ค. 23MB ์ดํ๋ฉด ์ด ํธ์ถ ํ๋๋ก ๋๋ฉ๋๋ค.** ํ์ผ ๋ณธ๋ฌธ์ `base64` ๋๋ `url` ์ค ์ ํํ ํ๋๋ก ์ ์ถํ๋ฉด `fileKey` ๋ฅผ ๋๋ ค์ค๋๋ค. ์ด ๊ฐ์ ๊ณต๊ณ ๋ฑ๋กยท์์ ์ ์ฒจ๋ถ ํ๋์ ์ค์ผ์ธ์. **23MB ๋ฅผ ๋์ผ๋ฉด ๊ฒฝ๋ก๋ฅผ ๋ฐ๊ฟ์ผ ํฉ๋๋ค.** ์ํ์ด ์
์ผ๋ก ๊ฐ๋ฆฝ๋๋ค. | ์ ์ถ ๋ฐฉ์ | ์ํ | ํธ์ถ ์ | | --- | --- | --- | | ์ด ํธ์ถ + `base64` | **23MB** (๋ณธ๋ฌธ์ด c-market ์ ํต๊ณผํ๋ฉฐ base64 ํฝ์ฐฝ 4/3 ์ด ์นํ) | 1 | | ์ด ํธ์ถ + `url` | **30MB** (c-market ์ด ๋์ ๋ด๋ ค๋ฐ์ ํฝ์ฐฝ์ ์์ง๋ง ์๋ฒ ๊ฒฝ์ ์ฒ์ฅ์ ๊ทธ๋๋ก) | 1 | | `POST /v2/files/upload-url` ๋ก ์์ํ๋ 2๋จ๊ณ | **100MB** (๋ฐ์ดํธ๊ฐ c-market ์ ์ง๋์ง ์์) | 2 + ์คํ ๋ฆฌ์ง PUT | c-market ์ด ๋ด๋ ค๋ฐ์ ์ ์๋ https ์ฃผ์์ ํ์ผ์ ์ฌ๋ ค ๋ ์ ์๋ค๋ฉด `url` ์ด 30MB ๊น์ง๋ฅผ 1์ฝ๋ก ๋ฎ์ต๋๋ค. ๊ทธ ์ด์์ด๊ฑฐ๋ ์ฃผ์๋ฅผ ์ด ์ ์์ผ๋ฉด 2๋จ๊ณ ๊ฒฝ๋ก๋ฅผ ์ฐ์ธ์. **๊ณต๊ณ ๋ฑ๋ก์ ํ์ผ์ ํจ๊ป ์ค์ ์๋ ์์ต๋๋ค.** `POST /v2/bids` ์ `attachments` ์์์ `{ fileName, url }`ยท`{ fileName, base64 }` ๋ฅผ ๊ทธ๋๋ก ๋ฃ์ผ๋ฉด ์ด ํธ์ถ ์์ด ํ ๋ฒ์ ๋๋ฉ๋๋ค. ์ฌ๋ฌ ๊ณต๊ณ ์ ๊ฐ์ ํ์ผ์ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ํฐ ํ์ผ์ ๋ค๋ฃฐ ๋๋ง `fileKey` ๋ฅผ ๋จผ์ ๋ง๋์ธ์. **ํ์ ์ค์ฝํ:** `files:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
804
1034
|
* @summary ๊ณต๊ณ ์ฒจ๋ถํ์ผ ์
๋ก๋ (๊ธฐ๋ณธ)
|
|
@@ -879,6 +1109,25 @@ export declare class PartnerApiApi extends BaseAPI {
|
|
|
879
1109
|
* @throws {RequiredError}
|
|
880
1110
|
*/
|
|
881
1111
|
createFileUploadUrl(idempotencyKey: string, createUploadUrlRequestDto: CreateUploadUrlRequestDto, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateFileUploadUrl201Response, any, {}>>;
|
|
1112
|
+
/**
|
|
1113
|
+
* ์์ ์ฃผ์์ ๊ตฌ๋
ํ ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํฉ๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋ ์ด๊ธฐ 1ํ. ์์ ์ฃผ์๊ฐ ๋ฐ๋๋ฉด ์๋ก ๋ง๋ค์ง ๋ง๊ณ `PATCH` ๋ก ๊ณ ์น์ธ์ โ ๊ทธ๋์ผ ์ํฌ๋ฆฟ๊ณผ ์ ์ก ์ด๋ ฅ์ด ์ ์ง๋ฉ๋๋ค. **์๋ช
์ํฌ๋ฆฟ์ ์ด ์๋ต์์ ํ ๋ฒ๋ง ๋๊ฐ๋๋ค.** ์๋ฒ๋ ํด์๋ง ๋ณด๊ดํ๋ฏ๋ก ์กฐํ๋ก ๋ค์ ๋ฐ์ ์ ์์ต๋๋ค. ์๋ต์ `secret` ์ ์ฆ์ ์์ ํ ๊ณณ์ ๋ณด๊ดํ์ธ์. ์์ด๋ฒ๋ ธ๋ค๋ฉด ๋ณต๊ตฌ๊ฐ ์๋๋ผ `POST /v2/webhook-endpoints/{endpointId}/rotate-secret` ์ผ๋ก **์ฌ๋ฐ๊ธ**ํด์ผ ํฉ๋๋ค. **๊ฑฐ์ ๋๋ ๊ฒฝ์ฐ์ ๊ณ ์น๋ ๋ฒ:** - `400` โ `url` ์ด HTTPS ๊ฐ ์๋๊ฑฐ๋ ํ์์ด ์๋ชป๋จ, `eventTypes` ๊ฐ ๋น์๊ฑฐ๋ ๋ชฉ๋ก ๋ฐ ๊ฐ (`ping` ์ ๊ตฌ๋
๋ถ๊ฐ). ๊ฐ์ ๊ณ ์ณ ์ฌ์๋ํ์ธ์. - `400` โ `Idempotency-Key` ํค๋ ๋๋ฝ/ํ์ ์ค๋ฅ. UUID v4 ๋ฅผ ์ค์ด ๋ณด๋ด์ธ์. - `403` โ ํ ํฐ์ `webhooks:write` ์ค์ฝํ๊ฐ ์์. ํค ๋ฐ๊ธ ์ค์ ์ ๋ํ์ผ ํฉ๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ### ์๋ช
๊ฒ์ฆ (ํ์) ์๋ช
์ **[Standard Webhooks](https://www.standardwebhooks.com)** ๊ท์ฝ์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ์ง์ ๊ตฌํํ์ง ๋ง๊ณ ๊ฐ ์ธ์ด์ `standardwebhooks` ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฑ๋ก ์ ๋ฐ์ ์ํฌ๋ฆฟ (`whsec_โฆ`)์ ๊ทธ๋๋ก ๋๊ธฐ์ธ์ โ ๊ทธ๊ฒ์ด ์ด ํ์์ ์ฐ๋ ์ด์ ์
๋๋ค. ```java // Java Webhook webhook = new Webhook(secret); // secret = \"whsec_โฆ\" webhook.verify(rawBody, headers); // ์คํจํ๋ฉด ์์ธ ``` ```ts // Node / TypeScript import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); ``` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ ์ ์๋ค๋ฉด ๋ฐ์ก ์์ฒญ์ ์ค๋ฆฌ๋ ํค๋๋ ์
์
๋๋ค. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. ์ํฌ๋ฆฟ์์ `whsec_` ์ ๋์ด๋ฅผ ๋ผ๊ณ **base64 ๋์ฝ๋**ํฉ๋๋ค โ ๊ทธ ๋ฐ์ดํธ๊ฐ HMAC ํค์
๋๋ค (์ํฌ๋ฆฟ ๋ฌธ์์ด ์์ฒด๊ฐ ์๋๋๋ค). 2. `\"${webhook-id}.${webhook-timestamp}.${๋ณธ๋ฌธ ์๋ฌธ}\"` ์ ๋ง๋ญ๋๋ค. **๋ณธ๋ฌธ์ ํ์ฑ ์ ์๋ฌธ ๋ฐ์ดํธ**์ฌ์ผ ํฉ๋๋ค โ JSON ์ ๋ค์ ์ง๋ ฌํํ๋ฉด ๊ณต๋ฐฑยทํค ์์๊ฐ ๋ฌ๋ผ์ ธ ์๋ช
์ด ๋ง์ง ์์ต๋๋ค. 3. HMAC-SHA256 ์ ๊ณ์ฐํด **base64** ๋ก ์ธ์ฝ๋ฉํ๊ณ , `webhook-signature` ์ `v1,` ๋ค ๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ๋น๊ต๋ **์์ ์๊ฐ** ํจ์๋ฅผ ์ฐ์ธ์(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `webhook-timestamp` ๊ฐ ํ์ฌ ์๊ฐ์์ **5๋ถ** ์ด์ ์ง๋ฌ์ผ๋ฉด ๊ฑฐ์ ํ์ธ์(์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ด). `webhook-signature` ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ **์ฌ๋ฌ ์๋ช
**์ ์ค์ ์ ์๋ ํ์์
๋๋ค(ํค ํ์ ์ฉ). ์ง๊ธ์ ํญ์ ํ๋์ง๋ง, ๊ฒ์ฆ๊ธฐ๋ ๋ชฉ๋ก์ผ๋ก ์ฝ๊ณ **ํ๋๋ผ๋ ๋ง์ผ๋ฉด ํต๊ณผ**ํ๋๋ก ์ง์ธ์. ### ์ค๋ณต ์ ๊ฑฐ `webhook-id` ํค๋๊ฐ ์ด๋ฒคํธ ์๋ณ์์
๋๋ค. **์ฌ์๋์๋ ๊ฐ์ ๊ฐ์ด ์ต๋๋ค** โ ์ด๋ฏธ ์ฒ๋ฆฌํ ๊ฐ์ด๋ฉด ๋ฌด์ํ์ธ์. ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๋ ๋ฒ ๋ฐ๋ ๊ฒ์ ์ ์ ๋์์ด๋ฉฐ, ์ค๋ณต ์ ๊ฑฐ๋ ์์ ์ธก ์ฑ
์์
๋๋ค. ํธ์๋ฅผ ์ํด `webhook-event-type` ํค๋์ ์ด๋ฒคํธ ํ์
(๋ณธ๋ฌธ `type` ๊ณผ ๊ฐ์ ๊ฐ)๋ ์ค๋ฆฝ๋๋ค โ ๋ณธ๋ฌธ์ ํ์ฑํ๊ธฐ ์ ์ ๊ด์ฌ ์๋ ํ์
์ ๋ฒ๋ฆด ์ ์์ต๋๋ค. ํ์ค์๋ ์๋ ํ์ฅ์ด๋ผ ๊ฒ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด ํค๋๋ฅผ ๋ฌด์ํฉ๋๋ค. ### ์๋ต๊ณผ ์ฌ์๋ 2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์ฑ๊ณต์
๋๋ค. ๊ทธ ์ธ(๋๋ ๋ฌด์๋ต)๋ ์คํจ๋ก ๋ณด๊ณ ์ต๋ 7ํ ์ฌ์๋ํฉ๋๋ค โ ๊ฐ๊ฒฉ์ 10์ด โ 1๋ถ โ 5๋ถ โ 30๋ถ โ 2์๊ฐ โ 6์๊ฐ โ 24์๊ฐ ์
๋๋ค. ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ๋ฉด ๋จผ์ 2xx ๋ฅผ ๋๋ ค์ฃผ๊ณ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ์ธ์. ์ฐ์ ์คํจ๊ฐ 20ํ์ ๋ฟ์ผ๋ฉด ๊ตฌ๋
์ด ์๋์ผ๋ก `DISABLED` ๋ก ๋ด๋ ค๊ฐ๊ณ ๋ฐ์ก์ด ๋ฉ์ถฅ๋๋ค. ์์ ์ธก์ ๊ณ ์น ๋ค `PATCH /v2/webhook-endpoints/{endpointId}` ์ `{\"status\":\"ACTIVE\"}` ๋ก ๋์ด๋ฆฌ์ธ์. ### ๊ตฌ๋
๊ฐ๋ฅํ ์ด๋ฒคํธ `bid.closed` ยท `bid.awarded` ยท `bid.failed` ยท `bid.canceled` ยท `bid.award_reverted` `ping` ์ ์ฐ๊ฒฐ ํ์ธ ์ ์ฉ์ด๋ผ ๊ตฌ๋
ํ ์ ์์ต๋๋ค โ ํ
์คํธ ๋ฐ์ก ๊ฒฝ๋ก์์๋ง ๋๊ฐ๋๋ค. ### ๋์น ์ด๋ฒคํธ ํ์ธ `GET /v2/webhook-deliveries` ๊ฐ ๋ฐ์ก ์๋ ์ด๋ ฅ(๋ณธ๋ฌธยท์๋ต ์ํยท๋ค์ ์ฌ์๋ ์๊ฐ)์ ๋๋ ค์ค๋๋ค. ์์ ์ธก ์ฅ์ ๊ตฌ๊ฐ์ ๋ฉ์ธ ๋ ์ด ์๋ํฌ์ธํธ๋ฅผ ํด๋ง ๋์ฒด ๊ฒฝ๋ก๋ก ์ฐ์ธ์.
|
|
1114
|
+
* @summary ์นํ
๊ตฌ๋
๋ฑ๋ก
|
|
1115
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
1116
|
+
* @param {CreateWebhookEndpointRequestDto} createWebhookEndpointRequestDto
|
|
1117
|
+
* @param {*} [options] Override http request option.
|
|
1118
|
+
* @throws {RequiredError}
|
|
1119
|
+
*/
|
|
1120
|
+
createWebhookEndpoint(idempotencyKey: string, createWebhookEndpointRequestDto: CreateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateWebhookEndpoint201Response, any, {}>>;
|
|
1121
|
+
/**
|
|
1122
|
+
* ๊ตฌ๋
์ ์ญ์ ํฉ๋๋ค. ์ดํ ๊ทธ ์ฃผ์๋ก๋ ์๋ฌด ์ด๋ฒคํธ๋ ๋ฐ์ก๋์ง ์์ต๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋์ ์ข
๋ฃํ ๋. ์ ์๋ง ๋ฉ์ถ๋ ค๋ฉด ์ญ์ ํ์ง ๋ง๊ณ `PATCH โฆ {\"status\":\"DISABLED\"}` ๋ฅผ ์ฐ์ธ์ โ ์ํฌ๋ฆฟ๊ณผ ์ด๋ฒคํธ ๊ตฌ์ฑ์ด ๋จ์ ๊ทธ๋๋ก ๋์ด๋ฆด ์ ์์ต๋๋ค. **๋๋๋ฆด ์ ์์ต๋๋ค.** ๋ค์ ๋ฑ๋กํ๋ฉด ์ ๊ตฌ๋
์ด๊ณ ์๋ช
์ํฌ๋ฆฟ๋ ์ ๊ฐ์
๋๋ค. **`If-Match` ๊ฐ ํ์์
๋๋ค.** `GET` ์ผ๋ก ๋ฐ์ `ETag` ๋ฅผ ์ค์ด ๋ณด๋ด์ธ์. - `428` โ ํค๋ ๋๋ฝ. ์กฐํ ํ ์ฌ์๋ํ์ธ์. - `412` โ ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ต๋๋ค(๋๊ตฐ๊ฐ ์์ ํ๊ฑฐ๋ ๋ฐ์ก๊ธฐ๊ฐ ์ํ๋ฅผ ๋ด๋ ธ์ต๋๋ค). ๋ค์ ์กฐํํด ์ ๋ง ์ง์ธ ๋์์ด ๋ง๋์ง ํ์ธํ๊ณ ์ต์ `ETag` ๋ก ์ฌ์๋ํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
1123
|
+
* @summary ์นํ
๊ตฌ๋
์ญ์
|
|
1124
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
1125
|
+
* @param {string} ifMatch ์ง์ ์กฐํ ์๋ต์ `ETag` ๊ฐ. ๋๋ฝํ๋ฉด 428, ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ผ๋ฉด 412 ๋ก ๊ฑฐ์ ๋๋ฉฐ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
|
|
1126
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
1127
|
+
* @param {*} [options] Override http request option.
|
|
1128
|
+
* @throws {RequiredError}
|
|
1129
|
+
*/
|
|
1130
|
+
deleteWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
882
1131
|
/**
|
|
883
1132
|
* ๋ฌด์ธ์ฆ โ `fileKey` ์์ฒด๊ฐ capability ๋ค(ํค๋ฅผ ์๋ ์ชฝ์ด ๊ณง ์ ๊ทผ ๊ถํ์ ๊ฐ์ง๋ค). ํํธ๋ ์๋ต์ `fileUrl`/`fullUrl` ์ด ์ด URL ์ ๊ฐ๋ฆฌํจ๋ค. ์์ฒญ ์์ ์ ์๋ช
ํ๋ฏ๋ก URL ์ ์ ์ฅํด ๋์ด๋ ๋ง๋ฃ๋์ง ์๋๋ค. ์๋ต์ ์ค์ ์ ์ฅ์ URL ๋ก์ 302 ๋ฆฌ๋ค์ด๋ ํธ์ด๋ฉฐ ๋ฆฌ๋ค์ด๋ ํธ ํ๊น์ 1์๊ฐ ๋ค ๋ง๋ฃ๋๋ฏ๋ก 302 ์์ฒด๋ฅผ ์บ์ํ์ง ๋ง ๊ฒ(`Cache-Control: no-store`). --- **์๋ต ํํ๊ฐ ๋๊ฒฐ๋ ํ๋ฉด์
๋๋ค.** ์ด๋ฏธ ์ฐ๋ ์ค์ธ ์์คํ
์ด ์์ด ์๋ต ํ๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ด๋ฆ์ ๋ฐ๊พธ์ง ์์ต๋๋ค. ๋ค๋ฅธ `/v2` ์๋ํฌ์ธํธ์ ๋ฌ๋ฆฌ `{data,meta}` ๋ดํฌ๋ฅผ ์์ฐ์ง ์์ผ๋ฏ๋ก ์๋ต ๋ณธ๋ฌธ์ด ๊ณง ์ ์คํค๋ง์
๋๋ค. ์ง๊ธ ์ฐ๋ํ์
๋ ๊ณ์ ๋์ํฉ๋๋ค โ ๋ค๋ง ์ด ๊ฒฝ๋ก์ ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ง๋ ์์ต๋๋ค. **๋์ฒด ๊ณํ:** ์ด๋ฏธ ์์ต๋๋ค โ `GET /v2/files/{fileKey}` ๊ฐ ํ์ผ ๋ฉํ์ `downloadUrl` ์ v2 ์๋ต ๊ท์ฝ์ผ๋ก ๋๋ ค์ค๋๋ค. ์ด ์์ URL ์ ํํธ๋ ์๋ต์ `fileUrl`/`fullUrl` ์ด ๊ฐ๋ฆฌํค๋ ์ฃผ์๋ผ ๊ณ์ ์ ์ง๋๋ฉฐ ์ค๋จ ์ผ์ ์ ์์ต๋๋ค.
|
|
884
1133
|
* @summary ํ์ผ ๋ค์ด๋ก๋
|
|
@@ -936,6 +1185,14 @@ export declare class PartnerApiApi extends BaseAPI {
|
|
|
936
1185
|
* @throws {RequiredError}
|
|
937
1186
|
*/
|
|
938
1187
|
getSupplierCardPayableV2(memberId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetSupplierCardPayableV2200Response, any, {}>>;
|
|
1188
|
+
/**
|
|
1189
|
+
* ๊ตฌ๋
1๊ฑด์ ํ์ฌ ์ํ๋ฅผ ์กฐํํฉ๋๋ค. ์๋ช
์ํฌ๋ฆฟ์ ์ค๋ฆฌ์ง ์์ต๋๋ค. **์์ ยท์ญ์ ์ ์ ๋จผ์ ํธ์ถํ์ธ์.** ์๋ต ํค๋ `ETag` ๋ฅผ `If-Match` ์ ๊ทธ๋๋ก ์ค์ด์ผ `PATCH`/`DELETE` ๊ฐ ํต๊ณผํฉ๋๋ค. **`404`:** ์๋ ๊ตฌ๋
์ด๊ฑฐ๋ ๋ค๋ฅธ ํํธ๋ ํค์ ๊ตฌ๋
์
๋๋ค โ `endpointId` ๋ฅผ ํ์ธํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:read`
|
|
1190
|
+
* @summary ์นํ
๊ตฌ๋
๋จ๊ฑด ์กฐํ
|
|
1191
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
1192
|
+
* @param {*} [options] Override http request option.
|
|
1193
|
+
* @throws {RequiredError}
|
|
1194
|
+
*/
|
|
1195
|
+
getWebhookEndpoint(endpointId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetWebhookEndpoint200Response, any, {}>>;
|
|
939
1196
|
/**
|
|
940
1197
|
* ERP ์ฐ๋ ์ง์ ํ์ ยท์ธ์ฆ endpoint ๋์ ํ์ธ์ฉ.
|
|
941
1198
|
* @summary Partner API ํฌ์ค์ฒดํฌ
|
|
@@ -952,7 +1209,7 @@ export declare class PartnerApiApi extends BaseAPI {
|
|
|
952
1209
|
*/
|
|
953
1210
|
listBidResults(bidRefs: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ListBidResults200Response, any, {}>>;
|
|
954
1211
|
/**
|
|
955
|
-
* ๋ฐ์ฃผ์ฒ(API ํค ๋ฐ์ธ๋ฉ)์ ๊ณต๊ณ ๋ฅผ ๊ฒ์์ผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ์ค์ฝํ `bids:read`. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์ฟผ๋ฆฌ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ด์ง๋ค์ด์
(cursor):** `limit`(1~100, ๊ธฐ๋ณธ 100) + `cursor`(๋ถํฌ๋ช
ํ ํฐ).
|
|
1212
|
+
* ๋ฐ์ฃผ์ฒ(API ํค ๋ฐ์ธ๋ฉ)์ ๊ณต๊ณ ๋ฅผ ๊ฒ์์ผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ์ค์ฝํ `bids:read`. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์ฟผ๋ฆฌ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ด์ง๋ค์ด์
(cursor):** `limit`(1~100, ๊ธฐ๋ณธ 100) + `cursor`(๋ถํฌ๋ช
ํ ํฐ). ์๋ต `meta.nextCursor` ๋ฅผ ๋ค์ ์์ฒญ `cursor` ๋ก ์ ๋ฌํ๋ฉด ๋ค์ ํ์ด์ง๋ฅผ ๋ฐ์ต๋๋ค. `meta.hasMore` ๊ฐ `false`(= `nextCursor` ๊ฐ `null`)์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง์
๋๋ค. ๋ชฉ๋ก ์์ฒด๋ `data` ์ ๋ฐฐ์ด๋ก ์ค๋ฆฝ๋๋ค. **์ํยท๋์ฐฐ๋ฐฉ๋ฒ:** ๊ณต๊ฐ๊ฐ(์๋ฏธ ๋ฌธ์์ด)์ผ๋ก ๋ฐํ๋ฉ๋๋ค. ๋์ฐฐ ์ฌ๋ถ๋ ์ํ๊ฐ ์๋๋ผ ๋์ฐฐ ๊ฒฐ๊ณผ ์กฐํ์ `participants[].isWinner` ๋ก ๊ด์ธกํฉ๋๋ค(AWARDED ์ํ๋ ์์ต๋๋ค).
|
|
956
1213
|
* @summary ๊ณต๊ณ ๋ชฉ๋ก ์กฐํ
|
|
957
1214
|
* @param {number} [limit] ํ์ด์ง ํฌ๊ธฐ(1~100, ๊ธฐ๋ณธ 100).
|
|
958
1215
|
* @param {string} [cursor] ๋ค์ ํ์ด์ง ์ปค์(๋ถํฌ๋ช
ํ ํฐ). ์ง์ ์๋ต์ `nextCursor` ๋ฅผ ๊ทธ๋๋ก ์ ๋ฌํ๋ค. ๋ฏธ์ง์ ์ ์ฒซ ํ์ด์ง. `nextCursor=null` ์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง๋ค.
|
|
@@ -972,6 +1229,24 @@ export declare class PartnerApiApi extends BaseAPI {
|
|
|
972
1229
|
* @throws {RequiredError}
|
|
973
1230
|
*/
|
|
974
1231
|
listExternalContractDocuments(buyerId: string, bidType: ListExternalContractDocumentsBidTypeEnum, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ExternalContractDocumentsResponseDto, any, {}>>;
|
|
1232
|
+
/**
|
|
1233
|
+
* ์ด API ํค์ ์นํ
๋ฐ์ก ์๋๋ฅผ ์ต์ ์์ผ๋ก ์กฐํํฉ๋๋ค. ๋ณด๋ธ ๋ณธ๋ฌธยท์์ ์ธก ์๋ต ์ํยท ๋ค์ ์ฌ์๋ ์์ ์๊ฐ์ด ํจ๊ป ์ค๋ฆฝ๋๋ค. **ํธ์ถ ์์ :** - ์์ ์ธก ์ฅ์ ๋ก ๋์น ์ด๋ฒคํธ๋ฅผ ๋ฉ์ธ ๋. ์ด ์๋ํฌ์ธํธ๊ฐ ์นํ
์ **ํด๋ง ๋์ฒด ๊ฒฝ๋ก**์
๋๋ค โ `status=EXHAUSTED` ๋ก ๊ฑธ๋ฌ ๋ค์ ์ฒ๋ฆฌํ๋ฉด ๋ฉ๋๋ค. - \"์ด๋ฒคํธ๊ฐ ์ ์จ๋ค\" ๋ฅผ ์ง๋จํ ๋. ๋ฐ์ก ์๋ ์์ฒด๊ฐ ์๋์ง(๊ตฌ๋
ยท์ด๋ฒคํธ ํ์
๋ฌธ์ ), ์๋ํ์ง๋ง ์คํจํ๋์ง(`responseStatus`ยท`responseBodyExcerpt`)๋ฅผ ์ฌ๊ธฐ์ ๊ฐ๋ฆ
๋๋ค. **๊ฐ์ ์ด๋ฒคํธ๊ฐ ์ฌ๋ฌ ํ์ผ๋ก ๋ณด์
๋๋ค.** ์ฌ์๋๋ง๋ค ํ ํ์ด๋ฉฐ `eventId` ๊ฐ ๊ฐ๊ณ `attempt` ๋ง ์ฌ๋ผ๊ฐ๋๋ค. ์ฒ๋ฆฌ ์ฌ๋ถ๋ `eventId` ๊ธฐ์ค์ผ๋ก ํ๋จํ์ธ์. **ํ์ด์ง๋ค์ด์
:** `nextCursor` ๋ฅผ ๋ค์ ์์ฒญ์ `cursor` ๋ก ์ ๋ฌํฉ๋๋ค. null ์ด๋ฉด ๋ง์ง๋ง ํ์ด์ง์
๋๋ค. **`400`:** `status` ๊ฐ ํ์ฉ ๊ฐ ๋ฐ์ด๊ฑฐ๋ `limit` ์ด ๋ฒ์๋ฅผ ๋ฒ์ด๋ฌ์ต๋๋ค โ ๊ฐ์ ๊ณ ์ณ ์ฌ์๋ํ์ธ์. **ํ์ ์ค์ฝํ:** `webhooks:read`
|
|
1234
|
+
* @summary ์นํ
์ ์ก ์ด๋ ฅ ์กฐํ
|
|
1235
|
+
* @param {string} [endpointId] ์ด ๊ตฌ๋
์ ์ ์ก๋ง ์กฐํํฉ๋๋ค. ๋ฏธ์ง์ ์ด๋ฉด ์ด ํค์ ๋ชจ๋ ๊ตฌ๋
์ ํจ๊ป ์กฐํํฉ๋๋ค.
|
|
1236
|
+
* @param {PartnerWebhookDeliveryStatus} [status] ์ ์ก ์ํ ํํฐ. ๋ฏธ์ง์ ์ด๋ฉด ์ ๋ถ.
|
|
1237
|
+
* @param {number} [limit] ํ์ด์ง ํฌ๊ธฐ(1~200, ๊ธฐ๋ณธ 50).
|
|
1238
|
+
* @param {string} [cursor] ๋ค์ ํ์ด์ง ์ปค์(๋ถํฌ๋ช
ํ ํฐ). ์ง์ ์๋ต์ `nextCursor` ๋ฅผ ๊ทธ๋๋ก ์ ๋ฌํฉ๋๋ค. ๋ฏธ์ง์ ์ ์ฒซ ํ์ด์ง.
|
|
1239
|
+
* @param {*} [options] Override http request option.
|
|
1240
|
+
* @throws {RequiredError}
|
|
1241
|
+
*/
|
|
1242
|
+
listWebhookDeliveries(endpointId?: string, status?: PartnerWebhookDeliveryStatus, limit?: number, cursor?: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ListWebhookDeliveries200Response, any, {}>>;
|
|
1243
|
+
/**
|
|
1244
|
+
* ์ด API ํค๊ฐ ๋ฑ๋กํ ์นํ
๊ตฌ๋
์ ๋ชจ๋ ์กฐํํฉ๋๋ค. **ํธ์ถ ์์ :** ์ฐ๋ ์ํ๋ฅผ ์ ๊ฒํ ๋, ๋๋ ๋ฐ์ก์ด ๋ฉ์ถ ์ด์ (`status`ยท`consecutiveFailures`)๋ฅผ ํ์ธํ ๋. ์๋ช
์ํฌ๋ฆฟ์ ์ฌ๊ธฐ์ ์ค๋ฆฌ์ง ์์ต๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:read` ### ์๋ช
๊ฒ์ฆ (ํ์) ์๋ช
์ **[Standard Webhooks](https://www.standardwebhooks.com)** ๊ท์ฝ์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ์ง์ ๊ตฌํํ์ง ๋ง๊ณ ๊ฐ ์ธ์ด์ `standardwebhooks` ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฑ๋ก ์ ๋ฐ์ ์ํฌ๋ฆฟ (`whsec_โฆ`)์ ๊ทธ๋๋ก ๋๊ธฐ์ธ์ โ ๊ทธ๊ฒ์ด ์ด ํ์์ ์ฐ๋ ์ด์ ์
๋๋ค. ```java // Java Webhook webhook = new Webhook(secret); // secret = \"whsec_โฆ\" webhook.verify(rawBody, headers); // ์คํจํ๋ฉด ์์ธ ``` ```ts // Node / TypeScript import { Webhook } from \'standardwebhooks\'; new Webhook(secret).verify(rawBody, headers); ``` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ ์ ์๋ค๋ฉด ๋ฐ์ก ์์ฒญ์ ์ค๋ฆฌ๋ ํค๋๋ ์
์
๋๋ค. ``` webhook-id: evt_01J8Z7Q3K9 webhook-timestamp: 1774915200 webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= ``` 1. ์ํฌ๋ฆฟ์์ `whsec_` ์ ๋์ด๋ฅผ ๋ผ๊ณ **base64 ๋์ฝ๋**ํฉ๋๋ค โ ๊ทธ ๋ฐ์ดํธ๊ฐ HMAC ํค์
๋๋ค (์ํฌ๋ฆฟ ๋ฌธ์์ด ์์ฒด๊ฐ ์๋๋๋ค). 2. `\"${webhook-id}.${webhook-timestamp}.${๋ณธ๋ฌธ ์๋ฌธ}\"` ์ ๋ง๋ญ๋๋ค. **๋ณธ๋ฌธ์ ํ์ฑ ์ ์๋ฌธ ๋ฐ์ดํธ**์ฌ์ผ ํฉ๋๋ค โ JSON ์ ๋ค์ ์ง๋ ฌํํ๋ฉด ๊ณต๋ฐฑยทํค ์์๊ฐ ๋ฌ๋ผ์ ธ ์๋ช
์ด ๋ง์ง ์์ต๋๋ค. 3. HMAC-SHA256 ์ ๊ณ์ฐํด **base64** ๋ก ์ธ์ฝ๋ฉํ๊ณ , `webhook-signature` ์ `v1,` ๋ค ๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ๋น๊ต๋ **์์ ์๊ฐ** ํจ์๋ฅผ ์ฐ์ธ์(Node `crypto.timingSafeEqual`, Java `MessageDigest.isEqual`). 4. `webhook-timestamp` ๊ฐ ํ์ฌ ์๊ฐ์์ **5๋ถ** ์ด์ ์ง๋ฌ์ผ๋ฉด ๊ฑฐ์ ํ์ธ์(์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ด). `webhook-signature` ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ **์ฌ๋ฌ ์๋ช
**์ ์ค์ ์ ์๋ ํ์์
๋๋ค(ํค ํ์ ์ฉ). ์ง๊ธ์ ํญ์ ํ๋์ง๋ง, ๊ฒ์ฆ๊ธฐ๋ ๋ชฉ๋ก์ผ๋ก ์ฝ๊ณ **ํ๋๋ผ๋ ๋ง์ผ๋ฉด ํต๊ณผ**ํ๋๋ก ์ง์ธ์. ### ์ค๋ณต ์ ๊ฑฐ `webhook-id` ํค๋๊ฐ ์ด๋ฒคํธ ์๋ณ์์
๋๋ค. **์ฌ์๋์๋ ๊ฐ์ ๊ฐ์ด ์ต๋๋ค** โ ์ด๋ฏธ ์ฒ๋ฆฌํ ๊ฐ์ด๋ฉด ๋ฌด์ํ์ธ์. ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๋ ๋ฒ ๋ฐ๋ ๊ฒ์ ์ ์ ๋์์ด๋ฉฐ, ์ค๋ณต ์ ๊ฑฐ๋ ์์ ์ธก ์ฑ
์์
๋๋ค. ํธ์๋ฅผ ์ํด `webhook-event-type` ํค๋์ ์ด๋ฒคํธ ํ์
(๋ณธ๋ฌธ `type` ๊ณผ ๊ฐ์ ๊ฐ)๋ ์ค๋ฆฝ๋๋ค โ ๋ณธ๋ฌธ์ ํ์ฑํ๊ธฐ ์ ์ ๊ด์ฌ ์๋ ํ์
์ ๋ฒ๋ฆด ์ ์์ต๋๋ค. ํ์ค์๋ ์๋ ํ์ฅ์ด๋ผ ๊ฒ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด ํค๋๋ฅผ ๋ฌด์ํฉ๋๋ค. ### ์๋ต๊ณผ ์ฌ์๋ 2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์ฑ๊ณต์
๋๋ค. ๊ทธ ์ธ(๋๋ ๋ฌด์๋ต)๋ ์คํจ๋ก ๋ณด๊ณ ์ต๋ 7ํ ์ฌ์๋ํฉ๋๋ค โ ๊ฐ๊ฒฉ์ 10์ด โ 1๋ถ โ 5๋ถ โ 30๋ถ โ 2์๊ฐ โ 6์๊ฐ โ 24์๊ฐ ์
๋๋ค. ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ๋ฉด ๋จผ์ 2xx ๋ฅผ ๋๋ ค์ฃผ๊ณ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ์ธ์. ์ฐ์ ์คํจ๊ฐ 20ํ์ ๋ฟ์ผ๋ฉด ๊ตฌ๋
์ด ์๋์ผ๋ก `DISABLED` ๋ก ๋ด๋ ค๊ฐ๊ณ ๋ฐ์ก์ด ๋ฉ์ถฅ๋๋ค. ์์ ์ธก์ ๊ณ ์น ๋ค `PATCH /v2/webhook-endpoints/{endpointId}` ์ `{\"status\":\"ACTIVE\"}` ๋ก ๋์ด๋ฆฌ์ธ์. ### ๊ตฌ๋
๊ฐ๋ฅํ ์ด๋ฒคํธ `bid.closed` ยท `bid.awarded` ยท `bid.failed` ยท `bid.canceled` ยท `bid.award_reverted` `ping` ์ ์ฐ๊ฒฐ ํ์ธ ์ ์ฉ์ด๋ผ ๊ตฌ๋
ํ ์ ์์ต๋๋ค โ ํ
์คํธ ๋ฐ์ก ๊ฒฝ๋ก์์๋ง ๋๊ฐ๋๋ค. ### ๋์น ์ด๋ฒคํธ ํ์ธ `GET /v2/webhook-deliveries` ๊ฐ ๋ฐ์ก ์๋ ์ด๋ ฅ(๋ณธ๋ฌธยท์๋ต ์ํยท๋ค์ ์ฌ์๋ ์๊ฐ)์ ๋๋ ค์ค๋๋ค. ์์ ์ธก ์ฅ์ ๊ตฌ๊ฐ์ ๋ฉ์ธ ๋ ์ด ์๋ํฌ์ธํธ๋ฅผ ํด๋ง ๋์ฒด ๊ฒฝ๋ก๋ก ์ฐ์ธ์.
|
|
1245
|
+
* @summary ์นํ
๊ตฌ๋
๋ชฉ๋ก ์กฐํ
|
|
1246
|
+
* @param {*} [options] Override http request option.
|
|
1247
|
+
* @throws {RequiredError}
|
|
1248
|
+
*/
|
|
1249
|
+
listWebhookEndpoints(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ListWebhookEndpoints200Response, any, {}>>;
|
|
975
1250
|
/**
|
|
976
1251
|
* ๊ณต๊ณ ๋ฅผ ์ ์ฐฐ ์ํ๋ก ์ ํํฉ๋๋ค. **ํธ์ถ ์์ :** ์
์ฐฐ ๋ง๊ฐ ํ ์ ์ฐฐ ์ฌ์ ๊ฐ ํ์ ๋์์ ๋. ๊ณต๊ณ ๊ฐ ์
์ฐฐ์๋ฃ(๋ง๊ฐ) ์ํ์์ ํธ์ถํฉ๋๋ค. **๋ถ์ํจ๊ณผ:** - ๊ณต๊ณ ์ํ๊ฐ ์ ์ฐฐ(FAILED)๋ก ์ ํ๋ฉ๋๋ค. - ์ ์ฐฐ์ฌ์ ์ฝ๋์ ์์ธ๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. **์ ์ฐฐ์ฌ์ ๊ฐ ๋ชฉ๋ก(failureReasonCode โ ๊ณต๊ฐ๊ฐ):** | ๊ฐ | ์๋ฏธ | |------|------| | `ABOVE_TARGET_PRICE` | ์์ ๊ฐ๊ฒฉ ์ด๊ณผ | | `DEPT_MISMATCH` | ์๊ฒฉ ๋ฏธ๋ฌ | | `NEEDS_EXPERTISE` | ์ ๋ฌธ์ฑ ํ์ | | `OTHER` | ๊ธฐํ (`failureReasonDetail` ํ์) | | `NO_PARTICIPANT` | ์ฐธ๊ฐ์ ์์ | | `SINGLE_PARTICIPANT` | ๋จ๋
์ฐธ๊ฐ | | `LESS_THAN_TWO` | 2์ธ ๋ฏธ๋ง | | `BELOW_MINIMUM` | ์ต์ ๊ฐ ๋ฏธ๋ฌ | **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์์ฒญ body ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ ์ค์ฝํ:** `awards:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
977
1252
|
* @summary ์ ์ฐฐ ์ฒ๋ฆฌ
|
|
@@ -1030,6 +1305,24 @@ export declare class PartnerApiApi extends BaseAPI {
|
|
|
1030
1305
|
* @throws {RequiredError}
|
|
1031
1306
|
*/
|
|
1032
1307
|
revertAward(bidRef: string, idempotencyKey: string, revertAwardRequestDto: RevertAwardRequestDto, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RevertAward200Response, any, {}>>;
|
|
1308
|
+
/**
|
|
1309
|
+
* ์๋ช
์ํฌ๋ฆฟ์ ์๋ก ๋ฐ๊ธํฉ๋๋ค. ์๋ต์ `secretVersion` ์ด 1 ์ฌ๋ผ๊ฐ๋๋ค. **ํธ์ถ ์์ :** ์ํฌ๋ฆฟ์ ๋ถ์คํ๊ฑฐ๋ ์ ์ถ์ด ์์ฌ๋ ๋, ๋๋ ์ฃผ๊ธฐ์ ๊ต์ฒด ์ ์ฑ
์ด ์์ ๋. **์ ์ํฌ๋ฆฟ์ ์ด ์๋ต์์ ํ ๋ฒ๋ง ๋๊ฐ๋๋ค.** ์กฐํ๋ก ๋ค์ ๋ฐ์ ์ ์์ต๋๋ค. **์ ์ํฌ๋ฆฟ์ ์ฆ์ ๋ฌดํจ์
๋๋ค.** ์ ์ ๊ธฐ๊ฐ์ด ์์ผ๋ฏ๋ก, ์์ ์ธก์ด ์ ๊ฐ์ ๋ฐ์ํ๊ธฐ ์ ์ ๋์ฐฉํ ์ด๋ฒคํธ๋ ์๋ช
๊ฒ์ฆ์ ์คํจํฉ๋๋ค. ๋ฐฐํฌ ์์๋ฅผ ์ด๋ ๊ฒ ์ก์ผ์ธ์ โ โ ์์ ์ธก์ด ์ ๊ฐ๊ณผ ์ ๊ฐ์ **๋ ๋ค** ๋ฐ์๋ค์ด๋๋ก ๋ฐฐํฌ โ โก ์ด ์๋ํฌ์ธํธ ํธ์ถ โ โข ์๋ต์ ์ ๊ฐ์ ๋ฐ์ โ โฃ ์ ๊ฐ ์ ๊ฑฐ. ๊ฒ์ฆ ์คํจ๋ก non-2xx ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์คํจ๋ก ์ง๊ณ๋์ด 20ํ ์ฐ์ ์ ๊ตฌ๋
์ด ์ค์ง๋ฉ๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๊ฐ์ ํค๋ก ์ฌ์ ์กํ๋ฉด **์๋ก ๋ฐ๊ธํ์ง ์๊ณ ** ์ฒ์ ๋ฐ๊ธํ ๊ฐ์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค(24์๊ฐ) โ ๋คํธ์ํฌ ์ค๋ฅ๋ก ์๋ต์ ๋์ณค์ ๋ ๊ฐ์ ํค๋ก ๋ค์ ๋ถ๋ฅด์ธ์.
|
|
1310
|
+
* @summary ์นํ
์๋ช
์ํฌ๋ฆฟ ์ฌ๋ฐ๊ธ
|
|
1311
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
1312
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
1313
|
+
* @param {*} [options] Override http request option.
|
|
1314
|
+
* @throws {RequiredError}
|
|
1315
|
+
*/
|
|
1316
|
+
rotateWebhookSecret(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateWebhookEndpoint201Response, any, {}>>;
|
|
1317
|
+
/**
|
|
1318
|
+
* ๋ฑ๋ก๋ ์ฃผ์๋ก `ping` ์ด๋ฒคํธ๋ฅผ ์ฆ์ 1ํ ๋ณด๋ด๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ค๋๋ค. **ํธ์ถ ์์ :** ๊ตฌ๋
์ ๋ฑ๋กํ ์งํ, ์์ ์ฃผ์๋ฅผ ๋ฐ๊พผ ์งํ, ๋ฐฉํ๋ฒฝยท์ธ์ฆ์๋ฅผ ์๋ณธ ๋ค. **์๋ต์ ๋ฐ์ก ๊ฒฐ๊ณผ์ด์ง ์์ฒญ ์คํจ๊ฐ ์๋๋๋ค.** ์์ ์ธก์ด ๋ฐ์ง ๋ชปํด๋ HTTP `200` ์ `delivered: false` ๋ก ์ต๋๋ค โ `responseStatus`(์์ ์ธก ์ํ)์ `error`(์ฐ๊ฒฐ ๊ฑฐ๋ถยทํ์์์ยท TLS ์ค๋ฅ)๋ฅผ ๋ณด๊ณ ์์ธ์ ์ขํ์ธ์. ์ด ๋ฐ์ก์๋ ์ค์ ์ด๋ฒคํธ์ **๋๊ฐ์ ์๋ช
ํค๋**๊ฐ ์ค๋ฆฌ๋ฏ๋ก ๊ฒ์ฆ ์ฝ๋๋ฅผ ๊ทธ๋๋ก ์ํํ ์ ์์ต๋๋ค. `ping` ์ ๊ตฌ๋
๋ชฉ๋ก์ ๋ฃ์ ์ ์๋ ํ์
์ด๋, ์์ ์ธก์ด ๋ชจ๋ฅด๋ `eventType` ์ ๋ง๋๋ฉด ๋ฒ๋ฆฌ๋๋ก ์ง์ฌ ์๋ค๋ฉด ์ด ํ์ธ๋ง ์คํจํ ์ ์์ต๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๋ค์ ๋ณด๋ด๋ ค๋ฉด **์ ํค**๋ฅผ ์ฐ์ธ์ โ ๊ฐ์ ํค๋ 24์๊ฐ ๋์ ์ง์ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค(์ฌ๋ฐ์กํ์ง ์์ต๋๋ค).
|
|
1319
|
+
* @summary ์นํ
์ฐ๊ฒฐ ํ์ธ ๋ฐ์ก
|
|
1320
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
1321
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
1322
|
+
* @param {*} [options] Override http request option.
|
|
1323
|
+
* @throws {RequiredError}
|
|
1324
|
+
*/
|
|
1325
|
+
sendWebhookTestEvent(endpointId: string, idempotencyKey: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<SendWebhookTestEvent200Response, any, {}>>;
|
|
1033
1326
|
/**
|
|
1034
1327
|
* ํ์๋ฐฉ์(NEGOTIATION/NEGOTIATION_AUTO) ๊ณต๊ณ ์ ์์ฐฐ์๋ณ ์ ์๋ฅผ ์
๋ ฅํฉ๋๋ค. **ํธ์ถ ์์ :** ์
์ฐฐ ๋ง๊ฐ ํ ๋์ฐฐ(`POST /v2/bids/{bidRef}/award`) ์ . ํ์๋ฐฉ์ ๊ณต๊ณ ๋ ์ด ํ๊ฐ๋ฅผ ์๋ฃํด์ผ ๋์ฐฐ์ ์ง์
ํ ์ ์์ต๋๋ค. **๋ถ์ํจ๊ณผ:** - ์์ฐฐ์๋ณ ๊ธฐ์ ์ ์(๋ฐ ์ ํ์ ๊ฐ๊ฒฉ์ ์ override)๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. - `complete=true` ๋ฉด ํ๊ฐ์๋ฃ ๊ฒ์ดํธ๊น์ง ์ ์ฉ๋ผ ๋์ฐฐ ์ง์
์ด ๊ฐ๋ฅํด์ง๋๋ค. **๋ฐ์ฃผ์ฒ:** API ํค์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ฃผ์ฒ๋ก ์๋ ์ค์ฝํ๋ฉ๋๋ค(์์ฒญ body ์ buyerId ๋ฅผ ๋ฃ์ง ์์ต๋๋ค). **ํ์ ์ค์ฝํ:** `awards:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์. ๋์ผ ํค + ๋์ผ body ์ฌ์ ์ก ์ 24์๊ฐ ๋ด ์บ์ ์๋ต ๋ฐํ.
|
|
1035
1328
|
* @summary ํ์ ์ ์ํ๊ฐ
|
|
@@ -1051,6 +1344,17 @@ export declare class PartnerApiApi extends BaseAPI {
|
|
|
1051
1344
|
* @throws {RequiredError}
|
|
1052
1345
|
*/
|
|
1053
1346
|
updateBid(bidRef: string, ifMatch: string, idempotencyKey: string, updateBidRequestDto: UpdateBidRequestDto, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<UpdateBid200Response, any, {}>>;
|
|
1347
|
+
/**
|
|
1348
|
+
* ์์ ์ฃผ์ยท๊ตฌ๋
์ด๋ฒคํธยท์ํ๋ฅผ ์์ ํฉ๋๋ค. ๋ณด๋ธ ํ๋๋ง ๋ฐ๋๋๋ค. **ํธ์ถ ์์ :** ์์ ์ฃผ์๊ฐ ๋ฐ๋์์ ๋, ๊ตฌ๋
์ด๋ฒคํธ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ๋, ์ฐ์ ์คํจ๋ก ์๋ ์ค์ง๋ ๊ตฌ๋
์ ๊ณ ์น ๋ค ๋์ด๋ฆด ๋(`{\"status\":\"ACTIVE\"}`). **`eventTypes` ๋ ์นํ์
๋๋ค** โ ๋ณด๋ธ ๋ชฉ๋ก์ด ๊ณง ์ ๊ตฌ๋
๋ชฉ๋ก์
๋๋ค. ํ๋๋ฅผ ๋ํ๋ ค๋ฉด ๊ธฐ์กด ๋ชฉ๋ก์ ๋ํ **์ ์ฒด**๋ฅผ ๋ณด๋ด์ธ์. **`If-Match` ๊ฐ ํ์์
๋๋ค.** ๋จผ์ `GET /v2/webhook-endpoints/{endpointId}` ๋ก ํ์ฌ `ETag` ๋ฅผ ๋ฐ์ ๊ทธ๋๋ก ์ค์ด ๋ณด๋ด์ธ์. ์ด ํค๋๊ฐ ์์ผ๋ฉด ๋ ์์ฒญ์ด ์์๊ฑฐ๋ ๋ค์๊ฑฐ๋ ํ๋ฉฐ ๋จผ์ ํ ์์ ์ ์กฐ์ฉํ ๋ฎ์ด์๋๋ค. - `428` โ ํค๋๋ฅผ ๋นผ๋จน์์ต๋๋ค. ์กฐํ ํ `ETag` ๋ฅผ ์ค์ด ์ฌ์๋ํ์ธ์. - `412` โ ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ต๋๋ค. ๋ค์ ์กฐํํด ์ต์ `ETag` ๋ก ์ฌ์๋ํ์ธ์. ์๋ฌด๊ฒ๋ ์์ ๋์ง ์์์ต๋๋ค. **์ํฌ๋ฆฟ์ ์ด ๊ฒฝ๋ก๋ก ๋ฐ๋์ง ์์ต๋๋ค** โ ์ฌ๋ฐ๊ธ์ `rotate-secret` ์
๋๋ค. **ํ์ ์ค์ฝํ:** `webhooks:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
1349
|
+
* @summary ์นํ
๊ตฌ๋
์์
|
|
1350
|
+
* @param {string} endpointId ๊ตฌ๋
์๋ณ์(๋ฑ๋ก ์๋ต์ `endpointId`).
|
|
1351
|
+
* @param {string} ifMatch ์ง์ ์กฐํ ์๋ต์ `ETag` ๊ฐ. ๋๋ฝํ๋ฉด 428, ๊ทธ ์ฌ์ด ๊ตฌ๋
์ด ๋ฐ๋์์ผ๋ฉด 412 ๋ก ๊ฑฐ์ ๋๋ฉฐ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
|
|
1352
|
+
* @param {string} idempotencyKey ๋ฉฑ๋ฑ์ฑ ํค(1~255์, `[A-Za-z0-9_-]`). **์ฌ์๋ํ ๋ ์ฒ์๊ณผ ๊ฐ์ ํค๋ฅผ ๋ค์ ๋ณด๋ด์ผ** ์ค๋ณต ์์ฑ์ด ๋งํ๋๋ค โ ํ์์์ยท๋คํธ์ํฌ ์ค๋ฅ๋ก ๋ค์ ๋ถ๋ฅด๋ฉด์ ์ ํค๋ฅผ ๋ง๋ค๋ฉด ๋ณ๊ฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ํค๋ UUID v4 ๋ฅผ ๋ง๋ค์ด **์ฐ๋ ์์คํ
์์ฅ์ ์ ์ฅ**ํ๊ฑฐ๋, ์์ฒญ ๋ด์ฉ์์ ๊ฒฐ์ ์ ์ผ๋ก ํ์(์: `bid-create-{๊ตฌ๋งค๋ฒํธ}`)ํด ์ฌ์๋๊ฐ ๊ฐ์ ๊ฐ์ ์ฌํํ๋๋ก ํ์ธ์. ๊ฐ์ ํค + ๊ฐ์ body ๋ 24์๊ฐ ๋์ ์บ์๋ ์๋ต์ ๊ทธ๋๋ก ๋๋ ค์ค๋๋ค.
|
|
1353
|
+
* @param {UpdateWebhookEndpointRequestDto} updateWebhookEndpointRequestDto
|
|
1354
|
+
* @param {*} [options] Override http request option.
|
|
1355
|
+
* @throws {RequiredError}
|
|
1356
|
+
*/
|
|
1357
|
+
updateWebhookEndpoint(endpointId: string, ifMatch: string, idempotencyKey: string, updateWebhookEndpointRequestDto: UpdateWebhookEndpointRequestDto, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetWebhookEndpoint200Response, any, {}>>;
|
|
1054
1358
|
/**
|
|
1055
1359
|
* **์ฒจ๋ถ ์
๋ก๋์ ๊ธฐ๋ณธ ๊ฒฝ๋ก์
๋๋ค. 23MB ์ดํ๋ฉด ์ด ํธ์ถ ํ๋๋ก ๋๋ฉ๋๋ค.** ํ์ผ ๋ณธ๋ฌธ์ `base64` ๋๋ `url` ์ค ์ ํํ ํ๋๋ก ์ ์ถํ๋ฉด `fileKey` ๋ฅผ ๋๋ ค์ค๋๋ค. ์ด ๊ฐ์ ๊ณต๊ณ ๋ฑ๋กยท์์ ์ ์ฒจ๋ถ ํ๋์ ์ค์ผ์ธ์. **23MB ๋ฅผ ๋์ผ๋ฉด ๊ฒฝ๋ก๋ฅผ ๋ฐ๊ฟ์ผ ํฉ๋๋ค.** ์ํ์ด ์
์ผ๋ก ๊ฐ๋ฆฝ๋๋ค. | ์ ์ถ ๋ฐฉ์ | ์ํ | ํธ์ถ ์ | | --- | --- | --- | | ์ด ํธ์ถ + `base64` | **23MB** (๋ณธ๋ฌธ์ด c-market ์ ํต๊ณผํ๋ฉฐ base64 ํฝ์ฐฝ 4/3 ์ด ์นํ) | 1 | | ์ด ํธ์ถ + `url` | **30MB** (c-market ์ด ๋์ ๋ด๋ ค๋ฐ์ ํฝ์ฐฝ์ ์์ง๋ง ์๋ฒ ๊ฒฝ์ ์ฒ์ฅ์ ๊ทธ๋๋ก) | 1 | | `POST /v2/files/upload-url` ๋ก ์์ํ๋ 2๋จ๊ณ | **100MB** (๋ฐ์ดํธ๊ฐ c-market ์ ์ง๋์ง ์์) | 2 + ์คํ ๋ฆฌ์ง PUT | c-market ์ด ๋ด๋ ค๋ฐ์ ์ ์๋ https ์ฃผ์์ ํ์ผ์ ์ฌ๋ ค ๋ ์ ์๋ค๋ฉด `url` ์ด 30MB ๊น์ง๋ฅผ 1์ฝ๋ก ๋ฎ์ต๋๋ค. ๊ทธ ์ด์์ด๊ฑฐ๋ ์ฃผ์๋ฅผ ์ด ์ ์์ผ๋ฉด 2๋จ๊ณ ๊ฒฝ๋ก๋ฅผ ์ฐ์ธ์. **๊ณต๊ณ ๋ฑ๋ก์ ํ์ผ์ ํจ๊ป ์ค์ ์๋ ์์ต๋๋ค.** `POST /v2/bids` ์ `attachments` ์์์ `{ fileName, url }`ยท`{ fileName, base64 }` ๋ฅผ ๊ทธ๋๋ก ๋ฃ์ผ๋ฉด ์ด ํธ์ถ ์์ด ํ ๋ฒ์ ๋๋ฉ๋๋ค. ์ฌ๋ฌ ๊ณต๊ณ ์ ๊ฐ์ ํ์ผ์ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ํฐ ํ์ผ์ ๋ค๋ฃฐ ๋๋ง `fileKey` ๋ฅผ ๋จผ์ ๋ง๋์ธ์. **ํ์ ์ค์ฝํ:** `files:write` **๋ฉฑ๋ฑ์ฑ:** `Idempotency-Key` ํค๋ ํ์.
|
|
1056
1360
|
* @summary ๊ณต๊ณ ์ฒจ๋ถํ์ผ ์
๋ก๋ (๊ธฐ๋ณธ)
|