動的コンテンツの作成

  • iPad

コンテンツ作成者は、エンドユーザが HCP に向けたカスタマイズコンテンツを生成し、Approved Email で共有できるように動的コンテンツを開発することができます。これにより、エンドユーザは、コスト計算、処方マトリックス、または個人用にカスタマイズされた再印刷物など、CLM コンテンツをプレゼンテーションしながら議論されたパーソナライズされたコンテンツについて HCP とフォローアップすることができます。

動的コンテンツでサポートされている言語は英語のみです。

動的コンテンツ は以下のコンポーネントで構成されます:

  • 動的コンテンツのテンプレート – コンテンツ作成者は、フォームフィールドを含む PDF ドキュメントであるダイナミックコンテンツテンプレートを作成します。これらのフォームフィールドには、対応する CLM コンテンツから個人用にカスタマイズされた値が入力されます。
  • CLM コンテンツ – コンテンツ作成者は、CRM または外部ソースからのデータ、計算、またはユーザ入力を含む CLM コンテンツを作成します。このデータは、動的コンテンツのテンプレートの特定のフォームフィールド ID にマップされます。
  • メールテンプレートまたはメールフラグメント – コンテンツ作成者は、動的コンテンツの個人用にカスタマイズされたバージョンを Approved Email で共有するためのメールテンプレートまたはメールフラグメントを作成します。

動的コンテンツを生成してエンドユーザとして HCP に送信する方法の詳細については、動的コンテンツの生成と送信を参照してください。

動的コンテンツテンプレートの作成

動的コンテンツのテンプレートは、次の要件を満たす必要があります:

  • フォームフィールドを含む PDF であること。各フィールド名が ID になっていること。
  • 任意のドキュメントタイプ (販促製品、参照ドキュメントなど) を使用して PromoMats/MedComms にアップロードする必要があります。

    CLM Admin Console で定義されている Vault (PromoMats/MedComms) インテグレーションユーザに、ドキュメントタイプへのアクセス権と、Vault からドキュメントソースファイルをダウンロードする権限があることを確認します。このユーザーは、動的コンテンツを生成するときにドキュメントを取得します。ドキュメントソースファイルのダウンロードの詳細については、Vault ヘルプを参照してください。

  • フォント全体を PDF に埋め込むことで、任意のフォントを使用できます。PDF ドキュメントへのフォントの埋め込みについて詳しくは、Adobe のドキュメントを参照してください。

動的コンテンツのテンプレート

生成された個人用にカスタマイズされたコンテンツ

CLM コンテンツの作成

コンテンツ作成者は、CLM コンテンツで 2 つの JavaScript メソッドを使用する必要があります。1 つは動的コンテンツを生成するためのメソッドで、もう 1 つはエンドユーザーが Approved Email メールを通じてコンテンツを共有できるようにするためのメソッドです:

  • generateDynamicContent(vaultId, documentNum, account, expiryPeriod, allowDownload, displayName, values, callback) – PromoMats/MedComms から指定された動的コンテンツテンプレートを取得し、指定されたフィールド値を使用して個人用にカスタマイズされた PDF 版の CLM コンテンツを作成して発行します。この個人用にカスタマイズされた PDF は公開され、Veeva_Content_vod レコードに添付された Salesforce ファイルとして Veeva CRM に保存されます。
    • このメソッドは、CLM コンテンツ内のユーザアクションに関連付ける必要があります。エンドユーザがこのアクションを選択した場合、コンテンツの個人用にカスタマイズされた PDF 版がバックグラウンドで生成されている間、読み込み中を示すインジケータが表示されます。エンドユーザは、読み込み中を示すインジケータで [キャンセル] を選択し、この要求をキャンセルすることができます。
    • Veeva_Content_vod レコードの次のフィールドは、パラメータに基づいて入力されます:
    • Name – displayName パラメータから入力されます。これは、HCP がコンテンツへのリンクにアクセスしたときに HCP コンテンツプレーヤーに表示される名前です。
    • Account_vod – account パラメータから入力されます。これは、アカウントレコードのルックアップフィールドです。
    • Allow_Source_Download_vod – allowDownload パラメータから入力されます。この値を true に設定した場合、ダウンロードボタンが HCP コンテンツプレーヤーに表示されます。
    • Expiration_Date_vod – expiryPeriod パラメータから入力されます。これは、コンテンツの作成日と expiryPeriod を足した値です。もし expiryPeriod が空の場合、このフィールドには入力されません。
    • Dynamic_Content_Vault_Doc_ID_vod – documentNum パラメータから入力されます。これは、PromoMats/MedComms に保存されている動的コンテンツテンプレートのドキュメント ID で、使用および共有されている動的コンテンツテンプレートを特定するために使用します。
    • Dynamic_Content_Vault_Instance_ID_vod – vaultId パラメータから入力されます。これは、PromoMats/MedComms に保存されている動的コンテンツテンプレートの Vault インスタンスの ID です。
    • この values パラメータは、動的コンテンツテンプレートのフォームフィールドにマップされたフィールドと値を含む JSON オブジェクトです。values は、個人用にカスタマイズされたバージョンの生成時に解決されます。
    • サポートされるリクエストの合計サイズは 1MB です。
    • 画像を値として格納することができます。画像は base64 データ URI として格納する必要があります。例: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=
    • Veeva_Content_vod レコードは、generateDynamicContent メソッドの成功応答で返されるため、launchApprovedEmailWithVeevaContent の JavaScript メソッドに提供することができます。
  • launchApprovedEmailWithVeevaContent(email_template, email_fragments, veeva_content, callback) – 個人用にカスタマイズされた PDF へのリンクを含む CLM コンテンツから、Approved Email 内の指定されたメールテンプレートまたはメールフラグメントを起動します。このメソッドは、generateDynamicContent が個人用にカスタマイズされた PDF を生成した直後に Approved Email を表示するためのコールバック関数として使用することができます。

CLM コンテンツの作成の詳細については、HTML コンテンツの作成を参照してください。

サンプルコード

コピー

サンプルコード

// 1、現在のアカウント ID を取得してグローバルスコープ変数「accountId」に格納
function getCurrentAccount() {
    com.veeva.clm.getDataForCurrentObject("Account","Id", getTemplateDocId);
}

// 2、メールテンプレート (該当する場合はメールフラグメントも) を取得し、グローバルスコープ変数「myTemplate」に格納
function getTemplateDocId(result) {
    if (result.success == true) { 
        accountId = result.Account.Id;
        com.veeva.clm.getApprovedDocument("https://my-test-vault.veevavault.com","7002", generateContent);
    }
}

// 3、コンテンツを生成します。戻り値の型は、生成されたコンテンツの Veeva Content レコード ID  
function generateContent(result) {
    if (result.success == true) { 
        myTemplate = result.Approved_Document_vod__c.ID;
        vaultId = "https://my-test-vault.veevavault.com";
        documentNum = "7702";
        expiryPeriod = 30;
        allowDownload = true;
        displayName = "Natevba - Precision Targeting Report";
        
        // 生成されたコンテンツで解決する values
        var values = {};
        values.field1 = "1,000";
        values.field2 = "725";
        values.field3 = "100";
        values.field4 = "50";
        values.image1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=";

        // コンテンツの生成と、Approved Emai の起動
        com.veeva.clm.generateDynamicContent(vaultId, documentNum, accountId, expiryPeriod, allowDownload, displayName, values, launchAE);
    }    
}

// 生成されたコンテンツを添付した Approved Email を起動
function launchAE(result) {
    if (result.success == true) { 
        com.veeva.clm.launchApprovedEmailWithVeevaContent(myTemplate, "", result.id, callback);
    }
}

function callback(result) {}

エラーのトラブルシューティング

以下は、genericDynamicContent メソッドの使用時に発生する可能性のあるエラーです。

エラーメッセージ

コード

理由

ソリューション

ユーザに必要な構成がありません:{0}。

0 = Object/Object.Field API Name

1310

ユーザに generateDynamicContent() リクエストを実行するために必要な権限がありません。

エラーメッセージ内で指定されたオブジェクトまたはオブジェクトフィールドのユーザの OLS/FLS を有効にします。

インターネット接続がありません。

1311

インターネット接続がありません。システムが generateDynamicContent() リクエストを完了できません。

インターネットに接続し、再度お試しください。generateDynamicContent() リクエストの実行には、インターネット接続が必要です。 

PromoMats/MedComms Vault に接続できません。

1312

システムは、PromoMats/MedComms Vault と通信してドキュメントソースファイルを取得することができません。

CLM Admin Console で定義された Vault (PromoMats/MedComms) インテグレーションユーザの資格情報が有効であることを確認してください。

定義された document_num が見つかりません。

1313

指定された PromoMats/MedComms Vault 内に動的コンテンツのテンプレートが見つかりません。

指定された PromoMats/MedComms Vault に存在するドキュメントに動的コンテンツのテンプレートのドキュメント番号を設定してください。CLM Admin Console で定義された PromoMats/MedComms インテグレーションユーザがドキュメントタイプにアクセスできることを確認してください。

定義された document_num のソースファイルを取得できません。

1314

システムが動的コンテンツのテンプレートのソースファイルを取得できません。

CLM Admin Console で定義された Vault (PromoMats/MedComms) インテグレーションユーザに、ドキュメントのソースファイルのダウンロード権限を付与してください。

定義された document_num が定常状態にありません。

1315

指定された PromoMats/MedComms Vault 内の動的コンテンツのテンプレートが定常状態にありません。

動的コンテンツのテンプレートを PromoMats/MedComms で定常状態に移行してください。

定義された値の JSON の形式が正しくないため、コンテンツを生成できません。

1316

メソッドの values パラメータに渡された JSON オブジェクトの形式が正しくありません。

values パラメータの JSON オブジェクトが 有効であることを確認してください。例: { "field1": "100,000", "field2": "0.1%", "field3": "10%" }

定義されたドキュメントのテンプレートの形式が無効なため、コンテンツを生成できません。

1317

動的コンテンツのテンプレートを解析できません。

指定した動的コンテンツのテンプレートがフォームフィールドを含む PDF であることを確認してください。 

必要なパラメータがありません:{0}。

0 = フィールド名

1318

generateDynamicContent() リクエストに必要なパラメーターがありません。

必要なパラメータがメソッドに渡されていることを確認してください。 expiryPeriod が、唯一省略可能なパラメータです。 

コンテンツに expiryPeriod を適用できない場合、パラメータに “” を入力してください。

予期しないエラーが発生しました。

1319

システムへのこのリクエストはサポートされていません。このエラーは通常、提供されたコンテンツをシステムが処理できない場合に発生します。 

サポートされていないコンテンツのエラー:

  • リクエストサイズが 3MB を超えています。このエラーは、コンテンツに大きな画像の複数の base64 データ URI が含まれている場合に発生する可能性があります。
  • コンテンツにサポートされていない文字が含まれています

次の条件が満たされていることを確認してください:

  • リクエストサイズが 3MB 未満であること。画像を PNG 形式から JPG 形式に変換すると、より多くの画像をリクエストに含めることができます。
  • 動的コンテンツのテンプレートおよび指定された値に使用される文字が英語であること

メールテンプレートまたはメールフラグメントの作成

メールテンプレートまたはメールフラグメントには、{{DynamicContentLink}} トークンが含まれている必要があります。エンドユーザが動的コンテンツを含むメールを HCP に送信すると、このトークンは個人用にカスタマイズされた PDF への URL に置き換えられます。受領者がリンクにアクセスすると、PDF はHCP コンテンツプレイヤーに表示されます。詳細はApproved Email テンプレートを作成するおよびApproved Email フラグメントの作成をご確認ください。

{{DynamicContentLink}} トークンを含むメールテンプレートまたはメールフラグメントは、個人用にカスタマイズされた PDF バージョン (Veeva コンテンツレコード) をパラメータとして指定できるように launchApprovedEmailWithVeevaContent メソッドを使用して CLM から起動する必要があります。

{{DynamicContentLink}} トークンを含む Approved Email のコンテンツは、他の Approved Email エントリポイントには適用されません。他のエントリポイントから Approved Email を作成する際に選択するオプションとして表示されないようにするには、このコンテンツを非表示としてマークします。詳細はApproved Email コンテンツを表示しないようにするを参照してください。

動的コンテンツの期限が切れる

管理者は、CRM で公開された動的コンテンツを期限切れにすることができます。HCP が期限切れのコンテンツへのリンクにアクセスすると、エラーメッセージが表示されます。

公開済みの動的コンテンツを無効にするには:

  1. Dynamic_Content_vod レコードタイプを有数®、該当の Veeva_Content_vod レコードに移動します。
  2. 編集を選択します。
  3. Content_Status_vod フィールドで Expired_vod を選択します。
  4. 保存を選択します。

動的 CLM コンテンツをテストする

CLM テストユーザ (ユーザレコードで [Enable_CLM_Testing_Features_vod] チェックボックスがオンになっているユーザ) は、デバイス上で動的コンテンツをテストすることができます。テストユーザは、定常状態と非定常状態の両方の動的コンテンツのテンプレートを使用することができます。動的コンテンツのテンプレートに定常状態と非定常状態の両方のバージョンがある場合、最新バージョンが使用されます。