Node JS

    SDK Node JS  pour Zoho CRM

    Le SDK Node est un wrapper pour les API Zoho CRM. Donc, l'invocation d'une API Zoho CRM à partir de votre application Node est juste un appel de fonction qui fournit la réponse la plus appropriée.

    Ce SDK prend en charge l'authentification d'un utilisateur unique et celle de plusieurs utilisateurs.

    Enregistrement d'un client Zoho

    Étant donné que les API Zoho CRM sont authentifiées par des normes OAuth2, vous devriez enregistrer votre application cliente auprès de Zoho. Pour enregistrer votre application :

    1. Visitez cette page https://accounts.zoho.com/developerconsole.
    2. Cliquez sur « Add Client ID » (Ajouter un ID client).
    3. Entrez le nom du client, le domaine du client et l'URI de redirection.
    4. Pour le type de client, sélectionnez « Web based » (Basé sur le Web).
    5. Cliquez sur « Create » (Créer).
    6. Votre application cliente devrait désormais être créée et s'afficher.
    7. L'ID client et la clé secrète client de l'application nouvellement enregistrée sont accessibles en cliquant sur Options → Edit (Options → Modifier).
      (Les options sont représentées par l'icône des points de suspension dans le coin droit).

    Installation du SDK Node CRM

    Le SDK Node JS sera installé et un package nommé « crmsdk » sera créé sur la machine locale.

    Le package peut être ajouté à l'aide du code suivant :

    var ZCRMRestClient = require('zcrmsdk')

    Installation du SDK

    Voici comment installer le SDK Node JS

    • Exécutez la commande ci-dessous :

      npm install zcrmsdk

    Une autre méthode pour installer le SDK consiste à l'ajouter aux dépendances du package.json du serveur de nœuds avec la dernière version (recommandée) et à exécuter npm install dans le répertoire qui installe toutes les dépendances mentionnées dans package.json.

    Mettre à niveau le SDK

    • Exécutez cette commande pour mettre à niveau le SDK Node JS vers la version la plus récente.

      npm install --upgrade zcrmsdk

    Configurations

    Les détails de votre client OAuth doivent être fournis au SDK en tant que fichier de propriétés. Dans le SDK, vous devez configurer un fichier nommé oauth_configuration.properties. Veuillez placer les valeurs respectives dans ce fichier. Vous pouvez le placer sous le dossier resources à partir duquel le SDK est utilisé.

    Veuillez remplir les valeurs pour les seules clés suivantes.

    En fonction de votre domaine (EU,CN), modifiez la valeur de crm.iamurl. La valeur par défaut est un domaine US.

    Dans le fichier oauth_configuration.properties :

    [zoho]
    crm.iamurl=
    crm.clientid=
    crm.clientsecret=
    crm.redirecturl=

    • crm.clientid, crm.clientsecret et crm.redirecturl sont les configurations de votre client OAuth que vous obtenez après avoir enregistré votre client Zoho.
    • crm.iamurl est l'URL des comptes. Il peut s'agir de accounts.zoho.com ou de accounts.zoho.eu. Si crm.iamurl n'est pas spécifié, par défaut, l'URL sera accounts.zoho.com.

    Dans le fichier configuration.properties :

    [crm]
    api.url=
    api.user_identifier=
    api.tokenmanagement=
    [mysql]
    username=
    password=

    • api.url est l'URL utilisée pour appeler les API. Par défaut, l'URL est www.zohoapis.com.
    • Par défaut,
    • api.user_identifier est vide. Pour l'authentification d'un utilisateur unique, cette clé peut être renseignée avec l'ID de messagerie correspondant afin que tous les appels s'effectuent à l'aide de cette authentification d'utilisateur.
    • api.tokenmanagement est fourni en tant que mesure pour gérer et entretenir les jetons. Si tokenmanagement n'est pas fourni, la mise en œuvre par défaut du SDK (MySQL) sera suivie.
    • Le
    • nom d'utilisateur et le mot de passe peuvent être fournis ici si vous en avez déjà créés pour votre MySQL.

    Les clés ci-dessus, spécifiées dans le fichier configuration.properties, sont toutes facultatives.

    Mécanisme de stockage des jetons

    Pour utiliser le stockage de jetons par défaut fourni par le SDK, les conditions suivantes doivent être respectées :

    Mysql doit s'exécuter dans le port par défaut dans localhost.

    Une base de données nommée zohooauth doit avoir été créée et contenir un tableau comportant les configurations ci-dessous. Le tableau « oauthtokens » doit comporter les colonnes « useridentifier » (varchar) « accesstoken » (varchar), « refreshtoken » (varchar) et « expirytime » (bigint).

    Une fois la configuration définie, le stockage et la récupération des jetons seront traités par le SDK.

    Si l'utilisateur veut utiliser son propre mécanisme, il peut l'indiquer dans configuration.properties en fournissant le module correspondant dans api.tokenmanagement.

    Ce module devrait contenir les méthodes ci-dessous :

    1. saveOAuthTokens(token_obj)
    2. updateOAuthTokens(token_obj)
      • Indépendamment de la réponse, l'exécution suivante se produit. L'utilisateur doit donc traiter son module avec soin.
    3. getOAuthTokens()
      • Réponse attendue pour cette méthode : tableau JSON contenant la réponse json avec les champs expirytime, refreshtoken et accesstoken.

    Remarque :

    • Toutes les méthodes doivent renvoyer une promesse.

    saveOAuthtoken & updateOAuthTokens sera appelé avec les paramètres JSON, lesquels contiennent les champs présentés ci-dessous,

    access_token
    refresh_token
    expires_in

    Exemple de code pour la gestion des jetons personnalisés getOAuthTokens()

    tokenmanagement.getOAuthTokens = function(user_identifier){ //expire : 1527839622728
    return new Promise(function(resolve,reject){
    var result = {};
    result.accesstoken = '1000.xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx';
    result.expirytime = 15278396227289
    result.refreshtoken = '1000.xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx';
    var result_array =[];
    result_array.push(result);
    resolve(result_array);
    });
    }

    Initialisation

    Chaque fois que l'application démarre, l'extrait de code ci-dessous doit être appelé pour l'initialisation.

    var ZCRMRestClient = require('zcrmsdk');
    ZCRMRestClient.initialize().then(function()
    {
    //faire le nécessaire après initialisation
    })

    Générer un jeton d'autorisation et d'actualisation auto-autorisé

    Pour les applications clientes, le jeton d'autorisation auto-autorisé doit être généré à partir de Zoho Developer Console (https://accounts.zoho.com/developerconsole)

    1. Visiter https://accounts.zoho.com/developerconsole
    2. Cliquez sur OptionsSelf Client (Client auto) pour le client à autoriser.
    3. Entrez une ou plusieurs étendues (séparées par des virgules) Zoho CRM valides que vous souhaitez autoriser dans le champ « Scope » (Étendue) et choisissez l'heure d'expiration. Indiquez une étendue « aaaserver.profile.READ » avec les étendues Zoho CRM.
    4. Copiez le jeton d'autorisation à des fins de sauvegarde.
    5. Générez refresh_token à partir du jeton d'autorisation en effectuant une demande POST à l'aide de l'URL ci-dessous

      https://accounts.zoho.com/oauth/v2/token?code={grant_token}&redirect_uri={redirect_uri}&client_id={client_id}&client_secret={client_secret}&grant_type=authorization_code

    6. Copiez le jeton d'actualisation à des fins de sauvegarde.

    Veuillez noter que le jeton d'autorisation généré n'est valide que pendant le délai indiqué lors de sa création. Par conséquent, les jetons d'accès et d'actualisation doivent être générés dans ce délai.

    Chaque fois que le serveur redémarre, cette fonction doit être appelée et les deux fichiers de configuration doivent être renseignés avec les valeurs appropriées avant d'appeler cette fonction, sinon une exception sera générée.

    Toutes les fonctions renvoient des promesses dans zcrm node sdk.

    Obtention de jetons d'accès et d'actualisation à partir de jetons d'autorisation à l'aide d'appels de méthode

    ZCRMRestClient.generateAuthTokens(user_identifier,grant_token).then(function(auth_response){
    console.log("access token :"+auth_response.access_token);
    console.log("refresh token :"+auth_response.refresh_token);
    console.log("expires in :"+auth_response.expires_in);
    });

    Les jetons d'accès et d'actualisation sont générés. Si le jeton d'accès a expiré, le SDK l'actualise automatiquement.

    Si l'utilisateur dispose d'un jeton d'actualisation et doit générer un jeton d'accès, il peut utiliser la fonction ci-dessous,

    ZCRMRestClient.generateAuthTokenfromRefreshToken(user_identifier,refresh_token).then(function(auth_response){
    console.log("access token :"+auth_response.access_token);
    console.log("refresh token :"+auth_response.refresh_token);
    console.log("expires in :"+auth_response.expires_in);
    });

    Exemple d'appel d'API pour obtenir des leads :

    var input ={};
    input.module = "Leads";
    var params = {};
    params.page = 0;
    params.per_page = 5;
    input.params = params;
    zcrmsdk.API.MODULES.get(input).then(function(response){
        var result = "<html><body><b>Leads</b>";
        var data = response.body;
        data = JSON.parse(data);
        data = data.data;
        for (i in data){
            var record = data[i];
            var name = record.Full_Name;
            result+="<span>"+name+"</span>";
        }
        result+="</body></html>";
       })

    Hiérarchie

    zcrmsdk

       API
         ORG
           get
         MODULES
           get
           post
           put
           delete
           getAllDeletedRecords
           getRecycleBinRecords
           getPermanentlyDeletedRecords
           search
         PARAMÈTRES
           getFields
           getLayouts
           getCustomViews
           updateCustomViews
           getModules
           getRoles
           getProfiles
           getRelatedLists
         ACTIONS
           convert
         UTILISATEURS
           get
         PIÈCES JOINTES
           uploadFile
           deleteFile
           downloadFile
           uploadLink
           uploadPhoto
           downloadPhoto
           deletePhoto
         FONCTIONS
           executeFunctionsInGet
           executeFunctionsInPost

    Tel qu'il apparaît dans la hiérarchie, le module d'entité zcrmsdk comporte des variables pour récupérer ses propres propriétés et celles d'autres modules.

    Par exemple, pour appeler une API afin d'obtenir des données de module, la demande devrait être zcrmsdk.API.MODULES.{operation_type}. Les types d'opération peuvent être GET, POST, PUT, DELETE ou CREATE.

    Gestion des réponses

    Tous les appels d'API produiront la réponse d'API réelle donnée par les API Zoho, sauf le téléchargement de fichiers.

    Pour le téléchargement d'un fichier, la réponse contiendra un champ supplémentaire de nom de fichier.

    Gestion des erreurs :

    Toutes les erreurs seront créées explicitement et il faut les examiner avec soin.

    Share this post : FacebookTwitter

    Vous ne trouvez toujours pas ce que vous cherchez?

    Écrivez-nous: support@zohocrm.com

     
     

    Thanks for the recommendations. We will incorporate them at the earliest.

    Commentaires sur la traduction

    Nous aimerions connaître votre avis sur la traduction de la page.

    Nom*

    E-mail *

    Objet*

    Description de l'erreur

    Page URL

    Captures d'écran Joindre des fichiers   Chacun de vos fichiers ne doit pas dépasser 20 Mo.Vous pouvez joindre un maximum de 5 fichiers à la fois.

    Commentaire