PHPackages                             netgsm/voicemail - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. netgsm/voicemail

ActivePackage

netgsm/voicemail
================

Netgsm Sesli Mesaj

v2.0.2(3y ago)018MITPHPPHP &gt;=7.2.5

Since Feb 6Pushed 3y ago1 watchersCompare

[ Source](https://github.com/netgsm/voicemail)[ Packagist](https://packagist.org/packages/netgsm/voicemail)[ RSS](/packages/netgsm-voicemail/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (6)Used By (0)

Laravel Netgsm Voice Mail Entegrasyonu
======================================

[](#laravel-netgsm-voice-mail-entegrasyonu)

Netgsm sesli mesaj paket aboneliği bulunan kullanıcılarımız için laravel paketidir.

İçindekiler
-----------

[](#i̇çindekiler)

- [İletişim &amp; Destek](#i%CC%87leti%C5%9Fim--destek)
- [Doküman](#dok%C3%BCman)
- [Supported](#Supported-Laravel-Versions)
- [Kurulum](#kurulum)
- [Ses Dosyası Yükleme](#ses-dosyas%C4%B1-y%C3%BCkleme)
- [Ses Dosyası Listeleme](#ses-dosyas%C4%B1-listeleme)
- [Basit Sesli Mesaj Başlatma](#basit-sesli-mesaj-ba%C5%9Flatma)
- [Dinamik Sesli Mesaj Başlatma](#dinamik-sesli-mesaj-ba%C5%9Flatma)
- [Sesli Mesaj İptali](#sesli-mesaj-i%CC%87ptali)
- [Sesli Mesaj Raporlama](#sesli-mesaj-raporlama)
- [Sesli Mesaj Webhook](#sesli-mesaj-webhook)

İletişim &amp; Destek
=====================

[](#i̇letişim--destek)

Netgsm API Servisi ile alakalı tüm sorularınızı ve önerilerinizi  adresine iletebilirsiniz.

Doküman
=======

[](#doküman)

API Servisi için hazırlanmış kapsamlı dokümana ve farklı yazılım dillerinde örnek amaçlı hazırlanmış örnek kodlamalara  adresinden ulaşabilirsiniz.

### Supported Laravel Versions

[](#supported-laravel-versions)

Laravel 6.x, Laravel 7.x, Laravel 8.x, Laravel 9.x,

### Supported Symfony Versions

[](#supported-symfony-versions)

Symfony 4.x, Symfony 5.x, Symfony 6.x

### Supported Lumen Versions

[](#supported-lumen-versions)

Lumen 6.x, Lumen 7.x, Lumen 8.x, Lumen 9.x,

### Supported Php Versions

[](#supported-php-versions)

PHP 7.2.5 ve üzeri

### Kurulum

[](#kurulum)

**composer require netgsm/voicemail**

.env dosyası içerisinde NETGSM ABONELİK bilgileriniz tanımlanması zorunludur.

**NETGSM\_USERCODE=""**
**NETGSM\_PASSWORD=""**

### Ses Dosyası Yükleme

[](#ses-dosyası-yükleme)

Sesli mesaj yapacağınız ses dosyasını bu fonksityon ile yükleyebilirsiniz.

Bir dakika içerisinde bir dosya gönderebilirsiniz.

```
       use Netgsm\Seslimesaj\Package;

       $islem=new Package;
       $data['fname']="C:/test.mp3";
       $sonuc=$islem->sesyukle($data);
       dd($sonuc);
       die;
```

#### Başarılı istek örnek

[](#başarılı-istek-örnek)

```
Array
(
    [durum] => İşlem başarılı
    [sesid] => 5590xxxx
)
```

#### Başarısız istek örnek

[](#başarısız-istek-örnek)

```
Array
(
    [durum] => Dosya yolu geçersiz.
)
```

### Ses Dosyası Listeleme

[](#ses-dosyası-listeleme)

Yüklediğiniz ses dosyalarını sorgulayarak bilgisine ulaşabilirsiniz.

```
        use Netgsm\Seslimesaj\Package;
        $data=array('startdate'=>'260120231500','stopdate'=>'270120231500');
        $islem=new Package;
        $sonuc=$islem->seslistele($data);
        dd($sonuc);
        die;
```

#### Başarılı istek

[](#başarılı-istek)

```
Array
(
    [0] => Array
        (
            [AudioID] => 552xxxxx
            [gonderentelno] => 312xxxxxxx
            [tarih] => 26.01.2023 15:03
            [mesajsuresi] => 174
            [yuklenmisdosya] => http://sesdosya.netgsm.com.tr/upload.php?tip=6&a=b454xxxxxxxx.........
        )

    [1] => Array
        (
            [AudioID] => 55258936
            [gonderentelno] => 312xxxxxxx
            [tarih] => 26.01.2023 15:02
            [mesajsuresi] => 174
            [yuklenmisdosya] => http://sesdosya.netgsm.com.tr/upload.php?tip=6&a=b454axxxxxxxxxxx........
        )

)
```

#### Başarısız istek

[](#başarısız-istek)

```
Array
(
    [code] => 30
    [message] => Geçersiz kullanıcı adı , şifre veya kullanıcınızın API erişim izninin olmadığını gösterir.
    Ayrıca eğer API erişiminizde IP sınırlaması yaptıysanız ve sınırladığınız ip dışında gönderim sağlıyorsanız
    30 hata kodunu alırsınız. API erişim izninizi veya IP sınırlamanızı , web arayüzümüzden; sağ üst köşede
    bulunan ayarlar> API işlemleri menüsunden kontrol edebilirsiniz.
)
```

### Sesli Mesaj Başlatma

[](#sesli-mesaj-başlatma)

Sesli Mesaj API ile, sesli mesajlarınızı senaryonuza göre basit ya da dinamik şekilde başlatabilirsiniz. Sistemimize yüklü ses dosyanız ya da göndereceğiniz textin tarafımızda ses dosyasına dönüşümü ile Sesli Mesaj başlatabilirsiniz, Ses dosyası yükleyebilir,
Gelen sesli Mesajları listeleyebilir,
Başlattığınız Sesli Mesajların durumlarını sorgulayarak Raporlama yapabilirsiniz.
Sesli mesaj senaryoları bir adet tuşlama yapacak şekilde gerçekleştirebilir.

### Basit Sesli Mesaj Başlatma

[](#basit-sesli-mesaj-başlatma)

 Parametre Anlamı   **startdate**   Gönderime başlayacağınız tarih. (ddMMyyyy)     **starttime**  Mesajın gönderilmeye başlanacağı saat(ssdd)     **stopdate**  İki tarih arası gönderimlerinizde bitiş tarihi.(ddMMyyyy) \*Başlangıç ve bitiş tarihleri arasında en az 1 saat en fazla 21 saat olmalıdır.     **stoptime**   Mesaj gönderimi bitiş saati(ssdd)     **key=1**    Ses kaydının sonunda tuşa basılmasını istiyorum.     **key=0**    Ses kaydının sonunda tuşa basılmasını istemiyorum.     **audioid**   Gönderilmek istenen sesid, sisteme daha önce yüklemiş olmanız gerekir.     **baslangictext**   Sesli arama gerçekleştiğinde dinletilecek metin     **baslangicaudioid**   Sesli arama gerçekleştiğinde dinletilecek sesin idsi.     **keys**   Mesajın gönderildiği telefon numarası     **$data\['keyinfo'\]\[0\]\[tus\]**   tuşa basılığında anlamına gelir     **$data\['keyinfo'\]\[0\]\[ses\]**   tuşa basılığında bu sesi dinlet anlamına gelir.Daha önceden yüklenmiş ses id si girilmelidir.     **$data\['keyinfo'\]\[0\]\[text\]**   tuşa basılığında bu texti dinlet anlamına gelir     **filter**   Ticari içerikli sesli mesaj gönderimlerinde bu parametreyi kullanabilirsiniz. Ticari içerikli bireysele gönderilecek numaralar için İYS kontrollü gönderimlerde ise "11" değerini, tacire gönderilecek İYS kontrollü gönderimlerde ise "12" değerini almalıdır. gönderilmediği taktirde İYS kontrolü uygulanmadan gönderilecektir.     **ringtime**   Sesli mesaj için yapılan aramada telefoonun çalma süresi. (min 10 - max 30 sn)     **relationid**   Tarafınızda belirleyeceğiniz bir random sayı ile sesli mesaj başlattığınızda, Raporlama servisini sorguladığınızda relationID bilgisi de dönecektir.  ```
        use Netgsm\Seslimesaj\Package;
        $data['startdate']="06022023";
        $data['starttime']="1606";
        $data['stopdate']="05022023";
        $data['stoptime']="1630";
        $data['key']=1;//ses kaydının sonunda tuşa basılması durumu (0,1)
        $data['relationid']='1234567';//random olarak girilir
        //$data['baslangicaudioid']=54325324;//baslangicaudioid varsa baslangictext parametresi gönderilmemelidir
        $data['baslangictext']='Merhaba';//baslangictext varsa baslangicaudioid parametresi gönderilmemelidir
        $data['keyinfo'][0]['tus']=1;//1 numaralı tuşa basıldığında anlamına gelir
        $data['keyinfo'][0]['ses']="55156219";//$data['keyinfo'][0]['tus']  parametresinde gönderilen tuşa basıldığında buradaki sesidli ses dinletilir.
        $data['keyinfo'][1]['tus']=2;
       // $data['keyinfo'][1]['ses']="55156219";//text varsa ses parametresini gönderilmemelidir.
        $data['keyinfo'][1]['text']="Merhaba ";//text varsa ses parametresi gönderilmemeilidir.
        $data['no']=['553xxxxxx'];
        $data['filter']=0;
        $data['ringtime']=20;
        //$data['url']="http://....";
        $islem=new Package;
        $sonuc=$islem->basitSesliMsg($data);
        dd($sonuc);
        die;
```

#### Başarılı istek örnek

[](#başarılı-istek-örnek-1)

```
Array
(
    [cevap] => İşlem başarılı.
    [code] => 00
    [bulkid] => 175343083
)
```

#### Başarısız istek örnek

[](#başarısız-istek-örnek-1)

```
Array
(
    [code] => 70
    [durum] => Hatalı sorgulama. Gönderdiğiniz parametrelerden birisi hatalı veya zorunlu alanlardan birinin eksik olduğunu ifade eder.
)
```

### Dinamik Sesli Mesaj Başlatma

[](#dinamik-sesli-mesaj-başlatma)

Senaryonuza göre sırası belirlenmiş şekilde gönderdiğiniz yüklü ses dosyaları ya da textlerinizle sesli mesajınız başlatılır. 1:n mantığı ile bir sesli mesajı birden fazla numaraya başlatabilirsiniz.

DeğişkenAnlamı`startdate`Gönderime başlayacağınız tarih. (ddMMyyyy)`starttime`Mesajın gönderilmeye başlanacağı saat(ssdd)`stopdate`İki tarih arası gönderimlerinizde bitiş tarihi.(ddMMyyyy) \*Başlangıç ve bitiş tarihleri arasında en az 1 saat en fazla 21 saat olmalıdır.`stoptime`Mesaj gönderimi bitiş saati(ssdd).`key=1`Ses kaydının sonunda tuşa basılmasını istiyorum.`key=0`Ses kaydının sonunda tuşa basılmasını istemiyorum.`audioid`Gönderilmek istenen sesid, sisteme daha önce yüklemiş olmanız gerekir.`text`Gönderilmek istenen metin`no`Mesajın gönderildiği telefon numarası`keyinfo`Tus bilgisi bu parametre ile gönderilir. Bu parametre sonrasında audioID ya da text bilgisi içeren parametre göndermeniz zorunludur.`filter`Ticari içerikli sesli mesaj gönderimlerinde bu parametreyi kullanabilirsiniz. Ticari içerikli bireysele gönderilecek numaralar için İYS kontrollü gönderimlerde ise "11" değerini, tacire gönderilecek İYS kontrollü gönderimlerde ise "12" değerini almalıdır. gönderilmediği taktirde İYS kontrolü uygulanmadan gönderilecektir.`ringtime`Sesli mesaj için yapılan aramada telefoonun çalma süresi. (min 10 - max 30 sn)```
        use Netgsm\Seslimesaj\Package;
        $islem=new Package;
        $data['startdate']="02022023";
        $data['starttime']="0914";
        $data['stopdate']="02022023";
        $data['stoptime']="1015";
        $data['ringtime']=20;
        $data['key']=1;
        $data['no']=['553xxxxxxx'];
        $data['filter']=0;
        $data["series"][0]["text"]="Text 1";// ilk sırada dinletilmesi gereken text içerik.Burada text sesli mesaja çevrilir. istenilirse bu indislere ve diğer indislere geçerli audio id de girilir.Aşağıya indislere dikkate dilerek text yada audioid eklenebilir
        //$data["series"][1]["text"]="text2";
        //$data["series"][2]["text"]="Text 1";
        //$data["series"][3]["audioid"]="55183930";
        $data['keyinfo'][0]['tus']=1;//
        $data['keyinfo'][0]['text']=//1 tuşlandığında  okutulacak metin;
        $data['keyinfo'][1]['tus']=2;
       // $data['keyinfo'][1]['ses']="55156219";
        $data['keyinfo'][1]['text']="Merhaba ";//$data['keyinfo'][1] in tus keyinin valuesi 2 olduğu için 2 ye tıklandığında sesli mesaja çevrilecek metini ifade eder.burada audioid de kullanılabilir.
        //$data['url']="http://....";
        $sonuc=$islem->dinamikseslimesaj($data);
       dd($sonuc);
       die;
```

#### Başarılı istek örnek sonuç

[](#başarılı-istek-örnek-sonuç)

```
Array
(
    [code] => 00
    [bulkid] => 175345216
    [durum] => işlem başarılı
)
```

#### Başarısız istek örnek sonuç

[](#başarısız-istek-örnek-sonuç)

```
Array
(
    [code] => 70
    [durum] => Hatalı sorgulama. Gönderdiğiniz parametrelerden birisi hatalı veya zorunlu alanlardan birinin eksik olduğunu ifade eder.
)
```

### Sesli Mesaj İptali

[](#sesli-mesaj-i̇ptali)

İleri tarihe zamanlanmış sesli mesajlarınızı iptal edebilirsiniz.

bulkid :İptal edilmek istenen, sesli mesaj gönderimi yapılırken dönen görevid(bulkid) nizdir. İstek yapılırken gönderilmesi zorunludur.

```
        use Netgsm\Seslimesaj\Package;
        $data['bulkid']=17xxxxx;
        $islem=new Package;
        $sonuc=$islem->iptal($data);

        dd($sonuc);
        die;
```

#### Başarılı istek örnek sonuç

[](#başarılı-istek-örnek-sonuç-1)

```
Array
(
    [code] => 200
    [message] => bulkid iptal islemine alindi.
    [bulkid] => 175xxxx
)
```

#### Başarısız istek örnek sonuç

[](#başarısız-istek-örnek-sonuç-1)

```
Array
(
    [code] => 40
    [error] => ileri tarihli bulkid bulunamadi
)
```

### Sesli Mesaj ,Raporlama

[](#sesli-mesaj-raporlama)

HTTP Get yöntemini kullanarak; Sesli mesajlarınızı başlattıktan sonra tarafınıza dönen ID bilgisi bulkid ile göndereceğiniz ya da bastar- bittar parametreleri gibi sesli mesajlarınızı yaptığınız zaman aralığına göre sorgulayabilirsiniz.

DeğişkenAnlamı`bulkid`Api ile başarılı sesli mesaj gönderimlerinizde dönen görevid(bulkid) nizdir.`type`Sorgulama tipini belirlemek için kullanılır.0: Tek bulkid'ye göre sorgulama yapar. 1: Birden çok bulkid'ye göre sorgulama yapar. (Not: Bu durumda bulkid parametresi 43234, 53453, 54332, ....gibi yazılır.) 2: Tarih aralığında sorgu yapabilmek için kullanılır. (Not: Parametrenin bu değerinde bulkid parametresine girilen değer dikkate alınmaz.)`bastar`İki tarih arası sorgulamanızda başlangıç tarihi (ddMMyyyyHHmm)`bittar`İki tarih arası sorgulamanızda bitiş tarihi(ddMMyyyyHHmm)`status`Mesajınızın durumunu sorgulamak için kullanılır. Status parametesi için açıklamaları aşağıdaki tabloda bulabilirsiniz.`tus`Arama yapıldığında komut edilen tuş numarası. Tuşlanan rakam eğer 10 şeklinde gönderilirse hiç bir tuşa basmayanlar listelenir.```

        use Netgsm\Seslimesaj\Package;
        $data=array('bulkid'=>'1712xxxx','bastar'=>'060220230000','bittar'=>'060220232000','type'=>'0','status'=>'1','tus'=>'1');
        // $data['bastar']='060220230000'; //bulkid var ise tarih girilmemelidir.tarih girilirse type 2 olmalıdır.
        $ses=new Package;
        $sonuc=$ses->rapor($data);
        dd($sonuc);
        die;

```

#### Başarılı istek örnek sonuç

[](#başarılı-istek-örnek-sonuç-2)

```
Array
(
    [0] => Array
        (
            [bulkid] => 1
            [numara] => 7
            [cagricevapdurumu] => 5
            [tuslananrakam] => 3
        )

    [1] => Array
        (
            [bulkid] => 1
            [numara] => 7
            [cagricevapdurumu] => 5
            [tuslananrakam] => 3
        )
 )
```

#### Başarısız istek örnek sonuç

[](#başarısız-istek-örnek-sonuç-2)

```
Array
(
    [code] => 70
    [durum] => Hatalı sorgulama. Gönderdiğiniz parametrelerden birisi hatalı veya zorunlu alanlardan birinin eksik olduğunu ifade eder.
)
```

 Status ParametresiAçıklamalar`0`Cevaplanmayı bekleyenler`1`Cevaplananlar / Açan`2`Cevaplanmayanlar`3`Ulaşılamayan`4`Ücretlendirelemeyen / Varlık Yetersiz`5`Iptal Edilen`6`Başarısız : başlatılamayan çağrılar, durdurulan, hata alanlar`7`Meşgule Alınan`8`Numara Geçersiz`9`Süresi Doldu### Sesli Mesaj Webhook

[](#sesli-mesaj-webhook)

- Başlattığınız Sesli mesajın durumunun (rapor olarak düşünebilirsiniz) belirleyeceğiniz bir URL'e post edilmesini isterseniz, bu yöntemi tercih edebilirsiniz.
- Bu durumda **Basit** ya da **Dinamik Sesli mesaj Oluşturma** işleminde `url` paramretresini de POST etmeniz zorunludur.

DeğişkenAnlamı`bulkid`Başlatılan sesli mesaj görevID`caller`Arayanın numarası`callee`Arananın numarası`state`Çağrının gerçekleşme durumudur. ( 1: Cevaplananlar, 2: Cevaplanmayan, 3: Ulaşılamayan, 7: Meşgule Alınan )`type`Sesli Mesajın tipi (1: Sadece belirlenmiş ses kaydı dinlet, 2: Belirlenmiş ses kaydını dinlet ve sonrasından ses kaydı al, 3: Belirlenmiş ses kaydını dinlet ve tuş bilgisi al, 4: Belirlenmiş ses kaydını dinlet ve tuş bilgisi al)`name`Arananın Adı Soyadı bilgisi`creation_time`İşin oluşturulma zamanı ( yyyy-MM-dd HH:mm:ss.SSS )`start_time`Çağrının başlatılma zamanı ( yyyy-MM-dd HH:mm:ss.SSS )`answer_time`Çağrının cevaplanma zamanı ( yyyy-MM-dd HH:mm:ss.SSS ) "Açan" durumu için`hangup_time`Cevaplanan çağrının kapanma zamanı ( yyyy-MM-dd HH:mm:ss.SSS ) "Açan" durumu için`bilsec`Görüşme süresi, "Açan" durumu için`relationid`İşleri gruplandırmak için kullanılan değer.`detail`Çağrılar hakkında tiplerine göre daha detaylı bilgi içeren objedir.`push_button`Tuşlamalı sesli mesajlarda tuşlama bilgisidir ( NULL: sesi dinleyip tuşlamaya kalmadan ayrılanlar, -1: Sesi dinleyip tuşlamaya kalıp belirlenen sürede tuşlama yapmayanlar type: 4 olanlar için type: 3 veya type: 4 olan işlerde`survey_push_button_desc`Anketlerde basılan tuşun açıklamasıdır.type = 3 olan işlerde`survey_taskid`Anketlerde basılan tuş için belirlenmiş görev(0: Görev atanmamış, 1: Çağrı kapansın, 2: İlk dinletilen ses kaydını tekrar dinlet, 3: Yeni bir ses kaydı dinlet, 4: Yeni ses kaydını dinlet sonrasında ses kaydını al). type =3 olan işlerde`record_link`Aranandan ses kaydı alındığı durumlarda ses kaydını indiren link type = 3 ve taskid = 4 olanlar veya type = 2 olanlar```
{
  "bulkid": 18009xxx,
  "caller": "312xxxxx9",
  "callee": "553xxxxxxx",
  "state": 7,
  "type": 3,
  "name": "isim ",
  "creation_time": "2023-02-22 15:49:03.0",
  "start_time": "2023-02-22 15:50:09.526",
  "relationid": "0",
  "detail": {
    "push_button": "12",
    "survey_push_button_desc": "",
    "survey_taskid": "2131",
    "record_link": "htps://...."
  }
}
```

##### Laravel kullanıyorsanız veriyi aşağıdaki gibi çekebilirsiniz

[](#laravel-kullanıyorsanız-veriyi-aşağıdaki-gibi-çekebilirsiniz)

```
    use Illuminate\Http\Request;
    public function index(Request $request)
    {
        //
        $data = json_decode($request->getContent(),false);
        $data->bulkid;
        $data->callee;
        $data->detail->push_button;
    }
```

##### Symfony kullanıyorsanız veriyi aşağıdaki gibi çekebilirsiniz

[](#symfony-kullanıyorsanız-veriyi-aşağıdaki-gibi-çekebilirsiniz)

```
    use Symfony\Component\HttpFoundation\Request;
    public function index(Request $request)
    {
     $data = json_decode($request->getContent(),false);
        $data->bulkid;
        $data->callee;
        $data->detail->push_button;

     }
```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 76.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

5

Last Release

1180d ago

Major Versions

v1.0.3 → v2.0.12023-02-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/db505801dc4dec81bb19c60263a3c406b36d8823feb712e02bbd129085d3a148?d=identicon)[netgsm](/maintainers/netgsm)

---

Top Contributors

[![netgsm1](https://avatars.githubusercontent.com/u/54525685?v=4)](https://github.com/netgsm1 "netgsm1 (30 commits)")[![fatihavci06](https://avatars.githubusercontent.com/u/64631921?v=4)](https://github.com/fatihavci06 "fatihavci06 (9 commits)")

### Embed Badge

![Health badge](/badges/netgsm-voicemail/health.svg)

```
[![Health](https://phpackages.com/badges/netgsm-voicemail/health.svg)](https://phpackages.com/packages/netgsm-voicemail)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
