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アプリケーションを作成するには、次の手順を完了するか、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フィールドで環境を選択します。 Development、テスト、またはプロダクションを選択します。
Application Typeフィールドでアプリケーションタイプを選択します。 Web Services (WS) ClientまたはIntegration with Concur Solutions (ICS) Clientを選択します。
Allowed Grantsフィールドで、インテグレーションに必要なgrantを選択します。 password grant認証またはrefresh token grant認証の場合はpasswordとrefresh_tokenを選択し、authorization code grant認証の場合はauthorization_codeを選択します。
authorization code grant認証の場合は、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でコネクションを確立するために必要です。
資格情報の保存
クライアントシークレットは一度だけ表示されます。 client secretを紛失した場合は、client secretを再生成するか、新しいアプリケーションを作成する必要があります。
リフレッシュトークングラント
プロダクションインスタンスには、refresh token grant認証方法を使用します。 リフレッシュトークン資格情報を受け取るには、Concurアカウントマネージャーにお問い合わせください。
会社リクエストトークンの生成
company request tokenは、管理者が外部アプリをSAP Concurに接続するために使用する、一時的な1回限りの認証パスワードです。
会社リクエストトークンを生成するには、次の手順を実行します。
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回押します。
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フィールドに入力します。
接続をクリックします。
パスワードグラント
サンドボックスインスタンスには、password grant認証方法を使用します。
パスワードグラントを使用したSAP Concurへの接続
パスワードグラント認証を使用してSAP Concurに接続するには、次の手順を実行します。
作成 > コネクションをクリックするか、Cを2回押します。
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で認証するには、authorization code grant認証方法を使用します。
Verified User Access (VUA)を使用する予定の場合は、authorization code grant認証が必要です。 VUAは、APIキー、basic auth、その他のOAuth 2.0フローを含む他のgrantタイプと互換性がありません。
このオプションには、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です。 OAuthアプリに、これらの最小スコープが設定されていることを確認します。 Scopesフィールドを空白のままにすると、Workatoは次のデフォルトスコープをリクエストします:
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 |
最終更新日: