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.