Una funzione personalizzata Deluge che tenta di elencare i modelli di stampa unione restituisce un errore di scope o di accesso quando la connessione Deluge o il token OAuth non includono lo scope "settings" del CRM richiesto per leggere i modelli archiviati in Impostazioni, o quando l'utente della connessione non dispone delle autorizzazioni per i modelli. Ciò impedisce a Deluge di chiamare l'endpoint delle impostazioni del CRM che espone i modelli di stampa unione.
Cosa significa — spiegazione concreta legata alla superficie API di Zoho
I modelli di stampa unione sono esposti tramite l'API delle Impostazioni del CRM piuttosto che tramite un'API di modulo regolare, quindi le chiamate Deluge che leggono i modelli raggiungono l'endpoint delle Impostazioni e richiedono scope OAuth a livello di impostazioni (ad esempio ZohoCRM.settings.ALL). Se il tuo token di connessione Deluge manca di tale scope, l'API restituisce un errore di scope OAuth o di autorizzazione quando tenti di elencare i modelli di stampa unione tramite una funzione personalizzata [8][1].
Cause comuni
- La connessione Deluge o il token OAuth non includono lo scope delle impostazioni del CRM (ad esempio ZohoCRM.settings.ALL), quindi l'endpoint delle Impostazioni rifiuta la chiamata [8].
- La connessione è stata creata da un utente che non dispone dei diritti "Gestisci modelli" o dei diritti amministrativi, quindi i modelli nelle Impostazioni non sono visibili a quel token [8].
- Hai utilizzato solo scope granulari di stampa unione o di modulo, ma non lo scope più ampio delle impostazioni; gli scope granulari non coprono sempre gli endpoint delle Impostazioni [8][1].
- Limiti a livello di modello o contenuto del modello malformato causano errori relativi ai modelli durante l'elenco o l'utilizzo dei modelli (errori di modello separati sono documentati nell'aiuto del CRM) [7].
Come risolverlo
- Identifica la connessione utilizzata dalla tua funzione personalizzata. Apri la funzione Deluge nel CRM e annota il nome della "connessione" a cui fa riferimento.
- Revoca e riautorizza quella connessione con uno scope delle impostazioni. Nelle impostazioni della tua connessione (la connessione utilizzata dalla funzione personalizzata o dal tuo client OAuth personalizzato), aggiungi ZohoCRM.settings.ALL (o lo scope minimo delle Impostazioni richiesto dalla tua app) e concedi nuovamente il consenso. Se utilizzi un client OAuth personalizzato, includi lo scope delle impostazioni nell'elenco degli scope e richiedi un nuovo token di accesso. Questo passaggio risolve OAUTHSCOPEMISMATCH quando si chiamano gli endpoint delle Impostazioni [8].
- Conferma che l'utente della connessione disponga delle autorizzazioni per i modelli. Ricrea/riautorizza la connessione utilizzando un amministratore o un utente che possa Gestire i modelli nel CRM in modo che il token possa visualizzare le risorse delle Impostazioni [8].
- Testa con una chiamata API minima da Deluge. Esegui una piccola funzione che raggiunge l'endpoint dei modelli delle Impostazioni e registra il codice di stato HTTP e il corpo per confermare il successo. Se ricevi ancora 403/401, ispeziona gli scope del token restituiti dall'introspezione del token o riautorizza nuovamente.
- Se l'elenco ha successo ma modelli specifici falliscono, controlla il contenuto e i limiti dei modelli (conteggio caratteri, formato tabella prodotto). Correggi o ricrea i modelli che superano i limiti noti o contengono HTML non valido come documentato nella risoluzione dei problemi dei modelli del CRM [7].
Quando escalare
Se hai riautorizzato con ZohoCRM.settings.ALL e verificato che l'utente della connessione disponga delle autorizzazioni di amministratore/modelli ma ricevi ancora errori di scope o 403, contatta il Supporto Zoho con la connessione