Constructor
# new CargoTracker()
CargoTracker sınıfının constructor'ı
Varsayılan olarak Aras Kargo provider'ını kayıt eder
Example
```typescript
const tracker = new CargoTracker();
// Aras Kargo ile takip
const result = await tracker.trackArasKargo('1234567890');
// Genel provider ile takip
const result2 = await tracker.trackWithProvider('aras kargo', '1234567890');
// Kullanılabilir provider'ları listele
const providers = tracker.getProviders();
console.log(providers);
// Kaynakları temizle
await tracker.close();
```
Classes
Methods
# async close()
Tüm provider'ların kaynaklarını temizler ve bağlantıları kapatır
Özellikle Puppeteer browser instance'larını kapatmak için önemlidir
Promise
Example
```typescript
const tracker = new CargoTracker();
// ... takip işlemleri
await tracker.close(); // Kaynakları temizle
```
# getProviders()
Kayıtlı tüm kargo provider'larının adlarını döndürür
Kayıtlı provider adlarının listesi (küçük harflerle)
Example
```typescript
const providers = tracker.getProviders();
console.log(providers); // ['aras kargo']
```
# registerProvider(provider) → {void}
Yeni bir kargo provider'ı sisteme kayıt eder
Parameters:
Name | Type | Description |
---|---|---|
provider |
Kayıt edilecek kargo provider'ı |
Provider adı boş olamaz
Error
void
Example
```typescript
const customProvider = new CustomKargoProvider();
tracker.registerProvider(customProvider);
```
# async trackArasKargo(trackingNumber)
Aras Kargo ile kargo takip işlemi yapar (kısayol metod)
Parameters:
Name | Type | Description |
---|---|---|
trackingNumber |
Takip edilecek Aras Kargo numarası |
Kargo takip sonucu
Example
```typescript
const result = await tracker.trackArasKargo('1234567890');
if (result.success && result.data) {
console.log('Gönderici şube:', result.data.senderBranch);
console.log('Alıcı şube:', result.data.receiverBranch);
console.log('Durum:', result.data.status);
}
```
# async trackWithProvider(providerName, trackingNumber)
Belirtilen provider ile kargo takip işlemi yapar
Parameters:
Name | Type | Description |
---|---|---|
providerName |
Kullanılacak kargo provider'ının adı (büyük/küçük harf duyarsız) | |
trackingNumber |
Takip edilecek kargo numarası |
Kargo takip sonucu
Example
```typescript
const result = await tracker.trackWithProvider('aras kargo', '1234567890');
if (result.success) {
console.log('Kargo durumu:', result.data?.status);
} else {
console.error('Hata:', result.error);
}
```