Estensione Salesforce

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Versione: 1.0.3

Accedere ai dati dell'account Salesforce. Inserire, aggiornare, recuperare ed 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 le norme ExtensionCallout, devi:

  1. Crea una coppia chiave/certificazione RSA x509.

    Userai la chiave privata (.key) come credenziali durante la configurazione dell'estensione. Utilizzerai il file del certificato (.crt) durante la creazione di un'app collegata che consentirà all'estensione di accedere 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 all'estensione Salesforce. Consulta le istruzioni riportate di seguito per configurare l'app.

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

    1. Nella configurazione di Salesforce, nel menu di navigazione a sinistra, vai ad Applicazioni > > Gestore app.
    2. Nell'elenco, individua l'app connessa che hai creato.
    3. Dal menu a discesa sulla destra nella riga dell'applicazione, fai clic su Visualizza.
    4. In API (Abilita impostazioni OAuth), individua la Chiave utente e copiane il 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 può connettersi a Salesforce.

In Salesforce, un'app collegata consente alle applicazioni esterne di connettersi a Salesforce tramite le API.

Per configurare un'app collegata

  1. Accedi a Salesforce.
  2. Fai clic sull'icona a forma di ingranaggio in alto a destra e poi su Configurazione.
  3. Nel menu di navigazione a sinistra, espandi App > Gestore app.
  4. Nella pagina Gestione app, fai clic su Nuova app collegata.
  5. In Informazioni di base, compila i campi obbligatori. I valori servono per la tenuta della contabilità; non sono utilizzati dall'estensione.
  6. In API (Abilita impostazioni OAuth), seleziona la casella di controllo Abilita impostazioni OAuth.
  7. Anche se non è utilizzato dall'estensione, inserisci un URL di callback. Puoi utilizzare http://localhost/ o un altro host segnaposto.
  8. Seleziona la casella di controllo Usa firme digitali.
  9. In Usa le firme digitali, fai clic su Scegli file per individuare e caricare il salesforce.crt generato in precedenza.
  10. Nella sezione Ambiti OAuth selezionati, aggiungi quanto segue in modo che siano 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. In caso di errori, potrebbe essere necessario generare e caricare nuovamente il file salesforce.crt.
  12. Nella pagina dell'app visualizzata, fai clic su Gestisci.
  13. Nella pagina Gestione applicazioni dell'app appena creata, fai clic su Modifica criteri.
  14. In Criteri OAuth, fai clic sul menu a discesa Utenti consentiti e poi su Gli utenti approvati dall'amministratore sono pre-autorizzati.
  15. Fai clic su Salva.
  16. Torna alla pagina dell'app, in Profili, fai clic su Gestisci profili.
  17. Nella pagina Assegnazione profilo di applicazione, seleziona le caselle di controllo corrispondenti ai profili utente che possono utilizzare questa applicazione.

    Assicurati di selezionare un profilo che corrisponda all'utente di cui utilizzerai il nome utente durante la configurazione dell'estensione. Assicurati inoltre che almeno gli utenti di 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 rappresenterà l'estensione, poi individua il suo profilo nella colonna Profilo.

  18. Fai clic su Salva.

Informazioni su Salesforce

Salesforce è una piattaforma di gestione dei rapporti con i clienti (CRM). La gestione dei rapporti con i clienti aiuta le aziende a conoscere ha esigenze e risolvi i problemi gestendo meglio i dati e le interazioni dei 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 di sObject di record da inserire. Stringa Nessuno. Sì.
record Array di record sObject in JSON. Massimo: 1000. Array Nessuno. Sì.
allOrNone true per non completare l'aggiornamento in caso di esito negativo di una qualsiasi parte dell'aggiornamento. 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 L'array di errori, se presenti, rilevati durante l'esecuzione. Array Nessuno. Sì.

update

Aggiornare i record di 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 JSON. Ciascun record da aggiornare deve includere il valore ID del record. Massimo: 1000. Array Nessuno. Sì.
allOrNone true per non completare l'aggiornamento in caso di esito negativo di una qualsiasi parte dell'aggiornamento. 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 L'array di errori, se presenti, rilevati durante l'esecuzione. Array Nessuno. Sì.

retrieve

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 di record da recuperare. Stringa Nessuno. Sì.
ID Array di record di ID sObject da recuperare. Massimo: 1000. Array Nessuno. Sì.
allOrNone true in modo che l'intera operazione non venga completata correttamente in caso di esito negativo di una qualsiasi parte della richiesta. Booleano falso No.

Risposta

Un array records di sObject rappresentati come JSON. Tieni presente che tutte le proprietà degli oggetti sono incluse nel file JSON, anche se il valore della proprietà è nullo.

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

querySOQL

Esegui una query su Salesforce.com utilizzando Salesforce Object Query Language (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 su cui eseguire 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 di record da elencare. Stringa Nessuno. Sì.
limite 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 sObject ID del record specificato. Stringa Nessuno. Sì.
results[*].success true se l'operazione è riuscita per la cronaca. Booleano Nessuno. Sì.
results[*].errors L'array di errori, se presenti, rilevati durante l'esecuzione. Array Nessuno. Sì.

getAccessToken

Richiedi 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 per l'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

Quando configuri questa estensione e ne esegui il deployment da usare nei proxy API, usa quanto segue.

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à per questo pacchetto di estensioni

Specifica i valori per le seguenti proprietà di configurazione specifiche per questa estensione.

Proprietà Descrizione Predefinito Obbligatorio
URL server di autorizzazione L'URL da utilizzare quando si ottiene l'autorizzazione da Salesforce. In genere, si tratta di https://login.salesforce.com Nessuno. Sì.
Chiave utente dell'app connessa La chiave utente fornita da Salesforce per l'app collegata che hai creato. Consulta le istruzioni nella sezione Prerequisiti per il recupero della chiave utente. Nessuno. Sì.
Credenziale Se inserito nella console Apigee Edge, questi sono i contenuti del file Salesforce.key che hai generato nei passaggi precedenti. Se inviato tramite l'API di gestione, si tratta di un valore codificato in 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 la utilizzerà per ottenere l'autorizzazione da Salesforce. Nessuno. Sì.