Rate limiting
L'utilisation de l'API Sirene est limitée à 30 requêtes par minute. Au-delà de ce seuil, l'API renvoie une erreur HTTP 429 - Too Many Requests.
Cette librairie gère automatiquement cette limitation en suspendant temporairement l'exécution du programme, afin d'attendre la réinitialisation du quota pour ensuite reprendre les appels.
Désactiver rate limit
Cependant, cette suspension - pouvant durer plusieurs secondes - peut s'avérer contraignante dans certains contextes.
Il est donc possible de désactiver cette gestion automatique du rate limiting en passant false en second paramètre du constructeur Sirene.
Vous devrez alors intercepter manuellement les exceptions liées aux erreurs de quota (HTTP 429).
Exemple:
use LuFiipe\InseeSierene\Exception\SireneException;
use LuFiipe\InseeSierene\Sirene;
$sirene = new Sirene('YOUR-API-KEY', false);
for ($i = 0; $i < 40; $i++) {
try {
$res = $sirene->informations();
} catch (SireneException $e) {
echo $e->getMessage();
}
sleep(1);
}
L'exemple ci-dessus va afficher :
Client error: `GET https://api.insee.fr/api-sirene/3.11/informations` resulted in a `429 Too Many Requests` ../..
