Productos
Es el catálogo de productos y servicios de su organización, es utilizado para crear facturas por referencias. En esta página, aprenderás los diferentes endpoints que puedes utilizar para gestionar productos de forma programática. Tenga en cuenta que los productos creados en el ambiente de pruebas no se reflejarán en el ambiente de producción.
Modelo producto
El modelo producto contiene toda la información sobre un producto o servicio. A continuación, se muestra una lista de las propiedades que se incluyen en éste objeto.
Tip: Las propiedades con el sufijo Id
corresponden a valores de los catálogos oficiales del SAT. Puedes consultarlos, buscarlos y filtrarlos a través del recurso catalogs.
Properties
- Name
id
- Type
- string?
- Description
Identificador único del producto.
- Name
description
- Type
- string?
- Description
Descripción o nombre del producto.
- Name
unitPrice
- Type
- number | decimal?
- Description
Precio unitario del producto sin impuestos.
- Name
satUnitMeasurementId
- Type
- string?
- expandible
- Description
Código de la unidad de medida. Catálogo del SAT
c_ClaveUnidad
.Default:"H87"
- Name
satTaxObjectId
- Type
- string?
- expandible
- Description
Código que identifica las obligaciones fiscales del producto. Catálogo del SAT
c_ObjetoImp
.Default:"02"
- Name
satProductCodeId
- Type
- string?
- expandible
- Description
Código del producto o servicio. Catálogo del SAT
c_ClaveProdServ
.Default:"01010101"
- Name
productTaxes
- Type
- array of objects (ProductTax)?
Impuestos aplicables al producto.
Default:[IVA 16%]- Name
productId
- Type
- string?
- Description
Id del producto asociado a este impuesto.
- Name
rate
- Type
- decimal | number
- required
- Description
Tasa del impuesto. El valor debe estar entre 0.00000 y 1.000000
p. ej.0.160000
para un 16% de impuesto.
- Name
taxId
- Type
- string
- required
- expandible
- Description
Impuesto. Catálogo del SAT
c_Impuesto
.- Type
- enum:
- Values
- "001""002""003"
- Name
taxFlagId
- Type
- string
- required
- expandible
- Description
Naturaleza del impuesto.
- Type
- enum:
- Values
- "T""R"
- Name
taxTypeId
- Type
- string
- required
- expandible
- Description
Tipo de impuesto.
- Type
- enum:
- Values
- "Tasa""Cuota""Exento"
Listar productos
Este endpoint te permite recuperar una lista paginada de todos sus productos. De forma predeterminada, se muestran diez productos por página, pero puedes ajustar esto con los parámetros de consulta.
Query parameters
- Name
pageNumber
- Type
- int
- required
- Description
El número de página que se desea recuperar.
Default:1
- Name
pageSize
- Type
- int
- required
- Description
Valor entre 1 y 50 inclusivo para indicar la cantidad de registros devueltos por página.
Default:10
Request
curl --location 'https://test.fiscalapi.com/api/v4/products?pageNumber=1&pageSize=2' \
--header 'X-TENANT-KEY: <tenant>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api_key>'
Response
{
"data": {
"items": [
{
"description": "PRODUCTO 1",
"unitPrice": 15000.000000,
"satUnitMeasurementId": "H87",
"satUnitMeasurement": {
"id": "E48",
"description": "Unidad de servicio",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satTaxObjectId":"02",
"satTaxObject": {
"id": "02",
"description": "Sí objeto de impuesto.",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satProductCodeId": "84111500",
"satProductCode": {
"id": "84111500",
"description": "Servicios contables",
"createdAt": "2025-01-07T08:24:19.7833333",
"updatedAt": null
},
"productTaxes": [
{
"productId": "114a4be5-fb65-40b2-a762-ff0c55c6ebfa",
"tax": {
"id": "002",
"description": "IVA: Impuesto al valor agregado",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"rate": 0.160000,
"taxFlag": {
"id": "T",
"description": "TRASLADO",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"taxType": {
"id": "Tasa",
"description": "TASA",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"id": "17c39b15-ca85-4950-ba67-355c30b31be8",
"createdAt": "2025-01-10T14:47:19.8360504",
"updatedAt": "2025-01-10T14:47:19.8360548"
}
],
"id": "114a4be5-fb65-40b2-a762-ff0c55c6ebfa",
"createdAt": "2025-01-10T14:47:19.8359793",
"updatedAt": "2025-01-10T14:47:19.8360044"
}
],
"pageNumber": 1,
"totalPages": 1,
"totalCount": 1,
"hasPreviousPage": false,
"hasNextPage": false
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Crear producto
Este endpoint te permite crear un nuevo producto. A continuación, se muestra una lista de las propiedades que se incluyen en la solicitud de creación de productos.
Modelo
- Name
description
- Type
- string
- required
- Description
Descripción o nombre del producto.
- Name
unitPrice
- Type
- number | decimal
- required
- Description
Precio unitario del producto sin impuestos.
- Name
satUnitMeasurementId
- Type
- string?
- expandible
- Description
Código de la unidad de medida. Catálogo del SAT
c_ClaveUnidad
.Default:"H87"
- Name
satTaxObjectId
- Type
- string?
- expandible
- Description
Código que identifica las obligaciones fiscales del producto. Catálogo del SAT
c_ObjetoImp
.Default:"02"
- Name
satProductCodeId
- Type
- string?
- expandible
- Description
Código del producto o servicio. Catálogo del SAT
c_ClaveProdServ
.Default:"01010101"
- Name
productTaxes
- Type
- array of objects (ProductTax)?
Impuestos aplicables al producto.
Default:[IVA 16%]- Name
productId
- Type
- string?
- Description
Id del producto asociado a este impuesto.
- Name
rate
- Type
- decimal | number
- required
- Description
Tasa del impuesto. El valor debe estar entre 0.00000 y 1.000000
p. ej.0.160000
para un 16% de impuesto.
- Name
taxId
- Type
- string
- required
- expandible
- Description
Impuesto. Catálogo del SAT
c_Impuesto
.- Type
- enum:
- Values
- "001""002""003"
- Name
taxFlagId
- Type
- string
- required
- expandible
- Description
Naturaleza del impuesto.
- Type
- enum:
- Values
- "T""R"
- Name
taxTypeId
- Type
- string
- required
- expandible
- Description
Tipo de impuesto.
- Type
- enum:
- Values
- "Tasa""Cuota""Exento"
Request
curl --location 'https://test.fiscalapi.com/api/v4/products' \
--header 'X-TENANT-KEY: <tenant>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api_key>' \
--data '{
"description": "Consulta Medica",
"unitPrice": 1250,
"satUnitMeasurementId": "HUR",
"satTaxObjectId": "02",
"satProductCodeId": "93141808"
}'
Response
{
"data": {
"description": "Consulta Medica",
"unitPrice": 1250,
"satUnitMeasurementId": "HUR",
"satUnitMeasurement": null,
"satTaxObjectId": "02",
"satTaxObject": null,
"satProductCodeId": "93141808",
"satProductCode": null,
"productTaxes": [
{
"productId": "b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"tax": null,
"rate": 0.160000,
"taxFlag": null,
"taxType": null,
"id": "c3601359-07a1-490d-a98d-b7cd0ec0956a",
"createdAt": "2025-01-11T19:09:33.0999529",
"updatedAt": "2025-01-11T19:09:33.0999671"
}
],
"id": "b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"createdAt": "2025-01-11T19:09:33.0993925",
"updatedAt": "2025-01-11T19:09:33.0994226"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Obtener producto
Este endpoint te permite recuperar un producto por su id.
Request
curl --location 'https://test.fiscalapi.com/api/v4/products/b2e8dba2-5986-426b-8c1b-6657c0cecbf7' \
--header 'X-TENANT-KEY: <tenant>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api_key>'
Response
{
"data": {
"description": "Consulta Medica",
"unitPrice": 1250.000000,
"satUnitMeasurementId": "HUR",
"satUnitMeasurement": {
"id": "HUR",
"description": "Hora",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satTaxObjectId": "02",
"satTaxObject": {
"id": "02",
"description": "Sí objeto de impuesto.",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satProductCodeId": "93141808",
"satProductCode": {
"id": "93141808",
"description": "Servicios de seguridad o salud ocupacional",
"createdAt": "2025-01-07T08:24:19.9000000",
"updatedAt": null
},
"productTaxes": [
{
"productId": "b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"tax": null,
"rate": 0.160000,
"taxFlag": null,
"taxType": null,
"id": "c3601359-07a1-490d-a98d-b7cd0ec0956a",
"createdAt": "2025-01-11T19:09:33.0999529",
"updatedAt": "2025-01-11T19:09:33.0999671"
}
],
"id": "b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"createdAt": "2025-01-11T19:09:33.0993925",
"updatedAt": "2025-01-11T19:09:33.0994226"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Actualizar producto
Este endpoint te permite actualizar un producto por su id. A continuación, se muestra una lista de las propiedades que se incluyen en la solicitud de actualización de productos.
Modelo
- Name
id
- Type
- string
- required
- Description
Identificador único del producto.
- Name
description
- Type
- string
- required
- Description
Descripción o nombre del producto.
- Name
unitPrice
- Type
- number | decimal
- required
- Description
Precio unitario del producto sin impuestos.
- Name
satUnitMeasurementId
- Type
- string?
- expandible
- Description
Código de la unidad de medida. Catálogo del SAT
c_ClaveUnidad
.Default:"H87"
- Name
satTaxObjectId
- Type
- string?
- expandible
- Description
Código que identifica las obligaciones fiscales del producto. Catálogo del SAT
c_ObjetoImp
.Default:"02"
- Name
satProductCodeId
- Type
- string?
- expandible
- Description
Código del producto o servicio. Catálogo del SAT
c_ClaveProdServ
.Default:"01010101"
- Name
productTaxes
- Type
- array of objects (ProductTax)?
Impuestos aplicables al producto.
Default:[IVA 16%]- Name
productId
- Type
- string?
- Description
Id del producto asociado a este impuesto.
- Name
rate
- Type
- decimal | number
- required
- Description
Tasa del impuesto. El valor debe estar entre 0.00000 y 1.000000
p. ej.0.160000
para un 16% de impuesto.
- Name
taxId
- Type
- string
- required
- expandible
- Description
Impuesto. Catálogo del SAT
c_Impuesto
.- Type
- enum:
- Values
- "001""002""003"
- Name
taxFlagId
- Type
- string
- required
- expandible
- Description
Naturaleza del impuesto.
- Type
- enum:
- Values
- "T""R"
- Name
taxTypeId
- Type
- string
- required
- expandible
- Description
Tipo de impuesto.
- Type
- enum:
- Values
- "Tasa""Cuota""Exento"
Request
curl --location --request PUT 'https://test.fiscalapi.com/api/v4/products/b2e8dba2-5986-426b-8c1b-6657c0cecbf7' \
--header 'X-TENANT-KEY: <tenant>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api_key>' \
--data '{
"id":"b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"description": "Servicios fiscales",
"unitCost": 500,
"unitPrice": 1250,
"unitMargin": 2.25,
"satUnitMeasurementId": "E48",
"satTaxObjectId": "02",
"satProductCodeId": "81111500",
"productTaxes": [
{
"taxId": "001",
"rate": 0.100000,
"taxFlagId": "R",
"taxTypeId": "Tasa"
},
{
"taxId": "002",
"rate": 0.160000,
"taxFlagId": "T",
"taxTypeId": "Tasa"
}
]
}'
Response
{
"data": {
"description": "Servicios fiscales",
"unitPrice": 1250,
"satUnitMeasurementId": "HUR",
"satUnitMeasurement": null,
"satTaxObjectId": "02",
"satTaxObject": null,
"satProductCodeId": "81111500",
"satProductCode": null,
"productTaxes": [
{
"productId": "b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"tax": null,
"rate": 0.100000,
"taxFlag": null,
"taxType": null,
"id": "eeeaa514-f060-462f-aa16-c5e0d117757f",
"createdAt": "2025-01-11T19:28:37.5137882",
"updatedAt": "2025-01-11T19:28:37.5138059"
},
{
"productId": "b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"tax": null,
"rate": 0.160000,
"taxFlag": null,
"taxType": null,
"id": "64a5a5e1-9761-44de-b9fb-5f525dce842c",
"createdAt": "2025-01-11T19:28:37.5141926",
"updatedAt": "2025-01-11T19:28:37.5141931"
}
],
"id": "b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"createdAt": "2025-01-11T19:09:33.0993925",
"updatedAt": "2025-01-11T19:28:37.5145404"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Eliminar producto
Este endpoint te permite eliminar un producto por su id.
Request
curl --location --request DELETE 'https://test.fiscalapi.com/api/v4/products/b2e8dba2-5986-426b-8c1b-6657c0cecbf7' \
--header 'X-TENANT-KEY: <tenant>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api_key>'
Response
{
"data": true,
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}