J'ai une application qui envoie des messages aux utilisateurs. Dans une demande d'envoi, une chaîne XML est transférée, contenant tous les utilisateurs qui doivent recevoir ce message particulier. Si l'un des utilisateurs de la liste n'existe pas, je renvoie la liste des utilisateurs manquants au client pour une évaluation ultérieure.
Je me demande maintenant quel serait le code d'état approprié pour l'application indiquant que la demande a été acceptée mais que certaines choses n'ont pas pu être faites.
Le problème serait évité s'il n'était pas permis d'inclure les utilisateurs manquants dans la liste. Dans ce cas, la tentative d'envoi recevrait simplement une erreur 4xx. Mais il n'y a aucun intérêt à former l'API de cette façon. D'un autre côté, je pourrais considérer que la condition d'erreur est purement spécifique à l'application. Mais l'envoi d'un 200 ne semble pas correct. Et ce serait bien de donner au client un indice lui permettant d'examiner en profondeur la réponse d'erreur, par exemple pour éviter d'envoyer des messages à cet utilisateur à plusieurs reprises.