furkanmeclis/surat-kargo

Sürat Kargo SOAP Laravel Client - WSDL generated classes with retry & log middleware

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/furkanmeclis/surat-kargo

v0.1 2026-01-22 11:38 UTC

This package is auto-updated.

Last update: 2026-01-22 11:40:29 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

Laravel package for Sürat Kargo SOAP service. Includes WSDL-generated PHP classes and retry & log middleware.

Installation

composer require furkanmeclis/surat-kargo

Configuration

Publish the config file:

php artisan vendor:publish --tag=suratkargo-config

Add to your .env file:

SURATKARGO_WSDL=https://webservices.suratkargo.com.tr/services.asmx?wsdl
SURATKARGO_USERNAME=your_username
SURATKARGO_PASSWORD=your_password
SURATKARGO_TIMEOUT=30
SURATKARGO_RETRY_COUNT=3
SURATKARGO_LOG_ENABLED=true
SURATKARGO_ENVIRONMENT=prod

Usage

Using Facade

use FurkanMeclis\SuratKargo\Facades\SuratKargo;
use FurkanMeclis\SuratKargo\Data\Barkod;

// Use WSDL-generated classes
$request = new Barkod();
$request->setBarkod('1234567890');

$response = SuratKargo::call('Barkod', [$request]);

// Or direct method call
$response = SuratKargo->Barkod([$request]);

Using Dependency Injection

use FurkanMeclis\SuratKargo\Client\SuratKargoClient;

class YourController
{
    public function __construct(
        protected SuratKargoClient $suratKargo
    ) {}
    
    public function track()
    {
        $request = new \FurkanMeclis\SuratKargo\Data\TakipNo();
        $request->setTakipNo('1234567890');
        
        $response = $this->suratKargo->call('TakipNo', [$request]);
    }
}

Direct Generated Services Usage

use FurkanMeclis\SuratKargo\Client\SuratKargoClient;

$client = app('suratkargo')->getClient();

// Use Generated Services class methods directly
$response = $client->Barkod([$request]);

Features

  • ✅ 542+ WSDL-generated PHP classes
  • ✅ Automatic retry mechanism (3 attempts: 500ms, 1000ms, 2000ms)
  • ✅ Request/Response XML logging (storage/logs/suratkargo.log)
  • ✅ Middleware chain (Retry → Log → SOAP)
  • ✅ Laravel Service Provider and Facade support
  • ✅ Easy configuration via config file

Logging

Logs are written to storage/logs/suratkargo.log:

[2024-01-22 14:30:00] Method: Barkod | Duration: 250ms | Error: none
Request XML:
<?xml version="1.0"?>
...
Response XML:
<?xml version="1.0"?>
...

License

MIT