lexik/colissimo-bundle

This bundle provides a wrapper for the lexik/ws-colissimo library

Maintainers

👁 jeremyb

Package info

github.com/lexik/LexikColissimoBundle

Homepage

Type:symfony-bundle

pkg:composer/lexik/colissimo-bundle

Statistics

Installs: 137

Dependents: 0

Suggesters: 0

Stars: 17

Open Issues: 0

v1.0.0 2014-03-22 09:25 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT c8aa9c1f2e46611c1c67d3fa7c6cb26f5881c99a

  • Dev Lexik <dev.woop@lexik.fr>
  • Nicolas Cabot <n.cabot.woop@lexik.fr>

Symfony2bundlecolissimo

This package is not auto-updated.

Last update: 2026-06-17 20:20:21 UTC


README

This bundle provides services to access and consume the WSColiPosteLetterService using the Lexik WSColissimo library.

👁 Project Status

👁 SensioLabsInsight

This bundle is deprecated

WSColiPosteLetterService

Use the WSColiPosteLetterService to generate shipping labels for Colissimo Parcels.

Installation

Download using composer

Add the bundle to your composer.json :

{
 "require": {
 "lexik/colissimo-bundle": "dev-master"
 }
}

Download it by running the command :

php composer.phar update lexik/colissimo-bundle

Enable the bundle

Enable the bundle in your app/AppKernel.php :

public function registerBundles()
{
 $bundles = array(
 // ...
 new Lexik\Bundle\ColissimoBundle\LexikColissimoBundle(),
 );
}

Configuration

Below is a minimal example of the configuration necessary to use the LexikColissimoBundle in your application:

lexik_colissimo:
 ws_coliposte_letter_service:
 contract_number: 123456 # mandatory
 password: 'abcdef' # mandatory
 service_call_context:
 commercial_name: 'ACME COMPANY'
 sender: # you can overwrite this part from your code
 company_name: 'ACME COMPANY'
 line_0: null 
 line_1: null
 line_2: 'Place de la Comedie'
 line_3: null
 postal_code: '34000'
 city: 'Montpellier'

Usage

Get the service from the container, call the getLabel method with your parcel and recipient informations as arguments :

// use Lexik\Bundle\ColissimoBundle\Exception\InvalidRequestException;
// use Lexik\Bundle\ColissimoBundle\Exception\FailedRequestException;

$colissimo = $this->container->get('lexik_colissimo.ws_coliposte_letter_service.service');

try {

 $response = $colissimo->getLabel(
 array('weight' => 1.780),
 array(
 'name' => 'Client Name',
 'surname' => 'Client Surname',
 'email' => 'client@email.com',
 'line2' => 'Client Address',
 'city' => 'Client City',
 'postalCode' => 'Client Postal Code'
 )
	// you can overwrite the sender configured in you app/config.yml by passing an array as 3rd argument
	// you can disable validation by setting the 4th argument to false
 );
 
 // $response looks like this
 object(WSColissimo\WSColiPosteLetterService\Response\ValueObject\ReturnLetter)[1102]
 protected 'file' => null
 protected 'parcelNumber' => string '13xc1v654d123' (length=13)
 protected 'PdfUrl' => string 'https://ws.colissimo.fr/path/to/pdf-file' (length=40)
 protected 'errorID' => int 0
 protected 'error' => string '' (length=0)
 protected 'signature' => null
 protected 'dateCreation' => null

} catch (InvalidRequestException $e) {
 // validation problems : you can iterate over errors with $e->getViolations()
} catch (FailedRequestException $e) {
 // webservice returned an error : you can get the error message with $e->getMessage()
}