-
Notifications
You must be signed in to change notification settings - Fork 0
/
Track.php
114 lines (100 loc) · 4.19 KB
/
Track.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
/**
* Composer autoload
*/
require_once __DIR__ . '/../vendor/autoload.php';
/**
* Used classes
*/
use WsdlToPhp\PackageBase\AbstractSoapClientBase;
use ColissimoTracking\ClassMap;
use ColissimoTracking\ServiceType\Track;
/**
* Your Colissimo contract number
*/
define('COLISSIMO_WS_CONTRACT_NUMBER', '******');
/**
* Your Colissimo password
*/
define('COLISSIMO_WS_PASSWORD', '************');
/**
* Minimal options
*/
$options = array(
AbstractSoapClientBase::WSDL_URL => 'https://www.coliposte.fr/tracking-chargeur-cxf/TrackingServiceWS/2.0?wsdl',
AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get()
);
/**
* Example for Track ServiceType
*/
$track = new Track($options);
/**
* Track
*/
$tracking = $track->track(new Track(
COLISSIMO_WS_CONTRACT_NUMBER,
COLISSIMO_WS_PASSWORD,
'6A00000000000' // N° de tracking colissimo de la commande
));
/**
* Result
*/
$result = $track->getResult();
if ($result !== false) {
/**
* Return
*/
$return = $result->getReturn();
/**
* ERROR CODES :
* ----------------
* 0 Pas d’erreur
* 101 Numéro de colis invalide
* 103 Numéro de colis datant de plus de 30 jours
* 104 Numéro de colis hors plage client
* 105 Numéro de colis inconnu
* 201 Identifiant / mot de passe invalide
* 202 Service non autorisé pour cet identifiant
* 1000 Erreur système (erreur technique)
* .....
*/
if ($return->getErrorCode()) {
$errorMessage = $return->getErrorMessage();
/**
* Has Error
* Debug des informations fournies par les méthodes utilitaires
*/
echo 'XML Request: ' . $track->getLastRequest() . "\r\n";
echo 'XML Response: ' . $track->getLastResponse() . "\r\n";
echo 'XML Error: ' . $track->getLastError() . "\r\n";
return false;
}
/**
* EVENTS CODES : (Liste non exhaustive)
* ----------------
* COMCFM : Votre colis est prêt à être expédié, il va être remis à La Poste.
* TRACFM : Colis en transit dans un site postal.
* EXPCFM : Votre colis a quitté le pays d'origine.
* RSTFMA : Votre colis ne peut être livré ce jour en raison d'une situation exceptionnelle indépendante de notre volonté. Il sera remis en livraison au plus tôt.
* RENCAD : Votre colis ne peut actuellement être livré à son destinataire, l'adresse de livraison étant incomplète. Le destinataire peut contacter notre service clients pour apporter les compléments nécessaires.
* RENNRV : Votre colis n'a pas pu être livré car le destinataire était absent. Il sera remis en livraison le prochain jour ouvré.
* RSTNCG : Votre colis ne peut être livré ce jour. Il sera remis en livraison au plus tôt.
* RSTFHB : Votre colis ne peut être livré ce jour, l'accès à l'adresse de livraison étant impossible. Il sera remis en livraison au plus tôt.
* RENAVI : Votre colis n'a pas pu être livré, il sera mis à disposition dans le bureau de Poste du destinataire.
* RENARV : Votre colis n'a pu être livré. Le destinataire peut nous faire part de son choix de livraison aujourd'hui jusqu'à minuit.
* DEPGUI : Votre colis a été déposé dans un point postal.
* MLVARS : Votre colis est à disposition dans le point de retrait choisi dans le bureau de poste habituel. Il est à retirer pendant 15 jours sur présentation d'une pièce d'identité et de l'avis d'instance.
* MLVCFM : Votre colis est en préparation pour la livraison.
* PCHCFM : Votre colis est en cours d'acheminement.
* QDICFM : Votre colis sera présenté le prochain jour ouvré.
* AARCFM : Votre colis est arrivé sur son site de distribution.
* LIVVOI : Votre colis est livré au voisin indiqué sur l'avis déposé dans la boîte aux lettres du destinataire.
* LIVRTI : Votre colis a été livré au gardien ou à un voisin.
* LIVGAR : Votre colis a été livré au gardien.
* LIVCFM : Votre colis a été livré dans la boite aux lettres du destinataire.
*/
$eventCode = $return->getEventCode();
$eventDate = $return->getEventDate();
$eventLibelle = $return->getEventLibelle();
return true;
}