Conecta Tiny Ant con tus propias herramientas
API REST, servidor MCP y webhooks
Usa la API REST para trabajar con oportunidades, contactos, tareas, propuestas y datos de visitas a tu web. El servidor MCP pone un conjunto de estas acciones a disposición de asistentes compatibles. Una clave de API puede tanto leer como modificar los datos del espacio de trabajo, así que conecta únicamente herramientas de tu confianza.
Autenticación
Cada solicitud incluye una clave de API del espacio de trabajo en la cabecera Authorization:
Authorization: Bearer ta_live_...
Los administradores del espacio de trabajo crean las claves en la página Ajustes de la aplicación (sección API y MCP). Cada clave se muestra una sola vez al crearse y puede revocarse en cualquier momento. Si quien la creó pasa a tener rol de miembro, sus claves se revocan de forma permanente; si se elimina a ese usuario, sus claves quedan invalidadas. Volver a asignarle permisos de administrador no restaura las claves anteriores. Las claves no funcionan mientras el espacio de trabajo esté suspendido. Cada clave actúa en nombre del administrador que la creó: las notas, tareas y eventos se atribuyen a esa persona, y todo lo que crea es visible según los permisos del espacio de trabajo. La API y el servidor MCP están incluidos en Pro y Team. Crea y gestiona tus claves en Ajustes → API y MCP.
Las solicitudes sin una clave válida reciben un error 401. Un espacio de trabajo con el plan Free recibe un error 403.
URL base
https://app.tinyant.io/api/v1
La mayoría de los cuerpos de solicitud y respuestas utilizan JSON (UTF-8). La subida de propuestas utiliza datos de formulario multipart, como se indica más abajo. Los identificadores tienen prefijos como de_, co_, pe_, ta_ y no_ seguidos de 12 caracteres; los identificadores de propuestas tienen 12 caracteres sin prefijo. Las marcas de tiempo están expresadas en milisegundos Unix. Los endpoints siguientes describen la interfaz pública de integración. Puedes consultar las solicitudes de red de la propia aplicación como ejemplo cuando aquí no se detalle un payload completo.
Endpoints
| Método | Ruta | Qué hace |
|---|---|---|
| GET POST PUT DELETE | /automations, /automations/:id | CRM Advanced: reglas de administrador y las últimas 100 ejecuciones accesibles. POST/PUT requiere name, definition, confirmation de la vista previa, revision (0 si es nueva) y mode off|simulate|live. Empieza con simulate; pasar a live requiere haber simulado con éxito la versión sin cambios. Las reglas creadas por API permanecen vinculadas a su administrador y clave originales. Las acciones de cambio de responsable solo están disponibles en la aplicación. DELETE archiva la regla y cancela las ejecuciones pendientes. |
| POST | /automations/preview | Valida {definition}: version:1; trigger deal_created|stage_changed|stalled|proposal_opened; pipeline_id, stage_id y owner_id opcionales; stalled after_days 1..90. Una acción: create_task {title,delay_days:0..90,assignee_id}, set_field {field:expected_close,value:YYYY-MM-DD} o notify {assignee_id}. El destinatario (assignee) es un ID de miembro actual o deal_owner. Devuelve confirmation y hasta 20 ejemplos coincidentes, sin aplicar cambios. |
| POST | /automations/:id/simulate, /automations/:id/stop, /automations/:id/cancel | Pone en cola una simulación {deal_id}, detiene una regla {} o cancela una ejecución pendiente {run_id}. La ejecución en segundo plano vuelve a comprobar los permisos vigentes. Los cambios y los justificantes se confirman conjuntamente; los reintentos nunca duplican una acción ya aplicada. No envía correos salientes. |
| GET | /automation-notifications | Bandeja de entrada interna del usuario actual, filtrada según su acceso vigente a las oportunidades. Sin notificaciones por correo ni push en el navegador. |
| GET PUT | /dashboard | Panel personal: GET devuelve el catálogo de tarjetas, la configuración guardada y las métricas en vivo según los permisos de acceso; PUT {revision,config} guarda únicamente el diseño y los filtros del usuario actual. Versión 1 de config: days 7/30/90, owner all/mine/unassigned, pipeline_id y currency opcionales (null), y tarjetas únicas {id,size} del catálogo con anchos 4/6/8/12. La previsión y los resultados requieren acceso de administrador con CRM Advanced; Visitors requiere un plan de pago. Los datos nunca se guardan dentro del diseño. Las claves de API mantienen su alcance de acceso a registros. |
| GET | /bulk | Miembros actuales, configuración de actividades y tus 20 lotes masivos más recientes. La vista previa y el progreso de operaciones masivas están restringidos a su creador y a la misma clave de API. |
| POST | /bulk/preview | Genera una vista previa para entre 1 y 100 empresas, personas u oportunidades explícitas usando entity, ids y action: activity, junto con los mismos campos de actividad que al crear una tarea. Devuelve los nombres seleccionados, la validación por registro y el código confirmation. La creación de actividades aplica los permisos de edición vigentes y las mismas comprobaciones de programación, tipos de CRM Advanced y capacidad que las actividades individuales. Los cambios de responsable solo pueden realizarse desde la aplicación y por un administrador, en consonancia con la gestión de acceso a los registros. |
| GET POST | /bulk/:id | Consulta una vista previa o sus resultados, o envía por POST su confirmation para aplicar hasta cinco filas de forma atómica por llamada. Repite con el mismo ID/hash hasta terminar; las filas ya completadas no se vuelven a ejecutar. El estado de cada fila puede ser applied, skipped, failed o pending. Los cambios en el CRM o en los permisos invalidan el trabajo pendiente: revisa los resultados y genera una nueva vista previa solo con los registros restantes. Se conservan hasta 100 lotes por espacio de trabajo durante siete días, que luego se eliminan mediante limpieza programada o en la siguiente vista previa masiva. Eliminar el propietario o el espacio de trabajo también borra las vistas previas y los justificantes. No se envían correos ni invitaciones. |
| GET | /imports/catalog | Catálogo de campos y pipelines para el mapeo de importaciones. Todos los miembros del CRM pueden previsualizar e importar datos; la configuración de campos personalizados y pipelines adicionales sigue requiriendo CRM Advanced. |
| POST | /imports/preview | Previsualiza de 1 a 100 filas (hasta 500 KB) indicando kind y duplicates: fill o skip. Admite custom_fields por ID estable, IDs o nombres inequívocos de pipeline/etapa e IDs de registro explícitos. La opción fill solo rellena campos vacíos; el importe, estado y etapa existentes de la oportunidad no se modifican. Los registros repetidos se omiten. Durante la vista previa no se modifica ningún registro del CRM. Devuelve las acciones o errores por fila, el ID de lote y el hash de confirmación. Los planes de vista previa y los justificantes de reintento caducan a los siete días y se eliminan mediante limpieza programada o con la siguiente importación en ese espacio de trabajo. |
| GET POST | /imports/:id | Solo el propietario del lote puede consultarlo o reanudarlo. Enviar por POST el código confirmation de la vista previa aplica hasta diez filas, cada una de forma atómica junto con sus contactos relacionados, campos, notas e historial. Repite con el mismo ID/hash hasta finalizar; las filas completadas nunca se repiten. Los cambios simultáneos en el CRM rechazan las vistas previas desactualizadas: consulta next_row y vuelve a generar la vista previa solo para las filas restantes. Hasta 100 lotes conservados por espacio de trabajo. |
| POST | /import | Importación inmediata heredada sin repetición segura; se recomienda usar /imports/preview. Importa hasta 500 empresas, personas u oportunidades; devuelve el recuento de creados, actualizados, omitidos y recortados, así como los errores numerados por fila. Los contactos existentes pueden completarse aunque se haya alcanzado el límite de capacidad. |
| PUT | /deals/:id | Usa before_id (una oportunidad en la etapa de destino, o null para colocarla al final), stage_id y revision para reordenar. El orden de las tarjetas no altera la duración en la etapa. |
| POST | /deals/move | Previsualiza o aplica el traslado de hasta 100 oportunidades abiertas: deal_ids, pipeline_id, stage_id y preview. Aplica el cambio con el preview_hash devuelto. Las vistas previas desactualizadas fallan; los resultados se devuelven por oportunidad. |
| GET POST | /views/:entity | Vistas guardadas para oportunidades, personas o empresas. GET devuelve las vistas accesibles, el catálogo de campos y operadores y los valores por defecto. Los usuarios con CRM Advanced pueden crear vistas privadas; los administradores pueden crear vistas compartidas con el espacio de trabajo. Envía por POST name, sharing (private/workspace), revision:0 y definition {version:1, columns, sort, filter}. Compartir una vista con el espacio de trabajo nunca amplía los permisos de acceso a los datos. |
| PUT | /views/:entity/:id | Actualiza una vista indicando su revision esperada. El ámbito de compartición (sharing) no se puede modificar; guarda una copia si necesitas cambiarlo. Solo el propietario puede actualizar una vista privada y solo los administradores pueden actualizar las vistas compartidas. archived:true oculta la vista. Hasta 100 vistas activas por espacio de trabajo. |
| POST | /query/:entity | Ejecuta una consulta validada para listas y páginas CSV. Envía definition o view_id, offset (0..100000), limit (1..100) y format (json/csv). Definition: version:1, columns (1..20 IDs), sort (hasta 3 entradas {field,direction}) y filter {op:and/or,rules:[grupos o {field,op,value}]}. Hasta 20 nodos y profundidad 3. Los valores se pasan como parámetros vinculados, nunca como SQL. owner_id eq me se resuelve para el usuario actual; value_cents utiliza céntimos. has_task incluye tareas abiertas sin fecha y next_task es la tarea abierta con fecha más próxima. La respuesta incluye total, next_offset y rows o un CSV protegido frente a inyección de fórmulas. En CSV las etiquetas sustituyen a los IDs de opción. Las comparaciones de vacío usan empty/not_empty; el resto de comparaciones excluye los valores ausentes. Las vistas y la exportación siguen siendo accesibles en lectura aunque finalice el acceso a CRM Advanced. La paginación mantiene el orden desempatando por ID, pero no constituye una instantánea fija entre distintas solicitudes. |
| GET PUT | /layouts/:entity | Diseño compartido de fichas para empresas, personas u oportunidades. GET devuelve layout, valores por defecto, revision, schema_revision y fields. Los administradores con CRM Advanced pueden enviar mediante PUT layout {main, side, details}, ambas revisiones y todos los campos como objetos ordenados {id, group_name}, incluidos los archivados. Cada sección y clave de detalle debe aparecer exactamente una vez; no se permite HTML ni secciones ocultas. Los miembros y los espacios de trabajo sin CRM Advanced conservan el acceso de lectura. |
| GET POST | /fields/:entity | Lista o crea campos personalizados para empresas, personas u oportunidades. Para crearlos se requiere ser administrador con CRM Advanced. Tipos admitidos: text, long_text, number, date, boolean, select y multi_select. group_name y position son opcionales. |
| PUT | /fields/deals/:id/rules | Administrador con CRM Advanced: previsualiza y sustituye los ámbitos visible_in y required_in (pipeline_id, stage_id opcional). Requiere la revision del campo, primero con preview:true y después con preview:false junto con el preview_hash devuelto. Un visible_in vacío significa visible en todas partes; los campos obligatorios permanecen siempre visibles. La vista previa informa de las oportunidades abiertas existentes a las que les falten valores. |
| PUT | /fields/:entity/:id | Actualiza name, group_name, position, archived y options indicando la revision esperada. El tipo de un campo ya existente no puede cambiarse. La creación de oportunidades admite custom_fields indexados por ID de campo; si faltan valores obligatorios para la etapa, se devuelve 422 al crear, cambiar de etapa o reabrir, también desde importaciones y MCP. Las opciones conservan sus IDs; las opciones anteriores que se omitan quedan archivadas. |
| GET PUT | /:entity/:id/fields | Lee o modifica valores tipados por ID de campo. PUT requiere values, revision y schema_revision obtenidos de GET; null borra el valor. Los campos de selección utilizan IDs de opción. Los campos archivados siguen pudiendo leerse. Estos endpoints aún no admiten campos obligatorios ni específicos por etapa. |
| GET POST | /pipelines | Lista los pipelines (incluidos los archivados) o crea uno nuevo (name; requiere ser administrador con CRM Advanced) |
| PUT | /pipelines/:id | Actualiza name, position, make_default o archived indicando la revision esperada. Mueve o cierra las oportunidades abiertas antes de archivar un pipeline; /deals/move ofrece vista previa y resultados por oportunidad. |
| GET | /reports | Tipos de informe, notas de cálculo, filtros e informes personales guardados (administrador con CRM Advanced) |
| POST | /reports/run | Ejecuta una definition o un view_id aplicando los permisos de acceso a registros vigentes. Admite group opcional a partir de la respuesta, offset y limit hasta 100. Los importes en céntimos se mantienen separados por moneda. |
| POST PUT | /reports/views, /reports/views/:id | Guarda un informe personal: name, definition y revision (0 si es nuevo); archived:true oculta un informe existente |
| GET | /capabilities | Funciones del CRM habilitadas y acciones permitidas actualmente; esto no implica que todas las funciones estén implementadas |
| GET | /me | Espacio de trabajo, plan y usuario en cuyo nombre actúa la clave |
| GET | /deals?status=open|won|lost&q=&pipeline_id= | Listar oportunidades con su etapa, importe, empresa, contacto y estado de lectura de propuestas |
| POST | /deals | Crear una oportunidad (name, company_id o company_name, person_id, value, currency, pipeline_id, stage_id, expected_close) |
| GET PUT DELETE | /deals/:id | Consultar una oportunidad con su historial; actualizar campos, etapa o estado; opcionalmente incluir close_details de CRM Advanced, o next_activity al reabrirla, con revision; o eliminarla |
| POST | /deals/:id/proposals | Vincular una propuesta a la oportunidad ({proposal_id}) |
| DELETE | /deals/:id/proposals/:pid | Desvincular una propuesta |
| GET POST | /companies | Listar o crear empresas |
| GET PUT DELETE | /companies/:id | Consultar una empresa con sus personas, oportunidades e historial |
| GET POST | /people | Listar o crear personas (contactos) |
| GET PUT DELETE | /people/:id | Consultar una persona con sus oportunidades e historial |
| GET PUT | /activity-settings | Consultar o configurar tu zona horaria IANA; los administradores también pueden definir workspace_timezone. El valor null restablece el valor por defecto. |
| GET POST | /tasks | Listar o crear actividades. Admite scope=mine|all|unassigned, status=open|done|cancelled|all (o el parámetro heredado done=0|1|all), IDs de registro, offset y limit (máx. 500). Sigue next_offset cuando has_more sea true. |
| GET PUT DELETE | /tasks/:id | Leer, editar, completar, cancelar o eliminar una actividad. Admite notas, completed_date, call_result y creación atómica de next_activity. Envía revision al editar y ?revision= al eliminar; las escrituras desactualizadas devuelven 409. |
| POST | /notes | Añadir una nota a una oportunidad, persona o empresa |
| PUT DELETE | /notes/:id | Editar o eliminar una nota |
| GET | /stages?pipeline_id= | Etapas del pipeline, miembros y moneda (usa el pipeline por defecto si se omite) |
| PUT | /stages | Guardar etapas indicando pipeline_id y revision. Antes de retirar una etapa en uso debes mover o cerrar sus oportunidades abiertas. Las etapas omitidas se archivan. |
| GET | /activity?since=&limit=&deal_id=&person_id=&company_id= | Registro estructurado de eventos, del más reciente al más antiguo. since es una marca de tiempo en milisegundos Unix |
| GET | /search?q= | Búsqueda conjunta de empresas, personas y oportunidades |
| GET | /visitors?days=7|30|90 | Tiny Ant Visitors: empresas que han visitado tu web, páginas vistas, última visita, vínculo con el CRM y proporción de visitas desde redes domésticas, móviles y centros de datos |
| GET POST | /visitors/settings | Estado y código de seguimiento de Visitors; activar o desactivar ({enabled}), conectar o desvincular ipapi.is ({ipapi_key}) |
| POST | /visitors/companies/:id/add | Añadir una empresa visitante al CRM |
| GET | /proposals?status=active|won|closed|archived | Propuestas con número de visitas, tiempo de lectura y oportunidad vinculada |
| GET | /proposals/:id | Consultar una propuesta con tiempo de lectura por página, destinatarios, actividad y versiones |
| POST | /proposals | Subir una propuesta (mismo formato que en la aplicación: multipart con el archivo PDF, nombre y páginas) |
| POST | /proposals/:id/status | Cambiar el estado ({status: active|closed|won}) |
Actividades
Los endpoints de tareas también almacenan llamadas, reuniones y seguimientos para los espacios de trabajo con CRM Advanced en Team, Enterprise o una prueba piloto activa. Envía activity_type (task, call, meeting o follow_up), due_date (YYYY-MM-DD), due_time opcional (HH:mm), timezone (nombre IANA), duration_minutes (de 1 a 1440), assignee_id y, opcionalmente, deal_id, person_id o company_id. Las tareas sin hora mantienen su fecha de calendario. Si falta la zona horaria, se aplica por defecto la preferencia del usuario, luego la del espacio de trabajo y por último UTC. Las horas locales inexistentes se rechazan; una hora repetida por cambio horario requiere occurrence: earlier o later. Lee la actividad antes de editarla y envía su revision; las ediciones desactualizadas devuelven 409. Los clientes antiguos pueden omitir revision. El valor null borra los campos opcionales. Para listar, usa scope=mine, all o unassigned, done=0, 1 o all, IDs de registro opcionales, limit hasta 500 y offset; sigue next_offset mientras has_more sea true. Si finaliza el acceso a CRM Advanced, las actividades tipadas existentes siguen pudiendo editarse y completarse, y se pueden seguir creando tareas básicas. Las actividades no realizan llamadas, no envían mensajes ni mandan invitaciones a reuniones. Completar una actividad no marca una oportunidad ni una propuesta como ganada.
Registra interacciones por correo, SMS, LinkedIn u otros canales como activity_type: follow_up con contact_channel: email, sms, linkedin u other (CRM Advanced). Las notas de actividad admiten hasta 10.000 caracteres. done: true registra su finalización; completed_date tiene formato YYYY-MM-DD y no puede ser posterior a hoy. Para completar una llamada es obligatorio indicar call_result: answered, no_answer o busy. cancelled: true cancela la actividad sin eliminarla; done y cancelled no pueden ser true a la vez. Filtra las listas mediante status: open, done, cancelled o all; los registros cancelados se excluyen de las listas de trabajo abiertas y de los informes de actividad.
Al guardar una actividad puedes incluir next_activity: {title, due_date, activity_type, contact_channel, notes, assignee_id}; el nuevo registro hereda la oportunidad y su fecha debe ser hoy o posterior. Las escrituras compuestas sobre registros existentes requieren revision. Ambos cambios se guardan de forma atómica. Un administrador con CRM Advanced puede activar require_next_activity en un pipeline. En ese caso, toda oportunidad abierta debe conservar una actividad abierta cuando se complete, cancele, elimine o desvincule su última actividad, así como al reabrir la oportunidad. Se sigue permitiendo crear o mover de etapa una oportunidad sin actividad. Este requisito deja de aplicarse si termina el acceso a CRM Advanced.
Las actualizaciones de oportunidades con CRM Advanced pueden incluir close_details junto con status won o lost y revision: close_date (no posterior a hoy), open_activities (keep o cancel), notes opcionales, y won_reason para las ganadas o loss_category para las perdidas. Las categorías de pérdida son price, timing, no_need, competitor, no_response, no_authority_or_budget, in_house, poor_fit y other. El campo opcional competitor se aplica a la categoría competitor; revisit_date debe ser una fecha futura y no genera ningún recordatorio automático. Marcar una oportunidad como won requiere un importe positivo. El cierre y la posible cancelación de actividades se guardan conjuntamente según los permisos vigentes sobre el registro. Para reabrirla, envía status: open y, si es necesario, next_activity. Al reabrir se borran los detalles de cierre, pero no se restauran las actividades canceladas. Las actualizaciones simples solo de estado siguen siendo compatibles.
Ejemplos
Listar oportunidades abiertas:
curl https://app.tinyant.io/api/v1/deals?status=open \
-H "Authorization: Bearer ta_live_..."
Crear una oportunidad y dejar que Tiny Ant cree o asocie la empresa por su nombre:
curl -X POST https://app.tinyant.io/api/v1/deals \
-H "Authorization: Bearer ta_live_..." \
-H "Content-Type: application/json" \
-d '{"name": "Website redesign", "company_name": "Acme Ltd", "value": 12500}'
Consultar todo lo ocurrido desde una marca de tiempo, por ejemplo para sincronizar tu propio sistema:
curl "https://app.tinyant.io/api/v1/activity?since=1760000000000&limit=100" \
-H "Authorization: Bearer ta_live_..."
Servidor MCP
El servidor MCP (Model Context Protocol) está disponible en:
https://app.tinyant.io/mcp
El transporte es Streamable HTTP, sin estado, mediante JSON-RPC sobre POST. La autenticación utiliza la misma clave Bearer. No hay flujos iniciados por el servidor, por lo que basta con un cliente HTTP estándar.
Claude Code. Ejecuta una línea en tu terminal y pregúntale a Claude por tus oportunidades:
claude mcp add --transport http tiny-ant https://app.tinyant.io/mcp --header "Authorization: Bearer ta_live_..."
Otros clientes MCP. Utiliza un cliente compatible con Streamable HTTP y cabeceras Authorization personalizadas. Configura la URL del servidor con la dirección anterior y el valor de la cabecera con Bearer seguido de tu clave de API. Revisa las opciones de conexión actuales de tu cliente. Si no admite MCP directamente, puedes recurrir a una integración a medida mediante la API REST. Tiny Ant no ofrece integraciones preconfiguradas para cada cliente.
OAuth. La conexión MCP publicada por Tiny Ant utiliza actualmente una clave Bearer estática. Los clientes que exigen OAuth no pueden usar esta conexión directamente. Comprueba la compatibilidad antes de elegir un cliente.
Herramientas MCP
Cada herramienta invoca la misma API descrita arriba y devuelve la respuesta JSON en formato texto.
| Herramienta | Descripción |
|---|---|
search | Buscar empresas, personas y oportunidades en el CRM por nombre, correo o dominio. |
list_deals | Listar oportunidades. |
get_deal | Vista completa de una oportunidad: detalles, empresa, contacto, propuestas con datos de lectura, tareas e historial de notas y eventos. |
create_deal | Crear una oportunidad. |
update_deal | Actualizar una oportunidad: cambiar el nombre, modificar el importe, mover de etapa, marcar como ganada o perdida, o vincular una empresa o un contacto. |
list_companies | Listar empresas con su número de personas, oportunidades abiertas e importe abierto. |
get_company | Consultar una empresa con sus personas, oportunidades e historial. |
create_company | Crear una empresa. |
list_people | Listar personas (contactos), opcionalmente filtradas por empresa. |
get_person | Consultar una persona con sus oportunidades e historial. |
create_person | Crear un contacto. |
add_note | Añadir una nota a una oportunidad, persona o empresa. |
list_tasks | Listar las tareas abiertas del titular de la clave (mine) o de todo el equipo. |
create_task | Crear una tarea, vinculada opcionalmente a una oportunidad, persona o empresa. |
get_task | Leer una actividad incluyendo su número de revisión (revision). |
update_task | Editar una actividad. |
get_activity_settings | Consultar la zona horaria efectiva para las actividades y los tipos disponibles. |
complete_task | Marcar una tarea como completada (o reabrirla con done=false). |
get_crm_capabilities | Funciones del CRM habilitadas y acciones permitidas actualmente para este usuario. |
list_stages | Etapas de un pipeline (el predeterminado si se omite), miembros del espacio de trabajo y moneda. |
move_deals | Previsualizar o aplicar el traslado de hasta 100 oportunidades abiertas. |
get_dashboard | Consultar tu panel personal con métricas en tiempo real según tus permisos de acceso. |
save_dashboard | Guardar el diseño y los filtros de tu propio panel usando la revisión obtenida en get_dashboard. |
list_automations | Consultar las reglas de automatización vinculadas a tu clave de API y los resultados de las últimas ejecuciones accesibles. |
preview_automation | Validar una regla y previsualizar las oportunidades abiertas coincidentes sin aplicar cambios. |
save_automation | Crear o editar una regla utilizando la confirmación obtenida en la vista previa. |
simulate_automation | Poner en cola una simulación para una oportunidad actual que cumpla las condiciones. |
stop_automation | Desactivar una regla y cancelar sus ejecuciones pendientes. |
archive_automation | Archivar una regla y cancelar sus ejecuciones pendientes. |
cancel_automation_run | Cancelar una ejecución pendiente. |
list_automation_notifications | Leer tus notificaciones internas de automatización según tu acceso actual a las oportunidades. |
list_reports | Consultar tipos de informe, notas de cálculo, filtros e informes personales guardados (administrador con CRM Advanced). |
run_report | Ejecutar un informe aplicando los permisos de acceso a registros vigentes. |
save_report | Guardar la definición de un informe personal. |
list_views | Listar las vistas guardadas accesibles, el catálogo de campos y operadores y los valores por defecto. |
query_records | Paginar una vista validada del CRM. |
preview_bulk_change | Previsualizar entre 1 y 100 registros seleccionados del CRM. |
get_bulk_change | Consultar tu vista previa masiva y los resultados por fila conservados durante siete días, usando la misma clave de API. |
apply_bulk_change | Aplicar hasta cinco filas previsualizadas de forma atómica fila por fila. |
preview_import | Previsualizar hasta 100 filas del CRM sin modificar los registros. |
get_import | Consultar tu vista previa de importación y el progreso guardado; los lotes caducan a los siete días. |
apply_import | Aplicar hasta diez filas previsualizadas de forma atómica fila por fila. |
save_view | Crear o actualizar una vista personal, o una vista del espacio de trabajo como administrador (CRM Advanced). |
get_card_layout | Consultar las secciones de fichas compartidas, el orden de los detalles y los grupos de campos personalizados. |
set_card_layout | Sustituir el diseño compartido de las fichas y los grupos de campos personalizados (administrador con CRM Advanced). |
list_fields | Listar las definiciones de campos personalizados, incluidos los campos archivados y las opciones con ID estable. |
create_field | Crear un campo personalizado (administrador con CRM Advanced). |
update_field | Cambiar el nombre, reordenar, agrupar o archivar un campo (administrador con CRM Advanced). |
set_field_rules | Previsualizar o guardar la visibilidad y obligatoriedad de campos de oportunidad (administrador con CRM Advanced). |
get_record_fields | Leer los campos personalizados, los valores y la revisión de un registro. |
set_record_fields | Actualizar valores de campos personalizados por ID de campo. |
list_pipelines | Listar los pipelines del espacio de trabajo, incluidos los archivados, y cuál es el predeterminado. |
create_pipeline | Crear un pipeline con cuatro etapas iniciales. |
update_pipeline | Cambiar el nombre, reordenar, archivar o establecer un pipeline como predeterminado. |
set_stages | Sustituir las etapas activas de un pipeline. |
activity | Registro estructurado de eventos del espacio de trabajo, del más reciente al más antiguo: oportunidades creadas y movidas, ganadas y perdidas, notas, tareas y propuestas vinculadas y leídas. |
list_proposals | Propuestas con estado de lectura: visitas, tiempo total de lectura, lectura en curso y oportunidad vinculada. |
get_proposal | Consultar una propuesta: tiempo de lectura por página, destinatarios, actividad, versiones y oportunidad vinculada. |
list_visitors | Empresas que han visitado tu web (Tiny Ant Visitors): redes de empresas identificadas con páginas vistas, fecha de última visita y empresa vinculada en el CRM, además del número de visitas procedentes de conexiones domésticas, móviles o centros de datos. |
link_proposal | Vincular una propuesta existente a una oportunidad para que su actividad de lectura aparezca en el historial de la oportunidad. |
Límites de frecuencia y uso razonable
MCP acepta un único mensaje JSON-RPC por cada POST, de hasta 512 KiB. Los arrays JSON se rechazan sin ejecutar ninguna herramienta; envía solicitudes separadas. Las solicitudes del CRM que no sean GET, incluidas las importaciones, las operaciones masivas y las vistas previas de consultas, comparten un límite adicional de 120 solicitudes por minuto y espacio de trabajo entre la aplicación, la API REST y MCP; si se supera, se devuelve 429 con la cabecera Retry-After. Estos límites perimetrales se calculan de forma local en cada ubicación de Cloudflare.
Los límites de almacenamiento de uso razonable del CRM se aplican por tabla (oportunidades, tareas y notas): 500 en Free, 20.000 en Pro y 50.000 en Team y Enterprise. Free tiene además un límite específico de 10 oportunidades abiertas. Las tareas completadas y las oportunidades cerradas siguen computando para el límite de almacenamiento; los registros existentes se conservan al pasar a un plan inferior.
La recepción de datos de Visitors está limitada por espacio de trabajo y día UTC: 5.000 páginas vistas en Pro, 20.000 en Team y 50.000 en Enterprise. El tráfico adicional se descarta y la recopilación se reanuda al día siguiente. El tope diario utiliza un contador compartido en base de datos; además, la protección perimetral limita cada dirección de origen a 60 envíos por minuto y cada clave pública de Visitors a 600 envíos por minuto en cada ubicación de Cloudflare. Una consulta o escritura fallida tras reservar cupo puede consumir igualmente una plaza diaria. La cuota de ipapi.is del cliente es independiente.
Cada clave puede realizar hasta 120 solicitudes por minuto sumando la API REST y el servidor MCP, y cada dirección IP hasta 300 por minuto. Las solicitudes sin una clave válida están limitadas a 30 por minuto y dirección. Si superas el límite, recibirás un código 429 con la cabecera Retry-After; espera antes de reintentarlo. Consulta /activity con el parámetro since en lugar de volver a descargar listas completas, utiliza una clave distinta para cada integración para poder revocarla de forma independiente y no compartas ninguna clave fuera de tu espacio de trabajo. Un espacio de trabajo puede tener hasta 10 claves activas.
Las reglas de automatización de CRM Advanced comienzan siempre con una simulación. Los límites son de 50 reglas activas y 1.000 ejecuciones cada 24 horas móviles por espacio de trabajo. La creación de oportunidades y los cambios de etapa se ponen en cola de forma atómica. Las aperturas externas confirmadas de propuestas se limitan a una por propuesta y día UTC. Los plazos de oportunidades estancadas cuentan con un margen de recuperación de siete días. El historial de ejecuciones y los avisos internos se conservan durante 90 días. No se envían datos de clientes a ningún modelo de IA ni servicio externo de mensajería.
Los administradores con CRM Advanced pueden ejecutar informes de pipeline abierto, ganadas/perdidas y tasa de cierre, historial de etapas, actividad y previsión ponderada. Las fechas abarcan días UTC completos e inclusivos (hasta 366); las actividades programadas utilizan su propia fecha de vencimiento. Las previsiones se basan en las oportunidades abiertas actuales y las probabilidades de cada etapa, manteniendo por separado las oportunidades sin fecha y las distintas monedas. Las observaciones de referencia iniciales no equivalen a entradas históricas en la etapa ni a duraciones completas conocidas. Los informes personales guardados almacenan los criterios seleccionados, no instantáneas de resultados. Cada ejecución y desglose aplica los permisos de acceso a registros vigentes en ese momento.
Con CRM Advanced, los permisos de acceso a los registros se aplican en la aplicación, la API REST, MCP y las exportaciones. Por defecto, las claves de API y los webhooks solo acceden a los registros compartidos con el espacio de trabajo, incluidos los registros principales compartidos. Un administrador puede crear expresamente una integración con acceso a todos los registros del espacio de trabajo, incluidos los privados. El alcance configurado se muestra en Ajustes. Las restricciones existentes siguen vigentes aunque finalice el acceso a CRM Advanced. Los enlaces públicos de propuestas para destinatarios siguen funcionando como un canal de uso compartido independiente.
Webhooks
Si prefieres que sea Tiny Ant quien avise a tu sistema, puedes configurar webhooks salientes en la misma página de Ajustes. Envían una solicitud POST en JSON firmada cuando se abre una propuesta, cuando termina una sesión de lectura, cuando cambia el estado de una propuesta y cuando se crea una oportunidad o cambia de etapa.
Preguntas frecuentes
Escríbenos a hello@tinyant.io. Cualquier cambio en la API se anuncia en esta página.