Estensione Salesforce

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Versione: 1.0.3

Accedere ai dati dell'account Salesforce. Inserisci, aggiorna, recupera ed esegui query sui dati.

Questi contenuti forniscono riferimento per la configurazione e l'utilizzo di questa estensione.

Prerequisiti

Questi contenuti forniscono riferimento per la configurazione e l'utilizzo di questa estensione. Prima di utilizzare l'estensione da un proxy API con le norme relative ai callout estensione, devi:

  1. Crea una coppia chiave privata/certificazione RSA x509.

    Utilizzerai 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 consentirà di accedere all'estensione Salesforce. Consulta le istruzioni riportate di seguito per configurare l'app.

  3. Ottieni la chiave utente per l'app connessa. L'estensione utilizzerà questa chiave per l'autenticazione nell'app.

    1. Nella configurazione di Salesforce, nel menu di navigazione a sinistra, vai ad App > Gestione app.
    2. Nell'elenco, individua l'app collegata che hai creato.
    3. Dal menu a discesa a 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 da utilizzare durante la configurazione dell'estensione.

Configurare un'app collegata per l'accesso tramite l'estensione

Prima che l'estensione Salesforce possa accedere a Salesforce, devi creare un'app connessa di Salesforce tramite la quale l'estensione possa connettersi a Salesforce.

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

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 > Gestione app.
  4. Nella pagina Gestione app, fai clic su Nuova app collegata.
  5. In Informazioni di base, compila i campi obbligatori. I valori vengono utilizzati per la contabilità e non vengono utilizzati dall'estensione.
  6. In API (Abilita impostazioni OAuth), seleziona la casella di controllo Attiva 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 Utilizza le firme digitali.
  9. In Utilizza le 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 elementi 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 rigenerare e caricare il file salesforce.crt.
  12. Nella pagina dell'app visualizzata, fai clic su Gestisci.
  13. Nella pagina Gestione app dell'app appena creata, fai clic su Modifica norme.
  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 profili di applicazione, seleziona le caselle di controllo relative 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 amministratori 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 verrà rappresentato dall'estensione e poi individua il relativo 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 dei rapporti con i clienti aiuta le aziende a comprendere le esigenze dei propri clienti e a risolvere i problemi gestendo al 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 richiesta

Parametro Descrizione Tipo Predefinito Obbligatorie
Sobject Il tipo di sObject di record da inserire. Stringa Nessuna. Sì.
records Array di record sObject in JSON. Massimo: 1000. Array Nessuna. Sì.
allOrNone true per non riuscire a completare l'aggiornamento se una parte qualsiasi dell'aggiornamento ha esito negativo. Booleano false N.

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 Obbligatorie
results[*].id L'ID sObject generato per il nuovo record. Stringa Nessuna. Sì.
risultati[*].success true se l'inserimento del record è riuscito. Booleano Nessuna. Sì.
risultati[*].errors Array di errori, se presenti, rilevati durante l'esecuzione. Array Nessuna. Sì.

update

Aggiorna 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 richiesta

Parametro Descrizione Tipo Predefinito Obbligatorie
Sobject Il tipo di sObject di record da aggiornare. Stringa Nessuna. Sì.
records Array di record sObject in JSON. Ogni record da aggiornare deve includere il valore ID del record. Massimo: 1000. Array Nessuna. Sì.
allOrNone true per non riuscire a completare l'aggiornamento se una parte qualsiasi dell'aggiornamento ha esito negativo. Booleano false N.

Risposta

Un array results contenente i risultati dell'aggiornamento.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Parametro Descrizione Tipo Predefinito Obbligatorie
results[*].id L'ID sObject generato per il record aggiornato. Stringa Nessuna. Sì.
risultati[*].success true se l'inserimento del record è riuscito. Booleano Nessuna. Sì.
risultati[*].errors Array di errori, se presenti, rilevati durante l'esecuzione. Array Nessuna. 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 richiesta

Parametro Descrizione Tipo Predefinito Obbligatorie
Sobject Il tipo di sObject di record da recuperare. Stringa Nessuna. Sì.
ids Array di record di ID sObject da recuperare. Massimo: 1000. Array Nessuna. Sì.
allOrNone true per non completare l'intera operazione se una qualsiasi parte della richiesta ha esito negativo. Booleano false N.

Risposta

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

{
  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 richiesta

Parametro Descrizione Tipo Predefinito Obbligatorie
Soql Istruzione SOQL con cui eseguire la query. Stringa Nessuna. 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 Obbligatorie
totalSize Numero di record restituiti dalla query. Numero intero Nessuna. Sì.
records Array di record restituiti come sObject in JSON. Massimo: 1000. Array Nessuna. Sì.
fine true se l'operazione di query è stata completata. Booleano Nessuna. Sì.

list

Elenca i record 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 richiesta

Parametro Descrizione Tipo Predefinito Obbligatorie
Sobject Il tipo di sObject di record da elencare. Stringa Nessuna. Sì.
limite Numero massimo di record da restituire. Numero intero 1000 N.
offset Offset per i record da elencare. Numero intero 0 N.

Risposta

Un array records contenente 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 richiesta

Parametro Descrizione Tipo Predefinito Obbligatorie
Sobject Il tipo di sObject di record da eliminare. Stringa Nessuna. Sì.
ids Array di ID sObject per i record da eliminare. Massimo: 1000. Array Nessuna. 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 Obbligatorie
results[*].id ID sObject del record specificato. Stringa Nessuna. Sì.
risultati[*].success true se l'operazione è riuscita per il record. Booleano Nessuna. Sì.
risultati[*].errors Array di errori, se presenti, rilevati durante l'esecuzione. Array Nessuna. Sì.

getAccessToken

Recuperare 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 richiesta

Nessuna.

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 Obbligatorie
accessToken Il token di accesso. Stringa Nessuna. Sì.
ambito Ambiti all'interno dei quali il token fornisce l'accesso. Stringa Nessuna. Sì.
instanceUrl URL dell'istanza utilizzata dall'organizzazione Salesforce. Stringa Nessuna. Sì.
id ID dell'app collegata. Stringa Nessuna. Sì.
tokenType Digita il token di accesso. Stringa Bearer Sì.

Riferimento per la configurazione

Utilizza quanto segue durante la configurazione e il deployment di questa estensione per l'utilizzo nei proxy API.

Proprietà delle estensioni comuni

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 di questa estensione.

Proprietà Descrizione Predefinito Obbligatorie
URL server di autorizzazione L'URL da utilizzare per ottenere l'autorizzazione da Salesforce. In genere, è https://login.salesforce.com Nessuna. 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. Nessuna. Sì.
Credenziale Una volta inseriti nella console Apigee Edge, questi saranno i contenuti del file salesforce.key che hai generato nei passaggi precedenti. Quando viene inviato tramite l'API di gestione, si tratta di un valore con codifica base64 generato dal file salesforce.key. Nessuna. Sì.
Nome utente dell'utente Salesforce Il nome utente associato all'app collegata che hai creato. L'estensione Salesforce utilizzerà questo indirizzo per ottenere l'autorizzazione da Salesforce. Nessuna. Sì.