İçindekiler

Form İçerisinde Web Servis Çalıştırma

Form tasarımında DİA Web Servislerini çağırmak için iki adım gerekir: önce DİA Web Servis Bağlantıları ekranından bağlantı bilgilerinin tanımlanması, ardından Script Yöneticisi içindeki Web Servis adımı ile örnek JSON yapıları kullanılarak ekleme, güncelleme, listeleme ve getir işlemlerinin yazılması gerekmektedir.


🔗 DİA Web Servis Bağlantıları

🔧 Ekranda Yer Alan Alanlar

* Sunucu Adı: Hedef DİA sunucusu (örn: diademo). Varsayılan: diademo. * Bağlantı Türü: Sabit veya Entegrasyon seçilebilir. * Sabit seçildiğinde: Ekranda girilen Kullanıcı Adı, Şifre ve API Key alanları kullanılır. Bu bilgiler form tasarımı ile birlikte saklanır. * Entegrasyon seçildiğinde: Entegrasyon Tanım ekranında (flw4001) DİA Web Servis türünde tanımlı kayıtlar listelenir; listeden bir entegrasyon seçilir. Kullanıcı, şifre ve API Key bilgileri seçilen entegrasyon kaydından okunur.

🧪 Bağlantı Testi

* Bağlantı Testi butonu ile girilen bilgilerle (Sabit ise ekrandaki kullanıcı/şifre/apikey, Entegrasyon ise seçilen kayıt bilgileri) DİA Web Servise login denemesi yapılır.

💡 Bağlantı Türü Özeti

🔲 Seçim 📖 Kullanılan bilgi
Sabit Ekranda girilen Sunucu Adı, Kullanıcı Adı, Şifre, API Key
Entegrasyon Ekranda girilen Sunucu Adı + Entegrasyon Tanım ekranındaki DİA Web Servis türüne ait kayıttan okunan kullanıcı, şifre, API Key

📜 Script Yöneticisi ve Web Servis Adımı

Script Yöneticisi içinde sol tarafta form nesneleri ve aksiyonlar listelenir; sağ tarafta script editörü bulunur. Editör üzerindeki Web Servis butonu ile hazır şablonlar eklenebilir. Bu şablonlar, DİA Web Servis API çağrıları için örnek JSON yapısı ve callWebService(json, after_callback) kullanımını içerir.

📝 Genel JSON Yapısı

JSON yapısı

{
  "servis_adi": {
    "firma_kodu": "...",
    "donem_kodu": "...",
    ... diğer parametreler
  }
}

Callback örneği

def after_xxx(sonuc):
    print("Sonuç:", sonuc)

callWebService(json, after_xxx)


📝 Örnek Tanımlar

Aşağıdaki örnekler Script Yöneticisi Web Servis menüsündeki şablonlarla uyumludur. firma_kodu ve donem_kodu değerleri ortamınıza göre düzenlenmelidir

📝 Örnek Tanımlamalar

📋 Listeleme

json = {
    "sis_ozelkod_listele": {
        "firma_kodu": {firma_kodu},
        "donem_kodu": {donem_kodu},
        "filters": [{"field": "turkodu", "operator": "=", "value": "CHK3"}],
        "sorts": [{"field": "turkodu", "sorttype": "DESC"}],
        "params": "",
        "limit": 0,
        "offset": 0
    }
}

def after_listeleme(sonuc):
    print("Sonuç:", sonuc)

callWebService(json, after_listeleme)

🔍 Getir (Tekil Kayıt)

json = {
    "sis_ozelkod_getir": {
        "firma_kodu": {firma_kodu},
        "donem_kodu": {donem_kodu},
        "key": "12345"
    }
}

def after_getir(sonuc):
    print("Sonuç:", sonuc)

callWebService(json, after_getir)

➕ Ekleme

json = {
    "sis_ozelkod_ekle": {
        "firma_kodu": {firma_kodu},
        "donem_kodu": {donem_kodu},
        "kart": {
            "aciklama": "ÖZEL KOD WS",
            "durum": "A",
            "kod": "WS0022",
            "turkodu": "M2"
        }
    }
}

def after_ekle(sonuc):
    print("Sonuç:", sonuc)

callWebService(json, after_ekle)

✏️ Güncelleme

json = {
    "sis_ozelkod_guncelle": {
        "firma_kodu": {firma_kodu},
        "donem_kodu": {donem_kodu},
        "kart": {
            "_key": {"kod": "WS003", "turkodu": "M2"},
            "aciklama": "ÖZEL KOD WS",
            "durum": "A",
            "kod": "WS003",
            "turkodu": "M2"
        }
    }
}

def after_guncelle(sonuc):
    print("Sonuç:", sonuc)

callWebService(json, after_guncelle)

🗑️ Silme

json = {
    "sis_ozelkod_sil": {
        "firma_kodu": {firma_kodu},
        "donem_kodu": {donem_kodu},
        "key": "12345"
    }
}

def after_sil(sonuc):
    print("Sonuç:", sonuc)

callWebService(json, after_sil)