Action personnalisée Obtenir toutes les opportunités

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • 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 vous affichez la table Opportunité distante.

    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 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 de 500.

    Écran d’entrées pour l’action Obtenir toutes les opportunités affichant l’entrée d’action et sa valeur par défaut.

    Étape de prétraitement

    L'étape de script de prétraitement traite l'entrée d'action comme la sienne.

    Écran d’étape de prétraitement affichant l’entrée d’action avec un sélecteur de pilules pour générer une requête.

    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é 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. 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.

    Section de variable de sortie affichant le paramètre de requête comme sortie.

    Étape REST

    L'étape REST est une étape REST standard issue des actions basées sur REST du spoke Salesforce. Vous n’avez aucune modification à apporter. Assurez-vous qu'elle indique le bon alias de connexion.

    Étape REST : écran affichant les détails de connexion et les détails de la demande pour vérification.

    É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.

    Post-traitement Écran d’étape affichant les entrées, y compris l’entrée d’action et les variables d’entrée.

    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.

    Écran de variables de sortie dans l’étape de post-traitement affichant les enregistrements, les error_messages, les info_messages et les variables d’état.

    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. Voir la capture d’écran précédente pour les sorties d’action.