Skip to main content
POST
/
api
/
forms
/
{formId}
curl -X POST https://app.horneross.com/api/forms/form_abc123 \
  -H "Content-Type: application/json" \
  -d '{
    "formId": "form_abc123",
    "formValues": {
      "name": "María García",
      "email": "maria@ejemplo.com",
      "phone": "+5491123456789",
      "message": "Quiero información sobre el plan Pro",
      "plan": "pro"
    }
  }'
{
  "id": "submission_abc123",
  "formId": "form_abc123",
  "values": {
    "name": "María García",
    "email": "maria@ejemplo.com",
    "phone": "+5491123456789",
    "message": "Quiero información sobre el plan Pro",
    "plan": "pro"
  },
  "contact": {
    "id": "contact_new123",
    "email": "maria@ejemplo.com",
    "firstName": "María",
    "lastName": "García"
  },
  "createdAt": "2024-01-21T16:00:00Z"
}

Endpoint

POST /api/forms/{formId}
Este endpoint es público y no requiere autenticación.

Path Parameters

formId
string
required
ID del formulario

Request Body

formId
string
required
ID del formulario (debe coincidir con el path)
formValues
object
required
Objeto con los valores de cada campo. Las keys corresponden al name de cada field.
conversationId
string
ID de conversación existente para vincular la submission
messageId
string
ID de mensaje específico para vincular la submission
curl -X POST https://app.horneross.com/api/forms/form_abc123 \
  -H "Content-Type: application/json" \
  -d '{
    "formId": "form_abc123",
    "formValues": {
      "name": "María García",
      "email": "maria@ejemplo.com",
      "phone": "+5491123456789",
      "message": "Quiero información sobre el plan Pro",
      "plan": "pro"
    }
  }'

Response

id
string
required
ID único de la submission
formId
string
required
ID del formulario
values
object
required
Valores enviados
contact
object
Contacto creado o actualizado automáticamente
createdAt
string
required
Fecha de creación (ISO 8601)
{
  "id": "submission_abc123",
  "formId": "form_abc123",
  "values": {
    "name": "María García",
    "email": "maria@ejemplo.com",
    "phone": "+5491123456789",
    "message": "Quiero información sobre el plan Pro",
    "plan": "pro"
  },
  "contact": {
    "id": "contact_new123",
    "email": "maria@ejemplo.com",
    "firstName": "María",
    "lastName": "García"
  },
  "createdAt": "2024-01-21T16:00:00Z"
}

Efectos secundarios

Cuando se envía un formulario:
  1. Crea/actualiza contacto: Si hay campos email o phone, se crea o actualiza el contacto en el CRM
  2. Notifica al owner: Se envía email de notificación al dueño del formulario
  3. Dispara webhook: Si está configurado, se llama al webhook con los datos