Extension Salesforce

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

<ph type="x-smartling-placeholder">

Version: 1.0.2

Accédez aux données de votre compte Salesforce. Insérer, mettre à jour, récupérer et interroger des données

Ce contenu fournit des informations de référence pour configurer et utiliser cette extension.

Prérequis

Ce contenu fournit des informations de référence pour configurer et utiliser cette extension. Avant d'utiliser l'extension à partir d'un proxy d'API à l'aide de la règle ExtensionCall, vous devez:

  1. Créez une paire clé privée/certificat RSA x509.

    Vous utiliserez la clé privée (.key) comme identifiant lors de la configuration de l'extension. Vous utiliserez le fichier de certificat (.crt) lors de la création d'une application connectée qui permettra à l'extension d'accéder à Salesforce.

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. Configurer une application connectée

    Une application Salesforce connectée fournira l'accès à l'extension Salesforce. Consultez les instructions ci-dessous pour configurer l'application.

  3. Obtenez la clé client de l'application connectée. L'extension l'utilisera lors de l'authentification avec l'application.

    1. Dans la configuration de Salesforce, dans le panneau de navigation de gauche, accédez à Applications > Gestionnaire d'applications.
    2. Dans la liste, recherchez l'application connectée que vous avez créée.
    3. Dans le menu déroulant situé à droite de la ligne de l'application, cliquez sur Afficher.
    4. Sous API (Activer les paramètres OAuth), localisez la clé client et copiez sa valeur dans un endroit sûr, où vous pourrez l'utiliser lors de la configuration de l'extension.

Configurer une application connectée pour que l'extension puisse y accéder

Avant que l'extension Salesforce puisse accéder à Salesforce, vous devez créer une application Salesforce connectée par le biais de laquelle l'extension peut se connecter à Salesforce.

Dans Salesforce, une application connectée permet aux applications externes de se connecter à Salesforce via des API.

Configurer une application connectée

  1. Connectez-vous à Salesforce.
  2. Cliquez sur l'icône en forme de roue dentée en haut à droite, puis sur Configuration.
  3. Dans la barre de navigation de gauche, développez Applications > Gestionnaire d'applications.
  4. Sur la page Gestionnaire d'applications, cliquez sur Nouvelle application connectée.
  5. Sous Informations de base, renseignez les champs obligatoires. Ces valeurs sont destinées à la comptabilité. elles ne sont pas utilisées par l'extension.
  6. Sous (API (Activer les paramètres OAuth), cochez la case Activer les paramètres OAuth.
  7. Bien qu'elle ne soit pas utilisée par l'extension, saisissez une URL de rappel. Vous pouvez utiliser http://localhost/ ou un autre hôte réservé.
  8. Cochez la case Utiliser des signatures numériques.
  9. Sous Utiliser des signatures numériques, cliquez sur Sélectionner un fichier pour rechercher et importer le fichier salesforce.crt que vous avez généré précédemment.
  10. Dans la section Selected OAuth Scopes (Champs d'application OAuth sélectionnés), ajoutez les lignes suivantes pour qu'elles apparaissent sous Selected OAuth Scopes (Champs d'application OAuth sélectionnés) : <ph type="x-smartling-placeholder">
      </ph>
    • Accéder à vos données et les gérer – API
    • Effectuer des requêtes en votre nom à tout moment – refresh_token, offline_access
  11. Cliquez sur Enregistrer. En cas d'erreur, vous devrez peut-être générer et importer à nouveau le fichier salesforce.crt.
  12. Sur la page de l'application qui s'affiche, cliquez sur Gérer.
  13. Sur la page Gestionnaire d'applications de l'application que vous venez de créer, cliquez sur Modifier les règles.
  14. Sous Règles OAuth, cliquez sur le menu déroulant Utilisateurs autorisés, puis sur Les utilisateurs approuvés par l'administrateur sont pré-autorisés.
  15. Cliquez sur Enregistrer.
  16. De retour sur la page de l'application, sous Profils, cliquez sur Gérer les profils.
  17. Sur la page Attribution des profils d'application, cochez les cases correspondant aux profils utilisateur autorisés à utiliser cette application.

    Veillez à sélectionner un profil correspondant à l'utilisateur dont vous utiliserez le nom d'utilisateur pour configurer l'extension. Assurez-vous également qu'au moins les administrateurs système ont accès à cette application.

    Vous pouvez afficher le paramètre de profil de l'utilisateur dans Salesforce. Dans la zone Configuration, développez Utilisateurs > Utilisateurs : recherchez l'utilisateur que l'extension représentera, puis recherchez son profil dans la colonne Profil.

  18. Cliquez sur Enregistrer.

À propos de Salesforce

Salesforce est une plate-forme de gestion de la relation client (CRM, customer relationship management). La gestion de la relation client aide les entreprises à comprendre les besoins de leurs clients et résoudre les problèmes en gérant mieux les informations et les interactions avec les clients, le tout sur une plate-forme unique, toujours accessible depuis n'importe quel ordinateur ou appareil.

Actions

<ph type="x-smartling-placeholder">

insert

Insérez des enregistrements en tant que types sObject.

Syntaxe

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records":[ records-to-insert ],
  "allOrNone": true | false
}]]></Input>

Exemple

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    { "Name": "MyAccountName" }
  ],
  "allOrNone": true
}]]></Input>

Paramètres de requête

Paramètre Description Type Par défaut Obligatoire
sobject Type sObject des enregistrements à insérer. Chaîne Aucun Oui.
records Tableau d'enregistrements sObject au format JSON. Maximum: 1000. Tableau Aucun Oui.
allOrNone true pour faire échouer la mise à jour complète en cas d'échec d'une partie de la mise à jour. Booléen faux Non.

Réponse

Un tableau results avec les résultats de l'opération d'insertion.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Propriété Description Type Par défaut Obligatoire
results[*].id ID sObject généré pour le nouvel enregistrement. Chaîne Aucun Oui.
results[*].success true si l'enregistrement a bien été inséré. Booléen Aucun Oui.
results[*].errors Tableau des erreurs, le cas échéant, détectées lors de l'exécution. Tableau Aucun Oui.

update

Mettez à jour les enregistrements Salesforce.

Syntaxe

<Action>update</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records": [ records-to-update ],
  "allOrNone": true | false
}]]></Input>

Exemple

<Action>update</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    { 
      "id":"0011U00000LQ76KQAT",
      "Name": "MyNewAccountName" 
    }
  ],
  "allOrNone": true
}]]></Input>

Paramètres de requête

Paramètre Description Type Par défaut Obligatoire
sobject Type sObject des enregistrements à mettre à jour. Chaîne Aucun Oui.
records Tableau d'enregistrements sObject au format JSON. Chaque enregistrement à mettre à jour doit inclure la valeur de l'ID de l'enregistrement. Maximum: 1000. Tableau Aucun Oui.
allOrNone true pour faire échouer la mise à jour complète en cas d'échec d'une partie de la mise à jour. Booléen faux Non.

Réponse

Un tableau results contenant les résultats de la mise à jour.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Paramètre Description Type Par défaut Obligatoire
results[*].id ID sObject généré pour l'enregistrement mis à jour. Chaîne Aucun Oui.
results[*].success true si l'enregistrement a bien été inséré. Booléen Aucun Oui.
results[*].errors Tableau des erreurs, le cas échéant, détectées lors de l'exécution. Tableau Aucun Oui.

retrieve

Récupérez les enregistrements en tant que sObjects à l'aide de leurs ID. Renvoie tous les champs du type sObject.

Syntaxe

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

Exemple

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

Paramètres de requête

Paramètre Description Type Par défaut Obligatoire
sobject Type sObject des enregistrements à récupérer. Chaîne Aucun Oui.
ids Tableau d'enregistrements d'ID sObject à récupérer. Maximum: 1000. Tableau Aucun Oui.
allOrNone true pour faire échouer l'ensemble de l'opération si une partie de la requête échoue. Booléen faux Non.

Réponse

Un tableau records de sObjects représentés au format JSON. Notez que toutes les propriétés des objets sont incluses dans le fichier JSON, même si leur valeur est nulle.

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

querySOQL

Envoyez une requête à Salesforce.com à l'aide du langage de requête d'objet Salesforce (SOQL).

Syntaxe

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": soql-query-statement
}]]></Input>

Exemple

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": "SELECT Id, Name FROM Account"
}]]></Input>

Paramètres de requête

Paramètre Description Type Par défaut Obligatoire
Soql Instruction SOQL à utiliser pour la requête. Chaîne Aucun Oui.

Réponse

Résultats de la requête.

{
  totalSize: 2,
  records: [
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76KQAT',
      Name: 'AccountName1'
    },
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76LQAT',
      Name: 'AccountName2'
    }
  ],
  done: true
}
Paramètre Description Type Par défaut Obligatoire
totalSize Nombre d'enregistrements renvoyés par la requête. Entier Aucun Oui.
records Tableau d'enregistrements renvoyés sous forme de sObjects au format JSON. Maximum: 1000. Tableau Aucun Oui.
OK true si l'opération de requête est terminée. Booléen Aucun Oui.

list

Répertorier les enregistrements Salesforce.com. Renvoie tous les champs du type sObject spécifié.

Syntaxe

<Action>list</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "limit": max-number-of-records,
  "offset": record-index-at-which-to-begin-response-set
}]]></Input>

Exemple

<Action>list</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "limit": 1000,
  "offset": 0
}]]></Input>

Paramètres de requête

Paramètre Description Type Par défaut Obligatoire
sobject Type sObject des enregistrements à répertorier. Chaîne Aucun Oui.
limite Nombre maximal d'enregistrements à renvoyer. Entier 1000 Non.
offset Décalage pour les enregistrements à répertorier. Entier 0 Non.

Réponse

Un tableau records contenant les objets sObject listés au format JSON.

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

sup

Supprimez les enregistrements avec les ID spécifiés.

Syntaxe

<Action>del</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

Exemple

<Action>del</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

Paramètres de requête

Paramètre Description Type Par défaut Obligatoire
sobject Type sObject des enregistrements à supprimer. Chaîne Aucun Oui.
ids Tableau d'ID sObject pour les enregistrements à supprimer. Maximum: 1000. Tableau Aucun Oui.

Réponse

Un tableau results contenant les résultats de l'opération.

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Propriété Description Type Par défaut Obligatoire
results[*].id ID sObject de l'enregistrement spécifié. Chaîne Aucun Oui.
results[*].success true si l'opération a réussi pour l'enregistrement. Booléen Aucun Oui.
results[*].errors Tableau des erreurs, le cas échéant, détectées lors de l'exécution. Tableau Aucun Oui.

getAccessToken

Permet d'obtenir un jeton d'accès à l'API Salesforce.com. Permet d'interroger les API REST.

Syntaxe

<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>

Paramètres de requête

Aucun

Réponse

Jeton d'accès au format JSON.

{
  "accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
  "scope":"api",
  "instanceUrl": "https://na85.salesforce.com",
  "id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
  "tokenType": "Bearer"
}
Propriété Description Type Par défaut Obligatoire
accessToken Jeton d'accès. Chaîne Aucun Oui.
champ d'application Champs d'application dans lesquels le jeton fournit un accès. Chaîne Aucun Oui.
instanceUrl URL de l'instance utilisée par l'organisation Salesforce. Chaîne Aucun Oui.
id ID de l'application associée. Chaîne Aucun Oui.
tokenType Type du jeton d'accès. Chaîne Réseau Oui.

Documentation de référence sur la configuration

Procédez comme suit lorsque vous configurez et déployez cette extension afin de l'utiliser dans des proxys d'API.

Propriétés courantes des extensions

Les propriétés suivantes sont présentes pour chaque extension.

Propriété Description Par défaut Obligatoire
name Nom que vous attribuez à cette configuration de l'extension. Aucune Oui
packageName Nom du package d'extension tel qu'indiqué par Apigee Edge. Aucune Oui
version Numéro de version du package d'extension à partir duquel vous configurez une extension. Aucune Oui
configuration Valeur de configuration spécifique à l'extension que vous ajoutez. Consultez Propriétés de ce package d'extension. Aucune Oui

Propriétés de ce package d'extension

Spécifiez des valeurs pour les propriétés de configuration suivantes, spécifiques à cette extension.

Propriété Description Par défaut Obligatoire
URL du serveur d'autorisation URL à utiliser lors de l'obtention de l'autorisation de Salesforce. Il s'agit généralement de https://login.salesforce.com Aucun Oui.
Clé client de l'application connectée Clé client fournie par Salesforce pour l'application connectée que vous avez créée. Consultez les instructions sous Conditions préalables pour récupérer votre clé client. Aucun Oui.
Identifiant Lorsque vous l'avez saisi dans la console Apigee Edge, il s'agit du contenu du fichier salesforce.key que vous avez généré aux étapes ci-dessus. Lorsqu'elle est envoyée via l'API de gestion, la valeur est encodée en base64 et générée à partir du fichier salesforce.key. Aucun Oui.
Nom d'utilisateur de l'utilisateur Salesforce Le nom d'utilisateur associé à l'application connectée que vous avez créée L'extension Salesforce l'utilisera pour obtenir l'autorisation de Salesforce. Aucun Oui.