Zoho WriterのマージAPIを使用してサブフォームフィールドと画像フィールドを統合する方法

Zoho WriterのマージAPIを使用してサブフォームフィールドと画像フィールドを統合する方法

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

概要

Zoho WriterのMerge APIを利用すると、Zoho CRMのデータを用いてドキュメントを動的に作成できます。スタンダード項目だけでなく、関連リスト(サブフォーム)項目や画像項目もマージ可能です。本ガイドでは、DelugeスクリプトとAPI通話の両方を使って、Writerテンプレートにサブフォームおよび画像項目をマージするために必要な手順を説明します。

手順

  1. Zoho Writerを開き、新しいマージテンプレートを作成します。
  2. 項目挿入オプションを使い、メインタブおよび関連リスト(サブフォーム)項目の両方のマージ項目を挿入します。
例 テンプレート内容:

こんにちは <<連絡先.名>>
メールの宛先 <<連絡先.メール>>

請求書 担当者
請求書番号
作成者
期限
<<請求書.請求書 担当者>>
<<請求書.請求書番号>>
<< 請求書. 作成者>>
<<請求書.期限>>

商品コード

商品説明

数量

単価

 

«商品.Product_Code»

 

«商品.Product_Description»

 

«商品.Item_Quantity»

 

«商品.Item_Price»

手順 2: API を利用して RL 項目情報を取得する

下記の Deluge コードを使用し、テンプレートからすべてのマージ項目を取得します。
項目 = invokeurl
[
種類: 取得する
connection:' '
];
info 項目;
Notes
  • を実際の Writer ドキュメント ID に置き換えてください。

  • 接続の設定方法については Zoho 外部連携 を参照してください。

手順 3: Map RL 項目を Deluge Script でマッピングする  

invoicesRecords = Zoho.crm.getRecordById('請求書', invoiceId);

 

CustomerInvoice = Map();

CustomerInvoice.put('First_Name', invoicesRecords.取得する('Account_Name').取得する('名前'));

CustomerInvoice.put('メール', invoicesRecords.取得する('Account_Name').取得する('id'));

 

invoicesList = list();

invoiceDetails = Map();

 

invoiceDetails.put('請求書.担当者', invoicesRecords.取得する('担当者').取得する('名前'));

invoiceDetails.put('請求書.Invoice_Number', invoicesRecords.取得する('Invoice_Number'));

invoiceDetails.put('請求書.Created_By', invoicesRecords.取得する('Created_By').取得する('名前'));

invoiceDetails.put('請求書.Due_Date', invoicesRecords.取得する('Due_Date'));

invoicesList.追加する(invoiceDetails);

 

productList = list();

productDetails = Map();

productDetails.put('商品.Product_Code', invoicesRecords.取得する('Product_Code'));

productDetails.put('商品.Product_Description', invoicesRecords.取得する('Product_Description'));

productDetails.put('商品.Item_Quantity', invoicesRecords.取得する('Item_Quantity'));

productDetails.put('商品.Item_Price', invoicesRecords.取得する('Item_Price'));

productList.追加する(productDetails);

 

 

CustomerInvoice.put('請求書', invoicesList);

CustomerInvoice.put('商品', productList)

 

 

mergedata = Map();

mergedata.put('merge_data', {'data': CustomerInvoice});

mergedata.put('件名', '請求書の詳細');

 

//任意

mergedata.put('メッセージ', '請求書を添付しておりますのでご確認ください。');

info mergedata;

 

Zoho.writer.mergeAndSend('eb4kob4cf65bb6d074af7a7de21e561119eb9', 'pdf', invoicesRecords.取得する('メール'), mergedata, '<CONNECTION_NAME>');

手順 4: RL 項目を含むサンプル JSON データ(API 経由)

{

'data': [

{

'First_Name': 'Amelia',

'メール': 'amelia@zylker.com',

'請求書': [

{

'請求書.担当者': 'John',

'請求書.Invoice_Number': 1279,

'請求書.Created_By': 'Amelia',

'請求書.Due_Date': '2020年7月10日'

}

]

'商品': [

{

'商品.Product_Code': 'A123',

'商品.Product_Description': 'モバイルケース',

'商品.Item_Quantity': 2,

'商品.Item_Price': 1000

}

]

}

]

}

手順 5: 画像項目の値をMerge APIで渡す

マージで画像項目を含めるには:
  • データAPI(バージョン5以上)を呼び出し、プレビュー画像ID [Preview_Id__s] をCRMのレスポンスから利用します。
  • 下記のパターンを使い、画像URLを手動で生成してください。
以下のスニペット内の変数を置き換えるサンプル値:
Info
タブ = '見込み客'; //該当するタブ名を入力
RecordId = '456789'; //CRMデータID
RLModuleName= '商品'; //関連リスト名
zohoapi_domain (US DCの場合) = 'https://www.zohoapis.com';//他のDCについては、APIドメインの一覧を こちらをご参照ください。

スタンダード画像項目の場合  

// データの取得
recordInfo = invokeurl
[
url :zohoapi_domain+'/crm/v5/'+タブ+'/'+RecordId;
種類 :取得する
connection:'<CONNECTION_NAME>'
];
recordInfoData = recordInfo.取得する('data').取得する(0);
dataMap = Map();
dataMap.put('メール',recordInfoData.取得する('メール'));
dataMap.put('Last_Name',recordInfoData.取得する('Last_Name'));
// 画像項目
if(recordInfoData.取得する('Image_Upload') != null)
{
imageId = recordInfoData.取得する('Image_Upload').取得する(0).取得する('Preview_Id__s');
imageUrl = zohoapi_domain+'/crm/v2.1/__attachment_preview/' + imageId; //生成された画像URL
dataMap.put('Image_Upload',imageUrl);
}
info dataMap;

関連リスト内の画像項目の場合  

画像項目がRLデータの場合は、RelatedデータData API(バージョン5以上)を利用してRLデータIDを取得します。その後、取得するデータAPIにRLデータIDを指定し、プレビュー用の画像IDを取得してください。
dataMap = Map();
//関連リストIDの取得
relatedListsIds = invokeurl
[
url:zohoapi_domain+'/crm/v5/'+タブ+'/'+RecordId+'/'+RLModuleName+'?項目=Parent_Id'
種類 :取得する
connection:'<CONNECTION_NAME>'
];
rlListData = relatedListsIds.取得する('data');
rlProductsList = List();
//関連リストデータの取得
for each データ in rlListData
{
rlId = データ.getJSON('id');
rlInfo = invokeurl
[
url :zohoapi_domain+'/crm/v5/+'RLModuleName+'/' + rlId
種類 :取得する
connection:'crm'
];
rlInfoData = rlInfo.取得する('data').取得する(0);
rlMap = Map();
rlMap.put('Product_Name',rlInfoData.getJSON('Product_Name'));
rlMap.put('Product_Code',rlInfoData.getJSON('Product_Code'));
//RL画像項目
if(rlInfoData.取得する('Image_Upload') != null)
{
rlImageId = rlInfoData.取得する('Image_Upload').取得する(0).取得する('Preview_Id__s');
imageUrl = zohoapi_domain+'/crm/v2.1/__attachment_preview/' + rlImageId; //生成された画像URL
rlMap.put('Image_Upload',imageUrl);
}
rlProductsList.追加する(rlMap);
}
//関連リストをdataMapに追加
dataMap.put('商品',rlProductsList);
info dataMap;

追加メモ

  • 常に /項目 APIを使用して、動的に項目名を取得し、正確にマッピングしてください。
  • Writer テンプレートのマージ項目名が、APIやDelugeスクリプトで使用しているJSONキーと完全に一致していることを確認してください。
  • すべての画像項目については、画像URLを構築する際に、__attachment_previewエンドポイントを使用します:
    https://{zohoapi_domain}/crm/v2.1/__attachment_preview/{Preview_Id__s}
  • CRM APIは画像プレビュー用のIDのみを提供し、完全なURLは提供されません。URLの構築が必要です。
  • 適切なAPIバージョンv5はCRM用、v2.1は添付ファイルプレビュー用)を使用してください。
  • Delugeを利用する場合:
    • 必ずコネクションが設定されていることを確認してください。
    • JSONのマッピングがWriter テンプレートの構造と一致している必要があります。
  • Writer ドキュメントIDはURL内で下記の形式で確認できます:
    /writer/開く/

    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



            Zoho Campaigns Resources

              Zoho WorkDrive Resources




                • Desk Community Learning Series


                • Digest


                • Functions


                • Meetups


                • Kbase


                • Resources


                • Glossary


                • Desk Marketplace


                • MVP Corner


                • Word of the Day


                • Ask the Experts









                                • Related Articles

                                • Zoho Connect Zoho コネクト

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Zoho Connection 拡張機能を利用して、組織内のフォーラムやマニュアルに投稿してください。Writerエディターで下書きを行い、直接Zoho 接続するに投稿します。Zoho 接続する ...
                                • Zoho Sign Zoho サイン

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Zoho WriterはZoho Signと連携しており、文書にデジタル署名をするためのスキャンソフトウェア、署名パッド、またはデジタル証明書を必要としません。できることWriterの拡張機能を利用して、Writer内から文書に電子署名します。 文書に電子署名を行うには、Zoho ...
                                • Zoho WriterとZoho CRMを接続する方法

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Zoho CRMタブのエントリに対してWriterで新規メールマージドキュメントを作成する Zoho Flowは、クラウドアプリを連携させて業務プロセスを自動化するワークフローを作成できるプラットフォームです。アプリ同士でデータを共有し、自動的に処理が実行されます。 ...
                                • Zoho WriterのためのGDPR

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Zoho WriterにおけるGDPRポリシーについての詳細は、こちらのリンクをご参照ください。
                                • Zoho WriterにおけるAI

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Zia は、Zoho Writer の AI 搭載ライティングアシスタントであり、さまざまな種類のドキュメントの作成、コンテンツ品質の向上、ドキュメント内容の整合性保護などの機能を備えています。 Zoho Writer における AI 機能の概要は以下のとおりです。 機能 説明 ...

                                Resources

                                Videos

                                Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                eBooks

                                Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                Webinars

                                Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                CRM Tips

                                Make the most of Zoho CRM with these useful tips.