Skip to main content

Exceptions

Certaines requêtes vers l'API de Cocolis peuvent mener à des erreurs parfois indétectables si elles ne sont pas traitées correctement par votre application.

Détection des exceptions

Lorsque les requêtes vers l'API de Cocolis renvoient des codes d'erreurs supérieurs à 400, la librairie PHP génère des Exceptions.

Types d'exception

\Cocolis\Api\Curl\UnauthorizedException

Les exceptions UnauthorizedException surviennent lorsque l'authentification échoue sur l'API de Cocolis.

Voici un exemple de code :

$client = Client::create(array(
'app_id' => 'mon_appid',
'password' => 'mon_mot_de_passe',
'live' => false // Permet de choisir l'environnement
));

try {
$client->signIn();
} catch (\Cocolis\Api\Curl\UnauthorizedException $e) {
echo "Erreur d'authentification survenue";
}

\Cocolis\Api\Curl\NotFoundException

Les exceptions NotFoundException surviennent lorsque la route demandée est introuvable sur l'API de Cocolis.

Un exemple de code dans une situation similaire à celle de l'exception UnauthorizedException :

$client = Client::create(array(
'app_id' => 'mon_appid',
'password' => 'mon_mot_de_passe',
'live' => false // Permet de choisir l'environnement
));

try {
$client->getWebhookClient()->get(6546545640);
} catch (\Cocolis\Api\Curl\NotFoundException $e) {
echo "Erreur 404";
}

\Cocolis\Api\Curl\InternalErrorException

Enfin, les erreurs internes renvoyées par l'API de Cocolis au-delà du code d'erreur 500 génèrent des exceptions du type : InternalErrorException.

Cette erreur peut survenir si vous envoyez de mauvais paramètres, par exemple :

$client = Client::create(array(
'app_id' => 'mon_appid',
'password' => 'mon_mot_de_passe',
'live' => false // Permet de choisir l'environnement
));
$client->signIn();

try {
$client->getRideClient()->canMatch('Paris', 31400, 'Volume de 10m3');
} catch (\Cocolis\Api\Curl\InternalErrorException $e) {
echo "Erreur interne à l'API";
}