Action personnalisée Obtenir toutes les opportunités
L’action Get All Opportunities (Obtenir toutes les opportunités ) récupère les enregistrements d’opportunité dans l’application Salesforce. Cette action est invoquée lorsque vous affichez la table Opportunité distante.
Entrées d'actions
L’action Obtenir toutes les opportunités utilise un paramètre de nombre entier unique qui identifie le nombre maximal d’enregistrements à renvoyer par la requête. Les actions basées sur REST ne peuvent pas prendre en charge la pagination et, pour cette raison, il est important de limiter le nombre d’enregistrements renvoyés par l’application tierce. Il n’est pas recommandé de placer plus de 1 000 enregistrements dans la table distante. Le nombre d’enregistrements par défaut est 500.
Étape de prétraitement
L’étape de script de prétraitement considère 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ées par le nombre maximal d’enregistrements autorisés. Cette requête est basée sur le langage de requête d’objet Salesforce (SOQL).
(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é qui vous intéressent. Cet exemple utilise les champs suivants : Nom, ID, ID de compte, Date de clôture, Montant, Nom de l’étape et Probabilité. Pour afficher la liste complète des champs disponibles, utilisez l’action Obtenir les champs d’opportunité .
Vous pouvez également contrôler l’ordre de la recherche de requête en ajoutant le mot-clé ORDERED BY et la valeur pour la direction d’ordre ASC ou DESC. Par exemple, vous pouvez ajouter la ligne suivante au script avant la ligne spécifiant la LIMITE. La requête renvoie alors les 500 premiers enregistrements avec la date de fermeture 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 des actions basées sur REST du spoke Salesforce. Vous n’avez pas besoin d’apporter de modifications. Assurez-vous qu’il pointe vers l’alias de connexion correct.
Étape de post-traitement
L’étape de script de post-traitement prend l’entrée d’action et la sortie de l’étape REST comme entrées.
Le script de post-traitement vérifie la réponse à la requête pour rechercher des 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 pour indiquer que toutes les données n’ont pas été récupérées à partir de Salesforce en raison de la limitation 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);
Voici les résultats de l’étape de post-traitement.
Sorties d'action
Les sorties d’action comprennent l’état de la requête, les messages d’erreur et d’information et les enregistrements d’opportunité. Consultez la capture d’écran précédente pour les sorties d’action.