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',
]);