Skip to content

Crear Items

Este endpoint permite crear nuevos items (bienes y servicios) en el sistema.

Endpoint: POST /api/v1/items/create

Descripción: Crea un nuevo item en el sistema.

Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}
CampoTipoRequeridoDescripción
codestringCódigo único del item
descriptionstringDescripción del item
ratenumberPrecio unitario del item
unitstringUnidad de medida
typestringNoTipo de item: PRODUCT o SERVICE (por defecto: PRODUCT)
allow_accountingintegerNoPermite contabilidad de inventario (0 o 1)
count_availableintegerNoCantidad disponible en inventario
taxesarrayArray de impuestos aplicables
taxes[].percentajestringPorcentaje del impuesto
taxes[].codestringCódigo del tipo de impuesto
taxes[].percentaje_codestringCódigo del porcentaje específico
{
"code": "PROD-001",
"description": "Producto de ejemplo",
"rate": 25.50,
"unit": "Unidad",
"type": "PRODUCT",
"taxes": [
{
"percentaje": "15",
"code": "2",
"percentaje_code": "4"
}
]
}
{
"code": "PROD-002",
"description": "Producto con inventario",
"rate": 45.75,
"unit": "Unidad",
"type": "PRODUCT",
"allow_accounting": 1,
"count_available": 100,
"taxes": [
{
"percentaje": "15",
"code": "2",
"percentaje_code": "4"
}
]
}
{
"code": "SERV-001",
"description": "Servicio de consultoría",
"rate": 150.00,
"unit": "Hora",
"type": "SERVICE",
"taxes": [
{
"percentaje": "15",
"code": "2",
"percentaje_code": "4"
}
]
}
Terminal window
curl -X POST "https://dev-facturacion.e-dinky.test/api/v1/items/create" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here" \
-d '{
"code": "PROD-001",
"description": "Producto de ejemplo",
"rate": 25.50,
"unit": "Unidad",
"type": "PRODUCT",
"taxes": [
{
"percentaje": "15",
"code": "2",
"percentaje_code": "4"
}
]
}'
{
"message": "Registro creado",
"status": "CREATED",
"payload": {
"code": "PROD-001",
"description": "Producto de ejemplo",
"rate": 25.5,
"unit": "Unidad",
"type": "PRODUCT",
"taxes": [
{
"type_name": "IVA",
"name": "15%",
"percentaje_tax": "15.00",
"type_tax_code": "2",
"tax_code": "4"
}
]
}
}

Respuesta de Error (422 Unprocessable Entity)

Section titled “Respuesta de Error (422 Unprocessable Entity)”
{
"message": "Error de validación",
"status": "UNPROCESSABLE_ENTITY",
"errors": {
"code": [
"El código ya existe en el sistema"
]
}
}
CódigoDescripción
201Item creado exitosamente
400Error en los datos enviados
401Token de autorización inválido
422Error de validación (código duplicado)
500Error interno del servidor
  • code: Debe ser único en el sistema
  • description: No puede estar vacío
  • rate: Debe ser un número positivo
  • unit: No puede estar vacío
  • taxes: Debe contener al menos un impuesto
  • El código del item debe ser único
  • Los códigos de impuestos deben existir en el sistema LOVs
  • Si type es SERVICE, no se puede establecer allow_accounting = 1
  • Si allow_accounting = 1, se puede especificar count_available
  • Códigos únicos: El campo code debe ser único en todo el sistema
  • Tipos de items: PRODUCT para productos físicos, SERVICE para servicios
  • Inventario: Solo los productos pueden manejar inventario (allow_accounting = 1)
  • Impuestos: Los códigos deben corresponder a valores válidos en el sistema LOVs
  • Precios: Se manejan con 2 decimales de precisión
  • Unidades: Pueden ser cualquier texto descriptivo (Unidad, Kg, Litro, etc.)
{
"code": "LAPTOP-001",
"description": "Laptop Dell Inspiron 15",
"rate": 899.99,
"unit": "Unidad",
"type": "PRODUCT",
"allow_accounting": 1,
"count_available": 50,
"taxes": [
{
"percentaje": "15",
"code": "2",
"percentaje_code": "4"
}
]
}
{
"code": "CONSULT-HR",
"description": "Consultoría en Recursos Humanos",
"rate": 75.00,
"unit": "Hora",
"type": "SERVICE",
"taxes": [
{
"percentaje": "15",
"code": "2",
"percentaje_code": "4"
}
]
}