Beam Help
Richiedi supporto

How-to · Zoho CRM

Come recuperare le impostazioni di automazione in Zoho

Accedi alle regole di automazione e alle configurazioni dei workflow tramite API.

Il recupero delle impostazioni di automazione in Zoho CRM avviene tramite una singola richiesta GET autenticata all'endpoint /settings/automation, con filtro opzionale per modulo. Ecco tutto ciò che il nostro team di Beam Help — supporto esperto indipendente per Zoho, non supporto ufficiale Zoho — ha documentato per effettuare questa chiamata in modo affidabile.


Perché è importante


Quando hai bisogno di verificare, replicare o risolvere problemi relativi alle regole di workflow e alla logica di automazione in Zoho CRM, ti serve un metodo programmatico per estrarre la configurazione corrente. L'endpoint /settings/automation ti fornisce esattamente questo, restituendo le impostazioni di automazione per la tua organizzazione — o per un modulo specifico se restringi la query. Questo è particolarmente utile quando si creano strumenti di amministrazione, si eseguono controlli di conformità o si migrano impostazioni tra ambienti.


Procedura passo dopo passo


Passaggio 1. Verifica che esista una connessione OAuth valida.


Prima che qualsiasi chiamata API possa avere successo, la tua integrazione deve disporre di un access token attivo per l'utente di destinazione. Il record di connessione viene cercato nel tuo archivio locale tramite user_id, e se il token è entro 120 secondi dalla scadenza viene aggiornato automaticamente prima che la richiesta venga inviata — questa finestra di aggiornamento proattivo è progettata per prevenire errori 401 a metà richiesta. [5]


Passaggio 2. Ottieni un'istanza del client API di Zoho CRM.


Chiama getzohoapi(userid, apptype="crm") per ricevere un oggetto API completamente inizializzato. Internamente questa funzione recupera la connessione memorizzata, configura un callback tokenrefresher che recupera un nuovo accesstoken dall'endpoint token di Zoho quando necessario, e restituisce un'istanza ZohoCrmApi pronta per effettuare chiamate. [1]


Il tokenrefresher funziona leggendo il refreshtoken più recente dal database, inviandolo all'URL token di Zoho insieme al tuo clientid e clientsecret, e salvando il nuovo accesstoken e tokenexpiresat nella tabella zohoconnections. [1] [2]


Passaggio 3. Chiama l'endpoint delle impostazioni di automazione.


Con il tuo oggetto API a disposizione, invoca il metodo get_automation:


result = api.get_automation()          # all modules
result = api.get_automation(m="Leads") # scoped to a specific module

Internamente questo invia una richiesta GET a /settings/automation, aggiungendo {"module": m} come parametro di query solo quando viene fornito un nome di modulo. [3]


L'identificatore dell'operazione è get_automation e il metodo HTTP è GET /settings/automation. [3]


Passaggio 4. Gestisci la risposta.


Il metodo restituisce ciò che l'API REST di Zoho CRM invia — tipicamente un oggetto JSON contenente le tue regole di automazione. Controlla le chiavi di primo livello per eventuali indicatori di errore prima di elaborare i dati. Se il token era scaduto silenziosamente, il callback token_refresher si attiva automaticamente e il client riprova, quindi i fallimenti di autenticazione transitori vengono gestiti senza codice aggiuntivo da parte tua. [1] [5]


Passaggio 5. (Facoltativo) Limita per modulo.


Passa il nome del modulo CRM come argomento m — ad esempio "Leads", "Contacts" o "Deals" — per limitare la risposta alle sole regole di automazione appartenenti a quel modulo. Omettendo l'argomento vengono restituite le impostazioni di tutti i moduli. [3]


Errori comuni


  • Record di connessione mancante o scaduto. Se getzohoconnection restituisce None perché non esiste alcuna riga in zohoconnections per il userid specificato, anche getzohoapi restituirà None e qualsiasi chiamata API successiva fallirà con un errore di attributo. Verifica sempre che il flusso OAuth sia stato completato correttamente e che una riga di connessione sia stata salvata prima di tentare il recupero delle impostazioni. [1] [5]

  • apptype errato. L'endpoint delle impostazioni di automazione si trova in Zoho CRM, quindi apptype deve essere "crm". Passando "desk" il client viene indirizzato a ZohoDeskApi, che punta a un insieme di endpoint completamente diverso e non esporrà le impostazioni di automazione CRM. [1]

  • Loop di aggiornamento token con refreshtoken non valido. Se ZohoOAuth.refreshtokens restituisce un payload senza chiave access_token — ad esempio quando il refresh token è stato revocato — il refresher restituisce None e la chiamata fallirà. La soluzione è rieseguire il flusso di autorizzazione OAuth per ottenere una nuova coppia di token. [2] [5]

  • Porta errata durante l'OAuth iniziale. L'URI di reindirizzamento OAuth è registrato per http://localhost:8080/api/authcallback. Eseguire il server su qualsiasi altra porta causerà il fallimento del callback di autorizzazione, il che significa che nessun token verrà mai memorizzato e ogni chiamata API successiva — inclusa getautomation — non avrà nulla su cui lavorare. [4]

Cosa verificare


  • Conferma che sia memorizzato un token valido — interroga zohoconnections per il userid di destinazione e verifica che tokenexpiresat sia nel futuro, oppure che il percorso di aggiornamento sia funzionante.
  • Verifica la struttura della risposta dell'endpoint — assicurati che il JSON restituito contenga le chiavi delle regole di automazione attese e non sia un oggetto di errore (ad es. {"code": "INVALID_TOKEN", ...}).
  • Controlla l'ortografia del nome del modulo — se hai passato il parametro m, verifica il nome API del modulo (sensibile alle maiuscole) rispetto all'elenco dei moduli di Zoho CRM per evitare una risposta vuota o errata. [3]

Sources cited

  1. [1] server.py: get_zoho_api
  2. [2] zoho_oauth.py
  3. [3] GET /settings/automation
  4. [4] README.md
  5. [5] server.py: get_zoho_connection
  6. [6] server.py: chat_plan_stream
  7. [7] run_direct_tests.py
  8. [8] browser_automation.py
Come recuperare le impostazioni di automazione in Zoho | Beam Help — Beam Help