zoblog

Zoho CRM Import de données provenant de Zoho Creator

jmu
31.07.18 11:15:14 Comment(s)

Chez un client j’avais développé entièrement sa gestion commerciale il y a quelques années sous Zoho Creator.


Devis, bon de livraison, facture, paiements, affaires, sociétés, contacts, actions, bref que des modules existants sous Zoho CRM.


Le choix de Zoho Creator était, à l’époque, justifié car la forme des devis du client est compliquée, le client vend et loue des équipements sons et vidéo pour les Congrès et suivant que son devis est un devis de vente ou de location les champs de calcul et d’affichage de la ligne produit ne sont pas les mêmes.


Le Zoho CRM d’aujourd’hui étant complètement compatible Deluge, je peux maintenant migrer son application.


Migration des sociétés de Zoho Creator vers Zoho CRM


Pour l’exemple je vous propose de suivre ma méthode de travail pour un module “facile” : le module société.


Tout d’abord, pour mon client, un prospect n’est qu’un type de société.

(pour plus d’explication, voir l’article  :

(https://www.zoblog.fr/blogs/post/zoho-crm-prospect-contact-ou-compte)

exit le module prospect de Zoho CRM, je ne l’utiliserai pas.


Ensuite il me faut faire correspondre les champs entre le module Société de Zoho Creator et le module Société de Zoho CRM. Il suffit de placer côte à côte les deux écrans et de créer les champs nécessaires dans Zoho CRM.



Puisque les données sont dans Zoho Creator. Je vais écrire une fonction dans Zoho Creator.


.

L’écriture de la fonction est la suivante :


Première version : simple



void MigrationCRM.MI_Soc_ZC_1()

// pas besoin d’arguments puisque je vais importer des milliers de sociétés.

{

// Je crée une MAP qui va recueillir les données


mapsoc = Map();


// je crée une boucle qui va associer pour chaque enregistrement un valeur de //  // Zoho Creator dans la MAP et un nom de champ Zoho CRM.

// ATTENTION : Pour importer les données dans Zoho CRM il faut bien prendre les noms // de champs tel que présenté dans le document ci-dessous :

https://www.zoho.com/crm/help/api/modules-fields.html#Accounts

Et bien prendre les noms par les noms d’API.


//Le nom du champ dans Zoho CRM entre guillemets puis les noms du champ de Zoho Creator sans guillemets.


for each  s in Societe range from 1 to 5

{

mapsoc.put("Account Name",s.Societe1);

// Societe1 étant le nom du champ qui prend la raison sociale de l’entreprise dans le formulaire Societe


//puis je mets le code permettant d’exporter les données dans Zoho  CRM.

// ATTENTION : bien mettre ce code dans la boucle pour que chaque

// enregistrement de la boucle soit bien enregistré.


response = zoho.crm.create("Accounts",mapsoc);

}

}


Donc hors commentaires voici la fonction pour le champ Account Name.


void MigrationCRM.MI_Soc_ZC_1()

{

mapsoc = Map();

for each  s in Societe range from 1 to 5

{

mapsoc.put("Account Name",s.Societe1);

response = zoho.crm.create("Accounts",mapsoc);

}

}


Imaginons maintenant que je doivent ajouter un deuxième champ qui est un champ de type liste. Une liste qui contient plusieurs valeurs telles que : Prospect, Client, Distributeur, détaillant  etc..


Evidemment j’ai déjà créé un champ identique dans le type (de type liste à choix unique) et surtout avec les données identiques et dans le même ordre.



Variante :  Demander un changement de gestionnaire de compte : SMOWNERID



Deuxième version : ajout d’un champ de choix dans une liste

void MigrationCRM.MI_Soc_ZC_1()

{

mapsoc = Map();

// J’ai besoin d’une liste

lis = List();

for each  s in Societe range from 1 to 5

{

// puis j’ai besoin d’un seconde boucle pour prendre la liste et son index.

for each  item in s.Types_de_societe

{

lis.add(item);

}

// et enfin il faut que je rajoute ces données dans la Map originale.

mapsoc.put("ID ZC societe",s.ID);


response = zoho.crm.create("Accounts",mapsoc);

}

}


Voici le code sans commentaires :


void MigrationCRM.MI_Soc_ZC_1()

{

mapsoc = Map();

lis = List();

for each  s in Societe range from 1 to 5

{

mapsoc.put("Account Name",s.Societe1);

for each  item in s.Types_de_societe

{

lis.add(item);

}

mapsoc.put("ID ZC societe",s.ID);

response = zoho.crm.create("Accounts",mapsoc);

}

}




Troisième version : ajout de l’ID de la fiche dans Zoho Creator


mapsoc.put("ID ZC societe",s.ID);


Et voilà, il suffit ensuite d’ajouter tous les champs…..