У меня есть приложение, которое отправляет сообщения пользователям. В почтовом запросе передается строка XML, содержащая всех пользователей, которые должны получить это конкретное сообщение. Если какой-либо из пользователей в списке не существует, я возвращаю список отсутствующих пользователей клиенту для дальнейшей оценки.
Теперь я спрашиваю себя, каков будет правильный код статуса для приложения, говорящего, что запрос был принят, но были вещи, которые нельзя было сделать.
Этой проблемы можно было бы избежать, если бы не было разрешено включать в список отсутствующих пользователей. Тогда при отправке будет просто ошибка 4xx. Но формировать API таким образом нет смысла. С другой стороны, я мог бы рассматривать состояние ошибки как чисто конкретное приложение. Но посылать 200 кажется неправильным. И было бы неплохо дать клиенту подсказку, когда нужно внимательно изучить ответ об ошибке. например, чтобы не отправлять сообщения этим пользователям снова и снова