API de Wizerp
API de servidor a servidor de Wizerp. Todo va en JSON y todo está acotado a tu empresa.
La empresa sale de tu llave: no es un parámetro, no se puede pasar y no hay forma de leer datos de otra.
Esta API no se llama desde el navegador. Una petición con la cabecera Origin, con ?sid= o con x-csrf-mexerp se rechaza con 400.
https://api.wizerp.com/api/v1
Autenticación
Van las dos cabeceras, en toda llamada.
| Cabecera | Ejemplo | Qué es |
|---|---|---|
Authorization |
Bearer wzk_live_… |
El secreto completo de la llave. |
X-Wizerp-Key-Id |
208_a3f91c7d |
El identificador público. Van las dos: sin ésta la petición falla con 401 aunque el secreto sea correcto. |
Topes y reintentos
Los topes son por empresa, no por llave: tener tres llaves no te da el triple.
Al pasarte recibes 429 con la cabecera Retry-After — espera esos
segundos y reintenta, no de inmediato. Si tu empresa tiene demasiadas peticiones en curso a la
vez recibes 503 ocupado, también con Retry-After.
Si vas a consultar seguido, no preguntes en bucle: pide que te avisemos. Hablar con soporte sale más barato que chocar contra el tope todos los días.
Errores
Todos tienen la misma forma. El campo peticion es lo que hay que pegar en un
correo a soporte: con eso lo encontramos en el registro.
| HTTP | Cuándo |
|---|---|
| 400 | Petición mal formada: filtro no permitido, filtro vacío, cursor o límite inválidos, o una cabecera de navegador |
| 401 | La llave no es válida, está revocada, venció, o la empresa dejó de ser PRO |
| 403 | La llave no tiene el permiso que pide esta operación |
| 404 | La ruta no existe, o tu empresa no tiene la API habilitada |
| 405 | Método equivocado para esta ruta. La respuesta trae la cabecera Allow |
| 409 | Misma Idempotency-Key con datos distintos |
| 413 | El cuerpo pasa del máximo |
| 422 | Un dato no es válido para tu empresa |
| 429 | Pasaste un tope. La respuesta trae Retry-After |
| 500 | Falló de nuestro lado. Reintenta y reporta el valor de peticion |
| 503 | Tu empresa tiene demasiadas peticiones en curso, o la búsqueda no está disponible. Trae Retry-After |
Comprobar que la API responde
# Comprobar que la API responde GET https://api.wizerp.com/api/v1/health No necesita llave y no toca la base de datos: dice que el proceso está vivo y sirviendo, no que la base conteste.
https://api.wizerp.com/api/v1/health
https://api.wizerp.com/api/v1/health
No necesita llave y no toca la base de datos: dice que el proceso está vivo y sirviendo, no que la base conteste.
Respuestas
Registrar un prospecto
# Registrar un prospecto POST https://api.wizerp.com/api/v1/leads Crea una ficha de prospecto en el CRM. Necesita nombre o empresa, y correo o teléfono. Los datos van en el cuerpo JSON, nunca en la URL. Manda la cabecera Idempotency-Key para poder reintentar sin duplicar: con la misma clave y los mismos datos se devuelve la respuesta guardada, byte por byte. Permiso: leads:write ## Cuerpo JSON - `nombre` (texto): Máximo 100. Se necesita éste o «empresa». - `empresa` (texto): Máximo 200. - `correo` (texto): Máximo 50. Se necesita éste o «telefono». - `telefono` (texto): Máximo 30. - `mensaje` (texto): Máximo 2000. - `vendedor` (entero): Clave del vendedor al que se asigna.
https://api.wizerp.com/api/v1/leads
https://api.wizerp.com/api/v1/leads
Crea una ficha de prospecto en el CRM. Necesita nombre o empresa, y correo o teléfono. Los datos van en el cuerpo JSON, nunca en la URL.
Manda la cabecera Idempotency-Key para poder reintentar sin duplicar: con la misma clave y los mismos datos se devuelve la respuesta guardada, byte por byte.
Requiere el permiso leads:write en la llave
Cuerpo JSON
nombre
texto
Máximo 100. Se necesita éste o «empresa».
empresa
texto
Máximo 200.
correo
texto
Máximo 50. Se necesita éste o «telefono».
telefono
texto
Máximo 30.
mensaje
texto
Máximo 2000.
vendedor
entero
Clave del vendedor al que se asigna.
Respuestas
Lista de clientes
# Lista de clientes GET https://api.wizerp.com/api/v1/clientes Devuelve los registros de tu empresa, paginados por cursor. Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en `cursor` el valor que vino en `siguiente`, hasta que `hay_mas` sea false. No hay conteo total: contar millones de filas cuesta lo mismo que traerlas. Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste. El campo correo puede traer varias direcciones separadas por coma y recortadas: el filtro correo compara el campo completo, así que no encuentra a un cliente por su segunda dirección. Permiso: clientes:read ## Query params - `cursor` (texto): La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio. - `limite` (entero): Registros por página. Omisión 100, máximo 500. - `clave` (entero): Número entero. - `folio` (texto): Coincidencia exacta. No admite comodines. - `correo` (texto): Correo exacto. Se compara normalizado: no distingue mayúsculas ni espacios de sobra. - `telefono` (texto): Se comparan los últimos 10 caracteres tras quitar espacios, guiones, paréntesis y el signo de más. Manda el número como lo tengas. - `movil` (texto): Se comparan los últimos 10 caracteres tras quitar espacios, guiones, paréntesis y el signo de más. Manda el número como lo tengas. - `rfc` (texto): Coincidencia exacta. No admite comodines. - `prospecto` (booleano): true o false. - `publico` (booleano): true o false. - `id_mercadolibre` (texto): Coincidencia exacta. No admite comodines. - `id_shopify` (texto): Coincidencia exacta. No admite comodines. - `id_woocommerce` (texto): Coincidencia exacta. No admite comodines. - `id_tiendanube` (texto): Coincidencia exacta. No admite comodines. - `id_walmart` (texto): Coincidencia exacta. No admite comodines. - `uso_cfdi` (texto): La clave del SAT, por ejemplo G03. No el identificador interno de Wizerp. - `modificado_desde` (texto): Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior. - `proximo_contacto_desde` (texto): Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior. - `proximo_contacto_hasta` (texto): Fecha ISO 8601 en UTC. Devuelve lo que sea igual o anterior.
https://api.wizerp.com/api/v1/clientes
https://api.wizerp.com/api/v1/clientes
Devuelve los registros de tu empresa, paginados por cursor.
Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en cursor el valor que vino en siguiente, hasta que hay_mas sea false.
No hay conteo total: contar millones de filas cuesta lo mismo que traerlas.
Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste.
El campo correo puede traer varias direcciones separadas por coma y recortadas: el filtro correo compara el campo completo, así que no encuentra a un cliente por su segunda dirección.
Requiere el permiso clientes:read en la llave
Peticiones recientes · de esta consola, solo en esta pestaña
| Hora | Estado | Duración | Acciones |
|---|---|---|---|
| Prueba esta consulta para ver aquí tu historial. | |||
Query Params
cursor
texto
La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio.
limite
entero
Registros por página. Omisión 100, máximo 500.
clave
entero
Número entero.
folio
texto
Coincidencia exacta. No admite comodines.
correo
texto
Correo exacto. Se compara normalizado: no distingue mayúsculas ni espacios de sobra.
telefono
texto
Se comparan los últimos 10 caracteres tras quitar espacios, guiones, paréntesis y el signo de más. Manda el número como lo tengas.
movil
texto
Se comparan los últimos 10 caracteres tras quitar espacios, guiones, paréntesis y el signo de más. Manda el número como lo tengas.
rfc
texto
Coincidencia exacta. No admite comodines.
prospecto
booleano
true o false.
publico
booleano
true o false.
id_mercadolibre
texto
Coincidencia exacta. No admite comodines.
id_shopify
texto
Coincidencia exacta. No admite comodines.
id_woocommerce
texto
Coincidencia exacta. No admite comodines.
id_tiendanube
texto
Coincidencia exacta. No admite comodines.
id_walmart
texto
Coincidencia exacta. No admite comodines.
uso_cfdi
texto
La clave del SAT, por ejemplo G03. No el identificador interno de Wizerp.
modificado_desde
texto
Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior.
proximo_contacto_desde
texto
Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior.
proximo_contacto_hasta
texto
Fecha ISO 8601 en UTC. Devuelve lo que sea igual o anterior.
Respuestas
Lista de productos
# Lista de productos GET https://api.wizerp.com/api/v1/productos Devuelve los registros de tu empresa, paginados por cursor. Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en `cursor` el valor que vino en `siguiente`, hasta que `hay_mas` sea false. No hay conteo total: contar millones de filas cuesta lo mismo que traerlas. Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste. Los productos eliminados no se devuelven salvo que pidas estatus=eliminado. Permiso: productos:read ## Query params - `cursor` (texto): La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio. - `limite` (entero): Registros por página. Omisión 100, máximo 500. - `clave` (entero): Número entero. - `sku` (texto): Coincidencia exacta. No admite comodines. - `folio` (entero): Número entero. - `estatus` (texto): Uno de los valores de la lista. Valores: activo, inactivo, eliminado. - `tipo` (texto): Uno de los valores de la lista. Valores: normal, virtual_con_precio, virtual_sin_precio, gasto. - `subtipo` (texto): Uno de los valores de la lista. Valores: terminado, componente, materia_prima. - `kit` (booleano): true o false. - `codigo_sat` (texto): Coincidencia exacta. No admite comodines. - `id_shopify` (texto): Coincidencia exacta. No admite comodines. - `marca` (texto): El nombre tal como aparece en el catálogo, no su identificador. - `categoria` (texto): El nombre tal como aparece en el catálogo, no su identificador. - `sku_padre` (texto): El código del producto. Si el SKU corresponde a varios productos, se devuelven las filas de todos. - `buscar` (texto): Búsqueda de texto. Mínimo 3 caracteres en al menos una palabra; las más cortas se descartan. No admite comodines. - `modificado_desde` (texto): Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior.
https://api.wizerp.com/api/v1/productos
https://api.wizerp.com/api/v1/productos
Devuelve los registros de tu empresa, paginados por cursor.
Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en cursor el valor que vino en siguiente, hasta que hay_mas sea false.
No hay conteo total: contar millones de filas cuesta lo mismo que traerlas.
Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste.
Los productos eliminados no se devuelven salvo que pidas estatus=eliminado.
Requiere el permiso productos:read en la llave
Peticiones recientes · de esta consola, solo en esta pestaña
| Hora | Estado | Duración | Acciones |
|---|---|---|---|
| Prueba esta consulta para ver aquí tu historial. | |||
Query Params
cursor
texto
La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio.
limite
entero
Registros por página. Omisión 100, máximo 500.
clave
entero
Número entero.
sku
texto
Coincidencia exacta. No admite comodines.
folio
entero
Número entero.
estatus
texto
Uno de los valores de la lista.
Valores:
activo inactivo eliminado
tipo
texto
Uno de los valores de la lista.
Valores:
normal virtual_con_precio virtual_sin_precio gasto
subtipo
texto
Uno de los valores de la lista.
Valores:
terminado componente materia_prima
kit
booleano
true o false.
codigo_sat
texto
Coincidencia exacta. No admite comodines.
id_shopify
texto
Coincidencia exacta. No admite comodines.
marca
texto
El nombre tal como aparece en el catálogo, no su identificador.
categoria
texto
El nombre tal como aparece en el catálogo, no su identificador.
sku_padre
texto
El código del producto. Si el SKU corresponde a varios productos, se devuelven las filas de todos.
buscar
texto
Búsqueda de texto. Mínimo 3 caracteres en al menos una palabra; las más cortas se descartan. No admite comodines.
modificado_desde
texto
Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior.
Respuestas
Lista de proveedores
# Lista de proveedores GET https://api.wizerp.com/api/v1/proveedores Devuelve los registros de tu empresa, paginados por cursor. Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en `cursor` el valor que vino en `siguiente`, hasta que `hay_mas` sea false. No hay conteo total: contar millones de filas cuesta lo mismo que traerlas. Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste. Los registros eliminados no se devuelven salvo que pidas estatus=eliminado. Permiso: proveedores:read ## Query params - `cursor` (texto): La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio. - `limite` (entero): Registros por página. Omisión 100, máximo 500. - `clave` (entero): Número entero. - `folio` (texto): Coincidencia exacta. No admite comodines. - `estatus` (texto): Uno de los valores de la lista. Valores: activo, inactivo, eliminado. - `rfc` (texto): Coincidencia exacta. No admite comodines. - `nombre` (texto): Búsqueda de texto. Mínimo 3 caracteres en al menos una palabra; las más cortas se descartan. No admite comodines.
https://api.wizerp.com/api/v1/proveedores
https://api.wizerp.com/api/v1/proveedores
Devuelve los registros de tu empresa, paginados por cursor.
Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en cursor el valor que vino en siguiente, hasta que hay_mas sea false.
No hay conteo total: contar millones de filas cuesta lo mismo que traerlas.
Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste.
Los registros eliminados no se devuelven salvo que pidas estatus=eliminado.
Requiere el permiso proveedores:read en la llave
Peticiones recientes · de esta consola, solo en esta pestaña
| Hora | Estado | Duración | Acciones |
|---|---|---|---|
| Prueba esta consulta para ver aquí tu historial. | |||
Query Params
cursor
texto
La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio.
limite
entero
Registros por página. Omisión 100, máximo 500.
clave
entero
Número entero.
folio
texto
Coincidencia exacta. No admite comodines.
estatus
texto
Uno de los valores de la lista.
Valores:
activo inactivo eliminado
rfc
texto
Coincidencia exacta. No admite comodines.
nombre
texto
Búsqueda de texto. Mínimo 3 caracteres en al menos una palabra; las más cortas se descartan. No admite comodines.
Respuestas
Lista de existencias
# Lista de existencias GET https://api.wizerp.com/api/v1/inventario Devuelve los registros de tu empresa, paginados por cursor. Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en `cursor` el valor que vino en `siguiente`, hasta que `hay_mas` sea false. No hay conteo total: contar millones de filas cuesta lo mismo que traerlas. Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste. Puede devolver existencias de productos que ya no están activos: una existencia es un hecho sobre el almacén, no sobre el ciclo de vida del producto. Si sincronizas catálogo, cruza contra GET /productos. El campo apartado viene con signo y el ERP calcula el disponible como existencia menos el valor absoluto de apartado, con piso en minimo. No restes de frente o puedes ofrecer lo que Wizerp no vende. Permiso: inventario:read ## Query params - `cursor` (texto): La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio. - `limite` (entero): Registros por página. Omisión 100, máximo 500. - `clave` (entero): Número entero. - `sku` (texto): El código del producto. Si el SKU corresponde a varios productos, se devuelven las filas de todos. - `almacen` (texto): El código de tres caracteres del almacén. Consúltalos en GET /almacenes. - `sucursal` (entero): Número entero. - `modificado_desde` (texto): Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior.
https://api.wizerp.com/api/v1/inventario
https://api.wizerp.com/api/v1/inventario
Devuelve los registros de tu empresa, paginados por cursor.
Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en cursor el valor que vino en siguiente, hasta que hay_mas sea false.
No hay conteo total: contar millones de filas cuesta lo mismo que traerlas.
Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste.
Puede devolver existencias de productos que ya no están activos: una existencia es un hecho sobre el almacén, no sobre el ciclo de vida del producto. Si sincronizas catálogo, cruza contra GET /productos.
El campo apartado viene con signo y el ERP calcula el disponible como existencia menos el valor absoluto de apartado, con piso en minimo. No restes de frente o puedes ofrecer lo que Wizerp no vende.
Requiere el permiso inventario:read en la llave
Peticiones recientes · de esta consola, solo en esta pestaña
| Hora | Estado | Duración | Acciones |
|---|---|---|---|
| Prueba esta consulta para ver aquí tu historial. | |||
Query Params
cursor
texto
La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio.
limite
entero
Registros por página. Omisión 100, máximo 500.
clave
entero
Número entero.
sku
texto
El código del producto. Si el SKU corresponde a varios productos, se devuelven las filas de todos.
almacen
texto
El código de tres caracteres del almacén. Consúltalos en GET /almacenes.
sucursal
entero
Número entero.
modificado_desde
texto
Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior.
Respuestas
Lista de almacenes
# Lista de almacenes GET https://api.wizerp.com/api/v1/almacenes Devuelve los registros de tu empresa, paginados por cursor. Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en `cursor` el valor que vino en `siguiente`, hasta que `hay_mas` sea false. No hay conteo total: contar millones de filas cuesta lo mismo que traerlas. Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste. Los registros eliminados no se devuelven salvo que pidas estatus=eliminado. Permiso: inventario:read ## Query params - `cursor` (texto): La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio. - `limite` (entero): Registros por página. Omisión 100, máximo 500. - `clave` (entero): Número entero. - `codigo` (texto): Coincidencia exacta. No admite comodines. - `sucursal` (entero): Número entero. - `principal` (booleano): true o false. - `estatus` (texto): Uno de los valores de la lista. Valores: activo, inactivo, eliminado.
https://api.wizerp.com/api/v1/almacenes
https://api.wizerp.com/api/v1/almacenes
Devuelve los registros de tu empresa, paginados por cursor.
Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en cursor el valor que vino en siguiente, hasta que hay_mas sea false.
No hay conteo total: contar millones de filas cuesta lo mismo que traerlas.
Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste.
Los registros eliminados no se devuelven salvo que pidas estatus=eliminado.
Requiere el permiso inventario:read en la llave
Peticiones recientes · de esta consola, solo en esta pestaña
| Hora | Estado | Duración | Acciones |
|---|---|---|---|
| Prueba esta consulta para ver aquí tu historial. | |||
Query Params
cursor
texto
La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio.
limite
entero
Registros por página. Omisión 100, máximo 500.
clave
entero
Número entero.
codigo
texto
Coincidencia exacta. No admite comodines.
sucursal
entero
Número entero.
principal
booleano
true o false.
estatus
texto
Uno de los valores de la lista.
Valores:
activo inactivo eliminado
Respuestas
Lista de ventas
# Lista de ventas GET https://api.wizerp.com/api/v1/ventas Devuelve los registros de tu empresa, paginados por cursor. Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en `cursor` el valor que vino en `siguiente`, hasta que `hay_mas` sea false. No hay conteo total: contar millones de filas cuesta lo mismo que traerlas. Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste. Aquí viven TODOS los documentos de venta: remisiones, facturas, cotizaciones, pedidos y anticipos. Sin el filtro tipo se devuelven las ventas (tipo=venta; remision es sinónimo). Para los demás pide ese tipo: cada tipo se pagina por separado, no hay un listado de todos a la vez. En pedidos, surtido_estatus y monto_surtido traen el avance del surtido; en los demás tipos vienen null. No hay filtro por surtido. Los documentos cancelados no salen salvo que pidas cancelada=true. El filtro folio busca en el folio del tipo consultado: el mismo número puede existir como venta y como factura. Si filtras por fechas, el rango máximo es de 92 días: para un periodo mayor, pide por ventanas y recorre cada una con cursor. Los renglones de un documento se consultan en GET /ventas-renglones con la clave que devuelve esta lista. Permiso: ventas:read ## Query params - `cursor` (texto): La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio. - `limite` (entero): Registros por página. Omisión 100, máximo 500. - `clave` (entero): Número entero. - `tipo` (texto): Uno de los valores de la lista. Valores: remision, venta, factura, cotizacion, pedido, anticipo. - `folio` (entero): El número de folio del documento. El folio se busca según el «tipo» consultado: el mismo número puede existir como venta y como factura. - `cliente` (entero): Número entero. - `cancelada` (booleano): true devuelve solo documentos cancelados; false, solo vigentes. Sin este filtro, los cancelados no salen. - `fecha_desde` (texto): Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior. - `fecha_hasta` (texto): Fecha ISO 8601 en UTC. Devuelve lo que sea igual o anterior. - `sucursal` (entero): Número entero. - `sku` (texto): El código del producto. Devuelve los documentos que incluyen ese SKU en sus renglones. Si el SKU corresponde a varios productos, cuentan todos.
https://api.wizerp.com/api/v1/ventas
https://api.wizerp.com/api/v1/ventas
Devuelve los registros de tu empresa, paginados por cursor.
Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en cursor el valor que vino en siguiente, hasta que hay_mas sea false.
No hay conteo total: contar millones de filas cuesta lo mismo que traerlas.
Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste.
Aquí viven TODOS los documentos de venta: remisiones, facturas, cotizaciones, pedidos y anticipos. Sin el filtro tipo se devuelven las ventas (tipo=venta; remision es sinónimo). Para los demás pide ese tipo: cada tipo se pagina por separado, no hay un listado de todos a la vez.
En pedidos, surtido_estatus y monto_surtido traen el avance del surtido; en los demás tipos vienen null. No hay filtro por surtido.
Los documentos cancelados no salen salvo que pidas cancelada=true.
El filtro folio busca en el folio del tipo consultado: el mismo número puede existir como venta y como factura.
Si filtras por fechas, el rango máximo es de 92 días: para un periodo mayor, pide por ventanas y recorre cada una con cursor.
Los renglones de un documento se consultan en GET /ventas-renglones con la clave que devuelve esta lista.
Requiere el permiso ventas:read en la llave
Peticiones recientes · de esta consola, solo en esta pestaña
| Hora | Estado | Duración | Acciones |
|---|---|---|---|
| Prueba esta consulta para ver aquí tu historial. | |||
Query Params
cursor
texto
La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio.
limite
entero
Registros por página. Omisión 100, máximo 500.
clave
entero
Número entero.
tipo
texto
Uno de los valores de la lista.
Valores:
remision venta factura cotizacion pedido anticipo
folio
entero
El número de folio del documento. El folio se busca según el «tipo» consultado: el mismo número puede existir como venta y como factura.
cliente
entero
Número entero.
cancelada
booleano
true devuelve solo documentos cancelados; false, solo vigentes. Sin este filtro, los cancelados no salen.
fecha_desde
texto
Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior.
fecha_hasta
texto
Fecha ISO 8601 en UTC. Devuelve lo que sea igual o anterior.
sucursal
entero
Número entero.
sku
texto
El código del producto. Devuelve los documentos que incluyen ese SKU en sus renglones. Si el SKU corresponde a varios productos, cuentan todos.
Respuestas
Renglones de una venta
# Renglones de una venta GET https://api.wizerp.com/api/v1/ventas-renglones Devuelve los registros de tu empresa, paginados por cursor. Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en `cursor` el valor que vino en `siguiente`, hasta que `hay_mas` sea false. No hay conteo total: contar millones de filas cuesta lo mismo que traerlas. Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste. El filtro venta es obligatorio: esta consulta devuelve los renglones de UN documento, no un listado general. La clave de la venta la da GET /ventas. El campo sku puede venir null si el producto fue eliminado por completo del catálogo. En renglones de un pedido, cantidad es lo pedido y cantidad_surtida lo ya surtido; en los demás documentos cantidad_surtida trae un eco de la cantidad o cero y no significa nada. Permiso: ventas:read ## Query params - `cursor` (texto): La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio. - `limite` (entero): Registros por página. Omisión 100, máximo 500. - `clave` (entero): Obligatorio. Número entero. - `venta` (entero): Obligatorio. Número entero. - `sku` (texto): El código del producto. Si el SKU corresponde a varios productos, se devuelven las filas de todos.
https://api.wizerp.com/api/v1/ventas-renglones
https://api.wizerp.com/api/v1/ventas-renglones
Devuelve los registros de tu empresa, paginados por cursor.
Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en cursor el valor que vino en siguiente, hasta que hay_mas sea false.
No hay conteo total: contar millones de filas cuesta lo mismo que traerlas.
Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste.
El filtro venta es obligatorio: esta consulta devuelve los renglones de UN documento, no un listado general. La clave de la venta la da GET /ventas.
El campo sku puede venir null si el producto fue eliminado por completo del catálogo.
En renglones de un pedido, cantidad es lo pedido y cantidad_surtida lo ya surtido; en los demás documentos cantidad_surtida trae un eco de la cantidad o cero y no significa nada.
Requiere el permiso ventas:read en la llave
Peticiones recientes · de esta consola, solo en esta pestaña
| Hora | Estado | Duración | Acciones |
|---|---|---|---|
| Prueba esta consulta para ver aquí tu historial. | |||
Query Params
cursor
texto
La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio.
limite
entero
Registros por página. Omisión 100, máximo 500.
clave
entero
obligatorio Número entero.
venta
entero
obligatorio Número entero.
sku
texto
El código del producto. Si el SKU corresponde a varios productos, se devuelven las filas de todos.
Respuestas
Lista de facturas timbradas
# Lista de facturas timbradas GET https://api.wizerp.com/api/v1/facturas Devuelve los registros de tu empresa, paginados por cursor. Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en `cursor` el valor que vino en `siguiente`, hasta que `hay_mas` sea false. No hay conteo total: contar millones de filas cuesta lo mismo que traerlas. Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste. A diferencia de /ventas, esta lista trae TODOS los estatus —también canceladas y con error— porque es el registro de timbrado y su historia completa es el punto. Este es el registro de timbrado: aquí no hay importes. Los montos del documento están en GET /ventas (el campo venta de esta lista es la clave para consultarlo con tipo=factura). Si filtras por fechas, el rango máximo es de 92 días: para un periodo mayor, pide por ventanas y recorre cada una con cursor. Permiso: facturas:read ## Query params - `cursor` (texto): La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio. - `limite` (entero): Registros por página. Omisión 100, máximo 500. - `clave` (entero): Número entero. - `uuid` (texto): El folio fiscal (UUID) completo, 36 caracteres. No distingue mayúsculas. - `venta` (entero): Número entero. - `tipo` (texto): Uno de los valores de la lista. Valores: factura, nota_credito, pago, traslado, embarque, externa. - `estatus` (texto): Uno de los valores de la lista. Valores: vigente, cancelada, en_espera, error. - `fecha_desde` (texto): Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior. - `fecha_hasta` (texto): Fecha ISO 8601 en UTC. Devuelve lo que sea igual o anterior.
https://api.wizerp.com/api/v1/facturas
https://api.wizerp.com/api/v1/facturas
Devuelve los registros de tu empresa, paginados por cursor.
Las consultas devuelven páginas, no listas completas. Pide la siguiente pasando en cursor el valor que vino en siguiente, hasta que hay_mas sea false.
No hay conteo total: contar millones de filas cuesta lo mismo que traerlas.
Sólo se aceptan los filtros documentados. Cualquier otro parámetro contesta 400 filtro_no_permitido; no se ignora en silencio, porque un filtro ignorado hace creer que filtraste.
A diferencia de /ventas, esta lista trae TODOS los estatus —también canceladas y con error— porque es el registro de timbrado y su historia completa es el punto.
Este es el registro de timbrado: aquí no hay importes. Los montos del documento están en GET /ventas (el campo venta de esta lista es la clave para consultarlo con tipo=factura).
Si filtras por fechas, el rango máximo es de 92 días: para un periodo mayor, pide por ventanas y recorre cada una con cursor.
Requiere el permiso facturas:read en la llave
Peticiones recientes · de esta consola, solo en esta pestaña
| Hora | Estado | Duración | Acciones |
|---|---|---|---|
| Prueba esta consulta para ver aquí tu historial. | |||
Query Params
cursor
texto
La clave que vino en «siguiente» de la página anterior. Sin él, empieza por el principio.
limite
entero
Registros por página. Omisión 100, máximo 500.
clave
entero
Número entero.
uuid
texto
El folio fiscal (UUID) completo, 36 caracteres. No distingue mayúsculas.
venta
entero
Número entero.
tipo
texto
Uno de los valores de la lista.
Valores:
factura nota_credito pago traslado embarque externa
estatus
texto
Uno de los valores de la lista.
Valores:
vigente cancelada en_espera error
fecha_desde
texto
Fecha ISO 8601 en UTC, por ejemplo 2026-10-01T00:00:00Z. Devuelve lo que sea igual o posterior.
fecha_hasta
texto
Fecha ISO 8601 en UTC. Devuelve lo que sea igual o anterior.
Respuestas
Generado el 2026-10-09 desde el catálogo de la API.