The number and order of fields in each api should be standardised.
JSON makes both of these immaterial. No need to have them ordered and it would impose an undue burden on the pool side. The number of fields would also be immaterial, just discard the fields you don't want to use. That way it allows a pool to provide additional information beyond the standard.
The api call should be standardised -
eg the following could call worker stats:
This is nice in theory, but I'm not sure it can work in practice, given all the different systems out there. In your example it would create a supremely difficult problem for me to provide since I'm not setup to handle calls in that fashion. If we are going to standardize in this fashion, HTTP GET is probably the best solution, since it should be universally compatible.
What if user (or few of his workers) are PPS? null value?
Zero would be the logical amount, since it would be an accurate value.
UTC, not GMT! GMT has summer/winter time, which is always pain in applications.
Yes! Sorry I meant UTC not GMT!
Let's rename it to balance, balance_unconfirmed, balance_paid. Otherwise we'll rename those fields for NMC?
I did that specifically so you could add nmc_balance, nmc_unconfirmed, and nmc_paid. Although I suppose we could make them a sub array of BTC: or NMC: (or whatever other currency) and then just use balance, unconfirmed, paid.
Also, we should define some standard on ask rate from clients. I'm caching API calls for 30 seconds, but still I see some stupid users fetching JSON data every second. That's not only annoying, that also needs much more transfers than mining itself of those users (especially when they're CPU miners).
Yes, I absolutely agree. I see the same things.