Tâches d'intégration

Fonctions - Tâches d'intégration

Comme vous le savez peut-être déjà, la mise à jour des API version 2.0 a joué un rôle majeur dans l'utilisation des fonctions personnalisées, maintenant appelées « Fonctions ». Ce guide vous aidera à utiliser les tâches d'intégration pour les fonctions utilisant les nouvelles API.

Pour commencer

Pour commencer, la différence fondamentale entre la version 1.0 et la version 2.0 des API Zoho est que la première utilise les noms de champs et la seconde les noms d'API.

Pour obtenir les nom d'API des modules :

  • Allez à Setup > Developer Space > APIs > CRM API > API Names (Configuration > Espace du développeur > API > API CRM > Noms d'API).
  • Les noms d'API des modules sont répertoriés dans l'onglet API Names (Noms d'API).

Pour obtenir les noms d'API des champs dans les modules :

  • Allez à Setup > Developer Space > APIs > CRM API > API Names (Configuration > Espace du développeur > API > API CRM > Noms d'API).
  • Cliquez sur un nom de module. Par exemple : Leads
  • L'onglet API Name (Nom de l'API) contient les noms d'API des champs. Ces champs doivent être utilisés dans le code et NON dans les noms de l'onglet Field Label (Libellé de champ).

Obtenir des enregistrements

Les enregistrements contenant des informations peuvent être récupérés à partir de plusieurs modules pris en charge de CRM. Vous pouvez obtenir les enregistrements à l'aide de la tâche zoho.crm.getRecords().

Syntaxe : (en utilisant les API version 2.0)

<response>=zoho.crm.getRecords(<module_name>, [<page>],[<perPage>], {<optionalDataMap>}, <connections>);

ParamètresDescription
<response>Réponse contenant la LIST (liste) des enregistrements correspondant aux critères d'extraction.
<module_name>Nom du module à partir duquel l'enregistrement doit être extrait. Les modules suivants sont pris en charge : Leads (Prospects), Deals (Transactions), Products (Produits), Contacts, Campaigns (Campagnes), Vendors (Fournisseurs), Accounts (Comptes), Cases (Dossiers), Quotes (Devis), Sales Orders (Commandes clients), Purchase Orders (Bons de commande), Invoices (Factures) et les modules personnalisés.
<page> (facultatif)Permet d'obtenir la liste des enregistrements en fonction des pages. Correspond au type de données NUMBER. Valeur par défaut : -1.
<perPage> (facultatifPermet d'obtenir la liste des enregistrements disponibles par page. Correspond au type de données NUMBER. Valeur par défaut : -200.
<optionalDataMap>Permet d'obtenir la liste des enregistrements en utilisant des paramètres autres que page et per_page.
<connections>Affiche les connecteurs associés à la fonction. Le type de données est STRING.

Exemple d'entrée :

resp = zoho.crm.getRecords("Leads",1,20,{"converted":"true"});

Remarque :

  • Dans l'exemple ci-dessus, "converted" est un paramètre optionalDataMap.

Syntaxe : (en utilisant les API version 1.0)

<response>=zoho.crm._getRecords(<module_name>, [<from_index>],[<to_index>]);

Obtenir un enregistrement par ID

L'obtention d'une liste d'enregistrements est très utile, mais comment procéder si vous souhaitez extraire des détails sur un enregistrement spécifique ? Vous pouvez utiliser la tâche zoho.crm.getRecordById() afin d'obtenir les informations relatives à un enregistrement particulier.

Syntaxe : (en utilisant les API version 2.0)

<response>=zoho.crm.getRecordById(<module_name>, <record_ID>, <connections>);

ParamètresDescription
<response>La réponse retournée en tant que MAP.
<module_name>Nom du module à partir duquel l'enregistrement doit être extrait. Les modules suivants sont pris en charge : Leads (Prospects), Deals (Transactions), Products (Produits), Contacts, Campaigns (Campagnes), Vendors (Fournisseurs), Accounts (Comptes), Cases (Dossiers), Quotes (Devis), Sales Orders (Commandes clients), Purchase Orders (Bons de commande), Invoices (Factures) et les modules personnalisés.
<record_ID>L'ID de l'enregistrement à extraire. Correspond au type de données NUMBER.
<connections>Affiche les connecteurs associés à la fonction. Le type de données est STRING.

Exemple d'entrée :

resp = zoho.crm.getRecordById("Leads", 2938383000000392001);

Syntaxe : (en utilisant les API version 1.0)

<response>=zoho.crm._getRecordById(<module_name>, <record_ID>);

Créer un enregistrement

Configurez les fonctions afin que les enregistrements soient créés automatiquement en fonction de certaines actions. Par exemple : vous pouvez déclencher la fonction permettant de créer un enregistrement dans les tâches en changeant le statut d'un prospect. La tâche zoho.crm.create() est utilisée pour créer des enregistrements.

Syntaxe : (en utilisant les API version 2.0)

<variable>=zoho.crm.create(<module_name>,{<dataMap>}, {<optionalDataMap>}, <connections>);

ParamètresDescription
<response>La réponse retournée en tant que MAP.
<module_name>Nom du module à partir duquel l'enregistrement doit être extrait. Les modules suivants sont pris en charge : Leads (Prospects), Deals (Transactions), Products (Produits), Contacts, Campaigns (Campagnes), Vendors (Fournisseurs), Accounts (Comptes), Cases (Dossiers), Quotes (Devis), Sales Orders (Commandes clients), Purchase Orders (Bons de commande), Invoices (Factures) et les modules personnalisés.
<dataMap>Le nom des champs du module à spécifier lors de la création de l'enregistrement. Par exemple : {"Last_name":"Zoho CRM"}
<optionalDataMap>Représente tous les mappages de données autres que l'objet JSON d'entrée.
<connections>Affiche les connecteurs associés à la fonction. Le type de données est STRING.

Exemple d'entrée :

data = Map();
data.putAll({"Last_Name":"Bruce Wills", "Company":"Zillum"});
optionalMap = Map();
optionalMap.put("trigger", ["workflow","approval", "blueprint"]); // pass "trigger" as empty [] to not execute workflow
resp = zoho.crm.create("Leads", data, optionalMap);

Exemple de réponse :

{"Modified_Time":"2018-03-26T14:33:01+05:30","Modified_By":{"name":"Ben","id":"2938383000000132011"},"Created_Time":"2018-03-26T14:33:01+05:30","id":"2938383000000389001","Created_By":{"name":"Ben","id":"2938383000000132011"}}

Syntaxe : (en utilisant les API version 1.0)

<variable>=zoho.crm._create(<module_name>,{<field_values>});

Créer des enregistrements en vrac

Configurez les fonctions afin que les enregistrements soient créés automatiquement en fonction de certaines actions. Par exemple : vous pouvez déclencher la fonction pour créer plusieurs enregistrements, dans les contacts, les comptes, les tâches, les transactions, etc, en changeant la conversion d'un prospect en contact. La tâche zoho.crm.bulkCreate() est utilisée pour créer des enregistrements.

Syntaxe : (en utilisant les API version 2.0)

<variable>=zoho.crm.bulkCreate(<module_name>,[record1, record2]);

ParamètresDescription
<response>La réponse retournée en tant que MAP.
<module_name>Nom du module à partir duquel l'enregistrement doit être extrait. Les modules suivants sont pris en charge : Leads (Prospects), Deals (Transactions), Products (Produits), Contacts, Campaigns (Campagnes), Vendors (Fournisseurs), Accounts (Comptes), Cases (Dossiers), Quotes (Devis), Sales Orders (Commandes clients), Purchase Orders (Bons de commande), Invoices (Factures) et les modules personnalisés.
[record1, record2]La LIST (liste) contenant les informations sur les enregistrements à créer.

Exemple d'entrée :

resp = zoho.crm.bulkCreate("Leads", [{"Last_Name":"Deborah"},{"Last_Name":"James"}], {"trigger":["workflow","blueprint","approval"]});

Mettre à jour un enregistrement

Il arrive souvent que vous deviez mettre à jour les enregistrements. Diverses tâches, comme la modification des informations existantes, l'ajout d'informations supplémentaires, etc. peuvent être exécutées automatiquement en définissant la tâche zoho.crm.updateRecord(), qui met automatiquement à jour un enregistrement en fonction du scénario programmé.

Syntaxe : (en utilisant les API version 2.0)

<response>=zoho.crm.updateRecord(<module_name>, <record_ID>, <dataMap>, {<optionalDataMap>}, <connections>);

ParamètresDescription
<response>La réponse retournée en tant que MAP.
<module_name>Nom du module à partir duquel l'enregistrement doit être extrait. Les modules suivants sont pris en charge : Leads (Prospects), Deals (Transactions), Products (Produits), Contacts, Campaigns (Campagnes), Vendors (Fournisseurs), Accounts (Comptes), Cases (Dossiers), Quotes (Devis), Sales Orders (Commandes clients), Purchase Orders (Bons de commande), Invoices (Factures) et les modules personnalisés.
<record_ID>ID de l'enregistrement à mettre à jour. Correspond au type de données NUMBER.
<dataMap>Clé. Paires de valeurs avec informations d'enregistrement mises à jour.
<optionalDataMap>Représente tous les mappages de données autres que l'objet JSON d'entrée.
<connections>Affiche les connecteurs associés à la fonction. Le type de données est STRING.

Exemple d'entrée :

resp = zoho.crm.update("Leads", 2938383000000392001, {"Company":"Zillum Corp"});

Exemple de réponse :

{"Modified_Time":"2018-03-26T15:17:39+05:30","Modified_By":{"name":"Ben","id":"2938383000000132011"},"Created_Time":"2018-03-26T14:39:28+05:30","id":"2938383000000392001","Created_By":{"name":"Ben","id":"2938383000000132011"}}

Syntaxe : (en utilisant les API version 1.0)

<response>=zoho.crm._updateRecord(<module_name>, <record_ID>, <New values as map object>);

Rechercher un enregistrement

Recherchez des enregistrements spécifiques en précisant les critères de recherche. Les enregistrements recherchés peuvent être utilisés pour effectuer des actions n'importe où. La recherche d'un enregistrement nécessite de spécifier le nom du module et les critères de recherche.

Syntaxe : (en utilisant les API version 2.0)

<response>=zoho.crm.searchRecords(<module_name>, <criteria>, [<page>],[<perPage>], <connections>);

ParamètresDescription
<response>Réponse contenant la LIST (liste) des enregistrements correspondant aux critères d'extraction.
<module_name>Nom du module à partir duquel l'enregistrement doit être extrait. Les modules suivants sont pris en charge : Leads (Prospects), Deals (Transactions), Products (Produits), Contacts, Campaigns (Campagnes), Vendors (Fournisseurs), Accounts (Comptes), Cases (Dossiers), Quotes (Devis), Sales Orders (Commandes clients), Purchase Orders (Bons de commande), Invoices (Factures) et les modules personnalisés.
<criteria>Instruction conditionnelle pour la recherche. Elle respecte le format suivant : ( : :). représente le nom du libellé de champ CRM et sa valeur respective. peut contenir les paramètres suivants :

 
  • equals
  • starts_with (STRING)
<page> (facultatif)Permet d'obtenir la liste des enregistrements en fonction des pages. Correspond au type de données NUMBER. Valeur par défaut : -1.
<perPage> (facultatifPermet d'obtenir la liste des enregistrements disponibles par page. Correspond au type de données NUMBER. Valeur par défaut : -200.
<connections> (facultatif)Affiche les connecteurs associés à la fonction. Le type de données est STRING.

Exemple d'entrée :

resp = zoho.crm.searchRecords("Leads", "(Company:equals:Zillum)");

Remarque :

  • L'option Search records by PDC (Rechercher des enregistrements par PDC) n'est pas disponible dans la version 2.0.
  • Si une colonne contient des valeurs nulles, zoho.crm.searchRecords ne les signale PAS dans une instruction <>.
  • Un maximum de 200 enregistrements peut être extrait à tout moment.

Syntaxe : (en utilisant les API version 1.0)

<response>=zoho.crm._searchRecords(<module_name>, <criteria>, [<from_index>],[<to_index>]);

Obtenir des enregistrements associés

Plusieurs composants de CRM peuvent être utilisés pour stocker des informations sur un prospect ou un contact particulier. Par exemple, un prospect peut contenir une liste de notes, quelques transactions, des appels associés, etc. La tâche zoho.crm.getRelatedRecords() permet de rechercher une note liée à un enregistrement particulier dans un module.

Syntaxe : (en utilisant les API version 2.0)

<response>=zoho.crm.getRelatedRecords(<relation_name>, <parent_module_name>, <record_ID>, [<page>],[<perPage>], <connections>);

ParamètresDescription
<response>Réponse contenant la LIST (liste) des enregistrements correspondant aux critères d'extraction.
<relation_name>Nom du module (également appelé sous-module) à partir duquel l'enregistrement doit être extrait. Il correspond au type de données STRING. Les modules suivants sont pris en charge : Notes, Quotes (Devis), Products (Produits), Tasks (Tâches), Campaigns (Campagnes), Events (Événements), Calls (Appels).
<parent_module_name>Le nom du module auquel le sous-module appartient. Par exemple : "Notes" peut appartenir à un module parent "Leads". Il correspond au type de données STRING. Les modules suivants sont pris en charge : Leads (Prospects), Deals (Transactions), Products (Produits), Contacts, Campaigns (Campagnes), Vendors (Fournisseurs), Accounts (Comptes), Cases (Dossiers), Quotes (Devis), Sales Orders (Commandes clients), Purchase Orders (Bons de commande), Invoices (Factures) et les modules personnalisés.
<record_ID>ID de l'enregistrement du module parent à extraire. Correspond au type de données NUMBER.
<page> (facultatif)Permet d'obtenir la liste des enregistrements en fonction des pages. Correspond au type de données NUMBER. Valeur par défaut : -1.
<perPage> (facultatifPermet d'obtenir la liste des enregistrements disponibles par page. Correspond au type de données NUMBER. Valeur par défaut : -200.
<connections> (facultatif)Affiche les connecteurs associés à la fonction. Le type de données est STRING.

Remarque :

  • Un maximum de 200 enregistrements peut être extrait à tout moment.

Exemple d'entrée :

Pour extraire les campagnes associées à un prospect :

resp = zoho.crm.getRelatedRecords("Campaigns", "Leads", 2938383000000392001);

Pour extraire les tâches associées à un prospect :

resp = zoho.crm.getRelatedRecords("Task", "Leads", 2938383000000392001);

Syntaxe : (en utilisant les API version 1.0)

<response>=zoho.crm._getRelatedRecords(<module_name>, <parent_module_name>, <record_ID>, [<from_index>],[<to_index>]);

Mettre à jour les enregistrements associés

Plusieurs composants de CRM peuvent être utilisés pour stocker des informations sur un prospect ou un contact particulier. Vous pouvez utiliser la tâche zoho.crm.updateRelatedRecord() pour mettre à jour les enregistrements associés à un enregistrement parent.

Syntaxe : (en utilisant les API version 2.0)

<response>=zoho.crm.updateRelatedRecords(<relation_name>, <record_ID_1>, <parent_module_name>, <record_ID_2>, {<New values as map object>});

ParamètresDescription
<response>Réponse contenant la LIST (liste) des enregistrements correspondant aux critères d'extraction.
<relation_name>Nom du module (également appelé sous-module) à partir duquel l'enregistrement doit être extrait. Il correspond au type de données STRING. Les modules suivants sont pris en charge : Notes, Quotes (Devis), Products (Produits), Tasks (Tâches), Campaigns (Campagnes), Events (Événements), Calls (Appels), Emails (E-mails).
<record_ID_1>ID de l'enregistrement à mettre à jour. Correspond au type de données NUMBER.
<parent_module_name>Le nom du module auquel le sous-module appartient. Par exemple : "Notes" peut appartenir à un module parent "Leads". Il correspond au type de données STRING. Les modules suivants sont pris en charge : Leads (Prospects), Deals (Transactions), Products (Produits), Contacts, Campaigns (Campagnes), Vendors (Fournisseurs), Accounts (Comptes), Cases (Dossiers), Quotes (Devis), Sales Orders (Commandes clients), Purchase Orders (Bons de commande), Invoices (Factures) et les modules personnalisés.
<record_ID_2>ID de l'enregistrement du module parent à extraire. Correspond au type de données NUMBER.
<Nouvelles valeurs en tant qu'objet MAP>Clé. Paires de valeurs avec informations d'enregistrement mises à jour. Par exemple : {"Last_Name": "Updated Name", "Fax": "555-858-3466"}

Exemple d'entrée :

Pour mettre à jour la quantité du produit :

resp = zoho.crm._updateRelatedRecords("Products",2938383000000392001, "Leads", 2938383000000392001, {"Product_Quantity":"50"});

Syntaxe : (en utilisant les API version 1.0)

<response>=zoho.crm._updateRelatedRecords(<module_name>, <parent_module_name>, <record_ID>, [<from_index>],[<to_index>]);

Convertir un prospect

L'étape suivant l'acquisition du prospect concerne les négociations, ce qui permet de convertir des prospects prometteurs en contacts. Vous pouvez utiliser la tâche zoho.crm.getRecordById() afin d'obtenir le transfert des informations relatives à un prospect en tant qu'enregistrement de contact.

Syntaxe : (en utilisant les API version 2.0)

<response>=zoho.crm.convertLead(<record_ID>, <overwrite>, <notify_lead_owner>, <notify_new_entity_owner>, <account_ID>);

ParamètresDescription
<response>La réponse retournée en tant que MAP.
<record_ID>L'ID de l'enregistrement à extraire. Correspond au type de données NUMBER.
<overwrite>Permet de remplacer les données si le prospect a déjà été converti. Le type de données est BOOLEAN. Doit être vrai ou faux.
<notify_lead_owner>Permet d'envoyer une notification au propriétaire du prospect, après conversion. Le type de données est BOOLEAN. Doit être vrai ou faux.
<notify_new_entity_owner>Permet d'envoyer une notification au propriétaire de la nouvelle entité (contact), après conversion. Le type de données est BOOLEAN. Doit être vrai ou faux.
<account_ID> (facultatif)L'ID de l'enregistrement à extraire. Correspond au type de données NUMBER.

Exemple d'entrée :

resp = zoho.crm.convertLead(7000000037308, { "overwrite": true, "notify_lead_owner": false, "notify_new_entity_owner": true, "Accounts": "7000000037323", "Deals": { "Deal_Name": "Robert", "Closing_Date": "2016-03-30", "Stage": "Closed Won", "Amount": 56.6 } });

Share this post : FacebookTwitter

Vous ne trouvez toujours pas ce que vous cherchez?

Écrivez-nous: support@zohocrm.com