Action personnalisée Obtenir toutes les opportunités
L'action Obtenir toutes les opportunités récupère les enregistrements d'opportunités de l'application Salesforce. Cette action est invoquée lorsque l'utilisateur affiche la table distante Opportunité.
Entrées d'actions
L'action Obtenir toutes les opportunités prend un seul paramètre sous la forme d'un nombre entier qui indique le nombre maximum d'enregistrements que la requête doit renvoyer. Les actions basées sur REST ne peuvent pas tenir compte de la pagination, c'est pourquoi il est important de limiter le nombre d'enregistrements renvoyés depuis l'application tierce. Il est déconseillé de placer plus de 1 000 enregistrements dans la table distante. Le nombre d'enregistrements par défaut est de 500.
Étape de prétraitement
L'étape de script de prétraitement traite l'entrée d'action comme la sienne.
Le script de prétraitement crée une requête SELECT pour toutes les opportunités, limitée par le nombre maximum d'enregistrements autorisés. Cette requête est basée sur le langage SOQL (Salesforce Object Query Language).
(function execute(inputs, outputs) {
outputs.query = "query/?q=SELECT+Name,Id,AccountId,CloseDate,Amount,” +
“StageName,Probability,Type+FROM+Opportunity”;
outputs.query = outputs.query +
“+LIMIT+” + inputs.max_number_of_opportunity_records;
})(inputs, outputs);
Vous devez spécifier les champs des enregistrements d'opportunités qui vous intéressent. Cet exemple utilise les champs suivants : Nom, ID, ID de compte, Date de conclusion, Montant, Nom de l'étape et Probabilité. Pour afficher la liste complète des champs disponibles, utilisez l'action Obtenir tous les champs d'opportunité.
Vous pouvez également contrôler le classement des recherches de requête en ajoutant le mot clé ORDERED BY et une valeur pour le sens du classement ASC ou DESC. Par exemple, vous pouvez ajouter la ligne suivante au script avant la ligne qui spécifie la LIMITE. Ainsi, la requête renvoie d'abord 500 enregistrements avec la date de conclusion la plus récente.
outputs.query = outputs.query + “+ORDERED+BY+CloseDate+DESC”;La sortie de prétraitement est une requête.
Étape REST
L'étape REST est une étape REST standard issue des actions basées sur REST du spoke Salesforce. Aucun changement n'est nécessaire de votre part. Assurez-vous qu'elle indique le bon alias de connexion.
Étape de post-traitement
L'étape de script de post-traitement traite l'entrée d'action et la sortie de l'étape REST comme ses propres entrées.
Le script post-traitement vérifie la réponse de la requête pour les erreurs, définit le message d'erreur si nécessaire, extrait les données d'opportunité du corps de la réponse et crée un message d'information indiquant que toutes les données de Salesforce n'ont pas été récupérées en raison de la limite du nombre d'enregistrements.
(function execute(inputs, outputs) {
try{
var response = JSON.parse(inputs.res_body);
} catch(e) {
outputs = errorHandler(inputs, outputs);
}
function createOutputJson(inputs, outputs) {
try{
outputs.records = { data: response.records };
outputs.status = "Success";
if ( outputs.records.data.length ==
inputs.max_number_of_opportunity_records ) {
outputs.info_message = "Opportunity retrieve operation was “ +
“limited to" +
inputs.max_number_of_opportunity_records +
" records.";
}
} catch(e) {
outputs = errorHandler(inputs, outputs);
}
return outputs;
}
function errorHandler(inputs, outputs) {
outputs.status = "Error";
outputs.error_message = "Unknown Error. “ +
“Please check error log for more information";
if(inputs.res_body.contains("message"))
outputs.error_message = response[0].message;
return outputs;
}
if(inputs.status_code == "200")
outputs = createOutputJson(inputs, outputs);
else
outputs = errorHandler(inputs, outputs);
})(inputs, outputs);
Les sorties de l'étape de post-traitement sont présentées ci-dessous.
Sorties d'action
Les sorties d'action comprennent l'état de la requête, les messages d'erreur et d'information, ainsi que les enregistrements d'opportunités. Les sorties d'action sont présentées dans la capture d'écran ci-dessus.