Dipu Dey 17th Oct 2022

Ecourier is a Bangladeshi courier/logistic company for reliable Delivery Business. This is a Laravel/PHP package for Ecourier. This package can be used in laravel or without laravel/php projects. We created this package while working for a project and thought to made it release for all so that it helps. In this blog, I explain how you can easily use Ecourier API by using laravel/PHP.

Ecourier – Laravel/PHP Package source code available via github and released via Packagist as regular regular php composer package.

Requirements

  • PHP >=7.4
  • Laravel >= 6

Installation

<code class="language-php">
composer require codeboxr/ecourier-courier
</code>

vendor publish (config)

<code class="language-php">
php artisan vendor:publish --provider="Codeboxr\\EcourierCourier\\EcourierServiceProvider"
</code>

After publish config file setup your credential. you can see this in your config directory ecourier.php file

<code class="language-php">
return [
    "sandbox"    => env("ECOURIER_SANDBOX", false), // for sandbox mode use true
    "app_key"    => env("ECOURIER_API_KEY", ""),
    "app_secret" => env("ECOURIER_API_SECRET", ""),
    "user_id"    => env("ECOURIER_USER_ID", "")
];
</code>

Set .env configuration

<code class="language-php">
ECOURIER_SANDBOX=true // for production mode use false
ECOURIER_API_KEY=""
ECOURIER_API_SECRET=""
ECOURIER_USER_ID=""
</code>

Usage

1. Get Ecourier delivery city list
<code class="language-php">
use Codeboxr\EcourierCourier\Facade\Ecourier;

return Ecourier::area()->city();
</code>
2. Get Ecourier delivery thana/upzilla list
<code class="language-php">
use Codeboxr\EcourierCourier\Facade\Ecourier;

return Ecourier::area()->thana($cityName);
</code>
3. Get Ecourier delivery postcode list
<code class="language-php">
use Codeboxr\EcourierCourier\Facade\Ecourier;

return Ecourier::area()->postcode($cityName,$thanaName);
</code>
4. Get Ecourier delivery postcode area list
<code class="language-php">
use Codeboxr\EcourierCourier\Facade\Ecourier;

return Ecourier::area()->areaList($postcode);
</code>
5. Get ecourier branch list
<code class="language-php">
use Codeboxr\EcourierCourier\Facade\Ecourier;

return Ecourier::area()->branch();
</code>
6. Delivery package list
<code class="language-php">
use Codeboxr\EcourierCourier\Facade\Ecourier;

return Ecourier::order()->packageList();
</code>
7. Create Parcel
<code class="language-php">
use Codeboxr\EcourierCourier\Facade\Ecourier;

return Ecourier::order()->create([
    "ep_name"              => "", // eCommerce Partner (EP) Name
    "pick_contact_person"  => "", // Contact Person of provided ep
    "pick_district"        => "", // Pickup district name
    "pick_thana"           => "", // Pickup thana name
    "pick_hub"             => "", // Pickup branch id 
    "pick_union"           => "", // Pickup union 
    "pick_address"         => "", // Pickup address
    "pick_mobile"          => "", // Pickup person contact number
    "recipient_name"       => "", // Parcel receiver’s name
    "recipient_mobile"     => "", // Parcel receiver’s mobile number
    "recipient_district"   => "", // Parcel receiver’s district name
    "recipient_city"       => "", // Parcel receiver’s city name
    "recipient_area"       => "", // Parcel receiver’s area name
    "recipient_thana"      => "", // Parcel receiver’s thana name
    "recipient_union"      => "", // Parcel receiver’s union name
    "package_code"         => "", // Package code find in package API
    "recipient_address"    => "", // Parcel receiver’s full address
    "parcel_detail"        => "", // Parcel product or documents details
    "number_of_item"       => "", // Total quantity
    "product_price"        => "", // Receive amount from parcel receiver’s
    "payment_method"       => "", // Cash On Delivery – COD,Point of Sale – POS, Mobile Payment – MPAY, Card Payment – CCRD
    "ep_id"                => "", // Invoice Id 
    "actual_product_price" => "" // Parcel product actual price
]);
</code>
8. Parcel tracking
<code class="language-php">
use Codeboxr\EcourierCourier\Facade\Ecourier;

return Ecourier::order()->tracking($trackingId); //$trackingId find when create parcel they give you ID
</code>

Contributing

Contributions to the Ecourier package are welcome. Please note the following guidelines before submitting your pull request.

  • Follow PSR-4 coding standards.
  • Read Ecourier API documentations first

License

Ecoureir package is licensed under the MIT License.
Copyright 2022 Codeboxr