DM Champ Docs

API入門

DM Champ REST APIを使用すると、アカウント上で独自の統合を構築できます。連絡先の作成や検索、キャンペーン、FAQ、タスク、予定の管理、メッセージの送信、Webhookの登録、分析の読み取り、メッセージングチャネルの接続など、ダッシュボードでできるすべての操作をコードで実行できます。

ここはAPIドキュメントのハブページです。DM Champをすでに組み込み統合機能を持つツールに接続している場合、APIは不要かもしれません。APIは、カスタム統合や大規模な自動化のためのものです。

注: これらのページは開発者向けに作成されています。開発者ではない場合は、このセクションを技術チームと共有してください。


ベースURL

すべてのリクエストは同じベースWebアドレスに送信されます。これらのドキュメント内のすべてのパスは、そのアドレスからの相対パスです。

https://api.dmchamp.com/v1

つまり、AIエージェントのエンドポイントは https://api.dmchamp.com/v1/agents、連絡先のエンドポイントは https://api.dmchamp.com/v1/contacts といったようになります。

すべてのリクエストは安全な接続(HTTPS)を使用する必要があります。通常のHTTPリクエストは拒否されます。


APIキーの取得

APIアクセスは有料機能です。ご利用のプランに含まれていない場合、すべてのリクエストは以下の本文を含む403を返します。

{
  "success": false,
  "error_code": 403,
  "error": "This action requires the \"api_access\" feature, which is not enabled for this account."
}

プランでAPIアクセスが有効になったら、ダッシュボードからキーを生成してください。詳細な手順はAPIアクセスに記載されています。簡単に説明すると、設定 → インテグレーション → APIキーに移動して、キーの生成または再生成を行います。「APIキー」はインテグレーション内の独立したセクションであり、Webhookとは別になっています。また、APIアクセスがプランで有効になっている場合にのみ表示されます。キーはパスワードと同様に扱い、アカウントへのフルアクセス権を与えるものとして管理してください。


認証

APIキーは4つの方法で送信できます。いずれの方法も、APIキー認証を受け入れるすべてのエンドポイントで機能します。

メソッド 方法 最適な用途
クエリパラメータ ?apiKey=YOUR_API_KEY クイックテスト、ブラウザURL、レガシー設定
ヘッダー X-API-Key: YOUR_API_KEY 本番環境の統合
Bearerヘッダー Authorization: Bearer YOUR_API_KEY 本番環境の統合
Firebase IDトークン Authorization: Bearer <ID token> ファーストパーティアプリのセッションのみ

本番環境では、キーがサーバーログやブラウザ履歴に残らないよう、ヘッダー形式のいずれかを使用することをお勧めします。クエリパラメータ形式は常に機能し、単発のテストには最も簡単です。

各メソッドの詳細、例、および使用時期に関するガイダンスについては、認証を参照してください。


最初のリクエスト

以下は、アカウント上のAIエージェントを一覧表示する、完全に動作する呼び出しの例です。APIキーを使用し、エージェントごとに短い行を新しい順に返します。

cURL

curl "https://api.dmchamp.com/v1/agents?apiKey=YOUR_API_KEY&view=summary"

JavaScript

const res = await fetch("https://api.dmchamp.com/v1/agents?view=summary", {
  headers: {
    "X-API-Key": "YOUR_API_KEY",
  },
});

const data = await res.json();
console.log(data.agents);

Python

import requests

res = requests.get(
    "https://api.dmchamp.com/v1/agents",
    params={"view": "summary"},
    headers={"X-API-Key": "YOUR_API_KEY"},
)

data = res.json()
print(data["agents"])

成功時のレスポンスは以下のようになります。

{
  "success": true,
  "campaigns": [
    {
      "id": "NBCXrhqGPSFsd6MV7pRo",
      "name": "Inbound WhatsApp Leads",
      "type": "Incoming from Unknown Contacts",
      "status": "Live",
      "enabled": true,
      "archived": false,
      "created_at": 1700000000000,
      "ai_mode": true,
      "language": "en",
      "enabled_channels": ["whatsapp", "instagram"]
    }
  ],
  "next_cursor": null
}

成功およびエラーレスポンス

すべてのJSONレスポンスには success フラグが含まれているため、ステータスコードを解析することなく条件分岐を行うことができます。

成功時のレスポンスは success: true に加えて、そのエンドポイントのデータが含まれます(フィールド名は campaignscontactsdata など、エンドポイントによって異なります)。

{
  "success": true,
  "campaigns": []
}

失敗時のレスポンスは success: false となり、人間が判読可能な error メッセージと、HTTPステータスと一致する数値の error_code が含まれます。

{
  "success": false,
  "error": "Invalid cursor",
  "error_code": 400
}

データを読み取る前に、必ず success (またはHTTPステータス)を確認してください。ステータスコードの完全な表や、大きな結果セットをページングする方法については、「Errors & Pagination」を参照してください。


レート制限

認証済みリクエストは、APIキーごとに1分あたり300リクエストに制限されています。また、アカウント全体では1分あたり1,200リクエストというより広い上限が設けられており、そのアカウントに対して行われたすべての認証済みリクエストがカウントされます。

代理店の場合:計画を立てる際は、後者の数字を基準にしてください。代理店キーを使用して行うリクエストは、sub_account_idでサブアカウントを対象とする場合でも、代理店アカウントの制限数としてカウントされます。そのため、多数のクライアントにわたるプロビジョニングのバーストは、1つの予算枠を共有することになります。クライアントごとに個別の予算が必要な場合は、そのサブアカウント独自のAPIキーを使用してください。

いずれかの制限を超えた場合、429レスポンスが返されます:

{
  "success": false,
  "error_code": 429,
  "error": "Rate limit exceeded. Please try again later."
}

少し待ってから再試行してください。また、GET https://api.dmchamp.com/v1/api-keys/usage を使用して現在の使用状況をいつでも確認できます。これには、現在のウィンドウで使用したリクエスト数とリセット時刻が返されるため、クライアント側のスロットリングを構築する際に役立ちます。「API Keys」を参照してください。


リソースガイド

以下のリソースグループには、それぞれ正確なパス、リクエストフィールド、レスポンスの形式をまとめたガイドが用意されています。

リソース 対象範囲
AIエージェント AIエージェントの作成と設定:設定、稼働時間、ナレッジ、タグ付けルール、ツール、メディア、ドラフト
エントリーポイント 新規会話に応答するAIエージェントの決定:チャネルのデフォルト設定、WhatsApp番号ごとのエージェント設定、キーワード、コメント、フォロワーのルール
ブロードキャスト 連絡先リストへの単発送信の作成、価格設定、開始、一時停止、複製
キャンペーン キャンペーンとそのボット構成の作成、更新、複製、有効化、アーカイブ、確認
連絡先 連絡先の作成、検索、一覧表示、更新、インポート、タグ付け、削除
FAQ AIアシスタントが使用するQ&Aエントリの管理、およびそれらとキャンペーンのリンク
ナレッジベース WebサイトやドキュメントのAIナレッジへのインポート、およびFAQのグループ化
タスク CRMタスク、ボードステージ、タスクタイプの作成と管理
メッセージ アウトバウンドメッセージの送信と会話履歴の読み取り
予約 予約の作成、変更、キャンセル、削除
チャネル メッセージングチャネルの接続と切断、番号の購入、各チャネルで新規会話に応答するAIエージェントの設定
テンプレート WhatsAppメッセージテンプレートの作成、送信、承認ステータスの確認
分析 日次メッセージイベント統計、クレジット使用量、AIコストの集計の確認
Webhook リアルタイムのイベント通知を受信するためのエンドポイントの登録
チーム チームメンバー、招待、ロール、権限、部門の管理
APIキー APIキーの確認、ローテーション、取り消し、レート制限の使用状況の確認、およびアクセス制限付きの追加キーの作成

エージェント、エントリーポイント、ブロードキャスト

AIエージェント、エントリーポイント、ブロードキャストはすべて公開されているOpenAPI仕様に含まれているため、APIエクスプローラーで正確なフィールドを確認し、ライブリクエストを実行できます。それぞれに専用のガイドがあります:AIエージェントエントリーポイントブロードキャスト

仕様に含まれているということは、これらのエンドポイントがMCP経由で接続したAIアシスタントのツールとしても表示されることを意味します。


Markdown形式でのドキュメントの閲覧

このドキュメントのすべてのページには、プレーンなMarkdown形式の対となるページが存在します。ページのアドレスの末尾に /index.md を追加してください。したがって、このページも https://docs.youraiconnector.com/api/getting-started/index.md で利用可能であり、Webページではなくプレーンテキストとして取得されます。AIアシスタントにページを貼り付けたり、スクリプトに取り込んだりする場合に便利です。

AIアシスタントやスクリプトでドキュメント全体を読み込む必要がある場合、すぐに利用できるファイルが2つ用意されています。

  • https://docs.youraiconnector.com/llms.txt — インデックス:各ページの1行要約とMarkdown版へのリンクが、サイドバーと同じ構成でまとめられています。
  • https://docs.youraiconnector.com/llms-full.txt — ドキュメント全体を1つのMarkdownファイルにまとめたものです。各ページはタイトルで始まり、その後にページアドレスを保持する Source: 行があるため、アシスタントは回答の出典を引用できます。

これらは各言語プレフィックス(https://docs.youraiconnector.com/nl/llms.txthttps://docs.youraiconnector.com/es/llms-full.txt など)の下に、すべての言語分が用意されています。アシスタントに llms.txt アドレスを渡せば必要なページを取得できますし、一度にすべてのコンテキストを把握させる必要がある場合は llms-full.txt を渡してください。ドキュメントが変更されるたびに再構築されるため、情報が古くなることはありません。

ご自身でページを巡回したい場合は、https://docs.youraiconnector.com/sitemap.xml に公開している全ページがリストされています。ドキュメントは意図的に検索エンジンから除外されているため、コードからアクセスするにはこれらのアドレスを直接取得する方法が適しています。

これらを利用するのにAPIキーは不要です。Markdown版の各ファイル、2つの llms ファイル、そしてサイトマップがインターフェースのすべてです。


次のステップ