お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
1. このページの目的は何ですか?
カスタムAPIを作成し、その処理をDeluge関数で定義する方法を学びましょう。これらはAPIとして公開され、外部プラットフォームから呼び出すことができます。これにより、Zoho Creatorを含む複数のプラットフォームでの運用効率が向上し、外部システム間での複雑な操作のプログラミングプロセスが簡素化されます。
2. これはどこで利用できますか?
カスタムAPI:
- Creatorのすべてのプランで作成および管理できますが、呼び出し回数の制限は加入されるプランによります。
- スーパー管理者と管理者が作成と管理(追加や設定変更など)を行い、それ以外のユーザータイプは、設定されたユーザースコープに基づきこれらを起動することができます。
3. 概要
カスタムAPI(カスタム Application Programming Interfaces)は、開発者が自分自身のAPIを作成し、外部システムやアプリケーション、サービスに公開したい機能を定義するためのインターフェースです。これらのAPIを通じて、異なるソフトウェアシステム間でコミュニケーションやデータ共有が行われます。サードパーティーのサービスやプラットフォームから提供される標準のAPIとは異なり、カスタムAPIはアプリケーションの特定のニーズを満たすように開発することができます。また、リアルタイムアップデートや、様々なソースからのパーソナライズされたコンテンツ取得など、特有の機能を実装することでユーザーエクスペリエンスを向上させることができます。
4. CreatorにおけるカスタムAPI
Creatorでは、カスタムAPIを通じて、開発者は既存の
関数を活用し、要件に合わせた具体的な機能を実現することができます。つまり、
Developer API(REST API)が呼び出されたときに一定の(既定の)操作を実行するのに対して、カスタムAPIは、外部プラットフォームからユーザーが定義した操作を実行するようにスクリプト化することができます。これにより、ユーザーはサードパーティのアプリケーションからCreatorアプリケーションのデータに対して、既定のもの以外の操作を行うことができます。このカスタマイズにより、カスタムAPIは組織のニーズと正確に一致し、パフォーマンスと効率を最適化します。
カスタムAPIを使用すると、アプリケーションをサードパーティのサービスと連携させ、外部リソースを活用してアプリケーションの機能を拡張することが可能になります。さらに、これらのAPIはその事業ロジックをカプセル化するため、一箇所で容易に保守・更新が行えます。つまり、ビジネスプロセスに変更があった場合も、API自体でそれを実装することが可能で、アプリケーション全体に対する修正は必要ありません。
Creatorで、カスタムAPIは
カスタムAPIビルダーで作成および管理できます。このビルダーは、
既存のDeluge関数を使用してAPIとして公開する処理を定義することができます(これには操作が定義されています)。そして、自動生成されたエンドポイントURLを使用して、外部のプラットフォームからAPIを呼び出すことができます。
スーパー管理者と管理者のみがカスタムAPIビルダーにアクセスしてカスタムAPIを作成および管理できます。
カスタムAPIを呼び出した後にAPIのヒット (成功/失敗)のステータスやそのエラーログを、API概要ページで表示することができます。
メモ:
- APIのヒット数は、REST APIのヒット数とは別に、料金設定でカウントされます。
- 現在、既に設定されている Deluge関数のみをカスタムAPIとして使用することができます。それは、クラウド関数を使用して Java および NodeJS スクリプトとして記述したものをカスタムAPIとして呼び出すことはできません。
4.1 クリエイターにおけるカスタムAPIの機能
- カスタムAPIは、Creatorでのみ可能な操作を実行するのに役立ちます。例えば、プッシュ通知の送信、AIフォーム項目からの結果の取得、他のデータ関連の処理の実行などが可能です。
- ユーザーは、Deluge関数を再スクリプティングしたり、別のカスタムAPIを作成したりする代わりに、Creatorの独自のDeluge関数をカスタムAPIで呼び出すことができます。
- データアクセスが制御されて安全であることを確認し、不正アクセスやデータ漏洩のリスクを減らすために、認証機構を実装することによって安全なカスタムAPIを作成します。
- 単一の関数を通じて複数の論理操作を実行する。
- 大規模な操作を複数のAPI呼び出しや外部スクリプトを通じて実行する際、一箇所で カスタムAPIのログの分析と管理を行います。
4.2 CreatorでのカスタムAPIの構築方法は?
- カスタム API Builder :データ交換をCreatorと外部システム間で容易にする使用可能なカスタムAPIの構築を支援する、安全で簡単に使用できるインターフェース。
- Deluge関数 :あなたの既存のDeluge関数は、カスタムAPIで呼び出すことができます。
4.3 CreatorのカスタムAPIのコンポーネント
- 基本情報
- エンドポイントURL
- ユーザースコープ
- リクエスト
- 関数
- レスポンス
基本情報
基本情報タブでは、カスタムAPIを定義します。カスタムAPIの名前を設定し、エンドポイントURLで使用するリンク名を追加し、カスタムAPIの目的を説明します。
カスタム APIの名前をつける際には、その機能を反映した記憶に残るような具体的な名前を選択することが重要です。
エンドポイントURL
APIエンドポイントURLは カスタム APIが外部システムとの通信を有効にするために公開する特定のURLを指します。このURLは、APIが提供する特定の機能にアクセスするためのパスをユーザーが使用できるように定義します。Creatorでは、カスタムAPI エンドポイントURL は指定された API リンク 名前 に基づいて自動的に作成されます。以下の形式です。このURLはあなたとユーザーがAPIの具体的な目標を特定するためのものです。次のセクションに記載されている場所からURLをコピーして使用することが必要です。
エンドポイントURLの機能
1.エンドポイントURLの取得方法は?
次の場所からエンドポイントURLをコピーすることができます:
- 各カスタムAPIのカード
- 詳細表示
次のビデオは、エンドポイントURLをコピーできる場所を示しています。
2. エンドポイントURLにアクセスできるのは誰ですか?
メモ: 承認されていないユーザーがエンドポイントURLを使用してカスタムAPIを呼び出そうとすると、システムレスポンス(つまり、Creatorのレスポンス)が表示されます。
3. エンドポイントURLをどこで呼び出すことができますか?
カスタムAPIを呼び出すために任意のサードパーティサービスで使用できます。
メモ:
- エンドポイントURLは、カスタムAPIを呼び出すために必要な外部プラットフォームにコピーし貼り付ける必要があります。
- カスタムAPIのリンク名を編集したり、ユーザースコープや認証方法を変更すると、エンドポイントURLのプレビューはカスタムAPIビルダー内で自動的に更新されます。ただし、呼び出された場所すべてでエンドポイントURLを手動で更新する必要があります。更新せずにカスタムAPIを呼び出すと、システムレスポンス(エラー)が表示されます。
リクエスト
Request タブでは、リクエストの中身で使用されるメソッド、認証、及びコンテンツ種類を指定できます。
- リクエストメソッド
- 認証
- ユーザーの範囲
- コンテンツ種類
カスタムAPIのリクエストメソッド
これらのメソッドはAPIリクエストがトリガーされたときにどのタイプの操作を行うかを定義するために使用します。 カスタムAPIビルダー では、次の4つのメソッドから選択できます: 取得, POST, PUT, 削除。
- 取得する: このメソッドを使用すると、指定したエンドポイントURLからデータをリクエストして取得できます。取得リクエストでは、データは通常URLの最後に追加されたクエリパラメータとして送信されます。
- POST: このメソッドでは、指定したエンドポイントURLに処理するデータを送信できます。POSTリクエストでは、データは通常JSON形式やフォームデータなどのリクエスト本文内に送信されます。ここでは、データはURLに追加されません。
- PUT: このメソッドは指定したURLの既存のリソースを更新するか置換する、または新しいリソースを作成するために使用されます。
- 削除: このメソッドは、指定したURLのサーバーから特定のリソースを削除するために使用されます。
認証
Creatorでは、認証種類を次のいずれかで選択できます:
- OAuth2 - デフォルトでは、OAuth(開かれた認証という意味)はAPIの呼び出しを認証し認可し、安全なアクセスを提供します。これにより、ユーザーがログインするたびにユーザー名とパスワードを必要とすることがなくなります。このオプションが選択された場合、ユーザースコープで指定されたユーザーだけがカスタムAPIにアクセスして呼び出すことができます。
- PublicKey - このオプションが選択された場合、カスタムAPIは誰でもアクセスして呼び出すことができます。
情報: 公開鍵はエンドポイントURLにパラメータとして追加する必要があります。
ユーザースコープ
スーパー管理者または管理者として、ユーザースコープを使用してユーザーに付与するアクセス制御レベルを設定できます。つまり、特定のユーザーがエンドポイントURLにアクセスしてAPIを呼び出すことができるように許可することができます。
- 管理者のみ - スーパー管理者と管理者
- 選択的なユーザー - スーパー管理者、管理者、およびいくつかのユーザーが自分のメールアドレス(このオプションが選択されているときの入力項目)で識別されます
- ポータルユーザー - 承認済みのポータルユーザーが選択されたアプリケーションのポータルに追加されています処理タブ
- すべて - 頻繁に有効なユーザーは、Creatorアカウントのユーザー タブから来ています。 これにはポータルユーザーは含まれません。
メモ:
- カスタムAPIの選択的ユーザー から管理者のみ、ポータルユーザー、またはすべてに、ユーザースコープを変更すると、以前に追加されたすべてのユーザーが削除されます。
- もし ポータルユーザーがユーザースコープとして選ばれた場合、カスタムAPIはウィジェット内からのみ呼び出すことができます。 詳細はこちら
コンテンツ種類
メモ: コンテンツ種類は、POST と PUT メソッドでのみ選択できます。
コンテンツ種類は、リクエストまたはレスポンスをあなたのクリエイターアプリケーションと外部サービス間で送信または受け取るデータの形式と構造を指定します。これにより、外部サービスはリクエストデータをどのように解釈するべきかを理解するのに役立ちます。クリエイターは、2つの形式からのコンテンツ種類を選択することができます。
- Application/JSON: このコンテンツタイプを選択することで、APIリクエスト内のデータがJSON(JavaScript Object Notation)形式であることを示します。これにより、外部サービスに対してリクエスト本文内のデータがJSON形式で存在し、それに応じて処理する必要があることが伝えられます。
JSONは、広く使用されているデータ交換形式であり、通常はデータオブジェクト、配列、キー-値ペアを表すために使用されます。また、人間にも機械にも読み取り可能であるため、クライアントとサーバー間で構造化されたデータを送信するために一般的に使用され、API通信に最適な選択です。
- Multipart/form-data:このコンテンツタイプは、バイナリーやテキスト形式のデータ、例えばファイルを外部サービスに送信するAPIリクエストで使用されます。multipart/form-dataリクエストでは、データは複数の部分に分割され、各部分はそれぞれ独自のコンテンツタイプとヘッダーを持ちます。これにより、データ自体だけでなく、ファイル名、項目名、各部分のコンテンツタイプなどの追加情報も含めることができます。パーツを区別するために、ユニークな境界文字列が使用され、リクエストヘッダーで指定され、各パーツの開始と終了を示します。
Multipart/form-dataは一般的に、ユーザーがファイルをアップロードするAPIエンドポイントを作成したり、ファイルアップロード項目を含むフォームを操作する際に使用されます。ユーザーがファイル入力項目を含むフォームを送信すると、カスタムAPIはデータを外部サーバーに送信する'multipart/form-data'リクエストを生成します。
ノート:
- Multipart/form-dataは、JSONのようにネストされたデータを持つことはできません。つまり、それは単に別々の'キー-値'ペアを含むだけです。
- JSONとは異なり、1つのキーに複数のエントリを持つことができます。
もしApplication/JSON コンテンツタイプが選択されている場合、引数タイプを以下の2つの設定のいずれかとして選択することができます。
- キーと値:この種類では、入力パラメータをキー-値のペアとしてAPIエンドポイントに渡すことができます。これは少数の明確で名前がつけられたパラメータをAPIリクエストで渡す必要がある場合に使用されます。
サンプルリクエスト:
上記の例:
- '名前'、'年齢'、'メール'はキーとなります。
- 'John'、30、および'john@zylker.com'はそれぞれの対応する値となります。
- 完全なJSON:この種類では、全ての必要なキー-値ペアを含む非構造化のJSONオブジェクトを丸ごと一つの引数として渡すことができます。このアプローチは、Webhookの呼び出しを処理する際に役立ちます。
例のリクエスト:
- {
- 'ユーザー':{
- 'id':12345,
- '名前':'Alisa',
- 'メール':'alisa@zylker.com',
- '年齢':28,
- '住所':{
- '町名・番地':'123 Main St',
- '市区町村':'Anytown',
- '国':'Zylkerland'
- },
- '注文':[
- {
- 'order_id':1001,
- 'total_amount':75.50,
- 'ステータス':'納品済み'
- },
- {
- 'order_id':1002,
- 'total_amount':102.20,
- 'ステータス':'保留中'
- }
- ]
- },
- 'ステータス':'完了',
- 'メッセージ':'ユーザー data retrieved successfully'
- }
上記の例について:
- JSON レスポンスは、さまざまなネストされた要素を含んでいます。
- 'ユーザー'には、ID、名前、メール、年齢、住所、注文のリストを含むユーザー詳細が含まれています。
- '住所'は、ユーザーの詳細内のネストされたオブジェクトで、住所関連情報を含みます。
- '注文'は、ユーザーによる異なる注文を表す複数のオブジェクトを含む配列で、各注文には順番のID、合計額、ステータスなどの属性があります。
- 'ステータス'と'メッセージ'には、APIリクエスト/レスポンスの全体的なステータスに関する追加情報が提供されています。
このカスタムAPI用の完了 JSONを選択する際、各キーが特定の値に関連付けていることを確認し、ここに文字列データ型の一つの引数のみを指定してください。
レスポンス
このタブでは、対応するレスポンスの種類を選択できます:スタンダードレスポンスか、またはカスタムレスポンス。
- スタンダードレスポンス: このレスポンスは、スタンダードステータスコードを返します。このオプションが選択された場合、以下にサンプルレスポンスが表示されます。

- カスタムレスポンス: このレスポンスでは、必要に応じてカスタムステータスコードとそれに対応するレスポンスコードを定義および指定できます。

メモ:
- 一つのステータス コード ごとに、最大で 50のレスポンスコード を指定することができます。
- あなたの カスタム レスポンスコードは、最大で 4桁 までしか含めることができません。
- カスタムコードを指定すると、呼び出されるべき選択済みの Deluge関数の返却する種類はマップでなければなりません。
- 指定したレスポンスコードをDeluge関数内の説明的なメッセージにマッピングする必要があります。
機能
処理 タブで、カスタムAPIが呼び出されたときに実行されるDelugeの functionを含むCreatorアプリケーションと名前空間を選択することができます。
- アプリケーションは、現在の環境(開発またはステージ)が指摘されてリストされます。
- Deluge関数を作成するときに、適切な名前空間と関数を指定することを推奨します。これにより、カスタムAPIの処理を定義するのが容易になります。
- デリュージュ関数内に機密操作を含めるときや、ユーザスコープを通じてカスタムAPIへの呼び出しアクセスを付与するときは、注意を払うことを推奨します。
概要
このタブでは、カスタムAPIの詳細を確認し、最終的に作成を確定することができます。前のタブで必要な詳細を追加した後、概要、リクエストパラメーター、そしてレスポンス本文のセクションに表示されるAPIの詳細を確認できます。何か変更が必要な場合は、戻ってそのようにすることができます。それ以外の場合は、カスタムAPIを保存することができます。
もしカスタム API を作成し、保存する前にページを終了すると、そのカスタム API は下書きとして保存されます。
カスタム API の作成が成功した場合、その重要な詳細、それが使用されているアプリケーション、作成および更新の詳細を概要タブで見ることができます。
APIログ
APIを起動したユーザーによるAPIのヒット数、ログの日付と時間、ステータスコード、APIのステータス(完了または失敗)をAPI Hitsタブで表示することもできます。また、毎日、週次、月次という異なる時間帯でのAPIログも表示できます。
- APIログは、初期設定では過去30日間のログを表示し、最大で前60日間まで表示可能です。
- APIヒット数を表示できるのはスーパー管理者と管理者のみであり、ユーザーはAPIヒット数を表示できません。
カスタムAPIを呼び出す範囲
メソッド
|
範囲
|
GET, POST, PUT, DELETE
|
Zohocreator.customapi.実行
|
5. 動作方法を確認する
あなたが学校管理アプリを構築し、生徒、教師、親、非教職スタッフのための別々のタブを特色としていると仮定しましょう。アプリケーション管理者として、あなたの学校のバスに設置されているバス追跡IoTデバイスからデータを処理し、学校のバスの運転手がアクセスできることが必要とされています。以下の2つの要件を考慮してください。
- 旅行が始まる前に、スタッフ、学生、非教職スタッフの全エリアのスタッフのピックアップ住所を取得します。
- 各旅行終了時に学生の出席情報と平均旅行速度をデータ化します。
上記を達成するためには、通常は少なくとも5つのAPIを呼び出す必要があります。。
- 3つの データ取得APIを使用して、3つの別々のレポートから住所を取得します。
- 2つの データ追加API を使用して、旅行についての詳細と当日の出席情報をデータ化します。
さらに、欠席した学生のデータを取得し、それぞれの親にSMS通知で注意を促します。
APIの数を減らし、同じ機能を維持するために、
カスタムAPIを作成し、カスタムAPIが呼び出された際に呼び出される統合ロジックを持った既存のDeluge関数を利用できます。
以下の動画は、3つの別々のレポートから住所を取得するためのカスタムAPIの実行を示しています。
6. 使用事例
- 病院管理: あなたがクリニックを所有し、Creatorを使用して病院管理アプリケーションを作成し、センサー付きの医療機器から患者の重要な情報を取得しようとしているとしましょう。これにより、医師はすぐに警告を受け、患者のバイタルを監視し、必要に応じて医療支援を提供できます。異常な読み取りが検出されると常に呼び出されるカスタムAPIを設定できます(心拍数、血圧、酸素レベルなどの各種のバイタルを考慮)。デバイスは、これらの詳細をAPIリクエストとして送信し、モバイル通知として逐次医師に送信します。指定された医師は、Creator内のポップアップフォームで提示され(小さな緊急事態の場合)、治療を行う医療スタッフに医療アドバイスを送信します。医師は直ちに診察が必要かどうかを判断し、最も早いものを予約できます。患者は、処方された医療アドバイスと予約詳細(適用される場合)をAPIレスポンス経由で受け取ります。このデータはまた、予約と患者詳細フォームにそれぞれ追加できます。
- 承認管理: Creatorを使用してプロジェクト管理アプリケーションを作成し、従業員が外部サービスで提案書類を作成し、それがあなた(管理者)によって承認される必要があるとしましょう。さらに、承認された書類ごとにCreatorアプリケーションにデータを追加し、却下された書類のデータを維持する必要があります。書類が提出されて外部サービスから承認が求められるときに呼び出されるカスタムAPIを作成することができます。これにより、Creatorの承認ワークフローがトリガーされ、書類の承認プロセスを開始し、書類のステータスを'承認済み'に変更します。プロジェクトの詳細レポートと見積もり詳細レポートにデータが追加されます。書類が却下された場合、書類のステータスは'却下'とマークされ、プロジェクトの詳細レポートと文書フィードバックレポートにそれぞれデータが追加されます。
7. カスタムAPI作成のためのナビゲーションガイド
あなたのCreatorアカウントの
ホームページで、
Microservicesセクションに移動し、
カスタム APIタブを選択します。次に、
+ 作成 カスタム APIをクリックします。すると
カスタム APIビルダーが表示されます。どのように
カスタムAPIを作成し、それらをあなたの企業の利益に活用することができるかを確認してください。
8. メモする点
- あなたのカスタムAPIのリンク名には、!@#$%^&*.>などの特殊文字を含めることはできません。
- カスタムレスポンスのステータスコードは100から599の範囲内であることができます。
- カスタムレスポンスのリスポンスコードは1から9999の範囲内でなければならず、!@#$%^&*.>などの特殊文字を含むことはできません。
- 保存せずにカスタム APIビルダーを閉じると、あなたの変更は下書きとして保存され、いつでもMicroservices > カスタム API >必須 カスタム API カードから編集を続けることができます。
- 無効なAPIを呼び出すと、空のレスポンスが返されます。これは、APIログには呼び出し記録が残りますが、APIヒットとしては登録されません。
- あなたのカスタムAPIで使用している機能を削除するには、まず関連するカスタムAPIを削除しなければなりません。それから関連する関数を削除することができます。
- カスタム APIの作成と管理
- カスタム APIのステータスコード
- CreatorにおけるREST API