Cache de usuario
Almacena información persistente del usuario en el widget del bot.
Descripción
La función sendMessageToRoom()
es la encargada de enviar mensajes en el Widget. Puedes enviar los siguientes Tipo de datos de mensajes:
- TextMessage (Mensaje de texto)
- ImageMessage (Mensaje de imagen)
- AudioMessage (Mensaje de audio)
- VideoMessage (Mensaje de video)
- DocumentMessage (Mensaje de documento)
- LocationMessage (Mensaje de ubicación)
- PostbackMessage (Mensaje de respuesta rápida)
- EventMessage (Mensaje de evento)
Parámetros
La función sendMessageToRoom()
recibe dos parámetros obligatorios:
-
roomId: Es un parámetro de Tipo de dato "string" que corresponde al ID de la sala a la que se enviarán los mensajes. El ID de la sala actual se encuentra dentro del objeto
room
dewidgetService
y se puede acceder de la siguiente manera:widgetService.room.id
-
message (mensaje) Es un objeto que tendrá diferentes claves dependiendo del Tipo de dato de mensaje que se esté enviando, de acuerdo con las interfaces correspondientes.
Interfaces
Mensaje de texto
interface TextBaseMessage {
text: string;
readonly type: 'TEXT';
}
Mensaje con imagen
interface ImageBaseMessage {
mediaUrl: string;
caption?: string;
readonly type: 'IMAGE';
}
Mensajes de audio
export interface AudioBaseMessage {
mediaUrl: string;
readonly type: 'AUDIO';
}
Mensaje con video
interface VideoBaseMessage {
mediaUrl: string;
caption?: string;
readonly type: 'VIDEO';
}
Mensaje con documento adjunto
interface DocumentBaseMessage {
mediaUrl: string;
caption?: string;
readonly type: 'DOCUMENT';
}
Mensaje con ubicación
interface LocationBaseMessage {
lat: string;
lng: string;
readonly type: 'LOCATION';
}
Mensaje de devolución
interface PostbackMessage {
text: string;
payload: Record<string, any>;
readonly type: 'POSTBACK';
}
Mensaje de evento
interface EventMessage {
slug: string;
description: string;
eventPayload: Record<string, string>;
readonly type: 'EVENT';
}
Ejemplo de uso
Mensaje de texto
/**
* @param {SendMessageToRoom} [params]
* @returns {Promise<Message>}
**/
widgetInstance.sendMessage ("<someStringValue>",
{
"type": "TEXT",
"text": "<textMessageToBeSent>"
}
);
/**
* "<someStringValue>" param corresponds to the roomId to which the message is being sent.
/**