Cari Plus API Dokümantasyonu
Cari Plus nedir?
Cari Plus, işletmelerin cari hesaplarını, ürün ve stoklarını, satış ve giderlerini, tahsilat/ödemelerini ve e-belge süreçlerini (e-Fatura, e-Arşiv, e-İrsaliye) tek yerden yönettiği bir ön muhasebe ve işletme yönetimi uygulamasıdır.
API ile neler yapılabilir?
API, normalde panelde elle yaptığınız işlerin bir bölümünü kendi yazılımınızdan yapmanızı sağlar. Firmanızın verisine, panelin ekranlarından geçmeden erişirsiniz.
Bugün açık olan yüzeyle şunlar yapılabilir:
Ürün ve stok senkronu. Ürünleri ve varyasyonlarını oluşturup güncelleyebilir, depo bazında stok durumunu okuyabilir ve stok hareketi yazabilirsiniz. Kendi e-ticaret siteniz veya pazaryeri panelinizle Cari Plus stoğunu aynı tutmak bu uçlarla yapılır. Bir ürünü vitrininizde gizlemek için
is_web_visiblealanını kullanın — ürünü Cari Plus'ta pasife almadan yalnız vitrin dışında tutar.Depo yönetimi. Depo/şube kayıtlarını ve depo içi raf/göz (lokasyon) hiyerarşisini oluşturup güncelleyebilir, arşivleyip geri yükleyebilirsiniz — stok hareketi yazarken zorunlu olan
warehouse_id'yi bu uçlardan öğrenirsiniz.Cari hesap senkronu. Müşteri ve tedarikçi kayıtlarını oluşturabilir, güncelleyebilir, listeleyebilirsiniz. CRM'iniz veya sipariş sisteminiz yeni bir müşteri açtığında aynı kaydı Cari Plus'ta da açabilirsiniz.
Satış faturası ve yaşam döngüsü. Taslak satış faturası oluşturabilir, güncelleyebilir, silebilir; ardından kesebilir (stok düşer, cari bakiyeye girer), iptal edebilir (stok geri gelir), iade damgası basabilir ve arşivleyip geri yükleyebilirsiniz. Kesim öncesi stok yeterliliğini yazma yapmadan önizleyen ayrı bir uç vardır.
İhracat faturası ve serbest meslek makbuzu. Faturanın senaryosunu
exportya dasmmseçip teslim şekli, taşıma tipi, navlun/sigorta/FOB bedelleri ve kalem bazında GTİP/kap/menşe bilgisini yazabilirsiniz; belge aynı e-belge uçlarından gider, ayrı bir uç öğrenmeniz gerekmez. Perakende satış bu yüzeyin kapsamı DIŞINDADIR (kendi akışı vardır) ve API'den yazılmak istenirse422alır — bkz. Satış faturaları.E-belge gönderimi ve iptali. Faturayı e-Fatura/e-Arşiv olarak GİB'e gönderebilir, önce taslak açıp sonra gönderebilir, belgenin durumunu izleyebilir, PDF ve XML'ini indirebilirsiniz. Bu uçlar kendi yetkisini taşır (
edocuments:read/edocuments:write) — sebebi aşağıda. Gönderim geri alınamaz, ama e-belgesi kesilmiş fatura artık iptal edilebilir: iptal ucu o durumdaedocuments:writeyetkisini veIdempotency-Keybaşlığını ister. Bir uyarıyla: e-Fatura'da iptal karşı tarafın onayına bağlı olduğu için yalnız bir taleptir —200almanız belgenin GİB'de iptal olduğu anlamına gelmez, bkz. Satış faturaları.Tahsilat kaydı. Kesilen faturanın nakit veya havale tahsilatını kaydedebilir, düzeltebilir ve geri alabilirsiniz; firmanın kasa/banka hesaplarını da bu uçlardan listelersiniz. Bir tahsilat üç yere birden yazar — kasa/banka bakiyesine, faturaya ve cari hesaba — ve silindiğinde üçü de geri alınır. Bu uçlar kendi yetkisini taşır (
collections:read/collections:write),invoices:*değil: sebebi para. Ayrıntı, fazla tahsilat ve nakit sınırı kuralları için bkz. Tahsilat.Gider kaydı ve yaşam döngüsü. Tedarikçi faturası, elektrik faturası, kırtasiye alımı gibi giderleri oluşturabilir, güncelleyebilir, listeleyebilir; ardından kesebilir (gider tedarikçi borcuna girer) ve iptal edebilirsiniz (borçtan çıkar); arşivleyip geri de yükleyebilirsiniz. Gider kategorilerini de bu uçlardan listelersiniz.
POSTher zaman taslak üretir veDELETEarşivler, silmez — arşivlenen gider okunmaya devam eder. İki uyarıyla: gideri "mal alımı" olarak işaretlemek (expense_kind: goods_purchase) stok miktarını değiştirmez — envanteri artırmak için ayrıca stok hareketi yazmanız gerekir; ve kesim tek başına gideri "ödendi" yapmaz — durumissuedde kalır, kalanı kapatan bir ödeme kaydı gerekir. Bkz. Giderler.Gider ödemesi kaydı. Kesilmiş bir giderin nakit veya havale ödemesini kaydedebilir, düzeltebilir ve geri alabilirsiniz; kalanı aşan bir ödemenin fazlası tedarikçi carisine avans olarak yazılır. Bu uçlar kendi yetkisini taşır (
expense_payments:read/expense_payments:write),expenses:*değil — sebebi tahsilattakiyle aynı: kasadan para çıkar. Bkz. Gider ödemeleri.Teklif kaydı. Taslak teklif oluşturabilir, güncelleyebilir, listeleyebilir, arşivleyip geri yükleyebilirsiniz; kalemin bağlanabileceği hizmet kataloğunu da (
GET /v1/services) buradan listelersiniz.POSTher zaman taslak üretir ve teklifi onaya göndermek, onaylamak, reddetmek ya da faturaya dönüştürmek bu sürümde yoktur — bugün yalnız panelden yapılabilir;statusyine de okunur, siz tetikleyemeseniz de panelden ya da müşterinin kendi kararıyla ilerleyebilir.reserve_stockbayrağı stoğun ne zaman hareket edeceğini belirler (rezerve mi, doğrudan mı düşer); bu API'den yazılan bir teklif, bayrak ne olursa olsun, tek başına hiçbir stok hareketi üretmez — teklifler bu yüzden Stok'ta yalnızreservedalanı üzerinden görünür. Bkz. Teklifler.Gelen e-faturaları çekme, kabul/red, PDF/XML. GİB'in gelen kutusunu senkronlayıp yeni gider(ler) üretebilir; belirli koşulları sağlayan (e-Fatura + TİCARİ FATURA profili + daha önce yanıtlanmamış) faturalara GİB'e kabul/red uygulama yanıtı gönderebilir, PDF/XML indirebilir ve "işlendi" olarak işaretleyebilirsiniz. Bkz. Giderler → Gelen e-faturalar.
Kendi raporlarınız. Cari ve ürün verisini çekip kendi tarafınızda raporlayabilir, veri ambarınıza aktarabilirsiniz. Listelerin tamamı sayfalıdır ve son değişiklik zamanına göre artımlı çekilebilir — her seferinde her şeyi indirmeniz gerekmez.
API panelin yerini almaz; onun yanında çalışan, daha dar kapsamlı bir yüzeydir. Bir anahtar yalnız bağlı olduğu firmanın verisini görür ve yalnız kendisine verilen yetkiler kadarını yapabilir.
Taban adres
Panelin alan adından ayrıdır ve yalnız /v1/* altındaki uçları servis eder; başka bir yol 404 not_found döner.
Ayakta olduğunu doğrulamak için kimlik doğrulama gerekmez:
Hızlı başlangıç
1. API anahtarı oluşturun
Panelde Ayarlar → API Anahtarları sekmesinden yeni bir anahtar oluşturun. client_secret yalnız oluşturma anında bir kez gösterilir — o ekranı kapatmadan kaydedin.
2. Token alın
3. İsteklerinizi token ile gönderin
/v1/me anahtarın hangi firmaya bağlı olduğunu ve hangi yetkilere sahip olduğunu döner:
Token ömrü, yenileme ve IP kısıtlaması için bkz. Kimlik doğrulama.
Modüller
Stok kendi yetkisini taşır: ürün oluşturabilen bir anahtar, stock:write verilmedikçe stok hareketi yazamaz. Depo yönetimi de kendi yetkisini taşır (warehouses:*) — ne ürün ne stok yetkisi yeterlidir. Satış faturası da kendi yetkisini taşır (invoices:*); POST YALNIZ taslak üretir, durumu değiştiren her fiil (kesim/iptal/iade/arşiv) AYRI bir uçtur ve scope'un ÜZERİNE ayrı bir izin ister — bkz. Satış faturaları.
E-belge gönderimi de ayrı bir yetki çiftidir (edocuments:read / edocuments:write), invoices:* DEĞİL. Sebebi para: GİB'e belge göndermek firmanın e-belge kontörünü harcar. Stok senkronu yapsın diye invoices:write verdiğiniz bir anahtarın, siz istemeden firmanın e-belge kredisini harcayabilmesi doğru olmazdı. Bu yüzden anahtara e-belge yetkisini yalnız gerçekten belge göndermesini istediğinizde verin — durumu izlemek, PDF/XML indirmek için edocuments:read tek başına yeter.
Aynı gerekçe iptalde de geçerlidir: faturanın e-belgesi varsa POST /v1/sales-invoices/{id}/cancel de edocuments:write ister. E-belgesi olmayan faturada bu uç eskisi gibi yalnız invoices:write ile çalışır.
Tahsilat da ayrı bir yetki çiftidir (collections:read / collections:write), invoices:* DEĞİL. Sebebi yine para: bir tahsilat kaydı firmanın kasasına/bankasına para yazar ve müşterinin cari alacağını düşürür. Stok senkronu yapsın diye invoices:write verdiğiniz bir anahtarın firmanın kasasına hareket yazabilmesi doğru olmazdı. collections:read kasa/banka hesap listesini de kapsar — company_account_id olmadan tahsilat yapılamadığı için ikisi tek bir yetenektir.
Giderler de kendi yetki çiftini taşır (expenses:read / expenses:write). expenses:read gider kategorisi listesini de kapsar — expense_category_id gider dışında hiçbir yerde kullanılmadığı için ikisi tek bir yetenektir. Gideri kesmek, iptal etmek, arşivlemek ve arşivden geri yüklemek scope'un üzerine ayrı ayrı panel izni ister — yalnız kesme yetkisi verilmiş bir kullanıcı iptal edemez.
Gider ödemesi de ayrı bir yetki çiftidir (expense_payments:read / expense_payments:write), expenses:* DEĞİL — sebebi tahsilattakiyle aynı: bir ödeme kaydı kasadan/bankadan para çıkarır. Bkz. Gider ödemeleri.
Teklifler de kendi yetki çiftini taşır (quotes:read / quotes:write). Kalemin bağlanabileceği hizmet kataloğu (GET /v1/services) bu çiftin parçası DEĞİLDİR — kendi services:read scope'una sahiptir; hizmetler panelde kendi izin ailesine bağlıdır ve hem üründen hem tekliften tamamen ayrı bir modüldür. POST her zaman taslak üretir; teklifi onaya göndermek, onaylamak, reddetmek ve faturaya dönüştürmek bu sürümde yoktur (yukarıya bakın). Bkz. Teklifler.
Sürüm politikası
Taban yol sürüm taşır (/v1) ve şu sözü verir:
Yeni alan eklenebilir. Yanıtlara zamanla yeni alanlar eklenir; entegrasyonunuz tanımadığı alanları yok saymalıdır.
Alan kaldırılmaz, bir alanın anlamı değiştirilmez. Böyle bir değişiklik gerekirse yeni bir sürüm (
/v2) açılır ve/v1çalışmaya devam eder.
Son güncelleme
