Saltar al contenido principal

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 de widgetService 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.
/**