Reacciones en chats de Simla.com
Copiar enlace al artículo
Copiado

Contenido

  1. Métodos de la API

En Simla.com es posible gestionar las reacciones a los mensajes de chat. Las reacciones se representan mediante emojis y pueden ser añadidas, actualizadas o eliminadas tanto por los usuarios del sistema como por los clientes desde los módulos de transporte.

Para los módulos de transporte, la compatibilidad con reacciones se implementa mediante métodos REST de la Transport API. Los eventos relacionados con las reacciones se transmiten mediante llamadas webhook.

Actualmente están disponibles las siguientes operaciones:

Métodos de la API

Añadir una reacción

POST /messages/reaction

Descripción

Permite añadir una reacción a un mensaje del chat.

Cuerpo de la solicitud

{
    "message": {
        "external_id": "7151734053_563"
    },
    "channel": 71,
    "reaction": "🎄"
}

Parámetros

  • message.external_id (cadena, obligatorio): identificador externo del mensaje.
  • channel (número, obligatorio): identificador del canal.
  • reaction (cadena, obligatorio): emoji que se añade como reacción.

Eliminar una reacción

DELETE /messages/reaction

Descripción

Permite eliminar una reacción establecida anteriormente. Este método se utiliza únicamente para eliminar reacciones de clientes desde los módulos de transporte.

Cuerpo de la solicitud

{
    "message": {
        "external_id": "7151734053_563"
    },
    "channel": 71,
    "reaction": "🎄"
}

Parámetros

  • message.external_id (cadena, obligatorio): identificador externo del mensaje.
  • channel (número, obligatorio): identificador del canal.
  • reaction (cadena, opcional): si se proporciona, se comprobará que coincida con la reacción que se va a eliminar. Si no se proporciona, se eliminará la primera reacción del cliente que se encuentre.

Configurar el canal para admitir reacciones en chats

Para admitir reacciones en un canal, es necesario especificar las opciones correspondientes en el objeto de configuración. La configuración del canal se actualiza mediante el método PUT /channels/{channel_id}.

Para cada tipo de mensaje —text, product, order, image y file— es necesario indicar el tipo de compatibilidad con reacciones. El valor both significa que el transporte admite tanto el envío como la recepción de reacciones en el canal. El valor receive admite únicamente la recepción de reacciones y send, únicamente su envío.

El siguiente ejemplo muestra la configuración necesaria para admitir reacciones. Los demás campos de configuración se han omitido:

{
    "settings": {
        "text": {
            "reaction": "both"
        },
        "product": {
            "reaction": "both"
        },
        "order": {
            "reaction": "both"
        },
        "image": {
            "reaction": "both"
        },
        "file": {
            "reaction": "both"
        },
        "reactions": {
            "dictionary": ["👍", "👎", "❤", "🔥", "🎄"],
            "max_count": 1
        }
    }
}

Parámetros

  • reactions.dictionary (array): lista de emojis que los usuarios del sistema pueden añadir. Los emojis deben cumplir el estándar Unicode.
  • reactions.max_count (número): número máximo de reacciones por mensaje que se pueden añadir desde el sistema. Este ajuste no afecta al número de reacciones añadidas desde los módulos de transporte.

Llamadas webhook

Descripción de los campos

  • new_reaction: nuevo emoji de reacción añadido por el usuario. El campo solo está disponible cuando se añade o sustituye una reacción.
  • old_reaction: emoji de la reacción anterior que se ha sustituido o eliminado. El campo solo está disponible cuando se elimina o sustituye una reacción.
  • all_reactions: array de todas las reacciones actuales añadidas por el gestor del sistema.

Adición de una reacción

{
  "type": "reaction_add",
  "meta": {
    "timestamp": 1739958066
  },
  "data": {
    "external_user_id": "99883965",
    "external_chat_id": "99883965",
    "channel_id": 71,
    "external_message_id": "7151734053_560",
    "new_reaction": "🎄",
    "all_reactions": [{ "reaction": "🎄" }]
  }
}

Sustitución de una reacción

{
  "type": "reaction_add",
  "meta": {
    "timestamp": 1739958180
  },
  "data": {
    "external_user_id": "99883965",
    "external_chat_id": "99883965",
    "channel_id": 71,
    "external_message_id": "7151734053_560",
    "new_reaction": "👀",
    "old_reaction": "🎄",
    "all_reactions": [{ "reaction": "👀" }]
  }
}

Eliminación de una reacción

{
  "type": "reaction_delete",
  "meta": {
    "timestamp": 1739958235
  },
  "data": {
    "external_user_id": "99883965",
    "external_chat_id": "99883965",
    "channel_id": 71,
    "external_message_id": "7151734053_560",
    "old_reaction": "👀",
    "all_reactions": []
  }
}
Gracias por tus comentarios.
¿Te resultó útil este artículo
No
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Si
Artículo anterior
Integración de módulos de transporte con soporte para la creación y el envío de plantillas de WhatsApp Business
En el artículo se describe el proceso de configuración de la integración de módulos de transporte que admiten la creación y el envío de plantillas de WhatsApp Business.