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'ı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.
DizinC:\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.iniLICENSE_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ı.
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.
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.
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
-
Komut İstemi'ni yönetici olarak çalıştırın ve aşağıdaki komutu yazıp çalıştırın:
CMDsc 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"
-
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.
DizinC:\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.confclient_max_body_size 300m;
root "C:/ProgramData/3CX/Data/Http/wwwroot"; -
Bulduğunuz alanın alt kısmına aşağıdaki alanı ekleyin:
Textlocation ~ ^/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.