Visser Labs – Plugins de WooCommerce

  1. Inicio
  2. Base de conocimiento
  3. Exportador de Tiendas Deluxe de WooCommerce
  4. Automatización y programación
  5. Cómo enviar exportaciones a una URL remota en Store Exporter Deluxe
  1. Inicio
  2. Base de conocimiento
  3. Exportador de Tiendas Deluxe de WooCommerce
  4. Cómo enviar exportaciones a una URL remota en Store Exporter Deluxe

Cómo enviar exportaciones a una URL remota en Store Exporter Deluxe

Entregar un archivo de exportación a otro sistema manualmente, ya sea una herramienta de informes, un sistema de inventario o un script que ejecutas tú mismo, significa que alguien tiene que iniciar sesión, descargar el archivo y volver a cargarlo. Store Exporter Deluxe puede hacer ese último paso por ti. Cada vez que se ejecuta una Exportación Programada, envía el archivo finalizado a una dirección web que elijas usando una solicitud HTTP POST.

A continuación, configuras Enviar a URL, ves exactamente lo que recibe tu endpoint y confirmas que cada archivo llegó. Los desarrolladores también obtienen una forma de agregar encabezados como un token de API.

Prerrequisitos

RequisitoDetalles
ComplementoStore Exporter Deluxe está activo
Exportaciones programadasLas exportaciones programadas se activan en Ajustes → Programación → Habilitar Exportaciones Programadas. Si están desactivadas, la pantalla Exportaciones Programadas muestra “Las exportaciones programadas están actualmente deshabilitadas.” con un botón Habilitar Exportaciones Programadas.
Endpoint de recepciónUna dirección web (URL) que acepta solicitudes POST y es accesible desde el servidor de tu sitio
Acceso al endpointUna forma de comprobar los propios registros del sistema receptor, para que puedas confirmar que los archivos llegan

Cómo funciona

Cuando se ejecuta una programación que utiliza Enviar a URL, Store Exporter Deluxe genera el archivo de exportación como de costumbre y luego lo envía a tu URL POST Remota en una única solicitud HTTP POST. La solicitud es siempre POST. No hay ninguna opción para cambiarla a otro método.

Lo que recibe tu endpoint

Tu endpoint recibe el contenido del archivo de exportación como el cuerpo sin procesar de la solicitud. No llega como una carga de archivo, por lo que no hay ningún campo de formulario del que leer el archivo. Si la descripción de Ajustes de URL Remota en tu pantalla menciona una solicitud POST multipart, guíate por esta sección: el archivo es el cuerpo de la solicitud sin procesar.

Parte de la solicitudQué contiene
MétodoPOST
CuerpoEl contenido completo del archivo de exportación, exactamente como aparecería en el archivo descargado
Encabezado content-typeEl tipo MIME que coincide con tu Formato de Exportación (ver la tabla a continuación)
Encabezado acceptEl mismo tipo MIME que el encabezado content-type
Encabezado user-agentWordPress/ seguido de tu versión de WordPress

Store Exporter Deluxe no envía el nombre del archivo, campos de formulario adicionales ni ningún detalle de inicio de sesión. Espera hasta 60 segundos una respuesta y no sigue redirecciones, así que introduce la dirección final de tu endpoint.

El encabezado content-type depende del Formato de Exportación que elijas para la programación:

Formato de ExportaciónValor de content-type
CSVtext/csv
TSVtext/tab-separated-values
Excel (XLS)application/vnd.ms-excel
Excel (XLSX)application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
XMLapplication/xml
RSS 2.0application/rss+xml

Enviar POST a URL

Los pasos a continuación cubren la creación de una nueva Exportación Programada. Para cambiar un programa existente, ábrelo desde la pantalla de Exportaciones Programadas. Para más información sobre cómo crear y gestionar programas, consulta Cómo programar exportaciones en Store Exporter Deluxe.

Paso 1: Abrir el formulario del nuevo programa

  1. Ve a WooCommerce → Store Export.
  2. En la barra lateral de Store Exporter, haz clic en Exportaciones Programadas.
  3. Haz clic en Nuevo Programa. El formulario se abre con el encabezado Añadir Nueva Exportación Programada y cinco pasos en la parte superior: General, Filtros, Método, Programación y Avanzado.
La pantalla de Exportaciones Programadas con el botón Nueva Programación en la esquina superior derecha resaltado

Paso 2: Elegir qué exportar

En el paso General, configura la exportación en sí.

  1. Introduce un nombre en Nombre del Programa. Este campo es obligatorio.
  2. Selecciona el tipo de datos en Tipo de Exportación, como Productos o Pedidos.
  3. Selecciona el tipo de archivo en Formato de Exportación. Elige un formato que tu endpoint pueda leer de la tabla Formato de Exportación bajo "Lo que recibe tu endpoint" arriba.
  4. En Campos de exportación, elija Todos los campos, Usar plantilla o Selección guardada.

El paso General también tiene opciones de formato de archivo y datos, como el delimitador de columnas y el formato de encabezado. Déjalos como están a menos que tu endpoint espere un diseño particular.

El paso General del formulario de nueva programación mostrando el Nombre de la Programación, el Formato de Exportación y las opciones de Campos de Exportación marcadas del 1 al 3

Paso 3: Acotar la exportación con filtros (opcional)

Abre el paso Filtros si solo quieres que se envíen algunos registros, por ejemplo, pedidos con un estado determinado. Sáltatelo para enviar todos los registros coincidentes.

Paso 4: Elegir Enviar POST a URL

  1. Haz clic en el paso Método.
  2. En Método de Entrega, selecciona la tarjeta Enviar POST a URL.
  3. En Configuración de URL Remota, introduce la dirección de tu endpoint en URL POST Remota, por ejemplo https://example.com/webhook/receive.
Las tarjetas de Método de Entrega con POST a URL seleccionado, y el panel Resumen de Programación mostrando el Método como POST a URL Remota

El panel Resumen del Programa a la derecha se actualiza para mostrar Enviar POST a URL Remota una vez seleccionada la tarjeta.

El campo URL de POST Remoto rellenado con una dirección de ejemplo

El campo URL POST Remota es la única configuración que tiene este método de entrega. Usa la dirección completa, incluyendo https://.

Paso 5: Establecer cuándo se ejecuta

En el paso Programación, elige con qué frecuencia se ejecuta la exportación.

  • Cada hora: cada hora.
  • Diario: una vez al día.
  • Semanal: una vez a la semana.
  • Mensual: el día 1 de cada mes.
  • Personalizado: un intervalo repetido que estableces en Ejecutar cada.
  • Manual: solo cuando lo ejecutas tú mismo.

Elige una hora y zona horaria para la ejecución, y selecciona si comienza inmediatamente o en una fecha que establezcas. Para ejecutar a la hora local de tu tienda, consulta Cómo programar exportaciones según tu hora local.

El paso de Programación mostrando las opciones de Frecuencia, los campos de hora y zona horaria, y las opciones de Inicio marcadas del 1 al 3

Paso 6: Revisa las opciones avanzadas

El paso Avanzado tiene más opciones, como la gestión de nombres de archivo, la gestión de archivos comprimidos y el registro. Dos de ellas son las más importantes para POST a URL:

  • Patrón de nombre de archivo: nombra el archivo de exportación dentro de tu sitio. El nombre del archivo no se envía a tu endpoint.
  • Nivel de registro: establece cuántos detalles registra el Registro de auditoría para esta programación. Esta opción solo aparece cuando el Registro de auditoría está habilitado y la fuente de registro Exportaciones programadas no está configurada como Ninguna (Ajustes → Registro de auditoría → Fuentes de registro).

Paso 7: Guarda la programación

  1. Comprueba el panel Resumen de la programación a la derecha. Método debería decir POST a URL remota.
  2. Haz clic en Crear programación. En una programación existente, este botón dice Guardar programación.

Comprobando que el archivo llegó

Store Exporter Deluxe registra si pudo alcanzar tu endpoint, pero no lee la respuesta de tu endpoint. Así que comprueba ambos lados:

  1. Abre el propio registro de solicitudes de tu endpoint, o la herramienta receptora, y busca una solicitud POST en el momento en que se ejecutó la programación.
  2. Confirma que el cuerpo de la solicitud es el archivo de exportación y que se abre correctamente.
  3. En WordPress, ve a Exportaciones programadas en la barra lateral de Store Exporter. La lista Actividad reciente allí muestra cada ejecución. Haz clic en Solo errores, junto a Toda la actividad, para mostrar solo las ejecuciones fallidas. Haz clic en Toda la actividad para ver todas las ejecuciones de nuevo.
  4. Para más detalles, abre el Registro de auditoría desde la misma barra lateral y busca la ejecución.
La lista de Actividad Reciente en la pantalla de Exportaciones Programadas con el botón Solo Errores resaltado

El Registro de auditoría está activado por defecto. El elemento Registro de auditoría aparece en la barra lateral de Store Exporter solo cuando el Registro de auditoría está activado. Si está desactivado, ve a Ajustes en la barra lateral de Store Exporter, abre la sección Registro de auditoría y activa Habilitar registro de auditoría.

Para probar sin esperar a la próxima ejecución programada, apunta la URL POST remota a un servicio de captura de solicitudes mientras configuras las cosas. En la pantalla Exportaciones programadas, haz clic en el menú de tres puntos en la fila de la programación y haz clic en Ejecutar ahora, luego comprueba lo que llegó. Luego cambia la dirección a tu endpoint real.

Si una solicitud no puede conectarse en absoluto, por ejemplo porque la dirección está mal escrita, el servidor está caído o la conexión se agota, la ejecución se marca como fallida en el Registro de auditoría. Store Exporter Deluxe envía el archivo una vez por ejecución. La siguiente ejecución programada crea y envía un archivo nuevo.

Añadir una clave API u otras cabeceras (desarrolladores)

La pantalla de configuración no tiene campos para las cabeceras de autenticación. Si tu endpoint necesita una clave API o un token, un desarrollador puede añadir cabeceras con el filtro wsed_scheduled_export_post_args. Añade este código a un plugin personalizado o al archivo functions.php de tu tema hijo:

add_filter( 'wsed_scheduled_export_post_args', function ( $args ) {
    $args['headers']['Authorization'] = 'Bearer YOUR_API_TOKEN';
    return $args;
} );

Reemplaza TU_TOKEN_API con el token que tu endpoint espera. El código se añade a las cabeceras existentes en lugar de reemplazarlas, por lo que la cabecera content-type permanece en su sitio.

Este filtro se aplica a cada programación que utiliza Enviar a URL, incluido el Disparador de Nuevos Pedidos en Ajustes. No puede enviar cabeceras diferentes a endpoints diferentes.

Solución de problemas

El Registro de Auditoría muestra una ejecución fallida para mi programación de Enviar a URL
Comprueba que la URL de envío remoto esté escrita correctamente e incluya https://. Luego, confirma que el servidor receptor esté en línea y no bloquee las solicitudes de la dirección IP de tu proveedor de hosting. Store Exporter Deluxe registra un fallo cuando no puede conectarse a tu endpoint.
La ejecución se muestra como completada, pero no llegó nada a mi endpoint
Comprueba los propios registros de tu endpoint para ver si hay una solicitud rechazada, como un error de inicio de sesión o un tipo de contenido incorrecto. Si necesita una clave API, añade la cabecera usando el filtro en la sección de desarrollador de arriba. Store Exporter Deluxe marca una ejecución como completada una vez que la solicitud llega a tu servidor, sea cual sea la respuesta del servidor.
Mi endpoint recibe la solicitud pero no encuentra el archivo
El archivo es el cuerpo crudo de la solicitud, no un campo de formulario. Actualiza tu endpoint para leer el cuerpo de la solicitud directamente en lugar de buscar un archivo subido.
Mi endpoint redirige la solicitud a otra dirección
Store Exporter Deluxe no sigue las redirecciones. Introduce la dirección final en URL de envío remoto, por ejemplo, la dirección https:// si tu endpoint redirige desde http://.
No encuentro Exportaciones Programadas en la barra lateral de Store Exporter
Ve a Ajustes en la barra lateral de Store Exporter, abre la sección Avanzado y desactiva Ocultar Pestaña de Exportaciones Programadas. Cuando esa opción está activada, el elemento Exportaciones Programadas se elimina de la barra lateral.
Una exportación grande excede el tiempo límite
Store Exporter Deluxe espera hasta 60 segundos a que tu endpoint responda. Si tu endpoint tarda más, reduce la exportación en el paso Filtros para que produzca un archivo más pequeño.

Preguntas frecuentes

¿Puedo usar PUT u otro método en lugar de POST?
No. La solicitud es siempre un HTTP POST.
¿Puedo añadir una clave API o una cabecera de Autorización?
No desde la pantalla de configuración. Un desarrollador puede añadir cabeceras con el filtro wsed_scheduled_export_post_args. Consulta la sección de desarrollador de arriba.
¿Se envía el archivo como una carga de formulario?
No. El contenido del archivo es el cuerpo crudo de la solicitud, con una cabecera content-type que coincide con el formato de exportación.
¿Store Exporter Deluxe reintenta si la solicitud falla?
No. Envía el archivo una vez por ejecución. La siguiente ejecución programada envía un archivo nuevo.
¿El endpoint recibe el nombre del archivo?
No. Solo se envían el contenido del archivo y las cabeceras mencionadas anteriormente.
¿Está disponible el POST a URL en el plugin gratuito Store Exporter?
No. Las Exportaciones Programadas y todos los métodos de entrega forman parte de Store Exporter Deluxe.

¿Necesita ayuda?

Si tiene alguna pregunta o encuentra algún problema, estamos aquí para ayudarle.

¿Fue útil este artículo?

Artículos relacionados

Recursos y ayuda