Entorno de pruebas
Prueba la API en una tienda local con datos de ejemplo y nunca contra una tienda en producción. Este repositorio incluye una tienda WordPress + WooCommerce en Docker con el plugin montado y la tienda de ejemplo «Smash House»: 12 productos, extras, horarios, mesas y fidelización.
| Dato | Valor |
|---|---|
| Sitio | http://127.0.0.1:8096 |
| URL base de la API | http://127.0.0.1:8096/wp-json/notiwoo/v1 |
| Administrador | docs / docs-local-only |
| Cliente | ana / docs-local-only |
| Moneda y país | COP, Colombia (Bogotá) |
Estas credenciales son públicas y solo valen para la tienda local. El contenedor escucha únicamente en 127.0.0.1. No lo expongas a internet ni reutilices estas contraseñas.
Requisitos
- Docker con Docker Compose.
- Los repositorios
NotiWoo-Docsynotiwoo-pluginen la misma carpeta, o la variableNOTIWOO_PLUGIN_PATHapuntando al plugin.
Levantar la tienda
Desde la raíz de este repositorio:
docker compose -f scripts/screenshots/wp/compose.yml up -d
La primera vez, instala WordPress y carga los datos de ejemplo con el servicio cli:
WP="docker compose -f scripts/screenshots/wp/compose.yml run --rm cli"
$WP core install --url=http://127.0.0.1:8096 --title="Smash House" \
--admin_user=docs --admin_password=docs-local-only --admin_email=docs@example.test --skip-email
$WP plugin install woocommerce --activate
$WP plugin activate notiwoo-plugin
$WP language core install es_CO en_US
$WP eval-file /fixtures/seed.php
$WP eval-file /fixtures/enrich.php
$WP eval-file /fixtures/images.php
Detén la tienda con docker compose -f scripts/screenshots/wp/compose.yml down. Los datos se conservan en volúmenes de Docker. Para empezar de cero, añade --volumes.
Primera llamada
curl http://127.0.0.1:8096/wp-json/notiwoo/v1/status
Obtener un token
curl -X POST http://127.0.0.1:8096/wp-json/notiwoo/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"username": "docs", "password": "docs-local-only"}'
Guarda el valor de data.token y úsalo en las siguientes llamadas:
TOKEN="pega-aquí-el-token"
curl "http://127.0.0.1:8096/wp-json/notiwoo/v1/orders?per_page=5" \
-H "Authorization: Bearer $TOKEN"
Para probar con una contraseña de aplicación:
docker compose -f scripts/screenshots/wp/compose.yml run --rm cli \
user application-password create docs pruebas-api --porcelain
curl -u "docs:<contraseña-generada>" http://127.0.0.1:8096/wp-json/notiwoo/v1/auth/me
En el entorno local, WordPress permite contraseñas de aplicación sin HTTPS.
Recorrido de prueba
GET /schedule/delivery/status: comprueba que el domicilio está abierto.GET /productscon token: elige un producto.POST /cart/validate: valida un carrito con extras. Ver Horarios, domicilio y carrito.POST /bulk/preview: previsualiza una subida de precios sin aplicarla. Ver Cambios masivos.DELETE /auth/token: revoca el token al terminar.
Buenas prácticas
- Usa siempre datos inventados, con el dominio
example.testpara correos y URLs. - No copies en esta tienda datos de clientes reales ni claves de Google, WhatsApp o pasarelas de pago.
- Borra las contraseñas de aplicación de prueba con
user application-password delete docs --all.