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 Writerでの引用と参考文献の追加方法

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 概要 Zoho Writer では、研究論文や卒業論文を作成する際に参照した資料を一覧にするための引用と参考文献リストを追加できます。引用のコピー、編集、削除も行えます。 Zoho Writer で利用できる引用スタイル APA(第7版) MLA(第8版) ...
                                  • Zoho Writerで画像を挿入する方法

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 概要 画像はコンテンツを視覚的に強化し、アイデアをより効果的に伝えるのに役立ちます。Zoho Writer では、デバイス、オンラインライブラリ、接続済みサービスなど、複数のソースから画像を挿入できます。 前提条件 画像を使用する権利またはライセンスを保有していることを確認します。 ...
                                  • Zoho ChemStudio拡張機能で化学構造式を挿入する方法

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 概要 Zoho Writer で Zoho ChemStudio 拡張機能を使用すると、ChemStudio で作成した化学構造式を画像としてドキュメントに直接挿入できます。これにより、ツールを切り替えることなく、プロフェッショナルなドキュメントを作成できます。 前提条件 Zoho ...
                                  • Zoho Writerでの画像の配置方法

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 概要 配置コントロールを使うと、画像をテキストと同じ行に配置したり、ページ上で浮かせて配置したりと、思いどおりの位置に置くことができます。あらかじめ用意されたプリセットや詳細なカスタム設定を使用して、画像をページ、余白、段、または段落に対して揃えることができます。 手順 ...
                                  • Zoho Writerで記入可能なフォームを共有する方法

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 概要 Zoho Writer では、入力可能フォームを Zoho ユーザーと Zoho 以外のユーザーの両方と共有できます。アクセス権限の設定、パスワード保護の有効化、有効期限の設定、必要に応じたアクセスの取り消しによって、受信者のフォームへの操作方法を制御できます。 前提条件 ...

                                  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.