Conecta Perfect Day con WooCommerce.
¿Estás usando WooCommerce? Hay dos maneras: complemento de conector nativo (recomendado, más fácil) o el Variante Webhook mediante un fragmento de código. Ambos escriben en la misma plataforma; el resultado es idéntico.
Requisitos previos: Ve una vez que preparación general Esto implica crear un cupón, obtener la contraseña de la aplicación y proporcionar la URL del webhook. El proceso dura aproximadamente cinco minutos y se aplica a todos los sistemas de la tienda.
Método 1: Native Connector (recomendado, ~10 min)
La forma más sencilla: Mantenemos nuestro propio plugin de WordPress para WooCommerce.
-
Instale el complemento del conector
Panel de administración de WordPress de tu tienda WooCommerce → Plugins → Agregar. Descarga el archivo ZIP del plugin. „Conector de Perfect Day Shop" Súbelo (te lo enviaremos; el enlace de descarga está disponible si lo solicitas a través del servicio de asistencia) y actívalo.
-
Configurar complemento
WP-Admin → Ajustes → Conector de día perfecto. Ingresar:
- Plataforma anfitriona:
https://plattform.deinperfectday.de - Nombre de usuario + Contraseña de la aplicación de la preparación
Ahorrar.
- Plataforma anfitriona:
-
Ingrese el ID del cupón para cada producto.
WP-Admin → Productos → Abrir producto. En el bloque de la barra lateral „"Día perfecto"" Ingrese el ID del cupón (
15114etc.) y guarda el producto. -
Orden de prueba
Realiza el pedido en la tienda y establece el estado en "completado". WP-Admin → Pedidos → Comprobar Nota: „Códigos de día perfecto generados: 1". El pedido aparecerá en el panel de administración de la plataforma en Día perfecto → Pedidos de la tienda, El cliente recibe el correo electrónico de la marca.
Método 2: Mediante el webhook genérico (~15 min)
Si no desea instalar el complemento de conexión, por ejemplo, si utiliza una versión muy antigua de WooCommerce o si prefiere una configuración más sencilla, puede acceder al webhook mediante un pequeño fragmento de código.
-
ID del cupón como campo personalizado en el producto.
WP-Admin → Productos → Abrir producto → Bloquear „Campos propios" (Si no está visible: arriba a la derecha, seleccione "Opciones de pantalla" → active "Campos personalizados"). Nuevo campo:
- Nombre:
ID de cupón pfd - Valor:
15114(ID de tu cupón de la plataforma)
„Haz clic en "Actualizar".
- Nombre:
-
Fragmento en el archivo functions.php del tema hijo
Agregue el siguiente código a la
funciones.phpde tu tema hijo activo. Introduce tu nombre de usuario y contraseña de la aplicación en los campos marcados.Ver código completo — PHP · functions.php
add_action('woocommerce_order_status_completed', 'pfd_send_to_perfectday', 10, 1); function pfd_send_to_perfectday($order_id) { $order = wc_get_order($order_id); if (!$order) return; // Protección de idempotencia: solo una vez por pedido if ($order->get_meta('_pfd_webhook_sent', true)) return; $items = array(); foreach ($order->get_items() as $item) { $product = $item->get_product(); if (!$product) continue; $coupon_id = get_post_meta($product->get_id(), 'pfd_coupon_id', true); if (empty($coupon_id)) continue; $items[] = array( 'coupon_id' => (int) $coupon_id, 'count' => (int) $item->get_quantity(), ); } if (empty($items)) return; $payload = array( 'shop_order_id' => (string) $order->get_order_number(), 'shop_type' => 'woocommerce', 'shop_domain' => parse_url(home_url(), PHP_URL_HOST), 'customer' => array( 'email' => $order->get_billing_email(), 'name' => trim($order->get_billing_first_name() . ' ' . $order->get_billing_last_name()), 'locale' => substr(get_locale(), 0, 2), ), 'items' => $items, 'order_total_cents' => (int) round($order->get_total() * 100), 'currency' => $order->get_currency(), 'placed_at' => $order->get_date_paid() ? $order->get_date_paid()->format('c') : current_time('c'), ); // ⬇ Introduzca sus valores aquí ⬇ $username = 'SU-NOMBRE-DE-USUARIO'; $app_pwd = 'xxxx xxxx xxxx xxxx xxxx xxxx'; // ⬆ Introduzca SUS valores aquí ⬆ $response = wp_remote_post( 'https://plattform.deinperfectday.de/wp-json/perfectday/shop/webhook/order', array( 'headers' => array( 'Content-Type' => 'application/json', 'Authorization' => 'Basic ' . base64_encode($username . ':' . $app_pwd), ), 'body' => wp_json_encode($payload), 'timeout' => 15, ) ); if (!is_wp_error($response)) { $order->update_meta_data('_pfd_webhook_sent', '1'); $order->add_order_note(sprintf( 'Perfect Day: Webhook enviado (HTTP %d)', wp_remote_retrieve_response_code($response) )); $order->save(); } else { $order->add_order_note('Perfect Day: Webhook falló — ' . $response->get_error_message()); } } -
Almacene sus credenciales de forma segura.
Tener la contraseña de la aplicación directamente en el código PHP no es óptimo. Mejor: vía
wp-config.phpDefine la constante y haz referencia a ella en el fragmento de código.define('PFD_API_USER', 'tu-nombre'); define('PFD_API_PASSWORD', 'xxxx xxxx xxxx xxxx xxxx xxxx'); // En el fragmento entonces: // $username = PFD_API_USER; // $app_pwd = PFD_API_PASSWORD; -
Orden de prueba
Realice el pedido, cambie el estado a "completado", luego abra el pedido en WP-Admin y seleccione la opción deseada en la parte inferior. Notas controlar:
Día perfecto: Webhook enviado (HTTP 200)→ Todo está bien.
Solución de problemas.
El código no se ejecutará.
¿Está el fragmento en el tema correcto (tema hijo)? De lo contrario, desaparecerá después de una actualización del tema. Además: El gancho. woocommerce_order_status_completed Esto solo se activa cuando el estado cambia a "completado". Si su método de pago deja los pedidos directamente en "procesamiento", cambie el gancho a... Procesamiento del estado del pedido de WooCommerce.
HTTP 403 — cupón prohibido
El ID de cupón pfd El campo personalizado apunta a un cupón que no pertenece a su cuenta de proveedor. Compruébelo en el panel de administración de la plataforma en cupones, si la identificación existe allí.
HTTP 401: se requiere autenticación
Nombre de usuario incorrecto (es el nombre de usuario de WordPress, no la dirección de correo electrónico) o contraseña de aplicación incorrecta, revocada o copiada con error.
¿Prefiere que lo configuremos por usted?
WooCommerce es el caso más sencillo: normalmente puedes gestionarlo tú mismo. Sin embargo, si necesitas ayuda, podemos instalar y configurar el conector por ti, incluyendo la asignación de los ID de tus cupones de producto.
¿Aún tienes preguntas?
Ruta 1 o Ruta 2: ¿cuál debo tomar?
¿Esto también funciona con una versión anterior de WooCommerce?
Compra conectada, ¿y ahora qué?
Una vez que el webhook esté funcionando, todos los pedidos aparecerán automáticamente en tu panel de administración. Si necesitas otra conexión, puedes configurar cada tienda adicional en tan solo unos minutos.
Ir a la descripción general de la tienda