Printiturk Özel API Entegrasyonu
Kendi yazılım altyapınız veya e-ticaret siteniz (WooCommerce harici özel siteler, Shopify, özel sistemler) üzerinden aldığınız siparişleri tam otomatik olarak Printiturk üretim bandına yönlendirebilirsiniz. API'miz sipariş oluşturma ve anlık kargo/durum takibi yapma yeteneklerine sahiptir.
https://printiturk.com/printiturk/api/v1
Yetkilendirme (Authentication)
Printiturk API isteklerinizi doğrulayabilmek için her istekte HTTP başlığına (Header) API Erişim Anahtarınızı (Token) Bearer biçiminde eklemelisiniz.
Authorization: Bearer YOUR_API_TOKENContent-Type: application/json
API Token bilginizi asla istemci taraflı (frontend / javascript) kodlarınızda paylaşmayın. Bu anahtar satıcı hesabınızın bakiyesini ve siparişlerini yönettiğinden tamamen güvenli sunucu kodlarınızda saklanmalıdır.
Sipariş Gönder (Sipariş Oluşturma)
/orders.php
Dış sisteminizde oluşan siparişi Printiturk'e göndermek için bu uç noktayı kullanın. Sistem, göndereceğiniz SKU kodlarını otomatik olarak eşleştirir, dinamik baskı maliyetlerini hesaplar ve siparişi "Ödeme Bekliyor" (awaiting_payment) durumunda kuyruğa alır.
İstek Parametreleri (JSON Payload)
| Alan | Tip | Zorunlu mu? | Açıklama |
|---|---|---|---|
| external_order_id | String | Evet | Sizin sisteminizdeki benzersiz sipariş numarası (Örn: "100452") |
| customer | Object | Evet | Müşteri detayları objesi (first_name, last_name, address, city, district) |
| items | Array | Evet | Sipariş verilecek ürünlerin listesi |
| items[].product_sku | String | Evet | Sistemde eşleştirmiş olduğunuz satıcı SKU kodu veya Printiturk özel tasarım kodu (Örn: PT-DSG-1234) |
| items[].quantity | Integer | Hayır (Dflt: 1) | Adet bilgisi |
| items[].size | String | Hayır | Beden bilgisi (Örn: "M", "XL"). İletilmezse SKU eşleşmesindeki değer baz alınır. |
| items[].color | String | Hayır | Renk bilgisi (Örn: "Siyah", "Beyaz"). İletilmezse SKU eşleşmesindeki değer baz alınır. |
| items[].design_url | String | Hayır | Baskı dosyası linki. Dinamik tasarım gönderimleri için doğrudan kullanılabilir. |
POST Payload (JSON)
{
"external_order_id": "WEB-9872",
"customer": {
"first_name": "Can",
"last_name": "Kaya",
"email": "[email protected]",
"phone": "5320000000",
"address": "Moda Cad. Huzur Apt. No:12 D:4",
"city": "İstanbul",
"district": "Kadıköy"
},
"items": [
{
"product_sku": "KENDI_SKU_KODUNUZ",
"quantity": 1,
"size": "L",
"color": "Siyah"
}
]
}
Başarılı Yanıt (Response)
{
"success": true,
"message": "1 adet ürün başarıyla sipariş olarak alındı.",
"order_numbers": [
"PR-55231"
],
"status": "pending"
}
Sipariş Sorgula (Durum & Kargo Takibi)
/orders.php?order_id=SIPARIS_NO
Printiturk'e göndermiş olduğunuz bir siparişin güncel üretim durumunu ve kargoya verildiyse kargo takip bilgilerini almak için bu endpoint'i kullanın.
Query Parametreleri
PR-55231
Örnek İstek (GET)
GET /orders.php?order_id=PR-55231 HTTP/1.1
Host: printiturk.comAuthorization: Bearer YOUR_API_TOKEN
Sorgu Yanıtı (JSON)
{
"success": true,
"order_id": "PR-55231",
"status": "shipped",
"status_description": "Kargoya Verildi",
"tracking": {
"number": "33485029192",
"url": "https://geliver.io/takip/33485029192"
}
}
Hatalar ve Yanıt Kodları
İsteklerin başarısız olması durumunda API standart HTTP durum kodları ile birlikte hatanın sebebini açıklayan bir JSON yanıtı döner.
| HTTP Kodu | Durum | Muhtemel Sebepler |
|---|---|---|
| 400 Bad Request | Geçersiz Parametreler | JSON formatı bozuk, sipariş numarası mükerrer veya zorunlu alanlar (customer, items) eksik gönderildi. |
| 401 Unauthorized | Yetkilendirme Hatası | Authorization başlığı gönderilmedi, Bearer formatı yanlış ya da geçersiz bir API Token kullanıldı. |
| 404 Not Found | Bulunamadı | Sorgulanmak istenen sipariş sistemde mevcut değil ya da size ait değil. |
| 405 Method Not Allowed | Geçersiz Method | GET veya POST dışında geçersiz bir HTTP metodu (PUT, DELETE vb.) kullanıldı. |
| 500 Server Error | Sunucu Hatası | Printiturk sunucu tarafında geçici bir veritabanı veya kodlama hatası oluştu. |
SKU Eşleştirme Kuralları
Dış sisteminizden sipariş atarken ürün tanımlamalarını yapabilmek için iki seçeneğiniz vardır:
-
Manuel SKU Eşleştirme (Tavsiye Edilen):
Printiturk kullanıcı panelinizdeki "Ürün Eşleştirme" sayfasından kendi sitenizdeki SKU'ları (Örn:KUPA-BEYAZ-001), Printiturk ana ürünü ve yüklü olan ön/arka tasarımlarınızla önceden eşleştirirsiniz. Sipariş gönderirken sadece bu SKU kodunu iletmeniz yeterlidir. -
Dinamik Sipariş Gönderme (Tasarım Linki İle):
Eşleştirme yapmadan doğrudan sipariş oluşturmak isterseniz, Printiturk özel şemasını kullanarak SKU kodunuPT-DSG-TASARIM_ID(Örn:PT-DSG-1402) şeklinde atabilir ya da sipariştedesign_urlparametresiyle tasarımın dosya linkini doğrudan gönderebilirsiniz.