Saltar al contenido principal

Descripción general

La API de desarrollador de Nudgen brinda scripts, herramientas internas y agentes de IA una interfaz REST predecible para su espacio de trabajo. Utilice un token de acceso personal (PAT) para administrar los recursos del espacio de trabajo. Utilice una clave API de activación de equipo solo para activar una campaña de por vida desde su backend.

Por qué esto es importante

Puede automatizar los flujos de trabajo de marketing y retención basados en eventos sin compartir una sesión del panel. Las PAT mantienen la administración del espacio de trabajo revocable, mientras que una clave de activación de equipo estrecha permite que un servicio de producción envíe un empujón activado por evento sin acceso amplio al espacio de trabajo.

URL base

Establezca la URL de la aplicación para su entorno una vez y úsela en cada ejemplo. La producción suele utilizar https://app.nudgen.net; el desarrollo local comúnmente usa http://localhost:3000.

Autenticación

Token de acceso personal

Cree una PAT en Configuración → Claves API. Úselo para contactos, administración de campañas, configuración de marca y generación de IA.
Las PAT se muestran solo una vez. Guárdelos de forma segura y revoque cualquier token antiguo o expuesto desde Configuración → Claves de API.

Clave de API de activación de equipo

Una clave de API de activación de equipo comienza con ndg_team_ y tiene un alcance limitado de campaigns:trigger. Solo puede activar campañas de por vida; una PAT no puede activarlas. Solo los propietarios y administradores del espacio de trabajo pueden crear, rotar o revocar estas claves. De forma predeterminada, una clave caduca después de 90 días. Configure expiresInDays en null para crear una clave que no caduque.
La respuesta 201 contiene el texto sin formato key exactamente una vez. Guárdelo en un administrador secreto del lado del servidor. Las respuestas posteriores exponen solo keyPrefix.

Puntos finales REST

Identidad y espacio de trabajo

Contactos

Campañas únicas y por goteo

El lanzamiento de una campaña programa un correo electrónico real. Utilice /api/v1/campaigns/test-send para obtener vistas previas de la bandeja de entrada.

Campañas de por vida

Las campañas de por vida se activan mediante eventos: cada activador aceptado crea como máximo una ejecución y envía un empujón al contacto proporcionado. Consulte Usar campañas de por vida para obtener información sobre el flujo de trabajo del panel y orientación sobre contratos variables.

Crear una campaña de por vida

Crear campañas de por vida como draft. No envíe sendNow: true, status: "active" o status: "scheduled"; En su lugar, active la campaña con su punto final del ciclo de vida.
variableManifest define hasta 100 variables data.*. Debe incluir todos los tokens data.* utilizados en el asunto o HTML. Los valores predeterminados deben coincidir con el tipo declarado y una variable utilizada en HTML href debe tener el tipo url. Cuando genere contenido de correo electrónico, guarde el generatedVariableManifest coincidente. Nudgen bloquea la activación si difiere del manifiesto actual o si los parámetros declarados requeridos no están en el correo electrónico.

Cambiar el ciclo de vida

Las transiciones válidas son draft → active → paused → active y active|paused → archived. Pausar o archivar cancela las ejecuciones que aún son pending o queued y libera sus reservas de cuota. Es posible que aún se envíe una ejecución que ya se está procesando.

Activar un empujón

Todo el cuerpo de la solicitud está limitado a 64 KiB, el anidamiento JSON en ocho niveles y las claves no seguras como __proto__, constructor y prototype se rechazan. Un nuevo activador devuelve 201 con { "execution": { "id": "...", "status": "queued" }, "duplicate": false }. Reutilizar un eventId devuelve la ejecución existente con 200 y duplicate: true.

Listar ejecuciones

Utilice limit del 1 al 100 (predeterminado 25), cursor para la página siguiente, status para filtrar por estado de ejecución y search para coincidir. un correo electrónico o una identificación externa. La respuesta incluye executions y nextCursor.

Errores, reintentos y límites de velocidad

Los activadores de por vida permiten 600 solicitudes por minuto para cada clave API de activación del equipo. Las respuestas incluyen x-ratelimit-limit, x-ratelimit-remaining y x-ratelimit-reset. Una respuesta 429 también incluye Retry-After. Para 429, 503 y errores de red, vuelva a intentarlo con un retroceso exponencial y el mismo eventId. El trabajo en cola es determinista para una ejecución, por lo que los reintentos no crean correos electrónicos duplicados.

Configuración de marca

Generación de borradores de IA

Servidor MCP

Utilice Nudgen MCP cuando su agente admita herramientas del Protocolo de Contexto de Modelo. MCP utiliza OAuth vinculado al espacio de trabajo elegido; las campañas nuevas se guardan como borradores y el asistente las lanza directamente cuando autorizas el envío o la programación en el chat. La API REST utiliza un token de acceso personal (PAT).

MCP server setup

Instale Nudgen MCP en Claude Code, Cursor, Windsurf, Codex CLI o un cliente MCP genérico.

API de Map Leads

Usa un PAT del workspace activo. Las búsquedas nuevas consumen la cuota diaria; las páginas adicionales y los reintentos no. Se reinicia a medianoche UTC. Ampliar el radio inicia otra búsqueda. Los fallos del proveedor liberan la reserva; cancelar una búsqueda aceptada no. API y MCP usan 5 km por defecto y aceptan un entero radiusKm de 1 a 100, sin diálogo de confirmación. Mantén los parámetros al pasar nextPageToken como pageToken. Una página vacía puede tener una página siguiente. enrichmentPending indica investigación del sitio pendiente. Revisa businessSummary y businessSources cuando estén disponibles. El contexto importado puede apoyar introducciones personalizadas. Un correo ausente puede seguir pendiente de investigación.
Si recibes enrichmentRetryToken, llama a POST /api/v1/map-leads/enrichment-retry con token y PAT. El token está vinculado al workspace conectado, caduca en 15 minutos y se usa una vez. Combina los resultados por placeId antes de importar. Usa Accept: application/x-ndjson para búsqueda o reintento. Cada línea JSON tiene type: progress, complete o error. Combina data.leads por placeId. El resultado final es complete.data; el error está en error. Sin esta cabecera recibes JSON. POST /place resuelve una sugerencia de ubicación; GET /geolocate devuelve un centro fijo en Ciudad Ho Chi Minh y no obtiene tu ubicación.