Fuente de datos: Google Chat
1Presentación
Google Chat permite crear espacios de comunicación, en los que es posible enviar notificaciones.
Si has configurado correctamente los parámetros de conexión a Google Chat, Temma crea automáticamente un objeto de tipo \Temma\Datasources\GoogleChat, con el que puedes enviar notificaciones. Por convención, supondremos que has llamado a esta conexión gchat en el archivo etc/temma.php (consulta la documentación de configuración).
En los controladores, la conexión a Google Chat está entonces disponible escribiendo:
$gchat = $this->gchat;
En otros objetos gestionados por el componente de inyección de dependencias, la conexión a Google Chat es accesible escribiendo:
$gchat = $loader->dataSources->gchat;
$gchat = $loader->dataSources['gchat'];
2Configuración
Para enviar mensajes a Google Chat, primero debes crear un webhook. Cada webhook está vinculado a un espacio en el que puede publicar mensajes.
En el archivo etc/temma.php (consulta la documentación de configuración), declaras el DSN (Data Source Name) usado para conectarte a Google Chat.
El DSN usado para conectarte a Google Chat se puede escribir como googlechat://WEBHOOK
Siendo WEBHOOK el valor de la URL del webhook, sin el prefijo https://.
Ejemplo: chat.googleapis.com/v1/spaces/XXXXXXX/messages?key=YYYYYYY&token=ZZZZZZZ
3Contenido de las notificaciones
Las notificaciones pueden contener texto simple, una variante de la sintaxis Markdown, o un diseño complejo con título, subtítulo, pictograma, código HTML, imágenes y enlaces.
4Llamadas unificadas
4.1Acceso tipo array
// enviar un mensaje simple
$gchat[''] = "Mensaje a enviar";
// mensaje con Markdown
$gchat[''] = 'Texto con _formato_ *simple*.';
$gchat[''] = [
'title' => 'Un título',
'subtitle' => 'Un subtítulo',
'picto' => 'https://url del pictograma',
// cada sección puede tener un título y: un texto, una imagen o una lista de botones
'sections' => [
[
'title' => 'Primera sección',
'html' => 'Un texto',
],
[
'icon' => 'STAR',
'topLabel' => 'Estado',
'html' => "Un enlace.",
'bottomLabel' => 'Generado ayer',
],
[
'image' => 'https://url_de_la_imagen',
'alt' => 'Texto alternativo', // opcional
],
[
'title' => 'Otra sección',
'buttons' => [
'Button 1' => 'https://link_btn_1',
'Button 2' => 'https://link_btn_2',
'Button 3' => 'https://link_btn_3',
]
],
],
];
4.2Método avanzado
// enviar un mensaje simple
$gchat->set('', "Mensaje a enviar");
// notificación enriquecida
$gchat->set('', [
'title' => 'Un título',
'picto' => 'https://url del pictograma',
]);