128 lines
4.5 KiB
PHP
Executable File
128 lines
4.5 KiB
PHP
Executable File
<?php
|
||
$nomFicAppelant = basename(__FILE__);
|
||
// Vous avez besoin d’un accountNumber et d’un password fournis par Colissimo Entreprise (inscription sur colissimo.entreprise.laposte.fr).
|
||
// Ces identifiants sont nécessaires pour authentifier les appels à l’API.
|
||
// Dépendances supplémentaires :
|
||
// La bibliothèque utilise carbon pour la gestion des dates. Assurez-vous qu’elle est installée via Composer (composer require nesbot/carbon).
|
||
|
||
// require 'vendor/autoload.php';
|
||
|
||
// use DansMaCulotte\Colissimo\Colissimo;
|
||
|
||
$colissimo_id='6H002911xxxxx';
|
||
$colissimo_id='9L27129283299';
|
||
|
||
// $colissimo = new Colissimo();
|
||
// $status = $colissimo->checkWebServiceStatus();
|
||
// print_r($status);
|
||
|
||
// try {
|
||
// $result = $colissimo->get($colissimo_id);
|
||
// echo '<b>Attention ! Colissimo domicile non encore en place</b>';
|
||
// // echo 'colissimo : <pre>'.print_r($result). '</pre>';
|
||
// // 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";
|
||
}
|
||
|
||
|
||
?>
|