ここではfreee会計のWebhook:各種申請と各種申請API、ファイルボックスAPIによる電子契約締結のユースケースとWebhook使い方のポイントを紹介します。要件、解決したい課題は以下のように考えます。
- 要件:契約業務をシームレスに実現したい
- リモートワークが増、デジタルでも紙と同じプロセスを回す必要性
- 契約稟議・法務チェックなどのワークフロー・ルール
- 社内の稟議手続きと契約締結から保管・管理までの業務を連動させて効率化
- クラウド契約システムにおける稟議やワークフローの機能では要件が満たせない
契約締結に向けたフローと各ステップにおける処理
- 登場人物補足
- アプリ:freee APIを利用するWebまたはモバイルアプリケーション
- クラウド契約システム:電子契約サービスでPublic APIをもつもの
- freee Web:freee会計のWeb版
誰が | 何する | 具体的には | |
1 | 契約締結を目指す担当者・freee利用者 | freeeの各種申請機能で契約稟議を申請 | ・freeeで:freee Webで操作 ・freee以外から:各種申請APIでの申請の作成ファイルボックスAPIでの添付ファイル登録 |
2 | 稟議の最終承認者 | freeeの各種申請機能で承認 | ・freeeで:freee Webで操作 ・freee以外から:各種申請APIでfreee以外からの申請の内容、および承認操作ファイルボックスAPIで添付ファイル確認 |
3 | freee(system) | Webhookで特定の稟議(申請レコード)が最終承認されたことをアプリに通知 | 各種申請Webhookが通知 : 特定のアプリケーションに対して契約管理システムへの各種申請の情報と契約書のファイルを渡せる状態であることを通知 |
4 | アプリ | Webhookの通知(アクション=更新、かつ更新後のステータスが承認済)をうけとる | Webhookで受け取る値が以下の条件に当てはまる場合に5へ ・resource:accounting:approval_request ・action=updated ・approval_request[status] ・更新後の各種申請のステータスがapproved(承認) |
5 | アプリ | 各種申請APIで申請に対する最終承認ステータスを確認 | アプリがfreeeの各種申請APIコールしてステータスと次のステップで必要な情報取得に向けた準備。 freeeからのWebhookによりこの処理の回数を必要最低限にすることができる。 |
6 | アプリ | 承認完了している申請の稟議記載内容、先方担当者名を各種申請のfreee APIで取得 締結書面原本をfreee APIで取得 | アプリが申請の詳細と添付ファイルの取得 ・freeeの各種申請APIコール ・freeeのファイルボックスのダウンロードAPI 契約締結の後続ステップに向けて、以下の4つの情報が入るようにフォームをカスタマイズしておくことを推奨(クラウド契約システムでの確認依頼通知などで利用) ・会社名 ・部署名 ・担当者名 ・メールアドレス |
7 | アプリ | 上記で得られた情報をもとに、クラウド契約システムに対してレコード作成依頼 | アプリがクラウド契約システムAPIへのPOST |
8 | クラウド契約システム | アプリからレコード作成依頼を受けて、契約書締結に向けたレコード作成 | 契約内容の確認を入れる場合はドラフト版で作成 ・代理承認有無 ・押印位置の指定 |
9 | 契約締結を目指す担当者 | 取引先への確認依頼 | クラウド契約システムの機能で担当者に通知 |
10 | 取引先担当者 | (社内の必要な人と連携して)電子署名 | クラウド契約システムの機能で電子署名 |
11 | アプリ | クラウド契約システムにおける特定レコードの契約締結ステータスを取得(進行中>締結済) | WebhookをトリガーまたはAPIコールを行いステータスを取得 |
12 | アプリ | 押印したデジタルファイルをfreeeのファイルボックスに置く | アプリがfreeeのファイルボックスAPIでfreeeにファイルを設置 |