カテゴリー内の他の記事

kintone API SDK for Rubyを使って、サイトからの問い合わせを管理しよう!

フォローする

(Author : Fuji Business International Mamoru Fujinoki)

Index

はじめに

自社のウェブサイトから問い合わせやコンタクトフォームを設置して管理しているケースは多いと思います。
今回は、Ruby on Railsで作成されたウェブサイト上の問い合わせフォームから、kintone REST API client for Ruby を利用して、kintoneの問い合わせ管理アプリと連携して管理する方法を紹介します。

(注:本ページ上に公開されているSDKは有志の開発者により作成されたものです。サイボウズではサポート対象外となります。ライセンスや機能などをご確認の上、ご利用ください。)

事前に必要なもの

  • Rails開発環境(Railsが初めての方はこちらを参考に設定してください。「Rails をはじめよう」)
  • Ruby 2.1.0 以上 (本TipsはRuby 2.4.4, Rails 5.2.0で動作を確認しています。)
  • kintoneアカウント

問い合わせ管理アプリの設定

ステップ1

kintoneアプリストアより、「問い合わせ管理」アプリを追加します。

_____________.png

「問い合わせ管理」アプリを開き、「アプリの設定を変更する」アイコンをクリックします。

______________.png

フォームのフィールドをテーブルを参考にフィールドコード等を確認・変更します。

_______________.png

フィールドの種類 フィールド名 フィールドコード
文字列(1行) 顧客名 Customer
文字列(1行) ご担当者名 Customer_name
ラジオボタン 問い合わせ種別 QType
文字列(複数行) 詳細 Detail

ステップ2

次に「設定」タブを開き、「APIトークン」をクリックします。

_______API____.png

「生成する」ボタンをクリックし、「レコードの追加」にチェックします。その後、設定を「保存」します。
生成したAPIトークンはコーディングの際に必要になるのでメモしておきます。また、アプリのIDも控えておきます。(以下のサンプルアプリの場合は103です。)

_______API______.png

最後にアプリの設定を反映させるために「アプリの更新」をクリックします。

_______________.png

以上で「問い合わせ管理」アプリの設定は終了です。

問い合わせフォームの作成

ステップ1

それでは、早速、Ruby on Railsによる問い合わせフォームアプリケーションを作りましょう。
(Ruby on Railsの開発環境がない場合、こちらの「Railsをはじめよう」を参考に設定してください。)

ターミナルを開き、次のコマンドを実行します。

これによりContactというRailsのアプリケーションが作成されます。
これ以降のコマンドは作成されたcontactディレクトリ内で実行するので、以下コマンドでディレクトリを移動してください。

contact________.png

ステップ2

次にフォームの作成の前にkintone REST API client for Rubyをインストールします。

Gemfileを開いてコマンドを追加します。

kintone_SDK_______.png

ファイルを保存後、次のコマンドを実行します。

ステップ3

次のコマンドでコントローラーの作成をします。コントローラー名は例として「inquiries」とします。

__________.png

ステップ4

次に「Config」フォルダー内の「routes.rb」ファイルを開いて、下記のコーディングを参考に編集します。

routes_______.png

解説

今回は問い合わせフォームのみ作成するため、以下のようにルーティングを定義しました。

HTTP動詞 パス フィールドコード 目的
GET /inquiries inquiries#new 問い合わせを1つ作成するためのHTMLフォームを返す
POST /inquiries inquiries#create 問い合わせを1つ作成する

リソース名は先ほど作成した「inquiries」を指定しています。

また、ホームページには、問い合わせ作成のフォームを設定します。

ステップ5

「views」フォルダー内の「inquiries」フォルダー内に「new.html.erb」ファイルを作成します。

____________.png

下記のコードを参考にform builderを使って、問い合わせフォームを作成します。

以下のようなフォームが生成されます。

_________.png

ステップ6

次に先程指定したresource名のモデルを生成します。

下記のコマンドを実行し、「inqury」モデルを生成します。

これにより以下のモデルが生成されます。

フィールド名 フィールドタイプ
company_name string
client_name string
contact_type string
details text

以下のコマンドでマイグレーションを実行して、データベースにテーブルを作成します。

これでInquiriesテーブルがデータベース上に作成されます。
(今回は、デフォルトのデータベース「sqlite3」を使用しています。まだインストールされていない場合は次のコマンドを実行してインストールして下さい。)

ステップ9

次に先程作成したコントローラーの編集を行います。

「Controllers」フォルダー内の「inquiries_controller.rb」をエディターで開きます。

__________.png

下記を参考にコーディングします。

解説

今回は簡素化するためにコントローラーのアクションはnewとcreateのみ定義しています。
newメソッドで問い合わせフォームを表示し(特に処理は無いのでメソッド内はブランク)、createメソッドで入力データを保存します。

フォームのデータをデータベースに保存した後にkintoneへ登録します。

kintone REST API client for Rubyの読み込みとインスタンスの作成部分です。
お使いのサブドメイン名、上記で控えておいたAPIトークン、アプリケーションIDを指定します。(詳細については、GitHub上のReadmeを参照して下さい。)

ハッシュ形式でフォームレコードを設定し、APIでkintoneに登録します。

以上でRuby on Railsによる問い合わせフォームの作成は終了です。

動作確認

以下のコマンドでローカルのRailsサーバーを起動して下さい。

ブラウザでhttp://localhost:3000をURLに指定すると以下の問い合わせフォームが表示されます。

適当にデータを入力し、「送信」ボタンをクリックするとkintoneに新しいレコードが追加されます。

___________.png

 

_________________v2.png

まとめ

問い合わせフォームやコンタクト、アンケートの実施など、社外のデータを収集する際にRuby on Railsで作成されたウェブサイトを利用されている方は多いと思います。
そのシステムとkintoneを連携して管理したいシナリオには、今回使用したRuby用 kintone API SDK - kintone REST API client for Rubyが大変便利です。
簡単なコーディングでkintoneとの連携が可能なのでお試しください。

参照サイト

このTipsは、2018年5月版 kintoneで確認したものになります。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。