Documentation
¶
Index ¶
- Constants
- type Client
- func (c *Client) CreateIncome(p CreateIncomeParams) (models.Transaction, error)
- func (c *Client) CreatePayment(p CreatePaymentParams) (models.Transaction, error)
- func (c *Client) CreateTransfer(p CreateTransferParams) (models.Transaction, error)
- func (c *Client) DeleteIncome(id uint64) (models.Transaction, error)
- func (c *Client) DeletePayment(id uint64) (models.Transaction, error)
- func (c *Client) DeleteTransfer(id uint64) (models.Transaction, error)
- func (c *Client) FetchAccounts() ([]models.Account, error)
- func (c *Client) FetchCategories() ([]models.Category, error)
- func (c *Client) FetchCurrency() ([]models.Currency, error)
- func (c *Client) FetchDefaultAccounts() ([]models.DefaultAccount, error)
- func (c *Client) FetchDefaultCategories() ([]models.DefaultCategory, error)
- func (c *Client) FetchDefaultGenres() ([]models.DefaultGenre, error)
- func (c *Client) FetchGenres() ([]models.Genre, error)
- func (c *Client) FetchGroupedMoney(opts ...FetchMoneyParams) ([]models.GroupedMoney, error)
- func (c *Client) FetchMe() (models.Me, error)
- func (c *Client) FetchMoney(opts ...FetchMoneyParams) ([]models.Money, error)
- func (c *Client) UpdateIncome(id uint64, p UpdateIncomeParams) (models.Transaction, error)
- func (c *Client) UpdatePayment(id uint64, p UpdatePaymentParams) (models.Transaction, error)
- func (c *Client) UpdateTransfer(id uint64, p UpdateTransferParams) (models.Transaction, error)
- type CreateIncomeParams
- type CreatePaymentParams
- type CreateTransferParams
- type FetchMoneyParams
- type UpdateIncomeParams
- type UpdatePaymentParams
- type UpdateTransferParams
- type ZaimParams
Examples ¶
- Client.CreateIncome
- Client.CreatePayment
- Client.CreateTransfer
- Client.DeleteIncome
- Client.DeletePayment
- Client.DeleteTransfer
- Client.FetchAccounts
- Client.FetchCategories
- Client.FetchCurrency
- Client.FetchDefaultAccounts
- Client.FetchDefaultCategories
- Client.FetchDefaultGenres
- Client.FetchGenres
- Client.FetchGroupedMoney
- Client.FetchMe
- Client.FetchMoney
- Client.UpdateIncome
- Client.UpdatePayment
- Client.UpdateTransfer
Constants ¶
const BaseURL = "https://api.zaim.net/v2/"
Zaim API のエンドポイントベースURL
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewZaimClient ¶ added in v0.2.0
func NewZaimClient(params ...ZaimParams) *Client
NewZaimClient は、Zaim API と通信するための新しいクライアントを作成する。 認証情報が提供されている場合、OAuth 1.0a を用いた認証付きクライアントを生成する。
func (*Client) CreateIncome ¶ added in v0.9.0
func (c *Client) CreateIncome(p CreateIncomeParams) (models.Transaction, error)
CreateIncome は収入情報を登録する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
params := zaim.CreateIncomeParams{
CategoryID: 102,
Amount: 1,
Date: time.Now(),
}
// 収入情報を登録
res, err := c.CreateIncome(params)
if err != nil {
log.Fatal(err)
}
println(res.Money.ID)
println(res.Money.Modified.String())
func (*Client) CreatePayment ¶ added in v0.8.0
func (c *Client) CreatePayment(p CreatePaymentParams) (models.Transaction, error)
CreatePayment は支払情報を登録する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
params := zaim.CreatePaymentParams{
CategoryID: 102,
GenreID: 10202,
Amount: 1,
Date: time.Now(),
}
// 支払情報を登録
res, err := c.CreatePayment(params)
if err != nil {
log.Fatal(err)
}
println(res.Money.ID)
println(res.Money.Modified.String())
func (*Client) CreateTransfer ¶ added in v0.10.0
func (c *Client) CreateTransfer(p CreateTransferParams) (models.Transaction, error)
CreateTransfer は振替情報を登録する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
params := zaim.CreateTransferParams{
Amount: 1,
Date: time.Now(),
FromAccountID: 1,
ToAccountID: 2,
}
// 振替情報を登録
res, err := c.CreateTransfer(params)
if err != nil {
log.Fatal(err)
}
println(res.Money.ID)
println(res.Money.Modified.String())
func (*Client) DeleteIncome ¶ added in v0.9.0
func (c *Client) DeleteIncome(id uint64) (models.Transaction, error)
DeleteIncome は収入情報を削除する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
// 収入情報を削除
res, err := c.DeleteIncome(381)
if err != nil {
log.Fatal(err)
}
println(res.Money.ID)
println(res.Money.Modified.String())
func (*Client) DeletePayment ¶ added in v0.8.0
func (c *Client) DeletePayment(id uint64) (models.Transaction, error)
DeletePayment は支払情報を削除する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
// 支払情報を削除
res, err := c.DeletePayment(381)
if err != nil {
log.Fatal(err)
}
println(res.Money.ID)
println(res.Money.Modified.String())
func (*Client) DeleteTransfer ¶ added in v0.10.0
func (c *Client) DeleteTransfer(id uint64) (models.Transaction, error)
DeleteTransfer は振替情報を削除する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
// 振替情報を削除
res, err := c.DeleteTransfer(381)
if err != nil {
log.Fatal(err)
}
println(res.Money.ID)
println(res.Money.Modified.String())
func (*Client) FetchAccounts ¶ added in v0.7.0
FetchAccounts は口座一覧を取得する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
// 口座一覧を取得する
accounts, err := c.FetchAccounts()
if err != nil {
log.Fatal(err)
}
for _, a := range accounts {
println(a.Name)
}
func (*Client) FetchCategories ¶ added in v0.5.0
FetchCategories はカテゴリ一覧を取得する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
// カテゴリ一覧を取得する
categories, err := c.FetchCategories()
if err != nil {
log.Fatal(err)
}
for _, c := range categories {
println(c.Name)
}
func (*Client) FetchCurrency ¶ added in v0.15.0
FetchCurrency は通貨一覧を取得する
Example ¶
c := zaim.NewZaimClient()
// 通貨一覧を取得する
currencies, err := c.FetchCurrency()
if err != nil {
log.Fatal(err)
}
for _, currency := range currencies {
println(currency.Name)
}
func (*Client) FetchDefaultAccounts ¶ added in v0.12.0
func (c *Client) FetchDefaultAccounts() ([]models.DefaultAccount, error)
FetchDefaultAccounts はデフォルトの口座一覧を取得する
Example ¶
// クライアント初期化
c := zaim.NewZaimClient()
// デフォルト口座一覧を取得する
accounts, err := c.FetchDefaultAccounts()
if err != nil {
log.Fatal(err)
}
for _, a := range accounts {
println(a.Name)
}
func (*Client) FetchDefaultCategories ¶ added in v0.13.0
func (c *Client) FetchDefaultCategories() ([]models.DefaultCategory, error)
FetchDefaultCategories はデフォルトのカテゴリ一覧を取得する
Example ¶
// クライアント初期化
c := zaim.NewZaimClient()
// デフォルトのカテゴリ一覧を取得する
categories, err := c.FetchDefaultCategories()
if err != nil {
log.Fatal(err)
}
for _, c := range categories {
println(c.Name)
}
func (*Client) FetchDefaultGenres ¶ added in v0.14.0
func (c *Client) FetchDefaultGenres() ([]models.DefaultGenre, error)
FetchDefaultGenres はデフォルトのジャンル一覧を取得する
Example ¶
// クライアント初期化
c := zaim.NewZaimClient()
// デフォルトのジャンル一覧を取得する
genres, err := c.FetchDefaultGenres()
if err != nil {
log.Fatal(err)
}
for _, g := range genres {
println(g.Name)
}
func (*Client) FetchGenres ¶ added in v0.6.0
FetchGenres はジャンル一覧を取得する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
// ジャンル一覧を取得する
genres, err := c.FetchGenres()
if err != nil {
log.Fatal(err)
}
for _, g := range genres {
println(g.Name)
}
func (*Client) FetchGroupedMoney ¶ added in v0.4.0
func (c *Client) FetchGroupedMoney(opts ...FetchMoneyParams) ([]models.GroupedMoney, error)
FetchGroupedMoney は group_by=receipt_id 形式で入出金履歴を取得する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
// 入出金履歴を取得
money, err := c.FetchGroupedMoney()
if err != nil {
log.Fatal(err)
}
for _, m := range money {
println(m.ReceiptID)
}
func (*Client) FetchMe ¶
FetchMe は認証ユーザーの情報を取得する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
// ユーザー情報を取得
me, err := c.FetchMe()
if err != nil {
log.Fatal(err)
}
println(me.Name)
func (*Client) FetchMoney ¶ added in v0.2.0
func (c *Client) FetchMoney(opts ...FetchMoneyParams) ([]models.Money, error)
FetchMoney はユーザーの入出金履歴を取得する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
// 入出金履歴を取得
money, err := c.FetchMoney()
if err != nil {
log.Fatal(err)
}
for _, m := range money {
println(m.Name)
}
func (*Client) UpdateIncome ¶ added in v0.9.0
func (c *Client) UpdateIncome(id uint64, p UpdateIncomeParams) (models.Transaction, error)
UpdateIncome は収入情報を更新する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
params := zaim.UpdateIncomeParams{
CategoryID: 102,
GenreID: 10202,
Amount: 1,
Date: time.Now(),
}
// 収入情報を更新
res, err := c.UpdateIncome(381, params)
if err != nil {
log.Fatal(err)
}
println(res.Money.ID)
println(res.Money.Modified.String())
func (*Client) UpdatePayment ¶ added in v0.8.0
func (c *Client) UpdatePayment(id uint64, p UpdatePaymentParams) (models.Transaction, error)
UpdatePayment は支払情報を更新する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
params := zaim.UpdatePaymentParams{
CategoryID: 102,
GenreID: 10202,
Amount: 1,
Date: time.Now(),
}
// 支払情報を更新
res, err := c.UpdatePayment(381, params)
if err != nil {
log.Fatal(err)
}
println(res.Money.ID)
println(res.Money.Modified.String())
func (*Client) UpdateTransfer ¶ added in v0.10.0
func (c *Client) UpdateTransfer(id uint64, p UpdateTransferParams) (models.Transaction, error)
UpdateTransfer は振替情報を更新する
Example ¶
// クライアント初期化
p := zaim.ZaimParams{
ConsumerKey: os.Getenv("ZAIM_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("ZAIM_CONSUMER_SECRET"),
Token: os.Getenv("ZAIM_TOKEN"),
TokenSecret: os.Getenv("ZAIM_TOKEN_SECRET"),
}
c := zaim.NewZaimClient(p)
params := zaim.UpdateTransferParams{
Amount: 1,
Date: time.Now(),
FromAccountID: 1,
ToAccountID: 2,
}
// 振替情報を更新
res, err := c.UpdateTransfer(381, params)
if err != nil {
log.Fatal(err)
}
println(res.Money.ID)
println(res.Money.Modified.String())
type CreateIncomeParams ¶ added in v0.9.0
type CreatePaymentParams ¶ added in v0.8.0
type CreatePaymentParams struct {
CategoryID uint16 `url:"category_id"`
GenreID uint16 `url:"genre_id"`
Amount int32 `url:"amount"`
Date time.Time `url:"date"`
ReceiptID *int64 `url:"receipt_id"`
FromAccountID *uint64 `url:"from_account_id,omitempty"`
Comment *string `url:"comment,omitempty"`
Name *string `url:"name,omitempty"`
Place *string `url:"place,omitempty"`
}
type CreateTransferParams ¶ added in v0.10.0
type FetchMoneyParams ¶ added in v0.2.0
type FetchMoneyParams struct {
CategoryID uint16 `url:"category_id,omitempty"`
GenreID uint16 `url:"genre_id,omitempty"`
Mode models.Mode `url:"mode,omitempty"` // payment, income, transfer
Order models.Order `url:"order,omitempty"` // id or date (default: date)
StartDate string `url:"start_date,omitempty"` // YYYY-MM-DD
EndDate string `url:"end_date,omitempty"` // YYYY-MM-DD
Page uint8 `url:"page,omitempty"` // default 1
Limit uint8 `url:"limit,omitempty"` // default 20, max 100
}