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製の顧客画面を構築しました。

技術スタック

CRMSalesforce
FrontendNext.js / React / TypeScript / Tailwind CSS
SalesforceApex / LWC / Flow Automation
IntegrationREST API / Platform Events
SecurityOAuth / Named Credentials / Sharing Rules
CI/CDGitHub Actions / Salesforce CLI

主要機能

01

Lightning Web ComponentsによるSalesforce画面

02

Platform Eventsを用いたイベント駆動同期

03

注文・契約・問い合わせ状況を確認する顧客ポータル

04

Salesforce Sharing Rulesによるレコード単位の権限制御

05

同期漏れを補うScheduled Apexの定期再同期

注力した点

CRM層でのアクセス制御

OAuthとSalesforce Sharing Rulesを組み合わせ、ポータル側だけでなくプラットフォーム側でもレコード権限を保証しました。

イベント連携と定期照合の併用

Platform Eventsによるリアルタイム連携に定期再同期を組み合わせ、イベント欠落時もデータ整合性を回復できる設計にしました。