Ortamlar
Milagron API, biri canlı (Production) diğeri test amaçlı (Stage) olmak üzere iki ortam üzerinden hizmet vermektedir. Doğru ortam seçimi, entegrasyonun güvenli ve verimli kurulumu açısından kritik önem taşımaktadır.
Production
https://api.milagron.com
Canlı ortam. Tüm istekler sistem üzerinde kalıcı değişikliklere yol açar.
Stage (Sandbox)
https://stageapi.milagron.com
Test ortamı. Doğrulama ve iş kuralları işletilir; ancak yazma işlemleri uygulanmaz.
Davranışsal Farklılıklar
| Özellik | Production | Stage |
|---|---|---|
| Kimlik Doğrulama | Aktif | Aktif |
| Rate Limiting | Uygulanır | Uygulanır |
| İstek Doğrulaması (validation) | İşletilir | İşletilir |
| İş Kuralları (örn. salePrice ≤ listPrice) | İşletilir | İşletilir |
| Barkod / Sipariş Eşleştirme | İşletilir | İşletilir |
| Veritabanı Yazma İşlemleri | Gerçekleştirilir | Gerçekleştirilmez |
| Dış Sistem Entegrasyonları | Gerçekleştirilir | Gerçekleştirilmez |
| Okuma Endpoint'leri | Gerçek veri döner | Gerçek veri döner |
| Batch Request Oluşturma | Gerçekleştirilir | Gerçekleştirilir (ortam etiketiyle) |
| Batch Durum Sorgulama | Gerçek sonuç | Simüle edilmiş sonuç |
Anahtar Format'ı
API anahtarının ön eki, hangi ortama ait olduğunu açıkça belirtir:
| Ön Ek | Ortam | Örnek |
|---|---|---|
mlg_ | Production | mlg_a3f7b8c2… |
mlgs_ | Stage | mlgs_4e5d6a1b… |
Anahtar–Sunucu Uyumluluğu
mlg_ ile başlayan anahtarlar yalnızca api.milagron.com üzerinden, mlgs_ ile başlayan anahtarlar ise yalnızca stageapi.milagron.com üzerinden kullanılabilir. Yanlış sunucuya yapılan istekler 401 Unauthorized hatasıyla reddedilir.
Hata Senaryolarının Simülasyonu
Stage ortamında belirli hata durumlarını test etmek amacıyla X-Stage-Force-Error başlığı gönderilebilir. Bu başlık aracılığıyla istemci tarafının hata yönetimi sağlıklı biçimde test edilebilir.
curl -u "API_KEY:API_SECRET" \
-H "X-Stage-Force-Error: rate_limit" \
-X POST https://stageapi.milagron.com/integration/inventory/sellers/123/products/stock \
-d '{"barcode":"ABC"}'
# HTTP 429 — Simulated rate limit exceeded
Desteklenen değerler aşağıdaki tabloda belirtilmiştir:
| Header Değeri | Üretilen Hata |
|---|---|
rate_limit | 429 TooManyRequests |
unauthorized | 401 Unauthorized |
forbidden | 403 Forbidden |
not_found | 404 NotFound |
validation | 422 ValidationError |
server_error | 500 InternalError |
Hangi Ortam Ne Zaman Kullanılmalı?
Stage Ortamının Önerildiği Durumlar
- Entegrasyonun ilk geliştirme aşaması
- İstek formatının ve veri yapılarının doğrulanması
- Hata akışlarının (validation, auth, rate limit) test edilmesi
- Regresyon testleri ve sürekli entegrasyon (CI) süreçleri
Production Ortamına Geçiş
- Stage ortamında tüm test senaryolarının başarıyla tamamlanmasının ardından
- Mağazanın canlıya alınması süreciyle birlikte
Stage Ortamının Kapsamı
Stage ortamı; dış sistem entegrasyonlarının gerçek davranışını (rate limit, webhook teslimatları, sınır durum hataları vb.) tam olarak yansıtmamaktadır. Production ortamına geçiş sürecinde ek hata senaryolarının ortaya çıkma olasılığı göz önünde bulundurulmalıdır.