IDs branded
Um id de recurso é umastring 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.
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).