5.3. Ekleme (_ekle) Servisleri
_ekle
son eki ile biten servisler ekleme servisleridir. Servis başarıyla çalıştıktan sonra response içerisinde key
bilgisi yani eklenen kayda ait '_key' değeri döner.
Servis Parametreleri:
- session_id : login ile alınmış session id bilgisi
- firma_kodu : firma gerçek kodu
- donem_kodu : dönem gerçek kodu
- kart: Eklenecek veri bilgisi
5.3.1. Tüm alanları eksiksiz göndermeli miyim?
Kart bilgisi olarak genelde model ve modele bağlı alt model bilgileri gönderilir. Modele ait tüm alanların eksiksiz gönderilmesine gerek yoktur, gönderilmeyen alanlar default değerleri otomatik yazılır. Örneğin cari kart eklerken scf_carikart
modelindeki alanlar kart
içerisinde göndeririz. Modeldeki carikarttipi
alanını hiç göndermediğimiz durumda sistem default olarak 'AL (Alıcı)' değerini otomatik yazacaktır. Yalnız bazı alanlar zorunludur ve gönderilmesi gerekmektedir, örneğin carikartkodu
gibi.
5.3.2. Bağlantılı (_key ile başlayan) Alanlar
Bağlantı alanları numeric
tipte alanlardır, ve sayı girilmesi beklenir. Örneğin cari kart içerisindeki _key_sis_vergidairesi
alanı sis_vergidairesi
tablosundaki _key
alanıyla ilişkilidir. Aşağıdaki gibi gönderilmesi gerekmektedir. Eğer sis_vergidairesi
tablosunda veri yoksa “Kayıt bulunamadı (sis_vergidairesi → {'_key': 123})” şeklinde hata mesajı döner.
"_key_sis_vergidairesi": 123,
Burada _key_sis_vergidairesi
bilgisinin bilinmemesi durumunda uygun _key
bulunması için ekstra uğraş gerekmektedir. Hızlı şekilde değerin bulunması için sis_vergidairesi
modelindeki bir alan eşleşiyorsa _key
bilgisini otomatik sistemin kendisinin yazması sağlanabilir, aşağıdaki örnekteki gibi.
"_key_sis_vergidairesi": {"kod": "ÇANKAYA VERGİ DAİRESİ"},
Birden fazla filtrede uygulanabilmektedir. Aşağıdaki örnekte sis_ozelkod
modeli içerisinde “turkodu”: “M2” ye eşit olan ve “kod”: “WS003” eşit olan kayıt aranmaktadır.
"_key_sis_ozelkod2": {"turkodu": "M2", "kod": "WS003"},
Eşleşen kayıt varsa getirilir, birden fazla eşleme mevcutsa veya hiç kayıt bulamazsa uyarı verir.
5.3.3. Combo (Seçimli) Alanlar
Combo alan değerleri model dökümantasyonundan bakılarak uygun alan karşılığı neyse yazılmalıdır. Örneğin scf_stokkart
modelinde stokkartturu
combo bir alandır. 'Ticari Mal' değeri için 'TCR' kısa kodu verilmelidir. Farklı bir kod verilmesi durumda yada görünen adın yazılması durumunda servis aşağıdaki gibi hata döndürecektir. Eğer combo alan hiç gönderilmezse sistem default değerini otomatik yazacaktır.
{'code': '400', 'msg': 'Kombo değeri geçersiz (stokkartturu -> Ticari Mal)' }
5.3.4. Bağlantılı Alt Modeller
Ekleme işleminde modelin herhangi bir alt modelle bağlantısı varsa, onun bilgileri de gönderilebilmektedir. Örneğin stok kart eklerken birimleri (m_birimler
), alternatifler (m_alternatifler
), ek malzemeler (m_ekmalzemeler
) gibi bilgileri gönderebilirsiniz. Bazı servislerde bazı alt model gönderimi zorunludur, örneğin fatura eklerken kalemler (m_kalemler
) gönderilmezse “Kalem bilgisi girilmelidir!” şeklinde uyarı mesajı dönecektir.
Alt kalem bilgileri gönderirken yine kalemdeki tüm alanları eksiksiz yazma gibi bir zorunluluk yoktur, sadece zorunlu istenen ve ihtiyaç olan alanların gönderilmesi yeterlidir.
Alt modelin de alt modeli olabilmektedir. Örneğin stok kart eklerken m_birimler→m_barkodlar
gibi.
Alt modeller liste şeklindedir ve birden fazla bilgiyi gönderebilirsiniz.
Örnek Çağrı (Input):
{"gts_notlar_ekle" : {"session_id": "b2d4820cc43f4d98a8c6698686b6d386", "firma_kodu": 34, "donem_kodu": 1, "kart": { "_key_gts_gorev": 0, "_key_gts_gorusme_kategori": 0, "_key_gts_gorusme_kategorileri": null, "_key_scf_carikart": {"carikartkodu": "0000008"}, "_key_scf_satiselemani": 0, "_key_scf_siparis": 0, "_key_scf_teklif": 0, "_key_shy_servisformu": {"fisno": "000009"}, "_key_sis_kullanici": {"kullaniciadi": "ws"}, "_key_sis_rehber_karti": 0, "_key_sis_seviyekodu": 0, "gorusmesekli": 1, "harcananzaman": "15.00", "harcananzamanturu": "D", "konu": "Parça değişimi hakkında", "note": "yanlış getirilen parçanın yenisi ile değişimi", "saat": "15:55:18", "tarih": "2017-03-25" } } }
Örnek Çıktı (Response):
{'code': '200', 'key': '330389', 'msg': '[ws] «2017-03-25» tarihli «Görev Notu» eklenmiştir.' }