Ruby用kintone REST APIクライアント(kintone_rb)を使って、サイトからの問い合わせを管理しよう!
はじめに
自社のWebサイトから問い合わせやコンタクトフォームを設置して管理しているケースは多いと思います。
今回はRuby on Railsで作成されたWebサイト上の問い合わせフォームから、
kintone_rb
を利用してkintoneの問い合わせ管理アプリと連携して管理する方法を紹介します。
利用しているSDKは、有志の開発者により作成されたものです。
サイボウズではサポート対象外となりますので、ライセンスや機能などをご確認のうえ利用してください。
下準備
- Rails開発環境
Railsが初めての方は Railsをはじめよう を参考に設定してください。 - Ruby 2.1.0以上
本TipsはRuby 3.1.2とRails 7.0.3で動作を確認しています。 - kintoneアカウント
問い合わせ管理アプリの設定
STEP 1:アプリの準備
kintoneアプリストアより「問い合わせ管理」アプリを追加します。
「問い合わせ管理」アプリを開き、「アプリの設定を変更する」アイコンをクリックします。
以下の表を参考に、フォームの設定画面でフィールドコード等を変更します。
フィールドの種類 | フィールド名 | フィールドコード |
---|---|---|
文字列(1行) | 顧客名 | Customer |
文字列(1行) | ご担当者名 | Customer_name |
ラジオボタン | 問い合わせ種別 | QType |
文字列(複数行) | 詳細 | Detail |
STEP 2:APIトークンの設定
次に「設定」タブを開き、「APIトークン」をクリックします。
「生成する」ボタンをクリックし、「レコードの追加」にチェックを入れます。 その後、設定を保存します。
生成したAPIトークンは、コーディングの際必要になるのでメモしておきます。
また、アプリのIDも控えておきます。
以下のサンプルアプリの場合は103です。
最後にアプリの設定を反映させるために「アプリの更新」をクリックします。
以上で「問い合わせ管理」アプリの設定は終了です。
問い合わせフォームの作成
STEP 1:Ruby on Railsの開発環境準備
それではRuby on Railsによる問い合わせフォームを作りましょう。
Ruby on Railsの開発環境がない場合は、
Railsをはじめよう
を参考に設定してください。
ターミナルを開き、次のコマンドを実行します。
|
|
これによりContactというRailsのアプリケーションが作成されます。
これ以降のコマンドは、作成されたcontactディレクトリ内で実行するので、以下のコマンドでディレクトリを移動してください。
|
|
STEP 2:kintone_rbのインストール
フォーム作成の前にkintone_rbをインストールします。
Gemfileを開いてコマンドを追加します。
ファイルの最後に、次の内容を記載します。
|
|
ファイルを保存後、次のコマンドを実行します。
|
|
STEP 3:コントローラーの作成
次のコマンドでコントローラーを作成します。
|
|
コントローラー名は例として「inquiries」とします。
STEP 4:コードの編集
次に「Config」フォルダー内の「routes.rb」ファイルを開いて、次のコードを参考に編集します。
|
|
コードの解説
今回は問い合わせフォームのみ作成するため、以下のようにルーティングを定義しました。
HTTPメソッド | パス | アクション | 目的 |
---|---|---|---|
GET | /inquiries | inquiries#new | 問い合わせを1つ作成するためのHTMLフォームを返す |
POST | /inquiries | inquiries#create | 問い合わせを1つ作成する |
リソース名は先ほど作成した「inquiries」を指定しています。
|
|
また、ホームページには問い合わせ作成のフォームを設定します。
|
|
STEP 5:new.html.erbファイルの作成
「views」フォルダー内の「inquiries」フォルダー内に「new.html.erb」ファイルを作成します。
次のコードを参考にform builderを使って、問い合わせフォームを作成します。
|
|
以下のようなフォームが生成されます。
STEP 6:モデルの生成
次にさきほど指定したresource名のモデルを生成します。
次のコマンドを実行し、「inqury」モデルを生成します。
|
|
これで次のモデルが生成されます。
フィールド名 | フィールドタイプ |
---|---|
company_name | string |
client_name | string |
contact_type | string |
details | text |
以下のコマンドでマイグレーションを実行して、データベースにテーブルを作成します。
|
|
これでInquiriesテーブルがデータベース上に作成されます。
今回はデフォルトのデータベース「sqlite3」を使用しています。
まだインストールされていない場合は次のコマンドを実行してインストールしてください。
|
|
STEP 7:コントローラーの編集
次にさきほど作成したコントローラーを編集します。
「Controllers」フォルダー内の「inquiries_controller.rb」をエディターで開きます。
下記を参考にコードを作成します。
|
|
コードの解説
今回は簡素化するためにコントローラーのアクションはnew
とcreate
のみ定義しています。
new
メソッドで問い合わせフォームを表示し、create
メソッドで入力データを保存します。
new
メソッドは特に処理が必要ないのでメソッド内は空です。
|
|
フォームのデータをデータベースに保存後、kintoneへ登録します。
|
|
kintone_rb
の読み込みとインスタンスの作成部分です。
|
|
お使いのサブドメイン名、上記で控えておいたAPIトークン、アプリケーションIDを指定します。
詳細は、
GitHub上のReadme
を参照してください。
|
|
ハッシュ形式でフォームレコードを設定し、APIでkintoneに登録します。
|
|
以上でRuby on Railsによる問い合わせフォームの作成は終了です。
動作確認
以下のコマンドでローカルのRailsサーバーを起動してください。
|
|
ブラウザーでhttp://localhost:3000
をURLに指定すると以下の問い合わせフォームが表示されます。
適当にデータを入力し、「送信」ボタンをクリックするとkintoneに新しいレコードが追加されます。
最後に
問い合わせフォームやコンタクト履歴、アンケートの実施など社外のデータを収集する際にRuby on Railsで作成されたWebサイトを利用される方は多いと思います。
そのシステムとkintoneを連携して管理する際に、今回使用したRuby用REST APIクライアントの「kintone_rb」が非常に便利です。
簡単なコーディングでkintoneとの連携できるのでお試しください。
更新履歴
- 2022年6月30日
利用するkintone REST APIクライアントをkintone REST API client for Rubyからkintone_rbに修正
このTipsは、2022年6月版kintoneで動作を確認しています。