API Improvement Proposals
google.aip.dev
google.aip.dev
I hope at some point someone builds more gRPC-specific API recommendations that includes streaming and ways to do a better bulk data transfers. (ex: stream-with-filters)
However, applying most of these proposals has improved APIs I've worked with and written.
I'm currently working on migrating a system from the Google Adwords API(being depricated in some months) and porting everything to their new Google ads API(a massive step up) and to be honest everything described here is incredibly familiar. Overall that's exactly how it works.
As for RPC guidelines, they match the same guidelines you'd have writing a native API as a set of interfaces. You already know how that works. Just apply it. If I'm wrong, let me know what's the issue.
[1] https://github.com/aip-dev/site-generator/commit/9fe7bdcf83c...
Instead I revolve around getIdAndFreshnessList(filter) and getItems(ids).
I've built tools to store items locally, and check if the id is cached and the date is fresh, and only request things that need updating.
I'm digging myself into a hole of being "too different" again. This is just another convention I'll be judged negatively against.
The trouble comes in when you want to do something that you know will modify the result. (The "request things that need updating" part was surprisingly hard for me; if an item is modified but the old cached copy is still being served, it became problematic for me to rely on it.)