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:
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
skonfigurować połączoną aplikację.
Dostęp do rozszerzenia Salesforce będzie udzielona aplikacja połączona z Salesforce. Instrukcje konfigurowania aplikacji znajdziesz poniżej.
Pobierz klucz klienta do połączonej aplikacji. Rozszerzenie będzie go używać podczas uwierzytelniania w aplikacji.
- W ustawieniach Salesforce w panelu nawigacyjnym po lewej stronie kliknij Aplikacje > Menedżer aplikacji.
- Na liście znajdź połączoną aplikację.
- W menu po prawej stronie wiersza aplikacji kliknij Wyświetl.
- 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
- Zaloguj się w Salesforce.
- Kliknij ikonę koła zębatego w prawym górnym rogu, a następnie kliknij Konfiguracja.
- W panelu nawigacyjnym po lewej stronie rozwiń Aplikacje > Menedżer aplikacji.
- Na stronie Menedżer aplikacji kliknij Nowa połączona aplikacja.
- 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.
- W sekcji Interfejs API (włącz ustawienia OAuth) zaznacz pole wyboru Włącz ustawienia protokołu OAuth.
- 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. - Zaznacz pole wyboru Używaj podpisów cyfrowych.
- W sekcji Używaj podpisów cyfrowych kliknij Wybierz plik, aby znaleźć i przesłać wygenerowany wcześniej plik
salesforce.crt
. - 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)
- Kliknij Zapisz. Jeśli wystąpiły błędy, konieczne może być ponowne wygenerowanie i przesłanie pliku
salesforce.crt
. - Na wyświetlonej stronie aplikacji kliknij Zarządzaj.
- Na stronie nowo utworzonej aplikacji w Menedżerze aplikacji kliknij Edytuj zasady.
- 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.
- Kliknij Zapisz.
- Na stronie aplikacji w sekcji Profile kliknij Zarządzaj profilami.
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.
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. |