# API ve anahtarlar (https://docs.akollo.com/tr/connections/api)



Diğer sistemler Akollo’ya bir API anahtarıyla açık API üzerinden ulaşır. Anahtarları yöneticiler oluşturur. Her anahtar yalnızca gereken kapsamları taşır ve istendiği an iptal edilebilir.

## API anahtarları [#api-anahtarları]

**Entegrasyonlar → API anahtarları** sayfası her anahtar için şunları listeler:

| Sütun             | Gösterdiği bilgi                                                                        |
| ----------------- | --------------------------------------------------------------------------------------- |
| **Ad**            | Anahtara verdiğiniz ad                                                                  |
| Anahtar           | Anahtarın ilk karakterleri                                                              |
| **Servis hesabı** | Anahtarın adına çalıştığı servis hesabı                                                 |
| **Kapsamlar**     | Anahtarın neleri okuyabileceği                                                          |
| **Son kullanma**  | Son kullanma tarihi                                                                     |
| **Son kullanım**  | Anahtarın en son ne zaman kullanıldığı                                                  |
| **Durum**         | **Onay bekliyor**, **Etkin**, **Döndürülüyor**, **İptal edildi** ya da **Süresi doldu** |

Onay bekleyen bir anahtar, kimin onaylaması gerektiğini gösterir.

### API anahtarı oluşturma [#api-anahtarı-oluşturma]

<Steps>
  <Step>
    ### API anahtarları sayfasını açın [#api-anahtarları-sayfasını-açın]

    **Entegrasyonlar → API anahtarları** sayfasına gidin ve anahtar oluşturma formunu açın.
  </Step>

  <Step>
    ### Ad verin ve servis hesabını seçin [#ad-verin-ve-servis-hesabını-seçin]

    Anahtara, hangi sistemin kullandığını anlatan bir ad verin. Anahtarın adına çalışacağı **Servis hesabı**’nı seçin. Bir anahtarın yapabilecekleri her zaman servis hesabının rolüyle sınırlıdır.
  </Step>

  <Step>
    ### Kapsamları belirleyin [#kapsamları-belirleyin]

    Anahtarın ihtiyaç duyduğu her kapsamı **Okuma** olarak ayarlayın, diğerlerini **Yok** olarak bırakın. İş öğeleri ve Süzgeçler kapsamları yalnızca okuma düzeyinde sunulur.
  </Step>

  <Step>
    ### Son kullanma tarihini ve adresleri girin [#son-kullanma-tarihini-ve-adresleri-girin]

    Bir son kullanma tarihi seçin; anahtar en geç bir yıl içinde sona erer. İsterseniz anahtarın kullanılabileceği **İzinli IP aralıkları**’nı satır başına bir tane olacak şekilde yazın.
  </Step>

  <Step>
    ### Anahtarı oluşturun ve saklayın [#anahtarı-oluşturun-ve-saklayın]

    **Anahtar oluştur**’u seçin. Anahtar yalnızca bir kez gösterilir. Kopyalayın, güvenli bir yerde saklayın ve sakladığınızı onaylayın. Anahtar `akl_live_` ya da `akl_test_` ile başlar.
  </Step>
</Steps>

<Callout type="info" title="Not">
  Onay gerektiren bir anahtar, örneğin kayıt değiştirebilen bir anahtar, farklı bir yönetici onaylayana kadar bekler. Anahtarı oluşturan kişi onu onaylayamaz.
</Callout>

### Anahtarı döndürme ya da iptal etme [#anahtarı-döndürme-ya-da-iptal-etme]

* **Döndür** anahtarı yenisiyle değiştirir. Eski anahtar kısa bir bekleme süresi boyunca çalışmaya devam eder; böylece onu kullanan sistemi güncelleyebilirsiniz. Bu sırada anahtarın durumu **Döndürülüyor** olarak görünür.
* **İptal et** bir anahtarı istediğiniz an geri çeker.

<Steps>
  <Step>
    ### Anahtarı bulun [#anahtarı-bulun]

    **Entegrasyonlar → API anahtarları** listesinde anahtarı bulun.
  </Step>

  <Step>
    ### Gerekçe yazarak iptal edin [#gerekçe-yazarak-iptal-edin]

    **İptal et**’i seçin ve **Neden** alanını doldurun. Anahtarın durumu **İptal edildi** olur.
  </Step>
</Steps>

## Açık API [#açık-api]

Programlar `/api/public/v1` adresini çağırır ve geliştirildikleri API sürümünün tarihini `Akollo-Version` başlığında gönderir.

* Okuma kapsamı olan bir anahtar projeleri, görevleri, izlenen çalışanları ve günlük süre özetlerini listeleyebilir ve tek tek getirebilir.
* İş öğeleri ve Süzgeçler kapsamları, anahtarın iş öğelerini okumasına ve aramasına, kayıtlı süzgeçleri ve görünümleri okumasına, bir iş öğesinin eklerini listeleyip indirmesine de olanak verir.
* Listeler bir sayfa kayıt ve sonraki sayfa için bir imleç döndürür. Her liste sayfa boyutu, imleç ve belirli bir andan sonraki değişiklikleri okumak için bir zaman kabul eder.
* Olmayan bir kayıt ile başka bir kuruma ait kayıt aynı görünür.
* Günlük özet yalnızca çağıranın o kişinin gününü görme izni varsa döner. Özette tarih, çalışılan ve sayılan süre ile rakamın güncel olup olmadığı yer alır. Etkinlik, ekran görüntüsü ya da görev dağılımı içermez.
* Hatalar problem belgesi olarak döner. Bir hata, başka bir kuruma ait kaydı hiçbir zaman anlatmaz.
* Dosyalar ve CSV dışa aktarımları kendi içerik türleriyle, olduğu gibi döner.

## İstekler, yinelemeler ve sınırlar [#i̇stekler-yinelemeler-ve-sınırlar]

Bir yazma isteği `Idempotency-Key` taşır. Böylece program, zaman aşımından sonra isteği güvenle yineleyebilir.

<Mermaid
  title="Yinelenen bir yazma isteği nasıl işlenir"
  chart="`sequenceDiagram
participant P as Program
participant A as Akollo
P->>A: Idempotency-Key ve gövdeyle yazma
A-->>P: İlk yanıt
P->>A: 24 saat içinde aynı anahtar ve aynı gövde
A-->>P: Yine ilk yanıt
P->>A: Aynı anahtar, farklı gövde
A-->>P: Reddedilir`"
/>

| Durum                                               | Sonuç                                                                                     |
| --------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| 24 saat içinde aynı `Idempotency-Key` ve aynı gövde | İlk yanıt döner; yazma yeniden çalışmaz.                                                  |
| Aynı `Idempotency-Key`, farklı gövde                | Reddedilir.                                                                               |
| İlk yanıt 64 KiB’den büyük                          | Saklanmaz. Aynı anahtarla yineleme reddedilir ve yeniden çalışmaz.                        |
| Dakikalık sınıra ulaşıldı                           | Her çağıranın dakikalık bir sınırı vardır. Yanıt, ne zaman yeniden deneneceğini bildirir. |

## Geliştirici başvurusu [#geliştirici-başvurusu]

Etkin işlemlerin OpenAPI açıklaması `/api/public/v1/openapi.json` (ve `.yaml`) adresindedir.

**Entegrasyonlar → Geliştirici** sayfası, seçilen sürümdeki her uç noktayı gerekli kapsamı ve örnek bir `curl` isteğiyle gösterir. Örnekteki anahtar her zaman bir yer tutucudur; sayfa gerçek bir anahtarla hiçbir zaman istek göndermez. Kullanımdan kalkan ya da kapanış tarihi belli olan uç noktalar işaretlidir. Devre dışı bir modülün uç noktaları listelenmez.

## Sık sorulan sorular [#sık-sorulan-sorular]

<Accordions type="single">
  <Accordion title="API anahtarını kaybettim. Yeniden görebilir miyim?">
    Hayır. Anahtar yalnızca bir kez gösterilir. Yeni bir anahtar almak için anahtarı döndürün; eski anahtar kısa bir bekleme süresi boyunca çalışmaya devam eder.
  </Accordion>

  <Accordion title="Yeni anahtarım neden onay bekliyor?">
    Onay gerektiren bir anahtar, örneğin kayıt değiştirebilen bir anahtar, farklı bir yönetici onaylayana kadar bekler. Anahtarı oluşturan kişi onu onaylayamaz.
  </Accordion>

  <Accordion title="Bir anahtar, servis hesabının yetkisini aşabilir mi?">
    Hayır. Bir anahtarın yapabilecekleri her zaman servis hesabının rolüyle sınırlıdır.
  </Accordion>

  <Accordion title="Zaman aşımından sonra bir yazma isteğini yinelemek güvenli mi?">
    Evet; 24 saat içinde aynı `Idempotency-Key` ve aynı gövdeyi gönderirseniz ilk yanıtı alırsınız ve yazma iki kez çalışmaz.
  </Accordion>

  <Accordion title="Çok sık çağrı yaparsam ne olur?">
    Her çağıranın dakikalık bir sınırı vardır. Sınıra ulaşıldığında yanıt, ne zaman yeniden deneyeceğinizi bildirir.
  </Accordion>
</Accordions>

## İlgili sayfalar [#i̇lgili-sayfalar]

* [BI veri kümeleri](/tr/connections/bi-datasets)
* [Webhook’lar](/tr/connections/webhooks)
* [Bağlı sistemler](/tr/connections)
