freee/models/
partner_update_params.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>  {     &quot;status_code&quot; : 400,     &quot;errors&quot; : [       {         &quot;type&quot; : &quot;status&quot;,         &quot;messages&quot; : [&quot;不正なリクエストです。&quot;]       },       {         &quot;type&quot; : &quot;validation&quot;,         &quot;messages&quot; : [&quot;Date は不正な日付フォーマットです。入力例:2019-12-17&quot;]       }     ]   }</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 />&copy; 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 PartnerUpdateParams {
16    /// 事業所ID
17    #[serde(rename = "company_id")]
18    pub company_id: i32,
19    /// 取引先名 (255文字以内、重複不可)
20    #[serde(rename = "name")]
21    pub name: String,
22    /// ショートカット1 (255文字以内)
23    #[serde(rename = "shortcut1", skip_serializing_if = "Option::is_none")]
24    pub shortcut1: Option<String>,
25    /// ショートカット2 (255文字以内)
26    #[serde(rename = "shortcut2", skip_serializing_if = "Option::is_none")]
27    pub shortcut2: Option<String>,
28    /// 事業所種別(null: 未設定、1: 法人、2: 個人)
29    #[serde(rename = "org_code", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
30    pub org_code: Option<Option<OrgCode>>,
31    /// 地域(JP: 国内、ZZ:国外)、指定しない場合JPになります。
32    #[serde(rename = "country_code", skip_serializing_if = "Option::is_none")]
33    pub country_code: Option<CountryCode>,
34    /// 正式名称(255文字以内)
35    #[serde(rename = "long_name", skip_serializing_if = "Option::is_none")]
36    pub long_name: Option<String>,
37    /// カナ名称(255文字以内)
38    #[serde(rename = "name_kana", skip_serializing_if = "Option::is_none")]
39    pub name_kana: Option<String>,
40    /// 敬称(御中、様、(空白)の3つから選択)
41    #[serde(rename = "default_title", skip_serializing_if = "Option::is_none")]
42    pub default_title: Option<String>,
43    /// 電話番号
44    #[serde(rename = "phone", skip_serializing_if = "Option::is_none")]
45    pub phone: Option<String>,
46    /// 担当者 氏名 (255文字以内)
47    #[serde(rename = "contact_name", skip_serializing_if = "Option::is_none")]
48    pub contact_name: Option<String>,
49    /// 担当者 メールアドレス (255文字以内)
50    #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
51    pub email: Option<String>,
52    /// 振込元口座ID(一括振込ファイル用):(walletableのtypeが'bank_account'のidのみ指定できます。また、未設定にする場合は、nullを指定してください。)
53    #[serde(rename = "payer_walletable_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
54    pub payer_walletable_id: Option<Option<i32>>,
55    /// 振込手数料負担(一括振込ファイル用): (振込元(当方): payer, 振込先(先方): payee)、指定しない場合payerになります。
56    #[serde(rename = "transfer_fee_handling_side", skip_serializing_if = "Option::is_none")]
57    pub transfer_fee_handling_side: Option<TransferFeeHandlingSide>,
58    /// この項目はインボイス制度で利用する項目です。2023年4月頃から利用できる予定です。 インボイス制度適格請求書発行事業者(true: 対象事業者、false: 非対象事業者) <a target=\"_blank\" href=\"https://www.invoice-kohyo.nta.go.jp/index.html\">国税庁インボイス制度適格請求書発行事業者公表サイト</a> 
59    #[serde(rename = "qualified_invoice_issuer", skip_serializing_if = "Option::is_none")]
60    pub qualified_invoice_issuer: Option<bool>,
61    /// この項目はインボイス制度で利用する項目です。2023年4月頃から利用できる予定です。 インボイス制度適格請求書発行事業者登録番号 - 先頭T数字13桁の固定14桁の文字列 <a target=\"_blank\" href=\"https://www.invoice-kohyo.nta.go.jp/index.html\">国税庁インボイス制度適格請求書発行事業者公表サイト</a> 
62    #[serde(rename = "invoice_registration_number", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
63    pub invoice_registration_number: Option<Option<String>>,
64    #[serde(rename = "address_attributes", skip_serializing_if = "Option::is_none")]
65    pub address_attributes: Option<Box<crate::models::PartnerCreateParamsAddressAttributes>>,
66    #[serde(rename = "partner_doc_setting_attributes", skip_serializing_if = "Option::is_none")]
67    pub partner_doc_setting_attributes: Option<Box<crate::models::PartnerCreateParamsPartnerDocSettingAttributes>>,
68    #[serde(rename = "partner_bank_account_attributes", skip_serializing_if = "Option::is_none")]
69    pub partner_bank_account_attributes: Option<Box<crate::models::PartnerCreateParamsPartnerBankAccountAttributes>>,
70    #[serde(rename = "payment_term_attributes", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
71    pub payment_term_attributes: Option<Option<Box<crate::models::PartnerUpdateParamsPaymentTermAttributes>>>,
72    #[serde(rename = "invoice_payment_term_attributes", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
73    pub invoice_payment_term_attributes: Option<Option<Box<crate::models::PartnerUpdateParamsInvoicePaymentTermAttributes>>>,
74}
75
76impl PartnerUpdateParams {
77    pub fn new(company_id: i32, name: String) -> PartnerUpdateParams {
78        PartnerUpdateParams {
79            company_id,
80            name,
81            shortcut1: None,
82            shortcut2: None,
83            org_code: None,
84            country_code: None,
85            long_name: None,
86            name_kana: None,
87            default_title: None,
88            phone: None,
89            contact_name: None,
90            email: None,
91            payer_walletable_id: None,
92            transfer_fee_handling_side: None,
93            qualified_invoice_issuer: None,
94            invoice_registration_number: None,
95            address_attributes: None,
96            partner_doc_setting_attributes: None,
97            partner_bank_account_attributes: None,
98            payment_term_attributes: None,
99            invoice_payment_term_attributes: None,
100        }
101    }
102}
103
104/// 事業所種別(null: 未設定、1: 法人、2: 個人)
105#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
106pub enum OrgCode {
107    #[serde(rename = "1")]
108    Variant1,
109    #[serde(rename = "2")]
110    Variant2,
111}
112
113impl Default for OrgCode {
114    fn default() -> OrgCode {
115        Self::Variant1
116    }
117}
118/// 地域(JP: 国内、ZZ:国外)、指定しない場合JPになります。
119#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
120pub enum CountryCode {
121    #[serde(rename = "JP")]
122    Jp,
123    #[serde(rename = "ZZ")]
124    Zz,
125}
126
127impl Default for CountryCode {
128    fn default() -> CountryCode {
129        Self::Jp
130    }
131}
132/// 振込手数料負担(一括振込ファイル用): (振込元(当方): payer, 振込先(先方): payee)、指定しない場合payerになります。
133#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
134pub enum TransferFeeHandlingSide {
135    #[serde(rename = "payer")]
136    Payer,
137    #[serde(rename = "payee")]
138    Payee,
139}
140
141impl Default for TransferFeeHandlingSide {
142    fn default() -> TransferFeeHandlingSide {
143        Self::Payer
144    }
145}
146