Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iletimerkezi/iletimerkezi-node

İletiMerkezi SMS API'ını kullanarak SMS gönderimi yapmanızı sağlayan nodejs kütüphanesidir.
https://github.com/iletimerkezi/iletimerkezi-node

iletimerkezi-api npm otp sms sms-api toplusms verify

Last synced: 8 days ago
JSON representation

İletiMerkezi SMS API'ını kullanarak SMS gönderimi yapmanızı sağlayan nodejs kütüphanesidir.

Awesome Lists containing this project

README

        

# İleti Merkezi Node.js SDK

İleti Merkezi SMS API'sini Node.js uygulamalarınızda kolayca kullanmanızı sağlayan resmi SDK.

## Gereksinimler

- Node.js >= 14.x
- TypeScript >= 4.x

## Kurulum

```bash
npm i @iletimerkezi/iletimerkezi-node
```

## Hızlı Başlangıç

```typescript
import { IletiMerkeziClient } from 'iletimerkezi-node';

// Client oluşturma
const client = new IletiMerkeziClient(
'API_KEY',
'API_HASH',
'SENDER' // Opsiyonel
);

// SMS Gönderme
const smsService = client.sms();

// Tek numaraya SMS gönderme
const response = await smsService
.disableIysConsent()
.send('5051234567', 'Merhaba!');

if (response.ok()) {
console.log('SMS gönderildi:', response.getOrderId());
} else {
console.log('Hata:', response.getMessage());
}
```

## Özellikler

- TypeScript desteği
- Promise tabanlı API
- Hata yönetimi
- Detaylı raporlama
- Webhook desteği

## Servisler

### SMS Servisi

```typescript
// Tek numaraya SMS gönderme
await client.sms().send('5051234567', 'Mesaj');

// Birden fazla numaraya aynı mesajı gönderme
await client.sms().send(['5051234567', '5051234568'], 'Mesaj');

// Farklı numaralara farklı mesajlar gönderme
await client.sms().send({
'5051234567': 'Mesaj 1',
'5051234568': 'Mesaj 2'
});

// İleri tarihli gönderim
await client.sms()
.disableIysConsent()
.schedule('2024-12-25 10:00:00')
.send('5051234567', 'Mesaj');
```

### Rapor Servisi

```typescript
// Sipariş detaylarını alma
const report = await client.reports().get(orderId);
if (report.ok()) {
console.log('Toplam:', report.getTotal());
console.log('İletilen:', report.getDelivered());
console.log('İletilemeyen:', report.getUndelivered());
}
```

### Özet Servisi

```typescript
// Tarih aralığındaki siparişleri listeleme
const summary = await client.summary().list('2024-01-01', '2024-01-31');
if (summary.ok()) {
console.log('Sipariş sayısı:', summary.getCount());
for (const order of summary.getOrders()) {
console.log('Sipariş ID:', order.getId());
}
}
```

### Gönderici Adı Servisi

```typescript
// Gönderici adlarını listeleme
const senders = await client.senders().list();
if (senders.ok()) {
console.log('Gönderici adları:', senders.getSenders());
}
```

### Kara Liste Servisi

```typescript
// Kara listeye numara ekleme
await client.blacklist().add(['5051234567']);

// Kara listeden numara çıkarma
await client.blacklist().remove(['5051234567']);

// Kara listedeki numaraları listeleme
const blacklist = await client.blacklist().list();
```

### Hesap Servisi

```typescript
// Bakiye sorgulama
const balance = await client.account().balance();
if (balance.ok()) {
console.log('Bakiye:', balance.getAmount());
console.log('SMS Kredisi:', balance.getCredits());
}
```

### Webhook Servisi

```typescript
// Webhook verilerini işleme
const webhook = client.webhook();
const report = await webhook.handle();
console.log('Sipariş ID:', report.getOrderId());
console.log('Numara:', report.getNumber());
console.log('Durum:', report.getStatus());
```

## Debug

```typescript
// Son istek ve yanıt bilgilerini görüntüleme
console.log(client.debug());
```

## Lisans

Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için [LICENSE](LICENSE) dosyasına bakınız.

## Destek
Herhangi bir sorunuz veya öneriniz varsa, lütfen [GitHub Issues](https://github.com/iletimerkezi/iletimerkezi-node/issues) üzerinden bizimle iletişime geçin.