SDK Node
v0.1.0Referencia completa del paquete @coffeemail/node. Cobertura total de la API de Producto con retorno seguro en el patrón data, error y errores tipados.
Instalación
Cliente
Crea una instancia del cliente. La clave puede venir del constructor o de la variable de entorno COFFEEMAIL_API_KEY.
new CoffeeMail(apiKey?: string, options?: CoffeeMailClientOptions): CoffeeMailcoffeemail.Emails
.send
coffeemail.emails.send(payload): Promise<CoffeeMailResponse<SendEmailResponse>>Pone en cola un email transaccional.
.sendBatch
coffeemail.emails.sendBatch(items): Promise<CoffeeMailResponse<SendBatchResponse>>Envia hasta 100 emails en una sola llamada.
.get
coffeemail.emails.get(id): Promise<CoffeeMailResponse<EmailDetail>>Detalla un email por ID.
.list
coffeemail.emails.list(query?): Promise<CoffeeMailResponse<ListEmailsResponse>>Lista emails enviados con filtros y paginacion.
.getEvents
coffeemail.emails.getEvents(id): Promise<CoffeeMailResponse<EmailEventsResponse>>Devuelve la linea de tiempo de eventos del email.
.cancel
coffeemail.emails.cancel(id): Promise<CoffeeMailResponse<void>>Cancela un email programado antes del envio.
.resend
coffeemail.emails.resend(id): Promise<CoffeeMailResponse<SendEmailResponse>>Reenvia un email existente.
coffeemail.Dominios
.create
coffeemail.domains.create(payload): Promise<CoffeeMailResponse<DomainDetail>>Agrega un dominio y devuelve los registros DNS.
.list
coffeemail.domains.list(query?): Promise<CoffeeMailResponse<ListDomainsResponse>>Lista los dominios de la organizacion.
.get
coffeemail.domains.get(id): Promise<CoffeeMailResponse<DomainDetail>>Detalla un dominio.
.verify
coffeemail.domains.verify(id): Promise<CoffeeMailResponse<DomainVerificationResult>>Ejecuta la verificacion DNS activa.
.getHealth
coffeemail.domains.getHealth(id): Promise<CoffeeMailResponse<DomainHealthResponse>>Diagnostico de reputacion y listas negras.
.delete
coffeemail.domains.delete(id): Promise<CoffeeMailResponse<void>>Elimina el dominio de la organizacion.
coffeemail.Plantillas
.create
coffeemail.templates.create(payload): Promise<CoffeeMailResponse<TemplateDetail>>Registra una plantilla (handlebars o react_email).
.list
coffeemail.templates.list(query?): Promise<CoffeeMailResponse<ListTemplatesResponse>>Lista plantillas de la organizacion.
.get
coffeemail.templates.get(id): Promise<CoffeeMailResponse<TemplateDetail>>Detalla una plantilla.
.update
coffeemail.templates.update(id, patch): Promise<CoffeeMailResponse<TemplateDetail>>Actualiza una plantilla existente.
.delete
coffeemail.templates.delete(id): Promise<CoffeeMailResponse<void>>Elimina una plantilla.
.format
coffeemail.templates.format(payload): Promise<CoffeeMailResponse<FormatTemplateResponse>>Formatea e indenta el código HTML/Handlebars de la plantilla.
.testRender
coffeemail.templates.testRender(payload): Promise<CoffeeMailResponse<RenderPreviewResponse>>Renderiza la plantilla con sanitización de etiquetas e inyección de variables.
.listStarters
coffeemail.templates.listStarters(): Promise<CoffeeMailResponse<ListStartersResponse>>Lista las plantillas base preconstruidas de la plataforma.
.getStarter
coffeemail.templates.getStarter(id): Promise<CoffeeMailResponse<StarterTemplateDetail>>Detalla una plantilla base por identificador o slug.
coffeemail.Audiencias
.create
coffeemail.audiences.create(payload): Promise<CoffeeMailResponse<AudienceDetail>>Crea una audiencia.
.list
coffeemail.audiences.list(): Promise<CoffeeMailResponse<ListAudiencesResponse>>Lista audiencias.
.get
coffeemail.audiences.get(id): Promise<CoffeeMailResponse<AudienceDetail>>Detalla una audiencia.
.update
coffeemail.audiences.update(id, patch): Promise<CoffeeMailResponse<AudienceDetail>>Actualiza el nombre o descripción de una audiencia.
.delete
coffeemail.audiences.delete(id): Promise<CoffeeMailResponse<void>>Elimina una audiencia.
.contacts.create
coffeemail.audiences.contacts.create(audienceId, payload): Promise<CoffeeMailResponse<ContactDetail>>Agrega un contacto a la audiencia.
.contacts.bulkAdd
coffeemail.audiences.contacts.bulkAdd(audienceId, contacts): Promise<CoffeeMailResponse<BulkAddResult>>Importa múltiples contactos en lote para una audiencia.
.contacts.list
coffeemail.audiences.contacts.list(audienceId, query?): Promise<CoffeeMailResponse<ListContactsResponse>>Lista contactos de una audiencia.
.contacts.update
coffeemail.audiences.contacts.update(audienceId, contactId, payload): Promise<CoffeeMailResponse<ContactDetail>>Actualiza los atributos o metadatos de un contacto.
.contacts.delete
coffeemail.audiences.contacts.delete(audienceId, contactId): Promise<CoffeeMailResponse<void>>Elimina un contacto de la audiencia.
coffeemail.Broadcasts
.create
coffeemail.broadcasts.create(payload): Promise<CoffeeMailResponse<BroadcastDetail>>Crea una campana para una audiencia.
.list
coffeemail.broadcasts.list(query?): Promise<CoffeeMailResponse<ListBroadcastsResponse>>Lista campanas.
.get
coffeemail.broadcasts.get(id): Promise<CoffeeMailResponse<BroadcastDetail>>Detalla una campana.
.send
coffeemail.broadcasts.send(id): Promise<CoffeeMailResponse<BroadcastDetail>>Envia la campana. Los encabezados RFC 8058 se inyectan automaticamente.
.cancel
coffeemail.broadcasts.cancel(id): Promise<CoffeeMailResponse<void>>Cancela una campana que aun no se ha enviado.
coffeemail.Supresiones
.list
coffeemail.suppressions.list(query?): Promise<CoffeeMailResponse<ListSuppressionsResponse>>Lista entradas de la lista de supresion.
.create
coffeemail.suppressions.create(payload): Promise<CoffeeMailResponse<SuppressionDetail>>Agrega manualmente una entrada.
.get
coffeemail.suppressions.get(id): Promise<CoffeeMailResponse<SuppressionDetail>>Consulta los detalles y motivo de una supresión específica.
.delete
coffeemail.suppressions.delete(id): Promise<CoffeeMailResponse<void>>Elimina una entrada.
.reactivate
coffeemail.suppressions.reactivate(id): Promise<CoffeeMailResponse<void>>Reactiva un destinatario suprimido para volver a recibir envíos.
coffeemail.Webhooks
.create
coffeemail.webhooks.create(payload): Promise<CoffeeMailResponse<WebhookDetail>>Registra un endpoint HTTPS.
.list
coffeemail.webhooks.list(): Promise<CoffeeMailResponse<ListWebhooksResponse>>Lista webhooks registrados.
.get
coffeemail.webhooks.get(id): Promise<CoffeeMailResponse<WebhookDetail>>Detalla un webhook.
.update
coffeemail.webhooks.update(id, patch): Promise<CoffeeMailResponse<WebhookDetail>>Actualiza URL, eventos o secret.
.toggle
coffeemail.webhooks.toggle(id, status: 'active' | 'paused'): Promise<CoffeeMailResponse<WebhookDetail>>Activa o pausa la entrega de eventos en el webhook.
.delete
coffeemail.webhooks.delete(id): Promise<CoffeeMailResponse<void>>Elimina un webhook.
.listDeliveries
coffeemail.webhooks.listDeliveries(id, query?): Promise<CoffeeMailResponse<ListDeliveriesResponse>>Lista el historial de intentos de entrega y estado del webhook.
.rotateSecret
coffeemail.webhooks.rotateSecret(id): Promise<CoffeeMailResponse<RotateSecretResponse>>Genera y rota el secreto criptográfico HMAC del webhook.
.test
coffeemail.webhooks.test(id): Promise<CoffeeMailResponse<TestWebhookResponse>>Dispara un evento simulado.
.verifySignature
coffeemail.webhooks.verifySignature(options): booleanValida el encabezado X-CoffeeMail-Signature (HMAC SHA-256 + timingSafeEqual).
coffeemail.Estadísticas
.get
coffeemail.stats.get(query?): Promise<CoffeeMailResponse<StatsResponse>>Consulta métricas consolidadas y series temporales de la organización.