Skip to main content

GET /api/proveedores

Lista todos los proveedores activos de la empresa.

Autenticación

Requiere autenticación con token Bearer y permiso proveedores.view.

Parámetros de Consulta

busqueda
string
Término de búsqueda (busca en RUC, razón social, dirección, teléfono, email)

Respuesta

success
boolean
Indica si la operación fue exitosa
data
array
Lista de proveedores activos ordenados por razón social

Ejemplo de Uso

curl -X GET "https://api.ejemplo.com/api/proveedores?busqueda=distribuidora" \
  -H "Authorization: Bearer {token}"

POST /api/proveedores

Crea un nuevo proveedor.

Autenticación

Requiere autenticación con token Bearer y permiso proveedores.create.

Parámetros del Body

ruc
string
required
RUC del proveedor (máximo 11 caracteres). Debe ser único por empresa.
razon_social
string
required
Razón social del proveedor (máximo 200 caracteres)
direccion
string
Dirección del proveedor (máximo 100 caracteres)
telefono
string
Teléfono del proveedor (máximo 100 caracteres)
email
string
Correo electrónico (formato válido, máximo 150 caracteres)
ubigeo
string
Código ubigeo de 6 dígitos
departamento
string
Nombre del departamento (máximo 100 caracteres)
provincia
string
Nombre de la provincia (máximo 100 caracteres)
distrito
string
Nombre del distrito (máximo 100 caracteres)

Proceso Automático

Al crear el proveedor:
  1. Asigna automáticamente la empresa del usuario autenticado
  2. Establece el estado como activo (1)

Respuesta

success
boolean
Indica si el proveedor fue creado exitosamente
message
string
Mensaje confirmando la creación
data
object
Proveedor creado

Ejemplo de Uso

curl -X POST "https://api.ejemplo.com/api/proveedores" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "ruc": "20612706702",
    "razon_social": "DISTRIBUIDORA EJEMPLO SAC",
    "direccion": "AV. INDUSTRIAL 456",
    "telefono": "014567890",
    "email": "[email protected]",
    "ubigeo": "150101",
    "departamento": "Lima",
    "provincia": "Lima",
    "distrito": "Lima"
  }'

GET /api/proveedores/

Obtiene el detalle de un proveedor específico.

Autenticación

Requiere autenticación con token Bearer y permiso proveedores.view.

Parámetros de Ruta

id
integer
required
ID del proveedor

Respuesta

success
boolean
Indica si la operación fue exitosa
data
object
Proveedor solicitado

Ejemplo de Uso

curl -X GET "https://api.ejemplo.com/api/proveedores/12" \
  -H "Authorization: Bearer {token}"

PUT /api/proveedores/

Actualiza un proveedor existente.

Autenticación

Requiere autenticación con token Bearer y permiso proveedores.edit.

Parámetros de Ruta

id
integer
required
ID del proveedor

Parámetros del Body

Los mismos que en POST (todos opcionales). El RUC debe seguir siendo único.

Respuesta

success
boolean
Indica si la actualización fue exitosa
message
string
Mensaje confirmando la actualización
data
object
Proveedor actualizado

Ejemplo de Uso

curl -X PUT "https://api.ejemplo.com/api/proveedores/12" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "telefono": "014445556",
    "email": "[email protected]"
  }'

DELETE /api/proveedores/

Elimina (desactiva) un proveedor.

Autenticación

Requiere autenticación con token Bearer y permiso proveedores.delete.

Parámetros de Ruta

id
integer
required
ID del proveedor

Proceso

No elimina físicamente el proveedor. Cambia su estado a 0 (Inactivo).

Respuesta

success
boolean
Indica si la eliminación fue exitosa
message
string
Mensaje confirmando la eliminación

Ejemplo de Uso

curl -X DELETE "https://api.ejemplo.com/api/proveedores/12" \
  -H "Authorization: Bearer {token}"

GET /api/proveedores//detalles

Obtiene detalles completos de un proveedor incluyendo estadísticas y últimas compras.

Autenticación

Requiere autenticación con token Bearer y permiso proveedores.view.

Parámetros de Ruta

id
integer
required
ID del proveedor

Respuesta

success
boolean
Indica si la operación fue exitosa
data
object
proveedor
object
Datos completos del proveedor
stats
object
total_count
integer
Total de compras realizadas
total_monto_pen
number
Monto total en soles
total_monto_usd
number
Monto total en dólares
compras
array
Últimas 10 compras del proveedor

Ejemplo de Uso

curl -X GET "https://api.ejemplo.com/api/proveedores/12/detalles" \
  -H "Authorization: Bearer {token}"

Códigos de Error

  • 404 Not Found: Proveedor no encontrado.
  • 422 Unprocessable Entity: Error de validación (RUC duplicado, email inválido, etc.).
  • 500 Internal Server Error: Error en el servidor.

Notas Importantes

  • El RUC debe ser único por empresa. No puede haber dos proveedores con el mismo RUC en la misma empresa.
  • Los proveedores no se eliminan físicamente, solo se desactivan (estado = 0).
  • El endpoint GET /api/proveedores solo muestra proveedores activos.
  • Todos los proveedores están asociados a una empresa específica.
  • Las estadísticas y compras se calculan dinámicamente desde la tabla compras.

Build docs developers (and LLMs) love