Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Wersja: 2.0.2
uzyskiwać dostęp do danych na Twoim 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 z poziomu serwera proxy interfejsu API za pomocą zasady ExtensionCallout, musisz:
Utwórz parę kluczy prywatnych lub certyfikatów RSA x509.
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 konfiguracji aplikacji.
Pobierz klucz klienta połączonej aplikacji. Rozszerzenie będzie go używać podczas uwierzytelniania w aplikacji.
- W konfiguracji Salesforce w menu 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 potem Konfiguracja.
- W menu po lewej stronie rozwiń Aplikacje > Menedżer aplikacji.
- Na stronie Menedżer aplikacji kliknij 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żywaj 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 OAuth dodaj te zakresy, aby znalazły się w sekcji Wybrane zakresy OAuth:
- Dostęp do danych i zarządzanie nimi (API)
- Wysyłanie żą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, która się otworzy, kliknij Zarządzaj.
- Na stronie Menedżera aplikacji w przypadku utworzonej 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 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 co najmniej użytkownicy o roli administratora systemu mają dostęp do tej aplikacji.
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 dowolnym komputerze lub urządzeniu.
Działania
Insert
Wstaw rekordy jako typy obiektów 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 przerwać całą aktualizację, jeśli nie powiedzie się jej część. |
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 (jeśli wystąpiły) wykrytych podczas wykonywania. | 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 sObject 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 przerwać całą aktualizację, jeśli nie powiedzie się jej część. |
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 (jeśli wystąpiły) wykrytych podczas wykonywania. | 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 obiektu SObject rekordów do pobrania. | Ciąg znaków | Brak. | Tak. |
| ids | Tablica identyfikatorów sObject rekordów do pobrania. Maksymalnie 1000. | Tablica | Brak. | Tak. |
| allOrNone | true, aby w przypadku niepowodzenia którejkolwiek części żądania cała operacja zakończyła się niepowodzeniem. |
Wartość logiczna | fałsz | Nie. |
Odpowiedź
records tablica obiektów sObject reprezentowanych w formacie 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łaj zapytania 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świetl listę rekordów Salesforce.com. Zwraca wszystkie pola określonego typu obiektu 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. |
| odliczyć | 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 }
]
}
←
Usuwa 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 sObject rekordów do usunięcia. | Ciąg znaków | Brak. | Tak. |
| ids | 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 w przypadku rekordu. |
Wartość logiczna | Brak. | Tak. |
| results[*].errors | Tablica błędów (jeśli wystąpiły) wykrytych podczas wykonywania. | 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. |
Dokumentacja 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 rozszerzenia
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 tych 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ą połączoną aplikacją. Rozszerzenie Salesforce użyje tego adresu, aby uzyskać autoryzację w Salesforce. | Brak. | Tak. |