Ana içeriğe geç

importDataSql

Genel Bilgi

Özellik Değer
Endpoint Adı importDataSql
SOAPAction urn:WebticariService#importDataSql
Açıklama Doğrudan SQL sorgusu göndererek sisteme veri yazar. Ham SQL komutunu çalıştıran düşük seviyeli bir endpoint'tir.
Kimlik Doğrulama Gerektirir Evet (token)

İstek Parametreleri

Parametre Tip Zorunlu Açıklama
token xsd:string Evet login endpoint'inden alınan oturum token'ı
sql xsd:string Evet Çalıştırılacak SQL sorgusu (INSERT, UPDATE, DELETE)

Yanıt Parametreleri

Parametre Tip Açıklama
return xsd:string Etkilenen satır sayısı veya hata mesajı

Yanıt Yapısı

<importsql>
  <result>
    <execute>1</execute>               <!-- 1=başarılı, 0=izinsiz veya hata -->
    <affected_rows>1</affected_rows>   <!-- Etkilenen satır sayısı -->
    <last_insert_id>42</last_insert_id><!-- Son eklenen satır ID'si (INSERT için) -->
    <mysql_error></mysql_error>        <!-- MySQL hata mesajı (boş = başarılı) -->
    <mysql_errno>0</mysql_errno>       <!-- MySQL hata numarası (0 = başarılı) -->
  </result>
</importsql>

İzin Verilen Tablolar ve İşlemler

Bu endpoint yalnızca aşağıdaki tablolarla çalışır ve yalnızca izin verilen SQL işlem tiplerini kabul eder:

SQL Tipi İzin Verilen Tablolar
INSERT INTO tbcariaciklama, tbgps, tbtopluduzenleme, tblocalsql, tbkilometre, tbmesaj, tbayarlar, tburunbirimraf, callerid_cagrikayitlari, tblog, personelgiriscikis, personelgiriscikistemp
REPLACE INTO ⚠️ Kaynak kodda izin kontrolünde hata nedeniyle her zaman execute=0 döner; fiilen çalışmaz
UPDATE Yukarıdaki tablolar + edefter önekiyle başlayan tüm tablolar (ör. edefertyil2024)

Bu dışındaki tablolara ya da SELECT, DELETE, DROP gibi işlemlere izin verilmez; yanıt <execute>0</execute> döner.

Not: callerid_cagrikayitlari tablosuna INSERT yapıldığında telefon numarası sistemdeki carilerde aranır ve eşleşme bulunursa ck_carino alanı otomatik doldurulur; ardından WebSocket üzerinden cagrikayitlari olayı yayınlanır.


Örnek SOAP İstek

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:tns="urn:WebticariService">
  <soapenv:Header/>
  <soapenv:Body>
    <tns:importDataSql>
      <token>a3f5c2b1d8e4f9a0b7c6d3e2f1a8b5c4d7e0f3a2</token>
      <sql>INSERT INTO tbmesaj (mj_gonderen, mj_alici, mj_metin, mj_tarih) VALUES (5, 8, 'Test mesajı', NOW())</sql>
    </tns:importDataSql>
  </soapenv:Body>
</soapenv:Envelope>

Notlar

  • execute=0 dönmesi tablonun izin listesinde olmadığı anlamına gelir; hata ayıklamak için mysql_error alanını kontrol edin.
  • Birden fazla satır etkilendiyse affected_rows toplamı gösterir.
  • Token geçersizse yanıt Invalid Token string'i döner.