Box Developer Blog
Published in

Box Developer Blog

Box Platformの使用

撮影: Malek Bee (Unsplash)

この演習では、実際の問題を取り上げ、Box Platformを使用して解決する方法を見ていきます。ここでは、UI Elements、ファイルとフォルダ、タスク、Sign APIを使用して、ダイビングセンターにおける処理を自動化します。

使用するウェブアプリケーション全体は、こちらのリポジトリで確認できます。

ダイビングはとても楽しいアクティビティです。水中の生態系を発見したり、自然の生息環境で種を観察したりできるほか、難破船に飛び込めば水中考古学者のような気分になることもできます。

楽しくないのは事務処理です。

ただボートに乗ってダイビングに出発できればよいのですが、ダイビングセンターでは、ダイビング証明書と保険証を確認し、従来の同意書に署名するために、いつも早朝に長い待ち時間が発生します。

前もって証明書や保険証を送信したり、ダイビングセンターに到着する前に同意書に署名したりしてもよいのではないでしょうか。

Boxを使用したホームページ

この架空のダイビングセンターには非常にシンプルなウェブサイトがあり、そこで予約に対応しています。ホスティングプロバイダには、ファイルストレージの制限 (サイズと価格両方) があります。証明書や保険証は個人を特定できる情報 (PII/GDPRを考慮) のため、これらのファイルの保護をホスティングプロバイダで保証されているよりも多少強化したいと考えています。セキュリティは重要です。

これが1つ目の問題です。

このダイビングセンターでは、ダイビングサイトに予約された各ダイバーの事務処理を各ダイブマスターが担当します。私たちは、新しいドキュメントがアップロードされたときにダイブマスターに通知し、ダイブマスターがそのドキュメントに対して簡単に承認/拒否を行えるようにする方法を見つける必要があります。

これが2つ目の問題です。

同意書は必要な法的義務であり、時間と紙を節約したいと考えています (ペンと紙が海水と合わないのは言うまでもありません)。

これが3つ目の問題です。

imgflip.comのImgflip Meme Generatorで作成

まず、アップローダーUI Elementを使用して、ユーザーが自分のダイビング証明書と保険証をアップロードできるようにします。

BoxのUI Elementsの詳細については、こちらを参照してください。

最初に、システムでは、すべてのファイルが最終的に適切な場所に配置されるように、予約に基づいたフォルダの作成を処理します。各ダイブマスターは1つのダイブサイトを担当しており、フォルダ構造は/bookings/<ダイブサイト>/<日付>/<ダイバー>のようになっています。

例: Box APIを使用したフォルダの作成

次に、アップローダーをインスタンス化する際に、適切なフォルダを指します。また、アップロードされた時点でファイルを処理するようにイベント「一式」を実装します。

例: アップローダーのインスタンス化

これで、ダイバーのフォルダ構造では、ファイルがダイブサイトの予約日にアップロードされます。

また、プレビューアーで使用できるように、file_idがデータベースに格納されます。

例: ファイルのアップロードの処理

もう1つのUI Elementであるプレビューアーにより、アプリでファイルを表示できます。

例: ファイルがアップロードされ、同意書が生成された予約

この問題には、BoxタスクAPIを使用します。このAPIにより、ドキュメントがアップロードされるたびに、ダイブマスターがドキュメントを承認/拒否するためのタスクが作成されます。

例: タスクの割り当て

ダイブマスターは、ドキュメントを承認または拒否するためのタスクを受け取ります。

例: タスクの受信トレイ
例: ダイブマスターに割り当てられた承認/拒否タスク

ここでは、Box Sign APIを使用して、テンプレートに基づいた署名リクエストを生成します。Boxは、メール通知の送信からドキュメントへの署名と署名ログの作成まで、フローのすべての側面を処理します。

例: 署名リクエストのトリガー
例: ダイバーが受信したメール
例: 同意書への署名
例: ハッピーなダイバー ;-)

Box Platform

アプリにBoxを統合する予定の開発者であっても、Boxの管理タスクの自動化を検討している管理者であっても、Box Platformをご確認ください。

こちらから開始できます。

--

--

News and stories for working with the Box APIs

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store