I record duplicati in Zoho possono essere individuati a livello programmatico tramite un endpoint di ricerca dedicato, che ti consente di identificare e gestire i dati ridondanti prima che causino problemi nei report o nei flussi di lavoro.
Perché è importante
I record duplicati gonfiano i numeri della pipeline, creano confusione tra gli agenti di supporto e compromettono le regole di automazione che presuppongono voci univoche. Che tu stia gestendo un catalogo prodotti in Zoho Desk o i contatti in Zoho CRM, individuare i duplicati in anticipo mantiene i tuoi dati puliti e i tuoi processi affidabili. In qualità di supporto esperto indipendente (non supporto ufficiale Zoho), Beam Help ti guida attraverso i meccanismi affinché il tuo team possa automatizzare questo controllo con sicurezza.
Procedura passo dopo passo
Passaggio 1. Assicurati che la tua connessione OAuth includa gli scope corretti prima di effettuare qualsiasi chiamata API. Per Zoho CRM è necessario almeno ZohoCRM.modules.ALL o permessi di lettura equivalenti; per Zoho Desk sono necessari Desk.search.READ insieme agli scope del modulo pertinente, come Desk.contacts.READ. [1]
Passaggio 2. Autenticati e ottieni un access token valido. La piattaforma memorizza i dettagli della tua connessione (access token, refresh token, dominio API e timestamp di scadenza) in un record di connessione associato al tuo account utente. I token vengono aggiornati automaticamente circa due minuti prima della scadenza per evitare errori durante le richieste, quindi assicurati che la tua integrazione segua lo stesso schema. [5]
Passaggio 3. Se il tuo token è scaduto, avvia un aggiornamento chiamando ZohoOAuth.refreshtokens() con il refresh token memorizzato. In caso di successo, salva i nuovi valori accesstoken e tokenexpiresat aggiornati nel tuo archivio di connessione, in modo che le chiamate successive rimangano autenticate. [3]
Passaggio 4. Per recuperare i record duplicati, invia una richiesta GET al seguente endpoint:
GET /api/v1/products/duplicate
Questa operazione è identificata internamente come searchforduplicate_records e accetta un dizionario di parametri opzionale (p) che puoi utilizzare per filtrare o paginare i risultati. [6]
Passaggio 5. Inserisci eventuali parametri di filtro nel dizionario p. Le chiavi supportate dipendono dalla configurazione di Zoho Desk, ma l'oggetto parametro viene inoltrato direttamente all'API Zoho; consulta quindi l'elenco dei campi del tuo modulo per restringere i risultati (ad esempio, per categoria di prodotto o intervallo di date). [6]
Passaggio 6. Gestisci la risposta. Una chiamata riuscita restituisce un oggetto risultato strutturato. Se il risultato contiene una chiave error, mostra il messaggio all'operatore e interrompi l'elaborazione. Se il risultato è corretto, scorri i record restituiti per esaminarli, unirli o contrassegnarli secondo necessità. [8]
Passaggio 7. Quando crei link ai singoli record duplicati nella tua interfaccia utente, utilizza i valori dc (data center), crmorgid, deskorgid e desk_portal memorizzati nel record di connessione per costruire URL corretti specifici per la regione. [2]
Errori comuni
- Scope mancanti. Se
Desk.search.READè assente dalla tua concessione OAuth, l'endpoint di ricerca duplicati restituirà un errore di autorizzazione. Verifica l'elenco completo degli scope nella configurazione del tuo client OAuth. [1] - Token non aggiornati. Chiamare l'endpoint con un access token scaduto produce una risposta 401. Implementa un aggiornamento proattivo del token (almeno 120 secondi prima della scadenza) per evitare questo problema durante le richieste. [5]
- Data center errato. Zoho ospita i dati in più regioni. Se il tuo
apidomainpunta azohoapis.euma il tuo client è configurato perzohoapis.com, le richieste falliranno silenziosamente o restituiranno risultati vuoti. Estrai il suffisso del data center dall'apidomainmemorizzato durante il callback OAuth e utilizzalo in modo coerente. [7] - Parametro
pvuoto. PassareNoneinvece di un dizionario vuoto{}per l'argomentoppuò causare comportamenti imprevisti a seconda di come il client HTTP sottostante serializza la richiesta. Usa{}come valore predefinito quando non sono necessari filtri. [6]
Cosa verificare
- Scope presenti: Conferma che
Desk.search.READ(e gli eventuali scope di lettura a livello di modulo) siano presenti nella tua concessione OAuth attiva prima di chiamare l'endpoint dei duplicati. [1] - Token aggiornato: Verifica che
tokenexpiresatsia almeno 120 secondi nel futuro al momento della richiesta e che la logica di aggiornamento salvi il valore aggiornato in caso di successo. [5] - L'endpoint restituisce dati: Conferma che la risposta di
GET /api/v1/products/duplicatecontenga un set di risultati non vuoto e nessuna chiaveerrorprima di procedere con qualsiasi flusso di lavoro di unione o eliminazione. [6]