> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polymorfa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Instale o SDK TypeScript

> Instale o @polymorfa/sdk, fixe a versão e faça sua primeira solicitação.

`@polymorfa/sdk` é o SDK de servidor da Polymorfa para TypeScript e JavaScript.
Ele não tem dependências de runtime e inclui as próprias definições de tipo.

## Requisitos

* Node.js 20 ou mais recente, ou um Cloudflare Worker no servidor, Deno ou Bun.
  O runtime precisa oferecer `fetch` e `crypto.subtle`.
* Uma chave da equipe (`pmfa_…`) ou uma credencial de projeto (`pmfa_pt_…`).
  Crie uma em [Chaves de API](/pt-br/console/api-keys).

Mantenha as chaves no seu servidor. Código de navegador e de apps móveis usa um
[token de cliente](/pt-br/sdks/typescript/client#entregue-um-token-de-cliente-ao-navegador).

## Instale

```bash npm theme={null}
npm install --save-exact @polymorfa/sdk@dev
```

```bash pnpm theme={null}
pnpm add --save-exact @polymorfa/sdk@dev
```

```bash yarn theme={null}
yarn add --exact @polymorfa/sdk@dev
```

```bash bun theme={null}
bun add --exact @polymorfa/sdk@dev
```

O SDK é publicado como prerelease de desenvolvimento sob a tag `dev`. Ainda não
existe uma versão estável. A flag de versão exata registra a versão resolvida,
como `0.1.0-dev.20261001215108`, para que toda instalação receba o mesmo código.
Faça commit do seu lockfile.

A tag `dev` muda a cada nova prerelease publicada. Leia as
[notas de versão](/pt-br/sdks/typescript/version-notes) antes de atualizar.

## Faça sua primeira solicitação

Guarde sua chave na variável de ambiente `POLYMORFA_KEY` e liste seus Números:

```typescript theme={null}
import { Client } from "@polymorfa/sdk";

const platform = new Client({
  credential: { type: "organizationApiKey", value: process.env.POLYMORFA_KEY! },
  apiVersion: "2026-09-22",
});

const numbers = await platform.sessions.list();
for (const number of numbers.data.data) {
  console.log(number.sessionId, number.name, number.status);
}
```

Esta chamada precisa da permissão `sessions:read`.

## Envie uma mensagem

```typescript theme={null}
import { MessagingClient } from "@polymorfa/sdk";

const messaging = new MessagingClient({
  credential: { type: "apiKey", value: process.env.POLYMORFA_KEY! },
  apiVersion: "2026-09-22",
});

const sent = await messaging.messages.send("<number-id>", {
  conversation: { phoneNumber: "+15550001111" },
  content: { text: "Hello from Polymorfa" },
});
console.log(sent.data.data.id);
```

Esta chamada precisa de `messages:write`. O Número precisa estar conectado. Veja
[Envie e receba mensagens](/pt-br/sdks/typescript/messages) para mídia, modelos
e respostas.

## Use um runtime de edge

Importe da raiz do pacote, `@polymorfa/sdk`, em Cloudflare Workers, Deno e Bun.
Guarde as chaves no armazenamento de segredos do runtime, não no código-fonte.

`@polymorfa/sdk/node` contém helpers de download de arquivos que precisam do
Node.js. Não importe esse módulo em código de edge.

Veja [Verifique um webhook](/pt-br/sdks/typescript/webhooks#verifique-um-webhook)
para um Worker que recebe webhooks.

## Próximos passos

* [Crie um cliente](/pt-br/sdks/typescript/client): escolha o cliente certo e
  defina timeouts, novas tentativas e a versão da API.
* [Erros e novas tentativas](/pt-br/sdks/typescript/errors): trate falhas e leia
  todas as páginas de uma lista.
* [Conecte e gerencie Números](/pt-br/sdks/typescript/numbers): conecte uma
  conta do WhatsApp com o QuickLink.
* [Análises](/pt-br/sdks/typescript/analytics): leia engajamento, resultados de
  chamadas e intervalos de atividade, ou exporte métricas de coletores.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.