checkWebServiceStatus(); // print_r($status); // try { // $result = $colissimo->get($colissimo_id); // echo 'Attention ! Colissimo domicile non encore en place'; // // echo 'colissimo :
'.print_r($result). ''; // // json_decode($result); // } catch (\Hedii\ColissimoApi\ColissimoApiException $e) { // echo 'erreur API colissimo'; // } require 'vendor/autoload.php'; use DansMaCulotte\Colissimo\Colissimo; use DansMaCulotte\Colissimo\Exceptions\ColissimoException; use Carbon\Carbon; // Configuration des identifiants Colissimo define('COLISSIMO_LOGIN', $colissimo_id); // Remplacez par votre accountNumber define('COLISSIMO_PASSWORD', 'votre_mot_de_passe'); // Remplacez par votre password // Initialisation du client Colissimo $colissimo = new Colissimo([ 'accountNumber' => COLISSIMO_LOGIN, 'password' => COLISSIMO_PASSWORD, ]); try { // Étape 1 : Vérifier le statut du service (informations de compte) $status = $colissimo->checkWebServiceStatus(); echo "Statut du service Colissimo : " . ($status ? "OK" : "Indisponible") . "\n"; if (!$status) { die("Le service Colissimo est indisponible. "); } // Étape 2 : Préparer les données pour une livraison à domicile $sender = [ 'companyName' => 'Ma Société', 'lastName' => 'Dupont', 'firstName' => 'Jean', 'line2' => '10 Rue Exemple', 'zipCode' => '75001', 'city' => 'Paris', 'countryCode' => 'FR', 'email' => 'jean.dupont@example.com', 'phoneNumber' => '0102030405', ]; $receiver = [ 'companyName' => 'Client SARL', // Optionnel 'lastName' => 'Martin', 'firstName' => 'Sophie', 'line2' => '25 Avenue Test', 'zipCode' => '69001', 'city' => 'Lyon', 'countryCode' => 'FR', 'email' => 'sophie.martin@example.com', 'phoneNumber' => '0607080910', ]; $parcel = [ 'weight' => 1.5, // Poids en kg ]; $service = [ 'productCode' => 'DOM', // Code pour livraison à domicile sans signature (DOM pour France) 'depositDate' => Carbon::now()->format('Y-m-d'), // Date de dépôt (aujourd'hui) 'orderNumber' => 'CMD123456', // Numéro de commande interne (optionnel) 'commercialName' => 'Ma Boutique', ]; $outputFormat = [ 'x' => 0, 'y' => 0, 'outputFormat' => 'PDF', // Format de l'étiquette (PDF ou ZPL) 'includeReturnLabel' => false, // Inclure une étiquette retour si nécessaire ]; // Étape 3 : Générer l'étiquette de livraison à domicile $labelResponse = $colissimo->generateLabel( $sender, $receiver, $parcel, $service, $outputFormat ); // Étape 4 : Récupérer et sauvegarder l'étiquette if (isset($labelResponse['label'])) { $labelContent = $labelResponse['label']; // Contenu binaire de l'étiquette (PDF) $trackingNumber = $labelResponse['parcelNumber']; // Numéro de suivi // Sauvegarder l'étiquette dans un fichier file_put_contents("etiquette_colissimo_$trackingNumber.pdf", $labelContent); echo "Étiquette générée avec succès ! Numéro de suivi : $trackingNumber\n"; echo "Fichier sauvegardé : etiquette_colissimo_$trackingNumber.pdf\n"; } else { echo "Erreur lors de la génération de l'étiquette.\n"; print_r($labelResponse); } } catch (ColissimoException $e) { // Gestion des erreurs spécifiques à l'API Colissimo echo "Erreur Colissimo : " . $e->getMessage() . "\n"; } catch (Exception $e) { // Gestion des autres erreurs echo "Erreur générale : " . $e->getMessage() . "\n"; } ?>