Pregunta de novato sobre Mailchimp y Node.js con TypeScript: Importar vs Requerir
Estoy creando una aplicación que envía ciertos correos electrónicos transaccionales usando Mailchimp.
Tienen una gran documentación aquí: https://mailchimp.com/developer/api/transactional/messages/send-using-message-template/
Pero estoy usando TypeScript, así que la línea:
var mailchimp = require("mailchimp_transactional")("API_KEY");
No funciona, recibo el siguiente error:
Error: Cannot find module 'mailchimp_transactional'
Sé que esto es algo pequeño, pero no estoy seguro de cómo solucionarlo en absoluto. Encontré un artículo que describe cómo crear tu propio archivo de tipos aquí: '@mailchimp/mailchimp_marketing/types.d.ts' no es un módulo en NodeJs
Pero tiene que haber una solución más rápida y sencilla. Además, no queda claro cómo configurar la clave de API en ese caso.
He intentado importar el módulo que es @mailchimp/mailchimp_transactional, lo cual no funcionó. Por supuesto, también he ejecutado npm install @mailchimp/mailchimp_transactional
Cualquier ayuda sería apreciada, aquí hay un ejemplo completo por si acaso ayuda.
var mailchimp = require("mailchimp_transactional")("API_KEY");
export const testSendEmailFromTemplate = async () => {
let mcbody = {
template_name: "my-template",
template_content: [{
name:"firstname",
content:"INJECTED.BY.TEMPLATE.CONT.firstname"
},
{
name:"surname",
content:"INJECTED.BY.TEMPLATE.CONT.surname"
}],
message: {
to:{
email:"[email ",
name: "Test",
type: "to"
}
},
async:true
};
return await mailchimp.messages.sendTemplate(mcbody);
}Respuesta #1
Si alguien tiene la mala suerte de enfrentarse a este problema porque la documentación de Mailchip no se adapta a la configuración de TypeScript, y no está seguro de cómo hacer que 'simplemente funcione', aquí está la respuesta:
const mailchimpFactory = require("@mailchimp/mailchimp_transactional/src/index.js");
const mailchimp = mailchimpFactory("PUTKEYHERE");Esto carga el archivo de JavaScript directamente y luego la segunda línea inicializa el objeto.
¡Buena suerte a todos!
Respuesta #2
A partir de marzo de 2022, los tipos se han agregado a DefinitelyTyped y se pueden acceder ejecutando
npm install --save-dev @types/mailchimp__mailchimp_transactional