Saltar al contenido principal

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.

DatoValor
Sitiohttp://127.0.0.1:8096
URL base de la APIhttp://127.0.0.1:8096/wp-json/notiwoo/v1
Administradordocs / docs-local-only
Clienteana / docs-local-only
Moneda y paísCOP, Colombia (Bogotá)
Solo para uso local

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-Docs y notiwoo-plugin en la misma carpeta, o la variable NOTIWOO_PLUGIN_PATH apuntando 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​

  1. GET /schedule/delivery/status: comprueba que el domicilio está abierto.
  2. GET /products con token: elige un producto.
  3. POST /cart/validate: valida un carrito con extras. Ver Horarios, domicilio y carrito.
  4. POST /bulk/preview: previsualiza una subida de precios sin aplicarla. Ver Cambios masivos.
  5. DELETE /auth/token: revoca el token al terminar.

Buenas prácticas​

  • Usa siempre datos inventados, con el dominio example.test para 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.