5.4. Güncelleme (_guncelle) Servisleri
_guncelle
son eki ile biten servisler güncelleme servisleridir. Servis başarıyla çalıştıktan sonra response içerisinde key
bilgisi yani güncellenen 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: Güncellenecek veri bilgisi
Güncelleme servisleri ekleme servislerine birkaç fark dışında çok benzer çalışır. En önemli fark kart
içerisinde _key
bilgisi göndermek zorunludur. Hangi kaydın güncelleneceği bu bilgiden bulunmaktadır. _key
bilgisini parametreler vererek otomatik bulunmasını sağlayabilirsiniz aşağıdaki örnekteki gibi. ( 5.3.4. Bağlantılı Alt Modeller)
"_key": {"fisno": "000007"},
5.4.1. Bağlantılı Alt Modeller
Alt model gönderimi de ekle servislerine çok benzemektedir. Model içerisinde _key
gönderilmişse alt model satırı güncellenir, gönderilmemişse yeni satır (kalem) açılır. Örneğin scf_fatura_guncelle
servisinde m_kalemler
tagı altında fatura kalemleri gönderilmektedir. Önceden var olan bir kalemde güncelleme yapılmak isteniyorsa fatura kalemine ait _key
bilgisi eklenir, yeni bir kalem açılmak isteniyorsa boş bırakılır.
Yine alt modellerle ilgili bir işlem yapılacaksa sadece işlem yapılacak kalem bilgisi göndermek de yeterlidir. Örneğin 10 kalemi olan bir faturaya yeni bir kalem eklemek istiyorsunuz, tüm kalemleri tekrar m_kalemler
içerisine koyup göndermenize gerek yok, sadece eklemek istediğini kalemi koyabilirsiniz.
Eğer alt modelden bir kalem silinmek isteniyorsa m_silinecek_kalemler
listesi içerisine o kaleme ait key bilgisini koymak yeterli olmaktadır. Liste hiç gönderilmezse veya boş gönderilirse herhangi bir silme işlemi yapılmaz. Alt modelin adına göre silinecekler tagının ismi değişmektedir. Örneğin scf_stokkart_guncelle
servisinde m_silinecek_birimler
, m_silinecek_ekmalzemeler
, m_silinecek_barkodlar
gibi taglar mevcuttur. İlgili servisin dökümanından kontrol edilebilir.
Örnek Çağrı (Input):
{"gts_notlar_guncelle" : {"session_id": "{session_id}", "firma_kodu": {firma_kodu}, "donem_kodu": {donem_kodu}, "kart": { "_key": 181181, "_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': '181181', 'msg': '[ws] «2017-03-25» tarihli «Görev Notu» değiştirilmiştir.' }