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

Apuntar un formulario desde WordPress

Sin plugin. Un bloque HTML que postea a /f/{TOKEN}. El thank-you page se configura en el dashboard, no en el HTML.

El plugin nativo de WordPress está planificado. Mientras tanto, este método snippet funciona en cualquier theme y no depende de él.

a) Lo más simple: bloque HTML personalizado

Editor de bloques → HTML personalizado → pega esto. method="POST" directo al endpoint.

<form action="https://denorly.com/f/8f3b2c1a-9d4e-4f7a-b6c2-1e5a7d9c0b3f" method="POST">
  <input type="text"  name="nombre"  placeholder="Nombre" required>
  <input type="email" name="email"   placeholder="Email"  required>
  <textarea name="mensaje" placeholder="Mensaje"></textarea>
  <button type="submit">Enviar</button>
</form>

Submit nativo (no-AJAX): si el form tiene redirect_url, el navegador recibe un 302 al thank-you page. Si no, ve la respuesta JSON cruda.

⚠ El thank-you page se setea en el DASHBOARD

  • Denorly no lee un campo oculto _redirect. El endpoint solo usa el redirect_url guardado en el formulario. Cualquier campo extra que mandes se guarda como dato de la submission, no cambia el destino.
  • Configúralo en Dashboard → formulario → Redirección. Ahí pones la URL de tu thank-you page de WordPress (p. ej. https://tutienda.pe/gracias).

a.2) Versión AJAX (sin recargar)

Si quieres feedback inline, postea con fetch. Funciona en el mismo bloque HTML.

<form id="denorly-form">
  <input type="text"  name="nombre" placeholder="Nombre" required>
  <input type="email" name="email"  placeholder="Email"  required>
  <textarea name="mensaje" placeholder="Mensaje"></textarea>
  <button type="submit">Enviar</button>
  <p id="denorly-msg"></p>
</form>
<script>
  document.getElementById("denorly-form").addEventListener("submit", async (e) => {
    e.preventDefault();
    const data = Object.fromEntries(new FormData(e.target));
    const res = await fetch("https://denorly.com/f/8f3b2c1a-9d4e-4f7a-b6c2-1e5a7d9c0b3f", {
      method: "POST",
      headers: { "Content-Type": "application/json", "Accept": "application/json" },
      body: JSON.stringify(data),
    });
    const json = await res.json();
    const msg = document.getElementById("denorly-msg");
    if (json.success) {
      if (json.redirect_url) { window.location = json.redirect_url; return; }
      msg.textContent = "¡Enviado!";
      e.target.reset();
    } else {
      msg.textContent = json.error; // string único
    }
  });
</script>

b) ¿Ya usas CF7 / WPForms?

Plugin ¿Cambia el target del POST? Cómo conectar a Denorly
Contact Form 7 No (postea a sí mismo) Usa un webhook desde el plugin/integración hacia tu propio relay, o reemplaza el form por el HTML de arriba.
WPForms No (postea a sí mismo) Su addon de webhooks puede reenviar al endpoint, pero el shape lo controla el plugin. Más limpio: form HTML directo.

Honesto: estos plugins postean a su propio handler; no puedes cambiar el action a Denorly desde la UI. Si necesitas integrarlos, ve a Webhooks o reemplaza el form por el bloque HTML.

c) Libro de Reclamaciones en todo el sitio

Pega el widget en el footer del theme o en un widget HTML personalizado del área de widgets, así aparece en todas las páginas.

<script src="https://app.denorly.com/assets/libro-widget.js"
  data-token="8f3b2c1a-9d4e-4f7a-b6c2-1e5a7d9c0b3f"
  data-position="bottom-right"
  data-color="#E8A817"
  data-text="Libro de Reclamaciones"
  data-mode="modal"
  async></script>

Solo data-token es obligatorio. Tabla completa de atributos en Libro embed.

⚠ Gotchas WordPress

  • Page builders (Elementor, Divi) a veces sanitizan o eliminan <script> de los bloques HTML. Mete el widget vía el footer del theme o un plugin de "insertar código en header/footer".
  • Caché (WP Rocket, LiteSpeed): si editas el form y no ves cambios, purga la caché. El widget es estático así que no le afecta.
  • Algunos plugins de formularios no permiten cambiar el target del POST: confírmalo antes de pelear con ellos; suele ser más rápido el bloque HTML directo.