api.denorly.com
Ir al sitio →
Trata sobre: Formularios

Respuestas y errores

Todas las respuestas son JSON con una clave success booleana. Excepto el redirect 302.

Éxito: 200

{
  "success": true,
  "message": "Formulario enviado exitosamente",
  "submission_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"
}

submission_id es un UUID. message es el mensaje de éxito configurado, o el default.

Éxito con redirect (AJAX): 200

{
  "success": true,
  "redirect_url": "https://tu-sitio.pe/gracias",
  "submission_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"
}

Petición no-AJAX con redirect_urlHTTP 302 directo al destino (sin body JSON).

Error

{
  "success": false,
  "error": "Has alcanzado el límite de envíos de tu plan",
  "code": "LIMIT_REACHED"
}

Códigos y status HTTP

code HTTP Cuándo
LIMIT_REACHED 402 Límite de envíos del plan alcanzado.
FORM_INACTIVE 404 Formulario desactivado.
FORM_UNAVAILABLE 404 Formulario no disponible.
FORM_NOT_FOUND 404 Token inexistente o formulario inactivo.
RECAPTCHA_FAILED 403 Falló la verificación reCAPTCHA.
ORIGIN_BLOCKED 403 El Origin no está en la allow-list del formulario.
validación / otro 400 Datos inválidos u otro error de la petición.

Gotcha: ramifica por code, no por el texto de error (está en español y puede cambiar). El campo code es estable.