Nuestro querido plugin para importar y exportar usuarios y clientes, que antes se llamaba «Import Users From CSV With Meta» y ahora se llama «Import and Export Users and Customers»; sigue recibiendo mejoras, unas más pequeñas, otras más grandes; de forma paulatina y sin hacer mucho ruido pero que cada día lo hacen más completo. Tanto es así que ha superado ya las 1.300.000 descargas y va a llegar en breve a las más de 50.000 instalaciones activas (que se dice pronto). Muchas de las mejoras que se añaden surgen a raíz de peticiones concretas del foro de soporte. Así que os cuento esta nueva mejora de dónde viene.
El plugin entre otras cosas, tiene una tarea cron, que permite ejecutar una importación de forma automática cada cierto tiempo. Esto es muy útil para sincronizar usuarios entre tu sitio y otro sistema del tipo que sea, por ejemplo. Esa tarea se ejecuta con el cron de WordPress y bueno, con las limitaciones propias del cron de WordPress tenemos constancia de que resuelve mucho la vida a muchos usuarios sincronizando usuarios y datos entre diferentes sistemas de forma automática.
Sin embargo, en este hilo del foro, el usuario le daba una vuelta más al asunto y pedía llamar a esta tarea desde fuera. Con «desde fuera» me refiero con poderlo llamar desde otro sistema pero no de forma síncrona, bajo una ejecución de cron, sino con una llamada HTTP directa.
La tarea no es compleja, sin embargo se añadían varias incertidumbres:
La primera pregunta tiene fácil solución, usar la REST-API. ¿Por qué? Porque para eso está. La REST-API es una forma de llamar a WordPress externamente, de forma segura y estandarizada. Así que nada, creamos un endpoint nuevo basado en un GET de este tipo: /wp-json/import-users-from-csv-with-meta/v1/execute-cron/.
La segunda usando la REST-API tenía fácil solución también: usar la autenticación propia de WordPress. Esto tenía un problema y es que complica algo su uso, pero tiene la enorme ventaja de que solo podrán usar esa funcionalidad alguien con permiso para hacerlo. Imaginad el caos que puede ser que alguien llame todo el rato a tu sitio para importar usuarios de forma descontrolada:
Así que nada, dejando la autenticación a la REST-API, nos aseguramos de que solo se pueda usar con el debido permiso de un usuario con capacidad de usar esta herramienta. Concretamente la capacidad: «create_users».
En la pestaña «Cron» tenéis detalles, antes del log de cuál es vuestro endpoint para vuestro sitio, recordad que es una llamada GET.
Otra pequeña mejora más que lanzamos un sábado de agosto de madrugada para hacer un poco más grande este plugin que si nada lo para, seguirá creciendo de nuestra mano hasta hacerse muy mayor.Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.
RedSys aparte de los pagos normales, llamados autorizaciones, acepta una variedad de operaciones: desde autorizaciones…
WooCommerce permite ordenar los productos de una forma nativa, para poder presentar primero los que…
Cada vez que hay una actualización grande del núcleo WordPress, por defecto WordPress te instala…
Una pantalla LCD es una pantalla delgada y hecha de cristal líquido. Se usa en…
De todos los plugins que existen para Gravity Forms, que son numerosos porque la propia…
Un CMS, como WordPress, facilita la creación y gestión de contenido en la web, sin…