Beam Help
Richiedi supporto

How-to · Zoho CRM

Come recuperare i fornitori in Zoho

Accedi ai record dei fornitori e alle informazioni sui supplier tramite l'API di Zoho.

Il recupero dei fornitori in Zoho CRM richiede una connessione autenticata valida e un access token correttamente aggiornato prima di effettuare qualsiasi chiamata API. Questa guida illustra come il nostro livello di integrazione gestisce questo processo dall'inizio alla fine.


Perché è importante


Quando hai bisogno di estrarre i record dei fornitori da Zoho CRM — per reportistica, sincronizzazione con sistemi esterni o verifica dei dati dei supplier — la tua applicazione deve prima stabilire e mantenere una sessione OAuth attiva. I token scadono e, senza una logica di aggiornamento automatico, le chiamate per il recupero dei fornitori falliranno a metà richiesta con errori 401. Capire come funziona il ciclo di vita della connessione e del token ti aiuta a costruire pipeline di dati affidabili e ininterrotte.


> Nota: Beam Help è un servizio di supporto esperto indipendente per Zoho — non siamo il supporto ufficiale di Zoho.


---


Procedura passo dopo passo


Passaggio 1. Verifica che esista una connessione memorizzata per l'utente.


Prima che possa avvenire qualsiasi recupero di dati, il sistema cerca le credenziali memorizzate dell'utente nella tabella zohoconnections utilizzando il suo userid. Se non viene trovato alcun record, il processo si interrompe immediatamente e restituisce None — il che significa che non è possibile recuperare dati sui fornitori finché l'utente non si autentica. [2]


Passaggio 2. Verifica se l'access token deve essere aggiornato.


Il livello di connessione confronta il timestamp corrente con il valore tokenexpiresat memorizzato, applicando un buffer di aggiornamento anticipato di 120 secondi per ridurre il rischio di scadenza durante una richiesta. Se il token rientra in quella finestra temporale, viene chiamato ZohoOAuth.refreshtokens() utilizzando il refreshtoken memorizzato, quindi il nuovo access_token e la scadenza aggiornata vengono scritti nel database prima di procedere. [2]


Passaggio 3. Crea l'istanza del client API corretto.


Once confermata una connessione valida, viene creato un ZohoCrmClient utilizzando l'apidomain memorizzato, l'accesstoken corrente e un callback token_refresher. Questo callback viene invocato automaticamente se il token scade durante un'operazione di lunga durata — recupera un token aggiornato e aggiorna il database in modo che le chiamate successive rimangano autenticate. [^1, ^4]


Passaggio 4. Conferma che la connessione sia attiva prima di recuperare i record.


Un controllo di connettività leggero — come la chiamata a getcurrentuser() sull'istanza ZohoCrmApi — conferma che le credenziali funzionino correttamente. La risposta dovrebbe includere un array users; se invece è presente una chiave error, la connessione deve essere ristabilita prima di tentare di recuperare i record dei fornitori. [4]


Passaggio 5. Chiama lo strumento appropriato per recuperare i record dei fornitori.


Con un'istanza ZohoCrmApi confermata e autenticata, invoca lo strumento getrecords (o equivalente) puntando al modulo Vendors. Nel livello di integrazione, le chiamate agli strumenti vengono inviate tramite executetoolwithrepair, che accetta l'istanza api, l'apptype (impostato su "crm"), il nome del tool e un dizionario params. Il flag allow_repair=True abilita la correzione automatica dei parametri se la chiamata iniziale fallisce. [^3, ^5]


Passaggio 6. Gestisci il risultato e costruisci eventuali link pertinenti.


Una volta che lo strumento restituisce i dati, il risultato può essere utilizzato per costruire link diretti a Zoho CRM usando metadati come dc (data centre), crmorgid e i parametri dello strumento. Questi valori vengono estratti dal record di connessione memorizzato e passati a un costruttore di link insieme al risultato grezzo dello strumento. [3]


---


Errori comuni


  • apidomain mancante o vuoto: Se la connessione memorizzata ha un apidomain vuoto, il ZohoCrmClient punterà all'endpoint sbagliato e tutte le chiamate falliranno. Valida sempre questo campo dopo il completamento dell'OAuth. [4]

  • Il refresh del token non restituisce alcun accesstoken: Se ZohoOAuth.refreshtokens() risponde senza una chiave accesstoken, il refresh viene silenziosamente ignorato in alcuni percorsi del codice. Assicurati che il refreshtoken della tua app OAuth non sia scaduto o revocato — i refresh token di Zoho possono diventare non validi se non vengono utilizzati per un periodo prolungato. [^2, ^6]

  • Parametro apptype errato: Passare "desk" invece di "crm" instrada la richiesta verso ZohoDeskApi anziché ZohoCrmApi, che non dispone di un modulo Vendors e restituirà risultati inattesi. Imposta sempre esplicitamente apptype="crm" quando punti ai record dei fornitori nel CRM. [1]

  • crmorgid mancante negli ambienti sandbox: I test in esecuzione verificano che nel record di connessione sia presente un crmorgid. Se questo campo è vuoto, i test API in modalità sandbox si rifiuteranno di procedere. Conferma che l'org ID sia stato acquisito correttamente durante l'handshake OAuth iniziale. [8]

---


Cosa verificare


  • Validità del token: Conferma che tokenexpiresat in zohoconnections sia un timestamp futuro e che il refreshtoken sia presente e non vuoto prima di effettuare qualsiasi chiamata per il recupero dei fornitori. [2]
  • Accuratezza del nome del modulo: Verifica che il nome del modulo passato nei parametri di get_records corrisponda esattamente al nome API utilizzato nella tua configurazione di Zoho CRM — i nomi dei moduli personalizzati sono case-sensitive. [5]
  • Correttezza dell'API domain: Assicurati che l'api_domain memorizzato per l'utente corrisponda al data centre in cui è ospitata la loro org di Zoho CRM (ad es., zohoapis.com, zohoapis.eu). [^4, ^6]

Sources cited

  1. [1] server.py: get_zoho_api
  2. [2] server.py: get_zoho_connection
  3. [3] server.py: chat_stream
  4. [4] run_direct_tests.py
  5. [5] server.py: chat_plan_stream
  6. [6] zoho_oauth.py
  7. [7] run_api_tests.py
Come recuperare i fornitori in Zoho | Beam Help — Beam Help