Chaindoc REST API Referansı

Chaindoc'un REST API'sini uygulamalarınıza entegre etmek için eksiksiz referans. Belgeleri, imzaları, blok zinciri doğrulamayı ve gömülü imza iş akışlarını yönetin.

Genel Bakış

Chaindoc REST API, belge yönetimi, blok zinciri doğrulama ve dijital imza işlevlerine programlı erişim sağlar. API, sunucu-sunucu entegrasyonu için tasarlanmıştır ve hem genel hem de gizli API anahtarlarını destekler.

Temel Özellikler

  • Belge Yönetimi - Blockchain doğrulaması ile belgeleri oluşturun, güncelleyin ve yönetin
  • Dijital İmzalar - Birden fazla taraftan dijital imza isteyin ve toplayın
  • Blockchain Doğrulama - Blockchain ağlarında belgenin gerçekliğini doğrulayın
  • Gömülü Oturumlar - Ön uç imza iş akışları için güvenli oturumlar oluşturun
  • Medya Yükleme - Belge oluşturmak için dosyaları (PDF, resimler, videolar) yükleyin
  • KYC Entegrasyonu - Sumsub ile kimlik verilerini paylaşın ve doğrulayın

Kimlik Doğrulama

Chaindoc API, kimlik doğrulama için API anahtarları kullanır. Farklı erişim düzeylerine sahip iki tür anahtar vardır.

API Anahtar Türleri

  • Genel Anahtar (pk_) - Ön uç uygulamaları ve doğrulama için salt okunur erişim
  • Gizli Anahtar (sk_) - Arka uç sunucuları için tam okuma ve yazma erişimi

API Anahtarlarını Alma

1İş Planına Abone OlunYalnızca İş planı kullanıcıları API anahtarları oluşturabilir.

2API Erişimi'ne gidinKontrol panelinizde Ayarlar → API Erişimi'ne gidin.

3API Anahtarı OluşturAPI Anahtarı Oluştur düğmesine tıklayın.

4Güvenli Bir Şekilde SaklayınGizli anahtarı güvenli bir şekilde saklayın (sadece bir kez gösterilir)

API Anahtarlarını Kullanma

API anahtarınızı Bearer kimlik doğrulaması ile Yetkilendirme başlığına ekleyin:

terminal
curl -X GET https://api.chaindoc.io/api/v1/me \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxx"

Hız Sınırlama

API uç noktaları, kötüye kullanımı önlemek için hız sınırlamasına tabidir. Hız sınırlamaları, uç nokta türüne göre değişir.

  • Genel uç noktalar: 10 saniyede 3 istek
  • Medya yükleme: 10 saniyede 3 istek
  • OTP doğrulama: 60 saniyede 5 istek
  • Okuma işlemleri: 60 saniyede 10 istek
  • İmza oluşturma: 3 saniyede 20 istek

Hız sınırı aşıldığında, 429 Çok Fazla İstek yanıtı alırsınız. Hız sınırı başlıkları yanıtlara dahil edilir:

terminal
X-RateLimit-Limit: 3
X-RateLimit-Remaining: 2
X-RateLimit-Reset: 1640000000

Hata İşleme

HTTP Durum Kodları

  • 200 - Başarılı
  • 201 - Kaynak başarıyla oluşturuldu
  • 400 - Hatalı istek (doğrulama hatası)
  • 401 - Yetkisiz (geçersiz veya eksik API anahtarı)
  • 403 - Yasak (yetersiz izinler)
  • 404 - Kaynak bulunamadı
  • 429 - Çok fazla istek (hız sınırı aşıldı)
  • 500 - Dahili sunucu hatası

Hata Yanıtı Biçimi

terminal
{
  "statusCode": 400,
  "message": "Validation failed",
  "error": "Bad Request",
  "details": [
    {
      "field": "name",
      "message": "name must be a string"
    }
  ]
}

Genel API

API Anahtar Bilgilerini Alın

Mevcut API anahtarı hakkında bilgi alın.

GET /me

Authorization: Bearer sk_live_xxxxx

Sağlık Kontrolü

API bağlantısını ve anahtar geçerliliğini doğrulayın.

GET /health

Authorization: Bearer sk_live_xxxxx

Belgeler API

Belge Oluştur

Blockchain doğrulamalı yeni bir belge oluşturun. Durum "yayınlandı" olarak ayarlandığında, belge otomatik olarak blockchain üzerinde doğrulanır.

POST /documents

Headers:
Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Belgeyi Güncelle

Yeni bir sürüm oluşturarak belgeyi güncelleyin. Önceki sürümler denetim izi için saklanır.

PUT /documents/:documentId

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Belge Erişim Haklarını Güncelle

Belge erişim kontrol ayarlarını güncelleyin.

PUT /documents/:documentId/rights

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Belgeyi Doğrulayın

Blockchain kullanarak belgenin gerçekliğini doğrulayın. İşlem hash ve zincir kimliği ile doğrulama durumunu döndürür.

POST /documents/verify

{
  "versionHash": "0x123abc...",
  "certificateHash": "0x456def..."
}

Doğrulama Durumunu Alın

Bir belge sürümü için blok zinciri doğrulama durumunu alın.

GET /documents/versions/:versionId/verification

Authorization: Bearer sk_live_xxxxx

İmza API'si

İmza İsteği Oluştur

Bir veya daha fazla alıcı için imza isteği oluşturun. Ön uç entegrasyonu için gömülü akışı etkinleştirin.

curl -X POST https://api.chaindoc.io/api/v1/signatures/requests \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "versionId": "f0b7721f-0399-4035-9b69-7b95d3a367f0",
    "recipients": [{"email": "signer@example.com"}],
    "deadline": "2024-12-31T23:59:59Z",
    "embeddedFlow": true
  }'

İmza Talep Durumunu Al

İmza talebinin durumunu kontrol edin ve hangi imzalayanların imzalamayı tamamladığını görün.

GET /signatures/requests/:requestId/status

Authorization: Bearer sk_live_xxxxx

Belgeyi İmzalayın

Belgeyi imzalayın (API anahtarı sahibi imza yetkilisi ise).

POST /signatures/sign

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Kullanıcı İmzalarını Alın

Doğrulanmış kullanıcı için tüm imzaları alın.

GET /signatures

Authorization: Bearer sk_live_xxxxx

İmza İstekleri Alın

Sayfa numaralandırma desteği ile doğrulanmış kullanıcı için tüm imza taleplerini alın.

GET /signatures/requests?pageNumber=1&pageSize=10

Authorization: Bearer sk_live_xxxxx

Medya Yükleme API'si

Belge oluşturmada kullanmak üzere dosyaları yükleyin. PDF, resim ve videoları destekler. Her istek için en fazla 10 dosya.

curl -X POST https://api.chaindoc.io/api/v1/media/upload \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -F "media=@contract.pdf"

KYC API

KYC Verilerini Paylaşın

Kimlik doğrulama için KYC (Müşterini Tanı) verilerini alıcılarla paylaşın.

POST /kyc/share

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Gömülü Oturumlar API'si

Ön uç uygulamanızda belge imzalamak için gömülü oturumlar oluşturun. Oturumlar 10 dakika boyunca geçerlidir.

POST /embedded/sessions

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json