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 tasarım kaydetme, 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://www.printiturk.com/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.

Tasarım Kaydet (PT-DSG Kodu Üretme)

POST /designs.php

Binlerce hazır tasarımınızı veya dinamik olarak ürettiğiniz görselleri tek tek panele yüklemek yerine API üzerinden toplu halde kaydedebilirsiniz. Yanıt olarak alacağınız PT-DSG-XXXX kodunu sipariş gönderirken doğrudan product_sku alanında kullanabilirsiniz.

İstek Parametreleri (JSON Payload)

Alan Tip Zorunlu mu? Açıklama
image_url String Evet* Yüksek çözünürlüklü baskı görselinin URL adresi (*veya image_base64)
title String Hayır Tasarımın başlığı / adı (Örn: "Özel Kedi Baskısı #1")
user_sku String Hayır Kendi sisteminizdeki özel SKU kodunuz (Örn: "DSG-CAT-001")
side String Hayır (Dflt: front) Baskı yüzü: front (Ön Yüz) veya back (Arka Yüz)
width_cm Float Hayır (Dflt: 30) Baskı alanındaki fiziki genişlik (cm cinsinden)

Tasarım Kaydet (POST)

{
  "title": "Siyah Kedi Tasarımı",
  "user_sku": "MY-CAT-001",
  "image_url": "https://siteniz.com/uploads/kedi.png",
  "side": "front",
  "width_cm": 25
}

Başarılı Yanıt (Response)

{
  "success": true,
  "message": "Tasarım başarıyla kaydedildi.",
  "design_id": "PT-DSG-1945",
  "id": 1945,
  "user_sku": "MY-CAT-001",
  "title": "Siyah Kedi Tasarımı",
  "side": "front"
}

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: "WEB-9872")
cargo_label_url String Hayır Pazaryeri kargo etiketi URL'si (Trendyol / Hepsiburada kargo fişi PDF/görsel adresi)
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 Eşleştirilmiş SKU kodu veya Printiturk özel tasarım kodu (Örn: PT-DSG-1945)
items[].quantity Integer Hayır (Dflt: 1) Adet bilgisi
items[].size / color String Hayır Beden (Örn: "L") ve Renk (Örn: "Siyah") bilgisi
items[].design_url String Hayır Dinamik baskı dosyası linki. Sunucunuza otomatik bağlanıp Printiturk üzerine indirilir.
items[].side String Hayır (Dflt: front) Baskı yüzü: front (Ön), back (Arka) veya both (İki Yüz)
items[].design_url_front / design_url_back String Hayır Tek üründe ön ve arka için ayrı tasarım linkleri göndermek için kullanılır.
items[].mockup_url String Hayır Bitmiş ürün referans görseli linki. Baskıyı etkilemez, yalnızca üretim ve paketleme ekipleriniz için referans visual olarak gösterilir.
items[].mockup_url_front / mockup_url_back String Hayır Çift taraflı siparişlerde ön ve arka referans mockup görsel linklerini ayrı tanımlamak için kullanılır.
brand_label Boolean Hayır (Dflt: false) Marka etiketi dikilsin mi? (true / false)
hangtag Boolean Hayır (Dflt: false) Karton sallama etiketi takılsın mı? (true / false)
gift_package Boolean Hayır (Dflt: false) Hediye paketi yapılsın mı? (true / false)
order_note String Hayır Sipariş / üretim özel notu (Örn: "Paket içine tebrik kartı ekleyin")
items[].width_cm Float Hayır Ürünün fiziki baskı alanındaki genişliği (cm cinsinden). Belirtilmezse o ürünün varsayılan tam baskı genişliği baz alınır.

POST Payload (JSON)

{
  "external_order_id": "WEB-9872",
  "cargo_label_url": "https://siteniz.com/labels/kargo_label_9872.pdf",
  "customer": {
    "first_name": "Can",
    "last_name": "Kaya",
    "email": "cankaya@example.com",
    "phone": "5320000000",
    "address": "Moda Cad. Huzur Apt. No:12 D:4",
    "city": "İstanbul",
    "district": "Kadıköy"
  },
  "items": [
    {
      "product_sku": "ESP-BSC-ERK-TSH",
      "quantity": 1,
      "size": "L",
      "color": "Siyah",
      "side": "front",
      "width_cm": 30,
      "design_url": "https://siteniz.com/uploads/baski_dosyasi.png",
      "mockup_url": "https://siteniz.com/uploads/bitmis_urun_mockup.jpg"
    }
  ]
}

Başarılı Yanıt (Response)

{
  "success": true,
  "message": "1 adet ürün başarıyla sipariş olarak alındı.",
  "order_numbers": [
    "#ORD-34986"
  ],
  "status": "awaiting_payment"
}

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 dönülen sipariş numarasıdır (URL aramasında `#` karakteri için %23 kullanabilirsiniz). Örn: ?order_id=%23ORD-34986 veya ?order_id=ORD-34986

Örnek İstek (GET)

GET /orders.php?order_id=%23ORD-34986 HTTP/1.1
Host: www.printiturk.comAuthorization: Bearer YOUR_API_TOKEN

Sorgu Yanıtı (JSON)

{
  "success": true,
  "order_id": "#ORD-34986",
  "status": "shipped",
  "status_description": "Kargoya Verildi",
  "cargo_label_url": "https://siteniz.com/labels/kargo_label_9872.pdf",
  "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, SKU tanımsız 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ş veya tasarım 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. API İle Tasarım Kaydedip PT-DSG Kodu Kullanma (En Hızlı Yöntem):
    POST /api/v1/designs.php servisini kullanarak tasarımlarınızı kaydedebilir ve dönen PT-DSG-XXXX kodlarını sipariş verirken doğrudan product_sku alanında kullanabilirsiniz.
  2. Manuel SKU Eşleştirme:
    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.
  3. Dinamik Sipariş Gönderme (Tasarım Linki İle):
    Eşleştirme yapmadan doğrudan sipariş oluşturmak isterseniz, siparişte design_url (veya design_url_front / design_url_back) parametresiyle tasarımın dosya linkini doğrudan gönderebilirsiniz.