Uygunluk matrisi

BellaDPP’nin CEN/CENELEC JTC 24 tarafından yayımlanmış altı DPP standardının maddeleriyle kod tabanındaki karşılıkları. Her satır ya bir uca/dosyaya işaret eder ya da açıkça “yok” der.

36 madde · karşılanan: 34 · Son güncelleme: 21 Ağustos 2026

Makine-okunur biçim (JSON)

EN 18216 — Veri değişimi (data exchange)

Madde konusu Durum Karşılık
Pasaportun makine-okunur biçimde sunulması Karşılanıyor GET api/public/dpp/{identifier}/jsonld → PublicController.cs:95 (Bella.API/Controllers/PublicController.cs:95)
Anonim (kimliksiz) erişim Karşılanıyor Tüm PublicController uçları [AllowAnonymous]
İçerik türü bildirimi Karşılanıyor /jsonld ve /credential application/ld+json döner; ana /dpp/{identifier} ucu Accept: application/ld+json ile anlamsal gövdeyi, YALNIZ application/json istendiğinde zarfsız saf pasaportu döner. Zarf ({success, data}) geriye dönük uyum için varsayılan kalır (PublicController.cs (Bella.API/Controllers/PublicController.cs))
İçerik pazarlığı (Accept başlığına göre biçim seçimi) Karşılanıyor GS1 Digital Link ucunda: Accept: application/ld+json → JSON-LD, aksi halde insan sayfasına 302 (Gs1DigitalLinkController.cs (Bella.API/Controllers/Gs1DigitalLinkController.cs)). /jsonld yolu geriye dönük uyumluluk için korunur.
Bağlantı kümesi (linkset) Karşılanıyor Accept: application/linkset+json ile /01/{gtin}[/21/{serial}] RFC 9264 linkset döner: pasaport sayfası, JSON-LD, PDF, sertifikalar, (birim düzeyinde) EPCIS ve imzalıysa VC. Bağlantı tipleri tam GS1 URI'si (Gs1LinksetBuilder.cs (Bella.Business/Helpers/Gs1LinksetBuilder.cs), test: Gs1LinksetTests.cs (Bella.Tests/Business/Gs1LinksetTests.cs))
Dil seçimi Karşılanıyor ?lang= — tr/en/es/fr/zh, PublicDppManager.cs (Bella.Business/Concrete/PublicDppManager.cs) SupportedLanguages

EN 18219 — Tanımlayıcılar (identifiers)

Madde konusu Durum Karşılık
Ürün modeli tanımlayıcısı (GTIN / AI 01) Karşılanıyor Product.Gtin, kök düzeyde GET /01/{gtin} (+ api/public/gs1/… eski yol)
Birim tanımlayıcısı (seri no / AI 21) Karşılanıyor ProductItem, kök düzeyde GET /01/{gtin}/21/{serial}
Parti/lot tanımlayıcısı Karşılanıyor ProductItem.BatchNumber
Pasaportun kalıcı tanımlayıcısı Karşılanıyor DppPassport.PassportIdentifier, JSON-LD'de dpp:passportIdentifier
Ekonomik operatör tanımlayıcısı Karşılanıyor did:web yayımcı kimliği (/.well-known/did.json) + Company.EuOperatorRegistrationNumber (EN 18219 kayıt numarası) ve Company.EconomicOperatorId (EORI). Registry gövdesinde economicOperator.registrationNumber olarak gider (RegistryManager.cs (Bella.Business/Concrete/RegistryManager.cs))
Tesis (facility) tanımlayıcısı Karşılanıyor Company.FacilityId — firma ekranından girilir, registry gönderiminde kullanılır; boşsa gönderim ön kontrolde DURDURULUR (sentetik URN üretilmez)
Gümrük emtia kodu (HS/TARIC) — Registry Md. 8 (2026/1778) Karşılanıyor Product.CommodityCode; ürün diyalogu + Excel içe/dışa aktarım; registry gövdesinde commodityCode. Boşsa gönderim ön kontrolde durur ve kuyrukta eksik olarak görünür
Parti↔model kimlik bağı — Registry Md. 8(4)-(5) (2026/1778) Karşılanıyor Registry gövdesinde identifiers{granularity=model, model, batch}; pasaport model düzeyinde, parti no varsa modele bağlı gider, olmayan düzey uydurulmaz
Sürüm içerik özeti — Registry kayıt kanıtı Md. 9 (2026/1778) Karşılanıyor DppVersion.ContentHash = SHA-256(anlık görüntü), yayında hesaplanır (IcerikOzeti.cs (Bella.Business/Helpers/IcerikOzeti.cs)); registry gövdesinde versionHash, sürüm listesinde contentHash

EN 18220 — Veri taşıyıcı (data carrier)

Madde konusu Durum Karşılık
Görsel taşıyıcı üretimi Karşılanıyor QR (QRCoder, ECC Q, PNG+SVG) ve Data Matrix ECC 200 (ZXing, SVG) — QrManager.cs (Bella.Business/Concrete/QrManager.cs), VeriTasiyiciBuilder.cs (Bella.Business/Helpers/VeriTasiyiciBuilder.cs)
Taşıyıcının kalıcı web adresi kodlaması Karşılanıyor GTIN varsa taşıyıcı {taban}/01/{gtin} kodlar (GS1 Digital Link, kök düzeyinde çözülür). GTIN yoksa iç adrese düşer ve panel bunu açıkça uyarır — sessizce standart dışı kod basılmaz.
Data Matrix Karşılanıyor ECC 200, kare biçim, SVG çıktı — GET api/dpp/{id}/carriers
NFC / RFID Karşılanıyor NDEF URI kaydı (TNF=1, RTD='U') hex olarak üretilir; etikete yazma işi kodlayıcı cihaza aittir (sunucunun donanım erişimi yok)
Taşıyıcı-bağımsızlık (aynı veri farklı taşıyıcılardan) Karşılanıyor Üç taşıyıcı da AYNI adresi taşır; testle korunur (VeriTasiyiciTests.cs (Bella.Tests/Business/VeriTasiyiciTests.cs))

EN 18221 — Veri saklama ve yedeklilik (storage/backup)

Madde konusu Durum Karşılık
Öz-yeterli yedek paketi Karşılanıyor BackupManager.cs (Bella.Business/Concrete/BackupManager.cs) — kimlikler + JSON-LD + VC + tüm versiyon snapshot'ları
Bağımsız üçüncü tarafa devredilebilirlik Karşılanıyor Dpp:BackupEndpoint yapılandırıldıysa best-effort POST; yoksa operatör paketi indirir
Operatör kaybolsa da pasaportun yaşaması Karşılanıyor Paket öz-yeterli — dış referans gerektirmez
Saklama süresi beyanı Karşılanıyor DppPassport.RetentionUntil — yayında hesaplanıp SAKLANIR (yayın tarihi + urun_omru_yil + Dpp:RetentionYears); JSON-LD'de dpp:retentionUntil ve /vocab'da tanımlı (DppSemanticBuilder.cs (Bella.Business/Helpers/DppSemanticBuilder.cs), test: JsonLd_SaklamaSuresiBeyani_CiktidaYerAlir)
Yedeğin düzenli/otomatik alınması Karşılanıyor Hangfire recurring job dpp-scheduled-backup (her gece 02:30) → IBackupService.RunScheduledBackupAsync. Sağlayıcı ucu yoksa paketler Dpp:BackupDirectory altına DOSYA olarak yazılır; elle tetikleme POST api/backup/run

EN 18222 — Yaşam döngüsü verisi ve API

Madde konusu Durum Karşılık
Olay modeli (EPCIS 2.0) Karşılanıyor EpcisManager.cs (Bella.Business/Concrete/EpcisManager.cs), bizStep/disposition
Birim düzeyi public olay geçmişi Karşılanıyor GET api/public/epcis/01/{gtin}/21/{serial} → ham application/ld+json
Pasaport versiyonlama Karşılanıyor DppPassport.Version, versiyon snapshot'ları ve fark görünümü
Aşağı akış aktörlerinin (onarımcı, geri dönüşümcü) olay yazması Karşılanıyor Tek kullanımlık, süreli, tek ürüne kapsamlı imzalı token (DownstreamActorToken.cs (Bella.Business/Helpers/DownstreamActorToken.cs)) → POST api/public/epcis/submit (anonim). Katkı moderasyon kuyruğuna düşer, onaylanana kadar public çıktıya girmez; kapsam ve tek kullanım testle korunur (AsagiAkisAktoruTests.cs (Bella.Tests/Business/AsagiAkisAktoruTests.cs))
Sahiplik/el değiştirme geçmişi Karşılanıyor ProductOwnership — birim düzeyi sahiplik zinciri; public pasaportta seri no ile çözülen görünümde (ProductOwnershipManager.cs (Bella.Business/Concrete/ProductOwnershipManager.cs))

EN 18223 — Semantik model

Madde konusu Durum Karşılık
JSON-LD çıktısı Karşılanıyor DppSemanticBuilder.cs (Bella.Business/Helpers/DppSemanticBuilder.cs) BuildJsonLd
Ortak sözcük dağarcığı kullanımı Karşılanıyor schema.org terimleri doğrudan kullanılıyor (tekrarlanmıyor)
Kendi terimlerinin çözülebilir ad alanında tanımlı olması Karşılanıyor Dpp:VocabularyUri → GET /vocab (VocabController.cs (Bella.API/Controllers/VocabController.cs)); çıktıdaki her dpp: terimi testle bu belgeye bağlı (JsonLd_HerDppTerimi_SozcukDagarcigindaTanimli)
GS1 Digital Link tabanlı @id Karşılanıyor @id = {base}/01/{gtin}, GTIN yoksa urn:bella:dpp:{identifier}
Resmî AB DPP Core Ontology eşlemesi Yok — yapılamaz Ontoloji henüz yayımlanmadı. Yayımlandığında owl:equivalentProperty ile eşlenecek; sözcük dağarcığı belgesi bu sınırı kendi içinde beyan ediyor.
SHACL şekilleri (doğrulama şeması) Kısmen GET /shapes → SHACL NodeShape belgesi (DppShapesBuilder.cs (Bella.Business/Helpers/DppShapesBuilder.cs)); her pasaport için GET api/public/dpp/{identifier}/shacl-report → sh:ValidationReport. Şekiller ile doğrulayıcı TEK kaynaktan okur, ayrışamaz (test: ShaclSekilTests). Sınır: tam SHACL motoru değildir — desteklenen kısıtlar sh:datatype, sh:minCount, sh:maxCount, sh:minInclusive, sh:maxInclusive, sh:pattern, sh:minLength, sh:maxLength, sh:nodeKind, sh:in, sh:node; sh:or/sh:xone/sh:sparql/sh:qualifiedValueShape YOK ve belge bunu kendi içinde beyan eder. Dış RDF kütüphanesi bilerek eklenmedi (29.08.2026 kararı).

Taslak metinler — uygunluk iddiası edilmez

Aşağıdaki metinler henüz taslak (prEN) aşamasındadır. Yayımlanmamış bir standarda uygunluk beyan edilemez; uygulamamız taslağa göre kurulmuştur, iddia taşımaz.

  • prEN 18239 — Katmanlı erişim
  • prEN 18246 — Veri bütünlüğü

Kaynak belge: depo kökündeki UYUMLULUK-HARITASI.md