⚙️ Geliştiriciler için

DPP API

Ürün verisi zaten ERP’nizde, PIM’inizde ya da batarya yönetim sisteminizde. API ile pasaportları elle girmeden oluşturun, güncelleyin, seri numaralarını ve pil durumunu otomatik gönderin.

Base URL: https://www.qrnot.com/api/dpp/v1

OpenAPI tanımı (Postman / Swagger’a aktarın) ↗

1. Anahtar

Panelde Firma → API anahtarları bölümünden bir anahtar oluşturun (sadece firma yöneticisi). Anahtar bir kez gösterilir; her istekte başlıkta gönderin. Anahtarlar okuma ya da okuma + yazma yetkili olabilir, istediğiniz an iptal edilebilir.

Authorization: Bearer qrn_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Kurallar

  • Yazdığınız her şey önce taslağa kaydedilir. Herkese açık pasaport sadece /publish çağrısıyla değişir; her yayın yeni bir sürüm olarak saklanır.
  • Batarya durumu (sağlık %, döngü, şarj) istisnadır: yayın gerekmez, hemen pasaporta yansır.
  • Her yazma işlemi firmanızın işlem kaydına “api:<anahtar adı>” olarak yazılır.
  • Sınır: anahtar başına saatte 1200 istek, istek başına en fazla 2000 seri numarası. Paketinizin ürün sınırı API için de geçerlidir.
  • externalId (ERP ürün kodunuz) ile gönderirseniz aynı istek tekrar gelse de çift kayıt oluşmaz.
  • Hatalar her zaman { "error": { "code", "message", "details" } } biçimindedir; mesaj dili x-dpp-lang başlığıyla seçilir (tr, en, de, fr, es, nl, ar, ru).

2. Uç noktalar

GET/meFirma, paket sınırı ve anahtar yetkileri (bağlantı testi)
GET/productsÜrün listesi (?status=draft|published|archived)
POST/productsYeni ürün taslağı (externalId varsa ekle-ya-da-güncelle)
GET/products/{id}Ürünün tamamı (taslak hali)
PATCH/products/{id}Kısmi güncelleme; gönderilmeyen alanlar kalır
POST/products/{id}/publishTaslağı yeni sürüm olarak yayınla
GET/products/{id}/itemsSeri numaraları (?q=&limit=&offset=)
POST/products/{id}/itemsSeri numarası ekle: liste ya da aralık
PUT/products/{id}/itemsBatarya: çok sayıda pilin durumunu toplu güncelle
PATCH/products/{id}/items/{serial}Batarya: tek pilin durumu
GET/products/external/{externalId}ERP koduyla oku
PUT/products/external/{externalId}ERP koduyla ekle-ya-da-güncelle

3. Örnekler

ERP kodu ile ürün oluştur ya da güncelle

curl -X PUT https://www.qrnot.com/api/dpp/v1/products/external/VB-48-15AH \
  -H "Authorization: Bearer qrn_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "defaultLang": "en",
    "texts": { "en": { "name": "E-bike battery 48V 15Ah" } },
    "data": {
      "brand": "Volta", "model": "VB-48", "category": "battery",
      "gtin": "08691234567892", "countryOfOrigin": "TR",
      "sector": { "batteryCategory": "lmt", "chemistry": "Li-ion LFP" }
    }
  }'

Yayınla

curl -X POST https://www.qrnot.com/api/dpp/v1/products/{id}/publish \
  -H "Authorization: Bearer qrn_live_…"

Seri numaralarını ekle (her biri ayrı pasaport)

curl -X POST https://www.qrnot.com/api/dpp/v1/products/{id}/items \
  -H "Authorization: Bearer qrn_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "serials": [
        { "serial": "VB-000101", "batch": "L2026-10", "productionDate": "2026-10-20" },
        { "serial": "VB-000102", "batch": "L2026-10", "productionDate": "2026-10-20" }
      ] }'

Tek bir pilin durumunu güncelle

curl -X PATCH https://www.qrnot.com/api/dpp/v1/products/{id}/items/VB-000101 \
  -H "Authorization: Bearer qrn_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "stateOfHealthPct": 97, "cycles": 120, "stateOfChargePct": 80 }'

4. Sektör alanları

Alanlar data.sector içinde gönderilir; ürün kategorisine göre modül seçilir. “Zorunlu” alanlar eksikse yayınlama 400 döner ve eksikler error.details içinde listelenir.

Batarya category: battery

AnahtarAlanTürKaynak
batteryCategoryBatarya kategorisizorunluev | lmt | industrial | sli | portableMd. 77(1), Ek VI-A
chemistryPil kimyasızorunlustringEk VI-A, Ek XIII 1(b)
manufacturingPlaceÜretim yeri (tesis)zorunlustringEk VI-A
ratedEnergyKwhNominal enerjinumber (kWh)Md. 77(1)
hazardousSubstancesTehlikeli maddeler (Hg, Cd, Pb dışında)zorunlustringEk VI-A, Ek XIII 1(b)
criticalRawMaterialsKritik hammaddeler (> %0,1)[cobalt | lithium | nickel | natural_graphite | manganese | other]Ek VI-A, Ek XIII 1(b)
extinguishingAgentKullanılabilir söndürücü maddezorunlustringEk VI-A
ratedCapacityAhNominal kapasitezorunlunumber (Ah)Ek XIII 1(g)
voltageMinAsgari voltajnumber (V)Ek XIII 1(h)
voltageNominalNominal voltajzorunlunumber (V)Ek XIII 1(h)
voltageMaxAzami voltajnumber (V)Ek XIII 1(h)
voltageTempRangeVoltaj değerleri için sıcaklık aralığıstringEk XIII 1(h)
powerOriginalWBaşlangıç güç kapasitesizorunlunumber (W)Ek XIII 1(i)
powerLimitsTempGüç sınırları ve sıcaklık aralığıstringEk XIII 1(i)
expectedLifetimeCyclesBeklenen ömürzorunlunumber (cycles)Ek XIII 1(j)
lifetimeTestRefÖmür testi referansıstringEk XIII 1(j)
capacityThresholdPctTükenme kapasite eşiğinumber (%)Ek XIII 1(k)
storageTempMinKullanılmazken asgari sıcaklıknumber (°C)Ek XIII 1(l)
storageTempMaxKullanılmazken azami sıcaklıknumber (°C)Ek XIII 1(l)
calendarWarrantyYearsTakvim ömrü ticari garantisinumber (years)Ek XIII 1(m)
rteInitialPctBaşlangıç gidiş-dönüş verimliliğinumber (%)Ek XIII 1(n)
rteAt50PctÖmrün %50’sinde verimliliknumber (%)Ek XIII 1(n)
resistanceCellMohmHücre iç direncinumber (mΩ)Ek XIII 1(o)
resistancePackMohmPaket iç direncinumber (mΩ)Ek XIII 1(o)
cycleLifeCRateÖmür testinin C oranınumber (C)Ek XIII 1(p)
carbonFootprintPerKwhKarbon ayak izi (yaşam döngüsü)number (kg CO₂e/kWh)Md. 7, Ek XIII 1(c)
carbonClassKarbon performans sınıfıA | B | C | D | EMd. 7(2)
carbonStudyUrlKarbon ayak izi çalışmasının herkese açık sürümüstringMd. 7(1)
dueDiligenceReportTedarik zinciri durum tespiti raporustringMd. 52(3), Ek XIII 1(d)
recycledCobaltPctGeri kazanılmış kobalt payınumber (%)Md. 8, Ek XIII 1(e)
recycledLithiumPctGeri kazanılmış lityum payınumber (%)Md. 8, Ek XIII 1(e)
recycledNickelPctGeri kazanılmış nikel payınumber (%)Md. 8, Ek XIII 1(e)
recycledLeadPctGeri kazanılmış kurşun payınumber (%)Md. 8, Ek XIII 1(e)
renewableContentPctYenilenebilir içerik payınumber (%)Ek XIII 1(f)
markingsEtiket ve işaretler[ce | separate_collection | cd | pb | capacity]Md. 13, Ek XIII 1(q)
docReferenceAB uygunluk beyanı referansızorunlustringMd. 18, Ek XIII 1(r)
wasteInfoAtık pillerin önlenmesi ve yönetimi bilgisizorunlustringMd. 60(1), Ek XIII 1(s)
detailedCompositionAyrıntılı bileşim (katot, anot, elektrolit)stringEk XIII 2(a)
sparePartsYedek parça numaraları ve tedarik iletişimistringEk XIII 2(b)
dismantlingSökme bilgisi (şemalar, sıra, bağlantılar, aletler, uyarılar, hücre düzeni)stringEk XIII 2(c)
safetyMeasuresGüvenlik önlemleristringEk XIII 2(d)

Tekstil ve ayakkabı category: textile | footwear

AnahtarAlanTürKaynak
productTypeÜrün türüstring—
sizeRangeBeden aralığıstring—
animalOriginHayvansal kaynaklı tekstil dışı parça içerirno | yes1007/2011 md. 12
countrySpinningİplik eğirmestring—
countryWeavingDokuma / örmestring—
countryDyeingBoya, baskı ve terbiyestring—
countryAssemblyKonfeksiyon (dikim)string—
careWashYıkamaw95 | w60 | w40 | w30 | hand | nowashISO 3758
careBleachAğartmableach_any | bleach_oxygen | bleach_noISO 3758
careDryKurutmatumble_normal | tumble_low | tumble_no | line | flatISO 3758
careIronÜtülemeiron_high | iron_medium | iron_low | iron_noISO 3758
careProfessionalProfesyonel temizlemeprof_p | prof_f | prof_w | prof_noISO 3758
pillingGradeBoncuklanma derecesi (1–5)numberISO 12945
colourFastnessWashYıkama haslığı (1–5)numberISO 105-C06
colourFastnessLightIşık haslığı (1–8)numberISO 105-B02
dimensionalChangePctYıkamada boyut değişiminumber (%)ISO 5077
washCyclesTestedTest edilen yıkama sayısınumber—
recyclabilityGeri dönüşüme uygunlukmono | mostly_mono | blend—
recyclingDisruptorsGeri dönüşümü zorlaştıranlar (elastan, kaplama, metal aksesuar)string—
removableTrimsAksesuarlar kolayca sökülebiliryes | no | na—
microfibreReleaseMikrolif salımınumber (mg/kg)—
reachConformREACH Ek XVII kısıtlamalarına uygunyes | noREACH Ek XVII
chemicalCertificationsKimyasal sertifikalar (OEKO-TEX, ZDHC…)string—

Mobilya category: furniture

AnahtarAlanTürKaynak
furnitureTypeMobilya türüstring—
useEnvironmentKullanım ortamıindoor | outdoor | both—
maxLoadKgAzami yüknumber (kg)—
componentMaterialsParça bazında malzemelerstring—
woodSpeciesAhşap türüstring—
woodOriginAhşabın hasat ülkesistring—
woodCertificationOrman sertifikasıstringFSC / PEFC
upholsteryDöşeme kumaşı bileşimistring—
foamTypeSünger / dolgu türüstring—
formaldehydeClassFormaldehit emisyon sınıfıe05 | e1 | e2 | naEN 717-1 / EN 16516
flameRetardantsAlev geciktiricinone | present—
flameRetardantDetailsAlev geciktirici ayrıntısıstring—
vocInfoUçucu organik bileşik (VOC) bilgisistring—
testedStandardsUygulanan dayanıklılık / güvenlik standartlarıstringEN 16139, EN 12520, EN 1730…
disassemblySökülebilirliktool_free | standard_tools | special_tools | not_designed—
fastenersBağlantı elemanlarıstring—
sparePartsListYedek parça listesistring—
recyclabilityInfoÖmür sonu ve geri dönüşümstring—
packagingAmbalaj malzemeleristring—
eudrReferenceEUDR durum tespiti beyanı referansıstringEUDR 2023/1115 md. 4

Pil durumu alanları (seri numarası başına)

AnahtarAlanTürKaynak
statusPil statüsüoriginal | repurposed | reused | remanufactured | wasteEk XIII 4
stateOfHealthPctSağlık durumu (SoH)number (%)Md. 14, Ek XIII 4
remainingCapacityAhKalan kapasitenumber (Ah)Ek VII, Ek XIII 4
cyclesŞarj-deşarj çevrim sayısınumber (cycles)Ek XIII 4
stateOfChargePctŞarj durumu (SoC)number (%)Ek XIII 4
negativeEventsOlumsuz olaylar (kaza vb.)stringEk XIII 4
operatingConditionsÇalışma koşulları (sıcaklık geçmişi)stringEk XIII 4

Not: API, AB merkezi DPP kayıt sistemine gönderim yapmaz; bu kayıt sisteminin teknik ayrıntıları henüz yayımlanmadı.