Kintoneの管理者でJavaScriptの初心者です。以下ご教授頂けると助かります。
Zaiperを使ってSmartHRの従業員情報とKintoneの従業員管理アプリの内容を連携させようと設定をしています。
追加と変更についてはZaiperにあるKintoneのActionで設定が出来ましたが削除とインポートについてはActionがない為、WebHooksのCustom Requestにて設定しようかと思っています。
そこで
①削除
Dataの欄に入れる記述が知りたいです。
(従業員Noが一致するものが削除対象)
②インポート
Method(Getを使う?)とDataの記述がしりたいです。
※Headersには
Content-Type:application/json
X-Cybozu-API-Token:アプリのToken を設定ずみ
ご教授の程どうぞよろしくお願いします。
井野 稔康 さん
こんにちは。ひよこです。
Zapier で kintone REST API を実行するには、Zapierで好みのkintone REST API を叩く方法 が参考になるかと思います。
3年前の記事なので、名称や画面は変わっていますが…。
また、任意の kintone REST API を実行するには、一般的な「REST API とは?」いう知識も必要になるかと思います。
kintone REST API について (共通事項編) という記事が kintone REST API を使って「REST APIとは?」を説明しているので読んでみると良さそうと思いました。
本題ですが、SmartHR を契約していないので、実際に動かしてはいないのですが、おそらく以下でできるのではと思います。
①削除
kintone のREST API のレコード削除 API で、削除する対象を指定するには、レコードIDが必要です。そのため、
レコード取得API を使って、従業員管理アプリから従業員No. が一致するレコードを取得する
↓
取得したレコードのレコードIDを使って、レコードを削除する という流れになるかと思います。
Zapier だとこんな感じでしょうか。
- Triggerで「Webhooks by Zapier」の「Catch Hook」を使って、SmartHR からの Webhook を受け取る
- Actions「Webhooks by Zapier」をつなげる
「Action Event」を「GET」にして、 レコード一括取得API を実行する
「Query String Params」で query が「従業員No=①でとってきた従業員 No」のようにクエリを設定する
- Actions「Webhooks by Zapier」をつなげる
「Action Event」を「Custom Request」→ Method「DELETE」にして、 レコード削除 API を実行する
Data には、レコード削除 API の「パラメータを JSON データで送信する場合」の「ボディ」のように記載します。
ids のところに、2. で取得したレコードのレコードIDをしていします。
②インポート
レコードを登録するには、レコードの一括登録 API を利用します。なので、ドキュメントに書いてあるとおり、POST メソッドですね。
Data の構造は、レコードの一括登録 API のリクエストパラメータの「リクエストボディの構造」のように記載します。
records の部分は、井野さんの従業員管理アプリのフィールドに合わせて修正する必要があります。
ひよこさん
詳細なアドバイスありがとうございます。
ご提示頂いた情報を元に勉強しながら設定してみます。