# Quickstart

Envia tu primer correo electronico con la API de ReallyQuickEmails en menos de 5 minutos.

***

## Prerequisitos

* Una cuenta en ReallyQuickEmails con al menos un proyecto creado.
* Un dominio verificado en tu proyecto (ver [Dominios](/reallyquickemails-docs/referencia-api/domains.md)).
* Tu **Secret Key** obtenida desde la configuracion del proyecto. Cada proyecto tiene dos: una para Live (`sk_live_*` o `sk_proj_*`) y una para Test (`sk_test_*`). Para este quickstart usaremos la **Test key** — envía emails reales pero no consume tu cuota mensual ni contamina tus métricas. Ver [API Keys](/reallyquickemails-docs/guias/api-keys.md) para detalles.

***

## Paso 1: Obtener tu API Key

1. Ingresa al [dashboard de ReallyQuickEmails](https://app.reallyquickemails.com).
2. Selecciona tu proyecto.
3. Ve a **Configuración → Integraciones → API Keys**.
4. Copia tu **Test key** (comienza con `sk_test_`). Si necesitás tráfico productivo después, repetí el flujo con la **Live key** (`sk_live_*` o `sk_proj_*`).

Guárdala como variable de entorno:

```bash
export REALLYQUICKEMAILS_SECRET_KEY="sk_test_tu_test_key"
```

***

## Paso 2: Enviar un correo simple

Usa el endpoint `POST /v1/send-email` para enviar un correo con contenido HTML directo.

```bash
curl -X POST https://api.reallyquickemails.com/v1/send-email \
  -H "Authorization: Bearer sk_test_tu_test_key" \
  -H "Content-Type: application/json" \
  -d '{
    "recipient_email": "cliente@ejemplo.com",
    "sender_email": "tu-empresa@tudominio.com",
    "subject": "Bienvenido",
    "html_body": "<h1>Hola!</h1><p>Gracias por registrarte.</p>"
  }'
```

**Campos del request body:**

| Campo             | Tipo   | Requerido | Descripcion                                        |
| ----------------- | ------ | --------- | -------------------------------------------------- |
| `recipient_email` | string | Si        | Direccion de correo del destinatario               |
| `sender_email`    | string | Si        | Direccion del remitente (dominio verificado)       |
| `subject`         | string | No        | Asunto del correo (opcional si viene del template) |
| `html_body`       | string | Si        | Contenido HTML del correo                          |

**Respuesta exitosa (200):**

```json
{
  "message": "Email sent successfully",
  "email_id": "550e8400-e29b-41d4-a716-446655440000",
  "project_id": "123e4567-e89b-12d3-a456-426614174000"
}
```

***

## Paso 3: Enviar con un template

Si ya tienes templates creados en el editor de ReallyQuickEmails, puedes usarlos directamente desde la API con `POST /v1/send-template-email`. Las variables del template se rellenan con el objeto `variables`.

```bash
curl -X POST https://api.reallyquickemails.com/v1/send-template-email \
  -H "Authorization: Bearer sk_test_tu_test_key" \
  -H "Content-Type: application/json" \
  -d '{
    "recipient_email": "maria.gonzalez@ejemplo.com",
    "sender_email": "notificaciones@tudominio.com",
    "template_id": "550e8400-e29b-41d4-a716-446655440000",
    "variables": {
      "nombre": "Maria",
      "numeroPedido": "1042",
      "fechaEntrega": "2026-03-25",
      "productos": [
        { "nombre": "Camiseta Azul", "cantidad": 2, "precio": 15990 },
        { "nombre": "Pantalon Negro", "cantidad": 1, "precio": 29990 }
      ],
      "total": 61970
    }
  }'
```

**Campos para templates:**

| Campo                  | Tipo   | Requerido | Descripcion                                           |
| ---------------------- | ------ | --------- | ----------------------------------------------------- |
| `template_id`          | string | Si\*      | UUID del template                                     |
| `template_internal_id` | number | Si\*      | ID interno del template (alternativa a `template_id`) |
| `variables`            | object | No        | Variables para reemplazar en el template              |

> \*Debes enviar `template_id` O `template_internal_id` (uno de los dos).

**Respuesta exitosa (200):**

```json
{
  "message": "Email sent successfully",
  "email_id": "550e8400-e29b-41d4-a716-446655440000",
  "project_id": "123e4567-e89b-12d3-a456-426614174000",
  "template_id": "550e8400-e29b-41d4-a716-446655440000",
  "variables_used": ["nombre", "numeroPedido", "fechaEntrega", "productos", "total"]
}
```

***

## Paso 4: Enviar correos masivos

Para enviar a multiples destinatarios en un solo request, usa `POST /v1/send-batch` (maximo 12,500 por llamada):

```bash
curl -X POST https://api.reallyquickemails.com/v1/send-batch \
  -H "Authorization: Bearer sk_test_tu_test_key" \
  -H "Content-Type: application/json" \
  -d '{
    "sender": "noreply@tudominio.com",
    "senderName": "Mi Empresa",
    "subject": "Oferta especial para ti, {nombre}",
    "html": "<h1>Hola {nombre}!</h1><p>Tenemos una oferta en {producto}.</p>",
    "recipients": [
      { "email": "juan@ejemplo.com", "data": { "nombre": "Juan", "producto": "Plan Pro" } },
      { "email": "maria@ejemplo.com", "data": { "nombre": "Maria", "producto": "Plan Business" } }
    ]
  }'
```

Para envios mayores a 12,500, crea una campana desde el Dashboard. Ver [Campanas](/reallyquickemails-docs/referencia-api/campaigns.md).

***

## Paso 5: Verificar la respuesta

Cada llamada exitosa retorna un objeto con `success: true` o `message` y un identificador unico para rastreo.

**Respuestas de error comunes:**

| Codigo | Significado                | Ejemplo de respuesta                                                               |
| ------ | -------------------------- | ---------------------------------------------------------------------------------- |
| `400`  | Request body invalido      | `{ "error": "Missing required fields: recipient_email, sender_email, html_body" }` |
| `401`  | API key invalida           | `{ "error": "Invalid API key" }`                                                   |
| `404`  | Template no encontrado     | `{ "error": "Template not found with ID xxx" }`                                    |
| `500`  | Error interno del servidor | `{ "error": "Internal server error" }`                                             |

***

## Siguientes pasos

* [**Templates y Variables**](/reallyquickemails-docs/guias/templates.md) — Aprende a usar variables y helpers para personalizar tus correos.
* [**Campanas**](/reallyquickemails-docs/referencia-api/campaigns.md) — Envios masivos con lotes, warming y segmentos.
* [**Dominios**](/reallyquickemails-docs/referencia-api/domains.md) — Registra y verifica tu dominio con DKIM/SPF.
* [**Programar Envios**](/reallyquickemails-docs/guias/scheduling.md) — Envia correos en una fecha y hora futura.
* [**API Publica v1**](/reallyquickemails-docs/referencia-api/public-api.md) — Referencia completa de todos los endpoints.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://reallyquickemails.gitbook.io/reallyquickemails-docs/guias/quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
