Documentation
¶
Index ¶
- func FilterFields(data []byte, fields string) ([]byte, error)
- type APIError
- type Client
- func (c *Client) BuildRequest(method, path string, query url.Values, body any) (*DryRunOutput, error)
- func (c *Client) CreateJournal(ctx context.Context, req *model.CRUDJournalRequest) ([]byte, error)
- func (c *Client) CreateTradePartners(ctx context.Context, req *model.PostTradePartnersRequest) ([]byte, error)
- func (c *Client) CreateTransactions(ctx context.Context, req *model.PostTransactionsRequest) ([]byte, error)
- func (c *Client) CreateVouchers(ctx context.Context, req *model.PostVouchersRequest) ([]byte, error)
- func (c *Client) Delete(ctx context.Context, path string, body any) ([]byte, error)
- func (c *Client) DeleteJournal(ctx context.Context, id string) error
- func (c *Client) DeleteVouchers(ctx context.Context, req *model.DeleteVouchersRequest) error
- func (c *Client) Do(ctx context.Context, method, path string, query url.Values, body any) ([]byte, error)
- func (c *Client) Get(ctx context.Context, path string, query url.Values) ([]byte, error)
- func (c *Client) GetAccounts(ctx context.Context, available *bool) ([]byte, error)
- func (c *Client) GetConnectedAccounts(ctx context.Context) ([]byte, error)
- func (c *Client) GetDepartments(ctx context.Context) ([]byte, error)
- func (c *Client) GetJournal(ctx context.Context, id string) ([]byte, error)
- func (c *Client) GetJournals(ctx context.Context, params JournalListParams) ([]byte, error)
- func (c *Client) GetOffice(ctx context.Context) ([]byte, error)
- func (c *Client) GetSubAccounts(ctx context.Context, accountID string) ([]byte, error)
- func (c *Client) GetTaxes(ctx context.Context, available *bool) ([]byte, error)
- func (c *Client) GetTradePartners(ctx context.Context, available *bool) ([]byte, error)
- func (c *Client) GetTransitionBS(ctx context.Context, params TransitionParams) ([]byte, error)
- func (c *Client) GetTransitionPL(ctx context.Context, params TransitionParams) ([]byte, error)
- func (c *Client) GetTrialBalanceBS(ctx context.Context, params TBParams) ([]byte, error)
- func (c *Client) GetTrialBalancePL(ctx context.Context, params TBParams) ([]byte, error)
- func (c *Client) Post(ctx context.Context, path string, body any) ([]byte, error)
- func (c *Client) Put(ctx context.Context, path string, body any) ([]byte, error)
- func (c *Client) UpdateJournal(ctx context.Context, id string, req *model.CRUDJournalRequest) ([]byte, error)
- type DryRunOutput
- type JournalListParams
- type TBParams
- type TransitionParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FilterFields ¶
FilterFields filters JSON data to include only the specified dotted field paths. The fields parameter is a comma-separated list of dotted paths like "accounts.id,accounts.name". For array fields, the filter is applied to each element. If a field path doesn't exist, it is silently skipped.
Types ¶
type APIError ¶
type APIError struct {
StatusCode int
Operation string
Errors []model.ErrorDetail
RawResponse string
}
APIError represents an error response from the MoneyForward API.
func ParseErrorResponse ¶
ParseErrorResponse parses an API error response body into an APIError.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is an HTTP client for the MoneyForward Accounting API.
func (*Client) BuildRequest ¶
func (c *Client) BuildRequest(method, path string, query url.Values, body any) (*DryRunOutput, error)
BuildRequest constructs a DryRunOutput without making any network calls. For bodies containing "file_data" fields, base64 values are truncated.
func (*Client) CreateJournal ¶
CreateJournal creates a new journal entry. POST /api/v3/journals
func (*Client) CreateTradePartners ¶
func (*Client) CreateTransactions ¶
func (c *Client) CreateTransactions(ctx context.Context, req *model.PostTransactionsRequest) ([]byte, error)
CreateTransactions creates transactions for a connected account. POST /api/v3/transactions
func (*Client) CreateVouchers ¶
func (c *Client) CreateVouchers(ctx context.Context, req *model.PostVouchersRequest) ([]byte, error)
CreateVouchers uploads voucher files. POST /api/v3/vouchers
func (*Client) DeleteJournal ¶
DeleteJournal deletes a journal entry by ID. DELETE /api/v3/journals/{id}
func (*Client) DeleteVouchers ¶
DeleteVouchers deletes a voucher file. DELETE /api/v3/vouchers
func (*Client) Do ¶
func (c *Client) Do(ctx context.Context, method, path string, query url.Values, body any) ([]byte, error)
Do executes an HTTP request against the API with authentication, retry, and error handling.
func (*Client) GetAccounts ¶
func (*Client) GetConnectedAccounts ¶
GetConnectedAccounts retrieves the list of connected accounts. GET /api/v3/connected_accounts
func (*Client) GetDepartments ¶
GetDepartments retrieves the list of departments. GET /api/v3/departments
func (*Client) GetJournal ¶
GetJournal retrieves a single journal by ID. GET /api/v3/journals/{id}
func (*Client) GetJournals ¶
GetJournals retrieves a list of journals with optional filters. GET /api/v3/journals
func (*Client) GetSubAccounts ¶
GetSubAccounts retrieves the list of sub-accounts for a given account. GET /api/v3/sub_accounts
func (*Client) GetTradePartners ¶
func (*Client) GetTransitionBS ¶
GetTransitionBS retrieves the balance sheet transition report. GET /api/v3/reports/transition_bs
func (*Client) GetTransitionPL ¶
GetTransitionPL retrieves the profit and loss transition report. GET /api/v3/reports/transition_pl
func (*Client) GetTrialBalanceBS ¶
GetTrialBalanceBS retrieves the trial balance (balance sheet). GET /api/v3/reports/trial_balance_bs
func (*Client) GetTrialBalancePL ¶
GetTrialBalancePL retrieves the trial balance (profit and loss). GET /api/v3/reports/trial_balance_pl
func (*Client) UpdateJournal ¶
func (c *Client) UpdateJournal(ctx context.Context, id string, req *model.CRUDJournalRequest) ([]byte, error)
UpdateJournal updates an existing journal entry. PUT /api/v3/journals/{id}
type DryRunOutput ¶
type DryRunOutput struct {
Method string `json:"method"`
URL string `json:"url"`
Body json.RawMessage `json:"body,omitempty"`
}
DryRunOutput represents the details of a request without executing it.
type JournalListParams ¶
type JournalListParams struct {
StartDate string
EndDate string
AccountID string
IsRealized *bool
Page *int
PerPage *int
}
JournalListParams holds query parameters for listing journals.