Estensione Salesforce

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Versione: 2.0.2

Accedere ai dati nel tuo account Salesforce. Inserisci, aggiorna, recupera ed esegui 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:

  1. Crea una coppia di certificati o una 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 connessa che darà all'estensione l'accesso a Salesforce.

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. Configura un'app collegata.

    Un'app collegata a Salesforce fornirà l'accesso per l'estensione Salesforce. Consulta le istruzioni per configurare l'app.

  3. Recupera la chiave consumer per l'app connessa. L'estensione la utilizzerà per l'autenticazione con l'app.

    1. Nella configurazione di Salesforce, nel riquadro di navigazione a sinistra, vai a App > App Manager.
    2. Nell'elenco, individua l'app connessa che hai creato.
    3. Dal menu a discesa a destra nella riga dell'applicazione, fai clic su Visualizza.
    4. In API (Enable OAuth Settings) (API (Abilita impostazioni OAuth)), individua la Consumer Key (Chiave utente) e copia il relativo valore in un luogo sicuro da utilizzare 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 connessa consente alle applicazioni esterne di connettersi a Salesforce tramite le API.

Per configurare un'app connessa

  1. Accedi a Salesforce.
  2. Fai clic sull'icona a forma di ingranaggio in alto a destra, poi su Configurazione.
  3. Nel riquadro di navigazione a sinistra, espandi App > Gestione app.
  4. Nella pagina App Manager, fai clic su Nuova app connessa.
  5. Nella sezione Informazioni di base, compila i campi obbligatori. I valori sono per la contabilità e non vengono utilizzati dall'estensione.
  6. In API (Enable OAuth Settings) (API (Abilita impostazioni OAuth)), seleziona la casella di controllo Enable OAuth Settings (Abilita impostazioni OAuth).
  7. Anche se non viene utilizzato dall'estensione, inserisci un URL di callback. Puoi utilizzare http://localhost/ o un altro host segnaposto.
  8. Seleziona la casella di controllo Utilizza firme digitali.
  9. In Utilizza firme digitali, fai clic su Scegli file per individuare e caricare il file salesforce.crt che hai generato in precedenza.
  10. Nella sezione Ambiti OAuth selezionati, aggiungi i seguenti ambiti in modo che vengano visualizzati in Ambiti OAuth selezionati:
    • Accedere ai dati e gestirli (API)
    • Eseguire richieste per tuo conto in qualsiasi momento (refresh_token, offline_access)
  11. Fai clic su Salva. Se sono presenti errori, potresti dover generare e caricare di nuovo il file salesforce.crt.
  12. Nella pagina dell'app visualizzata, fai clic su Gestisci.
  13. Nella pagina App Manager dell'app appena creata, fai clic su Modifica norme.
  14. In Norme OAuth, fai clic sul menu a discesa Utenti autorizzati, quindi fai clic su Gli utenti approvati dall'amministratore sono preautorizzati.
  15. Fai clic su Salva.
  16. Nella pagina dell'app, in Profili, fai clic su Gestisci profili.
  17. Nella pagina Assegnazione profilo applicazione, seleziona le caselle di controllo per i profili utente che possono utilizzare questa applicazione.

    Assicurati di selezionare un profilo corrispondente all'utente il cui nome utente utilizzerai per configurare l'estensione. Assicurati inoltre che almeno gli utenti Amministratore di sistema abbiano accesso a questa applicazione.

    Puoi visualizzare l'impostazione del profilo per l'utente in Salesforce. Nell'area Configurazione, espandi Utenti > Utenti, individua l'utente che l'estensione rappresenterà, quindi individua il suo profilo nella colonna Profilo.

  18. Fai clic su Salva.

Informazioni su Salesforce

Salesforce è una piattaforma per la gestione dei rapporti con i clienti (CRM). La gestione delle relazioni con i clienti aiuta le aziende a comprendere le esigenze dei clienti e a risolvere i problemi gestendo meglio le informazioni e le interazioni con i clienti, 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 di sObject dei record da inserire. Stringa Nessuno. Sì.
record Array di record sObject in formato JSON. Massimo: 1000. Array Nessuno. Sì.
allOrNone true per non riuscire a completare 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 è riuscito. 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 di sObject dei record da aggiornare. Stringa Nessuno. Sì.
record Array di record sObject in formato JSON. Ogni record da aggiornare deve includere il valore ID del record. Massimo: 1000. Array Nessuno. Sì.
allOrNone true per non riuscire a completare 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 è riuscito. Booleano Nessuno. Sì.
results[*].errors Array di errori, se presenti, rilevati durante l'esecuzione. Array Nessuno. Sì.

recupero

Recupera i record come sObject 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 di sObject dei record da recuperare. Stringa Nessuno. Sì.
id Array di record di ID sObject da recuperare. Massimo: 1000. Array Nessuno. Sì.
allOrNone true per non riuscire a completare l'intera operazione se una parte della richiesta non va a buon fine. Booleano falso No.

Risposta

Un array records di sObject 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 di query per oggetti Salesforce (SOQL).

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 da utilizzare per 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 sObject 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 di 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 di 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 gli sObject 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 di sObject dei record da eliminare. Stringa Nessuno. Sì.
id 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 è riuscita per il record. Booleano Nessuno. Sì.
results[*].errors Array di errori, se presenti, rilevati durante l'esecuzione. Array Nessuno. Sì.

getAccessToken

Recupera il token di accesso 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 formato 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 in cui 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 l'utilizzo 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
packageName Nome del pacchetto dell'estensione fornito da Apigee Edge. Nessuno
version Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. Nessuno
configuration Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni Nessuno

Proprietà di 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, questo valore è https://login.salesforce.com Nessuno. Sì.
Chiave consumer dell'app connessa La chiave utente fornita da Salesforce per l'app connessa che hai creato. Per recuperare la chiave consumer, consulta le istruzioni riportate in Prerequisiti. Nessuno. Sì.
Credenziale Se inserito nella console Apigee Edge, questo è il contenuto del file salesforce.key che hai generato nei passaggi. Se inviato utilizzando 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 connessa che hai creato. L'estensione Salesforce lo utilizzerà per ottenere l'autorizzazione da Salesforce. Nessuno. Sì.