Sitenize 3D Baskı Altyapısı Entegre Edin
Yazdır Gelsin altyapısını kullanarak web siteniz veya uygulamanız üzerinden 3D baskı siparişi almaya başlayabilirsiniz. Model yükleme, fiyatlandırma, üretim, ödeme, paketleme ve kargo süreçleri tarafımızdan yönetilirken, siz müşteri deneyimini kendi markanız altında sunabilirsiniz.
Entegrasyon için iki farklı yöntem sunulmaktadır:
iFrame Entegrasyonu
En hızlı entegrasyon yöntemidir. Hazır sipariş ekranını tek satır kod ile web sitenize ekleyebilir, herhangi bir yazılım geliştirmeden müşterilerinizin sipariş oluşturmasını sağlayabilirsiniz.
REST API Entegrasyonu
Kendi arayüzünüzü ve kullanıcı deneyiminizi oluşturmak istiyorsanız REST API entegrasyonunu kullanabilirsiniz. Fiyat hesaplama, model analizi, sipariş oluşturma ve sipariş takibi işlemlerini doğrudan kendi sisteminiz üzerinden yönetebilirsiniz.
Her iki yöntemde de üretim, kalite kontrol, ödeme altyapısı ve lojistik operasyonları Yazdır Gelsin tarafından yürütülür.
iframe ile ★ Tavsiye edilen
Hazır 3D baskı penceremizi sayfanıza gömersiniz. En hızlı kurulum.
API ile
Kendi arayüzünüzü kurar, fiyat ve siparişi API'den alırsınız. Tam kontrol.
Devam etmek için yukarıdan bir yöntem seçin.
Yazdır Gelsin 3D baskı sipariş altyapısını web sitenize yalnızca tek satır kod ile entegre edebilirsiniz. Model yükleme, fiyat hesaplama, sipariş oluşturma ve ödeme süreçlerinin tamamı Yazdır Gelsin tarafından yönetilir.
Bu yöntem, mevcut web sitesine hızlı entegrasyon yapmak isteyen iş ortakları için önerilir. Ek bir arayüz veya altyapı geliştirmeniz gerekmez.
Temel Entegrasyon
Aşağıdaki kodda bulunan
PARTNER_KODU
alanını size özel partner kodunuz ile değiştirerek sayfanıza eklemeniz yeterlidir.
Müşteri Bilgilerinin Otomatik Doldurulması
Kullanıcınız sitenize giriş yapmışsa veya müşteri bilgileri sisteminizde mevcutsa, bu bilgileri entegrasyon bağlantısına ekleyerek sipariş formunun otomatik olarak doldurulmasını sağlayabilirsiniz.
Gönderilen bilgilerin doğrulanabilmesi için tüm parametreler HMAC-SHA256 algoritması ile imzalanmalıdır. İmza yalnızca sunucu tarafında oluşturulmalı, API anahtarı hiçbir koşulda istemci tarafında (tarayıcı, mobil uygulama vb.) paylaşılmamalıdır.
PHP Örneği
Desteklenen Parametreler
Müşteri bilgisi göndermek istemiyorsanız herhangi bir parametre eklemeden temel iFrame entegrasyonunu kullanabilirsiniz.
Müşteri bilgileri gönderilecekse isteğin doğrulanabilmesi için ts ve sig
parametrelerinin de gönderilmesi zorunludur.
| Parametre | Açıklama | Zorunluluk |
|---|---|---|
ad | Müşteri adı | Opsiyonel |
soyad | Müşteri soyadı | Opsiyonel |
email | E-posta adresi | Opsiyonel |
telefon | Telefon numarası | Opsiyonel |
adres | Teslimat adresi | Opsiyonel |
il | İl bilgisi | Opsiyonel |
ilce | İlçe bilgisi | Opsiyonel |
ref | Harici müşteri veya sipariş referansı | Opsiyonel |
ts | Unix zaman damgası | Parametre gönderiliyorsa zorunlu |
sig | HMAC-SHA256 imzası | Parametre gönderiliyorsa zorunlu |
İl ve ilçe bilgilerinin isim olarak gönderilmesi yeterlidir.
Müşteri Sipariş ve Fatura Erişimi
Müşterilerinizin geçmiş siparişlerini ve faturalarını görüntüleyebilmesi için ek bir entegrasyon geliştirmeniz gerekmez.
İmzalı bağlantı içerisinde müşterinin email bilgisinin gönderilmesi yeterlidir. Sistem,
doğrulanmış e-posta adresi üzerinden müşteriyi otomatik olarak tanır ve arayüzde
Siparişlerim bölümü görüntülenir.
Bu bölüm üzerinden müşteri:
- Geçmiş siparişlerini görüntüleyebilir.
- Sipariş durumlarını takip edebilir.
- Faturalarını görüntüleyebilir ve indirebilir.
Güvenlik
- İmza (
sig) her zaman sunucu tarafında oluşturulmalıdır. - API anahtarı hiçbir koşulda istemci tarafında paylaşılmamalıdır.
- İmzalanmamış veya doğrulanamayan parametreler işleme alınmaz.
- API anahtarları yalnızca ilgili partner hesabı için geçerlidir.
Partner kodu ve entegrasyon erişimi için bizimle iletişime geçebilirsiniz.
Entegrasyon Akışı
Tipik bir entegrasyon aşağıdaki adımlardan oluşur:
/technologiesTeknolojiler/materialsMalzemeler/colorsRenkler/optionsBaskı seçenekleri/quoteFiyat hesaplama/ordersSipariş oluşturmaAdım Adım Süreç
- Teknolojileri listeleyin (
/technologies)- Kullanıcının seçebileceği baskı teknolojilerini alın.
- Örnek: FDM, SLA.
- Malzemeleri listeleyin (
/materials)- Seçilen teknolojiye uygun malzemeleri alın.
- Örnek: PLA, PETG, ABS, Reçine vb.
- Renk seçeneklerini alın (
/colors)- Seçilen malzemeye ait kullanılabilir renkleri listeleyin.
- Baskı seçeneklerini alın (
/options)- Kalite, doluluk oranı, katman kalınlığı ve diğer üretim parametrelerini yükleyin.
- İsterseniz varsayılan değerleri doğrudan kullanabilirsiniz.
- Fiyat hesaplayın (
/quote)- STL modelini göndererek net üretim maliyetini hesaplayın.
- Sipariş oluşturulacaksa
save=1parametresi kullanarak modeli kaydedin vemodel_idalın.
- Sipariş oluşturun (
/orders)- Bir veya daha fazla
model_idile sipariş oluşturun. - Yanıtta dönen
payment_urladresine müşterinizi yönlendirerek ödeme sürecini başlatın.
- Bir veya daha fazla
Önerilen Kullanım
- Fiyat görüntüleme amacıyla yapılan hesaplamalarda
/quoteendpointini doğrudan kullanabilirsiniz. - Sipariş oluşturulacak senaryolarda
/quote?save=1kullanılması önerilir. - Birden fazla model tek siparişte birleştirilecekse her model için ayrı
quoteçağrısı yapıp dönenmodel_iddeğerlerinimodel_idsdizisi içerisinde gönderebilirsiniz.
REST API Entegrasyonu
REST API entegrasyonu sayesinde tüm kullanıcı deneyimini kendi web siteniz veya uygulamanız üzerinde tasarlayabilirsiniz. Fiyat hesaplama, sipariş oluşturma ve ödeme süreçlerini kendi arayüzünüzden yönetirken; üretim, kalite kontrol, paketleme, kargo ve operasyon süreçleri Yazdır Gelsin tarafından yürütülür.
Bu entegrasyon yöntemi yazılım geliştirme bilgisi gerektirir ve özel entegrasyon yapmak isteyen iş ortakları için önerilir.
API Erişim Bilgileri
Base URL
Tüm isteklerde API anahtarınızı aşağıdaki formatta göndermeniz gerekir:
| Metot | Endpoint | Açıklama |
|---|---|---|
GET | /technologies | Desteklenen baskı teknolojilerini listeler |
GET | /materials?technology= | Teknolojiye ait malzemeleri listeler |
GET | /colors?material_id= | Malzemeye ait renk seçeneklerini listeler |
GET | /options?technology= | Baskı ayarları ve varsayılan değerleri döndürür |
POST | /quote | STL modelinden net fiyat hesaplar |
POST | /quote/estimate | Hacim bilgisinden hızlı fiyat tahmini oluşturur |
POST | /orders | Sipariş oluşturur |
GET | /orders | Sipariş listesini getirir |
GET | /orders/{id} | Sipariş detayını ve güncel durumunu getirir |
| Alan | Zorunlu | Açıklama |
|---|---|---|
stl / stl_base64 / stl_url | Biri zorunlu | STL: dosya (multipart) · base64 · indirilebilir URL |
material_id | Zorunlu | /materials'tan |
technology | Opsiyonel | 0=FDM (varsayılan), 1=SLA |
color_id | Opsiyonel | /colors'tan |
quantity | Opsiyonel | Varsayılan 1 |
quality_id, infill_id | Opsiyonel (FDM) | Boşsa varsayılan uygulanır |
perimeters, top_layers, bottom_layers, fill_pattern, support_material | Opsiyonel (FDM gelişmiş) | Boşsa varsayılan |
hollow, wall_thickness, layer_thickness | Opsiyonel (SLA) | hollow: 0=tam dolu, 1=içi boş |
?save=1 | Opsiyonel | Modeli saklar ve model_id döner (sipariş için gerekli) |
| Alan | Zorunlu | Açıklama |
|---|---|---|
model_ids | Zorunlu | /quote?save=1'den dönen id'ler (dizi). Birden çok parça → tek sipariş |
customer.first_name, customer.last_name, customer.email | Zorunlu | Müşteri bilgileri |
customer.phone | Opsiyonel | İletişim telefonu |
shipping.address, shipping.province, shipping.district | Zorunlu | Teslimat adresi · il/ilçe isim veya id olabilir |
billing.same_as_shipping | Opsiyonel | true (varsayılan) = fatura teslimatla aynı. false ise ayrı fatura adresi verin |
billing.type | Opsiyonel | individual (bireysel, varsayılan) · corporate (kurumsal) |
billing.tax_id | Opsiyonel | TCKN (bireysel) / VKN (kurumsal) |
billing.company_name, billing.tax_office | Kurumsal | Firma unvanı ve vergi dairesi (type=corporate ise) |
billing.first_name, billing.last_name, billing.address, billing.province, billing.district | Ayrı fatura | same_as_shipping=false ise fatura adresi alanları |
payment_method | Opsiyonel | credit_card (varsayılan) · bank_transfer |
ref | Opsiyonel | Kendi sipariş numaranız (mutabakat için) |
Baskı teknolojilerini listeler.
curl https://yazdirgelsin.com/api/v1/technologies \ -H "Authorization: Bearer YOUR_API_KEY"
{
"success": true,
"data": [
{ "code": 0, "name": "FDM", "description": "Filament Baskı" },
{ "code": 1, "name": "SLA", "description": "Reçine Baskı" }
]
}
Seçilen teknolojinin malzemeleri.
curl "https://yazdirgelsin.com/api/v1/materials?technology=0" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"success": true,
"data": [
{ "id": 4, "name": "PLA", "technology": "FDM" },
{ "id": 5, "name": "PETG", "technology": "FDM" }
]
}
Kalite, doluluk ve gelişmiş varsayılanlar (SLA'da layer_thickness/hollow/wall_thickness).
curl "https://yazdirgelsin.com/api/v1/options?technology=0" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"success": true,
"technology": "FDM",
"data": {
"quality": [ { "id": 1, "name": "Standart Kalite", "layer_thickness_mm": 0.2 } ],
"infill": [ { "id": 2, "name": "30", "rate": 30 } ],
"fill_pattern": [ { "code": "grid", "name": "Grid" } ]
},
"defaults": {
"perimeters": 2, "top_layers": 5, "bottom_layers": 3,
"fill_pattern": "grid", "support_material": 1
}
}
STL'den net fiyat alır; save=1 ile modeli saklar (model_id döner).
curl -X POST "https://yazdirgelsin.com/api/v1/quote?save=1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"stl_url": "https://.../part.stl",
"technology": 0,
"material_id": 4,
"color_id": 21,
"quality_id": 1,
"infill_id": 2,
"quantity": 1
}'
{
"success": true,
"model_id": 1234,
"geometry": { "volume": 12.4, "weight": 15.3, "print_time": 92 },
"price": { "unit_price_incl_vat": 71.9, "total_incl_vat": 71.9 }
}
Sipariş oluşturur. Ayrı fatura (bireysel/kurumsal) verilebilir. Çoklu parça → tek sipariş.
curl -X POST "https://yazdirgelsin.com/api/v1/orders" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model_ids": [1234, 1235],
"customer": { "first_name": "Ali", "last_name": "Veli",
"email": "ali@example.com", "phone": "5551112233" },
"shipping": { "address": "Örnek Mah. No:1", "province": "İstanbul", "district": "Kadıköy" },
"billing": {
"same_as_shipping": false,
"type": "corporate",
"company_name": "ACME Ltd.",
"tax_office": "Kadıköy",
"tax_id": "1234567890",
"address": "Fatura Mah. No:2", "province": "İstanbul", "district": "Şişli"
},
"payment_method": "credit_card",
"ref": "ORD-1024"
}'
{
"success": true,
"order_id": 2810,
"order_token": "a1b2c3...",
"status": 0,
"total": 143.8,
"commission": 14.38,
"payment_url": "https://yazdirgelsin.com/embed-odeme/a1b2c3...?gst=..."
}
Sipariş durumunu sorgular.
curl https://yazdirgelsin.com/api/v1/orders/2810 \ -H "Authorization: Bearer YOUR_API_KEY"
{
"success": true,
"data": {
"order_id": 2810,
"status": 1,
"status_text": "Ödeme Onay Bekliyor",
"total": 143.8,
"partner_ref": "ORD-1024",
"item_count": 2
}
}
Webhook'lar — anlık bildirim
Siparişleri sürekli sorgulamak yerine, olay gerçekleştiğinde sizi biz çağırırız. Bize bir
webhook_url verirsiniz; sipariş oluşunca/durum değişince o adrese imzalı bir
POST göndeririz. İsteğin gövdesi HMAC-SHA256 ile imzalanır
(X-YG-Signature başlığı) — böylece isteğin gerçekten bizden geldiğini doğrularsınız.
| event | Ne zaman |
|---|---|
order.created | Yeni sipariş oluştuğunda |
order.status_changed | Sipariş durumu değiştiğinde (ödeme alındı, kargoya verildi, vb.) |
| Başlık | Açıklama |
|---|---|
X-YG-Event | Olay adı (ör. order.status_changed) |
X-YG-Signature | Ham gövdenin webhook_secret ile HMAC-SHA256 imzası |
Bizim size gönderdiğimiz istek (gövde).
{
"event": "order.status_changed",
"data": {
"order_id": 2810,
"status": 5,
"partner_ref": "ORD-1024",
"partner_code": "acme",
"total": 143.8,
"created_at": "2026-06-14T10:22:00+03:00"
},
"timestamp": 1750000000
}
$raw = file_get_contents('php://input');
$expected = hash_hmac('sha256', $raw, $webhook_secret);
if (!hash_equals($expected, $_SERVER['HTTP_X_YG_SIGNATURE'] ?? '')) {
http_response_code(401); exit; // bizden gelmiyor → reddet
}
$payload = json_decode($raw, true); // güvenli, işleyebilirsiniz
Webhook'u açmak için webhook_url'inizi
bize iletin;
size özel webhook_secret tanımlanır. 5 sn timeout, başarısızlıkta 2 kez tekrar denenir;
2xx dönmeniz yeterlidir.
Güvenlik
- API anahtarınızı hiçbir zaman istemci tarafında paylaşmayın.
- Tüm API çağrıları sunucu tarafında gerçekleştirilmelidir.
- API anahtarları yalnızca partner hesabınıza özeldir.
- Şüpheli kullanım tespit edildiğinde erişim geçici olarak durdurulabilir.
Partner hesabı ve API erişimi almak için bizimle iletişime geçebilirsiniz.