redaced / laravel-baazv2
Laravel package for connecting to BaazV2 API
v1.0.1
2025-04-28 01:05 UTC
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.0
- illuminate/http: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.0|^10.0|^11.0
README
BaazV2 API-тай холбогдох Laravel пакет. Энэ пакетийн тусламжтай Laravel аппликейшнаас BaazV2 системтэй хялбархан холбогдох боломжтой.
Суулгах
Composer ашиглан суулгах:
composer require redaced/laravel-baazv2
Тохиргоо
Laravel 5.5+ хувилбарт энэ пакет автоматаар бүртгэгдэнэ. Хэрэв та 5.5-с доош хувилбар ашиглаж байгаа бол дараах service provider-г config/app.php
файлд нэмнэ:
'providers' => [ // ... redaced\LaravelBaazV2\BaazV2ServiceProvider::class, ]; 'aliases' => [ // ... 'BaazV2' => redaced\LaravelBaazV2\Facades\BaazV2::class, ];
Тохиргооны файлыг хуулах:
php artisan vendor:publish --provider="redaced\LaravelBaazV2\BaazV2ServiceProvider" --tag="config"
.env
файлдаа BaazV2 API түлхүүрээ тохируулна:
BAAZV2_API_KEY=таны-api-түлхүүр
BAAZV2_BASE_URL=https://apistg.baaz.mn
Ашиглах
Дансуудтай ажиллах
// Дансны жагсаалт авах $accounts = BaazV2::accounts()->list([ 'type' => 'ASSET', 'is_parent' => true, ]); // Дансны төрлөөр жагсаалт авах $assetAccounts = BaazV2::accounts()->listByType('ASSET', true); // Эцэг дансны дэд дансуудыг авах $childAccounts = BaazV2::accounts()->listChildren(1); // Шинэ данс үүсгэх $newAccount = BaazV2::accounts()->create([ 'custom_code' => '1100', 'name' => 'Шинэ данс', 'is_parent' => false, 'is_active' => true, 'type' => 'ASSET' ]); // Данс засах $updatedAccount = BaazV2::accounts()->update(1, [ 'name' => 'Шинэчилсэн данс', 'is_active' => false, ]); // Дансны дэлгэрэнгүй мэдээлэл авах $accountDetails = BaazV2::accounts()->getById(1); // Данс устгах $deletedAccount = BaazV2::accounts()->delete(1);
Харилцагчтай ажиллах
// Харилцагчийн жагсаалт авах $customers = BaazV2::customers()->list([ 'name_code' => 'Тест', 'is_active' => true, ]); // Харилцагч нэмэх $newCustomer = BaazV2::customers()->create([ 'customer_category' => '550e8400-e29b-41d4-a716-446655440001', 'name' => 'Шинэ ХХК', 'code' => 'NEW123', 'register_no' => '1234567', 'is_taxable' => true, 'is_person' => false, 'is_active' => true, 'is_supplier' => true, 'is_customer' => true, ]); // Харилцагч засах $updatedCustomer = BaazV2::customers()->update('550e8400-e29b-41d4-a716-446655440000', [ 'name' => 'Шинэчилсэн нэр ХХК', 'is_active' => false, ]); // Харилцагч устгах $deletedCustomer = BaazV2::customers()->delete('550e8400-e29b-41d4-a716-446655440000');
Гүйлгээтэй ажиллах
// Борлуулалтын жагсаалт авах $sales = BaazV2::transactions()->getSales([ 'invoice_date_from' => '2024-01-01', 'invoice_date_to' => '2024-12-31', ]); // Борлуулалт үүсгэх $sale = BaazV2::transactions()->createSale( [ 'brc' => 'BRC001', 'reference' => 'REF001', 'check_qty' => true, 'is_draft' => false, 'is_order' => false, 'name' => 'SALE-0001', 'date' => '2024-03-20', 'payment_date' => '2024-03-20', 'customer_id' => '550e8400-e29b-41d4-a716-446655440000', 'customer_name' => 'Харилцагч 1', 'customer_code' => 'CUST001', 'contract_number' => 'CNT001', 'origin' => 'POS', 'description' => 'Борлуулалтын тайлбар', 'status' => 'draft', 'location_id' => '550e8400-e29b-41d4-a716-446655440001', 'location_name' => 'Төв агуулах', 'lines' => [ [ 'item_id' => '550e8400-e29b-41d4-a716-446655440002', 'uom_id' => '550e8400-e29b-41d4-a716-446655440003', 'qty' => 2, 'price_unit' => 10000, 'amount' => 20000, 'description' => 'Бараа 1' ], [ 'item_id' => '550e8400-e29b-41d4-a716-446655440004', 'uom_id' => '550e8400-e29b-41d4-a716-446655440003', 'qty' => 1, 'price_unit' => 15000, 'amount' => 15000, 'description' => 'Бараа 2' ] ] ], [] // Энэ параметр ашиглагдахгүй боловч функцийн заалтаас хамаарч хэвээр үлдээв ); // Худалдан авалтын жагсаалт авах $purchases = BaazV2::transactions()->getPurchases([ 'invoice_date_from' => '2024-01-01', 'invoice_date_to' => '2024-12-31', ]); // Худалдан авалт үүсгэх $purchase = BaazV2::transactions()->createPurchase( [ 'brc' => 'BRC001', 'reference' => 'REF001', 'check_qty' => true, 'is_draft' => false, 'name' => 'PURCHASE-0001', 'date' => '2024-03-20', 'payment_date' => '2024-03-20', 'customer_id' => '550e8400-e29b-41d4-a716-446655440000', 'customer_name' => 'Нийлүүлэгч 1', 'customer_code' => 'SUPP001', 'contract_number' => 'CNT001', 'description' => 'Худалдан авалтын тайлбар', 'status' => 'draft', 'location_id' => '550e8400-e29b-41d4-a716-446655440001', 'location_name' => 'Төв агуулах', 'lines' => [ [ 'item_id' => '550e8400-e29b-41d4-a716-446655440002', 'uom_id' => '550e8400-e29b-41d4-a716-446655440003', 'qty' => 5, 'price_unit' => 8000, 'amount' => 40000, 'description' => 'Бараа 1' ] ] ], [] // Энэ параметр ашиглагдахгүй боловч функцийн заалтаас хамаарч хэвээр үлдээв );
Хаягуудтай ажиллах
// Хаягийн жагсаалт авах $addresses = BaazV2::addresses()->list([ 'region' => 'Улаанбаатар', ]); // Шинэ хаяг үүсгэх $newAddress = BaazV2::addresses()->create([ 'owner_id' => '550e8400-e29b-41d4-a716-446655440000', 'owner_type' => 'customer', 'address_type' => 'billing', 'country' => 'Монгол', 'region' => 'Улаанбаатар', 'district' => 'Баянзүрх', 'street' => '10-р хороо', 'address_line' => '202 тоот', 'is_default' => true, ]); // Хаяг засах $updatedAddress = BaazV2::addresses()->update('550e8400-e29b-41d4-a716-446655440002', [ 'region' => 'Дархан-Уул', 'district' => 'Дархан сум', ]); // Хаяг устгах $deletedAddress = BaazV2::addresses()->delete('550e8400-e29b-41d4-a716-446655440002');
Шууд API хүсэлт
Хэрэв танд дээрх интерфейсүүдэд байхгүй API хүсэлт шаардлагатай бол, шууд BaazV2 клиентийг ашиглах боломжтой:
// GET хүсэлт $response = BaazV2::get('/b10/some_endpoint', [ 'param1' => 'value1', 'param2' => 'value2', ]); // POST хүсэлт $response = BaazV2::post('/b10/some_endpoint', [ 'data1' => 'value1', 'data2' => 'value2', ]); // DELETE хүсэлт $response = BaazV2::delete('/b10/some_endpoint/uuid');
Тестийг ажиллуулах
vendor/bin/phpunit
Лиценз
MIT