Travailler avec les limites de l’API
Pour gérer les performances des serveurs SaaS de Business Central, Microsoft limite l’utilisation de l’API. Tenez compte de ces limitations afin de pouvoir optimiser votre code lorsque vous vous connectez à l’aide de l’API. Des limitations s’appliquent également aux services Web OData et SOAP. Les limitations suivantes sont définies :
Nombre de requêtes. Dans l’environnement de bac à sable, vous pouvez envoyer un maximum de 300 requêtes par minute. L’environnement de production contient un maximum de 600 requêtes par minute.
Une expiration du délai d’attente se produit lorsque votre requête dépasse 10 minutes de temps d’exécution.
Le nombre maximal de requêtes simultanées est de 100.
Une page ne peut contenir que 20 000 entités par page.
Le délai d’expiration de l’opération est défini sur huit minutes.
Pour réduire le nombre d’appels d’un client ou d’une intégration et pour réduire le temps d’exécution, utilisez les approches suivantes :
Les webhooks doivent recevoir les modifications lorsqu’elles se produisent. Votre application peut recevoir un message push lorsqu’une entité est modifiée au lieu que vous soyez contraint de vérifier les changements toutes les n minutes. Essayez de convertir votre solution d’un modèle pull à un modèle push. Si cette option n’est pas possible, vous pouvez appliquer d’autres recommandations.
Utilisez le traitement par lots pour effectuer plusieurs opérations en un seul appel.
Utilisez l’expression de filtre OData $filter pour réduire le nombre d’entités renvoyées.
Utilisez l’expression de filtre OData $expand pour récupérer les entités liées en une seule requête.
Lorsque vous publiez des données, vous pouvez également utiliser des insertions profondes. Vous pouvez envoyer des détails en une seule requête. Lorsque vous créez une commande client, vous pouvez envoyer toutes vos lignes de vente dans la même requête POST et les créer en un seul appel.