La recuperación de precios de productos en Zoho CRM se realiza llamando al endpoint de Listas de Precios para un producto específico, que devuelve todos los niveles de precios asociados a ese registro de producto.
Por qué esto es importante
Cuando gestionas un catálogo de productos en Zoho CRM, a distintos clientes o canales se les pueden asignar diferentes listas de precios. Poder obtener de forma programática los precios asociados a un producto te permite automatizar presupuestos, validar reglas de precios o mostrar el precio correcto en sistemas externos — sin necesidad de navegar manualmente por la interfaz del CRM. Esto resulta especialmente útil para integraciones y paneles personalizados construidos sobre los datos de Zoho CRM.
> Beam Help es un recurso de soporte experto independiente para Zoho — no es el soporte oficial de Zoho.
---
Paso a paso
Paso 1. Asegúrate de que existe una conexión válida con Zoho CRM para el usuario.
Antes de realizar cualquier llamada a la API, el sistema debe recuperar un registro de conexión activo para el usuario autenticado. La búsqueda de la conexión consulta las credenciales almacenadas y, si el token de acceso está a menos de 120 segundos de expirar, lo renueva automáticamente usando el token de actualización almacenado — para que nunca encuentres un error 401 a mitad de una solicitud. [8]
Paso 2. Obtén una instancia de la API de Zoho CRM.
Pasa el userid y apptype="crm" a la función de fábrica de la API. Esto configura el callback de renovación de tokens para que cualquier llamada posterior pueda renovar las credenciales de forma silenciosa si es necesario. Si no se encuentra ningún registro de conexión, la función devuelve None y debes solicitar al usuario que vuelva a conectar su cuenta de Zoho. [1]
Paso 3. Identifica el product_id que deseas consultar.
Cada producto en Zoho CRM tiene un ID de registro único. Puedes obtenerlo a partir de una búsqueda previa de productos, de los elementos de línea de un trato, o directamente desde la URL del CRM al visualizar el registro del producto. El ID es una cadena numérica y es obligatorio como parámetro de ruta en el siguiente paso. [2]
Paso 4. Llama al endpoint de Listas de Precios.
Realiza una solicitud GET a la siguiente ruta, sustituyendo el ID del producto:
GET /Products/{product_id}/Price_Books
El nombre de la operación para este endpoint es getproductpricing, y acepta un único parámetro — product_id. La implementación subyacente construye la solicitud de la siguiente manera:
self.c.request("GET", f"/Products/{product_id}/Price_Books")
Esto devuelve los datos de la lista de precios asociada a ese producto. [2]
Paso 5. Gestiona la respuesta y construye los enlaces a los registros.
Una vez que la API devuelve un resultado, puedes generar opcionalmente enlaces directos de acceso rápido a la interfaz de Zoho CRM. El constructor de enlaces utiliza la configuración del centro de datos del usuario (p. ej., com, eu, in) y el ID de la organización para construir URLs con el siguiente formato:
https://crm.zoho.{dc}/crm/tab/{Module}/{RecordId}
Esto te permite presentar referencias clicables al producto o a los registros de la lista de precios junto con los datos de precios sin procesar. [4]
---
Errores comunes
- Tokens ausentes o expirados. Si
getzohoconnectiondevuelveNone, las credenciales OAuth del usuario no están almacenadas o han sido revocadas. La solución es volver a ejecutar el flujo de autorización OAuth y almacenar un nuevo token de actualización. El sistema renueva los tokens de forma proactiva 120 segundos antes de su expiración para reducir este riesgo, pero un token completamente revocado no puede recuperarse de forma automática. [8]
apptypeincorrecto. El endpoint de Listas de Precios pertenece a Zoho CRM, no a Zoho Desk. Siempre pasaapptype="crm"al inicializar la instancia de la API. Pasar"desk"enrutará la solicitud al cliente de Desk, que tiene una URL base y una estructura de cabecera de autenticación completamente diferentes, y la llamada fallará. [1]
product_idinválido o incorrecto. El parámetro de ruta debe ser el ID de registro del CRM del producto, no su nombre ni SKU. Pasar un ID inexistente dará como resultado una respuesta vacía o de error por parte de la API. Verifica el ID en el registro del producto en el CRM antes de llamar al endpoint. [2]
---
Qué verificar
- Validez del token: Confirma que
getzohoconnectiondevuelve un resultado distinto deNoney quetokenexpiresatestá en el futuro antes de realizar la llamada de precios. [8] - ID de producto correcto: Verifica que el
product_idcorresponda a un registro existente en Productos dentro de tu organización de Zoho CRM — una búsqueda rápida en la interfaz del CRM o mediante una llamada de búsqueda previa lo confirmará. [2] - Estructura de la respuesta: Asegúrate de que el payload devuelto contiene las entradas de lista de precios esperadas; un array
datavacío puede significar que el producto no tiene listas de precios asignadas, no que la llamada haya fallado. [2]