Appearance
SmartHR を接続する
grantry から SmartHR API を使うには、SmartHR 側で発行したアクセストークンを、grantry の カスタムプロバイダーとして登録します。
SmartHR 側で準備するもの
- SmartHR の管理画面でアクセストークンを発行する
- 必要なAPI権限を付与する
- IPアドレス制限を使っている場合は、grantry 本番環境の送信元IPを許可する
アクセストークンの扱い
SmartHR のアクセストークンは一度しか表示されない場合があります。外部に共有したり画面に写した場合は、作業後に再発行してください。
grantry にカスタムプロバイダーを追加する
app.grantry.ai のカスタムプロバイダー追加画面で、以下のように入力します。
| 項目 | 入力値 |
|---|---|
| Provider key | smarthr |
| Label | SmartHR |
| API base URL | https://<SmartHRのサブドメイン>.smarthr.jp/api |
| Auth style | Authorization: Bearer token |
| API key header | 空欄 |
| Allowed path prefixes | /v1 |
| Connection check path | /v1/crews |
| Token settings URL | 空欄でOK |
/api/v1 まで入れない
API base URL は /api までです。/api/v1 まで入れると、grantry 側の Connection check path と結合されて /api/v1/v1/crews になり、404 になります。
例:
text
API base URL:
https://example.smarthr.jp/api
Connection check path:
/v1/crews接続を追加する
カスタムプロバイダーを作成したあと、テナント(スコープ)の接続追加画面で SmartHR を選び、SmartHR のアクセストークンを credential 欄に貼り付けます。
SmartHR は Bearer token 方式なので、カスタムプロバイダー作成時の API key header には何も入れません。トークン本体は接続追加時の credential 欄に入れます。
接続できたか確認する
接続カードで Recheck を押します。成功すると以下のような表示になります。
text
active
ok
capabilities ok
Connection check: 1 okこの状態なら、grantry 本番環境から SmartHR の /api/v1/crews へ疎通できています。
IPアドレス制限を使う場合
SmartHR 側で「許可IPアドレス」を求められる場合、登録するのは app.grantry.ai のDNS解決先ではありません。SmartHR API へリクエストを出す grantry の本番実行環境の outbound IP です。
grantry 本番は Railway の agent-oauth service / production environment で動いています。Railway の Static Outbound IPs を有効化し、表示された IPv4 アドレスを SmartHR 側にすべて登録してください。
単一IPとして登録する場合、SmartHR のサブネットマスク欄は空欄でOKです。
手順:
- Railway dashboard で
agent-oauthproject を開く - Environment を
productionにする - Service
agent-oauthを開く - Settings / Networking で Static Outbound IPs を有効化する
- 表示された IPv4 アドレスを SmartHR の許可IPアドレスに追加する
- Railway で再デプロイする
- grantry の接続カードで Recheck する
よくある失敗
| 表示・症状 | 原因 | 対処 |
|---|---|---|
No smoke tests are defined | Connection check path が未設定 | カスタムプロバイダーを作り直し、/v1/crews を入れる |
check failed / 404 | API base URL に /api/v1 まで入れている、またはサブドメインが違う | https://<tenant>.smarthr.jp/api に直す |
check failed / 401・403 | トークンが無効、権限不足、またはIP制限 | SmartHR 側のトークン権限と許可IPを確認する |