1. Dosyaların Sisteme Yüklenmesi


  • Windows için gerekli dosyaları buradan indirebilirsiniz .

  • Tüm dosyaları webapi isimli klasöre çıkartıp aşağıda gösterilen dizine kopyalayın.
    C:\Program Files\3CX Phone System\Bin\webapi

  • MP3 dosyaları için aşağıdaki dizinde gösterildiği gibi mp3 klasörü oluşturun.
    C:\Program Files\3CX Phone System\Bin\webapi\mp3

  • Log dosyaları için gösterildiği gibi klasör oluşturun.
    C:\3CXlogs\

Önemli:

MP3 ve Log klasörlerine yazma izinlerini vermeyi unutmayın!

 

2. .NET SDK 6.0 Kurulumu


İşletim sisteminize uygun olan SDK paketini indirmek ve kurmak için aşağıdaki adrese gidin:

.NET SDK 6.0

Not:

.NET SDK 6.0'ın kurulumunu tamamlamalısınız.

 

3. Settings.ini dosyasının düzenlenmesi 


  • Aşağıdaki dizinde bulunan "Settings.ini" dosyasını açın.

    Dizin

    C:\Program Files\3CX Phone System\Bin\webapi\Settings.ini

     

  • Aşağıdaki "LICENSE_KEY" parametresinin değerini size verilen lisans anahtarıyla değiştirin.

    Settings.ini
    LICENSE_KEY=AAAA-AAAA-AAAA-AAAA
  • Eğer WebHook kullanmak isterseniz bu dosyanın içerisinde WebHook alanının altında bulunan "WEBHOOK_POST_ENABLED" ayarını "true" yapmalısınız. Hemen aşağısında "WEBHOOK_URL" alanı bulunmakta. Bu alana PBX'inizden gelen verileri hangi URL adresine göndermek istiyorsanız o adresi buraya yazmalısınız. İşlem sonunda dosya içerisindeki WebHooks alanı aşağıdaki gibi olmalı.
Settings.ini
WEBHOOK_POST_ENABLED = true
WEBHOOK_URL = https://verilerin-gönderileceği-endpoint

 

4. AccessKeys.csv Dosyasını Düzenleme


Artık AccessKeys.csv dosyasını düzenlemeye hazırsınız.

Aşağıdaki dizinde bulunan "Settings.ini" dosyasını açın.

Dizin

C:\Program Files\3CX Phone System\Bin\webapi\AccessKeys.csv

 Bu dosyanın içerisindeki key alanı API'lere ulaşmak için kullanacağınız erişim anahtarı olacak. Bir erişim anahtarı oluşturun. Bu erişim anahtarı için mail adresi ve isim bilgisini girdikten sonra en son permission alanı gelecek. Bu alanda bu key ile hangi API uçlarına erişmek istediğinizi ayarlayabilirsiniz:

all: Tüm API'lere erişim verir (SET, GET and CallControl).

get: Postman dökümanında adı "GET" ile başlayan API'lere erişim verir.

set: Postman dökümanında adı "SET" ve "GET" ile başlayan API'lere erişim verir.

 

Önemli:

Varsayılan olarak WebAPI kurulumu yapan tüm müşterilerde AccessKeys.csv dosyası içerisinde bir erişim anahtarı bulunur. Bu anahtarı silmenizi ya da değiştirmenizi öneririz.

 

Düzenleme işlemini tamamladıktan sonra kaydedip kapatın.

 

5. WebApi Servisinin Kurulumu


  1. Komut İstemi'ni yönetici olarak çalıştırın ve aşağıdaki komutu yazıp çalıştırın:

    CMD

    sc create webapi binpath= "\"C:\Program Files\3CX Phone System\Bin\webapi\WebhooksApi.exe\" --urls=http://127.0.0.1:8081" displayname= "3CX WebAPI" start= auto obj= "NT AUTHORITY\LocalService"

  2. Komutu çalıştırdıktan sonra CreateService SUCCESS mesajını görmelisiniz.

 

  • Servisi başlatmak için: sc start webapi

  • Servisi durdurmak için: sc stop webapi

  • Servisi kaldırmak için: sc delete webapi

 

6. nginx.conf Dosyasının Düzenlenmesi


  • Aşağıdaki dosya yolundan nginx.conf dosyasına ulaşın.

    Dizin

    C:\Program Files\3CX Phone System\Bin\nginx\conf\nginx.conf

     

    Not:

    nginx.conf dosyasında yapacağınız değişikliklerin geçerli olması için yönetici haklarına sahip olmanız gerekir.

     

  • "nginx.conf" dosyasını açın ve aşağıdaki alanı bulun:

    nginx.conf

    client_max_body_size 300m;
    root "C:/ProgramData/3CX/Data/Http/wwwroot";

  • Bulduğunuz alanın alt kısmına aşağıdaki alanı ekleyin:

    Text
    location ~ ^/webapi/?(.*) 
    {
    include "shared-headers.conf";
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8081/webapi/$1$is_args$args;
    proxy_buffering off;
    }
  • Bu adımları tamamladıktan sonra 3CX Phone System Nginx Webserver servisini yeniden başlatmalısınız. Eğer komut istemi ekranından bu işlemi gerçekleştirmek isterseniz aşağıdaki komutları kullanabilirsiniz:

    • Durdurmak için: sc stop nginx

    • Başlatmak için: sc start nginx

 

 

7. webapi'yi test etmek


Kurulum başarıyla tamamlandıktan sonra 4. adımda oluşturduğunuz erişim anahtarı ile webapi servisini test edebilirsiniz. Bu testleri tarayıcı üzerinden ya da Postman aracılığı ile yapabilirsiniz.

Örnek bir API endpoint'i bu şekildedir: https://{{3CXFQDN}}:{{3CXHTTPSPORT}}/webapi/{{AccessKey}}/pbx.callsinfo

"3CXFQDN" alanına 3CX PBX'inizin FQDN adresini , "AccessKey" alanına 4. adımda oluşturduğunuz erişim anahtarını ve "3CXHTTPSPORT" alanına 3CX PBX'inizin HTTPS portunu girin.

Kurulum esnasında değiştirilmediği sürece 3CX için varsayılan HTTPS portu 5001'dir.

Apı'lerin nasıl kullanıldığına sizin için hazırladığımız Postman dökümanından ulaşabilirsiniz.