Skip to content

Latest commit

 

History

History
159 lines (117 loc) · 3.67 KB

DOCUMENTATION.md

File metadata and controls

159 lines (117 loc) · 3.67 KB

Documentation

Initialize the shipping provider and set your credentials.

// Ecotrack providers
$credentials = ['token' => '****'];

// Procolis providers ( ZREXPRESS )
$credentials = ['id' => '****', 'token' => '****'];

// Yalidine providers
$credentials = ['token' => '****', 'key' => '****'];

// Mayestro Delivery providers
$credentials = ['token' => '****'];


$shipping_provider = CourierDZ::provider(ShippingProvider::ZREXPRESS, $credentials);

// or 

$shipping_provider = new XyzProvider($credentials); // where Xyz is the provider name

Create a parcel ( order )

/*
 * return array of provider response
 * Note : results may vary depending on the provider
 */
 
$result = $shipping_provider->createOrder([
        'Tracking' => 'CourierDz-123',
        'TypeLivraison' => 1,
        'TypeColis' => 0,
        'Confrimee' => 0,
        'Client' => 'Mohamed',
        'MobileA' => '0990909090',
        'MobileB' => '0880808080',
        'Adresse' => 'Rue 39',
        'IDWilaya' => "09",
        'Commune' => 'Maraval',
        'Total' => "2000",
        'Note' => 'test test',
        'TProduit' => 'Article1',
        "id_Externe" => 'CourierDz-123',
        "Source" => 'CourierDz',
    ]))

To know the required fields for the order creation depend on the provider requirements, use

$rules = $shipping_provider->getCreateOrderValidationRules();

Retrieving a label ( order )

/*
 * return array of label data ( base64 encoded string or url )
 */
 
$label = $shipping_provider->orderLabel('CourierDz-123');

Output :

[
    [type] => 'pdf'
    [data] => 'base64 encoded string'
]
         -- OR --
[     
    [type] => 'url'
    [url] => 'https://example.com/label.pdf'
]

List Available Providers

use CourierDZ\CourierDZ;
    
$providersMetaData = CourierDZ::providers();

Output :

image

Get Create Parcel ( Order ) Validation Rules

$rules = $shipping_provider->getCreateOrderValidationRules();

Output :

image

Get Shipping Provider Metadata

$metadata = $shipping_provider->metadata();

Output :

image

Validate Credentials

/*
 * Check if the provided credentials are valid.
 * 
 * return bool
 */

echo $shipping_provider->testCredentials() ? 'Valid.' : 'Invalid.';

Get Rates

/*
 * return array of rates of shipping from one wilaya to another 
 * or all rates depending on the parameters / provider api.
 */
 
$rates = $shipping_provider->getRates();  // all rates

$rates = $shipping_provider->getRates(null , $to_wilaya_id); // rates to specific wilaya
        
$rates = $shipping_provider->getRates($from_wilaya_id , $to_wilaya_id); // Yalidine require $from_wilaya_id , $to_wilaya_id

Get Parcel ( Order ) Details

/*
 * return array of order details 
 * Note : results may vary depending on the provider
 */
 
$result = $shippingService->getOrder('CourierDz-123');
`