Hi @joncipriano,
Thanks for sharing your thoughts about that the behavior most likely is the designed behavior and all of your other feedback.
Regarding the rate limit; this might indeed be sufficient for one user for one account. However, if multiple users share the same account - and thus share the same access token to which the API rate limit applies -, the rate limit might be (easily) hit. This situation, for example, applies to a generic customer support account, maintained by multiple users who work simultaneously.
Given a similar use case for a popular account, I easily and repeatedly exceed that rate limit on a daily basis. Perhaps the Partner Program offers a less strict rate limit but I have been told that the Partner Program does not permit certain use cases such as the self-storage of Tweets - which for instance, will be huge performance loss within that same use case. Certainly do correct me when I seem off about that remark on the Partner Program. Perhaps the conditions have changed over time or I have not been informed correctly.
Nevertheless, considered that the current design and “restrictions” are just the way things are, wouldn’t it be a great idea to extend the POST statuses/update call with an additional parameter which will block the entire action with an error response whenever the reply could not be made for some reason? Such as an “alway_update” parameter which defaults to true, but where developers such as myself are able to be set it to false in order to restrict failed “reply” attempts?
From an architectural point of view, I find it quite odd that whenever the POST statuses/update endpoint is used to send a reply, it might result into another action on a functional level (in this case, composing a new message to the user instead). As a developer, I would love to be in control of that choice. Or at least, would love to be informed about it at forehand by mentioning in your documentation.
I would love to hear your thoughts.