API応答フィルター
このページは機械翻訳を使用して翻訳されています。
機能の概要
フィルターまたはAPIフィルターとも呼ばれるAPI応答フィルターは、応答出力を単純化し、パフォーマンスを劇的に改善します。Coupa管理者は、API応答フィルターを作成および管理して、経費、申請書、請求書、発注書、ユーザーリソースを取得できます。これらのリソースの1つ以上に既定のフィルターを指定して、そのコントローラーのすべての呼び出しにそのフィルターを自動的に適用できます。また、複数のリソースタイプに適用するフィルターを定義できます。設定に使用したのと同じAPIフィルター詳細ページからAPIフィルターをテストできます。また、フィルターに加えられた変更の履歴も保持されます。
フィルターは、リモート承認者のコールアウトおよび税金エンジンのコールアウトでも使用できます。これらのタイプのコールアウトでは、フィルターを指定して、それらのエンドポイントに送信されるメッセージを簡略化できます。
Coupaの考え方
Coupaの既定のAPI応答には、サードパーティのシステムが必要とするよりも多くの情報が含まれている可能性があります。サービスが必要としない多くのレベルの関連付けを返すことができます。
コールアウトでは、リモートの承認者サービスまたは税務サービスに必要な情報よりも多くの情報を送信することもできます。これらのコールアウトタイプに設定されたフィルターを使用すると、メッセージ本文で送信するリソースフィールドを指定できます。
API応答フィルターは、コール応答の出力を削減できるので、外部サービスが必要とする以上のものを処理するために必要なオーバーヘッドなしで、サービスが必要とするものだけを送信します。
API応答フィルターは、以下のリソースに対して作成できます。
- 請求書
- 注文ヘッダー
- 注文品目
- ユーザー
- 経費ヘッダー
- 経費品目
- 申請書
APIフィルター作成ページは迅速な反復を可能にし、変更履歴を維持するので、フィルターをすばやくテストし、応答をチェックし、必要なものだけを取得するように変更できます。
仕組み
Coupa APIフィルターを使用して応答に必要なデータ量を制限する場合、送信されるデータが少ないほど、応答時間の待機時間が短くなります。システム統合に必要なものに出力を簡略化すると、最初の人間による評価時間が短縮され、後で解析と処理のための計算時間が短縮されます。
Coupa管理者およびapi_filters / index権限を持つシステム統合ユーザーは、[設定]> [統合]> [APIフィルター]でAPI応答フィルターインターフェイスを確認できます。
最初にシードされたフィルターは、パターン "default_ [ResourceName] _
既定のAPIフィルター
[ 既定] チェックボックスをオンにすると、そのリソースを取得するためのすべてのAPI呼び出しにフィルタが適用されます。各リソースには、デフォルトAPIフィルターを1つだけ含めることができます。
[既定] チェックボックスがオフの場合、そのリソースのGET呼び出しに?filter='[API Filter Name]'クエリ文字列param:
を追加することで、そのAPIフィルターを使用できます。
フィルター
APIフィルターは肯定的です。リストされた属性が応答に表示されることを意味します。これらのリソース属性を追加または削除して、テストの前にフィルターがリソースオブジェクトの属性をサードパーティのシステムに渡し、 保存 するようにします。
フィルター構文では、複数のドキュメントタイプを使用することもできます。既定では、新しいフィルターには、フィルター作成の最初のステップで選択したリソースに対応する属性が含まれますが、他のドキュメントタイプに適用するフィルターテキストを追加できます。コールアウトまたはWebフックが別のドキュメントのAPI応答フィルターを使用する場合、他のドキュメントのフィルター仕様は無視されます。
以下は、2つのドキュメントタイプが強調表示されたフィルター構文のスクリーンショット例です。図の下でクリックすると、選択可能なテキストを含む同じフィルターを展開できます。
- ►クリックして、選択可能なテキストを含む請求品目および注文品目変更のフィルター構文の例を示します。
[
"id",
"created_at",
"updated_at",
"need_by_date",
"status",
"submitted_at",
"ship_to_attention",
"line_count",
"exported",
"total",
{
"custom_fields": [
"migrated_po_number",
"last_integrated_successfully"
]
},
{
"currency": [
"code",
"decimals"
]
},
{
"requested_by": [
"id",
"login",
"fullname",
"email",
"work_level"
]
},
{
"ship_to_address": [
"name",
"location_code",
"street1",
"street2",
"city",
"state",
"postal_code",
"vat_number",
"local_tax_number",
"company_code"
]
},
{
"requisition_lines": [
"id",
"description",
"line_num",
"need_by_date",
"order_line_id",
"quantity",
"receipt_required",
"source_part_num",
"unspsc_code",
"status",
"total",
"line_type",
"unit_price",
{
"dci_category": [
"name",
{
"lookup": [
"name"
]
}
]
},
{
"account": [
"name",
"code",
"segment_1",
"segment_2",
"segment_3",
{
"account_type": [
"name"
]
}
]
},
{
"ul_contract": [
"name",
"description",
"external_ref_num"
]
},
{
"custom_fields": [
"ext_line_num",
"material_type",
]
},
{
"commodity": [
"name",
"category",
"subcategory"
]
},
{
"account_allocations": [
"amount",
"pct",
{
"account": [
"name",
"code",
"segment_1",
"segment_2",
"segment_3",
{
"account_type": [
"name"
]
}
]
}
]
},
{
"attachments": [
"id",
"created_at",
"updated_at",
"type",
"intent",
"file",
"file_file_name",
"file_file_size"
]
},
{
"currency": [
"code"
]
},
{
"supplier": [
"name",
"display_name",
"number",
"pcard_account",
{
"custom_fields": [
"payment_term_list"
]
}
]
},
{
"uom": [
"code"
]
}
]
},
{
"order_line_changes": [
"id",
"created_at",
"updated_at",
"line_num",
"description",
"need_by_date",
"order_header_change_id",
"order_line_id",
"price",
"quantity",
"total",
"paid_amount",
{
"custom_fields": {}
}
]
},
{
"current_approval": [
"id",
"approvable_type",
"approvable_id",
"delegate_id"
]
},
{
"created_by": [
"id",
"login",
"fullname",
"email",
"work_level"
]
},
{
"updated_by": [
"id",
"login",
"fullname",
"email",
"work_level"
]
},
{
"preparer": [
"id",
"login",
"fullname",
"email",
"work_level"
]
}
]
リセット
フィルターを元のリストに戻したい場合は、最初にシードされた値にフィルターを リセットするか、参照のために変更の履歴を拡張することができます。
テスト
フィルターの出力応答を確認するには、最初に [フィルター のテスト]フィールドに既知のID値を入力し、[テスト]をクリックします。すべての標準的な役割のセキュリティは、テストで確認できるものに適用されますが、保存したAPIフィルターは、パラメーターフィールドの指定されたサブセットを読みやすいJSON形式で応答します。
オペレーターとして
fieldsクエリ演算子を使用すると、レスポンスの本文に必要なフィールドを渡すことができます。フィールド値の形式はJSONです。以下の例を参照してください:
?fields=["id","invoice_number",{"invoice_lines":["id","line_num"]}]
利用可能性
この機能はすべてのCoupa顧客が利用できます。