Skip to content

SmartHR を接続する

grantry から SmartHR API を使うには、SmartHR 側で発行したアクセストークンを、grantry の カスタムプロバイダーとして登録します。

SmartHR 側で準備するもの

  1. SmartHR の管理画面でアクセストークンを発行する
  2. 必要なAPI権限を付与する
  3. IPアドレス制限を使っている場合は、grantry 本番環境の送信元IPを許可する

アクセストークンの扱い

SmartHR のアクセストークンは一度しか表示されない場合があります。外部に共有したり画面に写した場合は、作業後に再発行してください。

grantry にカスタムプロバイダーを追加する

app.grantry.ai のカスタムプロバイダー追加画面で、以下のように入力します。

項目入力値
Provider keysmarthr
LabelSmartHR
API base URLhttps://<SmartHRのサブドメイン>.smarthr.jp/api
Auth styleAuthorization: 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です。

手順:

  1. Railway dashboard で agent-oauth project を開く
  2. Environment を production にする
  3. Service agent-oauth を開く
  4. Settings / Networking で Static Outbound IPs を有効化する
  5. 表示された IPv4 アドレスを SmartHR の許可IPアドレスに追加する
  6. Railway で再デプロイする
  7. grantry の接続カードで Recheck する

よくある失敗

表示・症状原因対処
No smoke tests are definedConnection check path が未設定カスタムプロバイダーを作り直し、/v1/crews を入れる
check failed / 404API base URL/api/v1 まで入れている、またはサブドメインが違うhttps://<tenant>.smarthr.jp/api に直す
check failed / 401・403トークンが無効、権限不足、またはIP制限SmartHR 側のトークン権限と許可IPを確認する

接続の状態を確認する

grantry