Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Wersja: 2.0.2
uzyskiwać dostęp do danych na koncie Salesforce, wstawiać, aktualizować, pobierać i przeszukiwać dane;
Te treści zawierają informacje o konfigurowaniu i używaniu tego rozszerzenia.
Wymagania wstępne
Te treści zawierają informacje o konfigurowaniu i używaniu tego rozszerzenia. Zanim zaczniesz korzystać z rozszerzenia w ramach serwera proxy interfejsu API za pomocą zasady ExtensionCallout, musisz:
Utwórz parę klucza prywatnego RSA x509 lub certyfikatu.
Podczas konfigurowania rozszerzenia użyjesz klucza prywatnego (.key) jako danych logowania. Plik certyfikatu (.crt) będzie używany podczas tworzenia połączonej aplikacji, która zapewni rozszerzeniu dostęp do Salesforce.
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crtSkonfiguruj połączoną aplikację.
Połączona aplikacja Salesforce zapewni dostęp do rozszerzenia Salesforce. Zapoznaj się z instrukcjami konfigurowania aplikacji.
Pobierz klucz klienta dla połączonej aplikacji. Rozszerzenie będzie go używać podczas uwierzytelniania w aplikacji.
- W konfiguracji Salesforce w menu nawigacyjnym po lewej stronie kliknij Aplikacje > Menedżer aplikacji.
- Na liście znajdź utworzoną połączoną aplikację.
- W menu po prawej stronie w wierszu aplikacji kliknij Wyświetl.
- W sekcji API (Enable OAuth Settings) (API (włącz ustawienia OAuth)) znajdź Consumer Key (Klucz konsumenta) i skopiuj jego wartość w bezpieczne miejsce, aby użyć jej podczas konfigurowania rozszerzenia.
Konfigurowanie połączonej aplikacji na potrzeby dostępu przez rozszerzenie
Zanim rozszerzenie Salesforce uzyska dostęp do Salesforce, musisz utworzyć połączoną aplikację Salesforce, za pomocą której rozszerzenie będzie mogło łączyć się z Salesforce.
W Salesforce połączona aplikacja umożliwia aplikacjom zewnętrznym łączenie się z Salesforce za pomocą interfejsów API.
Konfigurowanie połączonej aplikacji
- Zaloguj się w Salesforce.
- W prawym górnym rogu kliknij ikonę koła zębatego, a następnie Konfiguracja.
- W menu po lewej stronie rozwiń Aplikacje > Menedżer aplikacji.
- Na stronie App Manager (Menedżer aplikacji) kliknij New Connected App (Nowa połączona aplikacja).
- W sekcji Podstawowe informacje wypełnij wymagane pola. Wartości te służą do celów księgowych i nie są używane przez rozszerzenie.
- W sekcji API (Enable OAuth Settings) (API (włącz ustawienia OAuth)) zaznacz pole wyboru Enable OAuth Settings (Włącz ustawienia OAuth).
- Wpisz Callback URL (URL wywołania zwrotnego), mimo że nie jest on używany przez rozszerzenie. Możesz użyć
http://localhost/lub innego hosta zastępczego. - Zaznacz pole wyboru Użyj podpisów cyfrowych.
- W sekcji Użyj podpisów cyfrowych kliknij Wybierz plik, aby znaleźć i przesłać wygenerowany wcześniej plik
salesforce.crt. - W sekcji Wybrane zakresy protokołu OAuth dodaj te zakresy, aby znalazły się w sekcji Wybrane zakresy protokołu OAuth:
- Dostęp do danych i zarządzanie nimi (API)
- Wykonywanie żądań w Twoim imieniu w dowolnym momencie (refresh_token, offline_access)
- Kliknij Zapisz. Jeśli wystąpią błędy, może być konieczne ponowne wygenerowanie i przesłanie pliku
salesforce.crt. - Na stronie aplikacji kliknij Zarządzaj.
- Na stronie Menedżera aplikacji w przypadku utworzonej przed chwilą aplikacji kliknij Edytuj zasady.
- W sekcji Zasady OAuth kliknij menu Dozwoleni użytkownicy, a następnie Użytkownicy zatwierdzeni przez administratora są wstępnie autoryzowani.
- Kliknij Zapisz.
- Wróć na stronę aplikacji i w sekcji Profile (Profile) kliknij Manage Profiles (Zarządzaj profilami).
Na stronie Application Profile Assignment (Przypisanie profilu aplikacji) zaznacz pola wyboru profili użytkowników, którzy mogą korzystać z tej aplikacji.
Wybierz profil odpowiadający użytkownikowi, którego nazwy użyjesz podczas konfigurowania rozszerzenia. Upewnij się też, że dostęp do tej aplikacji mają co najmniej użytkownicy z rolą administratora systemu.
Ustawienia profilu użytkownika możesz wyświetlić w Salesforce. W obszarze Konfiguracja rozwiń Użytkownicy > Użytkownicy, znajdź użytkownika, którego będzie reprezentować rozszerzenie, a następnie znajdź jego profil w kolumnie Profil.
Kliknij Zapisz.
Informacje o Salesforce
Salesforce to platforma do zarządzania relacjami z klientami (CRM). System CRM pomaga firmom zrozumieć potrzeby klientów i rozwiązywać problemy dzięki lepszemu zarządzaniu informacjami o klientach i interakcjami z nimi. Wszystko to na jednej platformie, 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ślny | Wymagane |
|---|---|---|---|---|
| sobject | Typ obiektu sObject rekordów do wstawienia. | Ciąg znaków | Brak. | Tak. |
| zgłoszeń | Tablica rekordów sObject w formacie JSON. Maksymalnie 1000. | Tablica | Brak. | Tak. |
| allOrNone | true, aby w przypadku niepowodzenia którejkolwiek części aktualizacji nie powiodła się cała aktualizacja. |
Wartość logiczna | fałsz | 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ślny | Wymagane |
|---|---|---|---|---|
| results[*].id | Identyfikator sObject wygenerowany dla nowego rekordu. | Ciąg znaków | Brak. | Tak. |
| results[*].success | true, jeśli wstawienie rekordu się powiodło. |
Wartość logiczna | Brak. | Tak. |
| results[*].errors | Tablica błędów, które wystąpiły podczas wykonywania (jeśli takie są). | Tablica | Brak. | Tak. |
update
aktualizować rekordy 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ślny | Wymagane |
|---|---|---|---|---|
| sobject | Typ obiektu rekordów do zaktualizowania. | Ciąg znaków | Brak. | Tak. |
| zgłoszeń | Tablica rekordów sObject w formacie JSON. Każdy rekord do zaktualizowania musi zawierać wartość identyfikatora rekordu. Maksymalnie 1000. | Tablica | Brak. | Tak. |
| allOrNone | true, aby w przypadku niepowodzenia którejkolwiek części aktualizacji nie powiodła się cała aktualizacja. |
Wartość logiczna | fałsz | Nie. |
Odpowiedź
Tablica results zawierająca wyniki aktualizacji.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
| Parametr | Opis | Typ | Domyślny | Wymagane |
|---|---|---|---|---|
| results[*].id | Identyfikator sObject wygenerowany dla zaktualizowanego rekordu. | Ciąg znaków | Brak. | Tak. |
| results[*].success | true, jeśli wstawienie rekordu się powiodło. |
Wartość logiczna | Brak. | Tak. |
| results[*].errors | Tablica błędów, które wystąpiły podczas wykonywania (jeśli takie są). | Tablica | Brak. | Tak. |
odnajdź
Pobieranie rekordów jako obiektów SObject 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ślny | Wymagane |
|---|---|---|---|---|
| sobject | Typ sObject rekordów do pobrania. | Ciąg znaków | Brak. | Tak. |
| identyfikatory, | Tablica identyfikatorów sObject rekordów do pobrania. Maksymalnie 1000. | Tablica | Brak. | Tak. |
| allOrNone | true, aby cała operacja zakończyła się niepowodzeniem, jeśli jakakolwiek część żądania się nie powiedzie. |
Wartość logiczna | fałsz | Nie. |
Odpowiedź
Tablica records obiektów sObject reprezentowanych jako JSON. Pamiętaj, że w JSON-ie są uwzględniane wszystkie właściwości obiektów, nawet jeśli wartość właściwości to null.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
Wysyłanie zapytań do Salesforce.com za pomocą języka zapytań obiektó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ślny | Wymagane |
|---|---|---|---|---|
| soql | Instrukcja SOQL do wykonania zapytania. | 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ślny | Wymagane |
|---|---|---|---|---|
| totalSize | Liczba rekordów zwróconych przez zapytanie. | Liczba całkowita | Brak. | Tak. |
| zgłoszeń | Tablica zwróconych rekordów jako obiekty sObject w formacie JSON. Maksymalnie 1000. | Tablica | Brak. | Tak. |
| gotowe | true, jeśli operacja zapytania została zakończona. |
Wartość logiczna | Brak. | Tak. |
lista
Wyświetlanie listy 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ślny | Wymagane |
|---|---|---|---|---|
| sobject | Typ obiektu 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 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 o określonych identyfikatorach.
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ślny | Wymagane |
|---|---|---|---|---|
| sobject | Typ obiektu sObject rekordów do usunięcia. | Ciąg znaków | Brak. | Tak. |
| identyfikatory, | Tablica identyfikatorów sObject rekordów do usunięcia. Maksymalnie 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ślny | Wymagane |
|---|---|---|---|---|
| results[*].id | Identyfikator sObject określonego rekordu. | Ciąg znaków | Brak. | Tak. |
| results[*].success | true, jeśli operacja się powiodła. |
Wartość logiczna | Brak. | Tak. |
| results[*].errors | Tablica błędów, które wystąpiły podczas wykonywania (jeśli takie są). | Tablica | Brak. | Tak. |
getAccessToken
Uzyskaj token dostępu do interfejsu Salesforce.com API. Może służyć 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ślny | 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 | Typ tokena dostępu. | Ciąg znaków | Nośnik | Tak. |
Odwołanie do konfiguracji
Podczas konfigurowania i wdrażania tego rozszerzenia do użycia w proxy interfejsów API postępuj zgodnie z tymi instrukcjami.
Wspólne 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ń
Określ wartości tych właściwości konfiguracji, które są specyficzne dla tego rozszerzenia.
| Właściwość | Opis | Domyślny | Wymagane |
|---|---|---|---|
| Adres URL serwera autoryzacji | Adres URL, którego należy użyć podczas uzyskiwania autoryzacji z Salesforce. Zwykle jest to https://login.salesforce.com |
Brak. | Tak. |
| Klucz klienta połączonej aplikacji | Klucz klienta udostępniony przez Salesforce dla utworzonej przez Ciebie połączonej aplikacji. Instrukcje dotyczące pobierania klucza klienta znajdziesz w sekcji Wymagania wstępne. | Brak. | Tak. |
| Dane logowania | Po wpisaniu w konsoli Apigee Edge będzie to zawartość pliku salesforce.key wygenerowanego w ramach opisanych czynności. W przypadku wysyłania za pomocą interfejsu Management API 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 połączoną aplikacją. Rozszerzenie Salesforce użyje tego adresu, aby uzyskać autoryzację w Salesforce. | Brak. | Tak. |