> ## Documentation Index
> Fetch the complete documentation index at: https://docs.muhasip.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# Kimlik, firma ve izinler

> Basic anahtarını sunucu tarafında kullanın; firma, modül ve IP sınırlarını doğru uygulayın.

## Erişim için gerekenler

API erişimi tanımlanmış etkin bir firma ve geçerli API kimlik bilgileri gerekir. Anahtar kimliği `apiUserId`, gizli değer `secretKey` olarak adlandırılır. Erişim bilgilerinizi yetkili hesap yönetiminden edinin.

## Kimlik doğrulama

İsteklerde HTTP Basic kullanılır: kullanıcı adı `apiUserId`, parola `secretKey` değeridir. `/health` çağrısı kimlik doğrulaması gerektirmez.

```http theme={null}
Authorization: Basic <apiUserId:secretKey değerinin Base64 karşılığı>
```

Base64 şifreleme değildir. Yalnız HTTPS kullanın; anahtarları URL’ye, tarayıcıya veya loglara yazmayın. Bu sitedeki PHP ve Node.js örnekleri sunucu tarafında çalışır.

`apiUserId` 24 karakterli onaltılık kayıt kimliğidir. Bozuk Base64, eksik ayraç/parola ve geçersiz kimlik `401` üretir. Bu cevapta `WWW-Authenticate: Basic realm="Muhasip API", charset="UTF-8"` başlığı bulunur. API anahtarını veya GİB/entegrasyon parolasını sorgu parametresine koymayın.

## Örneklerdeki ortam değişkenleri

| Değişken | Ne içerir? |
| - | - |
| `MUHASIP_API_USER_ID` | Size tanımlanan API kullanıcı kimliği |
| `MUHASIP_API_SECRET` | Bu kimliğin gizli değeri |
| `MUHASIP_IDEMPOTENCY_KEY` | Yalnız gereken mali çağrılarda, belirli iş niyetine ait kalıcı tekrar anahtarı |

Örneklerde bu ortam değişkenleri okunur. Gerçek değerleri uygulama sunucunuzdaki ortam değişkenlerinden veya sır yöneticinizden sağlayın; kaynak kontrolüne eklemeyin.

## Firma kapsamı

Firma kimlik bilgilerinden belirlenir. `companyId`, `companiesId` veya özel başlıkla başka firma seçilemez. Fatura, cari, banka hesabı, proje ve diğer ilişkili kimlikler aynı firma kapsamında olmalıdır. API anahtarının geçerli olması bir banka veya e-belge bağlantısının hazır olduğunu göstermez.

## Modül izinleri

İzin listesi (`scope`) tanımlanmışsa ilgili `muhasip:<modül>:read` veya `muhasip:<modül>:write` izni gerekir. İzin adını işlem sayfasında bulabilirsiniz. Okuma ve yazma izinlerini ayrı tanımlayın; `write` izni tek başına `read` sağlamaz. `scope` boş veya tanımlanmamışsa anahtarın erişim yetkileri geçerlidir.

| Çağrı | İzin örneği |
| - | - |
| Firma uygulama listesini okuma | `muhasip:apps:read` |
| Banka hareketlerini okuma | `muhasip:bank:read` |
| Faturayı muhasebeye aktarma | `muhasip:invoice:write` |
| İşlem durumunu okuma | İşlemin ait olduğu modülde `read` veya `write` |

Fatura ve e-Arşiv ortak işlem uçlarında izin gövdedeki `type` veya `func` değerine göre değişir. API yöneticisi modül iznini geçebilir; firma, ürün, IP veya kayıt sahipliğini geçemez.

## IP kısıtı ve hatalar

IP listesi boşsa ek IP sınırı yoktur. Dolu listede normalize IPv4/IPv6 adresi birebir eşleşmelidir; CIDR/aralık desteklenmez. İsteği uygulama sunucunuzdan gönderirken onun çıkış IP’sini dikkate alın.

`401` kimlik, erişim süresi veya firma sorunu; `403` ürün, modül, IP veya kaynak sınırı sorunudur. Anahtar değiştirerek veya başka firma kimliği deneyerek bu sınırları aşmayın. [Ortak kurallar](/baslangic/ortak-kurallar) · [Hata yönetimi](/rehberler/hata-yonetimi)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.