La récupération des tarifs produits dans Zoho CRM s'effectue en appelant l'endpoint Price Books pour un produit spécifique, ce qui renvoie tous les niveaux de tarification associés à cet enregistrement produit.
Pourquoi c'est important
Lorsque vous gérez un catalogue produits dans Zoho CRM, différents clients ou canaux peuvent se voir attribuer des catalogues de prix distincts. La capacité à récupérer programmatiquement les tarifs associés à un produit vous permet d'automatiser les devis, de valider les règles de tarification ou d'afficher le bon prix dans les systèmes en aval — sans avoir à parcourir manuellement l'interface CRM. Cela est particulièrement utile pour les intégrations et les tableaux de bord personnalisés construits sur les données Zoho CRM.
> Beam Help est une ressource d'assistance experte indépendante pour Zoho — et non le support officiel de Zoho.
---
Étape par étape
Étape 1. Vérifiez qu'une connexion Zoho CRM valide existe pour l'utilisateur.
Avant tout appel API, le système doit récupérer un enregistrement de connexion actif pour l'utilisateur authentifié. La recherche de connexion interroge les identifiants stockés et, si le jeton d'accès expire dans moins de 120 secondes, le renouvelle automatiquement à l'aide du jeton de rafraîchissement stocké — vous évitant ainsi toute erreur 401 en cours de requête. [8]
Étape 2. Obtenez une instance de l'API Zoho CRM.
Passez le userid et apptype="crm" à la fonction factory de l'API. Cela configure le callback de renouvellement du jeton afin que tout appel ultérieur puisse renouveler silencieusement les identifiants si nécessaire. Si aucun enregistrement de connexion n'est trouvé, la fonction renvoie None et vous devez inviter l'utilisateur à reconnecter son compte Zoho. [1]
Étape 3. Identifiez le product_id que vous souhaitez interroger.
Chaque produit dans Zoho CRM possède un identifiant d'enregistrement unique. Vous pouvez l'obtenir à partir d'une recherche de produit préalable, des lignes d'articles d'une affaire, ou directement depuis l'URL du CRM lors de la consultation de l'enregistrement produit. L'identifiant est une chaîne numérique et est requis en tant que paramètre de chemin à l'étape suivante. [2]
Étape 4. Appelez l'endpoint Price Books.
Émettez une requête GET vers le chemin suivant, en substituant l'identifiant du produit :
GET /Products/{product_id}/Price_Books
Le nom de l'opération pour cet endpoint est getproductpricing, et il accepte un seul paramètre — product_id. L'implémentation sous-jacente construit la requête comme suit :
self.c.request("GET", f"/Products/{product_id}/Price_Books")
Cela renvoie les données du catalogue de prix associé à ce produit. [2]
Étape 5. Traitez la réponse et construisez les liens vers les enregistrements.
Une fois que l'API renvoie un résultat, vous pouvez optionnellement générer des liens profonds directs vers l'interface Zoho CRM. Le générateur de liens utilise le paramètre de centre de données de l'utilisateur (par ex. com, eu, in) et l'identifiant de l'organisation pour construire des URL au format suivant :
https://crm.zoho.{dc}/crm/tab/{Module}/{RecordId}
Cela vous permet de présenter des références cliquables vers les enregistrements produit ou catalogue de prix aux côtés des données de tarification brutes. [4]
---
Erreurs courantes
- Jetons manquants ou expirés. Si
getzohoconnectionrenvoieNone, les identifiants OAuth de l'utilisateur ne sont pas stockés ou ont été révoqués. La solution consiste à relancer le flux d'autorisation OAuth et à stocker un nouveau jeton de rafraîchissement. Le système renouvelle proactivement les jetons 120 secondes avant leur expiration pour réduire ce risque, mais un jeton entièrement révoqué ne peut pas être réparé automatiquement. [8]
apptypeincorrect. L'endpoint Price Books se trouve dans Zoho CRM, et non dans Zoho Desk. Passez toujoursapptype="crm"lors de l'initialisation de l'instance API. Passer"desk"acheminera la requête vers le client Desk, qui possède une URL de base et une structure d'en-tête d'authentification entièrement différentes, et l'appel échouera. [1]
product_idinvalide ou incorrect. Le paramètre de chemin doit être l'identifiant d'enregistrement CRM du produit, et non son nom ou son SKU. Passer un identifiant inexistant produira une réponse vide ou une erreur de l'API. Vérifiez l'identifiant par rapport à l'enregistrement produit dans le CRM avant d'appeler l'endpoint. [2]
---
Points à vérifier
- Validité du jeton : Confirmez que
getzohoconnectionrenvoie un résultat nonNoneet quetokenexpiresatest dans le futur avant d'effectuer l'appel de tarification. [8] - Identifiant produit correct : Vérifiez que le
product_idcorrespond à un enregistrement Products existant dans votre organisation Zoho CRM — une recherche rapide dans l'interface CRM ou via un appel de recherche préalable vous le confirmera. [2] - Structure de la réponse : Assurez-vous que le payload renvoyé contient les entrées de catalogue de prix attendues ; un tableau
datavide peut signifier que le produit n'a aucun catalogue de prix assigné, et non que l'appel a échoué. [2]