Hopp til innhold
SDKApache-2.0 · TypeScript først

Medal-plattformen, i koden din.

En typesikker TypeScript-klient for Medals REST-API: innlegg, e-post, kontakter og avtaler, bookinger, helpdesk, webhooks og GDPR. Den bruker native fetch og kjører derfor i Node.js, Bun, Deno, Cloudflare Workers og i nettleseren.

$npm i @medalsocial/sdk Se på GitHub npm
Kom i gang

Fra installasjon til første kall på fem minutter

bashInstaller
npm i @medalsocial/sdk # eller pnpm add @medalsocial/sdk

Autentiser

Lag en API-nøkkel i innstillingene for arbeidsområdet. Nøkler starter med medal_ og gjelder kun ett arbeidsområde, så en integrasjon kan aldri nå feil data. Send nøkkelen til new Medal(apiKey). OAuth-tokens fungerer også — legg til { workspaceId } i options, sammen med baseUrl og timeout.
tsDine første kall
import { Medal } from '@medalsocial/sdk'; const apiKey = process.env.MEDAL_API_KEY; if (!apiKey) throw new Error('Set MEDAL_API_KEY to a workspace API key (medal_…)'); const medal = new Medal(apiKey); // Which channels can this workspace post to? const { data: channels } = await medal.posts.channels(); const [channel] = channels; if (!channel) throw new Error('Connect a channel in the Medal app first'); const { data: post } = await medal.posts.create({ content: 'Hello from the Medal SDK!', channel_ids: [channel.id], }); const tomorrow = new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(); await medal.posts.schedule(post.id, { scheduled_at: tomorrow }); await medal.emails.send({ template_slug: 'welcome', to: 'user@example.com', variables: { name: 'Ida' }, }); const { data: contact } = await medal.contacts.create({ email: 'ida@example.com', first_name: 'Ida', status: 'lead', });

Lag din første integrasjon

Synk registreringer fra appen din inn som kontakter, planlegg innlegg rett fra din egen pipeline, send transaksjonell e-post fra en mal, og koble Helpdesk-samtaler inn i systemene dine med signerte webhooks.

Bygget for produksjon

Feil kommer som en typet MedalApiError med status, code, message og details. Forespørsler prøves automatisk på nytt ved 429 og 5xx, opptil tre forsøk, og respekterer Retry-After. Liste-endepunkter bruker cursor-paginering. Pakken inneholder en OpenAPI 3.1-kontrakt, så du kan generere klienter for andre språk fra samme fasit.
Kom i gang-guide Autentisering og API-nøkler Webhooks REST-API-referanse MCP-server for AI-agenter