DİA Web Servisleri Geliştirici Dokümanı v2

Giriş

DİA Kurumsal Yönetim Sistemi ile diğer yazılım sistemleri arasında veri alışverişinin otomatik olarak

yapılabilmesi amacıyla DİA tarafından bazı işlevler web servisi olarak dışarı açılmıştır. Bu doküman

bu işlevlerin kullanımı hakkında teknik bilgi vermektedir.

Genel Bilgiler

DİA web servisleri JSON­RPC (v1) yöntemini kullanmaktadır. Çeşitli dil ve platformlarda JSON­RPC

gerçekleştirimleri bulunmaktadır (http://json­rpc.org/wiki/implementations).

● Örnek Java Kütüphanesi: http://software.dzhuvinov.com/json­rpc­2.0­base.html

● Örnek C# Kütüphanesi: http://code.google.com/p/jayrock/

JSON­RPC  çağrılarında  kullanılacak  olan  URL  http://sunucukodu.json.dia.gen.tr/ şeklindedir.  Bu

URL’deki sunucukodukısmı hangi DİA sunucusu için geliştirme yapılıyorsa onunla değiştirilmelidir.

Veri aktarımı amacıyla kullanılan tüm metotların ilk iki parametresi kullanıcı adı ve şifre dir. Bahsi

geçen kullanıcı, DİA sistemi üzerinden tanımlı olan bir kullanıcıdır. Web servisleri ile yapılacak tüm

işlemler bu  kullanıcının  yetkilerine tabiidir. DİA üzerinden gerekli  yetki ayarlamaları  yapılarak web

servisi  kullanıcılarının  yapabilecekleri  işlemler  kısıtlanabilir.  Web  servisi  kullanıcısında  mutlaka

bulunması gereken yetkiler Genel Yetkiler altında yer alan Veri Aktarımı (Dışarıdan) ve Veri Aktarım

Sihirbazı yetkileridir.

● Web servisinde kullanılan kullanıcı, sisteme hali hazırda bağlı ise bağlantısı kopartılacaktır.

● Tüm servislerin giriş parametreleri string tipindedir. Servislerden dönen cevap formatı:

Sonuç Kodu Anlamı "200" İşlem başarılı "400" İşlem parametrelerinde hata var. "sonuc" anahtar değerine bakılabilir. "401" Yetki sorunu veya kullanıcı adı ve/veya şifre hatalı "405" Lisans sorunu, sunucu üzerinde web servis lisansı tanımlı değil "500" Sunucuda öngörülmeyen hata oluştu. "sonuc" anahtar değerine bakılabilir.

Servis Adı Parametre aktarimprms

gonder_*

gonder_stok gonder_* parametreleri hataolursa

gonder_cari gonder_* parametreleri hataolursa

gonder_potansiyel gonder_* parametreleri hataolursa

gonder_fatura gonder_* parametreleri

gonder_irsaliye gonder_* parametreleri otomatikfisno

gonder_siparis gonder_* parametreleri otomatikfisno

gonder_teklif gonder_* parametreleri otomatikfisno

depokodu gonder_carihesapfisi gonder_* parametreleri otomatikfisno otomatikbelgeno hataolursa ozelkodlar yetkikodları benzerlikkontrolu eslenmeyenler subekodu gonder_malzemefisi gonder_* parametreleri benzerlikkontrolu eslenmeyenler karsisubekodu karsidepokodu gonder_kasafisi gonder_* parametreleri otomatikfisno hataolursa ozelkodlar yetkikodları benzerlikkontrolu eslenmeyenler subekodu gonder_bankafisi gonder_* parametreleri hataolursa ozelkodlar yetkikodları benzerlikkontrolu eslenmeyenler subekodu

Servis Adı Parametreler al_liste_* 1. kullaniciadi

al_liste_stok

al_liste_cari

al_liste_potansiyel

al_liste_fatura

al_liste_irsaliye

al_liste_siparis

al_liste_teklif

al_liste_carihesapfisi

al_liste_malzemefisi

al_liste_kasafisi

al_liste_bankafisi

al_detay_* 1. kullaniciadi

al_detay_stok

al_detay_cari

al_detay_potansiyel

al_detay_fatura

al_detay_irsaliye

al_detay_siparis

al_detay_teklif

al_detay_carihesapfisi

al_detay_malzemefisi

al_detay_kasafisi

al_detay_bankafisi

● kullaniciadi:DİA WS kullanıcı ismi

● sifre:DİA WS kullanıcı şifresi

● xmldata:Aktarılacak  veri bilgisini içeren XML  verisi. İstenirse GZIP  yöntemi ile  sıkıştırılıp

● firmakodu: Verinin  aktarılacağı  firma  kodu. Gönderilmez  ise  kullanıcının  öntanımlı  firması

● donemkodu: Verinin  aktarılacağı  firmaya  bağlı  olan  dönem  kodu.  Gönderilmez  ise

● subekodu: Verinin aktarılacağı şubenin kodu.

● depokodu: Verinin aktarılacağı deponun kodu.

● otomatikfisno: Faturaların fiş no bilgilerinin nasıl oluşturulacağını belirtir.

● otomatikfaturano: Faturaların fatura no bilgilerinin nasıl oluşturulacağını belirtir.

● otomatikirsaliyeno: Kayıtların numara bilgilerinin nasıl oluşturulacağını belirtir.

● otomatiksiparisno: Kayıtların numara bilgilerinin nasıl oluşturulacağını belirtir.

● otomatikteklifno: Kayıtların numara bilgilerinin nasıl oluşturulacağını belirtir.

● otomatikbelgeno: Kayıtların numara bilgilerinin nasıl oluşturulacağını belirtir.

● hataolursa: Hata durumunda davranış biçimi.

● ozelkodlar: Fatura özel kodları aktarım davranışı.

● yetkikodlari: Fatura yetki kodları aktarım davranışı.

● benzerlikkontrolu:Fatura numarası daha önce girilmiş kayıtlarla aynı olan faturalar için

● eslenmeyenler: Fatura bilgileri eşlenirken hata oluşursa davranış biçimi.

● carikartkontrolu: Fatura bilgileri eşlenirken cari kart bilgisinin kontrol şekli.

● markalar: Stok markalarının aktarma davranışı.

● vergidaireleri: Cari kartın vergi dairesi bilgisini aktarma davranışı.

● benzerkod: Daha önceden varolan kodla karşılaşıldığındaki davranışı belirler.

● karsisubekodu:Malzeme fişlerinin aktarılacağı hedef şubenin kodu. Depo transfer fişlerinin

● karsidepokodu: Malzeme  fişlerinin  aktarılacağı  hedef  deponun  kodu.  Depo  transfer

● songuncelleme: Opsiyonel  olarak  gönderilebilecek  kayıt  modifikasyon  tarihi.  ISO

● filtre: Opsiyonel olarak gönderilebilecek sorgulara eklenebilecek filtrelerin yer aldığı listedir.

C#: Tüm stok listesini XML olarak dışarı alma

(JayRock Kütüphanesi Kullanarak http://code.google.com/p/jayrock/downloads/list, reference Jayrock.dll,

Jayrock.Json.dll, Jayrock.Sandbox.dll, System.Web.Services.dll)

usingSystem;

usingSystem.Collections;

usingSystem.Net;

usingJayrock.Json;

usingJayrock.JsonRpc;

usingSystem.Web.Services;

namespaceDiaWS

{

classMainClass

{

}

}

C#: Cari Kart Listesini JSON Dict olarak dışarı alma

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingJayrock.Json;

usingJayrock.JsonRpc;

usingSystem.Web;

namespaceJSON

{

classMainClass

{

"127.0.0.1",disconnectSameUser);

sessionID,offset,limit,filters,dictFormat);

}

}

C#: Detay Alma Methodu Kullanımı

usingSystem;

usingJayrock.JsonRpc;

usingJayrock.Json;

usingSystem.Web.Services;

namespaceDiaDetailSample

{

classMainClass

{

"Değer"}));

"Değer"}));

"Değer"}));

"A1"}));

"sifre",filters);

"kullaniciadi","sifre",filters);

}

}

C#: Liste Alma Methodu Kullanımı

usingSystem;

usingJayrock.JsonRpc;

usingJayrock.Json;

usingSystem.Web.Services;

namespaceDiaListSample

{

classMainClass

{

"Değer"}));

"Değer"}));

"Değer"}));

"sifre",filters);

}

}

C#: Veri Ekleme Methodu Kullanımı

usingSystem;

usingSystem.IO;

usingJayrock.JsonRpc;

usingJayrock.Json;

usingSystem.Web.Services;

namespaceDiaImportSample

{

classMainClass

{

"BENZER_KODA_YENI_KOD_VER"}));

"sifre",xml,parameters);

}

}
Proje Grup

Kavaklıdere Cd. No: 8/4
Ümraniye / İstanbul
info@jestbilgisayar.com
+90 216 412 00 00
Copyright © 2013 Proje Group