Geliştirici Merkezi

TR

E-Fatura Modülü Geliştirme

GitHub üzerinde örnek kodları inceleyebilir ve indirebilirsiniz.

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

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.

Bir Sorunuz mu Var?

Bize yazmaktan çekinmeyin. En kısa sürede yanıt göndereceğiz.
Bize Ulaşın.
Copyright © 2024. All Rights Reserved.
Join Our Discord Channel
Top