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

# Guía rápida

> Envía tu primer mensaje en menos de 5 minutos

# Guía rápida

Esta guía te llevará desde cero hasta enviar tu primer mensaje de WhatsApp en menos de 5 minutos.

## Prerrequisitos

<Check>
  Una cuenta en [Whaapy](https://app.whaapy.com/register)
</Check>

<Check>
  Un número de WhatsApp Business conectado
</Check>

<Check>
  Una API Key activa
</Check>

## Paso 1: Obtén tu API Key

1. Inicia sesión en [app.whaapy.com](https://app.whaapy.com)
2. Ve a **Configuración** → **API Keys**
3. Click en **Generar Nueva Key**
4. Copia tu API Key (formato: `wha_xxxxx...`)

<Warning>
  Tu API Key es secreta. No la compartas ni la expongas en código del lado del cliente.
</Warning>

## Paso 2: Envía un Mensaje de Texto

El endpoint más simple para enviar un mensaje:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.whaapy.com/messages/v1 \
    -H "Authorization: Bearer wha_TU_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "to": "+5215512345678",
      "content": "¡Hola! Este es mi primer mensaje con Whaapy 🎉"
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.whaapy.com/messages/v1', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer wha_TU_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      to: '+5215512345678',
      content: '¡Hola! Este es mi primer mensaje con Whaapy 🎉'
    })
  });

  const data = await response.json();
  console.log(data);
  ```

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

  response = requests.post(
      'https://api.whaapy.com/messages/v1',
      headers={
          'Authorization': 'Bearer wha_TU_API_KEY',
          'Content-Type': 'application/json'
      },
      json={
          'to': '+5215512345678',
          'content': '¡Hola! Este es mi primer mensaje con Whaapy 🎉'
      }
  )

  print(response.json())
  ```
</CodeGroup>

## Paso 3: Verifica la Respuesta

Una respuesta exitosa se ve así:

```json theme={null}
{
  "messaging_product": "whatsapp",
  "contacts": [{ "wa_id": "5215512345678" }],
  "messages": [{ "id": "wamid.HBgLNTIxNTUxMjM0NTY3OA==" }],
  "data": {
    "message_id": "uuid-del-mensaje",
    "conversation_id": "uuid-de-conversacion",
    "status": "sent"
  }
}
```

## Paso 4: Envía Otros Tipos de Mensajes

### Imagen

```json theme={null}
{
  "to": "+5215512345678",
  "type": "image",
  "image": {
    "link": "https://ejemplo.com/imagen.jpg",
    "caption": "¡Mira esta imagen!"
  }
}
```

### Template (para mensajes fuera de ventana de 24h)

```json theme={null}
{
  "to": "+5215512345678",
  "type": "template",
  "template": {
    "name": "hello_world",
    "language": {
      "code": "es"
    }
  }
}
```

### Documento

```json theme={null}
{
  "to": "+5215512345678",
  "type": "document",
  "document": {
    "link": "https://ejemplo.com/archivo.pdf",
    "filename": "factura.pdf"
  }
}
```

## Manejo de Errores

Si algo sale mal, recibirás una respuesta con detalles del error:

```json theme={null}
{
  "error": "message_delivery_failed",
  "message": "La ventana de conversación de 24 horas ha expirado",
  "code": "131047",
  "action_required": "Usar template message",
  "instructions": "Para contactar usuarios después de 24h, envía un template aprobado"
}
```

<Tip>
  Si recibes error `131047` (ventana cerrada), necesitas enviar un **template message** primero. Los templates están pre-aprobados por Meta y pueden enviarse en cualquier momento.
</Tip>

## Próximos Pasos

<CardGroup cols={2}>
  <Card title="Autenticación" icon="key" href="/api-reference/authentication">
    Aprende sobre API Keys y scopes
  </Card>

  <Card title="Enviar Mensajes" icon="paper-plane" href="/api-reference/messages/send">
    Referencia completa del endpoint
  </Card>
</CardGroup>
