メインコンテンツへスキップ

ネットワーキングとサービス

このセクションでは、Blocklet Server上のネットワーキングとサービスに関連するすべてのGraphQLクエリの詳細なリファレンスを提供します。これらのメソッドを使用すると、ルーティング、ドメイン、証明書、Webhook、および通知のデータと設定を取得できます。これらの設定を変更する操作については、ネットワーキングとサービスのミューテーションセクションを参照してください。

通知

通知を管理および取得するためのクエリ。

getNotifications

指定されたフィルターに基づいて通知のリストを取得します。

パラメータ

  • input RequestGetNotificationsInput (required) — フィルター基準を含むオブジェクト。
    • receiver string — 通知受信者のDIDでフィルターします。
    • sender string — 通知送信者のDIDでフィルターします。
    • read boolean — 既読ステータスでフィルターします。
    • paging PagingInput — ページネーションオプション。
    • teamDid string — チーム/blockletのDID。
    • severity string[] — 重要度レベル(例: 'info'、'error')でフィルターします。
    • componentDid string[] — コンポーネントDIDでフィルターします。
    • entityId string[] — エンティティIDでフィルターします。
    • source string[] — ソース(例: 'system'、'component')でフィルターします。

戻り値

通知のリストとページネーション詳細を含むResponseGetNotificationsオブジェクトに解決されるPromiseを返します。

リクエスト例

getNotifications Example

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

async function fetchUnreadNotifications() {
  try {
    const response = await client.getNotifications({
      input: {
        read: false,
        paging: { pageSize: 10, page: 1 },
      },
    });
    console.log('Unread notifications:', response.list);
    console.log('Unread count:', response.unreadCount);
  } catch (error) {
    console.error('Error fetching notifications:', error);
  }
}

fetchUnreadNotifications();

レスポンス例

Response

json
{
  "code": "ok",
  "list": [
    {
      "id": "...",
      "title": "New Update Available",
      "description": "A new version of your blocklet is ready to be installed.",
      "read": false,
      "createdAt": 1678886400
    }
  ],
  "paging": {
    "total": 5,
    "pageSize": 10,
    "pageCount": 1,
    "page": 1
  },
  "unreadCount": 5
}

makeAllNotificationsAsRead

指定された基準に一致するすべての通知を既読としてマークします。

パラメータ

  • input RequestMakeAllNotificationsAsReadInput (required) — 既読としてマークする通知のフィルター基準を含むオブジェクト。
    • receiver string (required) — 通知受信者のDID。
    • teamDid string — チーム/blockletのDID。
    • severity string — (任意)特定の重要度レベルでフィルターします。
    • componentDid string — (任意)特定のコンポーネントDIDでフィルターします。
    • entityId string — (任意)特定のエンティティIDでフィルターします。
    • source string — (任意)特定のソースでフィルターします。

戻り値

影響を受けた通知の数を示すResponseMakeAllNotificationsAsReadオブジェクトに解決されるPromiseを返します。

リクエスト例

makeAllNotificationsAsRead Example

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

async function markAllAsRead() {
  try {
    const response = await client.makeAllNotificationsAsRead({
      input: { receiver: 'z8iZ...aYp' },
    });
    console.log(`Marked ${response.data.numAffected} notifications as read.`);
  } catch (error) {
    console.error('Error marking notifications as read:', error);
  }
}

markAllAsRead();

レスポンス例

Response

json
{
  "code": "ok",
  "data": {
    "numAffected": 5,
    "notificationIds": ["...", "..."]
  }
}

getNotificationSendLog

通知の送信ログを取得し、さまざまなチャネルでの配信ステータスを追跡できます。

パラメータ

  • input RequestNotificationSendLogInput (required) — 送信ログのフィルター基準を含むオブジェクト。
    • teamDid string (required) — チーム/blockletのDID。
    • dateRange string[] — 特定の日付範囲内のログをフィルターします(例: ['2023-01-01', '2023-01-31'])。
    • paging PagingInput — ページネーションオプション。
    • source string — 通知ソースでフィルターします。
    • componentDids string[] — コンポーネントDIDの配列でフィルターします。
    • severities string[] — 重要度レベルの配列でフィルターします。

戻り値

通知ログのリストとページネーション詳細を含むResponseNotificationSendLogオブジェクトに解決されるPromiseを返します。

getReceivers

さまざまなフィルター基準(異なるチャネルでの送信ステータスなど)に基づいて通知受信者のリストを取得します。

パラメータ

  • input RequestReceiversInput (required) — 受信者のフィルター基準を含むオブジェクト。
    • teamDid string (required) — チーム/blockletのDID。
    • notificationId string — 特定の通知の受信者をフィルターします。
    • userName string — 受信者を名前で検索します。
    • userDid string — 特定のユーザーDIDでフィルターします。
    • walletSendStatus number[] — ウォレット送信ステータスコードでフィルターします。
    • pushKitSendStatus number[] — プッシュ通知送信ステータスコードでフィルターします。
    • emailSendStatus number[] — Eメール送信ステータスコードでフィルターします。
    • dateRange string[] — 特定の日付範囲内の受信者をフィルターします。
    • paging PagingInput — ページネーションオプション。

戻り値

受信者のリストとページネーション詳細を含むResponseReceiversオブジェクトに解決されるPromiseを返します。

getNotificationComponents

通知を送信したコンポーネントDIDのリストを取得します。

パラメータ

  • input RequestNotificationComponentsInput (required) — フィルター基準を含むオブジェクト。
    • teamDid string (required) — チーム/blockletのDID。
    • receiver string — 通知受信者のDIDでフィルターします。

戻り値

コンポーネントDIDの配列を含むResponseNotificationComponentsオブジェクトに解決されるPromiseを返します。

resendNotification

指定された受信者とチャネルに特定の通知の再送信をトリガーします。

パラメータ

  • input RequestResendNotificationInput (required) — 再送信操作の詳細を含むオブジェクト。
    • teamDid string (required) — チーム/blockletのDID。
    • notificationId string (required) — 再送信する通知のID。
    • receivers string[] — 通知を再送信するユーザーDIDのリスト。
    • channels string[] — 再送信に使用するチャネルのリスト(例: 'wallet'、'email')。
    • webhookUrls string[] — 再送信先の特定のWebhook URLのリスト。
    • resendFailedOnly boolean — trueの場合、以前に通知の受信に失敗した受信者にのみ再送信します。

戻り値

ResponseResendNotificationオブジェクトに解決されるPromiseを返します。

ルーティングとドメイン

ルーティングルールとドメイン設定を管理するためのクエリ。

getRoutingSites

設定されているすべてのルーティングサイトのリストを取得します。

パラメータ

  • input RequestGetRoutingSitesInput — フィルター基準を含むオブジェクト。
    • snapshotHash string — (任意)指定された場合、特定の履歴スナップショットからルーティングサイトを取得します。

戻り値

RoutingSiteオブジェクトの配列を含むResponseGetRoutingSitesオブジェクトに解決されるPromiseを返します。

リクエスト例

getRoutingSites Example

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

async function fetchRoutingSites() {
  try {
    const response = await client.getRoutingSites();
    console.log('Routing sites:', response.sites);
  } catch (error) {
    console.error('Error fetching routing sites:', error);
  }
}

fetchRoutingSites();

レスポンス例

Response

json
{
  "code": "ok",
  "sites": [
    {
      "id": "...",
      "domain": "example.com",
      "domainAliases": [{"value": "www.example.com"}],
      "rules": [/* ... */]
    }
  ]
}

getRoutingSnapshots

ルーティング設定の履歴スナップショットのリストを取得します。

パラメータ

  • input RequestGetRoutingSnapshotsInput — フィルター基準を含むオブジェクト。
    • limit number — 返すスナップショットの最大数。

戻り値

RoutingSnapshotオブジェクトの配列を含むResponseGetRoutingSnapshotsオブジェクトに解決されるPromiseを返します。

getSnapshotSites

特定のスナップショットハッシュからルーティングサイトを取得します。

パラメータ

  • input RequestGetSnapshotSitesInput (required) — スナップショットハッシュを含むオブジェクト。
    • hash string (required) — 取得するスナップショットのハッシュ。

戻り値

そのスナップショットからのRoutingSiteオブジェクトの配列を含むResponseGetSnapshotSitesオブジェクトに解決されるPromiseを返します。

getRoutingProviders

利用可能なルーティングプロバイダー(例: Nginx)のリストとその現在のステータスを取得します。

戻り値

RoutingProviderオブジェクトの配列を含むResponseGetRoutingProvidersオブジェクトに解決されるPromiseを返します。

isDidDomain

指定されたドメインがDIDベースのドメインであるかを確認します。

パラメータ

  • input RequestIsDidDomainInput (required)
    • domain string (required) — 確認するドメイン。

戻り値

結果を示すブール値valueを持つResponseIsDidDomainオブジェクトに解決されるPromiseを返します。

getDomainDNS

指定されたドメインのDNS解決ステータスを確認し、それがBlocklet Serverに正しくポイントされているかを検証します。

パラメータ

  • input RequestDomainDNSInput (required)
    • teamDid string (required) — ドメインに関連付けられたチーム/blockletのDID。
    • domain string (required) — 確認するドメイン。

戻り値

DNSステータスの詳細を示すResponseDomainDNSオブジェクトに解決されるPromiseを返します。

証明書

SSL/TLS証明書を管理するためのクエリ。

getCertificates

ノードにインストールされているすべてのSSL証明書を取得します。

戻り値

Certificateオブジェクトの配列を含むResponseGetCertificatesオブジェクトに解決されるPromiseを返します。

リクエスト例

getCertificates Example

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

async function listCertificates() {
  try {
    const response = await client.getCertificates();
    console.log('Installed certificates:', response.certificates);
  } catch (error) {
    console.error('Error fetching certificates:', error);
  }
}

listCertificates();

レスポンス例

Response

json
{
  "code": "ok",
  "certificates": [
    {
      "id": "...",
      "name": "example.com-cert",
      "domain": "example.com",
      "source": "letsencrypt",
      "status": "valid"
    }
  ]
}

findCertificateByDomain

関連付けられたドメイン名で特定の証明書を検索します。

パラメータ

  • input RequestFindCertificateByDomainInput (required)
    • domain string (required) — 証明書に関連付けられたドメイン名。
    • did string — (任意)検索範囲を絞り込むためのblockletのDID。

戻り値

見つかった場合にCertificateを含むResponseFindCertificateByDomainオブジェクトに解決されるPromiseを返します。

checkDomains

複数のドメインのステータスと有効性を一度に確認します。証明書を発行する前によく使用されます。

パラメータ

  • input RequestCheckDomainsInput (required)
    • domains string[] (required) — 確認するドメイン名の配列。
    • did string — (任意)blockletのDID。

戻り値

チェックのステータスを示すResponseCheckDomainsオブジェクトに解決されるPromiseを返します。

Webhook

Webhookとその送信者を管理するためのクエリ。

getWebHooks

設定されているすべてのWebhookのリストを取得します。

戻り値

WebHookオブジェクトの配列を含むResponseWebHooksオブジェクトに解決されるPromiseを返します。

リクエスト例

getWebHooks Example

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();

async function listWebhooks() {
  try {
    const response = await client.getWebHooks();
    console.log('Configured webhooks:', response.webhooks);
  } catch (error) {
    console.error('Error fetching webhooks:', error);
  }
}

listWebhooks();

レスポンス例

Response

json
{
  "code": "ok",
  "webhooks": [
    {
      "id": "...",
      "type": "slack",
      "params": [{"name": "url", "value": "https://hooks.slack.com/..."}]
    }
  ]
}

getWebhookSenders

利用可能なWebhook送信者タイプ(例: Slack、API)とその必須パラメータのリストを取得します。

戻り値

WebHookSenderオブジェクトの配列を含むResponseSenderListオブジェクトに解決されるPromiseを返します。

sendTestMessage

指定されたWebhookにテストメッセージを送信して、その設定を検証します。

パラメータ

  • input RequestSendMsgInput (required)
    • webhookId string (required) — テストするWebhookのID。
    • message string (required) — テストメッセージの内容。

戻り値

操作の結果を示すResponseSendMsgオブジェクトに解決されるPromiseを返します。

getWebhookEndpoints

設定されたWebhookエンドポイントのページ分割されたリストを取得します。

パラメータ

  • input RequestGetWebhookEndpointsInput (required)
    • teamDid string (required) — チーム/blockletのDID。
    • paging PagingInput — ページネーションオプション。

戻り値

ResponseGetWebhookEndpointsオブジェクトに解決されるPromiseを返します。

getWebhookEndpoint

IDで単一のWebhookエンドポイントを取得します。

パラメータ

  • input RequestGetWebhookEndpointInput (required)
    • teamDid string (required) — チーム/blockletのDID。
    • id string (required) — WebhookエンドポイントのID。

戻り値

ResponseGetWebhookEndpointオブジェクトに解決されるPromiseを返します。

getWebhookAttempts

特定のWebhookイベントの配信試行履歴を取得します。

パラメータ

  • input RequestGetWebhookAttemptsInput (required)
    • teamDid string (required) — チーム/blockletのDID。
    • input RequestAttemptIdInput (required) — eventIdとwebhookIdを含むオブジェクト。
      • eventId string (required) — イベントのID。
      • webhookId string (required) — WebhookのID。
    • paging PagingInput — ページネーションオプション。

戻り値

ResponseGetWebhookAttemptsオブジェクトに解決されるPromiseを返します。

これで、ネットワーキングとサービスを管理するためのクエリのレビューは完了です。バックアップ、ログ、分析に関連するデータの取得方法については、データと操作セクションに進んでください。