Contactos

Gestión de contactos de tu CRM via API.

Listar contactos

GET /api/v1/contacts

Scope: contacts:read

ParámetroTipoDescripción
searchstringBusca por nombre, email o teléfono
limitnumberMáximo por página (default 50, máximo 100)
offsetnumberDesplazamiento para paginación
curl "https://api.yolani.co/api/v1/contacts?search=juan&limit=20" \
  -H "Authorization: Bearer yol_TU_TOKEN"

Respuesta:

{
  "success": true,
  "data": [
    {
      "id": 481,
      "name": "Juan Rodríguez",
      "phone": "5215512345678",
      "email": "juan@ejemplo.com",
      "whatsapp_id": "5215512345678",
      "tags": ["cliente", "vip"],
      "created_at": "2026-05-02T18:22:11.000Z",
      "updated_at": "2026-07-01T09:14:03.000Z"
    }
  ],
  "meta": { "total": 1, "limit": 20, "offset": 0 }
}

Crear o actualizar un contacto (upsert)

POST /api/v1/contacts

Scope: contacts:write

Si ya existe un contacto con ese teléfono o email, se actualiza; si no, se crea. Devuelve 201 al crear y 200 al actualizar.

CampoTipoRequeridoDescripción
phonestringphone o emailTeléfono con código de país (ej. 5215512345678)
emailstringphone o emailCorreo del contacto
namestringNoNombre del contacto
curl -X POST https://api.yolani.co/api/v1/contacts \
  -H "Authorization: Bearer yol_TU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"phone": "5215512345678", "name": "Juan Rodríguez", "email": "juan@ejemplo.com"}'

Consultar un contacto

GET /api/v1/contacts/:id

Scope: contacts:read

Actualizar un contacto

PATCH /api/v1/contacts/:id

Scope: contacts:write

Solo se actualizan los campos enviados (name, email, phone).

curl -X PATCH https://api.yolani.co/api/v1/contacts/481 \
  -H "Authorization: Bearer yol_TU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Juan R. González"}'