Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Version: 1.0.3
Accédez aux données de votre compte Salesforce. Insérez, mettez à jour, récupérez et interrogez des données.
Ce contenu fournit une documentation de référence sur la configuration et l'utilisation de cette extension.
Conditions préalables
Ce contenu fournit une documentation de référence sur la configuration et l'utilisation de cette extension. Avant d'utiliser l'extension à partir d'un proxy d'API avec la règle ExtensionCallout, vous devez:
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. Lors de la création d'une application connectée, vous utiliserez le fichier de certificat (.crt) pour autoriser l'extension à accéder à Salesforce.
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
Configurer une application connectée
Une application connectée à Salesforce donnera accès à l'extension Salesforce. Consultez les instructions ci-dessous pour configurer l'application.
Obtenez la clé client de l'application connectée. L'extension l'utilisera lors de l'authentification auprès de l'application.
- Dans la configuration de Salesforce, dans le panneau de navigation de gauche, accédez à Apps > App Manager (Applications > Gestionnaire d'applications).
- Dans la liste, recherchez l'application connectée que vous avez créée.
- Dans le menu déroulant situé à droite de la ligne de l'application, cliquez sur Afficher.
- Sous API (Activer les paramètres OAuth), localisez la clé client et copiez sa valeur en lieu sûr, que vous pourrez utiliser lors de la configuration de l'extension.
Configurer une application connectée pour que l'extension y accède
Avant que l'extension Salesforce puisse accéder à Salesforce, vous devez créer une application connectée à Salesforce via 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
- Connectez-vous à Salesforce.
- Cliquez sur l'icône en forme de roue dentée en haut à droite, puis sur Configuration.
- Dans le panneau de navigation de gauche, développez Applications > Gestionnaire d'applications.
- Sur la page Gestionnaire d'applications, cliquez sur Nouvelle application connectée.
- Sous Informations de base, renseignez les champs obligatoires. Les valeurs sont comptables et ne sont pas utilisées par l'extension.
- Sous (API (Activer les paramètres OAuth), cochez la case Activer les paramètres OAuth.
- 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é. - Cochez la case Utiliser des signatures numériques.
- 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. - Dans la section Champs d'application OAuth sélectionnés, ajoutez les éléments suivants sous Champs d'application OAuth sélectionnés :
- Accéder à vos données et les gérer – API
- Effectuer des requêtes en votre nom à tout moment – refresh_token, offline_access
- Cliquez sur Enregistrer. En cas d'erreur, vous devrez peut-être regénérer et importer le fichier
salesforce.crt
. - Sur la page de l'application qui s'affiche, cliquez sur Gérer.
- Sur la page Gestionnaire d'applications de l'application que vous venez de créer, cliquez sur Modifier les règles.
- 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.
- Cliquez sur Enregistrer.
- De retour sur la page de l'application, sous Profils, cliquez sur Gérer les profils.
Sur la page Attribution de profils d'application, cochez les cases correspondant aux profils utilisateur pouvant utiliser cette application.
Veillez à sélectionner le profil correspondant à l'utilisateur dont vous utiliserez le nom d'utilisateur lors de la configuration de l'extension. Assurez-vous également qu'au moins des utilisateurs disposant d'un administrateur 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, localisez l'utilisateur que l'extension représentera, puis son profil dans la colonne Profil.
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 des clients, le tout sur une plate-forme unique, toujours accessible depuis n'importe quel ordinateur ou appareil.
Actions
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ètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
Sobject | Type sObject des enregistrements à insérer. | Chaîne | Aucune | Oui. |
records | Tableau d'enregistrements sObject au format JSON. Maximum: 1000. | Array | Aucune | Oui. |
allOrNone | true fait échouer la mise à jour complète en cas d'échec d'une partie de celle-ci. |
Booléen | false | Non. |
Réponse
Un tableau results
contenant 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 de sObject généré pour le nouvel enregistrement. | Chaîne | Aucune | Oui. |
résultats[*].success | true si cet enregistrement a bien été inséré. |
Booléen | Aucune | Oui. |
résultats[*].erreurs | Tableau des erreurs, le cas échéant, interceptées pendant l'exécution. | Array | Aucune | 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ètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
Sobject | Type sObject des enregistrements à mettre à jour. | Chaîne | Aucune | Oui. |
records | Tableau d'enregistrements sObject au format JSON. Chaque enregistrement à mettre à jour doit inclure l'identifiant de l'enregistrement. Maximum: 1000. | Array | Aucune | Oui. |
allOrNone | true fait échouer la mise à jour complète en cas d'échec d'une partie de celle-ci. |
Booléen | false | Non. |
Réponse
Tableau results
contenant les résultats de la mise à jour.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Paramètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
results[*].id | ID de l'objet sObject généré pour l'enregistrement mis à jour. | Chaîne | Aucune | Oui. |
résultats[*].success | true si cet enregistrement a bien été inséré. |
Booléen | Aucune | Oui. |
résultats[*].erreurs | Tableau des erreurs, le cas échéant, interceptées pendant l'exécution. | Array | Aucune | Oui. |
retrieve
Récupère les enregistrements en tant qu'objets sObject à l'aide de leur identifiant. 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ètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
Sobject | Type sObject des enregistrements à récupérer. | Chaîne | Aucune | Oui. |
ids | Tableau d'ID sObject à récupérer. Maximum: 1000. | Array | Aucune | Oui. |
allOrNone | true fait échouer l'opération dans son intégralité si une partie de la requête échoue. |
Booléen | false | Non. |
Réponse
Tableau records
d'objets sObject représenté au format JSON. Notez que toutes les propriétés des objets sont incluses dans le fichier JSON, même si la valeur de la propriété est nulle.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
Interrogez 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ètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
SoqL | Instruction SOQL à utiliser pour l'interrogation. | Chaîne | Aucune | 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ètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
totalSize | Nombre d'enregistrements renvoyés par la requête. | Entier | Aucune | Oui. |
records | Tableau d'enregistrements renvoyés sous forme de sObjects au format JSON. Maximum: 1000. | Array | Aucune | Oui. |
OK | true si l'opération de requête est terminée |
Booléen | Aucune | 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ètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
Sobject | Type sObject des enregistrements à répertorier. | Chaîne | Aucune | Oui. |
limite | Nombre maximal d'enregistrements à renvoyer. | Entier | 1 000 | Non. |
offset | Décalage pour les enregistrements à répertorier. | Entier | 0 |
Non. |
Réponse
Tableau records
contenant les sObjects listés au format JSON.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
sup
Supprimer 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ètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
Sobject | Type sObject des enregistrements à supprimer. | Chaîne | Aucune | Oui. |
ids | Tableau des ID sObject des enregistrements à supprimer. Maximum: 1000. | Array | Aucune | 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 | sObject de l'enregistrement spécifié. | Chaîne | Aucune | Oui. |
résultats[*].success | true si l'opération a réussi pour l'enregistrement. |
Booléen | Aucune | Oui. |
résultats[*].erreurs | Tableau des erreurs, le cas échéant, interceptées pendant l'exécution. | Array | Aucune | Oui. |
getAccessToken
Permet d'obtenir le 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
Aucune
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 | Aucune | Oui. |
champ d'application | Champs d'application au sein desquels le jeton fournit l'accès. | Chaîne | Aucune | Oui. |
instanceUrl | URL de l'instance utilisée par l'organisation Salesforce. | Chaîne | Aucune | Oui. |
id | ID de l'application associée. | Chaîne | Aucune | Oui. |
tokenType | Saisissez le jeton d'accès. | Chaîne | Support | Oui. |
Documentation de référence sur la configuration
Utilisez le code suivant lorsque vous configurez et déployez cette extension pour l'utiliser dans des proxys d'API.
Propriétés d'extension courantes
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 les valeurs des 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 auprès de Salesforce. Généralement https://login.salesforce.com |
Aucune | 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 de la section Conditions préalables pour récupérer votre clé client. | Aucune | Oui. |
Identifiant | Lorsqu'il est saisi dans la console Apigee Edge, il s'agit du contenu du fichier salesforce.key que vous avez généré lors des étapes ci-dessus. Lorsqu'elle est envoyée via l'API de gestion, il s'agit d'une valeur encodée en base64 générée à partir du fichier salesforce.key. | Aucune | 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. | Aucune | Oui. |