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.

Genel Bakış

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 anahtarlarınızı güvenli tutun ve paylaşmayın. Bu anahtarlar hesabınıza tam erişim sağlar.
API Anahtarı Oluşturma

API anahtarı oluşturmak için:

  1. Yönetim paneline giriş yapın
  2. "API Anahtarları" menüsüne gidin
  3. "Yeni API Anahtarı" butonuna tıklayın
  4. Anahtarın adını ve isteğe bağlı açıklamasını girin
  5. "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.

Fatura İşlemleri
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ı
Hata mesajlarındaki bilgileri kullanarak sorunu tespit edebilir ve düzeltebilirsiniz.

Fatura Durumları

Fatura Durumları ve Anlamları

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ş)
Not: Faturalar fiziksel olarak silinmez, bunun yerine is_deleted değeri güncellenir.

Ödeme Çözümleri

Desteklenen Ö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.