Rozszerzenie Salesforce

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Wersja: 1.0.3

uzyskiwać dostęp do danych na koncie Salesforce; Wstawianie, aktualizowanie i pobieranie danych oraz wykonywanie dotyczących ich zapytań.

Ta treść zawiera informacje na temat konfigurowania tego rozszerzenia i korzystania z niego.

Wymagania wstępne

Ta treść zawiera informacje na temat konfigurowania tego rozszerzenia i korzystania z niego. Zanim użyjesz zasady ExtensionCallout, musisz użyć rozszerzenia z serwera proxy interfejsu API:

  1. Utwórz parę klucza prywatnego i certyfikatu RSA x509.

    Podczas konfigurowania rozszerzenia użyjesz klucza prywatnego (.key) jako danych uwierzytelniających. Pliku certyfikatu (.crt) użyjesz podczas tworzenia połączonej aplikacji, która umożliwi rozszerzeniu dostęp do Salesforce.

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. skonfigurować połączoną aplikację.

    Dostęp do rozszerzenia Salesforce będzie udzielona aplikacja połączona z Salesforce. Instrukcje konfigurowania aplikacji znajdziesz poniżej.

  3. Pobierz klucz klienta do połączonej aplikacji. Rozszerzenie będzie go używać podczas uwierzytelniania w aplikacji.

    1. W ustawieniach Salesforce w panelu nawigacyjnym po lewej stronie kliknij Aplikacje > Menedżer aplikacji.
    2. Na liście znajdź połączoną aplikację.
    3. W menu po prawej stronie wiersza aplikacji kliknij Wyświetl.
    4. W sekcji API (Enable OAuth Settings) (Interfejs API (Włącz ustawienia protokołu OAuth)) znajdź Klucz klienta i skopiuj jego wartość w bezpieczne miejsce do użycia podczas konfigurowania rozszerzenia.

Konfigurowanie połączonej aplikacji na potrzeby dostępu przez rozszerzenie

Aby rozszerzenie Salesforce miało dostęp do Salesforce, musisz utworzyć połączoną aplikację, przez którą rozszerzenie będzie mogło połączyć się z Salesforce.

Podłączona aplikacja w Salesforce umożliwia zewnętrznym aplikacjom łączenie się z Salesforce przez interfejsy API.

Konfigurowanie połączonej aplikacji

  1. Zaloguj się w Salesforce.
  2. Kliknij ikonę koła zębatego w prawym górnym rogu, a następnie kliknij Konfiguracja.
  3. W panelu nawigacyjnym po lewej stronie rozwiń Aplikacje > Menedżer aplikacji.
  4. Na stronie Menedżer aplikacji kliknij Nowa połączona aplikacja.
  5. W sekcji Informacje podstawowe wypełnij wymagane pola. Te wartości są używane do celów księgowych i nie są używane przez rozszerzenie.
  6. W sekcji Interfejs API (włącz ustawienia OAuth) zaznacz pole wyboru Włącz ustawienia protokołu OAuth.
  7. Chociaż rozszerzenie nie jest używane przez rozszerzenie, wpisz URL wywołania zwrotnego. Możesz użyć hosta http://localhost/ lub innego hosta zastępczego.
  8. Zaznacz pole wyboru Używaj podpisów cyfrowych.
  9. W sekcji Używaj podpisów cyfrowych kliknij Wybierz plik, aby znaleźć i przesłać wygenerowany wcześniej plik salesforce.crt.
  10. W sekcji Wybrane zakresy OAuth dodaj te zakresy w sekcji Wybrane zakresy OAuth:
    • Uzyskiwanie dostępu do danych i zarządzanie nimi (api)
    • Wysyłaj żądania w Twoim imieniu w dowolnym momencie (refresh_token, offline_access)
  11. Kliknij Zapisz. Jeśli wystąpiły błędy, konieczne może być ponowne wygenerowanie i przesłanie pliku salesforce.crt.
  12. Na wyświetlonej stronie aplikacji kliknij Zarządzaj.
  13. Na stronie nowo utworzonej aplikacji w Menedżerze aplikacji kliknij Edytuj zasady.
  14. W sekcji Zasady protokołu OAuth kliknij menu Dozwoleni użytkownicy, a następnie kliknij opcję Użytkownicy zatwierdzeni przez administratorów są wstępnie autoryzowani.
  15. Kliknij Zapisz.
  16. Na stronie aplikacji w sekcji Profile kliknij Zarządzaj profilami.
  17. Na stronie Przypisywanie profilu aplikacji zaznacz pola wyboru profili użytkowników, które mogą używać tej aplikacji.

    Pamiętaj, aby wybrać profil odpowiadający użytkownikowi, którego nazwy użytkownika użyjesz podczas konfigurowania rozszerzenia. Upewnij się też, że dostęp do tej aplikacji mają przynajmniej administratorzy systemu.

    Ustawienie profilu użytkownika możesz wyświetlić w Salesforce. W obszarze Konfiguracja rozwiń Użytkownicy > Użytkownicy, znajdź użytkownika reprezentowanego przez rozszerzenie i znajdź jego profil w kolumnie Profil.

  18. Kliknij Zapisz.

Informacje o Salesforce

Salesforce to platforma do zarządzania relacjami z klientami (CRM). Zarządzanie relacjami z klientami pomaga firmom zrozumieć potrzeby klientów i rozwiązywać problemy dzięki lepszemu zarządzaniu informacjami i interakcjami klientów – a wszystko to w ramach jednej platformy, która jest zawsze dostępna na każdym komputerze i urządzeniu.

Działania

Insert

Wstaw rekordy jako typy sObject.

Składnia

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records":[ records-to-insert ],
  "allOrNone": true | false
}]]></Input>

Przykład

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    { "Name": "MyAccountName" }
  ],
  "allOrNone": true
}]]></Input>

Parametry żądania

Parametr Opis Typ Domyślne Wymagane
sobject Typ sObject rekordów do wstawienia. Ciąg znaków Brak. Tak.
wpisy Tablica rekordów sObject w formacie JSON. Maksimum: 1000. Tablica Brak. Tak.
allOrNone true, aby cała aktualizacja się nie powiodła, jeśli którakolwiek część aktualizacji się nie powiedzie. Wartość logiczna false Nie.

Odpowiedź

Tablica results z wynikami operacji wstawiania.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Właściwość Opis Typ Domyślne Wymagane
results[*].id Identyfikator sObject wygenerowany dla nowego rekordu. Ciąg znaków Brak. Tak.
wyniki[*].powodzenie true, jeśli rekord został wstawiony. Wartość logiczna Brak. Tak.
wyniki[*].errors Tablica błędów wykrytych podczas wykonywania. Tablica Brak. Tak.

aktualizować

Zaktualizuj rekordy w Salesforce.

Składnia

<Action>update</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records": [ records-to-update ],
  "allOrNone": true | false
}]]></Input>

Przykład

<Action>update</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    { 
      "id":"0011U00000LQ76KQAT",
      "Name": "MyNewAccountName" 
    }
  ],
  "allOrNone": true
}]]></Input>

Parametry żądania

Parametr Opis Typ Domyślne Wymagane
sobject Typ sObject rekordów do zaktualizowania. Ciąg znaków Brak. Tak.
wpisy Tablica rekordów sObject w formacie JSON. Każdy rekord, który ma zostać zaktualizowany, musi zawierać wartość jego identyfikatora. Maksimum: 1000. Tablica Brak. Tak.
allOrNone true, aby cała aktualizacja się nie powiodła, jeśli którakolwiek część aktualizacji się nie powiedzie. Wartość logiczna false Nie.

Odpowiedź

Tablica results zawierająca wyniki aktualizacji.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Parametr Opis Typ Domyślne Wymagane
results[*].id Identyfikator sObject wygenerowany dla zaktualizowanego rekordu. Ciąg znaków Brak. Tak.
wyniki[*].powodzenie true, jeśli rekord został wstawiony. Wartość logiczna Brak. Tak.
wyniki[*].errors Tablica błędów wykrytych podczas wykonywania. Tablica Brak. Tak.

pobierz

Pobierz rekordy jako sObjects według ich identyfikatorów. Zwraca wszystkie pola typu sObject.

Składnia

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

Przykład

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

Parametry żądania

Parametr Opis Typ Domyślne Wymagane
sobject Typ sObject rekordów do pobrania. Ciąg znaków Brak. Tak.
ids Tablica rekordów identyfikatorów obiektów do pobrania. Maksimum: 1000. Tablica Brak. Tak.
allOrNone true, aby cała operacja się nie powiodła, jeśli którakolwiek część żądania zakończy się niepowodzeniem. Wartość logiczna false Nie.

Odpowiedź

Tablica records sObjects reprezentowana w formacie JSON. Pamiętaj, że w pliku JSON zawarte są wszystkie właściwości obiektów, nawet jeśli ich wartość jest równa null.

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

querySOQL

Wyślij zapytanie na Salesforce.com, używając języka zapytań dotyczących obiektów w Salesforce (SOQL).

Składnia

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": soql-query-statement
}]]></Input>

Przykład

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": "SELECT Id, Name FROM Account"
}]]></Input>

Parametry żądania

Parametr Opis Typ Domyślne Wymagane
soql Instrukcja SOQL do użycia w zapytaniu. Ciąg znaków Brak. Tak.

Odpowiedź

Wyniki zapytania.

{
  totalSize: 2,
  records: [
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76KQAT',
      Name: 'AccountName1'
    },
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76LQAT',
      Name: 'AccountName2'
    }
  ],
  done: true
}
Parametr Opis Typ Domyślne Wymagane
totalSize Liczba rekordów zwróconych przez zapytanie. Liczba całkowita Brak. Tak.
wpisy Tablica zwróconych rekordów jako obiektów sObject w formacie JSON. Maksimum: 1000. Tablica Brak. Tak.
gotowe true, jeśli operacja zapytania została zakończona. Wartość logiczna Brak. Tak.

lista

Wyświetl listę rekordów Salesforce.com. Zwraca wszystkie pola określonego typu sObject.

Składnia

<Action>list</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "limit": max-number-of-records,
  "offset": record-index-at-which-to-begin-response-set
}]]></Input>

Przykład

<Action>list</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "limit": 1000,
  "offset": 0
}]]></Input>

Parametry żądania

Parametr Opis Typ Domyślne Wymagane
sobject Typ sObject rekordów do wyświetlenia. Ciąg znaków Brak. Tak.
limit Maksymalna liczba rekordów do zwrócenia. Liczba całkowita 1000 Nie.
przesunięcie Przesunięcie w przypadku rekordów do wyświetlenia. Liczba całkowita 0 Nie.

Odpowiedź

Tablica records zawierająca wymienione obiekty sObject w formacie JSON.

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

Usuń rekordy z określonymi identyfikatorami.

Składnia

<Action>del</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

Przykład

<Action>del</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

Parametry żądania

Parametr Opis Typ Domyślne Wymagane
sobject Typ sObject rekordów do usunięcia. Ciąg znaków Brak. Tak.
ids Tablica identyfikatorów sObject z rekordami do usunięcia. Maksimum: 1000. Tablica Brak. Tak.

Odpowiedź

Tablica results zawierająca wyniki operacji.

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Właściwość Opis Typ Domyślne Wymagane
results[*].id Identyfikator sObject określonego rekordu. Ciąg znaków Brak. Tak.
wyniki[*].powodzenie true, jeśli operacja dla rekordu zakończyła się powodzeniem. Wartość logiczna Brak. Tak.
wyniki[*].errors Tablica błędów wykrytych podczas wykonywania. Tablica Brak. Tak.

getAccessToken

Uzyskaj token dostępu interfejsu API Salesforce.com. Może być używana do wysyłania zapytań do interfejsów API REST.

Składnia

<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>

Parametry żądania

Brak.

Odpowiedź

Token dostępu w formacie JSON.

{
  "accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
  "scope":"api",
  "instanceUrl": "https://na85.salesforce.com",
  "id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
  "tokenType": "Bearer"
}
Właściwość Opis Typ Domyślne Wymagane
accessToken Token dostępu. Ciąg znaków Brak. Tak.
zakres Zakresy, w których token zapewnia dostęp. Ciąg znaków Brak. Tak.
instanceUrl Adres URL instancji używanej przez organizację Salesforce. Ciąg znaków Brak. Tak.
id Identyfikator połączonej aplikacji. Ciąg znaków Brak. Tak.
tokenType Wpisz token dostępu. Ciąg znaków Nośnik Tak.

Dokumentacja konfiguracji

Skorzystaj z podanych niżej instrukcji podczas konfigurowania i wdrażania tego rozszerzenia na potrzeby serwerów proxy interfejsów API.

Typowe właściwości rozszerzeń

Dla każdego rozszerzenia dostępne są poniższe właściwości.

Usługa Opis Domyślnie Wymagany
name Nazwa nadana konfiguracji rozszerzenia. Brak Tak
packageName Nazwa pakietu rozszerzeń podana przez Apigee Edge. Brak Tak
version Numer wersji pakietu rozszerzenia, z którego konfigurujesz rozszerzenie. Brak Tak
configuration Wartość konfiguracji specyficzna dla dodawanego rozszerzenia. Zobacz Właściwości tego pakietu rozszerzeń Brak Tak

Właściwości tego pakietu rozszerzeń

Podaj wartości następujących właściwości konfiguracji specyficznych dla tego rozszerzenia.

Właściwość Opis Domyślne Wymagane
URL serwera autoryzacji Adres URL używany podczas uzyskiwania autoryzacji z Salesforce. Zwykle jest to https://login.salesforce.com Brak. Tak.
Połączony klucz klienta aplikacji Dostarczony przez Salesforce klucz klienta dla utworzonej połączonej aplikacji. Instrukcje pobierania klucza klienta znajdziesz w sekcji Wymagania wstępne. Brak. Tak.
Dane logowania Wpisana w konsoli Apigee Edge jest to zawartość pliku salesforce.key wygenerowany w krokach powyżej. Gdy jest wysyłana przez interfejs API zarządzania, jest to wartość zakodowana w formacie base64 wygenerowana z pliku Salesforce.key. Brak. Tak.
Nazwa użytkownika Salesforce Nazwa użytkownika powiązana z utworzoną przez Ciebie powiązaną aplikacją. Rozszerzenie Salesforce użyje go do uzyskania autoryzacji z Salesforce. Brak. Tak.