Productos
El catálogo de productos y servicios del libro. Recurso JSON:API
product
;
sku
es único por libro y los precios viajan como cadenas decimales.
El objeto product
#
active
boolean
requerido
false
desactiva el registro sin borrarlo.
book_id
uuid
requerido
El libro contable dueño del registro — siempre el de tu llave.
iva_rate
string
requerido
Tarifa de IVA del producto (
15
,
5
,
0
).
kind
enum
requerido
Bien o servicio; los servicios nunca mueven inventario.
goodservice
name
string
requerido
Nombre que aparece en los comprobantes.
sku
string
requerido
Tu código del producto — único por libro.
standard_cost
string
requerido
Costo estándar, como cadena decimal.
tax_treatment
enum
requerido
Tratamiento de IVA: gravado, exento o no objeto.
taxedexemptnot_subject
tenant_slug
string
requerido
La organización dueña del libro.
track_stock
boolean
requerido
Con
true
, el producto mueve kardex al comprarse y venderse.
unit
string
requerido
Unidad de medida (
UND
,
KG
,
HORA
…).
unit_price
string
requerido
Precio de venta unitario sin impuestos, como cadena decimal.
valuation_method
enum
requerido
Valoración del inventario: promedio ponderado o FIFO.
weighted_averagefifo
category
string
Categoría libre para agrupar el catálogo.
tax_code
string
Código de impuesto del catálogo local, si aplica.
Filtrable por: activebook_idcategoryidiva_ratekindnameskustandard_costtax_codetax_treatmenttenant_slugtrack_stockunitunit_pricevaluation_method
Ordenable por: activebook_idcategoryidiva_ratekindnameskustandard_costtax_codetax_treatmenttenant_slugtrack_stockunitunit_pricevaluation_method
Crear un producto#
/api/v1/products
Bearer
Content-Type: application/vnd.api+json
name
string
requerido
Nombre que aparece en los comprobantes.
sku
string
requerido
Tu código del producto — único por libro.
active
boolean
false
desactiva el registro sin borrarlo.
category
string
Categoría libre para agrupar el catálogo.
iva_rate
string
Tarifa de IVA del producto (
15
,
5
,
0
).
kind
enum
Bien o servicio; los servicios nunca mueven inventario.
goodservice
standard_cost
string
Costo estándar, como cadena decimal.
tax_code
string
Código de impuesto del catálogo local, si aplica.
tax_treatment
enum
Tratamiento de IVA: gravado, exento o no objeto.
taxedexemptnot_subject
track_stock
boolean
Con
true
, el producto mueve kardex al comprarse y venderse.
unit
string
Unidad de medida (
UND
,
KG
,
HORA
…).
unit_price
string
Precio de venta unitario sin impuestos, como cadena decimal.
valuation_method
enum
Valoración del inventario: promedio ponderado o FIFO.
weighted_averagefifo
Devuelve
·
201
con
data
·
400
si el cuerpo no cumple el esquema.
curl -X POST https://edge.datil.com/api/v1/products \
-H "Authorization: Bearer $DATIL_API_KEY" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "product",
"attributes": {
"sku": "SRV-001",
"name": "Consultoría mensual",
"kind": "service",
"unit_price": "100.00",
"iva_rate": "15"
}
}
}'
{
"data": {
"type": "product",
"id": "7d9f1b3a-5c7e-4d2b-8a0c-4e6a8c0b2d4e",
"attributes": {
"active": true,
"book_id": "1d2f4b6a-8c0e-4a2b-9d3f-5e7a9c1b3d5f",
"iva_rate": "15",
"kind": "service",
"name": "Consultoría mensual",
"sku": "SRV-001",
"standard_cost": "0.00",
"tax_treatment": "taxed",
"tenant_slug": "acme",
"track_stock": false,
"unit": "UND",
"unit_price": "100.00",
"valuation_method": "weighted_average",
"category": "Servicios",
"tax_code": null
}
}
}
Listar productos#
/api/v1/products
Bearer
filter[…]
object
Filtra por atributo:
filter[kind]=customer
, u operadores anidados como
filter[issue_date][greater_than]=2026-07-01
. Combinable con
filter[and]
/
filter[or]
.
sort
string
Atributos separados por coma; prefijo
-
para descendente:
sort=-issue_date
.
page[limit]
integer
Máximo de registros por página.
page[offset]
integer
Desplazamiento desde el inicio del listado.
page[count]
boolean
Con
true
, la respuesta incluye el total en
meta.page.total
.
fields[tipo]
string
Atributos a devolver, separados por coma — el sparse fieldset de JSON:API.
Devuelve
·
200
con
data
— lista de objetos
product
.
curl "https://edge.datil.com/api/v1/products?filter[active]=true&sort=sku" \
-H "Authorization: Bearer $DATIL_API_KEY"
{
"data": [
{
"type": "product",
"id": "7d9f1b3a-5c7e-4d2b-8a0c-4e6a8c0b2d4e",
"attributes": {
"active": true,
"book_id": "1d2f4b6a-8c0e-4a2b-9d3f-5e7a9c1b3d5f",
"iva_rate": "15",
"kind": "service",
"name": "Consultoría mensual",
"sku": "SRV-001",
"standard_cost": "0.00",
"tax_treatment": "taxed",
"tenant_slug": "acme",
"track_stock": false,
"unit": "UND",
"unit_price": "100.00",
"valuation_method": "weighted_average",
"category": "Servicios",
"tax_code": null
}
}
]
}
Consultar un producto#
/api/v1/products/:id
Bearer
id
uuid
requerido
Id del producto.
Devuelve
·
200
con
data
·
404
.
curl "https://edge.datil.com/api/v1/products/7d9f1b3a-5c7e-4d2b-8a0c-4e6a8c0b2d4e" \
-H "Authorization: Bearer $DATIL_API_KEY"
{
"data": {
"type": "product",
"id": "7d9f1b3a-5c7e-4d2b-8a0c-4e6a8c0b2d4e",
"attributes": {
"active": true,
"book_id": "1d2f4b6a-8c0e-4a2b-9d3f-5e7a9c1b3d5f",
"iva_rate": "15",
"kind": "service",
"name": "Consultoría mensual",
"sku": "SRV-001",
"standard_cost": "0.00",
"tax_treatment": "taxed",
"tenant_slug": "acme",
"track_stock": false,
"unit": "UND",
"unit_price": "100.00",
"valuation_method": "weighted_average",
"category": "Servicios",
"tax_code": null
}
}
}
Actualizar un producto#
/api/v1/products/:id
Bearer
Content-Type: application/vnd.api+json
id
uuid
requerido
Id del producto.
active
boolean
false
desactiva el registro sin borrarlo.
category
string
Categoría libre para agrupar el catálogo.
iva_rate
string
Tarifa de IVA del producto (
15
,
5
,
0
).
kind
enum
Bien o servicio; los servicios nunca mueven inventario.
goodservice
name
string
Nombre que aparece en los comprobantes.
standard_cost
string
Costo estándar, como cadena decimal.
tax_code
string
Código de impuesto del catálogo local, si aplica.
tax_treatment
enum
Tratamiento de IVA: gravado, exento o no objeto.
taxedexemptnot_subject
track_stock
boolean
Con
true
, el producto mueve kardex al comprarse y venderse.
unit
string
Unidad de medida (
UND
,
KG
,
HORA
…).
unit_price
string
Precio de venta unitario sin impuestos, como cadena decimal.
valuation_method
enum
Valoración del inventario: promedio ponderado o FIFO.
weighted_averagefifo
Devuelve
·
200
con
data
·
404
.
curl -X PATCH https://edge.datil.com/api/v1/products/7d9f1b3a-5c7e-4d2b-8a0c-4e6a8c0b2d4e \
-H "Authorization: Bearer $DATIL_API_KEY" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "product",
"attributes": {
"unit_price": "100.00",
"active": true
}
}
}'
{
"data": {
"type": "product",
"id": "7d9f1b3a-5c7e-4d2b-8a0c-4e6a8c0b2d4e",
"attributes": {
"active": true,
"book_id": "1d2f4b6a-8c0e-4a2b-9d3f-5e7a9c1b3d5f",
"iva_rate": "15",
"kind": "service",
"name": "Consultoría mensual",
"sku": "SRV-001",
"standard_cost": "0.00",
"tax_treatment": "taxed",
"tenant_slug": "acme",
"track_stock": false,
"unit": "UND",
"unit_price": "100.00",
"valuation_method": "weighted_average",
"category": "Servicios",
"tax_code": null
}
}
}