Zoho CRMでmTLSが使えない?外部API連携で中継サーバーを導入した事例

Zoho CRMでmTLSが使えない?外部API連携で中継サーバーを導入した事例
担当のKです。
今回は、製造業のH株式会社様よりご相談いただいた「Zoho CRMと外部システム連携」についてご紹介します。
商談管理をZoho CRMへ集約したい一方で、連携先APIがmTLS(双方向TLS認証)必須という課題があり、一般的なWebhook連携だけでは対応できない状況でした。
結果として、Zoho CRMと外部APIの間に中継サーバーを構築することで、安全かつ安定した双方向連携を実現しました。
Zoho CRM単体ではmTLSに対応できない課題
H株式会社様では、外部の受発注システムとZoho CRMを連携し、商談情報や受注状況をリアルタイム同期したいという要望がありました。
しかし、連携先のAPI仕様を確認すると、認証方式としてmTLS(Mutual TLS)が必須でした。
mTLSとは?
通常のHTTPS通信ではサーバー証明書のみを確認しますが、mTLSではクライアント側も証明書を提示する必要があります。
金融機関や大企業向けシステムでは、セキュリティ強化のために採用されるケースが増えています。
Zoho CRM側の制約
Zoho CRMのAPI連携はOAuth認証が中心で、一般的なREST API連携には強い一方、クライアント証明書を利用したmTLS接続には対応していません。
そのため、以下のような直接接続は実現できませんでした。
- Zoho CRM → mTLS必須API
Zoho Creator案も検討
Zoho製品には、ローコード開発ツールであるZoho Creatorがあります。
最近では一部mTLS対応機能も追加されていますが、今回は採用を見送りました。
CRMとCreatorは別製品
Zoho Creatorは便利なサービスですが、Zoho CRMとは別のデータ基盤で動作します。
そのため、
- CRM側の商談情報
- Creator側の処理データ
- 外部APIのレスポンス
を同期管理する必要があり、構成が複雑になりやすい点が課題でした。
データ同期のリスク
たとえば以下のような問題が発生する可能性があります。
- CRM更新成功 → Creator同期失敗
- 外部API成功 → CRM反映失敗
今回の案件では、商談情報をZoho CRM側へ一元化したいという要望が強かったため、別サービスを経由する構成は避ける方針となりました。
中継APIサーバーを構築
最終的には、Zoho CRMと外部APIの間にNode.js製の中継サーバーを設置しました。
構成イメージは以下です。
- Zoho CRM
- VPS上のAPIサーバー
- mTLS必須の外部システム
実施した内容
今回の構成では、VPS上に以下を構築しました。
- Node.js + Express
- nginx
- PM2
- クライアント証明書管理
- APIログ監視
mTLS通信は中継サーバー側で処理し、Zoho CRMとは通常のHTTPS通信のみを行う形にしています。
この構成のメリット
中継サーバーを用意したことで、以下のメリットがありました。
- 商談データをCRMへ集約できる
- mTLS認証を柔軟に実装できる
- APIログやエラー監視を一元化できる
- 将来的な機能追加がしやすい
特に、リトライ処理や通信エラー管理を自由に実装できる点は大きな利点でした。
導入後の変化
導入後は、Zoho CRMの商談情報と外部システムの受注データを安定して双方向連携できるようになりました。
また、従来は手作業で行っていた確認作業も減少し、運用負荷の軽減にもつながっています。
mTLS対応APIとの連携は一見難しく感じますが、中継サーバーを適切に設計することで、Zoho CRMでも十分実用的な構成を実現できます。
まとめ
今回は、Zoho CRMとmTLS必須APIを連携するために、中継APIサーバーを導入した事例をご紹介しました。
Zoho CRMは非常に柔軟なCRMですが、特殊な認証方式を求められるケースでは、外部サーバーを組み合わせる構成が現実的になることもあります。
今後も、業務要件やセキュリティ要件に合わせながら、無理のないシステム構成を検討していきたいと思います。