SAP Concur
SAP Concurは、出張予約、経費レポート、請求書処理の管理を支援するクラウドベースの出張および経費管理プラットフォームです。
APIバージョン
SAP Concurコネクターは、次のSAP Concur APIを使用します。
- Expense Group Configurations v3
- Expenses v4
- Identity v4
- Image v1.0およびImage v3
- Invoice v3
- List v4
- List Item v4
- Payment Batches v1.1
- Reports v3およびReports v4
- Submit v1.1
- Travel Extension v4
- User Provisioning v4
- Vendor v3.1
これらのAPIと特定のトリガーおよびアクションとの関係の詳細については、トリガーおよびアクション別の必須スコープセクションを参照してください。
コネクションのセットアップ
SAP Concurコネクターでは、次のOAuth 2.0認証タイプがサポートされています。
必須スコープ
SAP Concurに接続する際は、EXPRPTスコープを追加する必要があります。 このスコープがない場合、SAP ConcurはForbidden Requestエラーを返します。
OAuth 2.0アプリケーションの作成
すべての認証方法で、SAP ConcurインスタンスにOAuth 2.0アプリケーションが必要です。 次の手順を実行して作成するか、OAuth 2.0 Application Management Toolのドキュメントを参照してください。
管理者資格情報を使用してSAP Concurインスタンスにサインインします。
Administration > Company > Authentication Adminに移動します。
メニューからOAuth 2.0 Application Managementを選択します。
Create new appをクリックします。
基本的なアプリケーション設定フィールドに入力します。
- App Name: アプリケーションのわかりやすい名前を入力します(例:
Workato Integration)。 - App Description: アプリケーションの説明を入力します。
- App Stage: Environment(Development、テスト、またはプロダクション)を選択します。
- Application Type: アプリケーションタイプ(Web Services (WS) ClientまたはIntegration with Concur Solutions (ICS) Client)を選択します。
- Allowed Grants: インテグレーションで必要なグラントを選択します。 パスワードグラントまたはリフレッシュトークングラント認証には、
passwordおよびrefresh_tokenを選択します。 認可コードグラント認証には、authorization_codeを選択します。 - Redirect URIs: 認可コードグラント認証用に
https://www.workato.com/oauth/callbackを入力します。 このフィールドは、authorization_codeが選択されている場合にのみ表示されます。
インテグレーションで許可するスコープを設定します。 少なくともEXPRPTを含めます。 使用する予定のトリガーおよびアクションで必要な追加スコープを特定するには、トリガーおよびアクション別の必須スコープセクションを参照してください。
または、Enter Manuallyをクリックし、次のスコープをコピーして貼り付けることで、コネクターのすべての機能を有効にできます。
ATTEND
CONFIG
expense.report.read
expense.report.readwrite
EXPRPT
identity.user.core.read
identity.user.coreenterprise.writeonly
identity.user.coresensitive.read
identity.user.enterprise.read
identity.user.externalID.writeonly
identity.user.ids.read
identity.user.sap.read
IMAGE
INVPMT
INVVEN
LIST
openid
spend.list.read
spend.list.write
spend.listitem.delete
spend.listitem.read
spend.listitem.write
spend.user.general.read
spend.user.general.writeonly
travel.user.general.read
travel.user.private.read
user.provision.read
user.provision.write
user.read
user.writeSubmitをクリックします。
Client IDとClient Secretを安全な場所に記録します。 これらの値は、Workatoでコネクションを確立するために必要です。
資格情報の保存
クライアントシークレットは一度だけ表示されます。 失くした場合は、再生成するか新しいアプリケーションを作成する必要があります。
リフレッシュトークングラント
プロダクションインスタンスでは、この認証方法を使用します。 リフレッシュトークン資格情報を受け取るには、Concurアカウントマネージャーにお問い合わせください。
会社リクエストトークンの生成
会社リクエストトークンを生成するには、次の手順を実行します。
SAP Concur管理パネルで、Administration > Company > Authentication Adminに移動します。
メニューからCompany Request Tokenを選択します。
前のセクションで作成したOAuthアプリケーションのApp ID(Client ID)を入力します。
Submitをクリックします。
成功ダイアログに表示される次の情報を記録します。
- Company UUID: 会社の一意の識別子。
- Company Request Token: 24時間で有効期限が切れる一時トークン。
トークンの有効期限
会社リクエストトークンは24時間後に有効期限が切れます。 24時間以内に次の手順を完了しない場合は、トークンを再生成する必要があります。
OKをクリックしてダイアログを閉じます。
リフレッシュトークンの取得
会社リクエストトークンを使用してリフレッシュトークンを取得するには、次の手順を実行します。
PostmanやcURLなど、任意のAPIクライアントを開きます。
SAP Concur Environmentに一致するエンドポイントを使用して、SAP Concur OAuth2トークンリソースへのPOSTリクエストを作成します。
- プロダクション:
https://us.api.concursolutions.com/oauth2/v0/token - 実装(テスト):
https://us-impl.api.concursolutions.com/oauth2/v0/token
次のパラメーターでリクエスト本文を設定します(x-www-form-urlencoded形式を使用)。
- client_id: OAuthアプリケーションのClient ID
- client_secret: OAuthアプリケーションのClient Secret
- username: Company Request TokenステップのCompany UUID
- password: Company Request TokenステップのCompany Request Token
- grant_type:
password - credtype:
authtoken
Postman設定の例:
Postman設定
リクエストを送信します。
refresh_token値を安全な場所に記録します。 この値は、WorkatoでSAP Concurコネクションを確立するために必要です。
リフレッシュトークングラントを使用したSAP Concurへの接続
リフレッシュトークングラント認証を使用してSAP Concurに接続するには、次の手順を実行します。
作成 > コネクションをクリックするか、Cを2回押します。
New connectionページでSAP Concurを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。 このコネクションに、接続先のSAP Concurインスタンスを識別できる一意の名前を付けます。
SAP Concurへの接続
最初のLocationドロップダウンメニューを使用して、コネクションを保存するプロジェクトまたはフォルダを選択します。
Implementation instanceドロップダウンメニューを使用して、Concur実装サーバーに接続するかどうかを選択します。 実装サーバーに接続する場合は、Yesを選択します。 既存のコネクションでは、デフォルトでNoになります。
Authentication typeドロップダウンメニューを使用して、Refresh token grantを選択します。
2つ目のLocationドロップダウンメニューを使用して、Concur実装サーバーの場所を選択します。
アプリケーションのclient IDをClient IDフィールドに入力します。
アプリケーションのclient secretをClient secretフィールドに入力します。
アプリケーションのrefresh tokenをRefresh tokenフィールドに入力します。
接続をクリックします。
パスワードグラント
サンドボックスインスタンスでは、この認証方法を使用します。
パスワードグラントを使用したSAP Concurへの接続
パスワードグラント認証を使用してSAP Concurに接続するには、次の手順を実行します。
作成 > コネクションをクリックするか、Cを2回押します。
New connectionページでSAP Concurを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。 このコネクションに、接続先のSAP Concurインスタンスを識別できる一意の名前を付けます。
SAP Concurへの接続
最初のLocationドロップダウンメニューを使用して、コネクションを保存するプロジェクトまたはフォルダを選択します。
Implementation instanceドロップダウンメニューを使用して、Concur実装サーバーに接続するかどうかを選択します。 実装サーバーに接続する場合は、Yesを選択します。 既存のコネクションでは、デフォルトでNoになります。
Authentication typeドロップダウンメニューを使用して、Password grantを選択します。
SAP ConcurのUsernameを入力します。
SAP ConcurのPasswordを入力します。
2つ目のLocationドロップダウンメニューを使用して、Concur実装サーバーの場所を選択します。
アプリケーションのClient IDを入力します。
アプリケーションのClient secretを入力します。
接続をクリックします。
認可コードグラント
この認証方法を使用して、インタラクティブなOAuthログインフローでSAP Concurに対して認証します。
Verified User Access (VUA)を使用するには、認可コードグラントが必要です。 APIキー、基本認証、その他のOAuth 2.0フローを含む他のグラントタイプは、VUAと互換性がありません。
このオプションには、SAP Concurクライアント資格情報で設定されたcustom OAuth profileが必要です。
custom OAuth profileの設定
認可コードグラント認証には、Workatoのcustom OAuth profileが必要です。 プロファイルにはSAP Concurクライアント資格情報が保存され、コネクションを完了するために必要です。 custom OAuth profileなしで認可コードグラントを選択した場合、またはプロファイルにクライアントIDまたはクライアントシークレットがない場合、Workatoはエラーを返します。
custom OAuth profileを作成するには、次の手順を実行します。
ツール > Custom OAuth profilesに移動します。
+ 新規カスタムプロファイルをクリックします。
SAP Concurを検索し、アプリとして選択します。
プロファイルの名前を入力します。
作成したOAuthアプリケーションのClient IDおよびClient secretを入力します。
保存をクリックします。
最小スコープとデフォルトスコープ
SAP Concur OAuthアプリに、コネクション設定でリクエストするすべてのスコープが含まれていることを確認します。 リクエストしたスコープがOAuthアプリで有効になっていない場合、コネクションは400 Bad Requestエラーで失敗します。
最小必須スコープは、openid、user.read、EXPRPTです。 Scopesフィールドを空白のままにすると、Workatoは次のデフォルトスコープをリクエストします。 OAuthアプリにこれらすべてが設定されていることを確認します。
デフォルトスコープ:
openiduser.readuser.writeEXPRPTexpense.report.readexpense.report.readwriteLISTspend.list.readspend.list.writespend.listitem.readspend.listitem.writespend.listitem.deleteIMAGEATTENDCONFIGINVPMTINVVENidentity.user.core.readidentity.user.coresensitive.readidentity.user.enterprise.readidentity.user.coreenterprise.writeonlyidentity.user.externalID.writeonlyidentity.user.ids.readuser.provision.readuser.provision.writespend.user.general.readspend.user.general.writeonlytravel.user.general.read
認可コードグラントを使用したSAP Concurへの接続
認可コードグラントを使用してSAP Concurに接続するには、次の手順を実行します。
作成 > コネクションをクリックするか、Cを2回押します。
SAP Concurを検索し、アプリとして選択します。
コネクション名フィールドにコネクションの名前を入力します。
SAP Concurへの接続
最初のLocationドロップダウンメニューを使用して、コネクションを保存するプロジェクトまたはフォルダを選択します。
コネクションタイプドロップダウンメニューを使用して、このコネクションがクラウドかオンプレミスかを指定します。
Implementation instanceドロップダウンメニューを使用して、Concur実装サーバーに接続するかどうかを指定します。 実装サーバーに接続する場合は、Yesを選択します。 デフォルトはいいえです。
Authentication typeドロップダウンメニューを使用して、Authorization code grantを選択します。
2つ目のLocationドロップダウンメニューを使用して、Concur実装サーバーの場所を選択します。
任意です。 Advanced settingsを展開し、Scopesドロップダウンメニューを使用してOAuth 2.0スコープを選択します。 要件については、最小およびデフォルトスコープを参照してください。
Custom OAuth profileドロップダウンメニューを使用して、SAP Concurクライアント資格情報で設定されたcustom OAuth profileを選択します。
接続をクリックします。 SAP Concurにリダイレクトされ、サインインしてアクセスを認可します。
トリガーおよびアクション別の必須スコープ
SAP Concurコネクションのセットアップに使用する資格情報には、使用する予定のトリガーおよびアクションに応じて、特定のスコープへのアクセス権が必要です。
必須スコープ
コネクションのセットアップにはEXPRPTスコープが必要です。
コネクター内の各トリガーおよびアクションは、SAP Concurの詳細なバージョン管理アプローチにより、特定のAPIバージョンを使用します。
次の表に一覧表示されています。
- 各トリガーおよびアクションに必要なスコープ
- 各トリガーおよびアクションに関連付けられたAPI名とバージョン
詳細については、SAP ConcurのAPI Referenceドキュメントを参照してください。
| 名前 | スコープ | APIグループ | API名とバージョン |
|---|---|---|---|
| 新規経費レポートトリガー | EXPRPT | 経費 | Reports v3 |
| 新規経費レポート送信トリガー | EXPRPT | 経費 | Reports v3 |
| 新規または更新済み経費レポートトリガー | EXPRPT | 経費 | Reports v3 |
| 新規または更新済み請求書トリガー | INVPMT | インボイス | Invoice v3 |
| 新規または更新済みユーザートリガー | identity.user.ids.read, identity.user.core.read, identity.user.coresensitive.read, identity.user.enterprise.read, identity.user.sap.read | ユーザー | Identity v4 |
| リストアイテム作成アクション | spend.listitem.write, LIST | 共通 | List Item v4 |
| ユーザー作成アクション | user.provision.write, identity.user.coreenterprise.writeonly, identity.user.externalID.writeonly, spend.user.general.writeonly | ユーザー | User Provisioning v4 |
| ユーザー作成アクション(バッチ) | user.provision.write, identity.user.coreenterprise.writeonly, identity.user.externalID.writeonly, spend.user.general.writeonly | ユーザー | User Provisioning v4 |
| ベンダー作成アクション(バッチ) | INVVEN | インボイス | Vendor v3.1 |
| リストアイテム削除アクション | spend.listitem.delete | 共通 | List Item v4 |
| すべての参加者タイプ取得アクション(バッチ) | CONFIG | 経費 | Expense Group Configurations v3 |
| すべての経費グループ設定取得アクション(バッチ) | CONFIG | 経費 | Expense Group Configurations v3 |
| すべての経費タイプ取得アクション(バッチ) | CONFIG | 経費 | Expense Group Configurations v3 |
| すべてのリストアイテム取得アクション(バッチ) | spend.list.read | 共通 | List Item v4 |
| すべてのリスト取得アクション | spend.list.read | 共通 | List v4 |
| すべての支払いタイプ取得アクション(バッチ) | CONFIG | 経費 | Expense Group Configurations v3 |
| 経費レポート詳細取得アクション | expense.report.read | 経費 | Reports v4 |
| 請求書詳細取得アクション | INVPMT | インボイス | Invoice v3 |
| 特定経費の明細取得アクション | expense.report.read | 経費 | Expenses v4 |
| ユーザー取得アクション | travel.user.general.read, travel.user.private.read, spend.user.general.read, user.provision.read | ユーザー | Travel Extension v4, User Provisioning v4 |
| ユーザープロビジョニングステータス詳細取得アクション | user.provision.read | ユーザー | User Provisioning v4 |
| リストアイテムの子取得アクション | spend.listitem.read | 共通 | List Item v4 |
| 経費レポート検索アクション(バッチ) | EXPRPT | 経費 | Reports v3 |
| ユーザー検索アクション(バッチ) | identity.user.ids.read, identity.user.core.read, identity.user.coresensitive.read, identity.user.enterprise.read, identity.user.sap.read | ユーザー | Identity v4 |
| ベンダー検索アクション(バッチ) | INVVEN | インボイス | Vendor v3.1 |
| ワークフローを通じた経費レポート送信アクション | EXPRPT | 経費 | Submit v1.1 |
| ユーザー更新アクション | user.provision.write, identity.user.coreenterprise.writeonly, identity.user.externalID.writeonly, spend.user.general.writeonly | ユーザー | User Provisioning v4 |
| ユーザー更新アクション(バッチ) | user.provision.write, identity.user.coreenterprise.writeonly, identity.user.externalID.writeonly, spend.user.general.writeonly | ユーザー | User Provisioning v4 |
| ベンダー更新アクション(バッチ) | INVVEN | インボイス | Vendor v3.1 |
| 領収書画像アップロードアクション | IMAGE | 領収書画像 | Image v3 |
| エントリ画像URL取得アクション | IMAGE | 領収書画像 | Image v1.0 |
| 経費レポート詳細取得アクション(非推奨) | expense.report.read | 経費 | Expenses v4 |
| 支払いバッチリスト取得アクション(非推奨) | PAYBAT | 経費 | Payment Batches v1.1 |
Last updated: