Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X. info
Versione: 1.0.5
Accedere ai dati nel tuo account Salesforce. Inserire, aggiornare, recuperare e eseguire query sui dati.
Questi contenuti forniscono un riferimento per la configurazione e l'utilizzo di questa estensione.
Prerequisiti
Questi contenuti forniscono un riferimento per la configurazione e l'utilizzo di questa estensione. Prima di utilizzare l'estensione da un proxy API utilizzando il criterio ExtensionCallout, devi:
Crea una coppia di certificazione/chiave privata RSA x509.
Utilizzerai la chiave privata (.key) come credenziali durante la configurazione dell'estensione. Utilizzerai il file del certificato (.crt) quando crei un'app collegata che concederà all'estensione l'accesso a Salesforce.
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
-
Un'app collegata a Salesforce fornirà l'accesso per l'estensione Salesforce. Segui le istruzioni riportate di seguito per configurare l'app.
Recupera la chiave consumer per l'app collegata. L'estensione la utilizzerà per l'autenticazione con l'app.
- Nella configurazione di Salesforce, nel riquadro di navigazione a sinistra, vai a App > Gestore app.
- Nell'elenco, individua l'app collegata che hai creato.
- Nel menu a discesa a destra nella riga dell'applicazione, fai clic su Visualizza.
- In API (Attiva impostazioni OAuth), individua la chiave consumer e copia il relativo valore in un luogo sicuro per utilizzarlo durante la configurazione dell'estensione.
Configurare un'app collegata per l'accesso da parte dell'estensione
Prima che l'estensione Salesforce possa accedere a Salesforce, devi creare un'app collegata a Salesforce tramite la quale l'estensione possa connettersi a Salesforce.
In Salesforce, un'app collegata consente alle applicazioni esterne di connettersi a Salesforce tramite API.
Per configurare un'app collegata
- Accedi a Salesforce.
- Fai clic sull'icona a forma di ingranaggio in alto a destra e poi su Configurazione.
- Nel riquadro di navigazione a sinistra, espandi App > Gestore app.
- Nella pagina Gestione app, fai clic su Nuova app collegata.
- In Informazioni di base, compila i campi obbligatori. I valori sono per la contabilità e non vengono utilizzati dall'estensione.
- In API (Attiva impostazioni OAuth), seleziona la casella di controllo Attiva impostazioni OAuth.
- Anche se non viene utilizzato dall'estensione, inserisci un URL di callback. Puoi utilizzare
http://localhost/
o un altro host segnaposto. - Seleziona la casella di controllo Utilizza firme digitali.
- In Utilizza le firme digitali, fai clic su Scegli file per individuare e caricare il file
salesforce.crt
generato in precedenza. - Nella sezione Ambiti OAuth selezionati, aggiungi quanto segue in modo che siano inclusi in Ambiti OAuth selezionati:
- Accedere ai dati e gestirli (API)
- Eseguire richieste per tuo conto in qualsiasi momento (refresh_token, offline_access)
- Fai clic su Salva. In caso di errori, potrebbe essere necessario rigenerare e ricaricare il file
salesforce.crt
. - Nella pagina dell'app visualizzata, fai clic su Gestisci.
- Nella pagina Gestione app dell'app appena creata, fai clic su Modifica criteri.
- In Criteri OAuth, fai clic sul menu a discesa Utenti consentiti e poi su Gli utenti approvati dall'amministratore sono preautorizzati.
- Fai clic su Salva.
- Torna alla pagina dell'app e fai clic su Gestisci profili in Profili.
Nella pagina Assegnazione profilo dell'applicazione, seleziona le caselle di controllo per i profili utente che possono utilizzare questa applicazione.
Assicurati di selezionare un profilo corrispondente all'utente di cui utilizzerai il nome utente durante la configurazione dell'estensione. Assicurati inoltre che almeno gli utenti Amministratore di sistema abbiano accesso a questa applicazione.
Puoi visualizzare l'impostazione del profilo dell'utente in Salesforce. Nell'area Configurazione, espandi Utenti > Utenti, individua l'utente che l'estensione rappresenterà e poi il suo profilo nella colonna Profilo.
Fai clic su Salva.
Informazioni su Salesforce
Salesforce è una piattaforma di gestione dei rapporti con i clienti (CRM). Il Customer Relationship Management aiuta le aziende a comprendere le esigenze dei clienti e a risolvere i problemi gestendo meglio le informazioni e le interazioni con i clienti, il tutto su un'unica piattaforma sempre accessibile da qualsiasi computer o dispositivo.
Azioni
insert
Inserisci i record come tipi di sObject.
Sintassi
<Action>insert</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records":[ records-to-insert ],
"allOrNone": true | false
}]]></Input>
Esempio
<Action>insert</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{ "Name": "MyAccountName" }
],
"allOrNone": true
}]]></Input>
Parametri di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
sobject | Il tipo sObject dei record da inserire. | Stringa | Nessuno. | Sì. |
record | Array di record sObject in JSON. Massimo: 1000. | Array | Nessuno. | Sì. |
allOrNone | true per annullare l'intero aggiornamento se una parte non va a buon fine. |
Booleano | falso | No. |
Risposta
Un array results
con i risultati dell'operazione di inserimento.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Proprietà | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
results[*].id | L'ID sObject generato per il nuovo record. | Stringa | Nessuno. | Sì. |
results[*].success | true se l'inserimento del record è andato a buon fine. |
Booleano | Nessuno. | Sì. |
results[*].errors | Array di errori, se presenti, rilevati durante l'esecuzione. | Array | Nessuno. | Sì. |
update
Aggiorna i record Salesforce.
Sintassi
<Action>update</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records": [ records-to-update ],
"allOrNone": true | false
}]]></Input>
Esempio
<Action>update</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{
"id":"0011U00000LQ76KQAT",
"Name": "MyNewAccountName"
}
],
"allOrNone": true
}]]></Input>
Parametri di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
sobject | Il tipo sObject dei record da aggiornare. | Stringa | Nessuno. | Sì. |
record | Array di record sObject in JSON. Ogni record da aggiornare deve includere il valore ID del record. Massimo: 1000. | Array | Nessuno. | Sì. |
allOrNone | true per annullare l'intero aggiornamento se una parte non va a buon fine. |
Booleano | falso | No. |
Risposta
Un array results
contenente i risultati dell'aggiornamento.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
results[*].id | L'ID sObject generato per il record aggiornato. | Stringa | Nessuno. | Sì. |
results[*].success | true se l'inserimento del record è andato a buon fine. |
Booleano | Nessuno. | Sì. |
results[*].errors | Array di errori, se presenti, rilevati durante l'esecuzione. | Array | Nessuno. | Sì. |
retrieve
Recupera i record come sObjects in base ai relativi ID. Restituisce tutti i campi del tipo sObject.
Sintassi
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
Esempio
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
Parametri di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
sobject | Il tipo sObject dei record da recuperare. | Stringa | Nessuno. | Sì. |
ids | Array di record di ID sObject da recuperare. Massimo: 1000. | Array | Nessuno. | Sì. |
allOrNone | true per far fallire l'intera operazione se una parte della richiesta non va a buon fine. |
Booleano | falso | No. |
Risposta
Un array records
di sObjects rappresentati come JSON. Tieni presente che tutte le proprietà degli oggetti sono incluse nel JSON, anche se il valore della proprietà è nullo.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
Esegui query su Salesforce.com utilizzando il linguaggio SOQL (Salesforce Object Query Language).
Sintassi
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": soql-query-statement
}]]></Input>
Esempio
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": "SELECT Id, Name FROM Account"
}]]></Input>
Parametri di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
soql | Istruzione SOQL con cui eseguire la query. | Stringa | Nessuno. | Sì. |
Risposta
Risultati della query.
{
totalSize: 2,
records: [
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76KQAT',
Name: 'AccountName1'
},
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76LQAT',
Name: 'AccountName2'
}
],
done: true
}
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
totalSize | Numero di record restituiti dalla query. | Numero intero | Nessuno. | Sì. |
record | Array di record restituiti come sObjects in JSON. Massimo: 1000. | Array | Nessuno. | Sì. |
fine | true se l'operazione di query è stata completata. |
Booleano | Nessuno. | Sì. |
list
Elenca i record di Salesforce.com. Restituisce tutti i campi del tipo sObject specificato.
Sintassi
<Action>list</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"limit": max-number-of-records,
"offset": record-index-at-which-to-begin-response-set
}]]></Input>
Esempio
<Action>list</Action>
<Input><![CDATA[{
"sobject": "Account",
"limit": 1000,
"offset": 0
}]]></Input>
Parametri di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
sobject | Il tipo sObject dei record da elencare. | Stringa | Nessuno. | Sì. |
limite | Il numero massimo di record da restituire. | Numero intero | 1000 | No. |
offset | Offset per i record da elencare. | Numero intero | 0 |
No. |
Risposta
Un array records
contenente sObjects elencati come JSON.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
ce
Elimina i record con gli ID specificati.
Sintassi
<Action>del</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
Esempio
<Action>del</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
Parametri di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
sobject | Il tipo sObject dei record da eliminare. | Stringa | Nessuno. | Sì. |
ids | Array di ID sObject per i record da eliminare. Massimo: 1000. | Array | Nessuno. | Sì. |
Risposta
Un array results
contenente i risultati dell'operazione.
{
results:[
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Proprietà | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
results[*].id | ID sObject del record specificato. | Stringa | Nessuno. | Sì. |
results[*].success | true se l'operazione è andata a buon fine per la registrazione. |
Booleano | Nessuno. | Sì. |
results[*].errors | Array di errori, se presenti, rilevati durante l'esecuzione. | Array | Nessuno. | Sì. |
getAccessToken
Ottieni il token di accesso all'API Salesforce.com. Può essere utilizzato per eseguire query sulle API REST.
Sintassi
<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>
Parametri di richiesta
Nessuno.
Risposta
Il token di accesso in JSON.
{
"accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
"scope":"api",
"instanceUrl": "https://na85.salesforce.com",
"id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
"tokenType": "Bearer"
}
Proprietà | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
accessToken | Il token di accesso. | Stringa | Nessuno. | Sì. |
ambito | Ambiti entro i quali il token fornisce l'accesso. | Stringa | Nessuno. | Sì. |
instanceUrl | URL dell'istanza utilizzata dall'organizzazione Salesforce. | Stringa | Nessuno. | Sì. |
id | ID dell'app collegata. | Stringa | Nessuno. | Sì. |
tokenType | Digita il token di accesso. | Stringa | Canale di trasporto | Sì. |
Riferimento alla configurazione
Utilizza quanto segue quando configuri ed esegui il deployment di questa estensione per utilizzarla nei proxy API.
Proprietà comuni delle estensioni
Per ogni estensione sono presenti le seguenti proprietà.
Proprietà | Descrizione | Predefinito | Obbligatorio |
---|---|---|---|
name |
Il nome che assegni a questa configurazione dell'estensione. | Nessuno | Sì |
packageName |
Nome del pacchetto dell'estensione fornito da Apigee Edge. | Nessuno | Sì |
version |
Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. | Nessuno | Sì |
configuration |
Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni | Nessuno | Sì |
Proprietà per questo pacchetto di estensioni
Specifica i valori per le seguenti proprietà di configurazione specifiche di questa estensione.
Proprietà | Descrizione | Predefinito | Obbligatorio |
---|---|---|---|
URL del server di autorizzazione | L'URL da utilizzare per ottenere l'autorizzazione da Salesforce. In genere, si tratta di https://login.salesforce.com |
Nessuno. | Sì. |
Chiave consumer dell'app collegata | La chiave consumer fornita da Salesforce per l'app collegata che hai creato. Per recuperare la chiave consumer, consulta le istruzioni riportate in Prerequisiti. | Nessuno. | Sì. |
Credenziale | Se inserito nella console Apigee Edge, si tratta dei contenuti del file salesforce.key generato nei passaggi precedenti. Se inviato tramite l'API di gestione, è un valore con codifica Base64 generato dal file salesforce.key. | Nessuno. | Sì. |
Nome utente dell'utente Salesforce | Il nome utente associato all'app collegata che hai creato. L'estensione Salesforce lo utilizzerà per ottenere l'autorizzazione da Salesforce. | Nessuno. | Sì. |