SinApp Muhasebe API - Başlangıç Rehberi
Bu rehber, SinApp Muhasebe API'sini kullanmaya başlamanız için gereken tüm adımları içerir.
SinApp Muhasebe API, işletmenizin fatura ve ödeme işlemlerini otomatize etmek için tasarlanmış güçlü bir araçtır. Bu API ile:
- Faturaları otomatik olarak oluşturabilir
- Ödemeleri takip edebilir
- Müşteri bilgilerini yönetebilir
- Farklı satış kanallarından gelen verileri merkezi bir sistemde toplayabilirsiniz
API, REST mimarisi üzerine inşa edilmiştir ve tüm yanıtlar JSON formatında döndürülür.
Kimlik Doğrulama
SinApp Muhasebe API'sine erişmek için bir API anahtarı ve API gizli anahtarı gereklidir. Bu anahtarlar hesabınızı oluşturduktan sonra yönetim panelinden oluşturulabilir.
API anahtarı oluşturmak için:
- Yönetim paneline giriş yapın
- "API Anahtarları" menüsüne gidin
- "Yeni API Anahtarı" butonuna tıklayın
- Anahtarın adını ve isteğe bağlı açıklamasını girin
- "Oluştur" butonuna tıklayın
Bu işlemden sonra API Key ve API Secret değerlerinizi göreceksiniz. Bu değerleri güvenli bir yere kaydedin, API Secret bir daha gösterilmeyecektir.
HTTP İsteklerinde Kimlik Doğrulama
Her API isteğinizde, kimlik doğrulama için HTTP başlıklarını (headers) kullanmanız gerekir:
X-Api-Key: YOUR_API_KEY
X-Api-Secret: YOUR_API_SECRET
İlk API İsteği
API'yi kullanmaya başlamak için temel CRUD (Create, Read, Update, Delete) operasyonlarını görelim. Bu örnekler, API'nin temel kullanımını göstermek için tasarlanmıştır.
1. Fatura Oluşturma (POST)
POST https://[sizin-domaininiz]/api/v1/invoices.php
İstek Gövdesi (JSON)
{
"Channel": {
"website": "example.com",
"company_name": "Örnek Şirket"
},
"fatura_bilgileri": {
"invoice_id": "INV-12345",
"order_id": "ORD-67890",
"company_name": "Müşteri Şirket",
"tax_number": "1234567890",
"tax_office": "Vergi Dairesi",
"full_name": "Ahmet Yılmaz",
"contact_address": "İstanbul, Türkiye"
},
"kisisel_bilgiler": {
"users_namesurname": "Ahmet",
"users_surname": "Yılmaz",
"contact_phone": "05551234567",
"contact_email": "ahmet@example.com"
},
"siparis_detaylari": {
"order_id": "ORD-67890",
"courses": [
{
"title": "Web Geliştirme Kursu",
"price": 1000
}
],
"total_course_price": 1000,
"amount": 1000,
"payment_method": "1",
"bank_name": "Örnek Banka",
"payment_date": "2023-04-25 14:30:00"
}
}
2. Fatura Güncelleme (PUT)
PUT https://[sizin-domaininiz]/api/v1/invoices.php
İstek Gövdesi (JSON)
{
"invoice_id": "INV-12345",
"order_id": "ORD-12345",
"status": "sent",
"customer": {
"company_name": "Müşteri Şirket",
"tax_number": "1234567890",
"tax_office": "Vergi Dairesi",
"full_name": "Ahmet Yılmaz",
"contact_address": "İstanbul, Türkiye",
"contact_phone": "05551234567",
"contact_email": "ahmet@example.com",
"contact_city": "İstanbul",
"contact_district": "Kadıköy",
"identity_number": "12345678901",
"invoice_type": "company"
}
}
3. Fatura Silme (DELETE)
DELETE https://[sizin-domaininiz]/api/v1/invoices.php
İstek Gövdesi (JSON)
{
"invoice_id": "INV-12345",
"order_id": "ORD-12345"
}
Başarılı Yanıt Örnekleri
POST (Oluşturma) Yanıtı:
{
"success": true,
"message": "Fatura başarıyla oluşturuldu",
"invoice_id": 123,
"invoice_number": "INV-12345"
}
PUT (Güncelleme) Yanıtı:
{
"success": true,
"message": "Fatura başarıyla güncellendi",
"invoice_id": "INV-12345"
}
DELETE (Silme) Yanıtı:
{
"success": true,
"message": "Fatura başarıyla silindi",
"invoice_id": "INV-12345"
}
1. Fatura Detayı Alma
Bir faturanın detaylarını almak için:
curl -X GET "https://[sizin-domaininiz]/api/v1/invoices.php?number=INV-2024-001&order=456" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "X-Api-Secret: YOUR_API_SECRET"
Başarılı bir yanıt şu şekilde olacaktır:
{
"status": "success",
"data": {
"invoice": {
"invoice_number": "INV-2024-001",
"order_id": "456",
"invoice_date": "2024-03-15",
"status": "sent",
"currency": "TRY",
"grand_total": "1500.00"
},
"customer": {
"invoice_type": "company",
"company_name": "Örnek Şirket A.Ş.",
"tax_number": "1234567890",
"contact_email": "ornek@sirket.com"
}
}
}
Hata Yönetimi
API, hata durumlarında aşağıdaki yapıda bir yanıt döndürür:
{
"error": "Hata mesajı"
}
Ortak HTTP durum kodları:
- 200 (OK): İstek başarılı
- 201 (Created): Kaynak başarıyla oluşturuldu
- 400 (Bad Request): İstek formatı geçersiz
- 401 (Unauthorized): Kimlik doğrulama başarısız
- 404 (Not Found): İstenen kaynak bulunamadı
- 500 (Internal Server Error): Sunucu hatası
Fatura Durumları
Faturalar aşağıdaki durumlarda olabilir:
| Durum | Açıklama |
|---|---|
draft |
Taslak fatura |
sent |
Gönderilmiş fatura |
paid |
Ödenmiş fatura |
cancelled |
İptal edilmiş fatura |
Silme Durumları (is_deleted)
Faturalar için özel silme durumları:
| Değer | Açıklama |
|---|---|
0 |
Normal durum (silinmemiş) |
2 |
İptal edilmiş/silinmiş fatura |
5 |
Silme işlemi için işaretlenmiş (henüz işlenmemiş) |
is_deleted değeri güncellenir.
Ödeme Çözümleri
Sistem aşağıdaki ödeme çözümlerini desteklemektedir:
- PayTR - PayTR ödeme sistemi
- Banka Havalesi - Manuel banka havalesi
Ödeme çözümü bilgisi payment_solution alanında saklanır ve fatura detaylarında gösterilir.