MQTTブローカーREST APIドキュメント

導入事例

IoTアプリケーションの構築中に、制御が必要 管理する マネージャーアプリケーションからのエッジデバイス。 お問い合わせMQTTブローカー(CrystalMQ) は REST と統合しました APIサービス REST API でエッジデバイスを制御できるようにします。 メッセージの送信、新しい追加ができます 認証キー、クライアントの詳細を取得し、API 経由で詳細を実行します。 ドキュメント オファー 開発者がRESTful APIを使用してIoTアプリケーションを構築するための完全なガイド 私たちのメッセージングブローカー。 お問い合わせ MQTTの特長 REST APIを用いたブローカーの統合詳しく知るブログ


基本情報

ポストのために

体内の生データをセットします。

パラメータフィールドはすべてパラメータとして指定する必要があります。

認証資格が確認されると、認証資格が確認されます。 ご入金 応答。 その後、認証を作成し、ベアトークンを設定します。 すべての API コマンド ログイン以外 許可の設定が必要です。

お問い合わせ

メソッドは、データを収集するためにサーバーにリクエストを送信します。 設定する お問い合わせ 指示されるように変数。

  • ヘッダタイプのキーと値。
  • キーフィールドのコンテンツタイプと認証。
  • application/json とベアートークンの値として content-type の値を指定します。
MQTTを入手 資格情報

クライアントと一緒にMQTTのユーザー名のリストにアクセスする 各ユーザー名へのアクセスを許可されています。 これは、監視と管理するのに役立ちます 認証の使用。

方法:

お問い合わせ

/crystalmq/api/v1/mqtt ディレクトリ

サンプルリクエスト

curl --location '//crystalmq/api/v1/mqtt-credentials'\
--header 'Accept: application/json'\
--header 'Authorization:ベアラーお問い合わせ

応答:

成功について:

お問い合わせ
"status": "成功"
「データ」: お問い合わせ
「資格」: [
お問い合わせ
"mqtt_username": "mqtt_user1",
"clients": "client1,client2"
お問い合わせ
. .
お問い合わせ
「メッセージ」:「MQTT認証と対応するクライアントID」
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

MQTTの追加/更新 資格情報

新しいMQTT資格情報を追加したり、既存の資格情報を更新したりできます。 認定された顧客の関連リスト。 この操作は管理し、 ユーザー名指向マッピングを設定し、適切なアクセス制御とクレデンシャルを確保 管理。

方法:

ニュース

/crystalmq/api/v1/mqtt ディレクトリ

サンプルリクエスト
お問い合わせ
"mqtt_username": "mqtt_user1",
"mqtt_password": "mqtt_pass1",
"clients": "client1,client.,dev*"
お問い合わせ
応答:
成功について:

お問い合わせ
"status": "成功"
「メッセージ」: 「MQTT認証を追加 - MQTTユーザー名:mqtt_user1 for クライアントIDリスト: client1,client.,dev*
お問い合わせ

悪い - 欠落または無効なパラメータ

お問い合わせ
"status": "error",
"message": "Missing Required パラメーター: mqtt_username/mqtt_password/ クライアント
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

MQTT の削除 資格情報

作成したMQTTクレデンシャルをすべて削除します。 このアクションはクリア すべてのユーザー名クライアントマッピング、効果的にアクセスを取り戻し、それを保証する 資格情報は有効です。

方法:

削除

/crystalmq/api/v1/mqtt ディレクトリ

応答:

成功について

お問い合わせ
"status": "成功"
"message": "削除されたMQTTユーザー名:mqtt_user1"
お問い合わせ

欠損または無効なパラメータ

お問い合わせ
"status": "error",
"message": "Missing requiredパラメーター: mqtt_username"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

ACLについて

トピックアクセス制御リストを入手

指定されたクライアントのトピックアクセス制御リスト(ACL)を取得する ID および/または MQTT ユーザー名。 それぞれのトピックに関する詳細情報を提供します。 クライアントまたはユーザーは、アクセスを許可し、トピックレベルの権限を管理することができます。 効果的に。

方法:
お問い合わせ

/crystalmq/api/v1/acl

サンプルリクエスト
カール --配置 '//crystalmq/api/v1/acl?clientid=%3Cstring%3E&mqtt_username=%3Cstring%3E'
--header 'Accept: application/json'\
--header 'Authorization: ベアラー <token> お問い合わせ

応答:

成功について:

お問い合わせ
"status": "成功"
「データ」: お問い合わせ
インフォメーション
「クライアント」: お問い合わせ
"additionalProp1": "
「公開」: {
"access": "allow",
トピック: [
トピック1
トピック2
. .
お問い合わせ
"購読": お問い合わせ
"access": "allow",
トピック: [
トピック1
トピック2
. .
お問い合わせ
お問い合わせ
"additionalProp2": "
「公開」: {
"access": "allow",
トピック: [
トピック1
トピック2
. .
お問い合わせ
"購読": お問い合わせ
"access": "allow",
トピック: [
トピック1
トピック2
. .
お問い合わせ
お問い合わせ
"additionalProp3": "
「公開」: {
"access": "allow",
トピック: [
トピック1
トピック2
. .
お問い合わせ
"購読": お問い合わせ
"access": "allow",
トピック: [
トピック1
トピック2
. .
お問い合わせ
お問い合わせ
お問い合わせ
"mqtt_username": お問い合わせ
"additionalProp1": "
「公開」: {
"access": "allow",
トピック: [
トピック1
トピック2
. .
お問い合わせ
"購読": お問い合わせ
"access": "allow",
トピック: [
トピック1
トピック2
. .
お問い合わせ
お問い合わせ
"message": "トピックベースのアクセス制御リスト"
お問い合わせ

悪い - 欠落または無効なパラメータ

お問い合わせ
"status": "error",
"message": "Missing Required パラメータ: clientid/mqtt_username"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

クライアント ID または MQTT の Topic Access Control リストの追加/更新 ユーザ名

クライアント ID の Topic Access Control List (ACL) を追加または更新 または MQTT ユーザー名。 mqtt_username または clientid の 1 つだけが含まれていることを確認してください。 リクエストボディ。

方法:
ニュース

/crystalmq/api/v1/acl

例 値

お問い合わせ
"mqtt_username": "string",
"clientid": "string",
"publish_access": "allow",
"publish_topics": "#",
"subscribe_access": "allow",
"subscribe_topics": "#"
お問い合わせ

応答:

成功について

お問い合わせ
"status": "成功"
"message": "クライアントのアクセス管理リストを更新: clientid"
お問い合わせ

悪い - リクエスト mqtt_username クライアントは、 与えられた; しかし両方

お問い合わせ
"status": "error",
"message": "Missing Required パラメータ: mqtt_username または clientid のいずれかでなければなりません 与えられた"
お問い合わせ

無許可 - 欠落または無効な API トークン

お問い合わせ
"status": "error",
「メッセージ」:「無許可」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

クライアント ID または MQTT ユーザー名の Topic Access Control リストを削除

クライアント ID または MQTT の Topic Access Control List (ACL) を削除 ユーザー名 リクエストボディに mqtt_username または clientid が 1 つだけ指定されていることを確認してください。

方法:
ディレテ

/crystalmq/api/v1/acl

パラメーター:

お名前 (必須) コンテンツ
クライアントID
<string>
クライアントのID

応答:

成功について

お問い合わせ
"status": "成功"
"message": ClientId の削除されたアクセス管理リスト: clientId の場合 mqtt_client1 存在します。 MQTT ユーザー名ベースの ACL は、このクライアントに適用されるものとします。
お問い合わせ

悪い - 欠落または無効なパラメータ

お問い合わせ
"status": "error",
"message": "必須パラメータ: clientid"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

クライアント

クライアントのカウントを取得する

クライアントの現在のステータスで分類された総数を取得します。 これは、 アクティブの概要, 積極的な、およびその他のクライアントの状態、効果的な監視と管理を支援します。

方法:
お問い合わせ

/crystalmq/api/v1/clients/count

サンプルリクエスト

curl --location '//crystalmq/api/v1/clients/count?status=all'\
--header 'Accept: application/json'\
--header 'Authorization: ベアラー <token> お問い合わせ

応答:

成功について

お問い合わせ
"status": "成功"
「データ」: お問い合わせ
"アクティブ":100、
"非アクティブ":50、
「すべて」:150
お問い合わせ
「メッセージ」:「クライアント数」
お問い合わせ

悪いリクエスト - 無効なパラメータ

お問い合わせ
"status": "error",
"message": "ステータスの無効なパラメータ値"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

クライアント情報の取得

特定のクライアントに関する詳細情報を提供します。 お問い合わせ 包括的な提供により、個々のクライアントを監視およびトラブルシューティングするのに役立ちます 活動と構成に関するインサイト。

方法:
お問い合わせ

/crystalmq/api/v1/clients/info

サンプルリクエスト

curl --location '//crystalmq/api/v1/clients/info?clientid=%3Cstring%3E' \
--header 'Accept: application/json'\
--header 'Authorization: ベアラー <token> お問い合わせ

応答:

成功について

お問い合わせ
"status": "成功"
「データ」: お問い合わせ
"clientid": "client123",
"mqtt_version" は、 5月5日
"status": "active",
"status_timestamp": "2024-07-17T12:00:00Z",
"ip": "192.168.1.100"、"
"keep_alive":60、
"clean_session": true,
"session_expiry_interval": 3600
お問い合わせ
"message": "クライアントのクライアント123の詳細情報
お問い合わせ

悪いリクエスト - 欠落または無効なパラメータ

お問い合わせ
"status": "error",
"message": "必須パラメータ: clientid"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

クライアントのLast Willを取得する

特定の MQTT クライアントの最後の情報を取得するか、 クライアントの皆様 これは、クライアントのために設定された最後の意志メッセージの詳細を提供します。 予期しない接続の他のクライアントに通知するために使用されます。

方法:
お問い合わせ

/crystalmq/api/v1/clients/last-will の

パラメーター:

パラメータ バリューディテール
クライアントID 過去の情報は、クライアントのIDが要求されます。

サンプルリクエスト

curl --location '//crystalmq/api/v1/clients/last-will?clientid=%3Cstring%3E'
--header 'Accept: application/json'\
--header 'Authorization: ベアラー <token> お問い合わせ

応答:

デバイスが接続されるとき:

お問い合わせ
"status": "成功"
「データ」: お問い合わせ
"client_id": お問い合わせ
"additionalProp1": "
"last_will": お問い合わせ
"topic": "last/will",
"メッセージ": "これは最後の意志メッセージです"
"qos":1、
"retain": true,
"プロパティ": お問い合わせ
"additionalProp1":300、
"additionalProp2":300、
"additionalProp3":300
お問い合わせ
お問い合わせ
お問い合わせ
"additionalProp2": "
"last_will": お問い合わせ
"topic": "last/will",
"メッセージ": "これは最後の意志メッセージです"
"qos":1、
"retain": true,
"プロパティ": お問い合わせ
"additionalProp1":300、
"additionalProp2":300、
"additionalProp3":300
お問い合わせ
お問い合わせ
お問い合わせ
「メッセージ」:「クライアントの最後の意志」
お問い合わせ

悪い - 欠落または無効なパラメータ

お問い合わせ
"status": "error",
"message": "最後の意志情報を取得する失敗"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

MQTT5クライアントを切断

特定のMQTT5クライアントを切断します。 このアクションはクライアントの現在の動作を終了します。 セッション 継続的なコミュニケーションを停止し、リソースを解放します。

方法:
ポスト

/crystalmq/api/v1/clients/disconnect

応答:

制限が5の場合の成功:

お問い合わせ
"status": "成功"
"message": "クライアントを切断: client123"
お問い合わせ

悪い - 欠落または無効なパラメータ

お問い合わせ
"status": "error",
"message": "必須パラメータ: clientid"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

クライアントサブスクリプションを取得する

すべてのクライアントまたはクライアントのクライアントのサブスクリプションのリストを取得する 身分証明書の提示 これにより、各クライアントが購読しているトピックを閲覧できます。 サブスクリプション管理。

方法:
お問い合わせ

/crystalmq/api/v1/clients/サブスクリプション

パラメーター:

パラメータ バリューディテール
クライアント ID サブスクリプションが取得されるクライアントの ID。

サンプルリクエスト

curl --location '//crystalmq/api/v1/clients/subscriptions?clientid=%3Cstring%3E お問い合わせ
--header 'Accept: application/json'\
--header 'Authorization: ベアラー <token> お問い合わせ

応答:

成功について

お問い合わせ
"status": "成功"
「データ」: お問い合わせ
「クライアント」: お問い合わせ
"additionalProp1": "
「サブスクリプション」:
お問い合わせ
"filter": "topic/filter",
"qos":1、
"subscription_options": お問い合わせ
"subscription_identifier": 1,100円
"user_property": "property_value",
"no_local": true,
"retain_handling": 0、
"retain_as_published": 1
お問い合わせ
お問い合わせ
. .
お問い合わせ
"additionalProp2": "
「サブスクリプション」:
お問い合わせ
"filter": "topic/filter",
"qos":1、
"subscription_options": お問い合わせ
"subscription_identifier": 1,100円
"user_property": "property_value",
"no_local": true,
"retain_handling": 0、
"retain_as_published": 1
お問い合わせ
お問い合わせ
. .
お問い合わせ
「メッセージ」:「クライアントサブスクリプション」
お問い合わせ

悪い - 欠落または無効なパラメータ

お問い合わせ
"status": "error",
"message": "必須パラメータ: clientid"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

クライアントを取得する

クライアントの現在のステータスで分類された包括的なリストを取得します。 お問い合わせ retrieval は、クライアントのアクティビティやステータスを把握し、監視と監視を支援します。 クライアントの接続を効果的に管理します。

方法:
お問い合わせ

/crystalmq/api/v1/クライアント

応答:

成功について

お問い合わせ
"status": "成功"
「データ」: お問い合わせ
「アクティブ」: [
クライアント1
クライアント2
,
「非アクティブ」: [
クライアント3
クライアント4
. .
お問い合わせ
「メッセージ」:「クライアントID」
お問い合わせ

悪い - 無効なリクエストパラメータ

お問い合わせ
"status": "error",
"message": "ステータスの無効なパラメータ値"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

トピックス

Topicに加入しているクライアントを取得する

特定の MQTT トピックを購読しているクライアントのリストを取得します。 オファー トピックからメッセージを受信しているクライアントのインサイト。

方法:
お問い合わせ

/crystalmq/api/v1/topics/subscriptions

サンプルリクエスト

curl --location '//crystalmq/api/v1/topics/subscriptions?topic=%3Cstring%3E'
--header 'Accept: application/json'\
--header 'Authorization: ベアラー <token> お問い合わせ

応答:

成功について

お問い合わせ
"status": "成功"
「データ」: お問い合わせ
「クライアント」: お問い合わせ
"additionalProp1": "
"filter": "topic/filter",
"qos":1、
"subscription_options": お問い合わせ
"subscription_identifier": 1,100円
"user_property": "property_value",
"no_local": true,
"retain_handling": 0、
"retain_as_published": 1
お問い合わせ
お問い合わせ
"additionalProp2": "
"filter": "topic/filter",
"qos":1、
"subscription_options": お問い合わせ
"subscription_identifier": 1,100円
"user_property": "property_value",
"no_local": true,
"retain_handling": 0、
"retain_as_published": 1
お問い合わせ
お問い合わせ
"message": "トピックを購読するクライアント"
お問い合わせ

悪いリクエスト - 欠落または無効なパラメータ

お問い合わせ
"status": "error",
"message": "Missing requiredパラメーター: トピック"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可ユーザ」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

最近のイベント

ブローカーが記録した最新のイベントにアクセスし、最新のインサイトを提供 活動およびシステム相互作用。 この機能は、現在のイベントのトレンドを監視するのに役立ちます 問題点を速やかにトラブルシューティングします。

方法:
お問い合わせ

/crystalmq/api/v1/recent-events

サンプルリクエスト

curl --location '//crystalmq/api/v1/recent-events?clientid=%3Cstring%3E&topic=%3C string%3E&limit=1'\
--header 'Accept: application/json'\
--header 'Authorization: ベアラー <token> お問い合わせ

応答:

成功について

お問い合わせ
"status": "成功"
「データ」: [
お問い合わせ
"client": "client001",
トピック: "/devices/+/data"
「イベントデータはこちら」
「タイムスタンプ」:「2024-07-17T14:30:00Z」、
"プロパティ": お問い合わせ
"qos": 1
お問い合わせ
お問い合わせ
,
「メッセージ」:クライアントから受け取った「イベント」
お問い合わせ お問い合わせ
"status": "成功"
「データ」: [
お問い合わせ
"client": "client001",
トピック: "/devices/+/data"
「イベントデータはこちら」
「タイムスタンプ」:「2024-07-17T14:30:00Z」、
"プロパティ": お問い合わせ
"qos": 1
お問い合わせ
お問い合わせ
,
「メッセージ」:クライアントから受け取った「イベント」
お問い合わせ

欠落または無効なデータによる不良

お問い合わせ
"status": "error",
"message": "Missing requiredパラメーター: トピック"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

最近のコマンドの取得

クライアントに送信された最新のコマンドのリストを取得します。 この機能はインサイトを提供します 最近のコマンドアクティビティに、クライアントのインタラクションを追跡し、レビューするのに役立ちます 効果的に。

方法:
お問い合わせ

/crystalmq/api/v1/recent-commands

応答:

成功について

お問い合わせ
"status": "成功"
「データ」: [
お問い合わせ
"client": "client001",
トピック: "/devices/+/data"
"コマンド": "GET"
「タイムスタンプ」:「2024-07-17T14:30:00Z」、
"プロパティ": お問い合わせ
"qos": "1"
お問い合わせ
お問い合わせ
. .
お問い合わせ

欠落または無効なデータによる不良

変数は欠落しています:

お問い合わせ
"status": "error",
"message": "Missing requiredパラメーター: トピック"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ

クライアントにコマンドを送信

指定されたトピックにそれを公開することにより、特定のクライアントにコマンドを送信します。 このアクション 購読されたトピックに基づいてクライアントをリモートで制御または指示することができます。

方法:
お問い合わせ

/crystalmq/api/v1/send-command

サンプルリクエスト

お問い合わせ
"clientid": "client123",
トピック: "/devices/+/data"
「メッセージ」:「メッセージ」
"qos":1、
"保持": 1
お問い合わせ

応答:

成功について

お問い合わせ
"status": "成功"
"message": "クライアントに送信されたコマンド: client123"
お問い合わせ

欠落または無効なデータによる不良

変数は欠落しています:

お問い合わせ
"status": "error",
"message": "Missing Required パラメーター: clientid/トピック"
お問い合わせ

無許可

お問い合わせ
"status": "error",
「メッセージ」:「無許可」
お問い合わせ

内部サーバーの間違い

お問い合わせ
"status": "error",
「メッセージ」:「失敗」
お問い合わせ