freee/models/trial_bs_response_trial_bs.rs
1/*
2 * freee API
3 *
4 * <h1 id=\"freee_api\">freee API</h1> <hr /> <h2 id=\"start_guide\">スタートガイド</h2> <p>freee API開発がはじめての方は<a href=\"https://developer.freee.co.jp/getting-started\">freee API スタートガイド</a>を参照してください。</p> <hr /> <h2 id=\"specification\">仕様</h2> <h3 id=\"api_endpoint\">APIエンドポイント</h3> <p>https://api.freee.co.jp/ (httpsのみ)</p> <h3 id=\"about_authorize\">認証について</h3> <p>OAuth2.0を利用します。<a href=\"https://developer.freee.co.jp/reference/#%e8%aa%8d%e8%a8%bc\" target=\"_blank\">詳細はリファレンスの認証に関する記載を参照してください。</a></p> <h3 id=\"data_format\">データフォーマット</h3> <p>リクエスト、レスポンスともにJSON形式をサポートしていますが、詳細は、API毎の説明欄(application/jsonなど)を確認してください。</p> <h3 id=\"compatibility\">後方互換性ありの変更</h3> <p>freeeでは、APIを改善していくために以下のような変更は後方互換性ありとして通知なく変更を入れることがあります。アプリケーション実装者は以下を踏まえて開発を行ってください。</p> <ul> <li>新しいAPIリソース・エンドポイントの追加</li> <li>既存のAPIに対して必須ではない新しいリクエストパラメータの追加</li> <li>既存のAPIレスポンスに対する新しいプロパティの追加</li> <li>既存のAPIレスポンスに対するプロパティの順番の入れ変え</li> <li>keyとなっているidやcodeの長さの変更(長くする)</li> </ul> <h3 id=\"common_response_header\">共通レスポンスヘッダー</h3> <p>すべてのAPIのレスポンスには以下のHTTPヘッダーが含まれます。</p> <ul> <li> <p>X-Freee-Request-ID</p> <ul> <li>各リクエスト毎に発行されるID</li> </ul> </li> </ul> <h3 id=\"common_error_response\">共通エラーレスポンス</h3> <ul> <li> <p>ステータスコードはレスポンス内のJSONに含まれる他、HTTPヘッダにも含まれる</p> </li> <li> <p>一部のエラーレスポンスにはエラーコードが含まれます。<br>詳細は、<a href=\"https://developer.freee.co.jp/tips/faq/40x-checkpoint\">HTTPステータスコード400台エラー時のチェックポイント</a>を参照してください</p> </li> <p>type</p> <ul> <li>status : HTTPステータスコードの説明</li> <li>validation : エラーの詳細の説明(開発者向け)</li> </ul> </li> </ul> <p>レスポンスの例</p> <pre><code> { "status_code" : 400, "errors" : [ { "type" : "status", "messages" : ["不正なリクエストです。"] }, { "type" : "validation", "messages" : ["Date は不正な日付フォーマットです。入力例:2019-12-17"] } ] }</code></pre> </br> <h3 id=\"api_rate_limit\">API使用制限</h3> <p>freeeは一定期間に過度のアクセスを検知した場合、APIアクセスをコントロールする場合があります。</p> <p>その際のhttp status codeは403となります。制限がかかってから10分程度が過ぎると再度使用することができるようになります。</p> <h4 id=\"reports_api_endpoint\">/reportsと/receipts/{id}/downloadエンドポイント</h4> <p>freeeはエンドポイント毎に一定頻度以上のアクセスを検知した場合、APIアクセスをコントロールする場合があります。その際のhttp status codeは429(too many requests)となります。</p> <ul> <li>/reports:1秒に10回まで</li> <li>/receipts/{id}/download:1秒に3回まで</li> </ul> <p>http status codeが429となった場合、API使用ステータスはレスポンスヘッダに付与されます。</p> <pre><code>x-ratelimit-limit:10 x-ratelimit-remaining:1 x-ratelimit-reset:2023-01-13T10:22:29+09:00 </code></pre> <br> 各ヘッダの意味は次のとおりです。</p> <table border=\"1\"> <tbody> <tr> <th style=\"padding: 10px\"><strong>ヘッダ名</strong></th> <th style=\"padding: 10px\"><strong>説明</strong></th> </tr> <tr><td style=\"padding: 10px\">x-ratelimit-limit</td><td style=\"padding: 10px\">使用回数の上限</td></tr> <tr><td style=\"padding: 10px\">x-ratelimit-remaining</td><td style=\"padding: 10px\">残り使用回数</td></tr> <tr><td style=\"padding: 10px\">x-ratelimit-reset</td><td style=\"padding: 10px\">使用回数がリセットされる時刻</td></tr> </tbody> </table> </br> <h3 id=\"plan_api_rate_limit\">プラン別のAPI Rate Limit</h3> <table border=\"1\"> <tbody> <tr> <th style=\"padding: 10px\"><strong>freee会計プラン名</strong></th> <th style=\"padding: 10px\"><strong>事業所とアプリケーション毎に1日でのAPIコール数</strong></th> </tr> <tr> <td style=\"padding: 10px\">エンタープライズ</td> <td style=\"padding: 10px\">10,000</td> </tr> <tr> <td style=\"padding: 10px\">プロフェッショナル</td> <td style=\"padding: 10px\">5,000</td> </tr> <tr> <td style=\"padding: 10px\">ベーシック</td> <td style=\"padding: 10px\">3,000</td> </tr> <tr> <td style=\"padding: 10px\">ミニマム</td> <td style=\"padding: 10px\">3,000</td> </tr> <tr> <td style=\"padding: 10px\">上記以外</td> <td style=\"padding: 10px\">3,000</td> </tr> </tbody> </table> <h3 id=\"webhook\">Webhookについて</h3> <p>詳細は<a href=\"https://developer.freee.co.jp/docs/accounting/webhook\" target=\"_blank\">会計Webhook概要</a>を参照してください。</p> <hr /> <h2 id=\"contact\">連絡先</h2> <p>ご不明点、ご要望等は <a href=\"https://support.freee.co.jp/hc/ja/requests/new\">freee サポートデスクへのお問い合わせフォーム</a> からご連絡ください。</p> <hr />© Since 2013 freee K.K.
5 *
6 * The version of the OpenAPI document: v1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12
13
14#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
15pub struct TrialBsResponseTrialBs {
16 /// 事業所ID
17 #[serde(rename = "company_id")]
18 pub company_id: i32,
19 /// 会計年度(条件に指定した時、または条件に月、日条件がない時のみ含まれる)
20 #[serde(rename = "fiscal_year", skip_serializing_if = "Option::is_none")]
21 pub fiscal_year: Option<i32>,
22 /// 発生月で絞込:開始会計月(1-12)(条件に指定した時のみ含まれる)
23 #[serde(rename = "start_month", skip_serializing_if = "Option::is_none")]
24 pub start_month: Option<i32>,
25 /// 発生月で絞込:終了会計月(1-12)(条件に指定した時のみ含まれる)
26 #[serde(rename = "end_month", skip_serializing_if = "Option::is_none")]
27 pub end_month: Option<i32>,
28 /// 発生日で絞込:開始日(yyyy-mm-dd)(条件に指定した時のみ含まれる)
29 #[serde(rename = "start_date", skip_serializing_if = "Option::is_none")]
30 pub start_date: Option<String>,
31 /// 発生日で絞込:終了日(yyyy-mm-dd)(条件に指定した時のみ含まれる)
32 #[serde(rename = "end_date", skip_serializing_if = "Option::is_none")]
33 pub end_date: Option<String>,
34 /// 勘定科目の表示(勘定科目: account_item, 決算書表示:group)(条件に指定した時のみ含まれる)
35 #[serde(rename = "account_item_display_type", skip_serializing_if = "Option::is_none")]
36 pub account_item_display_type: Option<AccountItemDisplayType>,
37 /// 内訳の表示(取引先: partner, 品目: item, 部門: section, 勘定科目: account_item, セグメント1(法人向けプロフェッショナル, 法人向けエンタープライズプラン): segment_1_tag, セグメント2(法人向け エンタープライズプラン):segment_2_tag, セグメント3(法人向け エンタープライズプラン): segment_3_tag)(条件に指定した時のみ含まれる)
38 #[serde(rename = "breakdown_display_type", skip_serializing_if = "Option::is_none")]
39 pub breakdown_display_type: Option<BreakdownDisplayType>,
40 /// 取引先ID(条件に指定した時のみ含まれる)
41 #[serde(rename = "partner_id", skip_serializing_if = "Option::is_none")]
42 pub partner_id: Option<i32>,
43 /// 取引先コード(条件に指定した時のみ含まれる)
44 #[serde(rename = "partner_code", skip_serializing_if = "Option::is_none")]
45 pub partner_code: Option<String>,
46 /// 品目ID(条件に指定した時のみ含まれる)
47 #[serde(rename = "item_id", skip_serializing_if = "Option::is_none")]
48 pub item_id: Option<i32>,
49 /// 部門ID(条件に指定した時のみ含まれる)
50 #[serde(rename = "section_id", skip_serializing_if = "Option::is_none")]
51 pub section_id: Option<i32>,
52 /// 決算整理仕訳のみ: only, 決算整理仕訳以外: without(条件に指定した時のみ含まれる)
53 #[serde(rename = "adjustment", skip_serializing_if = "Option::is_none")]
54 pub adjustment: Option<Adjustment>,
55 /// 未承認を除く: without_in_progress (デフォルト), 全てのステータス: all(条件に指定した時のみ含まれる)
56 #[serde(rename = "approval_flow_status", skip_serializing_if = "Option::is_none")]
57 pub approval_flow_status: Option<ApprovalFlowStatus>,
58 /// 作成日時
59 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
60 pub created_at: Option<String>,
61 #[serde(rename = "balances")]
62 pub balances: Vec<crate::models::TrialBsResponseTrialBsBalancesInner>,
63}
64
65impl TrialBsResponseTrialBs {
66 pub fn new(company_id: i32, balances: Vec<crate::models::TrialBsResponseTrialBsBalancesInner>) -> TrialBsResponseTrialBs {
67 TrialBsResponseTrialBs {
68 company_id,
69 fiscal_year: None,
70 start_month: None,
71 end_month: None,
72 start_date: None,
73 end_date: None,
74 account_item_display_type: None,
75 breakdown_display_type: None,
76 partner_id: None,
77 partner_code: None,
78 item_id: None,
79 section_id: None,
80 adjustment: None,
81 approval_flow_status: None,
82 created_at: None,
83 balances,
84 }
85 }
86}
87
88/// 勘定科目の表示(勘定科目: account_item, 決算書表示:group)(条件に指定した時のみ含まれる)
89#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
90pub enum AccountItemDisplayType {
91 #[serde(rename = "account_item")]
92 AccountItem,
93 #[serde(rename = "group")]
94 Group,
95}
96
97impl Default for AccountItemDisplayType {
98 fn default() -> AccountItemDisplayType {
99 Self::AccountItem
100 }
101}
102/// 内訳の表示(取引先: partner, 品目: item, 部門: section, 勘定科目: account_item, セグメント1(法人向けプロフェッショナル, 法人向けエンタープライズプラン): segment_1_tag, セグメント2(法人向け エンタープライズプラン):segment_2_tag, セグメント3(法人向け エンタープライズプラン): segment_3_tag)(条件に指定した時のみ含まれる)
103#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
104pub enum BreakdownDisplayType {
105 #[serde(rename = "partner")]
106 Partner,
107 #[serde(rename = "item")]
108 Item,
109 #[serde(rename = "section")]
110 Section,
111 #[serde(rename = "account_item")]
112 AccountItem,
113 #[serde(rename = "segment_1_tag")]
114 Segment1Tag,
115 #[serde(rename = "segment_2_tag")]
116 Segment2Tag,
117 #[serde(rename = "segment_3_tag")]
118 Segment3Tag,
119}
120
121impl Default for BreakdownDisplayType {
122 fn default() -> BreakdownDisplayType {
123 Self::Partner
124 }
125}
126/// 決算整理仕訳のみ: only, 決算整理仕訳以外: without(条件に指定した時のみ含まれる)
127#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
128pub enum Adjustment {
129 #[serde(rename = "only")]
130 Only,
131 #[serde(rename = "without")]
132 Without,
133}
134
135impl Default for Adjustment {
136 fn default() -> Adjustment {
137 Self::Only
138 }
139}
140/// 未承認を除く: without_in_progress (デフォルト), 全てのステータス: all(条件に指定した時のみ含まれる)
141#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
142pub enum ApprovalFlowStatus {
143 #[serde(rename = "without_in_progress")]
144 WithoutInProgress,
145 #[serde(rename = "all")]
146 All,
147}
148
149impl Default for ApprovalFlowStatus {
150 fn default() -> ApprovalFlowStatus {
151 Self::WithoutInProgress
152 }
153}
154