Beam Help
Solicitar ayuda

How-to · Zoho CRM

Cómo recuperar el horario comercial en Zoho

Obtén la configuración del horario comercial mediante programación.

Recuperar el horario comercial en Zoho CRM es sencillo una vez que tu conexión OAuth está establecida: una única solicitud GET al endpoint de configuración devuelve todos los datos de horario comercial configurados para tu organización.


Por qué esto es importante


El horario comercial impulsa una serie de comportamientos del CRM sensibles al tiempo, incluidos los cálculos de SLA, la programación de flujos de trabajo y las ventanas de disponibilidad de soporte. Si estás creando una integración o auditando tu configuración de Zoho CRM mediante programación, necesitas una forma fiable de extraer estos datos sin navegar por la interfaz cada vez. Comprender la llamada a la API subyacente también resulta útil al automatizar comparaciones de entornos entre organizaciones de sandbox y producción.


Paso a paso


Paso 1. Asegúrate de tener una conexión válida y autenticada con Zoho CRM para el usuario en cuestión. El sistema comprueba si existe una conexión almacenada y actualiza automáticamente el token de acceso si está a menos de 120 segundos de expirar, por lo que no necesitas gestionar la rotación de tokens manualmente antes de realizar la llamada. [1]


Paso 2. Obtén una instancia de ZohoCrmApi vinculada al usuario autenticado. Internamente, esta envuelve un ZohoCrmClient que contiene el apidomain y el accesstoken actual, junto con un callback token_refresher que puede renovar credenciales de forma silenciosa durante la sesión si se encuentra un error 401. [3]


Paso 3. Llama al método de recuperación del horario comercial en la instancia de la API. La operación está mapeada a:


GET /settings/business_hours

En Python, se invoca de la siguiente manera:


def get_business_hours(self):
    return self.c.request("GET", "/settings/business_hours", version=6)

La solicitud apunta a la versión 6 de la API de Zoho CRM, así que asegúrate de que tu cliente no esté codificado de forma fija con un número de versión anterior. [4]


Paso 4. Analiza la respuesta. Una llamada exitosa devuelve un payload JSON que contiene la configuración del horario comercial de tu organización. Si la respuesta contiene una clave error en lugar de la estructura de datos esperada, verifica la validez del token y los permisos de la organización antes de volver a intentarlo. [4]


Paso 5. Si estás ejecutando esto dentro de un entorno de pruebas automatizado, puedes invocar la operación a través del mecanismo de llamada a herramientas publicando en /api/chat con un cuerpo JSON que especifique "tool": "getbusinesshours" y un objeto params vacío. El servidor extrae el resultado de la herramienta de data.tool_result en la respuesta. [5]


---


Errores comunes


  • Registro de conexión obsoleto o inexistente. Si getzohoconnection devuelve None para el user_id dado, la instancia de la API no puede crearse y la llamada fallará silenciosamente. Verifica siempre que el registro de conexión exista en tu base de datos antes de continuar. [1]

  • Versión de API incorrecta. El endpoint de horario comercial se llama explícitamente con version=6. Omitir el parámetro de versión o usar una versión anterior puede devolver un error 404 o una estructura de respuesta inesperada. [4]

  • ID de organización faltante en configuraciones multiproducto. Si tu integración también utiliza Zoho Desk junto con CRM, ten en cuenta que las llamadas a Desk requieren un campo orgid separado (deskorg_id) que es distinto del identificador de organización de CRM. Confundirlos causará errores de autenticación en el producto incorrecto. [3]

  • Expiración del token durante la solicitud. Aunque la capa de conexión actualiza los tokens de forma proactiva 120 segundos antes de su expiración, los trabajos por lotes de larga duración pueden seguir recibiendo un error 401. El callback token_refresher está diseñado para gestionar esto, pero confirma que está correctamente configurado en la instanciación de tu ZohoCrmClient. [^1, ^3]

---


Qué verificar


  • Confirma que el token de acceso es válido verificando que tokenexpiresat esté en el futuro antes de realizar la llamada, o comprobando que la lógica de actualización automática se ejecutó sin errores. [1]
  • Verifica que el dominio de API correcto (api_domain) esté almacenado en el registro de conexión: este valor se devuelve durante el intercambio inicial de tokens OAuth y debe coincidir con el centro de datos en el que está alojada tu organización. [6]
  • Inspecciona la respuesta sin procesar en busca de una clave error; si está presente, compara la descripción del error con tus scopes de OAuth para asegurarte de que el scope de configuración de CRM esté incluido en Config.ZOHO_SCOPES. [^2, ^6]

---


*Beam Help ofrece orientación experta independiente sobre los productos de Zoho y no es el soporte oficial de Zoho. Prueba siempre las llamadas a la API en una organización de sandbox antes de ejecutarlas en producción.*

Sources cited

  1. [1] server.py: get_zoho_connection
  2. [2] zoho_oauth.py
  3. [3] server.py: get_zoho_api
  4. [4] GET /settings/business_hours
  5. [5] run_api_tests.py
  6. [6] server.py: me
Recuperar Horario Comercial | Beam Help — Beam Help