Laravel için yazılmış Paraşüt V4 API paketi.
Dökümantasyon »
Demo
·
Buglar
·
İstekler
Bu proje, Laravel için oluşturulmuş kolayca Paraşüt V4 API ile bağlantı kurmanızı sağlayacak bir paket. Paraşüt API bilgilerinizi .env dosyasına girdikten sonra tekrar tekrar Auth işlemleri ile uğraşmadan kolayca istediğiniz fonksiyonu istediğiniz yerde çalıştırabilirsiniz.
Laravel için yazılmış hızlı ve basit bir Paraşüt API paketi neredeyse hiç bulunmuyor. OAuth2 işlemlerini otomatik olarak yapan, token süresi dolmuşsa otomatik olarak yeni token alan ve Controller içerisine sadece yapacağınız işlemi yazdıran sade bir pakete ihtiyaç duyuyorduk.
Bug ve Hataları lütfen Issues kısmından bildirin.
(Başa dön)
Paraşüt ile mutlaka iletişime geçip gerekli bilgilerinizi alın. Bu hem deneme hesabı hem de normal hesap için geçerlidir.
Laravel projenizde terminali açarak şu komutu çalıştırın;
composer require theposeidonas/laravel-parasut-api
Eğer gerekiyorsa config dosyasını paylaşmak için şu komutu çalıştırın;
php artisan vendor:publish --tag=parasut-config --force
Eğer Laravel versiyonunuz eskiyse veya Auto-Discovery kapalıysa, her yerde kullanmak için config/app.php dosyasında 'aliases' kısmına şu kodu ekleyin;
'Parasut' => Theposeidonas\LaravelParasutApi\Facades\Parasut::class,
Kullanım için projenize eklemeyi yaptıktan sonra, .env dosyası içerisinde şu satırları ekleyip düzeltmelisiniz;
PARASUT_USERNAME="demo@parasut.com" // Username
PARASUT_PASSWORD="XXXXXXXXX" // Password
PARASUT_COMPANY_ID="123123" // Company ID
PARASUT_CLIENT_ID="XXXXXXXXXXXXXXXXX" // Paraşüt Client ID
PARASUT_CLIENT_SECRET="XXXXXXXXXXXXXXXXX" // Paraşüt Client Secret
PARASUT_REDIRECT_URI="urn:ietf:wg:oauth:2.0:oob" // Paraşüt Redirect URI, değiştirmenize gerek yok
(Başa dön)
Kullanacağınız Controller içerisine paketi dahil etmeniz gerekiyor;
use Theposeidonas\LaravelParasutApi\Facades\Parasut;
Tüm ayarlamaları ve konfigürasyonlarınızı yaptıktan sonra kullanacağınız Controller içerisinde belirli sınıfları çağırabilirsiniz. Bu sınıflar şu şekilde;
/* Satışlar */
Parasut::Bill(); // Satış faturası https://apidocs.parasut.com/#tag/SalesInvoices
Parasut::Customer(); // Müşteri https://apidocs.parasut.com/#tag/Contacts
/* Giderler */
Parasut::Receipt(); // Fiş - Fatura https://apidocs.parasut.com/#tag/PurchaseBills
Parasut::Bank(); // Banka giderleri https://apidocs.parasut.com/#tag/BankFees
Parasut::Salary(); // Maaş giderleri https://apidocs.parasut.com/#tag/Salaries
Parasut::Tax(); // Vergi giderleri https://apidocs.parasut.com/#tag/Taxes
Parasut::Supplier(); // Tedarikçi https://apidocs.parasut.com/#tag/Contacts
Parasut::Employee(); // Çalışan https://apidocs.parasut.com/#tag/Employees
/* Resmileştirme */
Parasut::Inbox(); // E-Fatura Gelen Kutusu https://apidocs.parasut.com/#tag/EInvoiceInboxes
Parasut::EArchive(); // E-Arşiv https://apidocs.parasut.com/#tag/EArchives
Parasut::EBill(); // E-Fatura https://apidocs.parasut.com/#tag/EInvoices
Parasut::ESmm(); // E SMM https://apidocs.parasut.com/#tag/ESmms
/* Nakit */
Parasut::Account(); // Kasa ve Banka https://apidocs.parasut.com/#tag/Accounts
Parasut::Transaction(); // İşlem https://apidocs.parasut.com/#tag/Transactions
/* Stok */
Parasut::Product(); // Ürün https://apidocs.parasut.com/#tag/Products
Parasut::Warehouse(); // Depo https://apidocs.parasut.com/#tag/Warehouses
Parasut::Waybill(); // İrsaliye https://apidocs.parasut.com/#tag/ShipmentDocuments
Parasut::StockMovement(); // Stok Hareketi https://apidocs.parasut.com/#tag/StockMovements
/* Ayarlar */
Parasut::Category(); // Kategori https://apidocs.parasut.com/#tag/ItemCategories
Parasut::Tag(); // Etiket https://apidocs.parasut.com/#tag/Tags
Bunlar dışında kalan, ürünlerin stok seviyesini kontrol etmek için Parasut::Product()->inventory($id);
kullanmanız gerekir.
Paraşüt içindeki sınıfları kullanırken, https://apidocs.parasut.com sayfasında yer alan fonksiyonları kullanabilirsiniz.
Örneğin;
Müşteri index fonksiyonu için: Parasut::Customer()->index();
Müşteri create fonksiyonu için: Parasut::Customer()->create($data);
Müşteri show fonksiyonu için: Parasut::Customer()->show($id);
Müşteri edit fonksiyonu için: Parasut::Customer()->edit($id, $data);
şeklinde kullanabilirsiniz. Dökümanlarda gösterilen tüm fonksiyonlar mevcuttur.
Bir sınıfta create fonksiyonu için veri gönderirken, https://apidocs.parasut.com tarafında bahsedilen şekilde veri göndermelisiniz. Eğer gerekli parametreleri göndermezseniz hata alırsınız.
Ayrıca veriyi JSON olarak değil, Array olarak göndermeniz gereklidir. Paket kendisi JSON'a çevirerek gönderim yapacaktır.
Örnek Müşteri oluşturma;
$customer = [
'data'=>[
'type'=>'contacts',
'attributes'=>[
'email'=>'demo@parasut.com',
'name'=>'İsim Soyisim',
'contact_type'=>'person',
'tax_number'=>'11111111111',
'account_type'=>'customer'
]
]
];
$response = Parasut::Customer()->create($customer);
Eğer işlemleriniz başarılıysa size şöyle bir Array geri dönecektir;
Array
(
[success] => true // İşlem başarılı ise true
[error] => false // İşlem başarısız ise true
[body] => stdClass Object // Paraşüt dökümanlarında yazan response -> stdClass Object olarak
[status] => 200 // Response Status
)
Yani geri dönüş yapan işlemi şu şekilde sorgulayabilirsiniz;
if($response['success'])
{
// İşlem başarılı ise yapılacak şeyler
}
$customer = Parasut::Customer()->show($response['body']->data->id);
echo $customer['body']->data->attributes->name; // Oluşturulan müşterinin ismini görme
(Başa dön)
Eksikleri ve hataları Issues kısmından yazabilirsiniz.
- Fonksiyonlar dahil edildi
- Eksik diğer kısımlar eklendi. (Others)
- Staging fonksiyonları çıkartıldı.
- Fonksiyonların ekstra filtreleri dahil edilecek (Query Parameters)
30 Haziran 2024
- E-Fatura gelen kutusunda parametre olarak VKN eklendi.(safakocamanoglu'na teşekkürler.)
11 Mart 2024
- Others altındaki fonksiyonlar eklendi.
- ApiHome - TrackableJob - Webhook
- Config dosyasından staging çıkartıldı. (Artık kullanılmıyor)
- composer.json'a gereklilikler eklendi.
22 Ocak 2024
- Satış Faturasında unutulan pay() fonksiyonu eklendi.
20 Ocak 2024
- Initial Release
(Başa dön)
MIT Lisansı altında dağıtılmaktadır. Daha fazla bilgi için 'LICENSE' dosyasına bakın.
(Başa dön)
Baran Arda - @theposeidonas - info@baranarda.com
Proje Linki: https://github.com/theposeidonas/laravel-parasut-api
(Başa dön)