İçindekiler

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:

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.'
}