SDK Node
v0.1.0Referência completa do pacote @coffeemail/node. Cobertura total da API de Produto com retorno seguro no padrão data, error e erros tipados.
Instalação
Cliente
Instancia o cliente. A chave pode vir do construtor ou da variável de ambiente COFFEEMAIL_API_KEY.
new CoffeeMail(apiKey?: string, options?: CoffeeMailClientOptions): CoffeeMailcoffeemail.Emails
.send
coffeemail.emails.send(payload): Promise<CoffeeMailResponse<SendEmailResponse>>Enfileira um email transacional.
.sendBatch
coffeemail.emails.sendBatch(items): Promise<CoffeeMailResponse<SendBatchResponse>>Envia até 100 emails em uma única chamada.
.get
coffeemail.emails.get(id): Promise<CoffeeMailResponse<EmailDetail>>Detalha um email pelo ID.
.list
coffeemail.emails.list(query?): Promise<CoffeeMailResponse<ListEmailsResponse>>Lista emails enviados com filtros e paginação.
.getEvents
coffeemail.emails.getEvents(id): Promise<CoffeeMailResponse<EmailEventsResponse>>Retorna a timeline de eventos do email.
.cancel
coffeemail.emails.cancel(id): Promise<CoffeeMailResponse<void>>Cancela um email scheduled antes do envio.
.resend
coffeemail.emails.resend(id): Promise<CoffeeMailResponse<SendEmailResponse>>Reenvia um email existente.
coffeemail.Domínios
.create
coffeemail.domains.create(payload): Promise<CoffeeMailResponse<DomainDetail>>Adiciona um domínio e retorna os registros DNS.
.list
coffeemail.domains.list(query?): Promise<CoffeeMailResponse<ListDomainsResponse>>Lista os domínios da organização.
.get
coffeemail.domains.get(id): Promise<CoffeeMailResponse<DomainDetail>>Detalha um domínio.
.verify
coffeemail.domains.verify(id): Promise<CoffeeMailResponse<DomainVerificationResult>>Executa a checagem DNS ativa.
.getHealth
coffeemail.domains.getHealth(id): Promise<CoffeeMailResponse<DomainHealthResponse>>Diagnóstico de reputação e blacklists.
.delete
coffeemail.domains.delete(id): Promise<CoffeeMailResponse<void>>Remove o domínio da organização.
coffeemail.Modelos
.create
coffeemail.templates.create(payload): Promise<CoffeeMailResponse<TemplateDetail>>Cadastra um template (handlebars ou react_email).
.list
coffeemail.templates.list(query?): Promise<CoffeeMailResponse<ListTemplatesResponse>>Lista templates da organização.
.get
coffeemail.templates.get(id): Promise<CoffeeMailResponse<TemplateDetail>>Detalha um template.
.update
coffeemail.templates.update(id, patch): Promise<CoffeeMailResponse<TemplateDetail>>Atualiza um template existente.
.delete
coffeemail.templates.delete(id): Promise<CoffeeMailResponse<void>>Remove um template.
.format
coffeemail.templates.format(payload): Promise<CoffeeMailResponse<FormatTemplateResponse>>Formata e indenta o código HTML/Handlebars do template.
.testRender
coffeemail.templates.testRender(payload): Promise<CoffeeMailResponse<RenderPreviewResponse>>Renderiza o template com sanitização de tags e injeção de variáveis.
.listStarters
coffeemail.templates.listStarters(): Promise<CoffeeMailResponse<ListStartersResponse>>Lista os templates padrão pré-construídos da plataforma.
.getStarter
coffeemail.templates.getStarter(id): Promise<CoffeeMailResponse<StarterTemplateDetail>>Detalha um template padrão por identificador ou slug.
coffeemail.Audiências
.create
coffeemail.audiences.create(payload): Promise<CoffeeMailResponse<AudienceDetail>>Cria uma audiência.
.list
coffeemail.audiences.list(): Promise<CoffeeMailResponse<ListAudiencesResponse>>Lista audiências.
.get
coffeemail.audiences.get(id): Promise<CoffeeMailResponse<AudienceDetail>>Detalha uma audiência.
.update
coffeemail.audiences.update(id, patch): Promise<CoffeeMailResponse<AudienceDetail>>Atualiza o nome ou descrição de uma audiência.
.delete
coffeemail.audiences.delete(id): Promise<CoffeeMailResponse<void>>Remove uma audiência.
.contacts.create
coffeemail.audiences.contacts.create(audienceId, payload): Promise<CoffeeMailResponse<ContactDetail>>Adiciona um contato à audiência.
.contacts.bulkAdd
coffeemail.audiences.contacts.bulkAdd(audienceId, contacts): Promise<CoffeeMailResponse<BulkAddResult>>Importa múltiplos contatos em lote para uma audiência.
.contacts.list
coffeemail.audiences.contacts.list(audienceId, query?): Promise<CoffeeMailResponse<ListContactsResponse>>Lista contatos de uma audiência.
.contacts.update
coffeemail.audiences.contacts.update(audienceId, contactId, payload): Promise<CoffeeMailResponse<ContactDetail>>Atualiza os atributos ou metadados de um contato.
.contacts.delete
coffeemail.audiences.contacts.delete(audienceId, contactId): Promise<CoffeeMailResponse<void>>Remove um contato da audiência.
coffeemail.Broadcasts
.create
coffeemail.broadcasts.create(payload): Promise<CoffeeMailResponse<BroadcastDetail>>Cria uma campanha para uma audiência.
.list
coffeemail.broadcasts.list(query?): Promise<CoffeeMailResponse<ListBroadcastsResponse>>Lista campanhas.
.get
coffeemail.broadcasts.get(id): Promise<CoffeeMailResponse<BroadcastDetail>>Detalha uma campanha.
.send
coffeemail.broadcasts.send(id): Promise<CoffeeMailResponse<BroadcastDetail>>Dispara a campanha. Headers RFC 8058 são injetados automaticamente.
.cancel
coffeemail.broadcasts.cancel(id): Promise<CoffeeMailResponse<void>>Cancela uma campanha ainda não enviada.
coffeemail.Supressões
.list
coffeemail.suppressions.list(query?): Promise<CoffeeMailResponse<ListSuppressionsResponse>>Lista entradas da lista de supressão.
.create
coffeemail.suppressions.create(payload): Promise<CoffeeMailResponse<SuppressionDetail>>Adiciona manualmente uma entrada.
.get
coffeemail.suppressions.get(id): Promise<CoffeeMailResponse<SuppressionDetail>>Consulta os detalhes e motivo de uma supressão específica.
.delete
coffeemail.suppressions.delete(id): Promise<CoffeeMailResponse<void>>Remove uma entrada.
.reactivate
coffeemail.suppressions.reactivate(id): Promise<CoffeeMailResponse<void>>Reativa um destinatário suprimido para voltar a receber envios.
coffeemail.Webhooks
.create
coffeemail.webhooks.create(payload): Promise<CoffeeMailResponse<WebhookDetail>>Cadastra um endpoint HTTPS.
.list
coffeemail.webhooks.list(): Promise<CoffeeMailResponse<ListWebhooksResponse>>Lista webhooks cadastrados.
.get
coffeemail.webhooks.get(id): Promise<CoffeeMailResponse<WebhookDetail>>Detalha um webhook.
.update
coffeemail.webhooks.update(id, patch): Promise<CoffeeMailResponse<WebhookDetail>>Atualiza URL, eventos ou secret.
.toggle
coffeemail.webhooks.toggle(id, status: 'active' | 'paused'): Promise<CoffeeMailResponse<WebhookDetail>>Ativa ou pausa o recebimento de eventos no webhook.
.delete
coffeemail.webhooks.delete(id): Promise<CoffeeMailResponse<void>>Remove um webhook.
.listDeliveries
coffeemail.webhooks.listDeliveries(id, query?): Promise<CoffeeMailResponse<ListDeliveriesResponse>>Lista o histórico de tentativas de entrega e status do webhook.
.rotateSecret
coffeemail.webhooks.rotateSecret(id): Promise<CoffeeMailResponse<RotateSecretResponse>>Gera e rotaciona o segredo criptográfico HMAC do webhook.
.test
coffeemail.webhooks.test(id): Promise<CoffeeMailResponse<TestWebhookResponse>>Dispara um evento simulado.
.verifySignature
coffeemail.webhooks.verifySignature(options): booleanValida o header X-CoffeeMail-Signature (HMAC SHA-256 + timingSafeEqual).
coffeemail.Estatísticas
.get
coffeemail.stats.get(query?): Promise<CoffeeMailResponse<StatsResponse>>Consulta métricas consolidadas e séries históricas da organização.