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 adresihttps://wsdl.osgbizleme.com/osgbizleme.asmx?WSDL
SOAP versiyonuSOAP 1.2 (zorunlu — SOAP 1.1 reddedilir)
Content-Typeapplication/soap+xml; charset=utf-8; action="https://wsdl.osgbizleme.com/METOT"
Kılavuz adresihttps://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>
ortam alanı (isteğe bağlı): 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.
Bazı metotlarda parametre adı 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

JavaJava 1.8 (JRE 8). 1.8 üstü sürümlerle uyumlu testler sürmektedir.
İşletim SistemiWindows 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 OkuyucuUSB akıllı kart okuyucu (smart card reader) bağlı olmalı. PKCS#11 / PC/SC uyumlu.
İnternetSürekli açık internet (HTTPS giden bağlantı). Servisimize 60 sn altı aralıkla heartbeat gönderir.

İndirme

İndirme Adresihttps://wsdl.osgbizleme.com/indirmeler/
Paket İçeriğiJava 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:

  1. İndir: wsdl.osgbizleme.com/indirmeler/ üzerinden güncel paketi alın.
  2. Lisans yerleştir: lisans.key dosyanızı paketin lisans/ 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.)
  3. Logo değiştir: İsterseniz logo.ico ve logo.png dosyalarını kendi logonuzla değiştirin.
  4. 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:

  1. Hazır imzalama_yazilimi klasörünü (içinde lisans.key + logolar + imza.jar + Java vs.) seçin → sağ tık → Add to archive…
  2. 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.
  3. Üst kısımdan SFX options…'a tıklayın ve sekmeleri aşağıdaki gibi doldurun:
SekmeAlanÖrnek Değer
GeneralPath to extractC:\OSGBizleme (absolute önerilir; "Create in 'Program Files'" seçili olabilir)
"Save and restore paths" — işaretliKlasör yapısını korur
SetupRun after extractionimza.jar veya başlatma kısayolu (örn. start.vbs)
ModesSilent modeDisplay all (önerilen) ya da Hide all (sessiz kurulum)
Overwrite modeOverwrite all files (güncelleme yapıldığında eskileri ezecek)
Text and iconTitle of SFX windowOSGBizleme İ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 filelogo.ico (paketinizdeki) → SFX kurulum exe'sinin ikonu sizin logonuz olur
AdvancedAdd shortcutMasaüstüne kısayol oluşturmak isterseniz Add shortcut ile imza.jar'ı hedefleyin.
UpdateUpdate modeExtract 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ırAnlamı
Path=C:\OSGBizlemeJavaAçılma dizini — son kullanıcının bilgisayarında C:\OSGBizlemeJava klasörüne kurulur.
Overwrite=1Mevcut 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.icoD=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:

  1. macOS'ta Finder'da kendi firma adınızla boş bir klasör oluşturun (örn. Pincident, AkilliIsg vb. — burada örnek olarak OSGBizleme kullanılmıştır).
  2. Klasörün ismini FirmaAdiniz.app olarak yeniden adlandırın (örn. OSGBizleme.app) → macOS bundle olarak tanır ve Finder'da çift-tıklanabilir uygulama gibi davranır.
  3. Yukarıdaki ağaç yapısına göre Contents/MacOS/ ve Contents/Resources/ alt klasörlerini oluşturun.
  4. imza.jar + lisans + diğer kaynak dosyaları Contents/MacOS/ içine koyun.
  5. macOS için .icns ikonunu (örn. application.icns) Contents/Resources/ içine koyun. Online icon converter ile kendi logonuzdan .icns üretebilirsiniz.
  6. Launcher script'i (aşağıdaki örnek) Contents/MacOS/launcher olarak kaydedin.
  7. Terminal'i açıp:
    chmod +x /path/to/OSGBizleme.app/Contents/MacOS/launcher
    çalıştırın → launcher çalıştırılabilir hale gelir.
  8. Info.plist dosyasını (aşağıdaki örnek) Contents/Info.plist olarak kaydedin.
  9. OSGBizleme.app'i çift tıklayın — yazılım açılır. Sorun olursa Applications klasö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

Altyapı: İmzalama Yazılımı 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.
Önemli: Kart driver'ı yüklü değilse yazılım kartı bulamaz ve imza işlemleri başarısız olur. Yeni bir İSG Profesyoneli PC'sine kurarken önce kart üreticisinin driver'ı kurulmalı, sonra İmzalama Yazılımı + lisans key yerleştirilmelidir.

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 İsmiAçıklama
1KullaniciIslemleriÇözüm Ortağımız için kullanıcı (İSG Profesyoneli) tanımlama, düzenleme, pasife alma ve limit sorgulama işlemleri yapılabilir.
2ImzalamaE-imza modülü (kart) ile imzalama yapmak için kullanılacak metottur.
3ImzalamaDurumE-imza işleminden sonra imza durumunu sorgulamak için kullanılacak metottur.
4ImzalamaOturumE-imza modülünün oturum durumu sorgulanabilir (kullanıcı online mı?).
5MobilimzalamaMobil imzalama yapmak için kullanılacak metottur.
6MobilImzaDurumMobil imzalama işleminden sonra imza durumunu sorgulamak için kullanılacak metottur.
7IBYSGonderİ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.
8ReceteIslemleriMedula 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.
9UstReferansDegerlerİBYS sunucularında kullanılan Üst referans değerleridir.
10ListReferansDegerleriİBYS sunucularında kullanılan Alt referans değerleridir (başlık kodu ile).
11ListIlacListE-reçete oluşturabilmek için gerekli SGK ilaç listesi metodudur. Not: Servis 03:00-05:00 saatleri arasında çalışmaktadır.
12ListTaniListE-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.

KodAçıklama
100İşlem Başarılı (genel)
200İBYS işlemlerinde başarı
199Kullanıcı Adı veya Parola Boş
201Kullanıcı Kayıtlı Değil
202Kullanıcı Kayıtlı Pasife Alınmış
203Zorunlu Alanlarda Hata
204Belge / jsonCSGB Base64 formatında değil
208İşlem Tipi seçmelisiniz / İmza Tipi geçersiz
209Telefon numarası başında 0 olmadan 10 hane olmalıdır
210REST 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İ 215tip=3 (CAdES) artık desteklenmiyor
YENİ 216tip=2 PADES için belge geçerli PDF olmalı (%PDF magic byte)
300Kullanıcı Adı veya Parola Yanlış
400CSGB Servisi Kapalı
50003: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ş
0000Medula 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

islem değerleri

Değerİşlem
0Pasif: Aktif olan kullanıcıyı pasife almak için gönderilir.
1Yeni Ekle: Yeni kullanıcı eklemek için gönderilir.
2Durum Sorgu: Kullanıcılar listesinden kullanıcının durumu sorgulanabilir.
3Güncelle: isgProfTckNo ve belgeTipi dışındaki tüm alanlar güncellenebilir. Bu çağrı ile pasif olan kullanıcı aktif pozisyona getirilir.
4Limit Sorgu: Çözüm Ortağının limit durumunu (Tanımlanan - Kalan) ve kullanıcılarına ulaşılır.
💡 PIN Kayıt (kartpin): Yeni kullanıcı eklerken (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

ParametreGönderilecek DeğerZorunlu
belgeTipi1=İşyeri Hekimi, 2=İSG Uzmanı
isgProfTckNoKullanıcı TC Kimlik No (11 hane)
islem0=Pasif yap · 1=Yeni ekle · 2=Durum sorgu · 3=Güncelleme · 4=Limit sorgu
adiKullanıcı Adı
soyadiKullanıcı Soyadı
Bransİşyeri Hekimi ise branş kodu
MedulaParolaİşyeri Hekimi ise Medula parolası
plakaHekim ise işyerinin bulunduğu plaka
kartpinE-İmza modülü üzerinden imzalama yapacaksa kart PIN (Base64)
firmanoTarafınıza verilen Çözüm Ortağı Numaranız
firmasifreTarafınıza verilen Şifreniz
KullaniciAdiGerekli değil

Servis Cevapları

KodMesaj
100İşlem Başarılı
200Kullanıcı Adı veya Parola Yanlış
201Zorunlu Alanlarda Hata Lütfen Kontrol Ediniz
203isgprof TC No Yanlış
206İşlem Tipi Seçiniz
208Kullanıcı Ekleme Limitiniz Dolmuştur (0850 441 09 21 iletişim)
209TC nolu İSG Profesyoneli sistemde zaten kayıtlı (Update kullanın)
210TC 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

ParametreGönderilecek DeğerZorunlu
imzalanacakİmzalanacak metin/belge/XML (Base64)
operators1=Turkcell, 2=Türk Telekom
GosterilecekmetinKullanıcının cep telefonunda gösterilecek metin (max 200 char önerilir)
telefonTelefon numarası — başında 0 olmadan 10 hane olmalıdır
imzatip1=XML XAdES, 2=PDF PADES
firmano / firmasifreYetki bilgileri
KullaniciAdiİmzalama yapacak İSG Profesyoneli TCKN

Servis Cevapları

KodMesaj
100Takip ID'si verilir (Sonuc) + ParmakIzi (yeni) döner
199Kullanıcı Adı veya Parola Boş
201Kullanıcı Kayıtlı Değil
202Kullanıcı Kayıtlı Pasife alınmış
203Zorunlu Alanlarda Hata
204İmzalanacak belge Base64 olmalı
208İmza tipi geçersiz (yalnız 1, 2 desteklenir)
209Telefon numarası başında 0 olmadan 10 hane olmalıdır
210Mobil imza REST API hata
214İmzalanacak belge XML Formatında ve Base64 olmalı
215tip=3 (CAdES) artık desteklenmiyor
216tip=2 PADES için belge geçerli PDF olmalı (%PDF magic)
300Kullanıcı Adı veya Parola Yanlış
400CSGB 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>
ParmakIzi YENİ 2026-05 — MSSP'ye gönderilen hash'in lowercase hex hali (2-byte gruplar). Turkcell mobil imza uygulaması telefonda aynı hash'i gösterir; Çözüm Ortağımız kullanıcı UI'da "telefonunda gördüğün kod ile aynı mı?" karşılaştırması yaptırabilir.

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

ParametreGönderilecek DeğerZorunlu
imzaidMobilimzalama'dan dönen GUID
firmano / firmasifreYetki bilgileri
KullaniciAdiSorgulama yapacak İSG Profesyoneli TCKN

Servis Cevapları

Kod (Hata)Mesaj
1TAMAMSonuc alanında imzalanmış belge Base64 olarak döner
2Beklemede / imzalanıyor — polling'e devam edin
9İptal / Red — kullanıcı reddetti veya zaman aşımı
201Kullanıcı Kayıtlı Değil
202Kullanıcı Kayıtlı Pasife alınmış
209Telefon numarası başında 0 olmadan 10 hane olmalıdır
212İmzaid bulunamadı
300Kullanı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

ParametreGönderilecek DeğerZorunlu
imzalanacakİmzalanacak metin/belge/XML (Base64)
GosterilecekmetinE-imza uygulamasında Tooltip nesnesinde gösterilecek metin
imzatipi1=Signature XAdES, 2=Signature PADES, 3=Red
firmano / firmasifreYetki bilgileri
KullaniciAdiİmzalama yapacak İSG Profesyoneli TCKN

Servis Cevapları

KodMesaj
100Başarılı — takip ID'si Sonuc alanında döner
201Kullanıcı Kayıtlı Değil
202Kullanıcı Kayıtlı Pasife alınmış
203Zorunlu Alanlarda Hata
204İmzalanacak belge Base64 olmalı
209KULLANIMDAN 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ı
215tip=3 (CAdES) artık desteklenmiyor
216tip=2 PADES için belge geçerli PDF olmalı (%PDF magic)
300Kullanı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ş
Online Kontrol: Bu metot çağrıldığında sunucumuz İSG Profesyonelinin İmzalama Yazılımının (Java istemcisi) son 1 dk içinde heartbeat gönderip göndermediğini kontrol eder. Online değilse Hata=211 ile reddedilir — kart imzası başlatılmaz. ImzalamaOturum metoduyla önceden kontrol yapmanız tavsiye edilir.

Akış

  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.
Önkoşul: İSG Profesyonelinin e-imza modülü (Java client) PC'sinde çalışıyor olmalı (heartbeat < 1 dk). Önce 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

ParametreGönderilecek DeğerZorunlu
imzaidImzalama'dan dönen GUID
firmano / firmasifreYetki bilgileri
KullaniciAdiSorgulama yapacak İSG Profesyoneli TCKN

Servis Cevapları

Kod (Hata)Mesaj
0İmzalamaya Başlamadı
28İmzalamaya Başladı
18Pin Kodu Hatalı
1TAMAMSonuc alanında imzalanmış belge Base64 olarak döner
2Sonuc alanında durum metni döner
201Kullanıcı Kayıtlı Değil
202Kullanıcı Kayıtlı Pasife alınmış
212İmzaid bulunamadı
300Kullanı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

ParametreGönderilecek DeğerZorunlu
firmano / firmasifreYetki bilgileri
KullaniciAdiSorgulama yapacak İSG Profesyoneli TCKN

Servis Cevapları

KodMesaj
100Kullanıcı online — Sonuc alanında son heartbeat zamanı döner
200Kullanıcı offline (kayıt var ama son 1 dk içinde heartbeat yok)
203Kullanıcı adı 11 haneli (TC No) olmalıdır
205Kullanıcı adı (TC No) boş olamaz
210Verilen TC nolu tanım bulunamadı (bu TC ile İmzalama Yazılımı hiç çalışmamış olabilir)
201 / 202Kullanıcı kayıtlı değil / pasife alınmış
300Kullanıcı adı veya parola yanlış
9000Firma 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.

📚 Resmi Bakanlık Dokümantasyonu: İBYS alt metotları için detaylı JSON şemalarına, parametre listelerine ve örnek isteklere Çalışma ve Sosyal Güvenlik Bakanlığı'nın resmi web servis sayfasından ulaşabilirsiniz:

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

ParametreGönderilecek DeğerZorunlu
jsonCsgbİşleme ait JSON belge, Base64 kodlanmış
metotadiÇağrılacak alt metot (aşağıdaki listeden)
ortam1=Gerçek İBYS, 2=Test İBYS
firmano / firmasifreYetki bilgileri
KullaniciAdiİşlem yapacak İSG Profesyoneli

Alt Metot Listesi

NometotadiAçıklama
1egitimBilgisiBildir İMZALIEğitim bildirimi
2egitimBilgisiGoruntuleEğitim sorgu
3egitimBilgisiSilEğitim silme
4hizmetVerilenIsyeriBildirHizmet işyeri ekle
5hizmetVerilenIsyeriSilİşyeri silme
6hizmetBilgisiDurumGoruntuleİşyeri durum sorgu
7isgProfesyoneliDogrulaİSG Profesyoneli doğrulama
8isgProfesyoneliSozlesmeKontroluSözleşme kontrolü
9muayeneBilgisiBildir İMZALIMuayene bildirimi
10muayeneBilgisiGoruntuleMuayene sorgu
11muayeneBilgisiSilMuayene silme
12calisanSigortalilikKontroluSigortalılık kontrol (KVKK gereği genelde çalışmaz)
13madenVeriSetiBildir İMZALIMaden veri seti bildirimi
14madenVeriSetiBilgisiGoruntuleMaden veri sorgu

Servis Cevapları

KodMesaj
200İşlem Başarılı
201Kullanıcı Kayıtlı Değil
202Kullanıcı Kayıtlı Pasife alınmış
203Zorunlu Alanlarda Hata
204jsonCSGB Base64 formatında olmalı
205Gönderilen jsonCSGB hatalı
206jsonCSGB'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)
208jsonCSGB ile Kullanıcı TC eşleşmedi
300Kullanıcı Adı veya Parola Yanlış
400CSGB Servisi Kapalı
9000Çözüm Ortağı tanımı yok veya süresi bitmiş
İmzalı bildirim akışı (İMZALI alt metotlar için):
  1. İlgili JSON belgeyi hazırla (zamanDamgası alanı boş)
  2. Base64'le → Imzalama'ya gönder → imzaid al
  3. JSON'a "zamanDamgasi":"imzaid" alanı ekle, yeniden Base64'le
  4. 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

ParametreGönderilecek DeğerZorunlu
imzaidİmzalama sunucularımızdan alınan imzalaması tamamlanmış belge imzaid'i
tipi1=Reçete Yaz (oluştur), 2=Reçete Sil (iptal)
firmano / firmasifreYetki bilgileri
KullaniciAdiİşyeri Hekimi TCKN

Servis Cevapları

KodMesaj
100İşlem Başarılı (lokal başarı)
0000Medula Başarılı — Kodu alanında reçete kodu, kişi bilgileri dolu
200Kullanı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 normalleştirmesi: Medula 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

ParametreGönderilecek DeğerZorunlu
firmano / firmasifreYetki bilgileri
KullaniciAdiGerekli değil

Servis Cevapları

KodMesaj
100İşlem Başarılı
200Kullanı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

ParametreGönderilecek DeğerZorunlu
baglikoduUstReferansDegerler'den alınan başlık kodu (örn. 1001)
firmano / firmasifreYetki bilgileri
KullaniciAdiGerekli değil

Servis Cevapları

KodMesaj
100İşlem Başarılı
200Kullanı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.

⏰ Çalışma Saati: TSİ 03:00-05:00 arası cevap verir. Bu saat dışında Hata=500 döner.

Parametreler

ParametreGönderilecek DeğerZorunlu
firmano / firmasifreYetki bilgileri
KullaniciAdiGerekli değil

Servis Cevapları

KodMesaj
100İşlem Başarılı
200Kullanıcı Adı veya Parola Yanlış
50003: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.

⏰ Çalışma Saati: TSİ 03:00-05:00 arası cevap verir. Bu saat dışında Hata=500 döner.

Parametreler

ParametreGönderilecek DeğerZorunlu
firmano / firmasifreYetki bilgileri
KullaniciAdiGerekli değil

Servis Cevapları

KodMesaj
100İşlem Başarılı
200Kullanıcı Adı veya Parola Yanlış
50003: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.

1
JSON belgeyi hazırla
Eğitim/muayene verisi içeren JSON belgesi hazırlanır. Zaman damgası alanı şimdilik boş bırakılır.
2
JSON'u Base64'le
İmzalama metoduna gönderebilmek için belgeyi Base64 kodla.
3
İmza Yolu Seç
Bu adımda kart veya mobil imza yollarından birini seçersiniz.

🔐 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.

4
Zaman Damgasını JSON'a Ekle
İmzalama adımından alınan takip ID'si JSON belgesinin zaman damgası alanına eklenir, belge yeniden Base64'lenir.
5
İBYS'e Gönder
IBYSGonder metoduyla imzalı belge bakanlık sunucusuna iletilir; başarılı olursa bildirim numarası döner.
İBYS mobil imza destekler. Eğitim, muayene, maden bildirimi gibi imzalı İBYS işlemleri kart imzası ile yapılabileceği gibi mobil imza ile de yapılabilir; iki yol da geçerlidir.

İş Akışı — E-Reçete Oluştur / Sil

Reçete Oluşturma

1
Reçete XML'ini hazırla
Hasta TC, ilaç barkod, tanı kodu, doktor TC gibi bilgileri içeren reçete XML'i hazırlanır. Şablon için bkz. Ekler.
2
Online kontrol
ImzalamaOturum ile İSG Profesyonelinin online olduğu doğrulanır.
3
Kart ile imzala
Imzalama metoduyla imza başlatılır; takip ID döner. İmzalama Yazılımı kart üzerinden imzayı tamamlar (~6-12 sn).
4
İmza durum sorgu
ImzalamaDurum ile imza tamamlanana kadar polling yapılır.
5
Medula'ya yaz
ReceteIslemleri metoduyla imzalı belge Medula'ya iletilir; başarılı olursa reçete kodu ve hasta bilgileri döner.

Reçete Silme

1
Sil XML'ini hazırla
Çözüm Ortağımız <imzaliEreceteSilBilgisi> kök elemanlı sil XML'ini kendi tarafında üretir ve Base64'le sarar (bkz. Reçete XML Örnekleri).
2
Kart ile imzala
Imzalama metoduyla sil XML imzalanır; sil_imzaid döner.
3
İmza durum sorgu
ImzalamaDurum ile imza tamamlanana kadar polling yapılır.
4
Medula'ya sil
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 NOTÜ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 NOTÜRÜ
1821101011534528015099000053200776941İGU
1821101011534528015099000060313019479İH
1821101011534528015099000094556647867İGU
1854201011534580055177100064101060898İGU
1889901011534524015038600041779743551İGU
1889901011534524015038600053176232335İH
1889901011534524015038600085215059124İGU
2107101011534545019097200085379339075İH
2107101011534545019097200095806784600İGU
2107101011534552031104500013149589773İGU
2113001011534547019017400038874204778İH
2113001011534547019017400041779743551İGU
2310101011534533005057600085254419596İGU
2310101011534533005057600087847978833İ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
1821101011534528015099000011900207485, 12802358699, 13142945118, 14700151736, 16559534359, 17974648359, 18655161009, 19094360205, 19461972339, 20114299382, 20519238754, 22265300847, 22519515745, 22767224736, 23322700412, 23546521054, 23898148811, 24213694754
1854201011534580055177100010602122034, 10605713241, 13829649311, 14359788893, 15031721778, 15629734777, 16492362234, 17173612821, 18143793285, 20069027771, 20558193768, 20975905847, 21034054841, 22052934617, 23594953439, 24281326007, 24827233084
1889901011534524015038600014939324032, 15524320500, 16079845431, 16466778890, 16698270437, 17828007880, 18059825199, 19104862827, 19461324419, 19588678677, 20400706441, 21151661349, 21338715600, 23579268750, 25133251452, 25857870918, 28543512239, 28781914314, 29818159044
2107101011534545019097200014309334491, 15667944551, 16346043698, 17624428245, 18032606974, 18090593033, 18468242491, 18600517788, 19016209382, 19305408535, 19495865359, 19628629283, 20821648089, 21413894446, 22712816824, 23284589538, 24068164238, 25521438564, 26743869000, 27746156320, 29085638363, 29425628586, 30187180056, 30681624084
2113001011534547019017400014824305771, 18443604770, 19545163758, 21089321450, 21867687686, 22429132763, 22848766196, 23822040221, 24029885791, 24746752543, 25778091492, 26537358391, 27278512526, 30068087200, 30252394982, 30551478938, 31033317527, 31420932692, 33167280770
2310101011534533005057600026205140200, 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;
    }
}
Önerilen yaklaşım: Visual Studio'da 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();
    }
}
Önerilen yaklaşım: WSDL'den JAX-WS ile otomatik Java client üretin:
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İ

Kaldırılanlar

Yeni Hata Kodları

KodAçıklama
210Mobil imza REST API hata
215tip=3 (CAdES) artık desteklenmiyor
216tip=2 PADES için belge geçerli PDF olmalı (%PDF magic byte)

📜 Tüm Sürüm Tarihçesi

TarihYapılan Değişiklikler
17.05.2026
v2026-05
  • ParmakIzi alanı Mobilimzalama cevabına eklendi
  • PDF PADES desteği (imzatipi=2)
  • İmzalama altyapısı yenilendi (şeffaf geçiş): artık imzalagitsin.com teknolojik altyapısı kullanılmaya başlandı. Mobil imza, kart imzası ve PADES/XAdES inşası bu altyapı üzerinden sağlanır. WSDL kontratı aynı kaldığı için Çözüm Ortağı tarafında değişiklik gerekmez.
  • İSG Profesyoneli online kontrolü: kart imzası başlatılırken Hata=211 ile offline kullanıcılar reddedilir (yeni hata kodu).
15.12.2024
  • TC / VKN ile Ad Soyad Unvan sorgulama eklendi
  • İşyerleri için sözleşme metodu eklendi
  • E-Reçete işlemleri eklendi
  • İmza sunucuları güncellendi
20.02.2021 Mac OS X ve Linux sürümleri için E-İmzalama yazılımları yayınlandı
18.02.2021
  • E-İmza metotları eklendi
  • Çözüm Ortakları için Personel Metoduna Limit bilgisi eklendi
  • Windows sürümleri için İmzalama yazılımları yayınlandı
17.01.2021
  • Sağlık Gözetimi veri seti alınmaya başlandı
  • İlgili servisler eklendi
  • Mobil imza servisi yenilendi
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