RQE Docs
API Reference

Events

Tracking de eventos custom desde tus apps.

Trackea eventos desde tu aplicacion para segmentacion y automatizaciones. Los eventos se asocian automaticamente a leads — si el email no existe, se crea un lead nuevo.

Autenticacion

Authorization: Bearer sk_proj_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Endpoints

POST /v1/events

Trackear un evento individual.

Request:

{
  "email": "jane@acme.com",
  "event": "bought_stuff",
  "properties": {
    "item": "shoes",
    "total": 89.99,
    "category": "running"
  },
  "timestamp": "2026-04-10T15:00:00Z"
}
CampoTipoRequeridoDescripcion
emailstringSiEmail del lead
eventstringSiNombre del evento (tu nomenclatura)
propertiesobjectNoPropiedades custom del evento
timestampISO 8601NoCuando ocurrio (default: ahora)

Response (201):

{
  "success": true,
  "event_id": "uuid",
  "recipient_id": "uuid",
  "created_lead": true
}

created_lead: true = el email no existia y se creo un lead nuevo automaticamente.


POST /v1/events/bulk

Trackear hasta 1,000 eventos en una sola peticion.

Request:

{
  "events": [
    { "email": "jane@acme.com", "event": "signed_up" },
    { "email": "mike@store.co", "event": "bought_stuff", "properties": { "total": 50 } },
    { "email": "sarah@clinic.com", "event": "appt_done", "properties": { "service": "cleaning" } }
  ]
}

Response (201):

{
  "success": true,
  "total": 3,
  "created_leads": 1
}

GET /v1/events

Listar eventos con filtros.

ParametroTipoDefaultDescripcion
emailstringFiltrar por email
eventstringFiltrar por nombre de evento
sinceISO 8601Eventos desde esta fecha
untilISO 8601Eventos hasta esta fecha
pagenumber1Pagina
per_pagenumber50Resultados por pagina (max 200)

Ejemplo: GET /v1/events?email=jane@acme.com&event=bought_stuff&since=2026-04-01

Response (200):

{
  "success": true,
  "data": [
    {
      "id": "uuid",
      "email": "jane@acme.com",
      "event": "bought_stuff",
      "properties": { "item": "shoes", "total": 89.99 },
      "timestamp": "2026-04-10T15:00:00Z",
      "recipient_id": "uuid",
      "created_at": "2026-04-10T15:00:01Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 142,
    "total_pages": 3
  }
}

Ejemplos de Integracion

Node.js / Express

// Tu app envia eventos a RQE cuando algo pasa
app.post("/checkout/complete", async (req, res) => {
  await fetch("https://api.reallyquickemails.com/v1/events", {
    method: "POST",
    headers: {
      "Authorization": "Bearer sk_proj_xxx",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      email: req.user.email,
      event: "purchase_completed",
      properties: {
        order_id: req.body.orderId,
        total: req.body.total,
        items: req.body.items.length
      }
    })
  });
});

Python

import requests

def on_appointment_done(appointment):
    requests.post(
        "https://api.reallyquickemails.com/v1/events",
        headers={"Authorization": "Bearer sk_proj_xxx"},
        json={
            "email": appointment.patient_email,
            "event": "appt_done",
            "properties": {
                "service": appointment.service_type,
                "provider": appointment.dentist_name
            }
        }
    )

Notas

  • Los nombres de eventos son libres — usa la nomenclatura que tenga sentido en tu app.
  • Si el email no existe como lead, se crea automaticamente con datos vacios.
  • Los eventos se almacenan indefinidamente y se pueden consultar via GET.
  • Rate limit: 10,000 requests/minuto por API key.

Errores

CodigoSignificado
400Validacion fallida
401API key invalido
500Error interno

On this page