> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wappfy.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Adicionar Reação

> Adicionar emoji de reação a uma mensagem

## Descrição

Este endpoint permite adicionar uma reação emoji a uma mensagem específica em um chat. Para remover uma reação, envie uma string vazia no campo `reaction`.

**Nota:** Este endpoint usa o método HTTP `PUT`, não `POST`.

## Body

```json theme={null}
{
  "sessionId": "my-session",
  "jid": "5511999999999@s.whatsapp.net",
  "messageId": "3EB0XXXXXX",
  "sender": "valor",
  "reaction": "valor"
}
```

### Parâmetros do Body

| Propriedade | Tipo     | Obrigatório | Descrição                                                                                                                        |
| ----------- | -------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `sessionId` | `string` | ✅ Sim       | ID da sessão autenticada que adicionará a reação                                                                                 |
| `jid`       | `string` | ✅ Sim       | Identificador do chat (JID do WhatsApp). Formato: `5511999999999@s.whatsapp.net` para contatos ou `120363XXXXX@g.us` para grupos |
| `messageId` | `string` | ✅ Sim       | ID da mensagem que receberá a reação                                                                                             |
| `sender`    | `string` | ✅ Sim       | JID do remetente da mensagem original                                                                                            |
| `reaction`  | `string` | ✅ Sim       | Emoji da reação (exemplo: `❤️`, `👍`, `😂`). Use string vazia (`""`) para remover a reação                                       |

<ResponseExample>
  ```json Resposta de Sucesso theme={null}
  {
    "success": true
  }
  ```
</ResponseExample>

## Códigos de Status

* `200` - Reação adicionada/removida com sucesso
* `400` - Parâmetros inválidos
* `401` - Sessão não autorizada
* `404` - Sessão não encontrada

## Exemplo de Uso

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PUT https://api.wappfy.com.br/api/reaction \
    -H "Content-Type: application/json" \
    -d '{
      "sessionId": "my-session",
      "jid": "5511999999999@s.whatsapp.net",
      "messageId": "3EB0XXXXXX",
      "sender": "5511999999999@s.whatsapp.net",
      "reaction": "❤️"
    }'
  ```

  ```javascript JavaScript theme={null}
  // Adicionar reação
  const response = await fetch('https://api.wappfy.com.br/api/reaction', {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      sessionId: 'my-session',
      jid: '5511999999999@s.whatsapp.net',
      messageId: '3EB0XXXXXX',
      sender: '5511999999999@s.whatsapp.net',
      reaction: '❤️'
    })
  });
  const data = await response.json();
  console.log(data);

  // Remover reação
  const removeReaction = await fetch('https://api.wappfy.com.br/api/reaction', {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      sessionId: 'my-session',
      jid: '5511999999999@s.whatsapp.net',
      messageId: '3EB0XXXXXX',
      sender: '5511999999999@s.whatsapp.net',
      reaction: ''
    })
  });
  ```

  ```python Python theme={null}
  import requests

  # Adicionar reação
  response = requests.put(
      'https://api.wappfy.com.br/api/reaction',
      json={
          'sessionId': 'my-session',
          'jid': '5511999999999@s.whatsapp.net',
          'messageId': '3EB0XXXXXX',
          'sender': '5511999999999@s.whatsapp.net',
          'reaction': '❤️'
      }
  )
  data = response.json()
  print(data)

  # Remover reação
  remove_response = requests.put(
      'https://api.wappfy.com.br/api/reaction',
      json={
          'sessionId': 'my-session',
          'jid': '5511999999999@s.whatsapp.net',
          'messageId': '3EB0XXXXXX',
          'sender': '5511999999999@s.whatsapp.net',
          'reaction': ''
      }
  )
  ```
</CodeGroup>


## OpenAPI

````yaml viewer.json put /api/reaction
openapi: 3.1.0
info:
  title: Wappfy - WhatsApp HTTP API
  version: '2.0'
  contact: {}
servers:
  - url: https://{host}
    description: Servidor Customizável
    variables:
      host:
        default: api.wappfy.com.br
        description: 'URL do servidor (ex: api.wappfy.com.br ou seu-servidor.com)'
security:
  - api_key: []
tags:
  - name: 🖥️ Sessions
    description: >-
      Controlar sessões do WhatsApp (contas) (Control WhatsApp sessions
      (accounts))
  - name: 🔑 Auth
    description: Autenticação
  - name: 🆔 Profile
    description: Informações do seu perfil
  - name: 🖼️ Screenshot
    description: Obter captura de tela do WhatsApp e mostrar código QR
  - name: 📤 Chatting
    description: Métodos de conversação
  - name: 📢 Channels
    description: Métodos de canais (newsletters) (Channels (newsletters) methods)
  - name: 🟢 Status
    description: Métodos de status (aka stories) (Status (aka stories) methods)
  - name: 💬 Chats
    description: Métodos de conversas
  - name: 👤 Contacts
    description: >-
      Métodos de contatos. Use número de telefone (sem +) ou número de telefone
      e `@c.us` no final como `contactId`. Ex: `12312312310` OU
      `12312312310@c.us` (Contacts methods.<br>
                      Use phone number (without +) or phone number and `@c.us` at the end as `contactId`.<br>
                      'E.g: `12312312310` OR `12312312310@c.us`<br>)
  - name: 👥 Groups
    description: Métodos de grupos (Groups methods).<br>
  - name: ✅ Presence
    description: Informações de presença
  - name: 📅 Events
    description: Mensagem de Evento
  - name: 🏷️ Labels
    description: Etiquetas - disponível apenas para contas WhatsApp Business
  - name: 🔍 Observability
    description: Outros métodos
  - name: 🗄️ Storage
    description: Métodos de armazenamento
externalDocs:
  description: Wappfy - WhatsApp HTTP API
  url: https://wappfy.com.br/
paths:
  /api/reaction:
    put:
      tags:
        - 📤 Chatting
      summary: Reagir a uma mensagem com um emoji
      operationId: ChattingController_setReaction
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageReactionRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      security:
        - api_key: []
components:
  schemas:
    MessageReactionRequest:
      type: object
      properties:
        messageId:
          type: string
          description: ID da mensagem que receberá a reação
          example: false_5511999999999@c.us_AAAAAAAAAAAAAAAAAAAA
        reaction:
          type: string
          description: Emoji da reação. Envie uma string vazia para remover a reação
          example: 👍
        session:
          type: string
          example: my-session
          description: Nome da sessão (instanceName)
      required:
        - messageId
        - reaction
        - session
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: apikey
      description: Sua chave de API do Wappfy (obtenha em dash.wappfy.com.br)

````