Zoho Writerの差し込みAPIでのマージフィールドIDとサブフォームフィールドの管理方法

Zoho Writerの差し込みAPIでのマージフィールドIDとサブフォームフィールドの管理方法

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

1. マージ処理中にマージ項目の値が正しく差し込まれたり置換されたりしないのはなぜですか?

マージ値が正しく置き換えられない、または出力ドキュメントで欠落している場合、マージ入力データ内で正しい項目 ID に値が渡されていない可能性があります。この問題を回避するには、正確な項目 ID を使用していることを確認してください。

2. マージ項目 ID を取得し、Merge API で使用する方法

オプション A:Writer のユーザーインターフェイスから項目 ID を取得する
  1. マージテンプレートを開き、左側パネルのAutomateタブに移動します。
  2. マージパネルで項目を管理をクリックし、項目 ID を表示を選択して、正確な項目 ID を取得します。
  3. サブフォーム項目 ID の場合:
    • Subformタブに移動します。
    • サブフォームを展開し、項目 ID を表示をクリックして項目 ID を表示・コピーします。

メイン項目 ID


サブフォーム項目 ID


オプション B:API を使用して項目 ID を取得する

項目 ID は、Writer の REST APIDeluge タスクを使用してプログラムから取得することもできます。

3. PDF テンプレートでサブフォームや複数行項目の値が正しくマージされないのはなぜですか?

PDF テンプレート内の繰り返し領域でサブフォームの値を表示・置換する際には、既知の技術的な制限があります。この制限を解消し、PDF テンプレートでの繰り返し領域のマージにおけるユーザー体験を改善できるよう、現在対応を進めています。

回避策データが正しく反映されるようにするには、テンプレート内にテキストボックスを挿入し、その中に繰り返しテーブルまたは繰り返し領域を配置してください。これにより、データが期待どおりにマージされます。


マージテンプレートでは、サブフォーム項目や関連リスト項目は、正しくマージされるように特定の形式で渡す必要がある特別なマージ項目です。

サブフォーム項目をマッピングする手順:
  1. Writer のマージテンプレートで、繰り返しボタン(詳細マージ項目内)を使用して、サブフォームテーブルまたは繰り返し領域を挿入します。
  2. 前述の質問 2 の手順に従ってサブフォーム項目や関連リスト項目のマージ項目 ID を取得し、以下の形式で入力 JSON データ内に値をマッピングします。
例 #1:API 経由でサブフォーム/関連リスト項目を含むマージ入力データを指定するサンプルコード

{

'data': [

{

'customer_name': 'Amelia',

'customer_address': '13th 町名・番地, USA',

'customer_email_address': 'amelia@zylker.com',

'customer_phone_number': '9876543210',

'invoice_number': '123456',

'商品': [

{

'商品。item_code': '123',

'商品。item_name': 'Fastrack Revoltt FS1',

'商品。item_description': 'Specifications',

'商品。item_replacement': 'はい'

},

{

'商品。item_code': '1278',

'商品。item_name': 'Samsung Refrigerator',

'商品。item_description': 'Specifications',

'商品。item_replacement': 'はい'

}

]

},

{
'customer_name': 'John',
'customer_address': '15th 町名・番地, India',
....
}

]

}
例 #2:Deluge でサブフォーム/関連リスト項目をマッピングするサンプルコード

マージデータに、商品repairsのように 2 つのサブフォームが含まれている場合は、次の方法を使用します。
  • CRM、Recruit、People などとの連携では、getRecordsなどの API を使用してデータを取得します。
  • 上記の例のように、メイン項目とサブフォーム項目の両方に値をマッピングします。

dataMap = Map();

recordsData。put('customer_name': 'Amelia');

recordsData。put('customer_address': '13th 町名・番地 USA');

recordsData。put('customer_email_address': 'amelia@zylker.com');

recordsData。put('customer_phone_number': '9876543210');

recordsData。put('invoice_number': '123456');

 

// サブフォーム 1

itemsList = list();

itemMap = Map();

itemmap。put('商品。item_code': '123');

itemmap。put('商品。item_name': 'Fastrack Revoltt FS1');

itemmap。put( '商品。item_description': '<p><b>Specifications</b></p>');

itemmap。put('商品。item_replacement': 'はい');

itemsList。追加する(itemmap);

 

// サブフォーム 2

repairList = list();

repairDetails = Map();

repairDetails。put('Repairs。Service_code', 'R100');

repairDetails。put('Repairs。説明', 'Faulty belt');

repairDetails。put('Repairs。数量', '5');

repairDetails。put('Repairs。価格', 10000);

repairList。追加する(repairDetails);

 

recordsData。put('商品', itemsList);

recordsData。put('Repairs', repairList)

 

mergedata = Map();

mergedata。put('merge_data', {'data': recordsData});

// 以下のように、このマージデータを該当するマージ API に渡します

 

Zoho。writer。mergeAndSend('eb4kob4cf65bb6d074af7a7de21e561119eb9', 'pdf', 'amelia@zylker.com', mergedata, 'writer_name');

その他の詳細については、CRM 連携ガイドを参照してください。

Notesすべてのマージ項目タイプに値を渡す方法についての詳細なガイドは、マージ項目の包括的ドキュメントを参照してください。