Geliştirici · API v1

Faturatık API Dökümantasyonu

Kendi sisteminizden Faturatık'a sipariş gönderin, fatura imza durumlarını webhook ile alın. REST tabanlı, JSON formatında, dakikalar içinde entegre olun.

Aşağıda Faturatık REST API’sinin tüm endpoint’leri, kimlik doğrulama yöntemi, webhook payload’ları ve hata kodları yer alır. Soru veya talepleriniz için geliştirici desteğine ulaşabilirsiniz.

Kimlik Doğrulama

API token'ınızı panel üzerinden Entegrasyon sayfasından alın

Her istekte Authorization: Bearer <token> header'ı gönderilmelidir.

Entegrasyon → Token oluştur

Base URL

Tüm API istekleri aşağıdaki adres üzerinden gönderilir

https://panel.faturatik.com/api

İstek/yanıt formatı: application/json · Karakter kümesi: UTF-8 · Tarih formatı: dd/mm/YYYY HH:mm:ss

Endpoints

Üç temel endpoint ile sipariş ve hesap yönetimi

POST/ordersSipariş gönder

storeType: "custom" göndererek bu entegrasyonu hedefleyin. Tarih formatı: dd/mm/YYYY HH:mm:ss

Request Body
{
  "orderId":   "ORD-1001",
  "date":      "28/03/2026 14:30:00",
  "storeType": "custom",

  "customer": {
    "name":        "Ali Veli",
    "firstName":   "Ali",
    "lastName":    "Veli",
    "email":       "[email protected]",
    "phone":       "05551234567",
    "company":     "Firma A.Ş.",
    "taxNumber":   "1234567890",
    "taxOffice":   "Kadıköy"
  },

  "address": {
    "address_1": "Bağdat Cad. No:1",  // zorunlu, max 255
    "address_2": "D:5",
    "city":      "Kadıköy",           // zorunlu — ilçe
    "state":     "İstanbul",          // zorunlu — il
    "postcode":  "34710",
    "country":   "TR"
  },

  "items": [
    {
      "name":       "Ürün Adı",
      "quantity":   2,
      "price":      100.00,      // KDV hariç birim fiyat
      "taxRate":    20,
      "isShipping": false
    }
  ]
}
Response — 200 OK
{
  "success":  true,
  "message":  "Sipariş kuyruğa eklendi, işleniyor.",
  "order_id": "ORD-1001"
}
DELETE/orders/{orderId}Sipariş sil

Sipariş ve ona bağlı tüm veriler kalıcı olarak silinir. Faturası olan (taslak veya imzalı) siparişler silinemez; önce faturanın iptal edilmesi gerekir.

Response — 200 OK
{
  "success":  true,
  "message":  "'ORD-1001' numaralı sipariş silindi.",
  "order_id": "ORD-1001"
}
Response — 422 Aktif fatura var
{
  "success": false,
  "error": {
    "code":    "INVOICE_EXISTS",
    "message": "Faturası olan sipariş silinemez. Önce faturayı iptal edin."
  }
}
GET/account/statusİstatistikler & kredi

Request body gerekmez. Hesabınızdaki bekleyen fatura sayısı ve kalan kredi bilgisini döner.

Response — 200 OK
{
  "success": true,
  "data": {
    "pending_signatures": 3,
    "no_invoice":         12,
    "credits":            47
  }
}

Webhook Olayları

invoice.signed — fatura imzalandığında platformunuza POST edilir

İmzayı HMAC-SHA256(body, webhook_secret) ile doğrulayın. Header: X-Faturatik-Signature

Payload — invoice.signed
{
  "event":     "invoice.signed",
  "order_id":  "ORD-1001",
  "timestamp": "2026-03-28T14:40:00+03:00",
  "invoice": {
    "number":    "FTR2026000042",
    "status":    "signed",
    "signed_at": "2026-03-28T14:40:00+03:00",
    "pdf_url":   "https://panel.faturatik.com/storage/..."
  }
}
İmza Doğrulama (PHP)
$valid = hash_equals(
    hash_hmac('sha256', $rawBody, $webhookSecret),
    $request->header('X-Faturatik-Signature')
);

Hata Kodları

Tüm hata yanıtları aynı yapıyı takip eder

{
  "success": false,
  "error": {
    "code":    "HATA_KODU",
    "message": "Açıklayıcı hata mesajı.",
    "fields":  { /* sadece VALIDATION_ERROR için */ }
  }
}
401 UNAUTHORIZED Token eksik, geçersiz veya süresi dolmuş
404 STORE_NOT_FOUND Hesapta kayıtlı harici entegrasyon bulunamadı
404 ORDER_NOT_FOUND Belirtilen orderId bulunamadı
409 DUPLICATE_ORDER Bu orderId daha önce kaydedilmiş
422 VALIDATION_ERROR Gönderilen alan değerleri geçersiz; detay fields içinde
422 INVOICE_EXISTS Faturası olan sipariş silinemez; önce faturayı iptal edin
500 SERVER_ERROR Sunucu hatası

cURL Örneği

Terminalde çalıştırıp yanıtı anında görebilirsiniz

curl -X POST https://panel.faturatik.com/api/orders \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "orderId": "TEST-001",
    "date": "26/04/2026 17:43:31",
    "storeType": "custom",
    "customer": { "firstName": "Test", "lastName": "Kullanıcı" },
    "address": { "address_1": "Test Sokak No:1", "city": "Kadıköy", "state": "İstanbul" },
    "items": [{ "name": "Test Ürün", "quantity": 1, "price": 100.00, "taxRate": 20, "isShipping": false }]
  }'

Entegrasyona hazır mısınız?

Panele giriş yapın, Entegrasyon sayfasından API token'ınızı oluşturun ve dakikalar içinde sipariş göndermeye başlayın.