İBYS WEB SERVİS BİLGİLERİ
WEB SERVİS SONUÇ KODLARI
Sonuç Kodu |
Kod Açıklaması |
200 |
İşlem Başarılı |
204 |
İşlem Başarısız |
210 |
Zorunlu alanlarda hata var! Lütfen ilgili DVO yu yeniden kontrol ediniz. |
211 |
Sorgu numarası hatalıdır! bu servisi sadece yeni kayıtlar için kullanılabilirsiniz! |
212 |
uzmanKimlikNo + " kimlik numaralı İG Uzmanı ile " + calisanKimlikNo + " kimlik numaralı calişan arasında işyeri bazında bir bağ bulunamadı! |
213 |
uzmanKimlikNo + " kimlik numaralı İSG Profesyoneli bulunamadı |
214 |
İmzalı içerik ile gönderilen değerler aynı değildir! |
215 |
İsg prof TC kimlik no ile e imza sahibi aynı kişi değildir! |
401 |
firma kodu ve parola ile aktif bir firma bulunamadı! |
1111 |
Sistem Hatası |
2222 |
SQL Exception |
WEB SERVİS VERİ GÖNDERİMİ
1. Aşağıdaki xml dökümanı oluşturulur. Oluşturulan xml tek bir satır olmalıdır. Formatlanmasına gerek yoktur.
Document doc = docBuilder.newDocument(); Element rootElement = doc.createElement("EgitimDVO"); doc.appendChild(rootElement); Element egitimBildirim = doc.createElement("egitimBildirim"); rootElement.appendChild(egitimBildirim); Element belgeTipi = doc.createElement("belgeTipi"); belgeTipi.appendChild(doc.createTextNode(egitim.getBelgeTipi().toString())); egitimBildirim.appendChild(belgeTipi); Element isgProfTckNo = doc.createElement("isgProfTckNo"); isgProfTckNo.appendChild(doc.createTextNode(egitim.getIsgProfTckNo().toString())); egitimBildirim.appendChild(isgProfTckNo); Element calisanTckNo = doc.createElement("calisanTckNo"); calisanTckNo.appendChild(doc.createTextNode(egitim.getCalisanTckNo().toString())); egitimBildirim.appendChild(calisanTckNo); Element egitimKoduId = doc.createElement("egitimKoduId"); egitimKoduId.appendChild(doc.createTextNode(egitim.getEgitimKoduId().toString())); egitimBildirim.appendChild(egitimKoduId); Element egitimSuresi = doc.createElement("egitimSuresi"); egitimSuresi.appendChild(doc.createTextNode(String.valueOf(egitim.getEgitimSuresi()))); egitimBildirim.appendChild(egitimSuresi); Element egitimTarihi = doc.createElement("egitimTarihi"); egitimTarihi.appendChild(doc.createTextNode(egitim.getEgitimTarihi().toString())); egitimBildirim.appendChild(egitimTarihi); Element egitimYer = doc.createElement("egitimYer"); egitimYer.appendChild(doc.createTextNode(String.valueOf(egitim.getEgitimYer()))); egitimBildirim.appendChild(egitimYer); Element egitimTur = doc.createElement("egitimTur"); egitimTur.appendChild(doc.createTextNode(String.valueOf(egitim.getEgitimTur()))); egitimBildirim.appendChild(egitimTur); Element sgkTescilNo = doc.createElement("sgkTescilNo"); sgkTescilNo.appendChild(doc.createTextNode(egitim.getSgkTescilNo())); egitimBildirim.appendChild(sgkTescilNo); Element egiticiTckNo = doc.createElement("egiticiTckNo"); egiticiTckNo.appendChild(doc.createTextNode(egitim.getEgiticiTckNo().toString())); egitimBildirim.appendChild(egiticiTckNo); String generateEdilenIcerik = “”; //Generate edilen tek satırlık xml String gelenIcerikDiggest = digest("SHA-256", generateEdilenIcerik); /* Imzalama Islemi burada yapilacak! Asagida tanimlanan imzalanmisIcerik imzali deger olmali. */ String imzalanmisIcerik=””; //imzalanmis deger; // Eger byte[] tipinde cikti varsa bu satır gereksiz byte[] imzalanmisIcerikByte=imzalanmisIcerikString.getBytes(); //imzalanmisIcerikString i Base64.encode ediyoruz ve servis objesine setliyoruz. String imzaliDeger=Base64.encode(imzalanmisIcerikByte); egitim.setImzaliDeger(imzaliDeger); public static String digest(String alg, String input) throws UnsupportedEncodingException { try { MessageDigest md = MessageDigest.getInstance(alg); // direk "SHA-256" da verilebilinir. byte[] buffer = input.getBytes(StandardCharsets.UTF_8); //direk “UTF-8” de verilebilinir. md.update(buffer); byte[] digest = md.digest(); return bytesToHex(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return e.getMessage(); } } private static String bytesToHex(byte[] digest) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < digest.length; i++) { sb.append(Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1)); } return sb.toString(); }- Oluşturulan xml için sha256 Mdiggest algoritması ile hash i alınır ve imzalanır. Daha sonra imzalı içerik Base64 ile encode edilerek servise gönderilir.
- Xml içerisindeki isgProf ile imza sahibinin TC kimlik numarası aynı olmalıdır.
Eğitim DVO
Alan |
Açıklama |
String firmaKodu; |
Bakanlık tarafından firmaya verilen kod |
Long sorguNo; |
firmanın oluşturduğu ve eşsiz bir numaradır. |
Long belgeTipi; |
1:işyeri hekimi 2: iş güvenliği uzmanı 3:Diğer sağlık personeli |
Long isgProfTckNo; | |
Long calisanTckNo; | |
Long egitimKoduId; |
|
double egitimSuresi; |
|
String egitimTarihi; |
dd-MM-yyyy formatında |
int egitimYer; |
0: işyeri dışında 1: işyerinde |
int egitimTur; |
0: uzaktan 1: yüzyüze |
String sgkTescilNo; |
boşluksuz ve aralıksız 26 hane olacak şekilde. |
Long isyeriId; |
Boş Gönderilecek |
Long egiticiTckNo; |
Profesyonel Yetkilimi DVO
Alan |
Açıklama |
int isProfesyonel; |
0: profesyonel 1: hekim |
String isyeriSgkNo; | |
Long isgProfTc; | |
Long sorguNo; |
firmanın oluşturduğu ve eşsiz bir numaradır. |
Eğitim Bildirim Sorgu DVO
Alan |
Açıklama |
long sorguNo; |
firmanın oluşturduğu ve eşsiz bir numaradır. |
long isgProfTckNo; | |
long calisanTckNo; | |
String baslangicTarihi; | |
String bitisTarihi; |
Sağlık Aktüel - www.saglikaktuel.com
YASAL UYARI: Yayınlanan köşe yazısı/haberin tüm hakları Sağlık Aktüel’e (www.saglikaktuel.com) aittir. www.saglikaktuel.com biçiminde aktif bağlantı kurulabilir, açık kaynak gösterilmek kaydıyla içerik kullanılabilir. Açık kaynak göstermeden yapılan alıntılar için yasal işlem uygulanacaktır.