拡張アプリZohoのAPI連携について
※これは a-blog cms Advent Calendar 2022 21日目の記事です。
記事の内容
今回はZoho CRMとのAPI連携を行う上でつまずきやすい点や注意しておくべきポイントをご紹介します。
実際に案件の中で起こった問題や注意してきたポイントについてご紹介しています。
拡張アプリZoho
a-blog cmsではいくつかの連携機能を本体とは別に拡張アプリという形で配布しています。 その中の拡張アプリに「Zoho」を用意しています。
拡張アプリ「Zoho」を使うとお問い合わせフォームなどから送信された入力内容を Zoho CRM 上に蓄積することができます。
API連携の手順
以下の3つのステップでa-blog cmsとzohoを連携します。
- Zoho CRMの登録
- 認証トークンの取得
- a-blog cmsの拡張アプリ zoho に認証トークンを登録
連携作業のポイント
ポイント1:HOOKの確認をしよう!
a-blog cmsにZohoの拡張アプリをインストールした後、OAuth認証を行います。
Zoho API Consoleから取得したクライアントIDとクライアントシークレット、メールアドレスを入力しgrantトークンの設定をすることで認証されます。
認証に失敗すると、以下の画像のように「認証に失敗しました。grantトークンが古い可能性があります。」のテキストが表示されます。
この場合の原因としてクライアントIDやクライアントシークレット、メールアドレスが間違っているか、grantトークンの有効期限が切れているなどが考えられます。
上記を確認した上でなお、認証できない場合はHOOKが有効になっているか確認しましょう!
config.server.phpでHOOKの確認をすることができます。
define('HOOK_ENABLE', 1);
- はじめにテスト環境で試している場合は本番環境に移行した際にも念の為、HOOKを確認しておきましょう。
GitHubにも連携の手順が公開されているのでご覧ください。
ポイント2:OAuth認証は各ブログごとに実行しよう!
OAuth認証は管理画面の拡張アプリで「Zoho」を有効化することで認証作業ができます。
気を付けるポイントとしてa-blog cmsでは連携させたいブログごとに拡張アプリZohoを有効化しなければなりません。
お問合わせフォームや資料請求フォーム、求人フォームがブログごとに別れていて、全てのフォームの情報を取得したい場合は各ブログに拡張アプリZohoを連携させる必要があります。
1つのブログだけ連携していても他のブログに入っているお問合わせの情報は取得できないので気を付けましょう!
フォーム管理について
- Zohoと連携したブログの下階層に同じフォームがある場合は「基本設定>グローバル>下の階層のブログが利用することを許可する」にチェックを入れておくと、フォームの権限やZohoのカスタムフィールド設定の内容がそのまま下階層のブログに反映されます。
ポイント3:API連携機能を理解しよう!
お問合わせの内容はZoho側のタブという項目に更新されていきます。
主なタブの種類として、新規顧客は「見込み客」既存顧客は「連絡先」その他のお問合わせ内容は「問い合わせ」のタブに更新するように設定していきます。
Zohoでは連携させたいタブを指定することでお問合わせ内容を取得しています。
しかし、この場合だとお問合わせをしてきたお客様が新規顧客か既存顧客か判断できません。
そこでa-blog cmsでは、独自のプログラムによって顧客のデータベースと照らし合わせ、新規顧客と既存顧客に振り分け、該当しない方は新規顧客であると判断し「見込み客」に登録するように設定されています。
拡張アプリZohoの使い方
Zoho Form設定の中のフォームの権限設定ではフォームIDごとに、Zohoのどのスコープに対してInsert(データの挿入)及びUpdate(データの更新)ができるかを設定できます。
カスタムフィールドの設定でa-blog cmsのフォーム側の変数とZoho側のカスタムフィールドの紐付けを行います。この設定により、お問合わせフォームの情報をZoho CRMに取り込むことができます。
ポイント4:連携テスト時の注意点
お問合わせフォームの項目が多くなってくる当然のことながらエラーが起こりやすくなりうまく連携できないことがあります。何が原因なのかZoho側で知ることは残念ながらできません。
フォームの項目が多ければ原因も見つかりにくいためまずは連携する項目を少数に設定しエラーが起きても原因を見つけやすいよう対策しておきましょう!
感想
今回はZoho CRMとのAPI連携を行う上でつまずきやすい点や注意しておくべきポイントをご紹介しました。
連携作業をスムーズに行えることで拡張アプリZohoがより使いやすいサービスだと思っていただければ幸いです。
本記事は僕の実体験を含めたお話のため、API連携に関して初心者向けの内容にはなってしまいましたが、少しでも参考になればと思い書くことにしました。
今後も、a-blog cmsについて参考になるような記事を書いていければと思います。