PT
Printiturk V1 API
Giriş Yap

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.

info
API Base URL Tüm API isteklerinizi aşağıdaki ana URL'e yönlendirmelisiniz: 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.

HTTP HEADER ÖRNEĞİ
Authorization: Bearer YOUR_API_TOKENContent-Type: application/json
warning

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)

POST /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)

GET /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

order_id (Zorunlu): Printiturk tarafından sipariş oluşturma esnasında size dönülen sipariş numarasıdır. Örn: 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:

  1. 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.
  2. Dinamik Sipariş Gönderme (Tasarım Linki İle):
    Eşleştirme yapmadan doğrudan sipariş oluşturmak isterseniz, Printiturk özel şemasını kullanarak SKU kodunu PT-DSG-TASARIM_ID (Örn: PT-DSG-1402) şeklinde atabilir ya da siparişte design_url parametresiyle tasarımın dosya linkini doğrudan gönderebilirsiniz.