Where can I read more about the fields of the transaction returned by listtransactions API
The Bitcoin developer reference has a section on the listtransactions call:

The blocktime is the timestamp of the block that confirmed this transaction on your local best blockchain. It is not returned for unconfirmed transactions.

The time field tracks the time that your wallet started tracking this transaction.

The timereceived field tracks the time that your node learned about the transaction, or alternatively the time of the block that included this transaction.