Kullanıcıyı imzaya göndermek
İmza isteğini açtıktan sonra kullanıcıyı sign_url'ye göndermenin üç yolu var. Hangisini seçerseniz seçin sonucu sunucunuzda API'ye sorarak ya da bildirimle öğrenin.
Aynı sekmede yönlendirme (en basit)
header('Location: ' . $signRequest['sign_url'], true, 303);
İmza bitince (ya da kullanıcı vazgeçince) Damga kullanıcıyı return_url'ye gönderir ve iki parametre ekler:
| Parametre | Değer |
|---|---|
damga_request |
İmza isteğinin kimliği (sr_…) |
damga_status |
completed ya da cancelled |
Dönüş sayfanızda damga_request ile isteği okuyun, status gerçekten completed ise imzayı kaydedin. Adres çubuğundaki damga_status'a güvenmeyin.
Damga'nın dönüş yapacağı alan adları platformunuz için tanımlanır (ör. ebap.ondiso.net); başka bir alan adına dönüş isteği 422 ile reddedilir.
Yeni pencerede
Tek sayfalık uygulamalarda (React, Vue…) kullanıcının sayfasını kaybetmemesi için imza sayfasını ayrı pencerede açın ve sonucu kendi sunucunuzdan yoklayın:
// Tıklama anında boş pencereyi açın: tarayıcılar ancak kullanıcı hareketiyle açılan pencereye izin verir
const win = window.open("about:blank", "damga", "width=1100,height=820");
const { signUrl, requestId } = await fetch("/api/imza-baslat", { method: "POST" }).then(r => r.json());
if (win) win.location.href = signUrl; else location.href = signUrl; // açılır pencere engellendiyse aynı sekme
const timer = setInterval(async () => {
const s = await fetch(`/api/imza-durumu/${requestId}`).then(r => r.json()); // sizin sunucunuz Damga'ya sorar
if (s.status !== "pending") { clearInterval(timer); /* ekranı güncelle */ }
}, 2000);
return_url vermezseniz imza sayfası iş bitince "Bu pencereyi kapatabilirsiniz" der ve açılır pencereyse kendini kapatır.
E-postayla ya da mesajla
sign_url'yi kişiye gönderebilirsiniz; bağlantı istek süresince (expires_in, en çok 1 saat) geçerlidir. Daha uzun süreli iş akışlarında bağlantıyı gönderme anında üretin (yeni bağlantı).
Kullanıcının göreceği sayfa
- Belge başlığı, isteyen platformun adı, dosya adı, parmak izi ve imzanın biçimi ("PDF'in içine eklenir (PAdES)" ya da "Ayrı imza dosyası (CAdES)"). "Belgeyi görüntüle" PDF'in kendisini açar.
- "Damga'yı başlat" düğmesi. Tarayıcı ilk seferde uygulamayı açmak için izin ister.
- e-İmza USB'si paneli: USB e-imza aracının (ya da kart okuyucunun) adı, modeli ve seri numarası, sertifikanın sahibi, maskeli T.C. kimlik numarası (mühürlerde VKN), türü ("Nitelikli e-imza (NES)", "Mali mühür", "e-Mühür"), veren kurum, geçerlilik süresi, PIN durumu.
- PIN alanı ve "İmzala". Hatalı denemeler sayılır; 3. denemeden önce ayrı onay istenir.
- "Belge imzalandı" ve dönüş. PAdES isteklerinde kullanıcı imzalı PDF'i bu ekrandan indirebilir (dönüş adresi varsa yönlendirme biraz daha geç olur).
İzin verilmeyen sertifikalar
İstekte allowed_kinds (ör. yalnız mali mühür ve e-mühür) ya da beklenen kişi / kurum (signer.national_id, signer.tax_id) verildiyse sayfa uymayan sertifikaları listeler ama seçtirmez ve nedenini yazar: "Bu belge yalnız mali mühür ya da e-mühür ile imzalanabilir.", "Bu belgeyi başka bir kurum mühürlemeli". Sunucu aynı denetimi imzadan sonra imzadaki sertifikayla bir kez daha yapar.
Eski Damga uygulaması
PAdES isteğinde kullanıcının bilgisayarındaki Damga imzayı PDF'e ekleyemeyecek kadar eskiyse sayfa "Damga uygulamanızı güncelleyin" der ve indirme bağlantısını gösterir; imza denenmez.
Sayfa iframe içinde açılamaz (frame-ancestors 'none'): kullanıcının PIN'i yazdığı sayfanın adres çubuğunda Damga'nın adresini görmesi gerekir.
Damga kurulu değilse
Sayfa uygulamanın 15 saniye içinde bağlanmadığını görürse indirme sayfasına bir bağlantı ve kısa bir yardım gösterir. Kurulum paketleri üyelere açıktır: kullanıcı üye olur ya da giriş yapar, indirir, indirme sayfasındaki bağlantıyla imza sayfasına döner. Kurumunuzda Damga'yı toplu dağıtacaksanız: Damga uygulaması.