Netsis Dokümantasyonu

Uç kataloğu

Tüm yollar http://<sunucu>:<port>/ köküne görelidir ve Authorization: Bearer <token> ister (aksi belirtilmedikçe). Liste uçları sorgu parametrelerini kabul eder. Her kaynak için ayrıca GET api/v2/definitions/<Kaynak> ve GET api/v2/services/<Kaynak> şema uçları vardır.

İstek gövdeleri: JSON örnekleri. Bileşik {id} biçimleri: Kimlikler ve enum'lar.

Cari (ARPs) ve cari hareket (ARPTransactions)

Tablolar: TBLCASABIT, TBLCASABITEK, TBLCAHAR.

Yöntem Yol Açıklama
GET api/v2/ARPs Cari listesi
GET api/v2/ARPs/{id} Tek cari (id = CARI_KOD)
POST api/v2/ARPs Yeni cari
PUT api/v2/ARPs/{id} Cari güncelle
DELETE api/v2/ARPs/{id} Cari sil
GET api/v2/ARPs/PrimInfo Tüm cari temel bilgileri (ARPsPrimInfo)
POST api/v2/ARPs/Risk Cari risk bilgisi (NetOpenX RiskBul)
GET api/v2/ARPTransactions Cari hareketler
GET api/v2/ARPTransactions/{id} Tek hareket (id = INC_KEY_NUMBER)
POST api/v2/ARPTransactions Yeni hareket
PUT api/v2/ARPTransactions/{id} Hareket güncelle
DELETE api/v2/ARPTransactions/{id} Hareket sil

Cari gövdesi iki parçalıdır: CariTemelBilgi (ARPsPrimInfo → TBLCASABIT) ve CariEkBilgi (ARPsSuppInfo → TBLCASABITEK), ayrıca SubelerdeOrtak, IsletmelerdeOrtak bayrakları. Örnek.

var m = new ARPsManager(oAuth2);
var yeni = m.PostInternal(new ARPs
{
    CariTemelBilgi = new ARPsPrimInfo { CARI_KOD = "J0001", CARI_ISIM = "Rest Cari", CARI_TIP = "S", Sube_Kodu = 0,
                                        CARI_ADRES = "İzmir", CARI_IL = "İzmir", CARI_ILCE = "Konak", CARI_TEL = "2320000000" },
    CariEkBilgi    = new ARPsSuppInfo { CARI_KOD = "J0001", TcKimlikNo = "11111111111" }
});
if (!yeni.IsSuccessful) throw new Exception(yeni.ErrorDesc);

// Güncelleme: yalnızca değişen alanlar
m.PutInternal("J0001", new ARPs { CariTemelBilgi = new ARPsPrimInfo { CARI_KOD = "J0001", CARI_ILCE = "Karşıyaka" } });

// Cari hareket
new ARPTransactionsManager(oAuth2).PostInternal(new ARPTransactions
{
    CARI_KOD = "J0001", Tarih = DateTime.Today, Hka = "A", Aciklama = "rest", SonKayitNoAl = true
});

Stok (Items) ve stok hareketi (ItemTransactions)

Tablolar: TBLSTSABIT, TBLSTSABITEK, TBLSTHAR.

Yöntem Yol Açıklama
GET api/v2/Items Stok kartları (sıralama örneği: ISLETME_KODU ASC, STOK_KODU ASC)
GET api/v2/Items/{id} Tek stok (id = STOK_KODU)
POST api/v2/Items Yeni stok
PUT api/v2/Items/{id} Güncelle
DELETE api/v2/Items/{id} Sil
GET api/v2/Items/PrimInfo Stok temel bilgileri (ItemPrimInfos)
GET/POST/PUT/DELETE api/v2/ItemTransactions[/{id}] Stok hareketi CRUD

Stok gövdesi: StokTemelBilgi (ItemsPrimInfo) + StokEkBilgi (ItemsSuppInfo). En küçük geçerli gövde stok kodu ve adıdır. Örnek.

Fatura, irsaliye ve sipariş (ItemSlips)

Tablolar: TBLFATUIRS, TBLFATUEK, TBLSTHAR, TBLSIPAMAS, TBLSIPATRA. COM karşılığı: Fatura ve irsaliye.

Yöntem Yol Açıklama (NetOpenX karşılığı)
GET api/v2/ItemSlips/{id} Tek belge. id = FaturaTip;FATIRS_NO;CARI_KOD, ör. ftSSip;000000000000123;120-01-001
GET api/v2/ItemSlips?docType={docType} Belge tipine göre liste
POST api/v2/ItemSlips Yeni belge (kayitYeni)
DELETE api/v2/ItemSlips/{id} Sil
POST api/v2/ItemSlips/Details ItemSlipsParam ile tek belge oku
POST api/v2/ItemSlips/Delete Parametreyle sil
POST api/v2/ItemSlips/Calculate Kaydetmeden hesapla (HesaplamalariYap)
POST api/v2/ItemSlips/Html Belge HTML'i (GetFaturaHTML)
POST api/v2/ItemSlips/NewNumber Yeni belge numarası (YeniNumara)
POST api/v2/ItemSlips/NewEItemSlipsNumber Yeni e-fatura numarası (YeniEfaturaNumara)
POST api/v2/ItemSlips/NewEWaybillNumber Yeni e-irsaliye numarası
GET api/v2/ItemSlips/NewEArchiveNumber/{serialNo} Yeni e-arşiv numarası
POST api/v2/ItemSlips/IncrementNumber Numarayı 1 artır (NoArtiBir)
POST api/v2/ItemSlips/IrsToFat İrsaliyeden fatura (Irsaliye2Fatura)
POST api/v2/ItemSlips/SiparisToIrsFat Siparişten irsaliye/fatura (Siparis2IrsFat)
POST api/v2/ItemSlips/TopluSiparisToIrsFat Toplu siparişten irsaliye/fatura
POST api/v2/ItemSlips/ChangeNumber Belge no ve cari kodu değiştir (NumaraDegistir)
POST api/v2/ItemSlips/ChangeCode Cari kodu değiştir (KodDegistir)
POST api/v2/ItemSlips/CopyItemSlip Belge kopyala
POST api/v2/ItemSlips/OrderRevision Sipariş revizyonu
POST api/v2/ItemSlips/ReadAndSave Oku ve yeniden kaydet
POST api/v2/ItemSlips/SendEMailDesign Dizaynla e-posta gönder (DizaynEpostaGonder)
POST api/v2/ItemSlips/DeleteItemSlipLinkedWaybill Faturaya bağlı irsaliyeyi sil
GET api/v2/ItemSlips/ContractsOpenPrice?restRecord={restRecord} Belgelenmemiş

ItemSlips için PUT yoktur. Belge değiştirmek için silip yeniden oluşturun ya da ReadAndSave / ChangeNumber gibi işlem uçlarını kullanın.

Gövde yapısı: üst düzeyde FaturaTip, Seri, hesaplama bayrakları, FatUst (başlık), Kalems (satırlar). Alan listesi ve örnek: JSON örnekleri. Dönüşüm uçlarının gövdesi { ItemSlip, DocumentType, DocumentNumber, CustomerCode } biçimindedir; ItemSlip hedef belgenin başlığını ve bayraklarını taşır.

var m = new ItemSlipsManager(oAuth2);
var fatura = new ItemSlips
{
    FaturaTip = JTFaturaTip.ftSFat,
    KayitliNumaraOtomatikGuncellensin = true,
    FatUst = new ItemSlipsHeader { Tip = JTFaturaTip.ftSFat, CariKod = "120-01-001", Tarih = DateTime.Today,
                                   TIPI = JTFaturaTipi.ft_Acik, KDV_DAHILMI = false },
    Kalems = new List<ItemSlipLines> {
        new ItemSlipLines { StokKodu = "STK001", STra_GCMIK = 3, STra_BF = 100, STra_NF = 100, DEPO_KODU = 1, STra_KDV = 20 }
    }
};
var hesap = m.Calculate(fatura);        // önce kontrol (kayıt yok)
var kayit = m.PostInternal(fatura);     // kaydet
string no = kayit.Data.FatUst.FATIRS_NO;

Toplu faturalama (BatchInvoicing)

Yöntem Yol Açıklama
POST api/v2/BatchInvoicing İrsaliyeleri toplu faturalar: satış irsaliyesi → satış faturası, alış irsaliyesi → alış faturası

Örnek gövde.

Muhasebe fişi (GLSlips) ve hesap planı (GLAccounts)

Tablolar: TBLMUHFIS, TBLMUPLAN.

Yöntem Yol Açıklama
GET api/v2/GLSlips Fişler; expandLevel=full ile GLSlipLines ve GLSlipLines2 dahil
GET api/v2/GLSlips/{id} Tek fiş
POST api/v2/GLSlips Yeni fiş
DELETE api/v2/GLSlps/{id} Sil. Logo sayfasında yol GLSlps yazılı; GLSlips olması beklenir (doğrulanmadı)
POST api/v2/GLSlips/Details GLSlipsParam ile oku
POST api/v2/GLSlips/Delete GLSlipsParam ile sil
GET api/v2/GLAccounts Hesap planı (sort=HESAP_KODU ASC, q=SUBE_KODU='1')
GET/POST/PUT/DELETE api/v2/GLAccounts[/{id}] Hesap CRUD (id = hesap kodu)

Çek ve senet (CheckAndPNotesMain)

Tablolar: TBLMCEK, TBLMSEN, TBLBCEK, TBLBSEN.

Yöntem Yol Açıklama
GET api/v2/CheckAndPNotesMain/{id} Tek bordro. id = JTCekSenType;SC_ALB_NO, ör. csMCEK;A00000000000001
GET api/v2/CheckAndPNotesMain?docType={docType} Tipe göre liste
POST api/v2/CheckAndPNotesMain Yeni bordro
DELETE api/v2/CheckAndPNotesMain/{id} Sil
POST api/v2/CheckAndPNotesMain/Details CheckAndPNotesMainParam ile oku
POST api/v2/CheckAndPNotesMain/Delete Parametreyle sil
var bordro = new CheckAndPNotesMain
{
    Tip = JTCekSenType.csMCEK,
    CekSenEvrakKaydetmeTip = JTCekSenetEvrakKaydetmeTipi.ektCekSenAlma,
    OtoNumaraGetir = true,
    Evraklar = new List<CheckAndPNotes> {
        new CheckAndPNotes { CEKSERI = "H", SC_GIRTRH = DateTime.Today, SC_VERENK = "120-01-001",
                             AS_C = "A", SC_YERI = "P", VADETRH = DateTime.Today.AddMonths(1),
                             SC_ODETRH = DateTime.Today.AddMonths(1), Tutar = 500 }
    }
};
var r = new CheckAndPNotesMainManager(oAuth2).PostInternal(bordro);
var bordroNo = r.Data.BordroNo;

AS_C = A (alacak), SC_YERI = P (portföy) örneklerden alınmıştır; diğer değerler belgelenmemiştir.

Kasa (SafeDeposits)

Tablo: TBLKASA.

Yöntem Yol Açıklama
GET api/v2/SafeDeposits Kasa hareketleri
GET api/v2/SafeDeposits/{id} Tek kayıt
POST api/v2/SafeDeposits Yeni kayıt
DELETE api/v2/SafeDeposits/{id} Sil
GET api/v2/SafeDeposits/LastBalance?id={id} Kasa son bakiyesi (KasaSonBakiye)

Alan değerleri TBLKASA açıklamasından: IO = G gelir / C gider; Tip = B banka, C cari, E çek, F fatura, M muhtelif, S senet, T transfer; Cari_Muh = C cari / M muhasebe / B banka. Örnek.

Hızlı tahsilat (MixedReceiptsMain)

Yöntem Yol Açıklama
GET api/v2/MixedReceiptsMain/{id} Tek tahsilat. id = KasaKod;BelgeNo;CariKod;yyyy-MM-dd
POST api/v2/MixedReceiptsMain Yeni
DELETE api/v2/MixedReceiptsMain/{id} Sil
POST api/v2/MixedReceiptsMain/Details Parametreyle oku
POST api/v2/MixedReceiptsMain/Delete Parametreyle sil
var mr = new MixedReceiptsMain
{
    IslemTarihi = DateTime.Today, KasaKod = "01", BelgeNo = "56565656", CariKod = "120-01-001", DOVTIP = 0,
    Tahsilats = new List<MixedReceipts> {
        new MixedReceipts { Aciklama = "nakit", SozKodu = "NAKIT", Tutar = 150, TaksitSay = 0 }
    }
};
new MixedReceiptsMainManager(oAuth2).PostInternal(mr);

Döviz ve kur (ForExs, ExRates)

Yöntem Yol Açıklama
GET/POST api/v2/ForExs Döviz tanımları (BIRIM, ISIM, NETSISSIRA)
GET/PUT/DELETE api/v2/ForExs/{id} Tek döviz. Başka yerde kullanılan döviz silinmez
GET api/v2/ForExs/RefreshExRates?date={date} Verilen tarihin kurlarını güncelle (DovizKurGuncelle)
GET/POST api/v2/ExRates Kur listesi / yeni kur. SIRA döviz tanımına referanstır
GET/PUT/DELETE api/v2/ExRates/{id} Tek kur
POST api/v2/ExRates/Details, api/v2/ExRates/Delete ExRatesParam ile oku/sil

Basım (Print)

Basım uçları PDF'i bayt dizisi olarak döndürür (JSON'da base64 metin; C#'ta result.Data → byte[]). DesignNumber, Netsis'te tanımlı dizayn numarasıdır (TBLDIZAYNSABIT.DIZAYNNO).

Yol (POST) Parametre Alanlar NetOpenX karşılığı
api/v2/Print/ItemSlipsPrinting ItemSlipsPrintParam DesignNumber, DocumentType, DocumentNumber, CustomerCode, StreamSupport FaturaBasimDizaynNo
api/v2/Print/GLSlipsPrinting GLSlipsPrintParam DesignNumber, GLSlipsId, Month YevmiyeFisBasimDizaynNo
api/v2/Print/CheckAndPNotesMainPrinting CheckAndPNotesMainPrintParam BordroNo, Tip, DesignNumber CekSenetBasimDizaynNo
api/v2/Print/SafeDepositsPrinting SafeDepositPrintParam DesignNumber, PrintingType, Sira KasaBasim
api/v2/Print/StatementsHeaderPrinting StatementsHeaderPrintParam DekontBasimDizaynNo
var pdf = new PrintManager(oAuth2).ItemSlipsPrinting(new ItemSlipsPrintParam
{
    CustomerCode = "120-01-001", DesignNumber = 1005,
    DocumentNumber = "ABC2024000000123", DocumentType = JTFaturaTip.ftSFat
});
File.WriteAllBytes(@"C:\Temp\fatura.pdf", pdf.Data);

Barkod basımı için PrintManager.ItemSlipsItemsBatchBarcodePrinting ve ItemSlipsItemBarcodePrinting vardır (istemci kütüphanesi).

E-belge (EDocument)

Yöntem Yol Açıklama
POST api/v2/EDocument E-belge taslağı. Tip: 0 e-arşiv, 1 e-fatura, 2 e-irsaliye
POST api/v2/EDocument/SendEDocument Entegratöre/GİB'e gönder. Geri alınamaz
POST api/v2/EDocument/ShowEDocument HTML görüntüle. HtmlPath boşsa HTML yanıtta döner

Diğer e-belge yöntemleri (yanıt, kalem yanıtı, e-arşiv iptali, cari güncelleme) istemci kütüphanesinde listelenmiştir. JSON örnekleri.

Dinamik depo (DynamicWarehsSlips)

Yöntem Yol Açıklama
POST api/v2/DynamicWarehsSlips Yeni dinamik depo (hücre) fişi
var dyn = new DynamicWarehsSlips
{
    HareketTipi = JTDepoIslemTipi.ditYerlestirme,
    BelgeTipi = JTDepoBelgeTipi.dbtAlisFaturasi,
    BelgeNumarasi = "A00000000000001", CariKodu = "320-01-001",
    Harekets = new List<DynWarehsSlipLines> {
        new DynWarehsSlipLines { HucreHareketKalems = new List<DynWarehsSlipCellLines> {
            new DynWarehsSlipCellLines { HucreKodu = "H1", NetMiktar = 5, HareketTipi = JTDepoHareketTipi.dhtNormal, StokKodu = "001" } } }
    }
};
new DynamicWarehsSlipsManager(oAuth2).PostInternal(dyn);

Üretim

Serbest üretim / SUSK (FinishedGoodsReceiptWChanges)

Yöntem Yol Açıklama
GET api/v2/FinishedGoodsReceiptWChanges Kayıtlar (sıralama UretSon_FisNo, UretSon_Tarih)
GET api/v2/FinishedGoodsReceiptWChanges/{id} Tek fiş (id = UretSon_FisNo; FisYukle)
DELETE api/v2/FinishedGoodsReceiptWChanges/{id} Sil
POST api/v2/FinishedGoodsReceiptWChanges/ReceiptProduce Fişi üret ve kaydet (FisUret + Kaydet)
POST api/v2/FinishedGoodsReceiptWChanges/Save Son üretilen fişi sakla
GET api/v2/FinishedGoodsReceiptWChanges/GetFromProductionOrder/{id} İş emrinden getir (IsEmrindenGetir)

UretSon_Depo giriş deposu, I_Yedek1 çıkış deposu, BAKIYE_DEPO = 0 verilen depo / 1 tüm depolar. Örnek.

İş emri, reçete, MRP

Yol Açıklama
POST api/v2/ProductionOrder İş emri kaydı (JIsEmri). Örnek
Mrp, PlanningRecord, BOM, ProcessControl, ProductMaterialCost, QualityControls, MaintenanceOrders Uç yolları sürüme göre api/v2/help'ten alınmalı; yönetici metotları istemci kütüphanesinde

Sipariş, makbuz ve diğer belgeler

Kaynak Uçlar Not
ProducerReceipt (müstahsil) GET/POST api/v2/ProducerReceipt, GET .../ReadLastNumber?customerCode= Son numara (SonNumaraOku)
StatementsHeader (dekont) GET api/v2/StatementsHeader, GET/POST/PUT/DELETE .../{id}, POST .../Details, POST .../Delete Kalemlerle birlikte okur
WorkFlow (iş akışı) GET/POST api/v2/WorkFlow POST kaydın akış durumunu değiştirir; sıralama PATHKODU
ContractsMain (bağlantı) GET api/v2/ContractsMain/{id} Yalnızca tek kayıt okuma
CompaniesInfo GET api/v2/CompaniesInfo[/{id}] Şirket isim bilgileri
Project GET/POST api/v2/Project, GET/PUT/DELETE .../{id} PROJE_KODU, PROJE_ACIKLAMA (TBLPROJE)
DocumentLocking çeşitli Belge kilitleme (9.0.6x'te görüldü)
Company çeşitli Şirket düzeyi işlemler: bakiye devri, kod değiştirme, rapor çalıştırma… (CompanyManager)

Sorgu (Queries)

Yol Açıklama Veritabanı
GET/POST api/v2/Queries Verilen SQL'i çalıştırır. Select, insert, update, delete Yalnızca MSSQL
GET/POST api/v2/Queries/NetRS NetRS ile SQL çalıştırır MSSQL ve Oracle

Ham SQL çalıştırır ve yazma yapabilir. Uygulamalarınızda okuma için bile tercih etmeyin; doğrudan SQL bağlantısı ya da tipli uçlar daha güvenlidir. Sunucuda bu uçlara erişimi kısıtlayın (Güvenlik).

Sistem uçları

Yöntem Yol Token Açıklama
POST api/v2/token — Token al (Kimlik doğrulama)
GET api/v2/revoke evet Oturumu kapat
GET api/v2/ping evet Token geçerli mi
GET api/v2/public/Ping hayır Servis ayakta mı
GET api/v2/public/Version hayır NetOpenX sürümü
GET api/v2/public/NetsisMasterVersion hayır Ana veritabanı sürümü
GET api/v2/public/AuthorizedBranches?company=&username= hayır Kullanıcının yetkili şubeleri
GET api/v2/public/CompanyList hayır Şirket listesi. Bazı kurulumlarda Invalid object name 'DBMONITOR..TBLSUBELER' hatası verir; şirketler için NETSIS..SIRKETLER30 okunabilir
GET api/v2/public/GetLicInfo/KeyInfo hayır Lisans bilgisi
GET api/v2/HealthCheck hayır Kernel oluşturma testi
GET api/v2/OpenTransaction evet Transaction aç (Transaction)
GET api/v2/CommitTransaction?transId= evet Onayla
GET api/v2/RollBackTransaction?transId= evet Geri al
GET api/v2/services, api/v2/services/describe API şeması
GET api/v2/help, api/v2/helpinfo?apiId= hayır Yardım sayfaları