OSGBizleme WSDL — Çözüm Ortağı Kılavuzu
SOAP üzerinden imza, e-reçete, İBYS ve yardımcı servisler · Sürüm 2026-05 · Son güncelleme: 17.05.2026
Tanıtım
OSGBizleme Çözüm Ortağı Servisi; çözüm ortaklarımızın kendi yazılımlarından e-imza, mobil imza, e-reçete (Medula) ve İBYS (Bakanlık) işlemlerini SOAP üzerinden yönetmesini sağlar. 2026-05 sürümünde mobil imza altyapısı modernleştirildi (TÜBİTAK Esya kaldırıldı, yeni REST API mimarisi) ve ParmakIzi alanı tanıtıldı. WSDL kontratı geriye uyumludur.
Endpoint & Test Bilgileri
| Servis URL (canlı) | https://wsdl.osgbizleme.com/osgbizleme.asmx |
|---|---|
| WSDL adresi | https://wsdl.osgbizleme.com/osgbizleme.asmx?WSDL |
| SOAP versiyonu | SOAP 1.2 (zorunlu — SOAP 1.1 reddedilir) |
| Content-Type | application/soap+xml; charset=utf-8; action="https://wsdl.osgbizleme.com/METOT" |
| Kılavuz adresi | https://wsdl.osgbizleme.com/kilavuz/ |
Her metot çağrısında firmano, firmasifre ve KullaniciAdi bilgileri (Kullanici bloğu içinde) eksiksiz gönderilmelidir. İsteğe bağlı ortam alanı ile çağrının gerçek mi test mi olduğu belirtilir:
<Kullanici>
<firmano>FIRMA_NO</firmano>
<firmasifre>FIRMA_SIFRE</firmasifre>
<KullaniciAdi>ISG_PROF_TCKNO</KullaniciAdi>
<ortam>1</ortam> <!-- 1 = Gerçek (varsayılan), 2 = Test -->
</Kullanici>
1 = Gerçek (varsayılan; gönderilmezse 1 kabul edilir). 2 = Test: bu modda kullanıcı kayıt işlemlerinde (KullaniciIslemleri) TC kimlik doğrulaması atlanır — böylece İBYS test kullanıcıları (gerçek olmayan TC ile) kaydedilip uçtan uca test tamamlanabilir. Gerçek işlemlerde ortam göndermeyin veya 1 gönderin.kullanici (küçük k), bazılarında Kullanici (büyük K) gelir. Her metot kendi alanında belirtilmiştir.İmzalama Yazılımı (Java İmza İstemcisi)
Kart e-imzası ile imzalama için İSG Profesyonelinin bilgisayarında çalışan Java tabanlı İmzalama Yazılımı gereklidir. Çözüm Ortağımız bu yazılımı İSG Profesyoneli PC'lerine kurar; çalıştığında periyodik olarak sunucumuza heartbeat gönderir, ImzalamaOturum ile online sorgulanır. Sunucudan gelen imzalama komutlarını kart üzerinden çalıştırır.
Sistem Gereksinimleri
| Java | Java 1.8 (JRE 8). 1.8 üstü sürümlerle uyumlu testler sürmektedir. |
|---|---|
| İşletim Sistemi | Windows 7 / 8 / 10 / 11 — Mac OS X — Linux (her birinin ayrı paketi vardır) |
| Akıllı Kart Sürücüleri (Driver) | PC'de kart driver'ı kurulu olmalı. Aksi halde imza yazılımı kartı tanımaz. Kart marka/modeline göre üretici sitesinden indirilir (Bilgem AKİS, Akıllıkart, Tübitak vb.). |
| Kart Okuyucu | USB akıllı kart okuyucu (smart card reader) bağlı olmalı. PKCS#11 / PC/SC uyumlu. |
| İnternet | Sürekli açık internet (HTTPS giden bağlantı). Servisimize 60 sn altı aralıkla heartbeat gönderir. |
İndirme
| İndirme Adresi | https://wsdl.osgbizleme.com/indirmeler/ |
|---|---|
| Paket İçeriği | Java imza yazılımı, ayar dosyaları, kullanım kılavuzu, sistem servisi olarak çalıştırma scriptleri. |
Lisans (Key) Dosyası
İndirilen paketin içinde bir lisans klasörü bulunur. Bizden aldığınız lisans dosyasını lisans.key adı ile bu klasörün içine koymanız gerekir. Lisans olmadan yazılım çalışmaz. Key talep için: 0850 441 09 21
imzalama_yazilimi/
├── imza.jar ← ana yazılım
├── Guncelle.jar ← otomatik güncelleme modülü
├── lisans/
│ ├── lisans.key ← tarafınıza verilen lisans dosyası
│ └── ayarlar.json ← yapılandırma
├── logo.ico ← kendi logonuzla değiştirebilirsiniz
└── logo.png ← kendi logonuzla değiştirebilirsiniz
Logo / Marka Özelleştirme
Paketin kök dizininde bulunan logo.ico ve logo.png dosyalarını aynı isim ve aynı boyutlarda kendi logo dosyalarınızla değiştirebilirsiniz. Yazılım açıldığında pencere ikonu ve tepsi (system tray) ikonu sizin logonuzu gösterir; son kullanıcı kendi markanız ile tanıtılmış olur. Dosya isimleri değişmemelidir.
Dağıtım (İSG Profesyoneli PC'lerine Kurulum)
Çözüm Ortağı paketi bir kez kendi tarafında hazırlar ve İSG Profesyoneli PC'lerine bu hazır paketi dağıtır. Sıralama önemlidir:
- İndir: wsdl.osgbizleme.com/indirmeler/ üzerinden güncel paketi alın.
- Lisans yerleştir:
lisans.keydosyanızı paketinlisans/klasörünün içine kopyalayın. (Dağıtım yapmadan önce lisans dosyası mutlaka pakette olmalı — her PC'ye tek tek lisans atmaya çalışmayın.) - Logo değiştir: İsterseniz
logo.icovelogo.pngdosyalarını kendi logonuzla değiştirin. - Dağıt: Bu hazır klasörü tüm İSG Profesyoneli PC'lerine kopyalayın. Çoğaltma sırasında lisans + logo değişiklikleri otomatik olarak her bir kuruluma taşınmış olur.
Windows için Otomatik Kurulum — WinRAR SFX (.exe)
Dağıtımı kolaylaştırmak için hazır paketi WinRAR SFX (self-extracting archive) ile tek .exe kurulum dosyasına dönüştürebilirsiniz. Aşağıdaki ayarlar bizim hazırladığımız OSGBizlemejava.exe örneğinde kullanılan değerlerdir; aynı kalıbı kullanarak kendi paketinizi üretebilirsiniz.
Adım adım:
- Hazır
imzalama_yazilimiklasörünü (içinde lisans.key + logolar + imza.jar + Java vs.) seçin → sağ tık → Add to archive… - Açılan WinRAR penceresinde General sekmesinde:
- Archive name:
OSGBizlemejava.exe(kendi marka adınızla) - Archive format: RAR
- Compression method: Best
- "Create SFX archive" kutusunu işaretleyin → alttaki SFX options… butonu aktif olur.
- Archive name:
- Üst kısımdan SFX options…'a tıklayın ve sekmeleri aşağıdaki gibi doldurun:
| Sekme | Alan | Örnek Değer |
|---|---|---|
| General | Path to extract | C:\OSGBizleme (absolute önerilir; "Create in 'Program Files'" seçili olabilir) |
| "Save and restore paths" — işaretli | Klasör yapısını korur | |
| Setup | Run after extraction | imza.jar veya başlatma kısayolu (örn. start.vbs) |
| Modes | Silent mode | Display all (önerilen) ya da Hide all (sessiz kurulum) |
| Overwrite mode | Overwrite all files (güncelleme yapıldığında eskileri ezecek) | |
| Text and icon | Title of SFX window | OSGBizleme İmzalama Yazılımı Kurulumu |
| Text to display | "OSGBizleme İmzalama Yazılımı bilgisayarınıza kurulacaktır. Devam etmek için Install butonuna basın." | |
| Load SFX icon from the file | logo.ico (paketinizdeki) → SFX kurulum exe'sinin ikonu sizin logonuz olur | |
| Advanced | Add shortcut | Masaüstüne kısayol oluşturmak isterseniz Add shortcut ile imza.jar'ı hedefleyin. |
| Update | Update mode | Extract and update files + Overwrite all — yeni sürüm exe çalıştırıldığında üstüne kurulur. |
Tamam'a basın → WinRAR tek .exe dosyası üretir. Bu dosyayı doğrudan İSG Profesyoneli'ne yollayabilirsiniz; çift tıklayınca "Install" ekranı çıkar, kabul ettiğinde tüm dosyalar C:\OSGBizleme'ye açılır ve yazılım otomatik başlatılır.
Tek adım kısa yol — SFX yapılandırma script'i: SFX options penceresinin "Comment" bölümüne aşağıdaki gibi bir script yapıştırarak tüm ayarları (path + overwrite + title + text + shortcut) tek seferde uygulayabilirsiniz. Aşağıdaki bizim üretim örneğimizdir:
Path=C:\OSGBizlemeJava
Overwrite=1
Title=OSGBizleme İmzalama Modülü Versiyon=21
Text
{
Sertifika Yenileme,
Mecburi yükseltme,
Yeni TÜBİTAK imza servislerine göre düzenlendi.
}
Shortcut=D, imza.jar, , , "OSGBizleme İmzalama", logo.ico
Satır satır anlamı:
| Satır | Anlamı |
|---|---|
Path=C:\OSGBizlemeJava | Açılma dizini — son kullanıcının bilgisayarında C:\OSGBizlemeJava klasörüne kurulur. |
Overwrite=1 | Mevcut dosyalar varsa üzerine yaz (yeni sürüm yüklendiğinde eski dosyalar güncellenir). |
Title=... | SFX kurulum penceresinin başlığı — kendi marka adınızı ve sürüm numaranızı yazın. |
Text { ... } | Kurulum ekranında son kullanıcıya gösterilecek sürüm notu. Süslü parantez içindeki satırlar olduğu gibi gösterilir. |
Shortcut=D, imza.jar, , , "OSGBizleme İmzalama", logo.ico | D=Desktop (masaüstü kısayolu), hedef imza.jar, kısayol adı "OSGBizleme İmzalama", ikon logo.ico. Kendi marka adınız ve logo.ico'nuzla değiştirin. |
Referans paket: Bizim hazırladığımız OSGBizlemejava.exe (~37 MB, PE32 GUI executable) tam olarak yukarıdaki script ile üretilmiştir. Aynı şablonu kendi marka adınız + lisans.key + kendi logonuzla doldurursanız, son kullanıcıya marka deneyimi olarak sizin firmanız görünecektir.
macOS için .app Paketleme
macOS kullanıcıları için yazılımı .app uzantılı bundle formatında dağıtmak gerekir. Bu sayede son kullanıcı tek tıkla başlatır, Applications klasörüne sürükleyip bırakır.
.app dizin yapısı:
OSGBizleme.app/
└── Contents/
├── Info.plist ← bundle tanımı (XML)
├── MacOS/
│ ├── launcher ← shell script (chmod +x)
│ ├── imza.jar ← ana Java imza yazılımı
│ ├── Guncelle.jar ← otomatik güncelleme modülü
│ ├── lisans/
│ │ ├── lisans.key ← lisans dosyası
│ │ └── ayarlar.json ← yapılandırma
│ ├── logo.ico
│ └── logo.png
└── Resources/
└── application.icns ← macOS dock/Finder ikonu
Adım adım:
- macOS'ta Finder'da kendi firma adınızla boş bir klasör oluşturun (örn.
Pincident,AkilliIsgvb. — burada örnek olarakOSGBizlemekullanılmıştır). - Klasörün ismini
FirmaAdiniz.appolarak yeniden adlandırın (örn.OSGBizleme.app) → macOS bundle olarak tanır ve Finder'da çift-tıklanabilir uygulama gibi davranır. - Yukarıdaki ağaç yapısına göre
Contents/MacOS/veContents/Resources/alt klasörlerini oluşturun. imza.jar+ lisans + diğer kaynak dosyalarıContents/MacOS/içine koyun.- macOS için
.icnsikonunu (örn.application.icns)Contents/Resources/içine koyun. Online icon converter ile kendi logonuzdan.icnsüretebilirsiniz. - Launcher script'i (aşağıdaki örnek)
Contents/MacOS/launcherolarak kaydedin. - Terminal'i açıp:
chmod +x /path/to/OSGBizleme.app/Contents/MacOS/launcher
çalıştırın → launcher çalıştırılabilir hale gelir. - Info.plist dosyasını (aşağıdaki örnek)
Contents/Info.plistolarak kaydedin. OSGBizleme.app'i çift tıklayın — yazılım açılır. Sorun olursaApplicationsklasörüne sürükleyip oradan başlatın.
Info.plist örneği:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>launcher</string>
<key>CFBundleIconFile</key>
<string>application.icns</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2.2</string>
<key>CFBundleSignature</key>
<string>xmmd</string>
<key>CFBundleVersion</key>
<string>2.2</string>
<key>NSAppleScriptEnabled</key>
<string>NO</string>
</dict>
</plist>
launcher script örneği:
#!/bin/sh
# OSGBizleme macOS launcher
APP_JAR="imza.jar"
APP_NAME="OSGBizleme"
JAVA_MAJOR=1
JAVA_MINOR=8
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
cd "${DIR}"
ERROR_TITLE="Cannot launch $APP_NAME"
ERROR_MSG="$APP_NAME requires Java $JAVA_MAJOR.$JAVA_MINOR or later."
DOWNLOAD_URL="https://www.java.com/download/"
if type -p java; then
_java="java"
elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
_java="$JAVA_HOME/bin/java"
else
osascript \
-e "set q to display dialog \"$ERROR_MSG\" with title \"$ERROR_TITLE\" buttons {\"Cancel\",\"Download\"} default button 2" \
-e "if button returned of q is \"Download\" then open location \"$DOWNLOAD_URL\""
exit 1
fi
exec $_java \
-Dapple.laf.useScreenMenuBar=true \
-Dcom.apple.macos.use-file-dialog-packages=true \
-Xdock:name="$APP_NAME" \
-Xdock:icon="$DIR/../Resources/application.icns" \
-jar "$DIR/$APP_JAR"
Önemli — chmod +x: macOS, çalıştırılabilir bayrağı olmayan launcher dosyasını çalıştırmaz. .app'i ilk defa oluşturduktan sonra mutlaka Terminal'den chmod +x .../Contents/MacOS/launcher komutunu çalıştırın.
Görsel anlatım için referans video: YouTube — Mac OS X App Creation from Jar
Yazılım Güncellemeleri
Güncellemeler tarafımızdan yönetilir. İmzalama Yazılımı sürüm güncellemeleri (yeni özellik, hata düzeltme, sertifika veritabanı yenileme) Çözüm Ortağı tarafından herhangi bir işlem yapılmasına gerek kalmadan otomatik olarak yürütülür. İSG Profesyoneli PC'lerinde elle güncelleme yapılmasına gerek yoktur.
Özellikler
- Otomatik kart algılama — PC'ye kart takıldığında otomatik tanır, sürücü üzerinden bağlanır.
- Uzaktan imza komutu alma — Sunucudan gelen imzalama isteklerini otomatik alır, kart ile imzalar, geri gönderir.
- PIN sunucuya kayıt (opsiyonel) — İSG Profesyoneli PIN'i sunucuda saklayıp her imzada manuel girmek istemeyebilir. Yazılım PIN'i şifreli olarak sunucuda saklamayı destekler ("kaydet" tıkı). Bu sayede toplu imzalama akıcı çalışır. PIN sadece iptal edilirse silinir.
- Uzak imza modu — PIN sunucuda kayıtlı ise İSG Profesyoneli her seferinde PIN girmeden imza atabilir (kart takılı olmaya devam eder).
- XAdES + PADES desteği — XML için XAdES Enveloped, PDF için PADES (CAdES-detached PDF gömme) imzaları üretir. İmzager / Adobe Reader doğrulamasından geçer.
- Heartbeat (~30 sn) — Sunucumuza son görülme bilgisi gönderir.
ImzalamaOturumbu heartbeat üzerinden "online mı?" sorgusunu yanıtlar. - Tray icon (Windows) — İSG Profesyoneli yazılımı tepsi simgesinden açar/kapatır, bağlantı durumunu görür.
- Otomatik güncelleme — Sunucumuzda yeni sürüm varsa indirip günceller.
imzalagitsin.com altyapısını kullanır. Akıllı kart sürücüleri (PKCS#11), Bouncy Castle XAdES/PADES inşası ve uzaktan komut alma mantığı bu altyapı üzerinden sağlanır.
Servis İçinde Bulunan Metotlar
Servisimizde bulunan metotların kapsamlı listesi aşağıdadır. Detaylı parametre ve hata kodları için ilgili metot başlığına tıklayın.
| # | Metot İsmi | Açıklama |
|---|---|---|
| 1 | KullaniciIslemleri | Çözüm Ortağımız için kullanıcı (İSG Profesyoneli) tanımlama, düzenleme, pasife alma ve limit sorgulama işlemleri yapılabilir. |
| 2 | Imzalama | E-imza modülü (kart) ile imzalama yapmak için kullanılacak metottur. |
| 3 | ImzalamaDurum | E-imza işleminden sonra imza durumunu sorgulamak için kullanılacak metottur. |
| 4 | ImzalamaOturum | E-imza modülünün oturum durumu sorgulanabilir (kullanıcı online mı?). |
| 5 | Mobilimzalama | Mobil imzalama yapmak için kullanılacak metottur. |
| 6 | MobilImzaDurum | Mobil imzalama işleminden sonra imza durumunu sorgulamak için kullanılacak metottur. |
| 7 | IBYSGonder | İBYS bakanlık sunucuları ile iletişim için ana gönderim metodudur (14 alt metot). Bu metoda gönderilecek JSON belgeleri mutlaka Base64 olmalıdır. |
| 8 | ReceteIslemleri | Medula Sistemlerine e-reçete kayıt etme (tipi=1) ve kayıtlı reçeteleri iptal etmek (tipi=2) için Medula servislerine bağlıdır. |
| 9 | UstReferansDegerler | İBYS sunucularında kullanılan Üst referans değerleridir. |
| 10 | ListReferansDegerleri | İBYS sunucularında kullanılan Alt referans değerleridir (başlık kodu ile). |
| 11 | ListIlacList | E-reçete oluşturabilmek için gerekli SGK ilaç listesi metodudur. Not: Servis 03:00-05:00 saatleri arasında çalışmaktadır. |
| 12 | ListTaniList | E-reçete oluşturabilmek için gerekli SGK tanı listesi (ICD-10) metodudur. Not: Servis 03:00-05:00 saatleri arasında çalışmaktadır. |
Hata Kodları (Genel)
Her metot kendine özel hata kodlarını dönebilir; aşağıda servis genelinde sık karşılaşılanlar listelenmiştir. Metot bazlı kodlar ilgili metot bölümünde verilmiştir.
| Kod | Açıklama |
|---|---|
| 100 | İşlem Başarılı (genel) |
| 200 | İBYS işlemlerinde başarı |
| 199 | Kullanıcı Adı veya Parola Boş |
| 201 | Kullanıcı Kayıtlı Değil |
| 202 | Kullanıcı Kayıtlı Pasife Alınmış |
| 203 | Zorunlu Alanlarda Hata |
| 204 | Belge / jsonCSGB Base64 formatında değil |
| 208 | İşlem Tipi seçmelisiniz / İmza Tipi geçersiz |
| 209 | Telefon numarası başında 0 olmadan 10 hane olmalıdır |
| 210 | REST API hata (mobil imza) |
| YENİ 211 | İSG Profesyoneli offline — İmzalama Yazılımı çalışmıyor veya son 1 dk içinde heartbeat yok. Kart imzası başlatılmadı. |
| 212 | İmzaid bulunamadı veya kayıtlı sil XML yok |
| 214 | İmzalanacak belge XML Formatında ve Base64 olmalı |
| YENİ 215 | tip=3 (CAdES) artık desteklenmiyor |
| YENİ 216 | tip=2 PADES için belge geçerli PDF olmalı (%PDF magic byte) |
| 300 | Kullanıcı Adı veya Parola Yanlış |
| 400 | CSGB Servisi Kapalı |
| 500 | 03:00-05:00 saatleri dışında çalışmıyor (ilaç/tanı listesi) |
| 8000 | Çözüm Ortağınıza ait servis (e-imza/mobil imza) tanımı yok |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
| 0000 | Medula başarılı (e-reçete metotlarında) |
| REC_* | Medula reçete hata kodları (örn. REC_0030 = zaten kayıtlı) |
KullaniciIslemleri — Personel CRUD
Bu metot ile kullanıcı ekleme, durum sorgulama, düzenleme ve pasife alma işlemleri yapabilirsiniz.
belgeTipi değerleri
1— İşyeri Hekimi2— İSG Uzmanı
islem değerleri
| Değer | İşlem |
|---|---|
0 | Pasif: Aktif olan kullanıcıyı pasife almak için gönderilir. |
1 | Yeni Ekle: Yeni kullanıcı eklemek için gönderilir. |
2 | Durum Sorgu: Kullanıcılar listesinden kullanıcının durumu sorgulanabilir. |
3 | Güncelle: isgProfTckNo ve belgeTipi dışındaki tüm alanlar güncellenebilir. Bu çağrı ile pasif olan kullanıcı aktif pozisyona getirilir. |
4 | Limit Sorgu: Çözüm Ortağının limit durumunu (Tanımlanan - Kalan) ve kullanıcılarına ulaşılır. |
islem=1) veya güncelleme yaparken (islem=3), kartpin parametresi ile İSG Profesyonelinin akıllı kart PIN'i Base64 kodlu olarak gönderilebilir. Bu durumda PIN sunucumuzda şifreli şekilde saklanır; İmzalama Yazılımı her imzada PIN sormaz, İSG Profesyoneli sadece kartı takılı tutar — toplu imzalama akıcı çalışır. PIN'i iptal etmek için kartpin'i boş gönderip islem=3 (güncelleme) çağırın.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
belgeTipi | 1=İşyeri Hekimi, 2=İSG Uzmanı | ✔ |
isgProfTckNo | Kullanıcı TC Kimlik No (11 hane) | ✔ |
islem | 0=Pasif yap · 1=Yeni ekle · 2=Durum sorgu · 3=Güncelleme · 4=Limit sorgu | ✔ |
adi | Kullanıcı Adı | ✔ |
soyadi | Kullanıcı Soyadı | ✔ |
Brans | İşyeri Hekimi ise branş kodu | ✖ |
MedulaParola | İşyeri Hekimi ise Medula parolası | ✖ |
plaka | Hekim ise işyerinin bulunduğu plaka | ✖ |
kartpin | E-İmza modülü üzerinden imzalama yapacaksa kart PIN (Base64) | ✖ |
firmano | Tarafınıza verilen Çözüm Ortağı Numaranız | ✔ |
firmasifre | Tarafınıza verilen Şifreniz | ✔ |
KullaniciAdi | Gerekli değil | ✖ |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 100 | İşlem Başarılı |
| 200 | Kullanıcı Adı veya Parola Yanlış |
| 201 | Zorunlu Alanlarda Hata Lütfen Kontrol Ediniz |
| 203 | isgprof TC No Yanlış |
| 206 | İşlem Tipi Seçiniz |
| 208 | Kullanıcı Ekleme Limitiniz Dolmuştur (0850 441 09 21 iletişim) |
| 209 | TC nolu İSG Profesyoneli sistemde zaten kayıtlı (Update kullanın) |
| 210 | TC nolu İSG Profesyoneli bulunamadı (Ekleme kullanın) |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
Mobilimzalama — Mobil İmza Başlat
Bu metot ile kullanıcılarınızın evrak imzalama işlemlerini yaptırabileceğiniz metottur. Hata=100 başarılı kodu ile Sonuc parametresi olarak takip ID'si döner; imza durumları bu takip ID'si ile MobilImzaDurum metodu ile sorgulanır.
Çağrı yapıldığında kullanıcının cep telefonuna mobil imza isteği yönlendirilir; telefonda gösterilecek metin ve parmak izi görüntülenir, kullanıcı onayı beklenir.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
imzalanacak | İmzalanacak metin/belge/XML (Base64) | ✔ |
operators | 1=Turkcell, 2=Türk Telekom | ✔ |
Gosterilecekmetin | Kullanıcının cep telefonunda gösterilecek metin (max 200 char önerilir) | ✔ |
telefon | Telefon numarası — başında 0 olmadan 10 hane olmalıdır | ✔ |
imzatip | 1=XML XAdES, 2=PDF PADES | ✔ |
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | İmzalama yapacak İSG Profesyoneli TCKN | ✔ |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 100 | Takip ID'si verilir (Sonuc) + ParmakIzi (yeni) döner |
| 199 | Kullanıcı Adı veya Parola Boş |
| 201 | Kullanıcı Kayıtlı Değil |
| 202 | Kullanıcı Kayıtlı Pasife alınmış |
| 203 | Zorunlu Alanlarda Hata |
| 204 | İmzalanacak belge Base64 olmalı |
| 208 | İmza tipi geçersiz (yalnız 1, 2 desteklenir) |
| 209 | Telefon numarası başında 0 olmadan 10 hane olmalıdır |
| 210 | Mobil imza REST API hata |
| 214 | İmzalanacak belge XML Formatında ve Base64 olmalı |
| 215 | tip=3 (CAdES) artık desteklenmiyor |
| 216 | tip=2 PADES için belge geçerli PDF olmalı (%PDF magic) |
| 300 | Kullanıcı Adı veya Parola Yanlış |
| 400 | CSGB Servisi Kapalı |
| 8000 | Çözüm Ortağınıza ait Mobil imza tanımı yok |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
Cevap Şeması
<MobilimzalamaResult>
<Hata>100</Hata>
<Sonuc>imzaid-GUID</Sonuc>
<ParmakIzi>4127 31f1 89b7 00c2 9273 1722 ab2f 1145 ...</ParmakIzi>
</MobilimzalamaResult>
SOAP Örnek İstek
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<Mobilimzalama xmlns="https://wsdl.osgbizleme.com/">
<imzalanacak>BASE64_BELGE</imzalanacak>
<operators>1</operators>
<Gosterilecekmetin>Belge özeti</Gosterilecekmetin>
<telefon>5XXXXXXXXX</telefon>
<imzatip>1</imzatip>
<kullanici>
<firmano>FIRMA_NO</firmano>
<firmasifre>SIFRE</firmasifre>
<KullaniciAdi>TCKNO</KullaniciAdi>
</kullanici>
</Mobilimzalama>
</soap12:Body>
</soap12:Envelope>
MobilImzaDurum — Mobil İmza Durum
Bu metot ile Mobilimzalama metodundan dönen takip ID ile imza durumları sorgulanmaktadır. Polling aralığı önerisi: 6-10 sn.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
imzaid | Mobilimzalama'dan dönen GUID | ✔ |
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | Sorgulama yapacak İSG Profesyoneli TCKN | ✖ |
Servis Cevapları
| Kod (Hata) | Mesaj |
|---|---|
| 1 | TAMAM — Sonuc alanında imzalanmış belge Base64 olarak döner |
| 2 | Beklemede / imzalanıyor — polling'e devam edin |
| 9 | İptal / Red — kullanıcı reddetti veya zaman aşımı |
| 201 | Kullanıcı Kayıtlı Değil |
| 202 | Kullanıcı Kayıtlı Pasife alınmış |
| 209 | Telefon numarası başında 0 olmadan 10 hane olmalıdır |
| 212 | İmzaid bulunamadı |
| 300 | Kullanıcı Adı veya Parola Yanlış |
| 8000 | Çözüm Ortağınıza ait Mobil imza tanımı yok |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
Cevap Şeması
<MobilImzaDurumResult>
<Hata>1</Hata> <!-- 1=TAMAM, 2=beklemede, 9=red -->
<imzalanacak>Base64...</imzalanacak>
<Sonuc>imzali Base64</Sonuc> <!-- Hata=1 olunca dolar -->
<Bas_saat>...</Bas_saat>
<Bit_saat>...</Bit_saat>
</MobilImzaDurumResult>
Imzalama — Kart E-İmza Başlat
Bu metot ile kullanıcılarınızın evrak imzalama işlemlerini yaptırabileceğiniz metottur. Hata=100 başarılı kodu ile Sonuc parametresi olarak takip ID'si döner; imza durumları bu takip ID'si ile ImzalamaDurum metodu ile sorgulanır.
Metotta E-imza modülünün offline (timeout) olma süresi yaklaşık 1 dakikadır. İmzalamaya evrak göndermeden önce kullanıcının online olduğundan emin olunmalıdır; ImzalamaOturum metoduyla kontrol edilmelidir. Online değilse Hata=211 döner ve imza akışı başlatılmaz.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
imzalanacak | İmzalanacak metin/belge/XML (Base64) | ✔ |
Gosterilecekmetin | E-imza uygulamasında Tooltip nesnesinde gösterilecek metin | ✔ |
imzatipi | 1=Signature XAdES, 2=Signature PADES, 3=Red | ✔ |
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | İmzalama yapacak İSG Profesyoneli TCKN | ✔ |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 100 | Başarılı — takip ID'si Sonuc alanında döner |
| 201 | Kullanıcı Kayıtlı Değil |
| 202 | Kullanıcı Kayıtlı Pasife alınmış |
| 203 | Zorunlu Alanlarda Hata |
| 204 | İmzalanacak belge Base64 olmalı |
| 209 | KULLANIMDAN KALDIRILDI — PIN artık opsiyonel; imza PIN olmadan başlatılabilir (kart PIN'i imza anında istenir). Bu kod artık dönmez. |
| YENİ 211 | İSG Profesyoneli offline — İmzalama Yazılımı çalışmıyor veya son 1 dk içinde heartbeat yok. İmza akışı başlatılmadı. (Eskiden bu durum 200 ile dönerdi; 2026-05 sürümünden itibaren 211.) |
| 214 | İmzalanacak belge XML Formatında ve Base64 olmalı |
| 215 | tip=3 (CAdES) artık desteklenmiyor |
| 216 | tip=2 PADES için belge geçerli PDF olmalı (%PDF magic) |
| 300 | Kullanıcı Adı veya Parola Yanlış |
| 8000 | Çözüm Ortağınıza ait E-İmza tanımı yok |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
Hata=211 ile reddedilir — kart imzası başlatılmaz. ImzalamaOturum metoduyla önceden kontrol yapmanız tavsiye edilir.
Akış
ImzalamaOturumile İSG Profesyonelinin online olduğu doğrulanır.Imzalamametoduyla imza başlatılır; takip ID döner.ImzalamaDurumile imza tamamlanana kadar polling yapılır.
ImzalamaOturum ile doğrulayın. Aksi halde Hata=200 dönebilir.
ImzalamaDurum — Kart İmza Durum
Bu metot ile Imzalama metodundan dönen takip ID ile imza sonuçları sorgulanabilmektedir.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
imzaid | Imzalama'dan dönen GUID | ✔ |
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | Sorgulama yapacak İSG Profesyoneli TCKN | ✖ |
Servis Cevapları
| Kod (Hata) | Mesaj |
|---|---|
| 0 | İmzalamaya Başlamadı |
| 28 | İmzalamaya Başladı |
| 18 | Pin Kodu Hatalı |
| 1 | TAMAM — Sonuc alanında imzalanmış belge Base64 olarak döner |
| 2 | Sonuc alanında durum metni döner |
| 201 | Kullanıcı Kayıtlı Değil |
| 202 | Kullanıcı Kayıtlı Pasife alınmış |
| 212 | İmzaid bulunamadı |
| 300 | Kullanıcı Adı veya Parola Yanlış |
| 8000 | Çözüm Ortağınıza ait E-İmza tanımı yok |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
ImzalamaOturum — Kart Oturum Kontrolü
Bu metot ile Imzalama yapmadan önce kullanıcının E-imza modülünün açık olup olmadığı (online) sorgulanmaktadır. Her kart imzasından önce çağrılmalıdır. Online değilse imza atmaya kalkışılmadan kullanıcıya geri bildirim verilebilir.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | Sorgulama yapacak İSG Profesyoneli TCKN | ✔ |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 100 | Kullanıcı online — Sonuc alanında son heartbeat zamanı döner |
| 200 | Kullanıcı offline (kayıt var ama son 1 dk içinde heartbeat yok) |
| 203 | Kullanıcı adı 11 haneli (TC No) olmalıdır |
| 205 | Kullanıcı adı (TC No) boş olamaz |
| 210 | Verilen TC nolu tanım bulunamadı (bu TC ile İmzalama Yazılımı hiç çalışmamış olabilir) |
| 201 / 202 | Kullanıcı kayıtlı değil / pasife alınmış |
| 300 | Kullanıcı adı veya parola yanlış |
| 9000 | Firma tanımı yok veya süresi bitmiş |
Cevap Örneği
<ImzalamaOturumResult>
<Hata>100</Hata>
<Sonuc>17.05.2026 12:02:59</Sonuc>
</ImzalamaOturumResult>
IBYSGonder — Bakanlık İBYS Ana Gönderim
IBYSGonder metodu ana gönderim metodudur. İBYS bakanlık sunucuları ile iletişim metodudur. Eğitim, muayene, hizmet işyeri, İSG profesyonelleri, çalışan sigortalılık ve maden veri seti işlemlerinin tamamı bu tek metot üzerinden 14 alt metot ile yürütülür.
Bu metoda gönderilecek JSON için hazırlanan JSON belgeleri mutlaka Base64 olmalıdır. İmzalı bildirimler (eğitim/muayene/maden gibi) önce Imzalama ile imzalanmalı, sonra zaman damgası eklenip yeniden Base64'lenerek gönderilmelidir.
https://ibys.csgb.gov.tr/webservis — İBYS Web Servisleri Rehberi (CSGB)
Aşağıdaki bölümlerde örnek olarak en yaygın kullanılan alt metotların JSON şablonları verilmiştir; tam ve güncel şemalar için yukarıdaki Bakanlık sayfasını referans alın.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
jsonCsgb | İşleme ait JSON belge, Base64 kodlanmış | ✔ |
metotadi | Çağrılacak alt metot (aşağıdaki listeden) | ✔ |
ortam | 1=Gerçek İBYS, 2=Test İBYS | ✔ |
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | İşlem yapacak İSG Profesyoneli | ✔ |
Alt Metot Listesi
| No | metotadi | Açıklama |
|---|---|---|
| 1 | egitimBilgisiBildir İMZALI | Eğitim bildirimi |
| 2 | egitimBilgisiGoruntule | Eğitim sorgu |
| 3 | egitimBilgisiSil | Eğitim silme |
| 4 | hizmetVerilenIsyeriBildir | Hizmet işyeri ekle |
| 5 | hizmetVerilenIsyeriSil | İşyeri silme |
| 6 | hizmetBilgisiDurumGoruntule | İşyeri durum sorgu |
| 7 | isgProfesyoneliDogrula | İSG Profesyoneli doğrulama |
| 8 | isgProfesyoneliSozlesmeKontrolu | Sözleşme kontrolü |
| 9 | muayeneBilgisiBildir İMZALI | Muayene bildirimi |
| 10 | muayeneBilgisiGoruntule | Muayene sorgu |
| 11 | muayeneBilgisiSil | Muayene silme |
| 12 | calisanSigortalilikKontrolu | Sigortalılık kontrol (KVKK gereği genelde çalışmaz) |
| 13 | madenVeriSetiBildir İMZALI | Maden veri seti bildirimi |
| 14 | madenVeriSetiBilgisiGoruntule | Maden veri sorgu |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 200 | İşlem Başarılı |
| 201 | Kullanıcı Kayıtlı Değil |
| 202 | Kullanıcı Kayıtlı Pasife alınmış |
| 203 | Zorunlu Alanlarda Hata |
| 204 | jsonCSGB Base64 formatında olmalı |
| 205 | Gönderilen jsonCSGB hatalı |
| 206 | jsonCSGB'de zamandamgası bulunamadı |
| 207 | (ayrılmış — kod şu an bu değeri döndürmüyor; zamandamgası/imzaid uyuşmazlığı için henüz ayrı hata kodu üretilmiyor) |
| 208 | jsonCSGB ile Kullanıcı TC eşleşmedi |
| 300 | Kullanıcı Adı veya Parola Yanlış |
| 400 | CSGB Servisi Kapalı |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
- İlgili JSON belgeyi hazırla (zamanDamgası alanı boş)
- Base64'le →
Imzalama'ya gönder →imzaidal - JSON'a
"zamanDamgasi":"imzaid"alanı ekle, yeniden Base64'le IBYSGonder(jsonCsgb=yeni_b64, metotadi=alt_metot, ortam=1, ...)çağır
İBYS — Eğitim Bildirimi İşlemleri
egitimBilgisiBildir İMZALI
Çalışanlara verilen iş sağlığı ve güvenliği eğitiminin Bakanlığa bildirimi için kullanılır.
İstek JSON (Base64'lenmeden önce):
{
"sertifikaTipi": 1,
"isgProfTcKNo": 11111111111,
"egitimKodu": "140",
"egitimSuresi": 100.5,
"egitimTarihi": "22.02.2022",
"egitimYeri": 1,
"egitimYontemi": 1,
"egiticiTcKNo": 33333333333,
"isyeriSgkSicilNo": "26831010115345900070389000",
"calisanTcKNo": 22222222222,
"zamanDamgasi": "Sunucumuzdan alınan imzaid",
"imzalayanKimlikNo": 11111111111
}
Sonuç JSON:
{ "sonuc":"1", "aciklama":"Kayıt başarıyla eklenmiştir.",
"bildirimNo":"a766874a-a558-49b0-869d-01dbdfc57b04" }
egitimBilgisiGoruntule
Bir çalışanın belirli bir işyeri için daha önce gönderilen eğitim bilgilerinin sorgulanmasını sağlar.
İstek:
{
"sertifikaTipi": 2,
"isgProfTcKNo": 30097259277,
"isyeriSgkSicilNo": "29700010115345010340248000",
"calisanTcKNo": 62501277166
}
egitimBilgisiSil
Bir çalışan için daha önce gönderilen eğitim verisinin hatalı olması sebebiyle silinmesi.
{
"sertifikaTipi": 2,
"isgProfTcKNo": 30097259277,
"bildirimNo": "a766874a-a558-49b0-869d-01dbdfc57b04"
}
İBYS — Hizmet Verilen İşyeri İşlemleri
Çözüm Ortağı'nın (Bakanlık nezdinde "entegratör firma" olarak geçer) hizmet verdiği işyerleri Bakanlığa bildirilir. Her işyeri (SGK Sicil No bazında) sadece 1 entegratör tarafından kullanılabilir.
hizmetVerilenIsyeriBildir
{
"sgkSicilNo": "24120010115345100530195000",
"hizmetBaslangicTarih": "22.05.2022"
}
hizmetVerilenIsyeriSil
{
"sgkSicilNo": "24120010115345100530195000",
"hizmetBitisTarih": "15.06.2022",
"bildirimNo": "4657efc7-03bf-42c1-90d1-092dbf2738e5"
}
hizmetBilgisiDurumGoruntule
{ "bildirimNo": "e0630bc6-4b15-4989-b8d8-cd4fe7650eda" }
İBYS — İSG Profesyonelleri İşlemleri
isgProfesyoneliDogrula
Kimlik numarası bilinen kişinin aktif ve vizesi geçerli sertifikası olup olmadığını sorgular.
{ "sertifikaTipi": 2, "tcKimlikNo": 30097259277 }
isgProfesyoneliSozlesmeKontrolu
Kişinin verilen tarihte verilen işyerinde verilen sözleşme tipinde onaylanmış sözleşmesinin olup olmadığını sorgular.
{
"sozlesmeTipi": 2,
"tcKimlikNo": 30097259277,
"sgkSicilNo": "29700010115345010340248000",
"sorgulananTarih": "03.06.2022"
}
İBYS — Muayene Bildirimi İşlemleri
muayeneBilgisiBildir İMZALI
Çalışanlara verilen sağlık muayene bilgilerinin Bakanlığa bildirimi.
{
"ihKimlikNo": 30097259277,
"calisanMeslegi": "2642.11",
"rontgenYapildiMi": 1,
"isitmeTestiYapildiMi": 1,
"solunumFonkTestiYapildiMi": 1,
"kanTetkikiYapildiMi": 1,
"idrarTetkikiYapildiMi": 1,
"isyeriSgkSicilNo": "29700010115345010340248000",
"calisanTcKNo": 62501277166,
"sonucVeKanaat": "100054",
"muayeneRaporTarihi": "22.04.2022",
"raporGecerlikTarihi": "22.04.2022",
"zamanDamgasi": "Sunucumuzdan alınan imzaid",
"imzalayanKimlikNo": 30097259277,
"raporTuru": "100050",
"calismaOrtamiDTO": {
"fizikiOrtamSinifi": ["1041","1003"],
"havaSinifi": ["1121"],
"gurultuSinifi": ["1231"],
"elektrikSinifi": ["1302"],
"tozYonetmeligiSinifi": ["1406"],
"kimyasalMaddeSinifi": ["1599"],
"biyolojikEtkenlerSinifi": ["1604"]
},
"calismaSekliDTO": {
"calismaPozisyonu": "110002",
"calismaZamani": "110008",
"aracKullanimi": "110013"
},
"kullanilanIsEkipmanlari": [
{ "ustReferansKodu":"1025", "bagliReferansKodu":"1010" },
{ "ustReferansKodu":"1025", "bagliReferansKodu":"1000" }
]
}
muayeneBilgisiGoruntule
{
"hekimTcKNo": 30097259277,
"isyeriSgkSicilNo": "29700010115345010340248000",
"calisanTcKNo": 62501277166
}
muayeneBilgisiSil
{
"hekimTcKNo": 30097259277,
"bildirimNo": "1c0dc589-7a38-410b-8a41-1af13a36f8ea"
}
İBYS — Çalışan Sigortalılık Kontrolü
calisanSigortalilikKontrolu
Kişinin verilen tarihte verilen işyerinde sigortalı olup olmadığını sorgular. KVKK kanunu uyarınca genelde çalışmamaktadır.
{
"sgkSicilNo": "29700010115345010340248000",
"tcKimlikNo": 62501277166,
"sorgulananTarih": "03.06.2022"
}
İBYS — Maden Veri Seti İşlemleri
madenVeriSetiBildir İMZALI
Maden işyerlerine ait özel bilgilerin Bakanlığa gönderilmesi (madencilik yöntemi, nakliyat, havalandırma, sığınma odası vb.).
{
"iguKimlikNo": 18630570673,
"isyeriSgkSicilNo": "29700010115345010340248000",
"madencilikYontemi": ["100003","100002"],
"patMaddeKullanimiVarMi": 0,
"malzemeNakliyatYontemi": ["100011","100008","100009"],
"cevherNakliyatYontemi": ["100014","100016"],
"personelNakliyatYontemi": ["100018","100021"],
"atesleyiciBelgesiOlanVarMi": 1,
"yeraltiCalisanSayisi": 3999,
"komurMadeniTuru": 100026,
"uretimYontemi": ["100030","100028"],
"anaGaleriTahkimatTipi": ["100033","100031","100034"],
"uretimPanoTahkimatTipi": ["100037","100035","100039","100036"],
"ocaginYuzeyeMesafesi": 0,
"havalandirmaDTO": [
{ "tip":"100040", "kapasite":1010, "guc":8 },
{ "tip":"100041", "kapasite":500, "guc":1 }
],
"tozOnlemeYontemi": ["100043","100044"],
"tozPatlamaOnlemeYontemi": ["100045","100047"],
"siginmaOdasiDTO": [
{ "tip":"100049", "kapasite":1012 },
{ "tip":"100048", "kapasite":800 }
],
"ocakSevAcisi": 0,
"ortKademeYuksekligi": 90,
"ortKademeGenisligi": 180,
"zamanDamgasi": "Sunucumuzdan alınan imzaid",
"imzalayanKimlikNo": 18630570673
}
madenVeriSetiBilgisiGoruntule
{
"isyeriSgkSicilNo": "29700010115345010340248000",
"isgProfTcKNo": 18630570673
}
ReceteIslemleri — Medula Yaz / Sil
Bu metot ile Medula Sistemlerine e-reçete kayıt etme (tipi=1) ve kayıtlı reçeteleri iptal etmek (tipi=2) için Medula servislerine bağlanılır. Reçete imzalanmış olarak (kart veya mobil imza ile) gönderilmelidir.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
imzaid | İmzalama sunucularımızdan alınan imzalaması tamamlanmış belge imzaid'i | ✔ |
tipi | 1=Reçete Yaz (oluştur), 2=Reçete Sil (iptal) | ✔ |
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | İşyeri Hekimi TCKN | ✔ |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 100 | İşlem Başarılı (lokal başarı) |
| 0000 | Medula Başarılı — Kodu alanında reçete kodu, kişi bilgileri dolu |
| 200 | Kullanıcı Adı veya Parola Yanlış |
| 212 | İmzaid bulunamadı veya durum=1 değil (imza tamamlanmamış) |
| REC_* | Meduladan gelen hatalar (REC_0030 = zaten kayıtlı, sistem normalize eder) |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
Yazma (tipi=1) Cevap Şeması
<ReceteIslemleriResult>
<Kodu>XXXXXXX</Kodu> <!-- Medula ereceteNo -->
<Hata>0000</Hata>
<Adi>HASTA_ADI</Adi>
<Soyadi>HASTA_SOYADI</Soyadi>
<Dog_tar>gg.aa.yyyy</Dog_tar>
<Cinsiyet>Erkek|Kadın</Cinsiyet>
</ReceteIslemleriResult>
REC_0030 (zaten kayıtlı) dönerse, biz Hata=0000 olarak iletiriz ama kişi alanları boş gelir. Bu durumda Çözüm Ortağımız ilk yazma cevabından kişi bilgilerini kullanmalıdır.
Silme Akışı (tipi=2)
Silme için ayrı bir XML formatı gereklidir (<imzaliEreceteSilBilgisi> root). Çözüm Ortağımız sil XML'ini kendisi hazırlar (bkz. Reçete XML Örnekleri), Imzalama metoduna verir ve dönen sil_imzaid ile ReceteIslemleri (tipi=2) çağrısını yapar.
UstReferansDegerler — Üst Referans Listesi
İBYS sunucularında kullanılan üst referans değerlerinin tam listesini döner. Madencilik yöntemleri, Nakliyat tipleri, Üretim yöntemi gibi.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | Gerekli değil | ✖ |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 100 | İşlem Başarılı |
| 200 | Kullanıcı Adı veya Parola Yanlış |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
ListReferansDegerleri — Alt Referans Listesi
Bu metot ile UstReferansDegerler ile alınan kod ile gönderilebilecek alt referanslar ve kodları döndürülmektedir. Önce UstReferansDegerler ile başlık kodunu alın, sonra alt değerleri bu metotla çekin.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
baglikodu | UstReferansDegerler'den alınan başlık kodu (örn. 1001) | ✔ |
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | Gerekli değil | ✖ |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 100 | İşlem Başarılı |
| 200 | Kullanıcı Adı veya Parola Yanlış |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
ListIlacList — SGK İlaç Listesi
Bu metot ile güncel SGK ilaç listesini alabilirsiniz. Eğer listede bazı ilaçlar görünmüyorsa muhtemelen SGK listeden kaldırmıştır. Response Mesaj nesnesi toplam ilaç sayısını iletir. Liste günlük güncellenmektedir.
Hata=500 döner.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | Gerekli değil | ✖ |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 100 | İşlem Başarılı |
| 200 | Kullanıcı Adı veya Parola Yanlış |
| 500 | 03:00-05:00 saatleri dışında çalışmıyor |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
ListTaniList — SGK Tanı Listesi (ICD-10)
Bu metot ile SGK Tanı Listesini (ICD-10) alabilirsiniz. Response Mesaj nesnesi toplam tanı sayısını iletir.
Hata=500 döner.
Parametreler
| Parametre | Gönderilecek Değer | Zorunlu |
|---|---|---|
firmano / firmasifre | Yetki bilgileri | ✔ |
KullaniciAdi | Gerekli değil | ✖ |
Servis Cevapları
| Kod | Mesaj |
|---|---|
| 100 | İşlem Başarılı |
| 200 | Kullanıcı Adı veya Parola Yanlış |
| 500 | 03:00-05:00 saatleri dışında çalışmıyor |
| 9000 | Çözüm Ortağı tanımı yok veya süresi bitmiş |
İş Akışı — Eğitim / Muayene Kaydet
İBYS sunucularına imzalı bildirim göndermek için kart veya mobil imza kullanılabilir. İBYS her iki imza türünü de kabul eder.
🔐 Kart İmza Yolu
1. ImzalamaOturum ile İSG Profesyonelinin online olduğu doğrulanır.
2. Imzalama metoduyla imza başlatılır; takip ID döner.
3. ImzalamaDurum ile imza tamamlanana kadar polling yapılır.
📱 Mobil İmza Yolu
1. Mobilimzalama metoduyla imza başlatılır; takip ID ve parmak izi döner.
2. Kullanıcının telefonuna mobil imza isteği yönlendirilir; kullanıcı onayı verir.
3. MobilImzaDurum ile imza tamamlanana kadar polling yapılır.
IBYSGonder metoduyla imzalı belge bakanlık sunucusuna iletilir; başarılı olursa bildirim numarası döner.İş Akışı — E-Reçete Oluştur / Sil
Reçete Oluşturma
ImzalamaOturum ile İSG Profesyonelinin online olduğu doğrulanır.Imzalama metoduyla imza başlatılır; takip ID döner. İmzalama Yazılımı kart üzerinden imzayı tamamlar (~6-12 sn).ImzalamaDurum ile imza tamamlanana kadar polling yapılır.ReceteIslemleri metoduyla imzalı belge Medula'ya iletilir; başarılı olursa reçete kodu ve hasta bilgileri döner.Reçete Silme
<imzaliEreceteSilBilgisi> kök elemanlı sil XML'ini kendi tarafında üretir ve Base64'le sarar (bkz. Reçete XML Örnekleri).Imzalama metoduyla sil XML imzalanır; sil_imzaid döner.ImzalamaDurum ile imza tamamlanana kadar polling yapılır.ReceteIslemleri (tipi=2) metoduyla silme isteği Medula'ya iletilir; başarılı olursa "Reçete Başarıyla Silindi" döner.Ekler — Reçete XML Örnekleri
1) E-Reçete Kaydet — İmzaya gönderilecek XML
Tek satırlık string halinde, formatlanmadan, sıra bozulmadan gönderilmelidir:
<?xml version="1.0" encoding="UTF-8"?><ereceteBilgisi><protokolNo>guid</protokolNo><tcKimlikNo>HASTA_TC</tcKimlikNo><provizyonTipi>1</provizyonTipi><receteAltTuru>1</receteAltTuru><receteTuru>1</receteTuru><receteTarihi>gg.aa.yyyy</receteTarihi><takipNo></takipNo><seriNo>1</seriNo><tesisKodu>11PLAKA9903</tesisKodu><doktorTcKimlikNo>DOKTOR_TC</doktorTcKimlikNo><doktorSertifikaKodu></doktorSertifikaKodu><doktorBransKodu>9999</doktorBransKodu><doktorAdi>AD</doktorAdi><doktorSoyadi>SOYAD</doktorSoyadi><KisiBilgisi><tcKimlikNo>HASTA_TC</tcKimlikNo><adi>HASTA_ADI</adi><soyadi>HASTA_SOYADI</soyadi><cinsiyeti>Erkek</cinsiyeti><dogumTarihi>yyyy-MM-dd</dogumTarihi></KisiBilgisi><ereceteIlacBilgisi><adet>2</adet><barkod>8699516010720</barkod><kullanimDoz1>3</kullanimDoz1><kullanimDoz2>1</kullanimDoz2><kullanimPeriyot>1</kullanimPeriyot><kullanimPeriyotBirimi>3</kullanimPeriyotBirimi><kullanimSekli>1</kullanimSekli><ilacAdi>VERMIDON 500 MG.20 TB.</ilacAdi></ereceteIlacBilgisi><ereceteTaniBilgisi><taniKodu>G44</taniKodu><taniAdi>Bas agrisi</taniAdi></ereceteTaniBilgisi></ereceteBilgisi>
2) E-Reçete Sil — İmzaya gönderilecek XML
Çözüm Ortağımız aşağıdaki XML'i kendi tarafında üretir, Base64'le sarar ve Imzalama'ya verir:
<?xml version="1.0" encoding="utf-8" ?><imzaliEreceteSilBilgisi><tesisKodu>11PLAKA9903</tesisKodu><doktorTcKimlikNo>DOKTOR_TC</doktorTcKimlikNo><ereceteNo>RECETE_KODU</ereceteNo></imzaliEreceteSilBilgisi>
Test Ortamı — İSG Profesyoneli TC'leri
İBYS test sunucularına gönderim için kullanabileceğiniz hazır TC'ler:
| İSG PROF TCK NO | TÜRÜ |
|---|---|
| 12316906056 | İGU |
| 12937517673 | İGU |
| 13149589773 | İGU |
| 13451409851 | İH |
| 14378087373 | İGU |
| 15641832961 | İGU |
| 16130754370 | İGU |
| 17176342820 | İGU |
| 17555479488 | İGU |
| 18630570673 | İGU |
| 19513337178 | İGU |
| 19810439824 | İH |
| 20736121230 | İGU |
| 20815160000 | İGU |
| 22060240843 | İH |
| 22257208004 | İGU |
| 22905317005 | İGU |
| 24953990537 | İGU |
| 24972416584 | İGU |
| 25597705574 | İGU |
| 26026728724 | İH |
Test Ortamı — İşyeri / İSG Prof Eşleşmeleri
Test işyerleri ve onlara hizmet veren İSG profesyonelleri:
| SGK SİCİL NO | İSG PROF TCK NO | TÜRÜ |
|---|---|---|
| 18211010115345280150990000 | 53200776941 | İGU |
| 18211010115345280150990000 | 60313019479 | İH |
| 18211010115345280150990000 | 94556647867 | İGU |
| 18542010115345800551771000 | 64101060898 | İGU |
| 18899010115345240150386000 | 41779743551 | İGU |
| 18899010115345240150386000 | 53176232335 | İH |
| 18899010115345240150386000 | 85215059124 | İGU |
| 21071010115345450190972000 | 85379339075 | İH |
| 21071010115345450190972000 | 95806784600 | İGU |
| 21071010115345520311045000 | 13149589773 | İGU |
| 21130010115345470190174000 | 38874204778 | İH |
| 21130010115345470190174000 | 41779743551 | İGU |
| 23101010115345330050576000 | 85254419596 | İGU |
| 23101010115345330050576000 | 87847978833 | İH |
Test Ortamı — İşyeri Çalışan TC'leri
Test işyerlerinde tanımlı tüm çalışanlar (eğitim/muayene bildirimleri için):
| SGK SİCİL NO | ÇALIŞAN TC |
|---|---|
18211010115345280150990000 | 11900207485, 12802358699, 13142945118, 14700151736, 16559534359, 17974648359, 18655161009, 19094360205, 19461972339, 20114299382, 20519238754, 22265300847, 22519515745, 22767224736, 23322700412, 23546521054, 23898148811, 24213694754 |
18542010115345800551771000 | 10602122034, 10605713241, 13829649311, 14359788893, 15031721778, 15629734777, 16492362234, 17173612821, 18143793285, 20069027771, 20558193768, 20975905847, 21034054841, 22052934617, 23594953439, 24281326007, 24827233084 |
18899010115345240150386000 | 14939324032, 15524320500, 16079845431, 16466778890, 16698270437, 17828007880, 18059825199, 19104862827, 19461324419, 19588678677, 20400706441, 21151661349, 21338715600, 23579268750, 25133251452, 25857870918, 28543512239, 28781914314, 29818159044 |
21071010115345450190972000 | 14309334491, 15667944551, 16346043698, 17624428245, 18032606974, 18090593033, 18468242491, 18600517788, 19016209382, 19305408535, 19495865359, 19628629283, 20821648089, 21413894446, 22712816824, 23284589538, 24068164238, 25521438564, 26743869000, 27746156320, 29085638363, 29425628586, 30187180056, 30681624084 |
21130010115345470190174000 | 14824305771, 18443604770, 19545163758, 21089321450, 21867687686, 22429132763, 22848766196, 23822040221, 24029885791, 24746752543, 25778091492, 26537358391, 27278512526, 30068087200, 30252394982, 30551478938, 31033317527, 31420932692, 33167280770 |
23101010115345330050576000 | 26205140200, 26553665222, 26762257164, 27739582187, 28112386592, 28689926433, 29004878804, 29579041050, 30626910892, 32227319639, 36705620001, 38302940141, 38366156409, 39562324940, 40688040642, 42024227966, 43237002869, 43419704807, 44067906905 |
Sıkça Sorulan Sorular
Imzalama metoduna gönderdiğim belge timeout oldu, neden?
İSG Profesyonelinin Java client'ı muhtemelen offline. Her kart imzasından önce ImzalamaOturum metoduyla online kontrol yapın. E-imza modülünün offline timeout süresi ~1 dakikadır.
Mobil imzada telefon titremiyor, neden?
Operatör profilinde mobil imza tanımı olmayabilir. Hata=207 dönüyorsa kullanıcı operatör nezdinde mobil imza için kayıtlı değildir. Yeni REST API mimarisinde bu kontrol REST tarafında otomatik yapılır.
Reçete yazdım ama Medula REC_0030 döndü, ne anlama geliyor?
Reçete daha önce aynı protokolNo ile kayıtlı. Sistem bunu otomatik Hata=0000 olarak iletir ama kişi alanları boş kalır. Yeni reçete için protokolNo alanında benzersiz bir GUID üretin.
IBYSGonder Hata=400 (CSGB Servisi Kapalı) dönüyor, ne yapmalıyım?
Bakanlık sunucuları geçici olarak kapalı. Birkaç dakika sonra tekrar deneyin. Sürekli alıyorsanız bizimle iletişime geçin.
ListIlacList / ListTaniList Hata=500 dönüyor
Bu metotlar TSİ 03:00-05:00 arasında çalışır. Diğer saatlerde 500 hatası normaldir.
ParmakIzi alanını ne yapmalıyım?
UI'da kullanıcıya gösterip "telefonunda gördüğün kod ile aynı mı?" sorabilirsiniz. Turkcell mobil imza uygulaması telefonda aynı hash'i gösterir. Karşılaştırma, kullanıcının doğru belgeyi imzaladığından emin olmasını sağlar.
C# Örneği — SOAP Çağrısı
HttpWebRequest ile manuel SOAP POST örneği. Daha modern bir yaklaşım için Visual Studio "Add Service Reference" ile WSDL'i ekleyip otomatik üretilen client'ı kullanabilirsiniz.
using System;
using System.IO;
using System.Net;
using System.Xml;
public string CagirSoap(string xml_send)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml_send);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(
"https://wsdl.osgbizleme.com/osgbizleme.asmx");
req.ContentType = "application/soap+xml; charset=utf-8; action=\"https://wsdl.osgbizleme.com/Mobilimzalama\"";
req.Accept = "application/soap+xml";
req.Method = "POST";
req.Timeout = 30000;
using (Stream stm = req.GetRequestStream())
{
doc.Save(stm);
}
try
{
using (WebResponse resp = req.GetResponse())
using (Stream rs = resp.GetResponseStream())
using (StreamReader r = new StreamReader(rs))
{
string xmlStr = r.ReadToEnd();
XmlDocument xml = new XmlDocument();
xml.LoadXml(xmlStr);
// Sonuc / Hata elementlerini çek
XmlNodeList hataList = xml.GetElementsByTagName("Hata");
string hata = hataList.Count > 0 ? hataList[0].InnerText : "";
return hata;
}
}
catch (WebException wex)
{
// 4xx/5xx body'sini de yakala
if (wex.Response != null)
{
using (var sr = new StreamReader(wex.Response.GetResponseStream()))
return sr.ReadToEnd();
}
return "HATA: " + wex.Message;
}
}
Add Service Reference → WSDL URL'i (https://wsdl.osgbizleme.com/osgbizleme.asmx?WSDL) → otomatik client üret. Sonra:
var client = new OsgbizlemeSoapClient();
var sonuc = client.Mobilimzalama(b64, "1", "Belge özeti", "5XXXXXXXXX", "1",
new Kullanici { firmano="FIRMA_NO", firmasifre="SIFRE", KullaniciAdi="TCKNO" });
Console.WriteLine(sonuc.Hata + " / " + sonuc.Sonuc + " / " + sonuc.ParmakIzi);
Java Örneği — SOAP Çağrısı
HttpURLConnection ile manuel SOAP POST örneği. JAX-WS wsimport ile WSDL'den otomatik client üretmek modern yaklaşımdır.
import java.io.*;
import java.net.*;
public static String soapCagir(String reqXML) {
String url = "https://wsdl.osgbizleme.com/osgbizleme.asmx";
String action = "https://wsdl.osgbizleme.com/Mobilimzalama";
HttpURLConnection con = null;
try {
URL obj = new URL(url);
con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type",
"application/soap+xml; charset=utf-8; action=\"" + action + "\"");
con.setRequestProperty("SOAPAction", action);
con.setDoOutput(true);
con.setConnectTimeout(30000);
con.setReadTimeout(30000);
try (OutputStream reqStream = con.getOutputStream()) {
reqStream.write(reqXML.getBytes("UTF-8"));
}
// Cevabı oku
int code = con.getResponseCode();
InputStream resStream = (code >= 400) ? con.getErrorStream() : con.getInputStream();
ByteArrayOutputStream buf = new ByteArrayOutputStream();
byte[] tmp = new byte[8192];
int n;
while ((n = resStream.read(tmp)) != -1) buf.write(tmp, 0, n);
String response = new String(buf.toByteArray(), "UTF-8");
System.out.println("HTTP " + code + " response: " + response);
return response;
} catch (IOException e) {
e.printStackTrace();
return null;
} finally {
if (con != null) con.disconnect();
}
}
wsimport -keep -d ./generated https://wsdl.osgbizleme.com/osgbizleme.asmx?WSDL
// Üretilen client kullanımı
OsgbizlemeSoap port = new Osgbizleme().getOsgbizlemeSoap();
Kullanici k = new Kullanici();
k.setFirmano("FIRMA_NO");
k.setFirmasifre("SIFRE");
k.setKullaniciAdi("TCKNO");
MobilDurum sonuc = port.mobilimzalama(b64, "1", "Belge özeti", "5XXXXXXXXX", "1", k);
System.out.println(sonuc.getHata() + " / " + sonuc.getSonuc() + " / " + sonuc.getParmakIzi());
📌 2026-05 Sürüm Notları
Yeni Özellikler YENİ
- ParmakIzi alanı —
Mobilimzalamacevabında MSSP hash'i (Turkcell telefonda aynısını gösterir) - PDF PADES desteği —
imzatipi=2artık PDF belgeleri imzalar
Kaldırılanlar
- Mobil imza altyapısı yenilendi (WSDL kontratı aynı, şeffaf geçiş)
Yeni Hata Kodları
| Kod | Açıklama |
|---|---|
| 210 | Mobil imza REST API hata |
| 215 | tip=3 (CAdES) artık desteklenmiyor |
| 216 | tip=2 PADES için belge geçerli PDF olmalı (%PDF magic byte) |
📜 Tüm Sürüm Tarihçesi
| Tarih | Yapılan Değişiklikler |
|---|---|
| 17.05.2026 v2026-05 |
|
| 15.12.2024 |
|
| 20.02.2021 | Mac OS X ve Linux sürümleri için E-İmzalama yazılımları yayınlandı |
| 18.02.2021 |
|
| 17.01.2021 |
|
| 25.12.2019 v1.0 |
Servis devreye alındı (ilk sürüm). |
📄 Kılavuz: https://wsdl.osgbizleme.com/kilavuz/ · 2019'dan beri aktif · Son güncelleme: 17.05.2026 · İletişim: 0850 441 09 21