Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Wersja: 1.0.2
Dostęp do danych na koncie Salesforce. Wstawianie, aktualizowanie, pobieranie i wykonywanie na danych zapytań
W tym artykule znajdziesz informacje na temat konfigurowania i używania tego rozszerzenia.
Wymagania wstępne
W tym artykule znajdziesz informacje na temat konfigurowania i używania tego rozszerzenia. Zanim użyjesz rozszerzenia z serwera proxy interfejsu API przy użyciu zasady ExtensionCallout, musisz:
Utwórz parę klucza prywatnego i certyfikatu RSA x509.
Podczas konfigurowania rozszerzenia użyjesz klucza prywatnego (.key) jako danych logowania. Podczas tworzenia połączonej aplikacji, która zapewni rozszerzeniu dostęp do Salesforce, użyjesz pliku certyfikatu (.crt).
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
Skonfiguruj połączoną aplikację.
Aplikacja połączona z Salesforce będzie mieć dostęp do rozszerzenia Salesforce. Poniżej znajdziesz instrukcje konfigurowania aplikacji.
Uzyskaj klucz klienta dla połączonej aplikacji. Będzie z niego korzystać podczas uwierzytelniania w aplikacji.
- W konfiguracji Salesforce w panelu nawigacyjnym po lewej stronie kliknij Aplikacje > Menedżer aplikacji.
- Znajdź na liście połączoną aplikację.
- W menu po prawej stronie w wierszu aplikacji kliknij Wyświetl.
- W sekcji API (Włącz ustawienia OAuth) znajdź Consumer Key (Klucz klienta) i skopiuj jego wartość w bezpieczne miejsce do konfigurowania rozszerzenia.
Konfigurowanie połączonej aplikacji w celu uzyskiwania dostępu przez rozszerzenie
Aby rozszerzenie Salesforce miało dostęp do Salesforce, musisz utworzyć połączoną z nim aplikację, za pomocą której może się łączyć z Salesforce.
W Salesforce połączona aplikacja umożliwia aplikacjom zewnętrznym łą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 i wybierz 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. Wartości odnoszą się do księgowości, nie są używane przez rozszerzenie.
- W sekcji API (Włącz ustawienia OAuth) zaznacz pole wyboru Włącz ustawienia OAuth.
- Wpisz URL wywołania zwrotnego, ale nie jest on używany przez rozszerzenie. Możesz użyć hosta
http://localhost/
lub innego hosta zastępczego. - Zaznacz pole Używaj podpisów cyfrowych.
- W sekcji Używanie podpisów cyfrowych kliknij Wybierz plik, aby odszukać i przesłać wygenerowany wcześniej
salesforce.crt
. - W sekcji Wybrane zakresy protokołu OAuth dodaj następujące pola w obszarze Wybrane zakresy protokołu OAuth:
- Uzyskiwanie dostępu do danych i zarządzanie nimi (interfejs API)
- Wykonywanie żądań w Twoim imieniu w dowolnym momencie (refresh_token, offline_access)
- Kliknij Zapisz. Jeśli wystąpią błędy, konieczne może być ponowne wygenerowanie i przesłanie pliku
salesforce.crt
. - Na stronie aplikacji kliknij Zarządzaj.
- Na stronie Menedżera aplikacji utworzonej przed chwilą kliknij Edytuj zasady.
- W sekcji Zasady OAuth kliknij menu Dozwolone użytkownicy i wybierz Użytkownicy zatwierdzeni przez administratorów są wstępnie autoryzowani.
- Kliknij Zapisz.
- Na stronie aplikacji w sekcji Profile kliknij Zarządzaj profilami.
Na stronie Application Profile Assignment (Przypisywanie profilu aplikacji) zaznacz pola wyboru dla profili użytkowników, które mogą używać tej aplikacji.
Pamiętaj, aby wybrać profil odpowiadający użytkownikowi, którego nazwa zostanie użyta przy konfigurowaniu rozszerzenia. Upewnij się też, że dostęp do tej aplikacji mają przynajmniej administratorzy systemu.
Ustawienia profilu użytkownika możesz wyświetlić w Salesforce. W obszarze Konfiguracja rozwiń sekcję 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). Zarządzanie relacjami z klientami pomaga firmom zrozumieć potrzeby i rozwiązywania problemów dzięki lepszemu zarządzaniu informacjami o klientach i interakcjami z nimi – wszystko to na jednej platformie, zawsze dostępnej z dowolnego komputera i urządzenia.
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 |
---|---|---|---|---|
obiekt sobject | Typ sObject rekordów do wstawienia. | Ciąg znaków | Brak. | Tak. |
zgłoszeń | Tablica rekordów sObject w formacie JSON. Maksimum: 1000. | Tablica | Brak. | Tak. |
allOrNone | true , jeśli któraś część aktualizacji się nie powiedzie, cała aktualizacja zakończy się niepowodzeniem. |
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 ten rekord został wstawiony. |
Wartość logiczna | Brak. | Tak. |
results[*].errors | Tablica błędów przechwyconych podczas wykonywania (jeśli istnieją). | Tablica | Brak. | Tak. |
update
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ślny | Wymagane |
---|---|---|---|---|
obiekt sobject | Typ sObject rekordów do zaktualizowania. | Ciąg znaków | Brak. | Tak. |
zgłoszeń | Tablica rekordów sObject w formacie JSON. Każdy rekord do aktualizacji musi zawierać wartość identyfikatora. Maksimum: 1000. | Tablica | Brak. | Tak. |
allOrNone | true , jeśli któraś część aktualizacji się nie powiedzie, cała aktualizacja zakończy się niepowodzeniem. |
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 ten rekord został wstawiony. |
Wartość logiczna | Brak. | Tak. |
results[*].errors | Tablica błędów przechwyconych podczas wykonywania (jeśli istnieją). | Tablica | Brak. | Tak. |
pobierz
Pobierz rekordy jako obiekty 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 |
---|---|---|---|---|
obiekt sobject | Typ sObject rekordów do pobrania. | Ciąg znaków | Brak. | Tak. |
identyfikatory | Tablica rekordów identyfikatorów sObject do pobrania. Maksimum: 1000. | Tablica | Brak. | Tak. |
allOrNone | true spowoduje, że cała operacja zakończy się niepowodzeniem, jeśli jakakolwiek część żądania się nie powiedzie. |
Wartość logiczna | fałsz | Nie. |
Odpowiedź
Tablica records
obiektów sObject w formacie JSON. Pamiętaj, że wszystkie właściwości obiektów są zawarte w kodzie JSON, nawet jeśli wartość właściwości jest równa null.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
Wyślij zapytanie do Salesforce.com, korzystając z Salesforce Object Query Language (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, której ma dotyczyć zapytanie. | 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 w postaci 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świetlenie 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 |
---|---|---|---|---|
obiekt 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. |
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 }
]
}
←
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 |
---|---|---|---|---|
obiekt sobject | Typ sObject rekordów do usunięcia. | Ciąg znaków | Brak. | Tak. |
identyfikatory | Tablica identyfikatorów sObject rekordów 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ślny | Wymagane |
---|---|---|---|---|
results[*].id | Identyfikator sObject określonego rekordu. | Ciąg znaków | Brak. | Tak. |
results[*].success | true , jeśli operacja powiodła się dla rekordu. |
Wartość logiczna | Brak. | Tak. |
results[*].errors | Tablica błędów przechwyconych podczas wykonywania (jeśli istnieją). | Tablica | Brak. | Tak. |
getAccessToken
Pobieranie tokena 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ślny | Wymagane |
---|---|---|---|---|
accessToken | Token dostępu. | Ciąg znaków | Brak. | Tak. |
zakres | Zakresy, w ramach 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. |
Odniesienie do konfiguracji
Podczas konfigurowania i wdrażania tego rozszerzenia na potrzeby serwerów proxy interfejsu API użyj poniższych wskazówek.
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ń
Określ wartości następujących właściwości konfiguracji specyficznych dla tego rozszerzenia.
Właściwość | Opis | Domyślny | Wymagane |
---|---|---|---|
URL serwera autoryzacji | Adres URL, który ma być używany do uzyskiwania autoryzacji z Salesforce. Zwykle jest to https://login.salesforce.com |
Brak. | Tak. |
Połączony klucz klienta aplikacji | Klucz klienta udostępniony przez Salesforce dla utworzonej przez Ciebie połączonej aplikacji. Instrukcje pobierania klucza klienta znajdziesz w sekcji Wymagania wstępne. | Brak. | Tak. |
Dane logowania | Jeśli wpiszesz ją w konsoli Apigee Edge, zobaczysz zawartość pliku salesforce.key wygenerowanego w powyższych krokach. W przypadku wysyłania przez interfejs API zarządzania jest to wartość zakodowana w formacie base64 generowana z pliku Salesforce.key. | Brak. | Tak. |
Nazwa użytkownika Salesforce | Nazwa użytkownika powiązana z utworzoną przez Ciebie połączoną aplikacją. Rozszerzenie Salesforce będzie używać go do uzyskiwania autoryzacji z Salesforce. | Brak. | Tak. |