From d6aa6608e72f5d76ffef9f0899031b2b5860d92d Mon Sep 17 00:00:00 2001 From: Aaron Lindsay Date: Mon, 10 Apr 2017 20:51:02 -0400 Subject: [PATCH] Cleanup documentation --- doc.go | 83 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 40 deletions(-) diff --git a/doc.go b/doc.go index 5f384af..3cb86e7 100644 --- a/doc.go +++ b/doc.go @@ -3,17 +3,17 @@ Package ofxgo seeks to provide a library to make it easier to query and/or parse financial information with OFX from the comfort of Golang, without having to deal with marshalling/unmarshalling the SGML or XML. The library does *not* intend to abstract away all of the details of the OFX specification, which -would be very difficult to do well. Instead, it exposes the OFX SGML/XML -hierarchy as structs which mostly resemble it. For more information on OFX and -to read the specification, see http://ofx.net. +would be difficult to do well. Instead, it exposes the OFX SGML/XML hierarchy +as structs which mostly resemble it. For more information on OFX and to read +the specification, see http://ofx.net. There are three main top-level objects defined in ofxgo. These are Client, -Request, and Response. The Request and Response objects, predictably, contain -representations of OFX requests and responses as structs. Client contains -settings which control how requests and responses are marshalled and -unmarshalled (the OFX version used, client id and version, whether to indent -SGML/XML elements), and provides helper methods for making requests and -optionally parsing the response using those settings. +Request, and Response. The Request and Response objects represent OFX requests +and responses as Golang structs. Client contains settings which control how +requests and responses are marshalled and unmarshalled (the OFX version used, +client id and version, whether to indent SGML/XML elements, etc.), and provides +helper methods for making requests and optionally parsing the response using +those settings. Every Request object contains a SignonRequest element, called Signon. This element contains the username, password (or key), and the ORG and FID fields @@ -25,39 +25,42 @@ and Message fields populated by the server, or the CodeMeaning() and CodeConditions() functions which return information about a particular code as specified by the OFX specification). -Each top-level Request or Response object may contain zero or more Messages, -represented by a slice of objects satisfying the Message interface. These -messages are grouped by function into message sets, just as the OFX -specification groups them. Here is a list of the field names of each of these -message sets (each represented by a slices) in the Request/Response objects, -along with the concrete types of Messages they may contain: +Each top-level Request or Response object may contain zero or more messages, +sorted into named slices by message set, just as the OFX specification groups +them. Here are the supported types of Request/Response objects (along with the +name of the slice of Messages they belong to in parentheses): -Signup: - AcctInfoRequest/AcctInfoResponse: A listing of the valid accounts for this login - -Banking: - StatementRequest/StatementResponse: The balance (and optionally list of - transactions) for a bank account - -CreditCards: - CCStatementRequest/CCStatementResponse: The balance (and optionally list of - transactions) for a credit card - -Investments: - InvStatementRequest/InvStatementResponse: The balance and/or list of - transactions for an investment account - -Securities: - SecListRequest/SecListResponse: List securities and their prices, etc. - SecurityList: The actual list of securities, prices, etc. (even if - SecListResponse is present, it doesn't contain the security information). Note - that this is frequently returned with an InvStatementResponse, even if - SecListRequest wasn't passed to the server. - -Profile: - ProfileRequest/ProfileResponse: Determine the server's capabilities (which - messages sets it supports, along with individual features) +Requests: + var r AcctInfoRequest // (Signup) Request a list of the valid accounts + // for this user + var r CCStatementRequest // (CreditCard) Request the balance (and optionally + // list of transactions) for a credit card + var r StatementRequest // (Bank) Request the balance (and optionally list + // of transactions) for a bank account + var r InvStatementRequest // (InvStmt) Request balance, transactions, + // existing positions, and/or open orders for an + // investment account + var r SecListRequest // (SecList) Request securities details and prices + var r ProfileRequest // (Prof) Request the server's capabilities (which + // messages sets it supports, along with features) +Responses: + var r AcctInfoResponse // (Signup) List of the valid accounts for this + // user + var r CCStatementResponse // (CreditCard) The balance (and optionally list of + // transactions) for a credit card + var r StatementResponse // (Bank): The balance (and optionally list of + // transactions) for a bank account + var r InvStatementResponse // (InvStmt) The balance, transactions, existing + // positions, and/or open orders for an + // investment account + var r SecListResponse // (SecList) Returned as a result of + // SecListRequest, but only contains request + // status + var r SecurityList // (SecList) The actual list of securities, prices, + // etc. (sent as a result of SecListRequest or + // InvStatementRequest) + var r ProfileResponse // (Prof) Describes the server's capabilities When constructing a Request, simply append the desired message to the message set it belongs to. For Responses, it is the user's responsibility to make type