Skip to main content
O SDK é escrito em TypeScript em modo estrito e publica declarações de tipos para ESM e CommonJS. Todas as requisições, respostas, erros e eventos são tipados.

IDs branded

Um id de recurso é uma string em runtime, mas o compilador o trata como um tipo distinto. Isso transforma um erro que apareceria como 404 em produção em um erro de compilação.
Os ids que send() e os métodos de lista retornam já são branded, então você só precisa converter ids que vieram de fora, como um guardado no seu banco.

toXId: converter sem validar

toMessageId apenas faz um cast. Use quando o valor já é confiável, como um campo lido de uma resposta da API ou guardado por você.

isXId: validar antes de usar

isMessageId verifica o formato (msg_ seguido de 26 caracteres) e estreita o tipo. Use para entradas não confiáveis, como um parâmetro de URL:

Tipos de ID disponíveis

Para outros prefixos, existem os genéricos Id<Prefix>, isPrefixedId e toId.
O campo channel de messages.send() e de templates.submit() aceita uma string comum. Já os ids de recurso em retrieve exigem o tipo branded.

Tipos exportados

Os tipos principais podem ser importados do pacote:

Conteúdo da mensagem

MessageContent é uma união discriminada por type. Estreite pelo campo:

Eventos

RoutaEvent é uma união por type, com um último membro genérico para tipos que a sua versão do SDK ainda não conhece. Veja Webhooks no SDK.

Convenções de nomes

O SDK expõe os campos da API em camelCase (deliveredAt, nextCursor), exceto dentro de content de mensagens e de data de eventos, que preservam o formato da API (media_id, template_id, body_parameters).