Beam Help
Richiedi supporto

How-to · Zoho CRM

Come recuperare i report in Zoho

Recupera dati e configurazioni dei report in modo programmatico.

Il recupero dei report in Zoho tramite API prevede l'autenticazione della connessione, la chiamata allo strumento di lettura appropriato e il seguimento dei link di risposta verso i record pertinenti nella tua applicazione Zoho.


Perché è importante


Quando hai bisogno di estrarre dati dai report in modo programmatico — per dashboard, audit o flussi di lavoro automatizzati — comprendere come funziona la pipeline di recupero consente di risparmiare molto tempo nel debug. Che tu stia lavorando con Zoho CRM o Zoho Desk, il pattern di base relativo alla gestione dei token, all'esecuzione degli strumenti e alla generazione dei link è coerente. In qualità di supporto esperto indipendente (non supporto ufficiale Zoho), Beam Help ti guida attraverso ogni fase in modo che tu possa adattarla al tuo ambiente.


Procedura passo dopo passo


Passaggio 1. Stabilisci e verifica la tua connessione Zoho.


Prima che qualsiasi dato di report possa essere recuperato, il sistema deve risolvere una connessione valida per il tuo account utente. La funzione getzohoapi cerca il record di connessione memorizzato e, se il token di accesso è scaduto, chiama automaticamente ZohoOAuth.refreshtokens utilizzando il refresh token memorizzato, quindi salva il nuovo token di accesso nel database. [8] Assicurati che il tuo record zohoconnections contenga un refreshtoken valido e che il campo apidomain sia popolato correttamente. [8]


Passaggio 2. Conferma che gli scope OAuth corretti siano autorizzati.


Per il recupero dei report di Zoho CRM, il tuo grant OAuth deve includere scope come ZohoCRM.coql.READ e ZohoCRM.org.ALL. Per Zoho Desk, l'accesso in lettura a ticket, contatti e ricerca richiede scope tra cui Desk.tickets.READ, Desk.contacts.READ e Desk.search.READ. [7] Se uno scope richiesto è assente, la chiamata API fallirà silenziosamente o restituirà un errore di autorizzazione — ri-autorizza la connessione con l'elenco completo degli scope definiti nella tua configurazione. [7]


Passaggio 3. Identifica il tipo di app e il nome dello strumento corretti.


Quando si invia una query, il sistema esamina il messaggio e il parametro apptype (che può essere "crm" o "desk") per decidere quale strumento invocare. Per le query di report in stile conteggio record, lo strumento risolto è getrecordcount. [2] Per operazioni di lettura più ampie, il livello di pianificazione itera su un elenco di azioni, chiamando executetoolwithrepair per ciascuna con il nome dello strumento e i relativi parametri. [6] Verifica che il valore di apptype corrisponda al prodotto Zoho che stai interrogando, poiché il client API istanziato differisce tra CRM e Desk. [8]


Passaggio 4. Esegui lo strumento e acquisisci il risultato.


La chiamata di esecuzione dello strumento passa la tua istanza api, apptype, il nome tool risolto e un dizionario params (che dovrebbe includere una chiave module dove pertinente) a executetoolwithrepair. [6] La funzione restituisce un oggetto di output; estrai il risultato tramite execout.get("result") e il nome dello strumento risolto finale tramite execout.get("tool"). [2] Se lo strumento restituisce una chiave clarifyingquestion invece di un risultato, il sistema si mette in pausa e presenta quella domanda all'utente prima di procedere. [6]


Passaggio 5. Costruisci i link diretti ai record recuperati.


Una volta disponibile un toolresult non vuoto, passalo insieme al nome dello strumento, ai params, ad apptype, al codice del data center (dc) e agli identificatori org/portale a buildzoholinks. [3] Questa funzione costruisce URL di deep link usando il pattern https://crm.zoho.{dc}/crm/tab/{Module}/{RecordId} per i record CRM e https://desk.zoho.{dc}/agent/{portal}/tickets/details/{TicketId} per i ticket Desk. [3] Il valore dc è predefinito su "com" ma deve essere impostato sul tuo data center effettivo (ad es. "eu", "au") se il tuo account è ospitato al di fuori degli Stati Uniti. [3]


Passaggio 6. Esamina il payload di risposta completo.


L'oggetto di risposta finale restituito al chiamante include sessionid, response (la risposta leggibile dall'utente), i conteggi token usage, toolresult (i dati API grezzi) e un array links contenente coppie nome/URL per ciascun record recuperato. [4] In modalità streaming, gli stessi campi vengono emessi progressivamente, con messaggi di stato come "Calling Zoho tool: getrecordcount..." inviati prima dell'arrivo dei dati. [2] Salva l'array links se hai bisogno di presentare riferimenti cliccabili "Apri in Zoho" insieme all'output del report. [1]


Errori comuni


  • ID org mancante per Zoho Desk. Se deskorgid è vuoto, il client tenta di scoprirlo automaticamente chiamando getallorganizations e salvando il primo risultato. [8] Se anche questa chiamata di discovery fallisce (ad es. a causa di uno scope mancante), le successive chiamate ai report Desk mancheranno del contesto organizzativo richiesto.
  • Codice del data center errato. Il campo dc guida tutta la costruzione degli URL. Una mancata corrispondenza (ad es. lasciarlo come "com" quando il tuo account è su "eu") produce deep link dall'aspetto valido ma irraggiungibili. [3]
  • Scope mancanti che causano errori silenziosi. L'elenco degli scope OAuth è lungo e specifico per prodotto. [7] Uno scope READ mancante sul modulo di destinazione non sempre si manifesta come un errore evidente — verifica gli scope prima di presumere che lo strumento stesso sia difettoso.
  • Domanda di chiarimento che interrompe il flusso. Se l'esecuzione dello strumento restituisce una clarifying_question, la pipeline si interrompe e l'utilizzo viene tracciato ma non vengono restituiti dati del report. [6] Gestisci questo stato esplicitamente nella tua integrazione in modo che l'utente venga sollecitato anziché ricevere un risultato vuoto.

Cosa verificare


  • Verifica che il tuo record di connessione memorizzato contenga un refreshtoken non scaduto e i valori corretti di apidomain e dc. [8]
  • Conferma che tutti gli scope OAuth richiesti — in particolare ZohoCRM.coql.READ per CRM o Desk.search.READ per Desk — siano presenti nel tuo grant autorizzato. [7]
  • Dopo il recupero, esamina l'array links nella risposta per confermare che gli URL dei record rimandino al modulo e al data center previsti. [3]

Sources cited

  1. [1] server.py: chat
  2. [2] server.py: chat_stream
  3. [3] server.py: build_zoho_links
  4. [4] server.py: chat_plan
  5. [5] server.py: chat_plan_stream
  6. [6] config.py
  7. [7] server.py: get_zoho_api
Recuperare i Report in Zoho | Beam Help — Beam Help