> ## Documentation Index
> Fetch the complete documentation index at: https://developer.omni.z-api.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducción

> Conceptos básicos sobre el envío de mensajes en la API de Omni Z-API

export const projectName = 'Omni Z-API';

## Conceptos

Los endpoints de mensajes de esta sección permiten enviar mensajes **solo cuando la ventana de conversación de WhatsApp está abierta** (dentro del periodo de 24 horas). Es una regla de la API oficial de WhatsApp Business.

<Warning>
  La ventana de conversación de 24 horas se abre cuando el **cliente te envía un mensaje**. Fuera de esa ventana solo es posible enviar mensajes mediante **plantillas aprobadas por Meta**. Los mensajes de esta sección **no funcionan** fuera de la ventana de conversación.
</Warning>

### Dentro de la ventana (24 h)

¿El cliente te ha enviado un mensaje? Perfecto: la ventana está abierta. Puedes usar cualquier endpoint de esta sección para responder con texto, imagen, audio, vídeo, documento, etc.

### Fuera de la ventana (después de 24 h)

Si el cliente **no** te ha escrito en las últimas 24 horas, la única forma de iniciar una conversación es enviar una **plantilla de mensaje** aprobada previamente por Meta. Las plantillas son mensajes predefinidos que creas y envías a aprobación en el panel de Meta.

<Info>
  En Z-API (conexión no oficial) esta limitación no existía: podías enviar mensajes en cualquier momento. En la API oficial esta regla es obligatoria y no se puede eludir.
</Info>

***

Para enviar un mensaje necesitas el **número de teléfono** del contacto destinatario, incluido el código de país.

| Formato                           | Ejemplo         |
| --------------------------------- | --------------- |
| Código de país + prefijo + número | `5511999999999` |

## Respuesta de la API

Al enviar un mensaje, la API devuelve la misma estructura de respuesta que ya conoces de Z-API. Es decir, **no hace falta ninguna adaptación** en el código que procesa las respuestas: los campos, los tipos y los formatos son idénticos.

Ejemplo de respuesta al enviar un mensaje:

```json theme={null}
{
  "zaapId": "3999984263738042930CD6ECDE9VDWSA",
  "messageId": "D241XXXX732339502B68"
}
```

<Note>
  Mantenemos la compatibilidad total con la estructura de respuesta de Z-API. Si tu aplicación ya trata esos campos, seguirá funcionando sin cambios.
</Note>

### Guarda el messageId

Es muy importante que **guardes el `messageId`** que se devuelve, porque lo necesitas para operaciones posteriores como responder, marcar como leído o eliminar mensajes.

<Warning>
  Sin el `messageId` no podrás referenciar el mensaje más adelante para responder, reaccionar o eliminarlo.
</Warning>

## Formato del texto

Puedes dar formato al texto de los mensajes usando los caracteres especiales de WhatsApp:

| Formato         | Sintaxis        | Resultado |
| --------------- | --------------- | --------- |
| **Negrita**     | `*texto*`       | **texto** |
| *Cursiva*       | `_texto_`       | *texto*   |
| ~~Tachado~~     | `~texto~`       | ~~texto~~ |
| `Monoespaciado` | ` ```texto``` ` | `texto`   |
