Crear prospectos por REST
Además de las herramientas crear_prospecto / crear_prospectos —que se invocan por el protocolo MCP— podés crear prospectos con una llamada REST normal (POST con JSON). Es la misma capacidad, la misma credencial y el mismo resultado: pensada para cargarlos desde un script, un scraper o cualquier sistema, sin un cliente MCP.
Las dos vías escriben en el mismo CRM y comparten el mismo dedup: un prospecto cargado por REST se reconoce si vuelve por el MCP (y al revés).
Autenticación
Sección titulada «Autenticación»Igual que el Conector MCP: una clave sk_live_* con kind=mcp y access=full (crear es escritura), en el header Authorization. El tenant se deriva de la credencial, nunca del cuerpo del request. Una key de Canal API (kind=channel) no sirve acá.
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxCrear un prospecto
Sección titulada «Crear un prospecto»POST https://api.overtaker.online/api/v1/prospects
Crea una ficha de contacto + un lead en estado NEW para seguirlo en el funnel. No le envía ningún mensaje al negocio. Requiere al menos telefono o email.
| Campo | Tipo | Descripción |
|---|---|---|
nombre | texto | nombre del negocio o persona (obligatorio) |
telefono | texto | teléfono o WhatsApp (se normaliza) — requerido si no hay email |
email | texto | email — requerido si no hay teléfono |
web | texto (opcional) | sitio web |
instagram | texto (opcional) | usuario o URL de Instagram |
direccion | texto (opcional) | dirección física |
senal_fit | texto (opcional) | evidencia de por qué encaja como cliente |
score | número (opcional) | fit 0-100 (qualification_score) |
vertical | texto (opcional) | rubro (ej. dentales) |
zona | texto (opcional) | comuna o ciudad |
Los datos de contacto (web/instagram/dirección) quedan en la ficha del contacto; la señal de fit y el score, en el lead.
curl -X POST https://api.overtaker.online/api/v1/prospects \ -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "nombre": "Clínica Dental Sonríe", "telefono": "+56 9 5781 6940", "web": "https://clinicasonrie.cl", "senal_fit": "agenda 100% por WhatsApp, sin bot", "score": 80, "vertical": "dentales", "zona": "Providencia" }'// respuesta 200 — contacto + lead NEW creados (o el existente si ya estaba){ "creado": true, "reusado": false, "contacto": { "id": "…", "nombre": "Clínica Dental Sonríe", "telefono": "56957816940", "email": null }, "lead": { "id": "…", "estado": "NEW", "etapa": "NEW", "score": 80 }}Si ya existe un contacto con ese teléfono/email y tiene un lead abierto, no se duplica: la respuesta trae "creado": false, "reusado": true con el lead existente.
Crear varios (bulk)
Sección titulada «Crear varios (bulk)»POST https://api.overtaker.online/api/v1/prospects/bulk
Hasta 50 prospectos de una. Un prospecto que falle no aborta el lote: se reporta en resultados con su error, y el resto se crea igual.
curl -X POST https://api.overtaker.online/api/v1/prospects/bulk \ -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "prospectos": [ { "nombre": "Vet Providencia", "telefono": "+56911112222", "vertical": "veterinarias" }, { "nombre": "Clínica Norte", "email": "hola@norte.cl", "vertical": "dentales", "score": 70 } ] }'// respuesta 200{ "creados": 2, "reusados": 0, "errores": 0, "resultados": [ { "nombre": "Vet Providencia", "lead_id": "…", "creado": true }, { "nombre": "Clínica Norte", "lead_id": "…", "creado": true } ]}Límites y errores
Sección titulada «Límites y errores»- Rate limit: 60 req/min por API Key (el single y el bulk comparten el mismo contador).
- Bulk: de 1 a 50 prospectos por request.
| Código | Cuándo |
|---|---|
401 | Falta el Bearer, la key es inválida/expirada, o no es kind=mcp (ej. una key de Canal API). |
403 | La key es access=read: crear un prospecto requiere access=full. |
422 | Falta nombre, faltan telefono y email, score fuera de 0-100, o el lote supera 50. |