¿Qué es ctx.jelou?
ctx.jelou es el cliente de mensajería integrado. Permite enviar mensajes de WhatsApp directamente desde tu función sin configurar APIs externas. Está disponible automáticamente cuando la empresa tiene credenciales de la API de Jelou configuradas.
Verificar disponibilidad
Enviar mensajes
ctx.jelou.send(options)
Envía un mensaje individual. Retorna { messageId: string }.
- Texto
- Imagen
- Video
- Archivo
- Audio
Mensajes interactivos
- Botones
- Lista
- Quick Reply
- CTA URL
Mensajes avanzados
- Ubicación
- Contactos
- Carrusel
- Flow
- Sticker
Enviar templates HSM
ctx.jelou.sendTemplate(options)
Envía un template HSM aprobado por WhatsApp. Retorna Array<{ id, destination }>.
Múltiples destinatarios
Template con media
Validar plantillas antes de enviar
UnsendTemplate falla en silencio por tres motivos: el nombre está mal escrito, el idioma no está aprobado, o mandas más o menos parámetros de los que espera la plantilla. ctx.templateRegistry te da acceso al catálogo de plantillas aprobadas del canal para detectarlo antes de llamar a Meta.
Métodos
has() y hasAnywhere() son verificaciones booleanas: si no hay canal asociado o el catálogo no responde, registran una advertencia y devuelven false en lugar de lanzar error. Cuando necesitas una respuesta definitiva usa get(), list() o validate(), que lanzan TemplateRegistryError con un code: unknown_template, language_not_approved, param_count_mismatch, template_paused, registry_unavailable o no_bot_context.En cron y ejecuciones diferidas
En un disparo de cron o de una ejecución diferida no hay canal resuelto, así quehas() siempre devolvería false. Lleva el botId en tu propio payload y enlaza el catálogo explícitamente:
for(botId) es seguro en cualquier ruta: en una petición normal simplemente reenlaza al canal indicado.
Override de canal
Todos los mensajes usanctx.bot.id por defecto. Para enviar desde otro canal:
Manejo de errores
Testing
UsacreateMockJelouClient() para testing sin enviar mensajes reales:
Testing completo
Referencia de createMockJelouClient, createMockMemoryClient y más.