発注書と発注変更のエンタープライズリソース計画への連携
Coupaの発注書と発注変更をエンタープライズリソース計画と連携するための手順。
API設定に関する一般的な考慮事項
Open Connect APIアクセス(R29以降)
GraphQL (R30以降)
制限されたペイロード-フィールドとAPIフィルター
CoupaのAPIは、デフォルトで多くのデータを返します(例えば、関連するオブジェクトの完全なオブジェクト)。 APIリターンペイロードのサイズは非常に大きくなることがあり、その場合所要時間も長くなります。
作業をより効率化するため、Coupaには、オブジェクトのスキーマ全体やすべての関連付けの代わりに、制限されたJSONまたはXMLレスポンスを返すフィールドクエリパラメーターとAPIフィルターが含まれています。 詳細はAPIレスポンスフィルターをご参照ください。
この記事で説明されているユースケース
この文書は、エンタープライズリソースプランニングシステムの発注書番号が、Coupaの発注書番号によって決定されることを前提としています。 この記事では、Coupa発注書をエンタープライズリソース計画に連携するための3つの異なるオプションについて説明します(作成と更新の両方)。
これらのオプションは、Coupaからの連携の監視方法を変更するものです。
オプション1:請求書ヘッダーで定義したカスタムフィールドに基づく単純なモニタリング
オプション2:連携履歴レコードを使用した高度なモニタリング
オプション3: Coupa連携の完全なモニタリングの活用
3つのオプションすべてで、Coupa発注書はエクスポートフラグに基づいてエンタープライズリソース計画にプッシュされます。
発注書連携でエラーが発生した場合は、CoupaのUI上で発注書を手動で修正する必要があります。この操作によりエクスポートフラグがリセットされ、発注書は次回の実行時に再び処理されます。
Coupaサポートに連絡し、変更のたびに最後にエクスポートした発注書をリセットするようオプションを有効にすることができます。 この設定はUIにのみ適用されます。 APIで行われた変更は、エクスポート済みステータスを変更するものではありません。
APIの専用連携と連絡先を作成する
上記のオプション2と3については、次を作成する必要があります。
実装するAPIオーケストレーションごとの専用連携。
連携に失敗した場合にアラートが送信される各連携の1つ以上の連携連絡先。
Coupaサポートに連絡し、ドキュメントタイプ別連携履歴へのリンクを有効にするオプションを有効にすることができます。 このオプションでは、設定ページにリンクが追加され、文書タイプごとに完全な連携履歴が表示されます
オプション1:カスタムフィールドに基づく単純なモニタリング
Description
このシナリオでは、各発注書に対して、1つ以上の発注書ヘッダーカスタムフィールドに現在の連携ステータスが追加されます。 Integration Statusという名前のカスタムフィールド cf - integration - status を追加しました。 標準発注書データテーブルを使用し、次のURLでドキュメントの連携ステータスをフォローアップしてください。
https ://<your instance hostname>/order_headersオーケストレーションダイアグラム
手順/API呼び出しの詳細
手順1 | エンタープライズリソース計画で作成/更新するCoupa発注書のリストと詳細を取得します。 選択基準にはエクスポートフラグと発注書ステータスが含まれます。 クエリパラメーターshow_deleted_linesは、エンタープライズリソース計画で発注書の更新を処理するために必要になる場合があります |
|---|---|
メソッド | GET |
API |
|
クエリパラメータ |
|
サンプルURL | https ://<your instance hostname>/api/purchase_orders? filter =<your API filter name>& offset = 10 & exported = false&show_deleted_lines = true&status [in] = issued, canceled, closed |
応答本文のサンプル |
show_deleted_lines = true クエリパラメータはPO変更用です。手順2 | 個々の発注書をエクスポート済みとしてマーク |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | 該当なし* |
レスポンス本文のサンプル | |
このコールでは、URLに ? exported = true を含めると、ペイロードは必要ありません。 ここでは、エンタープライズリソース計画での発注書の作成/更新が行われます。
ステップ3 | レポートのカスタムフィールドを更新する |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ | |
サンプルURL | |
クエリ本文のサンプル | または |
レスポンス本文のサンプル | または |
オプション2:連携履歴を使用した高度なモニタリング
Description
このシナリオでは、発注書ごとに次のことを行います。
ドキュメントの以前の連携履歴レコードを解決する
連携履歴レコードを作成する
エラーが発生した場合に連携連絡先にアラートを送信する
標準発注書連携履歴データテーブルを使用し、ドキュメントの連携ステータスをフォローアップしてください。 これは次の場所で見つけることができます。
https ://<your instance hostname>/integration_history_records/purchase_ordersレスポンスコードのフィルターを使用すると、正常に複製された文書と失敗した文書を区別できます。
オーケストレーションダイアグラム
手順/API呼び出しの詳細
手順1 | エンタープライズリソース計画で作成/更新するCoupa発注書のリストと詳細を取得します。 選択基準にはエクスポートフラグと発注書ステータスが含まれます。 クエリパラメーターshow_deleted_linesは、エンタープライズリソース計画で発注書の更新を処理するために必要になる場合があります |
|---|---|
メソッド | GET |
API |
|
クエリパラメータ |
|
サンプルURL |
|
応答本文のサンプル |
手順2 | 個々の発注書をエクスポート済みとしてマーク |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |
ここでは、エンタープライズリソース計画での発注書の作成/更新が行われます。
ステップ3 a | 未解決の連携履歴レコードを取得する |
|---|---|
メソッド | GET |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |
ステップ3 b | 以前の連携履歴レコードを解決する |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |
ステップ4 a | 連携履歴を作成する(成功) |
|---|---|
メソッド | POST |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | |
レスポンス本文のサンプル | |
ステップ4 b | 連携履歴を作成して(エラー)、連携連絡先にアラートを送信する |
|---|---|
メソッド | POST |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | |
レスポンス本文のサンプル | |
オプション3: Coupa連携の完全なモニタリングの活用
説明
このシナリオでは、次の項目を追跡する連携実行を作成します。
連携のステータス(保留中/開始済み/エラー/成功/失敗)
処理された発注の合計数
成功とエラーの数
連携エラーのリストとそのステータス(解決済みかどうか)
発注書ごとに次のことを行います。
ドキュメントの以前の連携履歴レコードを解決する
連携履歴レコードを作成する
エラーが発生した場合、連携エラーと連携連絡先へのアラートを作成する
連携のすべての連携実行は、次の場所でモニタリングできます。
https ://<your instance hostname>/integrations/<your integration id>/integration_runs標準発注書連携エラーデータテーブルを使用し、連携エラーのあるすべての発注書をリストアップします。 これは次の場所にあります。
https ://<your instance hostname>/integration_errors標準発注書連携履歴データテーブルを使用し、正常に連携されたすべての発注書をリストアップします。 これは次の場所にあります。
https ://<your instance hostname>/integration_history_records/purchase_ordersオーケストレーションダイアグラム
手順/API呼び出しの詳細
手順1 | 統合実行の作成 |
|---|---|
メソッド | POST |
API |
|
クエリパラメータ | 該当なし |
クエリ本文のサンプル | |
レスポンス本文のサンプル | |
手順2 | エンタープライズリソース計画で作成/更新するCoupa発注書のリストと詳細を取得します。 選択基準にはエクスポートフラグと発注書ステータスが含まれます。 クエリパラメーターshow_deleted_linesは、エンタープライズリソース計画で発注書の更新を処理するために必要になる場合があります |
|---|---|
メソッド | GET |
API |
|
クエリパラメータ |
|
サンプルURL |
|
応答本文のサンプル |
ステップ3 | インテグレーションの実行を開始する |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ | 該当なし |
クエリ本文のサンプル | |
レスポンス本文のサンプル | |
ステップ4 | 個々の発注書をエクスポート済みとしてマーク |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |
ここでは、エンタープライズリソース計画での発注書の作成/更新が行われます。
ステップ5 a | 未解決の連携履歴レコードを取得する |
|---|---|
メソッド | GET |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |
ステップ5 b | 以前の連携履歴レコードを解決する |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |
ステップ6 a | 未解決の連携エラーレコードを取得する |
|---|---|
メソッド | GET |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |
ステップ6 b | 以前の連携履歴レコードを解決する |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ | 該当なし |
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |
ステップ7 a | 連携履歴の作成する(成功) 連携実行を参照する必要があります |
|---|---|
メソッド | POST |
API |
|
クエリパラメータ |
|
サンプルURL |
|
クエリ本文のサンプル | |
レスポンス本文のサンプル | |
ステップ7 b | 連携エラーを作成して連携の連絡先にアラートを送信。連携実行を参照する必要があります |
|---|---|
メソッド | POST |
API |
|
クエリパラメータ | 該当なし |
クエリ本文のサンプル | |
レスポンス本文のサンプル | |
手順8 | 連携実行を正常に終了 |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ | 該当なし |
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |
連携実行中に一般的な障害が発生した場合。
ステップx | 連携実行の失敗を報告 |
|---|---|
メソッド | PUT |
API |
|
クエリパラメータ | 該当なし |
クエリ本文のサンプル | 該当なし |
レスポンス本文のサンプル | |