Confirmed
Genel Bakış
/v1/notify/confirmed webhook'u, beneficiary KVHS'nin işlemi doğruladığını bildirir. Bu bildirim hem MAIN hem de BASIC protokollerinde originator tarafına gönderilir. MAIN akışında bu adım, IVMS.101 verisinin confirmed-data webhook'u üzerinden paylaşılmasının hemen öncesidir; BASIC akışında ise beneficiary tarafının alınan veriyi kontrol ettiğini gösterir.
Tetiklenme Koşulları
- Beneficiary KVHS
/v1/transactions/confirmçağrısını tamamladı. - İşlem durumu
CONFIRMEDdeğerine güncellendi. - Originator KVHS, sonraki adımlar (ACCEPT veya DECLINE) için bilgilendirilmelidir.
Webhook Endpoint
POST /v1/notify/confirmed
Payload
{
"transactionRef": "6f61b14a-60ec-4569-8ba9-b675dae62159",
"protocol": "MAIN",
"status": "CONFIRMED",
"originatorVASPdid": "did:web:originator.example",
"beneficiaryVASPdid": "did:web:beneficiary.example"
}
Alanlar
| Alan | Açıklama |
|---|---|
transactionRef | ClearTX tarafından üretilen benzersiz işlem referansı. |
protocol | MAIN veya BASIC. |
status | Bu webhook için her zaman CONFIRMED. |
originatorVASPdid | Originator KVHS DID. |
beneficiaryVASPdid | Beneficiary KVHS DID. |
Not: MAIN protokolünde IVMS.101 içeriği bu webhook'ta yer almaz; ilgili veri
confirmed-datawebhook'u ile beneficiary tarafına gönderilir.
Bu Webhook Ne Zaman Tetiklenir
Bu webhook aşağıdaki durumlarda tetiklenir:
- Transaction bildirimi, alıcı KVHS tarafından onaylandığında
- Onay işlemi, başarılı compliance doğrulamasından sonra gerçekleştiğinde
- Originator KVHS'nın onaydan haberdar edilmesi gerektiğinde
Yanıt Gereksinimleri
- 200 OK: Bildirim başarıyla işlendi.
- >=400: ClearTX yeniden deneme politikası uygular (exponential backoff, 24 saate kadar).
Örnek Sunucu
const express = require("express");
const app = express();
const rawJson = express.raw({ type: "application/json" });
app.post("/webhook/confirmed", rawJson, (req, res) => {
verifySignature(req);
const event = JSON.parse(req.body.toString());
if (event.status === "CONFIRMED" && event.protocol === "MAIN") {
// PII confirmed-data webhook'u beklenir
}
res.status(200).json({ status: "received" });
});