強化された API デザイナーで統合を強化しましょう。

API Designer モジュールに大幅な機能強化を加えたことをお知らせいたします。

これらの機能強化により、さらに効率的で強力なカスタム API を構築できるようになります。一括操作の改善、選択した API 機能の拡張、複数のフィールド条件の使用の強化に重点を置いています。

これらの機能強化の詳細を見てみましょう。

機能強化 1: UPDATE/UPSERT レコードの一括操作サポート

API デザイナー: 一括操作のサポート

最新のアップデートにより、レコードの更新またはアップサートを一括操作で実行できるようになりました。この機能強化により、1 回のリクエストで複数のレコードを作成または更新できるようになり、API のやり取りが効率化され、時間が節約されます。

主な特長:

  • API を作成: パラメータ bulk="true" を渡すことで、単一のリクエストで複数のレコードを作成します。 関連ドキュメント
  • API の更新: 以前は、リクエストごとに 1 つのレコードしか更新できませんでした。現在は、Where 条件を一致させることで、1 つのリクエストで複数のレコードを更新できます。 関連ドキュメント

一括記録の制限: 50

サンプル使用例:

連絡先モジュール: 1 回のリクエストで、任意のフィールドの複数のレコードを更新します。たとえば、特定の条件に一致させることで複数の連絡先レコードを更新したり、存在しない場合は新しいレコードを作成したりできます。


  

<?xml version="1.0"?>   <api method="post" module="Contacts">         <upsert bulk="true">             <where>                 <field name="mobile" condition="eq" value="@mobile"></field>              </where>             <update>               <record>                   <field name="mobile" value="@mobile"></field>                   <field name="email" value="@email" presence="optional"></field>                   <field name="lastname" value="@lastname" presence="optional"></field>               </record>             </update>             <create module="Contacts" bulk="true">                 <record>                   <field name="mobile" value="@mobile"></field>                   <field name="email" value="@email" presence="optional"></field>                   <field name="lastname" value="@lastname" presence="optional"></field>               </record>             </create>             <return>                 <field name="mobile"></field>                 <field name="email"></field>                 <field name="lastname"></field>             </return>         </upsert>     </api>


  

<?xml version="1.0"?>   <api method="post" module="Contacts">         <upsert bulk="true">             <where>                 <field name="mobile" condition="eq" value="@mobile"></field>              </where>             <update>               <record>                   <field name="mobile" value="@mobile"></field>                   <field name="email" value="@email" presence="optional"></field>                   <field name="lastname" value="@lastname" presence="optional"></field>               </record>             </update>             <create module="Contacts" bulk="true">                 <record>                   <field name="mobile" value="@mobile"></field>                   <field name="email" value="@email" presence="optional"></field>                   <field name="lastname" value="@lastname" presence="optional"></field>               </record>             </create>             <return>                 <field name="mobile"></field>                 <field name="email"></field>                 <field name="lastname"></field>             </return>         </upsert>     </api>

 

この機能強化によりワークフローが合理化され、一括操作に必要な API 呼び出しの数が削減されます。

機能強化 2: 親モジュール フィールドを返す API を選択

API デザイナー: 強化された Select API

Select API の機能が拡張され、参照フィールド モジュールのフィールドが含まれるようになりました。この機能強化により、1 回のリクエストで包括的なデータを取得できるようになります。

主な特長:

  • 以前は、Select API は現在のモジュールからのみフィールドを取得できました。
  • 参照フィールド モジュールからもフィールドを選択できるようになりました。

サンプルユースケース - ケースと連絡先の関係 (N:1):

  • 関連する連絡先の電話番号とともにケースレコードを取得します。
  • 連絡先の名と姓とともにケース レコードを取得します。
  • 「割り当て先」ユーザーの携帯電話番号とフルネームを含むケース レコードを取得します。
 

この機能強化によりワークフローが合理化され、一括操作に必要な API 呼び出しの数が削減されます。

機能強化 2: 親モジュール フィールドを返す API を選択

API デザイナー: 強化された Select API

Select API の機能が拡張され、参照フィールド モジュールのフィールドが含まれるようになりました。この機能強化により、1 回のリクエストで包括的なデータを取得できるようになります。

主な特長:

  • 以前は、Select API は現在のモジュールからのみフィールドを取得できました。
  • 参照フィールド モジュールからもフィールドを選択できるようになりました。

サンプルユースケース - ケースと連絡先の関係 (N:1):

  • 関連する連絡先の電話番号とともにケースレコードを取得します。
  • 連絡先の名と姓とともにケース レコードを取得します。
  • 「割り当て先」ユーザーの携帯電話番号とフルネームを含むケース レコードを取得します。

  

<?xml version="1.0"?> <api method="get">     <select module="Cases">         <record>             <field name="title"></field>             <field name="casestatus"></field>             <field name="assigned_user_id"></field>             <field name="createdtime"></field>             <field name="case_no"></field>             <field name="assigned_user_id" module="Users">                 <select>                     <field name="first_name"></field>                     <field name="last_name"></field>                     <field name="userlabel"></field>                 </select>             </field>             <field name="contact_id" module="Contacts">                 <select>                     <field name="firstname"></field>                     <field name="lastname"></field>                     <field name="mobile"></field>                 </select>             </field>             <field name="group_id" module="Groups">                 <select>                     <field name="groupname"></field>                 </select>             </field>         </record>         <where>             <field name="contact_id" module="Contacts">                 <select>                     <where>                         <field name="lastname" value="@name"></field>                     </where>                 </select>             </field>         </where>     </select> </api>


  

<?xml version="1.0"?> <api method="get">     <select module="Cases">         <record>             <field name="title"></field>             <field name="casestatus"></field>             <field name="assigned_user_id"></field>             <field name="createdtime"></field>             <field name="case_no"></field>             <field name="assigned_user_id" module="Users">                 <select>                     <field name="first_name"></field>                     <field name="last_name"></field>                     <field name="userlabel"></field>                 </select>             </field>             <field name="contact_id" module="Contacts">                 <select>                     <field name="firstname"></field>                     <field name="lastname"></field>                     <field name="mobile"></field>                 </select>             </field>             <field name="group_id" module="Groups">                 <select>                     <field name="groupname"></field>                 </select>             </field>         </record>         <where>             <field name="contact_id" module="Contacts">                 <select>                     <where>                         <field name="lastname" value="@name"></field>                     </where>                 </select>             </field>         </where>     </select> </api>

 

この機能強化により、詳細かつ相互接続されたデータにアクセスできるようになり、データ取得プロセスが簡素化されます。

機能強化 3: Where 句での複数のフィールド条件のサポートを追加

API デザイナー: 高度な Where 句

このアップデートにより、Select クエリの Where 条件で複数のフィールドを使用できるようになります。この機能強化により、データのフィルタリングの柔軟性と精度が向上します。

主な特長:

  • 複数のフィールド条件: 現在のモジュールから複数のフィールドを追加するか、where 条件でフィールド モジュールを参照します。
  • 接着パラメータ: 複数の条件を組み合わせるには、接着パラメータ (glue="or" または glue="and") を使用します。

サンプルユースケース - シンプルモジュール:

  • 「販売ステージ」と「リードソース」に glue="or" の条件を追加します。
  • Where 条件に、contact_id や related_to などの参照フィールドを含めます。
 

この機能強化により、詳細かつ相互接続されたデータにアクセスできるようになり、データ取得プロセスが簡素化されます。

機能強化 3: Where 句での複数のフィールド条件のサポートを追加

API デザイナー: 高度な Where 句

このアップデートにより、Select クエリの Where 条件で複数のフィールドを使用できるようになります。この機能強化により、データのフィルタリングの柔軟性と精度が向上します。

主な特長:

  • 複数のフィールド条件: 現在のモジュールから複数のフィールドを追加するか、where 条件でフィールド モジュールを参照します。
  • 接着パラメータ: 複数の条件を組み合わせるには、接着パラメータ (glue="or" または glue="and") を使用します。

サンプルユースケース - シンプルモジュール:

  • 「販売ステージ」と「リードソース」に glue="or" の条件を追加します。
  • Where 条件に、contact_id や related_to などの参照フィールドを含めます。

  

<?xml version="1.0"?> <api method="get">     <select module="Potentials">         <record>             <field name="potentialname"></field>             <field name="amount"></field>             <field name="assigned_user_id"></field>             <field name="createdtime"></field>         </record>         <where glue="or">             <field name="sales_stage" value="@sales_stage" presence="optional"></field>             <field name="leadsource" value="@leadsource" presence="optional"></field>         </where>     </select> </api>


  

<?xml version="1.0"?> <api method="get">     <select module="Potentials">         <record>             <field name="potentialname"></field>             <field name="amount"></field>             <field name="assigned_user_id"></field>             <field name="createdtime"></field>         </record>         <where glue="or">             <field name="sales_stage" value="@sales_stage" presence="optional"></field>             <field name="leadsource" value="@leadsource" presence="optional"></field>         </where>     </select> </api>

 

複雑な例: 関連モジュールの参照フィールドを含む条件を追加することもできます。例:

  • 関係: 取引と連絡先の間、および取引とアカウントの間には関係 (N:1) があります。
  • 複合病態: glue="or" を使用して、contact_id と related_to に条件を追加します。パラメータ値の 1 つまたは両方が一致すると、応答が返されます。

 

複雑な例: 関連モジュールの参照フィールドを含む条件を追加することもできます。例:

  • 関係: 取引と連絡先の間、および取引とアカウントの間には関係 (N:1) があります。
  • 複合病態: glue="or" を使用して、contact_id と related_to に条件を追加します。パラメータ値の 1 つまたは両方が一致すると、応答が返されます。


  

<?xml version="1.0"?> <api method="get">     <select module="Potentials">         <record>             <field name="potentialname"></field>             <field name="amount"></field>             <field name="assigned_user_id"></field>             <field name="createdtime"></field>         </record>         <where glue="OR">               <field name="contact_id" module="Contacts">                   <select>                       <where>                           <field name="mobile" condition="eq" value="@mobile" presence="optional"></field>                       </where>                     </select>               </field>               <field name="related_to" module="Accounts">                     <select>                         <where>                             <field name="phone" condition="eq" value="@phone" presence="optional"></field>                         </where>                     </select>                 </field>             </where>     </select> </api>


  

<?xml version="1.0"?> <api method="get">     <select module="Potentials">         <record>             <field name="potentialname"></field>             <field name="amount"></field>             <field name="assigned_user_id"></field>             <field name="createdtime"></field>         </record>         <where glue="OR">               <field name="contact_id" module="Contacts">                   <select>                       <where>                           <field name="mobile" condition="eq" value="@mobile" presence="optional"></field>                       </where>                     </select>               </field>               <field name="related_to" module="Accounts">                     <select>                         <where>                             <field name="phone" condition="eq" value="@phone" presence="optional"></field>                         </where>                     </select>                 </field>             </where>     </select> </api>

 

この機能強化により、より複雑で洗練されたクエリを作成できるようになり、必要なデータを正確に取得できるようになります。

これらの機能強化により、API Designer モジュールのエクスペリエンスが大幅に向上し、より多用途で強力なものになると考えています。これらの新機能を試して、開発プロジェクトにどのようなメリットがあるかを確認してください。

より多くのアップデートをお待ちしております。

ハッピーコーディング!

 

この機能強化により、より複雑で洗練されたクエリを作成できるようになり、必要なデータを正確に取得できるようになります。

これらの機能強化により、API Designer モジュールのエクスペリエンスが大幅に向上し、より多用途で強力なものになると考えています。これらの新機能を試して、開発プロジェクトにどのようなメリットがあるかを確認してください。

より多くのアップデートをお待ちしております。

ハッピーコーディング!

 
 

サインアップして最新のアップデートを受け取りましょう!