banksocket web hook erp entegrasonu

Merhaba arkadaşlar;

Yine bir örnek proje ile karşınızdayım.

manikod ekibin’den Can bey ile görüştüm. Banksocket diye bir çalışma yapmışlar.

Bence çok başarılı bir arge çalışması olmuş. İncelemek için https://banksocket.com/ adresine girebilirsiniz.

Kendilerinden rica ettim ve bana bir test hesabı verdiler.

Bu test hesabındaki web hook’u kullanıp yazdığım kodları bu dökümanda anlatacağım.

Dokuzsistem adında yeni bir webhook tanımladıktan sonra;

Çok basit mantıkta bir php sayfası hazırladım.

Kendi web sunucuma dosyaları ekledim. Dosyalardan bir kaçının kodlarını burada anlatacağım birazdan.

Böyle bir yöntem ile banksocket’e bağlı olan hesabınızda yeni bir banka hareketi varmış gibi request göndermek isterseniz, test et butonuna basarak kendi sayfanıza post javascript yapabilirsiniz.

Veritabanıma 2 adet tablo oluşturdum. Bir tanesi gelen hook’taki değerleri satır satır bir tabloyaya yazmaya çalışmıştım önce.

O tablo’daki değerler aslında gelen hareketin detayındaki hareketler.

Aynı değerlerin kolonlara yayılmış halini de ayrıca bir tablo yaparak hareket tablosu haline getirdim.

Post edilecek olan php sayfamıza yazmamız gerekenler şu şekildedir.

<?php include_once('./classes_include.php'); ?>
<?php
$post = $_POST;
$dba = new dbClass();
$dba->connect();
if ($post)
foreach ($_POST as $param_name => $param_val) {
$deger = $deger . "Param: $param_name; Value: $param_val<br />\n";
if ($param_name =="id"){
$hareketid = $param_val;
}
if ($param_name =="dc"){
$dc = $param_val;
}
if ($param_name =="code"){
$code = $param_val;
}
if ($param_name =="amount"){
$amount = $param_val;
}
if ($param_name =="balance"){
$balance = $param_val;
}
if ($param_name =="currency"){
$currency = $param_val;
}
if ($param_name =="description"){
$description = $param_val;
}
if ($param_name =="account_id"){
$account_id = $param_val;
}
if ($param_name =="account"){
$account = $param_val;
}
if ($param_name =="bank"){
$bank = $param_val;
}


}
$sql = $dba->query("insert into bankahareket(hareketid,dc,code,amount,balance,currency,description,account_id,account,bank) values($hareketid,'$dc','$code',$amount,$balance,'$currency','$description','$account_id','$account','$bank');");
$sonuc = $dba->insert_id($sql);
$socket = new Socket();
$socket->MailGonder($deger,"1");
?>

Üst kısımdaki classes_include içinde de;

<?php
header('Content-Type: text/html; charset=utf-8');
error_reporting(E_ALL ^ E_NOTICE);
ob_start();
session_start();
//echo session_id();
extract($_GET);
extract($_POST);
ob_flush();
include_once("lib/ayar.php");
include_once("lib/libx.php");
include_once("s_cls/cls_forms.php");
include_once("s_cls/dbclass.php");
include_once("s_cls/sessions.php");
include_once("s_cls/cls_giris.php");
include_once("s_cls/cls_kullanicilar.php");
include_once("cls.php");
?>

Bunlar yazmaktadır.

Sonuç olarak ben şimdilik bu gelen banka hareketlerini anlamlı bir biçimde veri tabanıma kaydettikten sonra belirlemiş olduğum kullanıcılara eposta göndererek örnek dökümanımı sonlandırıyorum.

Tabii bu projenin gerçek halinde bir çok iş mevcut, Örneğin bu kayıtların yetkili kullanıcılara yetki bazında ayırıp mail atmak, Ayrıca raporlanabilir bir ekran ve adını burada belirtmek istemediğim bir ticari erp yazılımına aktarmak.

Dolayısıyla, asıl erp sistemine aktarmak için bile bu proje yapılabilir, ve banka hareketlerinizi, cari ödemeleri, gelen ve giden havaleleri sadece banka üzerinden yaptıktan sonra ticari yazılımına otomatik olarak işlenmesiyle ilgili nasıl yapacağınızı ve daha neler yapabileceğinizin hayal gücünüzü bu yazdığım kodları baz alarak genişletebilirsiniz.

Umarım bakış açınızı genişleten bir yapı kurgulamışımdır.

İyi çalışmalar..

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store