Geliştiriciler · API v1

CEPASS API: ERP ve entegrasyonlar

Kurumsal sistemleriniz CEPASS'taki CE durumunu doğrudan okuyabilir: ürün kodunuzla eşleştirin, sevkiyattan önce beyanın onaylı olup olmadığına bakın, değişiklikleri akıştan ya da imzalı webhooklardan alın. Uçlar JSON konuşur; kimlik doğrulama panelde oluşturduğunuz anahtarla yapılır.

Adres
/api/v1 · CEPASS adresinizin altında
Kimlik doğrulama
Bearer anahtar (cpk_…)
Biçim
JSON · UTF-8 · zamanlar UTC (ISO 8601)
Sınır
Anahtar başına dakikada 120 istek

Demo çalışma alanındaki ürün, kişi ve belge verileri kurgusaldır; bu sayfadaki örnek yanıtlar o veriden CEPASS motorlarıyla üretildi.

Neler yapabilirsiniz

Ürün koduyla eşleştirme

ERP'deki ürün ya da malzeme kodunu CEPASS projesine bağlayın. Kod benzersizdir; ürünü kodla tek istekte bulursunuz.

GET/urunlerPATCH/urunler/{id}

Sevkiyat öncesi CE kontrolü

Sevk ya da satış onayından önce piyasayaHazir değerine bakın: yalnız onaylı beyanı olan ürün true döner. Engel sayısı ve teknik dosya tamlığı da yanıtta.

GET/urunler/{id}

Etikete doğrulama kodu

Onaylı beyanın doğrulama kodu ve herkese açık doğrulama adresi beyan ucundadır; etiket ya da QR baskınıza aktarın. İçerik değişirse kod "onay düştü" gösterir.

GET/urunler/{id}/beyan

ERP'den ürün açma

ERP'de açılan yeni ürün için CEPASS projesini oluşturun. Aynı kod ikinci kez gelirse yeni kayıt açılmaz; mevcut ürünün kimliği döner.

POST/urunler

Değişiklikte görev

Mühendislik değişikliği ya da yeni tedarikçi gibi olayları CE ekibine görev olarak iletin. Görev, ürünün sorumlusuna atanır.

POST/gorevler

Değişiklik akışı ve webhook

Beyan onaylandığında ya da onayı düştüğünde, teknik dosya veya risk durumu değiştiğinde olay yayınlanır. İmleçle okuyun ya da imzalı webhookla alın.

GET/olaylar

Kimlik doğrulama

  1. Anahtarı oluşturun. Çalışma Alanı'nda yönetici rolündeki kullanıcı "API ve entegrasyonlar" ekranından anahtara bir ad verir, kapsamlarını ve geçerlilik süresini (30 gün, 90 gün, 180 gün, 1 yıl) seçer. Aynı anda en fazla 10 etkin anahtar olabilir.
  2. Bir kez kopyalayın. Anahtar cpk_ ile başlar ve yalnız oluşturulduğu anda gösterilir; CEPASS yalnız özetini saklar. Kaybolursa iptal edip yenisini oluşturun.
  3. Her istekte gönderin. Authorization: Bearer <anahtar> başlığıyla. Tarayıcı oturum çerezi bu uçlarda geçmez; anahtarı yalnız sunucu tarafında (ERP ya da ara katman) saklayın, tarayıcıda çalışan koda gömmeyin.
  4. İzleyin ve iptal edin. Her anahtarın son kullanımı ve istek sayısı panelde görünür; iptal edilen ya da süresi dolan anahtar 401 alır. API ile yapılan değişiklikler denetim izine anahtarın adıyla yazılır.
İstek başlığı
Authorization: Bearer cpk_1a2b3c4d_…

Kapsamlar

Her uç tek bir kapsam ister; anahtara yalnız entegrasyonun ihtiyaç duyduğu kapsamları verin.

KapsamNe verirUçlar
urun:okuÜrünleri ve CE durumunu okuma
Ürün (proje) listesi, CE uyum özeti, teknik dosya durumu.
GET /urunler
GET /urunler/{id}
GET /urunler/{id}/teknik-dosya
urun:yazÜrün oluşturma ve güncelleme
ERP ürün kodu, ad, model, tip, seri no ve teknik veriler.
POST /urunler
PATCH /urunler/{id}
beyan:okuBeyanları okuma
Beyan durumu ve alanları; onaylı beyanın doğrulama kodu ve adresi.
GET /urunler/{id}/beyan
gorev:okuGörevleri okuma
Ürünlere bağlı görevler ve durumları.
GET /gorevler
gorev:yazGörev açma
ERP/PLM tarafındaki değişiklikler için ürüne görev açar (ör. mühendislik değişikliği).
POST /gorevler
standart:okuStandart kütüphanesini okuma
Standartlar, durumları ve ardıl bilgisi.
GET /standartlar
olay:okuDeğişiklik akışını okuma
Ürünlerin CE uyum durumundaki değişiklikler (imleçle).
GET /olaylar

Uç noktaları

Tüm yollar /api/v1 altındadır. Liste yanıtları veriler, sayfa, adet, toplam ve sonrakiSayfa taşır; tek kayıt yanıtları veri taşır. Ürün kimliği PRJ-YYYY-NNN biçimindedir.

YöntemYolKapsamAçıklama
GET/durum—Bağlantıyı ve anahtarı doğrula
GET/urunlerurun:okuÜrünleri ve CE durumlarını listele
POST/urunlerurun:yazERP’den ürün aç
GET/urunler/{id}urun:okuTek ürünün ayrıntısı
PATCH/urunler/{id}urun:yazÜrün alanlarını ERP’den güncelle
GET/urunler/{id}/beyanbeyan:okuBeyan durumu ve alanları
GET/urunler/{id}/teknik-dosyaurun:okuTeknik dosya kalemleri
GET/gorevlergorev:okuGörevleri listele
POST/gorevlergorev:yazÜrüne görev aç
GET/standartlarstandart:okuStandart kütüphanesi
GET/olaylarolay:okuDeğişiklik akışı (imleçli)

GET/api/v1/durum

Bağlantıyı ve anahtarı doğrula

Anahtarın adı, kapsamları, bitiş tarihi ve kurum adı. Entegrasyonu kurarken ilk çağrı.

Kapsam gerekmez: her geçerli anahtar çağırabilir.

GET/api/v1/urunler

Ürünleri ve CE durumlarını listele

Her ürün (CEPASS projesi) için ERP ürün kodu ve CE uyum özeti: beyan durumu, piyasaya hazır mı, doğrulama kodu, teknik dosya tamlığı, açık risk ve eskimiş standart sayısı.

Kapsam: urun:oku

Sorgu parametresiTürAçıklama
qstringAd, model ya da ürün kodunda arama.
urunKodustringERP ürün koduyla tam eşleşme (büyük/küçük harf duyarsız).
beyanDurumustringtaslak | onay-bekliyor | onayli | onay-dustu
piyasayaHazirstringevet | hayir
guncellenmeSonrastringISO 8601 zaman; yalnız bu andan sonra güncellenen ürünler.
sayfaintegerSayfa numarası (1’den başlar).
adetintegerSayfa başına kayıt (1–100, varsayılan 25).

POST/api/v1/urunler

ERP’den ürün aç

ERP’deki ürün için CEPASS projesi açar. Ürün kodu benzersizdir; aynı kod ikinci kez gönderilirse 409 ve mevcut ürünün kimliği döner (güvenli yeniden deneme).

Kapsam: urun:yaz

Gövde alanıTürZorunluAçıklama
urunKodustringEvetERP ürün/malzeme kodu: harf, rakam, . _ - / (en fazla 64).
adstringEvetÜrün adı (en fazla 140).
urunTurustringEvetmakine | degistirilebilir-ekipman | guvenlik-bileseni | kaldirma-aksesuari | zincir-halat-bant | mekanik-guc-aktarma | kismen-tamamlanmis | elektrikli-ekipman
modelstringHayırModel (en fazla 80).
tipstringHayırTip (en fazla 80).
ticariAdstringHayırTicari ad (en fazla 160).
aciklamastringHayırKısa açıklama (en fazla 400).

GET/api/v1/urunler/{id}

Tek ürünün ayrıntısı

Özete ek olarak tanım alanları, teknik veriler, uygulanacak mevzuat, uygunluk değerlendirme yolu ve beyan engelleri.

Kapsam: urun:oku

PATCH/api/v1/urunler/{id}

Ürün alanlarını ERP’den güncelle

Yalnız gönderilen alanlar değişir. Ürün ana verisini günceller; beyanın alanlarını DEĞİŞTİRMEZ — beyan CEPASS’ta düzenlenir ve dört göz onayından geçer. Ürün değiştiyse CE ekibine "gorevler" ucuyla görev açın.

Kapsam: urun:yaz

Gövde alanıTürZorunluAçıklama
adstringHayırÜrün adı (en fazla 140).
modelstringHayırModel (en fazla 80).
tipstringHayırTip (en fazla 80).
ticariAdstringHayırTicari ad (en fazla 160).
aciklamastringHayırKısa açıklama (en fazla 400).
urunKodustringHayırERP ürün kodu (benzersiz).
genelAdstringHayırBeyandaki genel ad (en fazla 160).
islevstringHayırİşlev (en fazla 300).
seriNostringHayırSeri numarası ya da aralığı (en fazla 120).
teknikobjectHayırTeknik veriler: guc, besleme, akim, kutle, boyut, yapimYili, basinc, koruma, kapasite (her biri en fazla 80 karakter; gönderilen nesne öncekinin yerine geçer).

GET/api/v1/urunler/{id}/beyan

Beyan durumu ve alanları

AB uygunluk beyanı ya da birleştirme beyanı: durum, sürüm, mevzuat, standartlar, engeller. Onaylıysa doğrulama kodu ve herkese açık doğrulama adresi (ürün etiketi/QR için).

Kapsam: beyan:oku

GET/api/v1/urunler/{id}/teknik-dosya

Teknik dosya kalemleri

Kontrol listesindeki her kalemin durumu, belge adı ve sürümü; tamlık yüzdesi.

Kapsam: urun:oku

GET/api/v1/gorevler

Görevleri listele

Ürünlere bağlı görevler; son tarih ve zaman durumu (gecikti, yaklaşıyor, normal, tamam).

Kapsam: gorev:oku

Sorgu parametresiTürAçıklama
urunIdstringÜrün kimliği (PRJ-YYYY-NNN).
durumstringacik | devam | tamam
sayfaintegerSayfa numarası (1’den başlar).
adetintegerSayfa başına kayıt (1–100, varsayılan 25).

POST/api/v1/gorevler

Ürüne görev aç

ERP/PLM’deki bir değişikliği (ör. mühendislik değişikliği, yeni tedarikçi) CE ekibine görev olarak iletir. Sorumlu, ürünün sorumlusudur.

Kapsam: gorev:yaz

Gövde alanıTürZorunluAçıklama
urunIdstringEvetÜrün kimliği (PRJ-YYYY-NNN).
baslikstringEvetGörev başlığı (en fazla 200).
sonTarihstringHayırYYYY-AA-GG; verilmezse 14 gün sonrası.

GET/api/v1/standartlar

Standart kütüphanesi

Standart numarası, başlığı, durumu ve ardılı. Durum bilgileri örnektir; resmî kaynaktan doğrulayın.

Kapsam: standart:oku

Sorgu parametresiTürAçıklama
durumstringgecerli | ardil-yayimlandi | geri-cekildi
qstringNumara ya da başlıkta arama.
sayfaintegerSayfa numarası (1’den başlar).
adetintegerSayfa başına kayıt (1–100, varsayılan 25).

GET/api/v1/olaylar

Değişiklik akışı (imleçli)

Ürünlerin CE uyum durumundaki değişiklikler, eskiden yeniye. Son okuduğunuz olayın kimliğini "sonra" ile verin; webhook kaçırılsa bile akış eksiksiz yakalar.

Kapsam: olay:oku

Sorgu parametresiTürAçıklama
sonraintegerBu kimlikten sonraki olaylar (varsayılan 0).
turstringurun.olusturuldu | urun.kaldirildi | uyum.degisti | beyan.onaylandi | beyan.onay-dustu
adetintegerEn fazla kayıt (1–100, varsayılan 25).

CE özeti alanları

Ürün yanıtlarındaki ce nesnesi CEPASS'taki durumun özetidir; değişiklik akışı da bu alanlardaki farktan üretilir.

AlanAnlamı
beyanDurumuBeyanın durumu: taslak (taslak), onay-bekliyor (onay bekliyor), onayli (onaylı), onay-dustu (onay düştü (içerik değişti)).
beyanTuruuygunluk (AB uygunluk beyanı) ya da birlestirme (kısmen tamamlanmış makine için birleştirme beyanı).
beyanSurumuBeyanın sürüm numarası.
piyasayaHazirYalnız beyan onaylıysa true. Bir iş akışı sinyalidir, hukuki karar değildir; imalatçının sorumluluğu sürer.
dogrulamaKoduOnaylı beyanın CEP-XXXX-XXXX-XXXX-XXXX doğrulama kodu; beyan onaylı değilse null.
teknikDosyaTamlikTeknik dosya kontrol listesinin tamamlanma yüzdesi.
toplamRiskRisk değerlendirmesindeki kayıtlı risk sayısı.
acikRiskYeterince azaltılmamış risk sayısı.
eskimisStandartArdılı yayımlanmış ya da geri çekilmiş bağlı standart sayısı.
rehberYuzdeCE rehberi adımlarının tamamlanma yüzdesi.
engelSayisiBeyanın onaya çıkmasını engelleyen eksik sayısı (ayrıntısı ürün ve beyan uçlarında).

Örnekler

Örneklerde iki kabuk değişkeni kullanılır: CEPASS_URL (CEPASS'ı açtığınız adres) ve CEPASS_ANAHTAR (panelde oluşturduğunuz anahtar). Yanıtlar kurgusal demo verisindendir; uzun olanlar kısaltıldı.

Bağlantıyı doğrulayın

İstek
curl -s "$CEPASS_URL/api/v1/durum" \
  -H "Authorization: Bearer $CEPASS_ANAHTAR"
Yanıt · 200
{
  "veri": {
    "surum": "v1",
    "zaman": "2026-11-05T09:00:00.000Z",
    "kurum": "Örnek Makina A.Ş. (kurgusal)",
    "demo": true,
    "sonOlayId": 40,
    "anahtar": {
      "id": "AK-01",
      "ad": "ERP bağlantısı",
      "onek": "cpk_1a2b3c4d",
      "kapsamlar": [
        "urun:oku",
        "urun:yaz",
        "beyan:oku",
        "olay:oku"
      ],
      "bitis": "2027-02-03T09:00:00.000Z"
    }
  }
}

Ürünü ERP koduyla bulun

İstek
curl -s "$CEPASS_URL/api/v1/urunler?urunKodu=PH-200" \
  -H "Authorization: Bearer $CEPASS_ANAHTAR"
Yanıt · 200
{
  "veriler": [
    {
      "id": "PRJ-2026-001",
      "urunKodu": "PH-200",
      "ad": "Konveyörlü paletleme hücresi PH-200",
      "model": "PH-200",
      "tip": "Robotlu",
      "urunTuru": "makine",
      "urunTuruAd": "Makine",
      "ce": {
        "beyanDurumu": "taslak",
        "beyanTuru": "uygunluk",
        "beyanSurumu": 1,
        "piyasayaHazir": false,
        "dogrulamaKodu": null,
        "teknikDosyaTamlik": 20,
        "toplamRisk": 10,
        "acikRisk": 5,
        "eskimisStandart": 1,
        "rehberYuzde": 13,
        "engelSayisi": 4
      },
      "olusturuldu": "2026-10-29T09:00:00.000Z",
      "guncellendi": "2026-10-29T09:00:00.000Z",
      "panelAdresi": "https://cepass-adresiniz/panel/#/proje/PRJ-2026-001"
    }
  ],
  "sayfa": 1,
  "adet": 25,
  "toplam": 1,
  "sonrakiSayfa": null
}

ERP'den ürün açın

İstek
curl -s -X POST "$CEPASS_URL/api/v1/urunler" \
  -H "Authorization: Bearer $CEPASS_ANAHTAR" \
  -H "Content-Type: application/json" \
  -d '{"urunKodu":"KNV-310","ad":"Bantlı konveyör KNV-310","urunTuru":"makine","model":"KNV-310"}'
Yanıt · 201 (Location: /api/v1/urunler/PRJ-2026-005)
{
  "veri": {
    "id": "PRJ-2026-005",
    "urunKodu": "KNV-310",
    "ad": "Bantlı konveyör KNV-310",
    "model": "KNV-310",
    "tip": null,
    "urunTuru": "makine",
    "urunTuruAd": "Makine",
    "ce": {
      "beyanDurumu": "taslak",
      "beyanTuru": "uygunluk",
      "beyanSurumu": 1,
      "piyasayaHazir": false,
      "dogrulamaKodu": null,
      "teknikDosyaTamlik": 0,
      "toplamRisk": 0,
      "acikRisk": 0,
      "eskimisStandart": 0,
      "rehberYuzde": 0,
      "engelSayisi": 4
    },
    "olusturuldu": "2026-11-05T09:30:00.000Z",
    "guncellendi": "2026-11-05T09:30:00.000Z",
    "panelAdresi": "https://cepass-adresiniz/panel/#/proje/PRJ-2026-005"
  }
}
Aynı kod ikinci kez · 409
{
  "error": "Bu ürün kodu başka bir üründe kayıtlı.",
  "mevcut": {
    "id": "PRJ-2026-005"
  }
}

Ürün verisini güncelleyin

İstek
curl -s -X PATCH "$CEPASS_URL/api/v1/urunler/PRJ-2026-005" \
  -H "Authorization: Bearer $CEPASS_ANAHTAR" \
  -H "Content-Type: application/json" \
  -d '{"seriNo":"KNV-310-0001…0050","teknik":{"guc":"5,5 kW","besleme":"3~ 400 V, 50 Hz"}}'
Yanıt · 200 (kısaltılmış)
{
  "veri": { "id": "PRJ-2026-005", "urunKodu": "KNV-310", "ce": { … } },
  "degisenler": ["seriNo", "teknik"]
}

Değişiklikleri imleçle okuyun

İstek
curl -s "$CEPASS_URL/api/v1/olaylar?sonra=40&adet=50" \
  -H "Authorization: Bearer $CEPASS_ANAHTAR"
Yanıt · 200
{
  "veriler": [
    {
      "id": 41,
      "tur": "uyum.degisti",
      "zaman": "2026-11-05T10:12:00.000Z",
      "veri": {
        "urunId": "PRJ-2026-004",
        "urunKodu": "KP-3",
        "ad": "Kumanda panosu KP-3",
        "degisenler": [
          "beyanDurumu",
          "piyasayaHazir",
          "dogrulamaKodu"
        ],
        "onceki": {
          "beyanDurumu": "onay-bekliyor",
          "piyasayaHazir": false,
          "dogrulamaKodu": null
        },
        "ce": {
          "beyanDurumu": "onayli",
          "beyanTuru": "uygunluk",
          "beyanSurumu": 1,
          "piyasayaHazir": true,
          "dogrulamaKodu": "CEP-F2CD-3036-83CD-F106",
          "teknikDosyaTamlik": 100,
          "toplamRisk": 2,
          "acikRisk": 0,
          "eskimisStandart": 0,
          "rehberYuzde": 100,
          "engelSayisi": 0
        }
      }
    },
    {
      "id": 42,
      "tur": "beyan.onaylandi",
      "zaman": "2026-11-05T10:12:00.000Z",
      "veri": {
        "urunId": "PRJ-2026-004",
        "urunKodu": "KP-3",
        "ad": "Kumanda panosu KP-3",
        "beyanTuru": "uygunluk",
        "beyanSurumu": 1,
        "dogrulamaKodu": "CEP-F2CD-3036-83CD-F106"
      }
    }
  ],
  "sonOlayId": 42,
  "dahaVar": false,
  "enEskiOlayId": 1
}

Hata yanıtı

Yanıt · 400
{
  "error": "Lütfen işaretli alanları kontrol edin.",
  "fields": {
    "urunTuru": "Geçerli değerler: makine, …"
  }
}

Değişiklik akışı ve webhooklar

Panelde ya da API ile yapılan her kayıttan sonra tüm ürünlerin CE özeti öncekiyle karşılaştırılır; her fark bir olay olur. Olaylar artan kimlikle saklanır ve iki yoldan alınır:

  • Akış (önerilen kaynak): GET /api/v1/olaylar?sonra=<son kimlik>. Son işlediğiniz olayın kimliğini saklayın; dahaVar true ise hemen tekrar okuyun. enEskiOlayId sizin imlecinizden büyükse aradaki olaylar artık tutulmuyordur; ürün listesini guncellenmeSonra ile yeniden okuyun.
  • Webhook: panelde HTTPS adresi ve olay türleriyle tanımlanır (en fazla 5); CEPASS olay oluşunca imzalı bir POST gönderir. Webhook kaçırılsa bile olay akışta kalır.

Olay türleri

TürAdNe zaman
urun.olusturulduÜrün oluşturulduYeni ürün (proje) açıldığında — panelde ya da API ile. Veride ürünün ilk CE özeti bulunur.
urun.kaldirildiÜrün kaldırıldıÜrün çalışma alanında artık yoksa (ör. demo verisi sıfırlandığında).
uyum.degistiCE uyum özeti değiştiCE özetindeki bir alan değiştiğinde; "degisenler" ve "onceki" değerlerle birlikte.
beyan.onaylandiBeyan onaylandıBeyan dört göz onayından geçtiğinde; doğrulama koduyla.
beyan.onay-dustuBeyanın onayı düştüOnaylı beyanın içeriği değiştiğinde ya da onay geçersizleştiğinde; önceki kodla.

Panelde "Deneme gönder" ile test.ping türünde bir deneme olayı gönderilir; bu olay akışa yazılmaz.

Webhook isteği

BaşlıkDeğer
Content-Typeapplication/json
User-AgentCEPASS-Webhook/v1
X-CEPASS-OlayOlay türü (ör. beyan.onaylandi).
X-CEPASS-Olay-IdOlay kimliği; aynı olay yeniden denemede tekrar gelebilir, bununla tekilleştirin.
X-CEPASS-TeslimatTeslimat kaydının kimliği (panelde gönderim geçmişinde görünür).
X-CEPASS-Imzat=<unix saniye>,v1=<HMAC-SHA256 hex>
Gövde (ham, imzalanan metin — tek satır)
{"id":42,"tur":"beyan.onaylandi","zaman":"2026-11-05T10:12:00.000Z","surum":"v1","veri":{"urunId":"PRJ-2026-004","urunKodu":"KP-3","ad":"Kumanda panosu KP-3","beyanTuru":"uygunluk","beyanSurumu":1,"dogrulamaKodu":"CEP-F2CD-3036-83CD-F106"}}
İmza başlığı (gizli: whsec_ornek-gizli)
X-CEPASS-Imza: t=1793873520,v1=8924cd8906c69d079914737a1810de46f5e114d3506a92adf5154b5fbcd75fbf

İmzayı doğrulayın

İmza, gizli anahtarla <t>.<ham gövde> metninin HMAC-SHA256 özetidir. Zaman damgası beş dakikadan eskiyse isteği reddedin. Node.js örneği:

imza-dogrula.js
const { createHmac, timingSafeEqual } = require('node:crypto');

// gizli: panelde webhook eklerken bir kez gösterilen whsec_… değeri
// baslik: X-CEPASS-Imza başlığı · govde: isteğin HAM gövdesi (JSON.parse öncesi metin)
function imzaGecerli(gizli, baslik, govde, toleransSn = 300) {
  const p = Object.fromEntries(String(baslik).split(',').map((x) => x.split('=').map((y) => y.trim())));
  const t = Number(p.t);
  if (!Number.isInteger(t) || !/^[0-9a-f]{64}$/.test(p.v1 || '')) return false;
  if (Math.abs(Math.floor(Date.now() / 1000) - t) > toleransSn) return false;
  const beklenen = createHmac('sha256', gizli).update(`${t}.${govde}`).digest('hex');
  return timingSafeEqual(Buffer.from(p.v1), Buffer.from(beklenen));
}
  • 2xx dışındaki her yanıt ya da bağlantı hatası başarısız sayılır; olay en fazla üç kez denenir. Yönlendirme izlenmez.
  • Adres HTTPS olmalıdır; kullanıcı adı/şifre içeren ya da yerel/özel ağa giden adresler kabul edilmez. Doğrulamayı imzayla yapın.
  • İmza gizlisi (whsec_…) yalnız webhook eklenirken bir kez gösterilir.

Bu demo kurulumunda dış istek kapalıdır: sunucu CEPASS_WEBHOOK_GONDERIM=1 ile başlatılmadıkça webhook gönderilmez. Panel, gönderilecek imzalı isteği gösterir; olaylar akıştan okunabilir.

Sınırlar ve hatalar

  • Anahtar başına dakikada 120 istek. Yanıtlarda X-RateLimit-Limit ve X-RateLimit-Remaining bulunur; sınır aşılınca 429 ve Retry-After döner.
  • Hatalı anahtarla art arda yapılan denemeler bağlantı adresi başına kısa süre sınırlanır.
  • Liste uçlarında adet en fazla 100, varsayılan 25; sonraki sayfa sonrakiSayfa ile gelir (yoksa null).
  • Uçlar sunucudan sunucuya kullanım içindir; başka sitelerin tarayıcıdan çağırması için CORS başlığı verilmez.

Hata gövdesi her zaman { "error": "…" } biçimindedir; doğrulama hatalarında fields eklenir.

KodAnlamı
400Doğrulama hatası ya da geçersiz parametre; "fields" hangi alanın neden reddedildiğini söyler.
401Anahtar yok, biçimi yanlış, iptal edilmiş ya da süresi dolmuş (WWW-Authenticate başlığıyla).
403Anahtarda bu uç için gereken kapsam yok; "kapsam" alanı gerekeni söyler.
404Bilinmeyen uç ya da ürün bulunamadı.
405Uç bu yöntemi kabul etmiyor; Allow başlığı kabul edilenleri listeler.
409Ürün kodu başka bir üründe kayıtlı; "mevcut.id" o ürünün kimliğidir (güvenli yeniden deneme).
413İstek gövdesi çok büyük.
415Yazma isteğinde Content-Type: application/json yok.
429Dakikalık istek sınırı ya da hatalı anahtar denemesi sınırı aşıldı; Retry-After kaç saniye bekleneceğini söyler.

Sürümleme

Uçlar /api/v1 altında sürümlüdür (v1). Makine tarafından okunabilir tanım OpenAPI 3.1 belgesindedir; kapsamlar ve olay türleri belgedeki x-cepass-kapsamlar ve x-cepass-olaylar alanlarındadır. Kimlik doğrulama gerektirmeyen tek uç budur.

API hakkında sık sorulanlar

API anahtarını kim oluşturur?

Çalışma Alanı'nda yönetici rolündeki kullanıcı, "API ve entegrasyonlar" ekranından. Anahtar yalnız bir kez gösterilir; kaybolursa iptal edip yenisini oluşturun.

Hangi ERP sistemleriyle çalışır?

Belirli bir ERP için hazır bağlayıcı ya da SDK yoktur. HTTPS üzerinden JSON gönderip alabilen her sistem, entegrasyon platformu ya da betik API'yi çağırabilir; uç tanımları OpenAPI belgesindedir.

API ile beyanı değiştirebilir miyim?

Hayır. API ürün ana verisini günceller, görev açar ve beyanı okur. Beyan CEPASS'ta düzenlenir ve dört göz onayından geçer; onaylı beyanın doğrulama kodu API'den okunur.

Sistemim webhook alamıyorsa ne yapmalıyım?

Değişiklik akışını belirli aralıklarla okuyun ve son işlediğiniz olayın kimliğini "sonra" parametresiyle verin. Akış, webhook teslimatından bağımsız olarak olayları saklar.

Canlı tanıtım

CEPASS'ı kendi ürününüzle birlikte görün.