【Zoho People】カスタム関数:SmartHRに従業員データを送信して招待する

【Zoho People】カスタム関数:SmartHRに従業員データを送信して招待する

Alert
下記はサンプルコードです。カスタム関数のカスタマイズ・デバッグ・テストについてはお客様自身にて行っていただく必要がございます。
ゾーホージャパンサポート窓口では承りかねますので予めご了承ください。

設定>開発者向け情報>単独の関数画面からカスタム関数を作成し、以下の内容を設定してください。
設定後、カスタム関数の呼び出しの処理を、ワークフローでの起動、または、独自の処理のボタンとして配置して起動する設定を行ってください。

事前準備
  • Zoho Peopleの従業員フォームにおいてSmartHRの従業員IDを保存するための項目の作成
    ※以下のスクリプトをそのまま利用する場合、項目の作成時にラベル名を「SmartHRID」と指定してください。別のラベル名にした場合、スクリプト中の「SmartHRID」をそのラベル名を置き換えてください。

関数の引数名:引数の内容
  • lastName:姓
  • firstName:名
  • email:招待するメールアドレス
  • employeeNo:従業員番号
  • recordid:Zoho Peopleの従業員データのID

関数の内容
  1. accessToken = "xxxxxxxxxxxxxxxxxxxxxx";//SmartHRのアクセストークン
  2. tenantID = "xxxxxxxxxxxxxxxxxxxxxx";//SmartHRのテナントID
  3. //リクエスト先URL
  4. u = "https://" + tenantID + ".smarthr.jp/api/v1/crews/?access_token=" + accessToken;
  5. //パラメーター
  6. p = Map();
  7. p.put("first_name",firstName);
  8. p.put("last_name",lastName);
  9. p.put("email",email);
  10. p.put("emp_code",employeeNo);
  11. pString = p.toString();
  12. //リクエストヘッダー
  13. h = {"Content-Type":"application/json"};
  14. //従業員データの追加のAPIの呼び出し
  15. r = invokeurl
  16. [
  17. url :u
  18. type :POST
  19. parameters:pString
  20. headers:h
  21. ];
  22. //結果の処理
  23. m = r.toMap();
  24. //IDの取得
  25. id = m.get("id");
  26. //IDをZoho Peopleに更新
  27. employeeUpdateR = zoho.people.update("employee",{"recordid":recordid,"SmartHRID":id});
  28. //招待の処理
  29. inviteURL = "https://" + tenantID + ".smarthr.jp/api/v1/crews/" + id + "/invite?access_token=" + accessToken;
  30. inviteParams = Map();
  31. inviteParams.put("inviter_user_id","xxxxxxxxxxxxxxxxxxxxxx");//SmartHRの招待者のユーザID
  32. inviteParams.put("crew_input_form_id","xxxxxxxxxxxxxxxxxxxxxx");//SmartHRの従業員情報収集フォームID
  33. //招待のAPIの呼び出し
  34. inviteResponse = invokeurl
  35. [
  36. url :inviteURL
  37. type :PUT
  38. parameters:inviteParams
  39. ];

※「xxxxxxxxxxxxxxxxxxxxxx」という文字で示してある箇所は、利用するSmartHRのアカウントで取得した情報で置き換えてください。具体的には以下の4箇所です。
  • アクセストークン
  • テナントID
  • 招待者のユーザID
  • 従業員情報収集フォームID

※上記はスクリプトのサンプルです。処理内容に関しては、利用される方に合わせてカスタマイズが必要です。動作の保証や動作しない場合の個別の確認やサポートは行っておりませんのでご了承ください。