# Mikro API Süreci – Sık Sorulan Sorular (SSS)

## Mikro API Nedir?

Mikro API, Mikro Yazılım tarafından 3rd Party yazılım uygulamaları ile haberleşmeyi sağlayan, veri bütünlüğünü koruyan, akıllı kontrol sistemleriyle desteklenen bir hizmettir.

## Mikro API Hangi Uygulama Dili ile Yazılmıştır?

REST mimarisi kullanılarak geliştirilmiştir. Veri alışverişi JSON formatında gerçekleşir.

## JSON Nedir?

JSON, veri alışverişinde kullanılan, XML'e göre daha sade bir veri formatıdır.

## REST API Nasıl Çalışır?

REST, HTTP protokolünü kullanır. Veriler URL’ler üzerinden aktarılır. JSON kullanılır.

## HTTP İstek Türleri ve Görevleri

- `GET`: Veri görüntüleme
- `POST`: Veri ekleme
- `DELETE`: Veri silme
- `PATCH`: Kısmi güncelleme


## HTTP Durum Kodları

| Kod | Anlamı |
|  --- | --- |
| 200 | OK |
| 201 | Created |
| 204 | No Content |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 429 | Too Many Requests |


## Postman Nedir?

API test ve entegrasyonu için kullanılan bir istemcidir.

## Kurulum ve Servis İşlemleri

Setup dosyası ile API servisi otomatik kurulur. Hizmetler > Mikro API servisi çalışıyor olmalıdır.

## Endpoint Listesi

Postman collection dosyası ile alınabilir. [API Başvuru Formu](https://www.mikro.com.tr/mikro-program-api-basvuru/)

## Login İşlemi

Örnek istek:


```
POST http://mikro-api.com:8084/API/APIMethods/CariKaydetV2
```


```json
{
  "Mikro": {
    "Sifre": "2023-03-09 123asd → MD5",
    "KullaniciKodu": "SRV",
    "FirmaKodu": "TESTDB",
    "ApiKey": "xxxxxxxxxxxx",
    "CalismaYili": "2023"
  }
}
```

## Şifre Formatı


```
Tarih + Şifre → MD5 Hash
Örn: 2023-03-09 123asd → MD5
```

## Port Kullanımı

- v17 için: 8094
- v16 için: 8084


## Versiyonlar Ne Anlama Gelir?

Yeni alanlar geldikçe versiyonlar güncellenir (örneğin `V1`, `V2`).

## Active-Active Kullanım

API local sunucuda çalışır. Active-Active desteklemez.

## Tablo Alanları

API JSON'da olmayan tablo alanları da doğrudan DB isimleriyle kullanılabilir.

## Mikro Veritabanı Yapısı

[API Eğitim Sertifikaları](https://www.mikro.com.tr/mikro-program-api-basvuru/) üzerinden erişilebilir.

## Test Ortamı

Demo setup ile 100 kayda kadar test edilebilir. Ayrıca lisanslı kullanıcılar için test DB açılabilir.

## Veri Entegrasyonu Yapılabilecek Tablolar

Postman'da mevcut olan endpoint’ler için kullanılabilir. Yeni tablo talepleri için:
[API Başvuru Formu](https://www.mikro.com.tr/mikro-program-api-basvuru/)

## SSL ve Port Ayarları

API servisi bir Windows servisi olduğu için gerekli yönlendirmeler sistem yöneticileri tarafından yapılmalıdır.

## Mikro API Key Lisanslama

API Key lisansı:

- Dikey çözüm kullananlara otomatik atanır.
- Şirket içi yazılımlar için manuel lisans verilir.


## Geçersiz API Key Hatası

Yanlış API Key ile istek yapılırsa `"Geçersiz api key"` hatası döner.

## Veri Girişi Yapılamayan Alanlar

| Alan | Açıklama |
|  --- | --- |
| ath_Guid | Uniqueidentifier |
| ath_DBCno | Smallint |
| ath_create_user | Kullanıcı Kodu |
| ath_checksum | Integer |
| ... | ... |


> Bu doküman, [Mikro Yazılım](https://www.mikro.com.tr) API altyapısına entegrasyon sürecinde sık sorulan soruları kapsamaktadır.