Integración con WooCommerce
Además de notiwoo/v1, el plugin amplía las APIs de WooCommerce. Esta página resume lo que necesitas para integrarte.
Estados de pedido propios
| Estado | ES | EN | Uso |
|---|---|---|---|
wc-accepted | Aceptado | Accepted | Pedido aceptado por la tienda. Todavía no es una venta. |
wc-shipped | Enviado | Shipped | Pedido en camino. Solo en este estado se muestra el enlace de seguimiento. |
wc-finalized | Finalizado | Finalized | Entrega o recogida confirmada y cobro verificado. WooCommerce lo cuenta como pagado y lo incluye en sus reportes. |
wc-accepting | Aceptando | Accepting | Flujo heredado de WooFood. |
Flujos:
- Domicilio:
on-hold → accepted → processing → shipped → completed → finalized - Recogida y mesa: igual, sin
shipped.
El plugin no mueve los pedidos por estos estados: lo hace la app NOTIWOO, con PUT /wc/v3/orders/{id} o PUT /notiwoo/v1/orders/{id}. Consulta Estados y pagos.
Al entrar en accepted, shipped y finalized, el cliente recibe los correos correspondientes, que se configuran en WooCommerce → Ajustes → Correos. Ver Correos.
Webhooks
Notiwoo no crea webhooks propios. Usa los webhooks estándar de WooCommerce (WooCommerce → Ajustes → Avanzado → Webhooks) y añade estos datos al contenido de los webhooks de pedidos:
| Campo | Contenido |
|---|---|
service_mode | dine_in (en mesa), takeaway (para llevar) o vacío. |
table | { id, label, zone, released_at } en pedidos en mesa. |
loyalty | { points_earned, points_redeemed, coupon }. |
meta_data[] → _notiwoo_whatsapp_opt_in | Consentimiento de WhatsApp, como booleano. |
Verifica la firma de cada webhook con el secreto configurado en WooCommerce (cabecera X-WC-Webhook-Signature).
Metadatos del pedido
Se leen en meta_data de wc/v3/orders:
| Clave | Contenido |
|---|---|
_notiwoo_fulfillment_type | Modalidad: delivery o pickup. |
_notiwoo_fulfillment_date, _notiwoo_fulfillment_time | Día (AAAA-MM-DD) y hora (HH:MM, now o asap). |
_notiwoo_delivery_coordinates | { latitude, longitude } confirmados por el cliente en el mapa. No se usan para calcular la tarifa. |
_notiwoo_service_mode, _notiwoo_table_id, _notiwoo_table_label, _notiwoo_table_zone, _notiwoo_table_released_at | Servicio en mesa. |
_notiwoo_whatsapp_opt_in, _notiwoo_whatsapp_consent_at | Consentimiento de WhatsApp. |
_notiwoo_loyalty_points_earned, _notiwoo_loyalty_points_redeemed, _notiwoo_loyalty_coupon | Fidelización. |
_notiwoo_tracking_url | Enlace de seguimiento. Lo escribe la app. |
En los artículos del pedido, _notiwoo_extras_snapshot guarda los extras elegidos con su precio en el momento de la compra. El cargo de domicilio se identifica con _notiwoo_delivery_fee = yes, no por su nombre, así que funciona en cualquier idioma.
Por compatibilidad, el plugin también escribe las claves heredadas woofood_order_type, date_to_deliver, time_to_deliver, minutes_to_arrive y printed.
Checkout de bloques (Store API)
| Punto de extensión | Datos |
|---|---|
Checkout → extensions.notiwoo | order_type, fulfillment_date, fulfillment_time, service_mode, table_id |
Checkout → extensions.notiwoo-delivery | latitude, longitude, confirmed |
Carrito → extensions.notiwoo-loyalty | enabled, preview, balance (solo lectura) |
POST /wc/store/v1/cart/add-item | extra_selections, extra_ids, additional_comments en los datos del artículo |
| Campos adicionales del checkout | notiwoo/whatsapp-opt-in, notiwoo/referral, notiwoo/latitude, notiwoo/longitude, notiwoo/location-confirmed |
URLs de la tienda
| URL | Uso |
|---|---|
https://tienda.example.test/?notiwoo_table=<token> | Entrada desde el QR de una mesa. |
https://tienda.example.test/?nw_ref=<código> | Enlace de referido. |
<página Mi cuenta>/mis-puntos/ | «Mis puntos» en Mi cuenta. |
Shortcode [notiwoo_catalog style="tabs" category="hamburguesas"] | Catálogo con menú de categorías. Ver Menú de catálogo. |
Servicios externos
| Servicio | Uso | Clave |
|---|---|---|
| Google Routes API | Distancia de domicilio, calculada en el servidor. | Clave de servidor, restringida por IP. |
| Google Maps JavaScript API | Mapa del checkout. | Clave de navegador, restringida por dominio. |
| WhatsApp de Notiwoo | Avisos al cliente. | La configura Notiwoo; ver WhatsApp. |
Las notificaciones por SMS (BulkGate) y push (FCM) del sistema anterior siguen en el código, pero no se documentan. Las push usan una API de Google retirada en 2024 y no funcionan.