Skip to content
On this page

基本的な使用方法

まずは Hedgehog をインポートします。

ts
import { Hedgehog } from "@hedgehog-live/sdk";

CDN を使用して読み込んだ場合は、インポート不要で使用する事が出来ます。

html
<html lang="en">
  <head>
    <script src="https://unpkg.com/@hedgehog-live/sdk/dist/hhl.bundle.js"></script>
  </head>
  <script>
    // 使用可能
    console.log(Hedgehog);
  </script>
</html>

ステージの取得

ステージ取得には UUID が必要です。

ts
const stage = Hedgehog.stage.ref("ステージのUUID");

自身が参照可能な(管理権限を持つ)ステージの UUIDHedgehog Dashboard から確認できますが、SDK でサインインして自身が参照可能なステージ UUID を取得する事も可能です。

ts
const user = await Hedgehog.user.signin("メールアドレス", "パスワード");
const stages = await user.admin.stages();
for (const s of stages) {
  console.log(s.uuid); // ステージのUUID
}

各種情報へのアクセス

基本的に Hedgehog.stage() で取得したインスタンスを経由して各種情報にアクセスしていく事になります。以下は一例です。

パス内容
stage.eventイベント
stage.ticketチケット
stage.product物販
stage.tipping投げ銭

中には各情報固有のメソッドやプロパティもありますが、基本的には後述のチェーンメソッドでアクセスする事が可能です。

例ではイベントの取得を行っていますが、他の情報でも構文は変わりません。例えばチケットに関する情報を取得したい場合は、event の箇所を ticket に変更し、イベントの UUID を指定している箇所をチケットの UUID に変更するだけです。

一覧の取得

一覧の取得には list() を使用します。引数に検索条件を加え、 list({条件}) とする事で条件検索が出来るようになります。指定できる条件は各情報のページをご覧ください。

list() 関数はリスト取得用のインスタンスを返し、以下のメソッドを持っています。

メソッド内容引数
all()全ての情報を取得
first()リストの最初の項目を取得
page()ページで区切ったリストを取得limit: number -- 1 ページの項目数
page: number -- 取得するページ

例) ステージが持つ全てのイベントを列挙する

ts
const stage = Hedgehog.stage.ref("ステージのUUID");
const data = await stage.event.list().all();

特定の情報を取得

情報の取得にはまず ref() を使用して参照を取得する必要があります。参照の取得にはその情報の UUID が必要です。

参照を取得した後に get() を用いて実際の情報を取得します。

例) 特定のイベントの情報を取得する

ts
const stage = Hedgehog.stage.ref("ステージのUUID");
const data = await stage.event.ref("イベントのUUID").get();

情報を作成 admin

情報の作成は管理者権限が必要な操作になるので、 admin を経由する必要があります。 admin 以下にある create() メソッドを用いて新規作成を行います。

例) イベントを作成する

ts
const stage = Hedgehog.stage.ref("ステージのUUID");
await stage.event.admin.create({
  title: "タイトル",
  image: new File([], ""),
  startDate: new Date().toISOString(),
});

情報を更新 admin

こちらも作成時と同様に、admin を経由する必要があります。更新時は update() メソッドを用います。

例) イベントを更新する

ts
const stage = Hedgehog.stage.ref("ステージのUUID");
await stage.event.ref("イベントのUUID").admin.update({
  title: "更新したタイトル",
});

情報を削除 admin

こちらも作成時と同様に、admin を経由する必要があります。削除時は delete() メソッドを用います。

例) イベントを削除する

ts
const stage = Hedgehog.stage.ref("ステージのUUID");
await stage.event.ref("イベントのUUID").admin.delete();