Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Wersja: 1.0.5
mieć dostęp do danych na koncie Salesforce, Wstawianie, aktualizowanie, pobieranie i wysyłanie zapytań do danych.
Te treści zawierają informacje na temat konfigurowania i używania tego rozszerzenia.
Wymagania wstępne
Te treści zawierają informacje na temat konfigurowania i używania tego rozszerzenia. Zanim użyjesz rozszerzenia z serwera proxy interfejsu API przy użyciu zasad dotyczących rozszerzeniaCallout, musisz:
Utwórz parę klucza prywatnego RSA x509 i certyfikatu.
Podczas konfigurowania rozszerzenia jako danych logowania będziesz używać klucza prywatnego (.key). Pliku certyfikatu (.crt) używasz 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.crt
Skonfiguruj połączoną aplikację.
Połączona aplikacja Salesforce zapewni dostęp do rozszerzenia Salesforce. Poniżej znajdziesz instrukcje konfigurowania aplikacji.
Uzyskaj klucz konsumenta dla połączonej aplikacji. Rozszerzenie będzie go używać do uwierzytelniania w aplikacji.
- W konfiguracji Salesforce w panelu nawigacyjnym po lewej stronie kliknij Aplikacje > Menedżer aplikacji.
- Na liście odszukaj utworzoną przez siebie połączoną aplikację.
- W menu po prawej stronie wiersza aplikacji kliknij Wyświetl.
- W sekcji Interfejs API (włącz ustawienia OAuth) odszukaj klucz klienta i skopiuj jego wartość w bezpiecznym miejscu, aby użyć jej podczas konfigurowania rozszerzenia.
Konfigurowanie połączonej aplikacji na potrzeby dostępu przez rozszerzenie
Zanim rozszerzenie Salesforce będzie mogło uzyskać dostęp do Salesforce, musisz utworzyć połączoną aplikację Salesforce, za pomocą której rozszerzenie będzie mogło połączyć się z Salesforce.
W Salesforce połączona aplikacja umożliwia zewnętrznym aplikacjom nawiązywanie połączenia 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 panelu nawigacyjnym 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 księgowania i nie są używane przez rozszerzenie.
- W sekcji Interfejs API (włącz ustawienia OAuth) zaznacz pole wyboru Włącz ustawienia OAuth.
- Chociaż rozszerzenie nie używa tego adresu, wpisz URL wywołania zwrotnego. Możesz użyć
http://localhost/
lub innego hosta z wartością zastępczą. - Zaznacz pole wyboru Użyj podpisów cyfrowych.
- W sekcji Używanie podpisów cyfrowych kliknij Wybierz plik, aby znaleźć i przesłać wygenerowany wcześniej plik
salesforce.crt
. - W sekcji Wybrane zakresy OAuth dodaj te informacje, aby znalazły się w sekcji Wybrane zakresy 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, konieczne może być ponowne wygenerowanie i przesłanie pliku
salesforce.crt
. - Na stronie aplikacji kliknij Zarządzaj.
- Na stronie Menedżera aplikacji dla utworzonej właśnie aplikacji kliknij Edytuj zasady.
- W sekcji Zasady OAuth kliknij menu Zezwalani użytkownicy, a następnie Zatwierdzeni przez administratora użytkownicy mają wstępną autoryzację.
- Kliknij Zapisz.
- Na stronie aplikacji w sekcji Profile kliknij Zarządzaj profilami.
Na stronie Przypisanie profilu aplikacji zaznacz pola wyboru obok profili użytkowników, którzy mogą korzystać z 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 co najmniej użytkownicy z rolą 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, odszukaj użytkownika, którego ma reprezentować rozszerzenie, a potem znajdź jego profil w kolumnie Profil.
Kliknij Zapisz.
Informacje o Salesforce
Salesforce to platforma do zarządzania relacjami z klientami (CRM). System zarządzania relacjami z klientami pomaga firmom lepiej poznawać potrzeby klientów i rozwiązywać ich 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
Wstawianie rekordów jako typów obiektów.
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 anulować całą aktualizację, jeśli nie powiedzie się jakakolwiek jej część. |
Wartość logiczna | fałsz | Nie. |
Odpowiedź
Tablica results
z wynikami operacji wstawienia.
{
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 udało się wstawić rekord. |
Wartość logiczna | Brak. | Tak. |
results[*].errors | Tablica błędów (jeśli występują) wychwycionych podczas wykonywania. | Tablica | Brak. | Tak. |
update
Zaktualizuj 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, który ma zostać zaktualizowany, musi zawierać wartość pola ID. Maksymalnie: 1000. | Tablica | Brak. | Tak. |
allOrNone | true , aby anulować całą aktualizację, jeśli nie powiedzie się jakakolwiek 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 udało się wstawić rekord. |
Wartość logiczna | Brak. | Tak. |
results[*].errors | Tablica błędów (jeśli występują) wychwycionych podczas wykonywania. | Tablica | Brak. | Tak. |
pobierz
Pobieraj 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ślny | Wymagane |
---|---|---|---|---|
sobject | Typ obiektu rekordów do pobrania. | Ciąg znaków | Brak. | Tak. |
ids | Tablica rekordów sObject IDs do pobrania. Maksymalnie 1000. | Tablica | Brak. | Tak. |
allOrNone | true , aby zakończyć całą operację, jeśli jakikolwiek element żądania zakończy się niepowodzeniem. |
Wartość logiczna | fałsz | Nie. |
Odpowiedź
Tablica records
obiektów sObjects reprezentowana jako kod JSON. Pamiętaj, że w pliku JSON są uwzględnione wszystkie właściwości obiektów, nawet jeśli ich wartość jest pusta.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
Wysyłanie zapytań do Salesforce.com za pomocą języka zapytań do 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 zapytania SOQL. | 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 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 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 listy rekordów, | Liczba całkowita | 0 |
Nie. |
Odpowiedź
Tablica records
zawierająca wymienione obiekty sObjects 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 rekordów do usunięcia. | Ciąg znaków | Brak. | Tak. |
ids | Tablica identyfikatorów sObject dla 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 została wykonana pomyślnie. |
Wartość logiczna | Brak. | Tak. |
results[*].errors | Tablica błędów (jeśli występują) wychwycionych podczas wykonywania. | Tablica | Brak. | Tak. |
getAccessToken
Uzyskaj token dostępu API Salesforce.com. 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 | Wpisz token dostępu. | Ciąg znaków | Nośnik | Tak. |
Informacje o konfiguracji
Podczas konfigurowania i wdrażania tego rozszerzenia do użycia w serwerach proxy API postępuj zgodnie z tymi instrukcjami.
Właściwości wspólne 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 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 do użycia podczas uzyskiwania autoryzacji z Salesforce. Zwykle https://login.salesforce.com |
Brak. | Tak. |
Klucz klienta aplikacji połączonej | Klucz klienta udostępniony przez Salesforce dla utworzonej przez Ciebie połączonej aplikacji. Aby pobrać klucz konsumenta, zapoznaj się z instrukcjami w sekcji Wymagania wstępne. | Brak. | Tak. |
Dane logowania | Gdy wpiszesz te dane w konsoli Apigee Edge, będą one odpowiadać zawartości pliku salesforce.key wygenerowanego w powyższych krokach. Gdy jest wysyłany 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 będzie używać tego adresu do uzyskiwania autoryzacji w Salesforce. | Brak. | Tak. |