Il recupero dei prezzi dei prodotti in Zoho CRM avviene chiamando l'endpoint Price Books per un prodotto specifico, che restituisce tutti i livelli di prezzo associati a quel record prodotto.
Perché è importante
Quando gestisci un catalogo prodotti in Zoho CRM, a clienti o canali diversi possono essere assegnati listini prezzi differenti. La possibilità di recuperare programmaticamente i prezzi associati a un prodotto ti consente di automatizzare i preventivi, validare le regole di prezzo o mostrare il prezzo corretto nei sistemi a valle — senza dover navigare manualmente nell'interfaccia del CRM. Questo è particolarmente utile per le integrazioni e le dashboard personalizzate costruite sui dati di Zoho CRM.
> Beam Help è una risorsa di supporto esperto indipendente per Zoho — non è il supporto ufficiale Zoho.
---
Procedura passo dopo passo
Passaggio 1. Verifica che esista una connessione Zoho CRM valida per l'utente.
Prima di effettuare qualsiasi chiamata API, il sistema deve recuperare un record di connessione attivo per l'utente autenticato. La ricerca della connessione interroga le credenziali memorizzate e, se il token di accesso è entro 120 secondi dalla scadenza, lo aggiorna automaticamente utilizzando il refresh token memorizzato — in modo da non incorrere mai in un errore 401 a metà richiesta. [8]
Passaggio 2. Ottieni un'istanza dell'API Zoho CRM.
Passa userid e apptype="crm" alla funzione factory dell'API. Questo configura il callback di aggiornamento del token in modo che qualsiasi chiamata successiva possa rinnovare silenziosamente le credenziali se necessario. Se non viene trovato alcun record di connessione, la funzione restituisce None e dovresti invitare l'utente a ricollegare il proprio account Zoho. [1]
Passaggio 3. Identifica il product_id che vuoi interrogare.
Ogni prodotto in Zoho CRM ha un ID record univoco. Puoi ottenerlo da una ricerca prodotto precedente, dagli articoli di un'opportunità o direttamente dall'URL del CRM quando visualizzi il record del prodotto. L'ID è una stringa numerica ed è richiesto come parametro di percorso nel passaggio successivo. [2]
Passaggio 4. Chiama l'endpoint Price Books.
Invia una richiesta GET al seguente percorso, sostituendo l'ID del prodotto:
GET /Products/{product_id}/Price_Books
Il nome dell'operazione per questo endpoint è getproductpricing e accetta un singolo parametro — product_id. L'implementazione sottostante costruisce la richiesta come:
self.c.request("GET", f"/Products/{product_id}/Price_Books")
Questo restituisce i dati del listino prezzi associati a quel prodotto. [2]
Passaggio 5. Gestisci la risposta e crea eventuali link ai record.
Una volta che l'API restituisce un risultato, puoi facoltativamente generare deep-link diretti all'interfaccia di Zoho CRM. Il costruttore di link utilizza l'impostazione del data center dell'utente (ad es. com, eu, in) e l'ID dell'organizzazione per costruire URL nel formato:
https://crm.zoho.{dc}/crm/tab/{Module}/{RecordId}
Questo ti consente di presentare riferimenti cliccabili ai record del prodotto o del listino prezzi insieme ai dati di prezzo grezzi. [4]
---
Errori comuni
- Token mancanti o scaduti. Se
getzohoconnectionrestituisceNone, le credenziali OAuth dell'utente non sono memorizzate o sono state revocate. La soluzione è rieseguire il flusso di autorizzazione OAuth e memorizzare un nuovo refresh token. Il sistema aggiorna proattivamente i token 120 secondi prima della scadenza per ridurre questo rischio, ma un token completamente revocato non può essere ripristinato automaticamente. [8]
apptypeerrato. L'endpoint Price Books si trova in Zoho CRM, non in Zoho Desk. Passa sempreapptype="crm"quando inizializzi l'istanza API. Passare"desk"instraderà la richiesta al client Desk, che ha un URL base e una struttura dell'intestazione di autenticazione completamente diversi, e la chiamata fallirà. [1]
product_idnon valido o non corrispondente. Il parametro di percorso deve essere l'ID record CRM del prodotto, non il suo nome o SKU. Passare un ID inesistente risulterà in una risposta vuota o di errore dall'API. Verifica l'ID rispetto al record del prodotto nel CRM prima di chiamare l'endpoint. [2]
---
Cosa verificare
- Validità del token: Conferma che
getzohoconnectionrestituisca un risultato non-Nonee chetokenexpiresatsia nel futuro prima di effettuare la chiamata per i prezzi. [8] - ID prodotto corretto: Verifica che il
product_idcorrisponda a un record Products esistente nella tua organizzazione Zoho CRM — una rapida ricerca nell'interfaccia CRM o tramite una chiamata di ricerca precedente lo confermerà. [2] - Struttura della risposta: Assicurati che il payload restituito contenga le voci del listino prezzi attese; un array
datavuoto potrebbe significare che al prodotto non sono assegnati listini prezzi, non che la chiamata sia fallita. [2]