E-Fatura Modülü Geliştirme
Bu belgede, "KANCALAR (HOOKS)" yapısı ile servis sağlayıcı üzerinde fatura oluşturulması, güncellenmesi ve senkronizasyon gibi işlemlerin nasıl yapılabileceği anlatılmaktadır.
Bu belge sayesinde e-fatura servis sağlayıcı entegrasyonu için kolaylıkla eklenti modülü geliştirebilirsiniz.
Örnek kodları gitHub.com üzerinden görüntüleyebilirsiniz.
İçerik Haritası
- Entegrasyona Başlarken
- Kanca Tanımlamak
- Oluşturulan Faturayı Yakalamak
- Düzenlenen Faturayı Yakalamak
- Silinen Faturayı Yakalamak
- "İptal" Durumundaki Faturayı Yakalamak
- "İade" Durumundaki Faturayı Yakalamak
- "Ödenmedi" Durumundaki Faturayı Yakalamak
- "Ödendi" Durumundaki Faturayı Yakalamak
- "Resmileştirildi" Durumundaki Faturayı Yakalamak
- Cronjob Tanımlamak
- Faturaya Belge Tanımlamak
Entegrasyona Başlarken
Entegrasyonu oluşturmak için öncelikle "EKLENTİ" modül yapısını referans almalı ve "EKLENTİ" modülü üzerinden geliştirme çalışmalarını yürütmelisiniz. Eklenti modülü geliştirme dokümanına buradan ulaşabilirsiniz.
Faturaya uygulanan eylemler "KANCALAR (HOOKS)" yardımıyla yakalanmaktadır. Aşağıda KANCALAR hakkında detaylı açıklama ve talimatlar verilmiştir.
Kanca Tanımlamak
Kanca tanımlamak için modül sınıf dosyanızın en alt satırına aşağıdaki talimatlarda iletilen örnek kanca kodlarını ekleyerek yakalama eylemini başlatabilirsiniz.
Önemli Hatırlatma: Kancaların çalışabilmesi için eklenti modül durumunun "aktif" olduğundan emin olunuz.
Kancaya iletilen parametre dizisinde hangi veriler olduğuna buradan bakabilirsiniz.
Örneklerde gösterilen "$items" değişkenindeki parametreleri öğrenmek için, veritabanından "invoices_items" tablosuna göz atabilirsiniz.
Oluşturulan Faturayı Yakalamak
Sistemde bir fatura oluşturulduğunda aşağıdaki yöntem ile yakalayabilirsiniz.
Hook::add("InvoiceCreated",1,function($invoice = []){
$items = Invoices::get_items($invoice["id"]); // database: invoices_items
// You can send the data obtained from the $invoice and $items variables to your API provider.
});
Düzenlenen Faturayı Yakalamak
Sistemde bir faturanın kalemi veya ayrıntıları düzenlendikten sonra aşağıdaki yöntem ile faturayı yakalayabilirsiniz.
Hook::add("InvoiceModified",1,function($invoice = []){
$items = Invoices::get_items($invoice["id"]); // database: invoices_items
// You can send the data obtained from the $invoice and $items variables to your API provider.
});
Silinen Faturayı Yakalamak
Sistemde bir fatura silindikten sonra aşağıdaki yöntem ile faturayı yakalayabilirsiniz.
Hook::add("InvoiceDeleted",1,function($invoice = []){
// You can send the data obtained from the $invoice variables to your API provider.
});
"İptal" Durumundaki Faturayı Yakalamak
Bir faturanın durumu "İptal" olarak işaretlendiğinde aşağıdaki yöntem ile yakalayabilirsiniz.
Hook::add("InvoiceCancelled",1,function($invoice = []){
$items = Invoices::get_items($invoice["id"]); // database: invoices_items
// You can send the data obtained from the $invoice and $items variables to your API provider.
});
"İade" Durumundaki Faturayı Yakalamak
Bir faturanın durumu "İade" olarak işaretlendiğinde aşağıdaki yöntem ile yakalayabilirsiniz.
Hook::add("InvoiceRefunded",1,function($invoice = []){
$items = Invoices::get_items($invoice["id"]); // database: invoices_items
// You can send the data obtained from the $invoice and $items variables to your API provider.
});
"Ödenmedi" Durumundaki Faturayı Yakalamak
Bir faturanın durumu "Ödenmedi" olarak işaretlendiğinde aşağıdaki yöntem ile yakalayabilirsiniz.
Hook::add("InvoiceUnpaid",1,function($invoice = []){
$items = Invoices::get_items($invoice["id"]); // database: invoices_items
// You can send the data obtained from the $invoice and $items variables to your API provider.
});
"Ödendi" Durumundaki Faturayı Yakalamak
Bir faturanın durumu "Ödendi" olarak işaretlendiğinde aşağıdaki yöntem ile yakalayabilirsiniz.
Hook::add("InvoicePaid",1,function($invoice = []){
$items = Invoices::get_items($invoice["id"]); // database: invoices_items
// You can send the data obtained from the $invoice and $items variables to your API provider.
});
"Resmileştirildi" Durumundaki Faturayı Yakalamak
Bir faturanın durumu "Resmileştirildi" olarak işaretlendiğinde aşağıdaki yöntem ile yakalayabilirsiniz.
Hook::add("InvoiceFormalized",1,function($invoice = []){
$items = Invoices::get_items($invoice["id"]); // database: invoices_items
// You can send the data obtained from the $invoice and $items variables to your API provider.
});
Cronjob Tanımlamak
Cronjob aracılığı bir faturayı resmileştirmek veya faturaya resmi belge/evrak (PDF) tanımlamak için aşağıdaki kancayı kullanabilirsiniz.
Hook::add("PerMinuteCronJob",1,function(){
// Enter your code here....
});
Faturaya Belge Tanımlamak
Bir faturaya belge/evrak (PDF) tanımlamak için, GitHub reposu üzerinde sınıf dosyasındaki "cronjob_define_doc_file" işlevini bulunuz ve içerisindeki örnek kodları kullanınız.