ZendeskアプリリクエストAPI:2026年版完全開発者ガイド

Stevia Putri
執筆者

Stevia Putri

最終更新 March 2, 2026

専門家による検証済み
ZendeskアプリリクエストAPIのバナー画像:2026年版完全開発者ガイド

Zendeskアプリを構築している場合、最終的にはAPIリクエストを行う必要が出てくるでしょう。外部サービスからデータを取得したり、プログラムでチケットを作成したり、別のプラットフォームと統合したりするかもしれません。ZendeskアプリリクエストAPIは、これを行うためのいくつかの方法を提供しますが、ドキュメントが複数のページに分散しており、認証オプションが混乱する可能性があります。

このガイドでは、ZendeskアプリからAPIリクエストを行うために知っておくべきことをすべてまとめています。ZAF Client (Zendesk Apps Framework) の request() メソッド、Requests APIエンドポイント、認証戦略、および開発者が遭遇する一般的な落とし穴について説明します。カスタムコードを書かずにZendeskワークフローを自動化するより簡単な方法をお探しの場合は、eesel AIがZendeskと統合してAIエージェントを通じてチケット管理を処理する方法についても触れます。

認証用のapiTokenフィールドを示すZAFクライアントの設定インターフェース
認証用のapiTokenフィールドを示すZAFクライアントの設定インターフェース

ZendeskアプリリクエストAPIとは?

開発者が「ZendeskアプリリクエストAPI」を検索するとき、通常は次の2つのうちの1つを探しています。

  1. ZAF Client (Zendesk Apps Framework) の request() メソッド - Zendeskアプリが外部APIまたはZendesk API自体にHTTPリクエストを行うことができるJavaScript関数
  2. Requests APIエンドポイント - エンドユーザーが自分の視点からチケットを作成および表示できるREST API

ZAF request() メソッドは、Zendesk内で実行されるアプリを構築するときに使用します。認証を処理し、クロスドメイン制限を回避し、ブラウザ環境から安全なAPI呼び出しを行う複雑さを管理します。Requests APIは、顧客に完全なエージェントアクセス権を与えずにチケットを送信させたいときに呼び出します。

それぞれがどのように機能し、いつ使用するかを詳しく見ていきましょう。

ブラウザベースのクロスオリジンセキュリティエラーを防ぐために、プロキシを介して外部リクエストをルーティングする安全な通信を示すアーキテクチャ図
ブラウザベースのクロスオリジンセキュリティエラーを防ぐために、プロキシを介して外部リクエストをルーティングする安全な通信を示すアーキテクチャ図

ZAF Client (Zendesk Apps Framework) の request() メソッドについて

Zendesk Apps Framework (ZAF)は、アプリ内で実行されるJavaScriptクライアントを提供します。client.request()メソッドは、Zendesk環境内からHTTPリクエストを行うためのゲートウェイです。

これが存在する理由は次のとおりです。ブラウザはセキュリティ上の理由からクロスオリジンリクエストをブロックします。アプリが外部APIを直接呼び出そうとすると、CORSエラーが発生します。ZAFは、リクエストをZendeskプロキシサーバー経由でルーティングすることでこれを解決します。プロキシは実際のリクエストを行い、応答をアプリに返します。

request()メソッドはJavaScript Promiseを返すため、.then()またはasync/awaitで応答を処理します。

const client = ZAFClient.init(); client.request({ url: 'https://api.example.com/data', type: 'GET', headers: { 'Authorization': 'Bearer {{setting.api_token}}' } }).then(data => { console.log('Response:', data); }).catch(error => { console.error('Error:', error); });

request()メソッドの主な機能:

  • プロキシサーバーのルーティング - リクエストをサーバー側で行うことでCORSを回避
  • セキュアな設定 - manifest.jsonプレースホルダーを使用して、APIキーをブラウザの開発者ツールから隠します
  • OAuthトークンの管理 - トークンを公開せずにサードパーティのOAuthフローを処理
  • JWTエンコーディング - セキュリティを強化するために、JSON Web Tokenでリクエストに署名

注意すべき制限事項の1つ:request()メソッドはバイナリファイルのアップロードをサポートしていません。ファイルを添付する必要がある場合は、別のアプローチを使用する必要があります(これについては後で詳しく説明します)。

サードパーティAPIリクエストを認証するためのapiTokenフィールドを示すインストールインターフェース
サードパーティAPIリクエストを認証するためのapiTokenフィールドを示すインストールインターフェース

Zendeskアプリリクエストの認証方法

認証は、ほとんどの開発者が行き詰まる場所です。Zendeskは複数の認証方法を提供しており、適切な方法を選択するかどうかは、何をしようとしているかによって異なります。

APIトークンを使用したBasic認証

Zendesk API自体を呼び出すための最も簡単なアプローチ。資格情報を{email}/token:{api_token}としてフォーマットし、base64でエンコードして、Authorizationヘッダーに「Basic 」プレフィックスを付けて含めます。

const credentials = btoa('agent@company.com/token:abc123xyz'); const authHeader = `Basic ${credentials}`;

よくある間違い:「Basic 」プレフィックスを忘れること。ヘッダーは「Basic 」で始まり、その後にスペース、そしてbase64エンコードされた文字列が続いている必要があります。多くの開発者は資格情報を正しくエンコードしますが、プレフィックスを省略するため、401 Unauthorizedエラーが発生します。

セキュアな設定

サードパーティAPIを呼び出している場合、APIキーをJavaScriptに公開したくありません。誰でもブラウザコンソールでそれらを見ることができます。セキュアな設定は、機密データをサーバー側に保存することでこれを解決します。

manifest.jsonで:

{ "parameters": [ { "name": "api_token", "type": "text", "secure": true } ], "domainWhitelist": ["api.example.com"] }

二重中括弧を使用してコードで設定を参照します。

headers: { 'Authorization': 'Bearer {{setting.api_token}}' }

実際のトークン値はZendeskのサーバーに保存され、リクエスト時に挿入されます。ユーザーはアプリのインストール中にそれを構成し、ブラウザに公開されることはありません。

APIトークンをZendeskサーバーに保持し、ユーザーのブラウザコンソールから除外するセキュアな設定アーキテクチャ
APIトークンをZendeskサーバーに保持し、ユーザーのブラウザコンソールから除外するセキュアな設定アーキテクチャ

OAuth 2.0

Salesforce、Slack、Googleなどのサービスとの統合の場合、OAuthが標準です。ZAFは認証コードフローをサポートしています。

  1. アプリはユーザーをOAuthプロバイダーにリダイレクトします
  2. ユーザーはアクセスを承認します
  3. プロバイダーは認証コードでリダイレクトバックします
  4. アプリはコードをアクセストークンと交換します
  5. ZAFはトークンを安全に保存し、自動的に更新します

セットアップには、OAuthプロバイダーにアプリを登録し、リダイレクトURLを構成する必要があります。セットアップが完了すると、トークン管理は自動的に処理されます。

JWTトークン

署名付きリクエストの場合、ZAFはHS256アルゴリズムを使用したJWTエンコーディングをサポートしています。秘密鍵を提供すると、ZAFは有効期限などのクレームを含むトークンを生成します。これは、リクエストがZendeskアプリから送信され、改ざんされていないことを確認する必要がある場合に役立ちます。

ブラウザCookie認証

アプリ内からZendesk APIを呼び出す場合、明示的な認証を完全にスキップできます。ZAFクライアントは、ブラウザのZendeskセッションCookieを自動的に使用してリクエストを認証します。これは、外部APIではなく、Zendesk APIエンドポイントでのみ機能します。

どの認証方法を使用する必要がありますか?

シナリオ推奨される方法
アプリからZendesk APIを呼び出すブラウザCookie(自動)
外部コードからZendesk APIを呼び出すAPIトークンを使用したBasic認証
サードパーティAPIを呼び出すセキュアな設定またはOAuth
署名/検証済みリクエストが必要JWT

Zendesk APIの操作の詳細については、ZendeskチケットAPIに関するガイドをご覧ください。

サードパーティAPIへのリクエストの作成

デフォルトでは、ZAFはリクエストをプロキシサーバー経由でルーティングします。これは、corsオプションによって制御されます。

// デフォルトの動作 - プロキシを使用 (cors: false) client.request({ url: 'https://api.example.com/data', type: 'GET' }); // 直接リクエスト - APIでCORSサポートが必要 client.request({ url: 'https://api.example.com/data', type: 'GET', cors: true });

プロキシのアプローチは任意のAPIで動作しますが、遅延が追加されます。直接リクエストは高速ですが、APIがCORSヘッダーをサポートしている必要があります。ほとんどのプロダクションアプリは、信頼性のためにプロキシを使用します。

セキュアな設定を使用して外部APIからデータをフェッチする完全な動作例を次に示します。

const client = ZAFClient.init(); async function fetchCustomerData(customerId) { try { const response = await client.request({ url: `https://api.example.com/customers/${customerId}`, type: 'GET', headers: { 'Authorization': 'Bearer {{setting.api_key}}', 'Content-Type': 'application/json' } }); return response; } catch (error) { console.error('Failed to fetch customer:', error); throw error; } }

エラー処理は重要です。リクエストが失敗した場合、Promiseは拒否されるため、常にtry/catchで呼び出しをラップするか、.catch()を使用します。

Zendesk Requests APIの操作

Requests APIは、ZAF request()メソッドとは異なります。これは、エンドユーザー(顧客)が自分の視点からチケットを操作できるREST APIエンドポイントです。

Tickets APIとの主な違い:

  • エンドユーザービュー - 公開コメントとユーザーがアクセスできるフィールドのみを表示
  • 匿名サポート - 認証なしで呼び出すことができます(レート制限あり)
  • 簡略化された権限 - エージェントの資格情報は不要

一般的なエンドポイント:

エンドポイントメソッド説明
/api/v2/requestsGET認証済みユーザーのリクエストを一覧表示
/api/v2/requestsPOST新しいリクエスト(チケット)を作成
/api/v2/requests/{id}GET特定のリクエストの詳細を取得
/api/v2/requests/{id}PUT既存のリクエストを更新

リクエストの作成:

curl https://company.zendesk.com/api/v2/requests.json \ -d '{"request": {"subject": "Help needed", "comment": {"body": "I have a question"}}}' \ -H "Content-Type: application/json" \ -X POST

認証済みリクエストの場合は、Authorizationヘッダーを含めます。匿名リクエスト(お問い合わせフォームなど)の場合は、認証を省略します。匿名リクエストは、トライアルアカウントの場合、1時間あたり5回にレート制限されます。

チケットを作成する統合を構築している場合は、APIを使用してZendeskチケットを作成するに関するガイドも役立つ場合があります。

一般的なエラーとトラブルシューティング

優れたドキュメントがあっても、うまくいかないことがあります。開発者が遭遇する最も一般的な問題を次に示します。

401 Unauthorized

認証ヘッダーの形式が正しくありません。再確認してください。

  • 「Basic 」プレフィックスが存在する(その後にスペースがある)
  • 資格情報が正しくbase64エンコードされている
  • メール形式が{email}/token:{api_token}である(「/token」サフィックスに注意)
  • APIトークンがアクティブであり、期限切れになっていない

CORSエラー

CORSをサポートしていないAPIに直接リクエストを送信しようとしています。cors: trueを省略してプロキシを有効にするか、APIプロバイダーにCORSヘッダーを追加するように依頼してください。

429 Rate Limit Exceeded

Zendeskには複数のレート制限があります。アプリには独自の制限(通常は1分あたり100リクエスト)があり、アカウントには別の制限(ほとんどのエンドポイントで1分あたり700リクエスト)があります。429が発生した場合は、Retry-Afterヘッダーを確認し、再試行するまで待ってください。詳細については、公式のレート制限ドキュメントを参照してください。

422 Unprocessable Entity

JSONの形式が正しくありません。一般的な原因:

  • プロパティ名を囲む引用符がない
  • オブジェクト内の末尾のカンマ
  • 二重引用符ではなく単一引用符
  • 無効なエスケープシーケンス

ファイルアップロードの問題

ZAF request()メソッドはバイナリアップロードをサポートしていません。回避策は次のとおりです。

  • アップロードを処理するために別のサーバーを使用する
  • ファイルをbase64としてエンコードし、サーバー側でデコードする
  • バイナリ処理にRestSharpなどのライブラリを使用する

統合の例については、サードパーティアプリを使用してZendeskをSlackに接続する方法に関するガイドを参照してください。

Zendeskアプリ開発における頻繁な認証および構成エラーを開発者が特定して解決するのに役立つ診断フローチャート
Zendeskアプリ開発における頻繁な認証および構成エラーを開発者が特定して解決するのに役立つ診断フローチャート

コードなしでZendeskアプリの統合を構築する

カスタムAPI統合の構築と維持には時間がかかります。認証、エラー再試行ロジック、レート制限、およびAPIの変更に伴う継続的なメンテナンスを処理する必要があります。

目標がカスタムアプリを構築するのではなく、チケットワークフローを自動化することである場合は、実際にコードを記述する必要があるかどうかを検討してください。Zendesk用のAIエージェントは、開発作業なしでチケットの作成、ルーティング、および応答を処理します。

eesel AI instructions panel showing natural language configuration for setting up AI agent behavior and escalation rules.
eesel AI instructions panel showing natural language configuration for setting up AI agent behavior and escalation rules.

違いは次のとおりです。APIアプローチでは、人間が応答する必要があるチケットを移動するためのスクリプトを作成しています。AIエージェントを使用すると、ビジネスを理解し、チケットライフサイクル全体を処理するようにシステムをトレーニングしています。Zendeskアカウントに接続すると、過去のチケット、ヘルプセンターの記事、およびマクロから学習します。

プログレッシブロールアウトモデルは、AIがレビュー用の応答を下書きすることから始め、それが証明されるにつれて完全な自動化に拡張することを意味します。API呼び出しを自動化するだけでなく、チケット量を削減しようとしているチームにとって、これは多くの場合、カスタム開発よりも迅速な結果をもたらします。

よくある質問

ZendeskアプリリクエストAPIは、Zendeskアプリ内からHTTP呼び出しを行うためのZAF Client request()メソッドと、エンドユーザーがチケットを作成および表示するためのRequests APIエンドポイントの2つを指します。どちらもZendeskデータとのプログラムによる対話を可能にします。
認証はユースケースによって異なります。Zendeskアプリ内からの呼び出しの場合、ZAFクライアントはブラウザのCookieを自動的に使用します。外部API呼び出しの場合、メール/token:api_token形式でBasic認証を使用し、'Basic 'プレフィックスを付けてbase64エンコードします。
ZAF request()メソッドは、バイナリファイルのアップロードをサポートしていません。ファイルを添付するには、ファイルをbase64としてエンコードしたり、別のアップロードサービスを使用したり、サーバー側の処理を実装したりするなどの回避策を使用する必要があります。
Zendeskは、アプリのレート制限(通常、アプリあたり1分あたり100リクエスト)と、アカウントのレート制限(ほとんどのエンドポイントで1分あたり700リクエスト)の2つのレート制限を適用します。どちらかを超えると、Retry-Afterヘッダーとともに429ステータスが返されます。
manifest.jsonでセキュアな設定を使用します。パラメータを'secure': trueとしてマークし、コード内で{{setting.param_name}}を使用して参照し、アプリのインストール中に構成します。実際の値はサーバー側に保存され、ブラウザに公開されることはありません。
Requests APIはエンドユーザー向けに設計されており、公開コメントとアクセス可能なフィールドのみを表示します。Tickets APIは、フルアクセス権を持つエージェントおよび管理者向けです。顧客向けの機能にはRequests APIを使用し、内部ツールにはTickets APIを使用します。
はい、リクエストオプションでcors: trueを設定することで可能です。ただし、ターゲットAPIはCORSヘッダーをサポートしている必要があります。ほとんどのプロダクションアプリは、任意のAPIで動作するため、信頼性のためにプロキシを使用します。

Share this article

Stevia Putri

Article by

Stevia Putri

Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.

Related Posts

All posts →
Zendeskイベントサポートのバナー画像:2026年のチケット追跡完全ガイド
Zendesk AI

Zendeskイベントサポート:2026年のチケット追跡完全ガイド

チケットイベントログ、APIアクセス、実践的なトラブルシューティングワークフローを網羅したこの包括的なガイドで、Zendeskイベントサポートをマスターしましょう。

Stevia PutriStevia PutriMar 6, 2026
Zendeskの緊急アラートを設定する方法:2026年完全ガイドのバナー画像
Zendesk AI

Zendeskの緊急アラートを設定する方法:2026年完全ガイド

Zendeskで緊急チケットアラートを設定するための実用的なガイド。ネイティブトリガーから、eesel AIによるAI搭載の自動化まで。

Stevia PutriStevia PutriMar 6, 2026
Zendeskの会話履歴へのアクセスとエクスポート方法:完全ガイドのバナー画像
Zendesk AI

Zendeskの会話履歴へのアクセスとエクスポート方法:完全ガイド

Zendeskの会話履歴の管理に関する実践的なガイド。エクスポート方法、ChatとMessagingのプラットフォーム間の違い、および一般的な制限事項に対するソリューションが含まれています。

Stevia PutriStevia PutriMar 5, 2026
Zendeskのメールからチケットへの設定方法:完全ガイドのバナー画像
Zendesk AI

Zendeskのメールからチケットへの設定方法:完全ガイド

顧客からのメールをZendeskのチケットに変換するための実用的なガイドです。ネイティブアドレス、外部メールの転送、自動化ルールについて説明します。

Stevia PutriStevia PutriMar 5, 2026
2026年、フードデリバリー企業はどのようにZendeskをカスタマーサポートに活用しているかのバナー画像
Zendesk AI

2026年、フードデリバリー企業はどのようにZendeskをカスタマーサポートに活用しているか

大手フードデリバリー企業が、Zendeskのオムニチャネルプラットフォームを活用して、顧客、レストラン、配達員をサポートし、高いCSATスコアを維持する方法をご紹介します。

Stevia PutriStevia PutriMar 5, 2026
Zendeskプロアクティブチャットのバナー画像:2026年完全設定ガイド
Zendesk AI

Zendeskプロアクティブチャット:2026年完全設定ガイド

Zendeskプロアクティブチャットの設定と最適化に関する包括的なガイド。基本的な構成から、実際のビジネス成果を促進する高度なユースケースまでを網羅します。

Stevia PutriStevia PutriMar 5, 2026
旅行・宿泊業界におけるZendeskのカスタマーサービス活用法のバナー画像
Zendesk AI

旅行・宿泊業界におけるZendeskのカスタマーサービス活用法

予約管理からAIを活用したサポート自動化まで、旅行業界のカスタマーサービスにおけるZendeskの活用に関する完全ガイドです。

Stevia PutriStevia PutriMar 5, 2026
Zendeskウィジェットをメールに設定する方法:2026年完全ガイドのバナー画像
Zendesk AI

Zendeskウィジェットをメールに設定する方法:2026年完全ガイド

Zendeskウェブウィジェットのメール機能を設定するための実用的なガイド。お問い合わせフォーム、オフラインフォーム、メールの到達性に関するベストプラクティスが含まれます。

Stevia PutriStevia PutriMar 5, 2026
Zendesk営業時間外サポートの設定方法:2026年完全ガイドのバナー画像
Zendesk AI

Zendesk営業時間外サポートの設定方法:2026年完全ガイド

Zendeskで営業時間外サポートを設定するための実用的なガイド。営業時間の設定、オーバーフローコールルーティング、時間ベースの自動化について説明します。

Stevia PutriStevia PutriMar 4, 2026

AIチームメイトを採用する準備はできましたか?

数分でセットアップ。クレジットカード不要。

無料で始める