SurveyInvitationLinkShortener インターフェース
カスタム SurveyInvitationLinkShortener のインスタンスを作成するために Salesforce がコールするクラスファクトリーを提供するには、このインターフェースを使用します。
名前空間
使用方法
SurveyInvitationLinkShortener インターフェースのインスタンスを実装して、SMS、WhatsApp、Facebook Messenger などの顧客が関係しているチャネル経由で短縮 URL として配布できるアンケートへの招待を短くします。
特別なアクセスルール
このインターフェースを実装するには、Salesforce 組織で Salesforce Feedback Management ライセンスを有効にする必要があります。
SurveyInvitationLinkShortener の実装例
これは、sfdc_surveys.SurveyInvitationLinkShortener インターフェースの実装例です。
このサンプルコードでは、認証に指定ログイン情報が使用されます。指定ログイン情報についての詳細は、「コールアウトエンドポイントとしての指定ログイン情報」を参照してください。
1public class SurveyInvitationLinkShortenerImpl implements sfdc_surveys.SurveyInvitationLinkShortener {
2 public String getShortenedURL(String invitationURL) {
3 return shortenUrlUsingBitlyService(invitationURL);
4 }
5 public String shortenUrlUsingBitlyService(String invitationURL) {
6 HttpRequest request = new HttpRequest();
7 request.setEndpoint('callout:bitly/v4/shorten');
8 request.setMethod('POST');
9 request.setHeader('Authorization', 'Bearer {!$Credential.Password}');
10 request.setHeader('Accept', 'application/json');
11 request.setHeader('Content-Type', 'application/json');
12 request.setBody(JSON.serialize(new Map<String, Object>{
13 'group_guid' => '{!$Credential.UserName}',
14 'long_url' => invitationURL
15 }));
16
17 Http http = new Http();
18 HttpResponse res = http.send(request);
19
20 Object result = JSON.deserializeUntyped(res.getBody());
21 if (result instanceof Map<String, Object>) {
22 Map<String, Object> resultMap = (Map<String, Object>) result;
23 Object shortenedLinkVal = resultMap.get('link');
24 if(shortenedLinkVal != null && shortenedLinkVal instanceof String) {
25 return (String) shortenedLinkVal;
26 }
27 }
28 return invitationURL;
29 }
30}