2.2.2 • Published 23 days ago

@huddle01/server-sdk v2.2.2

Weekly downloads
-
License
ISC
Repository
-
Last release
23 days ago

@huddle01/server-sdk

Installation

npm install @huddle01/server-sdk
yarn add @huddle01/server-sdk
pnpm i @huddle01/server-sdk
bun install @huddle01/server-sdk

Usage

Webhooks

Helper functions to decode and verify webhook callbacks from Huddle01.

import { WebhookReciever } from '@huddle01/server-sdk/webhooks';

const webhookReciever = new WebhookReciever({
  apiKey: "YOUR_API_KEY",
  apiSecret: "YOUR_API_SECRET",
});

Next.js Api Route

export async function POST(request: Request) {
  try {
    const body = await request.json();
    const header = request.headers.get("huddle01-signature");

    const data = webhookReciever.recieve(body, header);

    console.log({ webhookData: data });

    return NextResponse.json({ ok: true });
  } catch (error) {
    console.error(error);
    return NextResponse.json({ ok: false }, { status: 500 });
  }
}

Express

app.post("/webhooks", async (req, res) => {
  try {
    const body = req.body;
    const header = req.headers["huddle01-signature"];

    const data = webhookReciever.recieve(body, header);

    console.log({ webhookData: data });

    res.status(200).json({ ok: true });
  } catch (error) {
    console.error(error);
    res.status(500).json({ ok: false });
  }
});

Helper to get properly typed data from webhook

const recievedData = webhookReciever.recieve(body, header);

/**
 * @returns {
 *  event: "meeting:started",
 *  data: {
 *    roomId: string,
 *    createdAt: string,
 *  }
 * }
 */
const { event, data } = webhookReciever.createTypedWebhookData(
  "meeting:started",
  data.payload,
);

TODO: docs for auth and recorder

1.0.0-beta.5

23 days ago

2.2.3-dev.0

23 days ago

1.0.0-beta.6

23 days ago

1.0.0-beta.7

23 days ago

2.2.2

1 month ago

2.2.2-dev.1

1 month ago

2.2.1

2 months ago

2.2.0

2 months ago

2.2.1-dev.0

2 months ago

2.2.1-dev.1

2 months ago

2.2.1-dev.2

2 months ago

2.1.2-dev.1

2 months ago

2.1.2

2 months ago

2.2.0-dev.0

2 months ago

2.2.0-dev.1

2 months ago

2.2.0-dev.2

2 months ago

2.2.0-dev.3

2 months ago

2.1.1

2 months ago

2.1.0-dev.0

2 months ago

2.0.6-dev.3

2 months ago

2.1.0

2 months ago

2.0.6-dev.2

2 months ago

2.0.6-dev.1

2 months ago

2.0.6-dev.0

2 months ago

2.0.6

3 months ago

2.0.5-dev.1

3 months ago

2.0.5

3 months ago

2.0.4-dev.2

3 months ago

2.0.4-dev.3

3 months ago

2.0.4

3 months ago

2.0.4-dev.1

3 months ago

2.0.3-dev.2

3 months ago

2.0.3-dev.1

3 months ago

2.0.3-dev.0

3 months ago

2.0.3

3 months ago

2.0.2

3 months ago

2.0.2-dev.0

3 months ago

2.0.1-dev.4

3 months ago

2.0.1-dev.2

3 months ago

2.0.1-dev.1

3 months ago

2.0.1-dev.3

3 months ago

1.0.0-alpha.96

3 months ago

2.0.1

3 months ago

2.0.1-dev.0

3 months ago

1.0.0

4 months ago

2.0.0

4 months ago

1.0.0-beta.4

4 months ago

1.0.0-beta.3

4 months ago

1.0.0-alpha.85

4 months ago

1.0.0-alpha.87

4 months ago

1.0.0-alpha.86

4 months ago

1.0.0-alpha.89

4 months ago

1.0.0-alpha.88

4 months ago

1.0.0-alpha.82

4 months ago

1.0.0-beta.2

4 months ago

1.0.0-beta.0

4 months ago

1.0.0-beta.1

4 months ago

1.0.0-alpha.25

6 months ago

1.0.0-dev.0

6 months ago

1.0.0-alpha.24

6 months ago

1.0.0-alpha.23

6 months ago

1.0.0-alpha.22

6 months ago

1.0.0-alpha.21

6 months ago

1.0.0-alpha.20

6 months ago

1.0.0-alpha.19

6 months ago

1.0.0-alpha.18

6 months ago

1.0.0-alpha.17

6 months ago

1.0.0-alpha.16

6 months ago

1.0.0-alpha.15

6 months ago

1.0.0-alpha.14

6 months ago

1.0.0-alpha.13

6 months ago

1.0.0-alpha.12

7 months ago

1.0.0-alpha.11

7 months ago

1.0.0-alpha.10

7 months ago

1.0.0-alpha.9

7 months ago

1.0.0-alpha.8

7 months ago

1.0.0-alpha.7

7 months ago

1.0.0-alpha.6

7 months ago

1.0.0-alpha.5

7 months ago

1.0.0-alpha.4

7 months ago

1.0.0-alpha.3

7 months ago

1.0.0-alpha.2

7 months ago

0.0.0-alpha.0

7 months ago