Salesforce顧客セルフサービスポータル
Salesforceの注文・契約・サポート情報を、レコード単位の権限制御を保ちながら顧客へ提供するポータル。
課題
顧客が注文、契約、サポート状況を確認するたびに担当者への問い合わせが必要で、対応負荷と外部システムへの二重入力が発生していた。 Salesforceを直接公開せず、顧客単位のアクセス制御とリアルタイム性を両立する必要があった。
ソリューション
Apex、Lightning Web Components、Platform EventsでSalesforce側を拡張し、Next.js製ポータルと非同期連携。OAuth、Named Credentials、Sharing Rulesでアクセスを制御し、Scheduled Apexによる定期再同期も実装した。
成果
顧客が注文・契約・問い合わせ状況を自ら確認できるようになり、担当者への確認依頼とシステム間の二重入力を抑える運用基盤を構築した。
チーム
3 members, 6 months
Salesforce・API連携・フロントエンド開発
役割
Salesforceカスタマイズ、連携設計、ポータル開発を担当。
ApexとLightning Web Componentsを開発し、イベント駆動の同期方式を設計してNext.js製の顧客画面を構築しました。
技術スタック
主要機能
Lightning Web ComponentsによるSalesforce画面
Platform Eventsを用いたイベント駆動同期
注文・契約・問い合わせ状況を確認する顧客ポータル
Salesforce Sharing Rulesによるレコード単位の権限制御
同期漏れを補うScheduled Apexの定期再同期
注力した点
CRM層でのアクセス制御
OAuthとSalesforce Sharing Rulesを組み合わせ、ポータル側だけでなくプラットフォーム側でもレコード権限を保証しました。
イベント連携と定期照合の併用
Platform Eventsによるリアルタイム連携に定期再同期を組み合わせ、イベント欠落時もデータ整合性を回復できる設計にしました。