Busca productos activos de la empresa. Puedes filtrar por texto, marca, línea, modelo, producto o código; la ruta devuelve como máximo 100 resultados ordenados por código y nombre.
Parámetros
Nombre
Tipo
Validación
Descripción
buscar
String
Texto que se busca en los datos indexados del producto.
tkLinea
String
Identificador de la línea de productos. Admite varios identificadores separados por comas.
tkMarca
String
Identificador de la marca. Admite varios identificadores separados por comas.
tkModelo
String
Identificador del modelo. Admite varios identificadores separados por comas.
tkProducto
String
Identificador de un producto específico.
buscarCodigo
Integer
Código numérico o fragmento numérico que se busca dentro del código del producto.
Respuesta
Nombre
Tipo
Descripción
indice
Integer
Posición del producto dentro del resultado.
link
String
URL base para acceder a las imágenes del producto.
imagenes
Array<Object>
Imágenes asociadas al producto.
codigo
String
Código del producto.
nombre
String
Nombre del producto.
marca
String
Nombre de la marca. Puede ser null.
tkMarca
String
Identificador de la marca. Puede ser null.
lineaProducto
String
Nombre de la línea de productos. Puede ser null.
tkLinea
String
Identificador de la línea. Puede ser null.
modelo
String
Nombre del modelo. Puede ser null.
tkModelo
String
Identificador del modelo. Puede ser null.
precioMin
Float
Precio mínimo configurado.
costo
Float
Costo del producto.
unidad
String
Unidad de medida del producto.
claveProductoServicio
String
Clave de producto o servicio del SAT. Puede ser null.
descripcionCvp
String
Descripción de la clave de producto o servicio. Puede ser null.
descripcionCorta
String
Descripción corta del producto.
descripcionExtendida
String
Descripción extendida del producto. Puede ser null.
descripcionExtendida2
String
Segunda descripción extendida del producto. Puede ser null.
claveUnidad
String
Clave de unidad del SAT. Puede ser null.
nombreUni
String
Nombre de la unidad. Puede ser null.
anexos
Array<Object>
Anexos asociados al producto. Puede ser null.
nivel
Integer
Nivel del producto en el resultado.
existencia
String
Existencia disponible; puede mostrar Ilimitado.
cantidadExistencia
Float
Cantidad numérica de existencia.
status
Integer
Estado del producto: 1 activo o 0 inactivo.
statusTexto
String
Texto del estado del producto.
tkProducto
String
Identificador del producto.
situacionInventario
Integer
Situación calculada del inventario.
personalizados
String
Campos personalizados serializados como JSON.
metadata
String
Metadatos del producto serializados como JSON. Puede ser null.
lotesNoSePuedenMezclar
Integer
Indica si los lotes no se pueden mezclar.
vendedorConfiguraDetalles
Integer
Indica si el vendedor configura los detalles.
venderSinExistencia
Integer
Indica si se permite vender sin existencia.
tkAlmacen
String
Identificador del almacén. Puede ser null.
almacen
String
Nombre del almacén. Puede ser null.
bajoPedido
Integer
Indica si el producto se maneja bajo pedido.
existenciaAlmacen
Float
Existencia del producto en el almacén.
situacionExistencia
Integer
Situación de la existencia en el almacén.
proveedorPredeterminado
String
Proveedor predeterminado. Puede ser null.
esKit
Integer
Indica si el producto es un kit.
requiereSerie
Integer
Indica si requiere número de serie.
requiereLote
Integer
Indica si requiere lote.
requiereCaducidad
Integer
Indica si requiere fecha de caducidad.
requierePedimento
Integer
Indica si requiere pedimento.
Solicitud
Buscar productos por texto y marca
curl --request GET \
--url 'https://api.upnify.com/v4/catalogos/productos/buscar?buscar=camisa&tkMarca=MAR-00000000-0000-4000-8000-000000000011' \
--header 'token: 00000000-0000-4000-8000-000000000001'const url = new URL("https://api.upnify.com/v4/catalogos/productos/buscar");
url.searchParams.set("buscar", "camisa");
url.searchParams.set("tkMarca", "MAR-00000000-0000-4000-8000-000000000011");
const response = await fetch(url, {
headers: { token: "00000000-0000-4000-8000-000000000001" },
});
console.log(await response.json());// Node.js 18 o posterior
const url = new URL("https://api.upnify.com/v4/catalogos/productos/buscar");
url.searchParams.set("buscar", "camisa");
url.searchParams.set("tkMarca", "MAR-00000000-0000-4000-8000-000000000011");
const response = await fetch(url, {
headers: { token: "00000000-0000-4000-8000-000000000001" },
});
console.log(await response.json());import requests
response = requests.get(
"https://api.upnify.com/v4/catalogos/productos/buscar",
params={"buscar": "camisa", "tkMarca": "MAR-00000000-0000-4000-8000-000000000011"},
headers={"token": "00000000-0000-4000-8000-000000000001"},
)
response.raise_for_status()
print(response.json())package main
import (
"encoding/json"
"net/http"
"net/url"
)
func main() {
endpoint, _ := url.Parse("https://api.upnify.com/v4/catalogos/productos/buscar")
query := endpoint.Query()
query.Set("buscar", "camisa")
query.Set("tkMarca", "MAR-00000000-0000-4000-8000-000000000011")
endpoint.RawQuery = query.Encode()
request, err := http.NewRequest(http.MethodGet, endpoint.String(), nil)
if err != nil { panic(err) }
request.Header.Set("token", "00000000-0000-4000-8000-000000000001")
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
var resultado any
if err := json.NewDecoder(response.Body).Decode(&resultado); err != nil { panic(err) }
}using System.Net.Http;
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("token", "00000000-0000-4000-8000-000000000001");
using var response = await client.GetAsync("https://api.upnify.com/v4/catalogos/productos/buscar?buscar=camisa&tkMarca=MAR-00000000-0000-4000-8000-000000000011");
response.EnsureSuccessStatusCode();
var resultado = await response.Content.ReadAsStringAsync();