Saltar al contenido principal

Suppliers

Gestión de Proveedores

Los endpoints de proveedores permiten administrar la información de contacto de los proveedores del restaurante.

  • GET /suppliers: Obtiene todos los proveedores del sistema.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • cURL Example:
    curl -X GET "http://127.0.0.1:9154/suppliers" \
    -H 'Cookie: accessToken=your_access_token_here'
    • Response Body (Éxito - 200 OK):
    [
    {
    "id": "1c322996-8696-4dcb-b14e-8c7abd8a4880",
    "name": "Distribuidora Central",
    "contact": "María García",
    "phone": "+34 666 123 456",
    "email": "maria@distribuidora.com",
    "address": "Calle Mayor 123, Madrid"
    },
    {
    "id": "c46c6b1b-480c-4a83-86fc-327f6dbf9718",
    "name": "Carnicería El Toro",
    "contact": "Juan Pérez",
    "phone": "+34 677 234 567",
    "email": "juan@carniceriaeltoro.com",
    "address": "Avenida de la Paz 45, Valencia"
    }
    ]
    • Response Body (Sin contenido - 204 No Content):
    "No suppliers found"
  • GET /suppliers/{id}: Obtiene un proveedor específico por su ID.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • Path Parameters:
      • id (string): ID del proveedor a obtener
    • cURL Example:
    curl -X GET "http://127.0.0.1:9154/suppliers/5f7037ea-a0cc-4820-9df4-90a80960d897" \
    -H 'Cookie: accessToken=your_access_token_here'
    • Response Body (Éxito - 200 OK):
    {
    "id": "5f7037ea-a0cc-4820-9df4-90a80960d897",
    "name": "Distribuidora Central",
    "contact": "María García",
    "phone": "+34 666 123 456",
    "email": "maria@distribuidora.com",
    "address": "Calle Mayor 123, Madrid"
    }
    • Response Body (Error - 400 Bad Request):
    "Missing or malformed ID"
    • Response Body (Error - 404 Not Found):
    "Supplier not found"
  • POST /suppliers: Crea un nuevo proveedor.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • Request Body:
    {
    "name": "string",
    "contact": "string",
    "phone": "string",
    "email": "string",
    "address": "string"
    }
    • cURL Example:
    curl -X POST "http://127.0.0.1:9154/suppliers" \
    -H 'Cookie: accessToken=your_access_token_here' \
    -H "Content-Type: application/json" \
    -d '{
    "name": "Frutas y Verduras Frescas",
    "contact": "Ana López",
    "phone": "+34 688 345 678",
    "email": "ana@frutasfrescas.com",
    "address": "Mercado Central, Puesto 15, Sevilla"
    }'
    • Response Body (Éxito - 201 Created):
    "Supplier added successfully"
  • PUT /suppliers/{id}: Actualiza un proveedor existente.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • Path Parameters:
      • id (string): ID del proveedor a actualizar
    • Request Body:
    {
    "name": "string",
    "contact": "string",
    "phone": "string",
    "email": "string",
    "address": "string"
    }
    • cURL Example:
    curl -X PUT "http://127.0.0.1:9154/suppliers/a1bbc895-297f-42d8-bc92-e7dc61b81d6f" \
    -H 'Cookie: accessToken=your_access_token_here' \
    -H "Content-Type: application/json" \
    -d '{
    "name": "Distribuidora Central S.L.",
    "contact": "María García Rodríguez",
    "phone": "+34 666 123 456",
    "email": "maria.garcia@distribuidora.com",
    "address": "Calle Mayor 123, 28001 Madrid"
    }'
    • Response Body (Éxito - 200 OK):
    "Supplier updated successfully"
    • Response Body (Error - 400 Bad Request):
    "Missing or malformed ID"
    • Response Body (Error - 404 Not Found):
    "Supplier not found"
  • DELETE /suppliers/{id}: Elimina un proveedor del sistema.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • Path Parameters:
      • id (string): ID del proveedor a eliminar
    • cURL Example:
    curl -X DELETE "http://127.0.0.1:9154/suppliers/supplier-uuid-1" \
    -H 'Cookie: accessToken=your_access_token_here'
    • Response Body (Éxito - 200 OK):
    "Supplier deleted successfully"
    • Response Body (Error - 400 Bad Request):
    "Missing or malformed ID"
    • Response Body (Error - 404 Not Found):
    "Supplier not found"

Notas importantes:

  • Todos los endpoints de proveedores requieren autenticación JWT
  • Los IDs de proveedores son UUID generados automáticamente
  • Todos los campos (name, contact, phone, email, address) son requeridos
  • El email debe tener un formato válido
  • Los proveedores pueden estar asociados a ingredientes para el control de inventario
  • Se recomienda mantener actualizada la información de contacto para facilitar pedidos
  • Los tokens se envían automáticamente via cookies del navegador