Rozszerzenie Salesforce

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:

  1. 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
    
    
  2. Skonfiguruj połączoną aplikację.

    Połączona aplikacja Salesforce zapewni dostęp do rozszerzenia Salesforce. Poniżej znajdziesz instrukcje konfigurowania aplikacji.

  3. Uzyskaj klucz konsumenta dla połączonej aplikacji. Rozszerzenie będzie go używać do uwierzytelniania w aplikacji.

    1. W konfiguracji Salesforce w panelu nawigacyjnym po lewej stronie kliknij Aplikacje > Menedżer aplikacji.
    2. Na liście odszukaj utworzoną przez siebie połączoną aplikację.
    3. W menu po prawej stronie wiersza aplikacji kliknij Wyświetl.
    4. 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

  1. Zaloguj się w Salesforce.
  2. W prawym górnym rogu kliknij ikonę koła zębatego, a potem Konfiguracja.
  3. W panelu nawigacyjnym po lewej stronie rozwiń Aplikacje > Menedżer aplikacji.
  4. Na stronie Menedżer aplikacji kliknij Nowa połączona aplikacja.
  5. W sekcji Podstawowe informacje wypełnij wymagane pola. Wartości te służą do księgowania i nie są używane przez rozszerzenie.
  6. W sekcji Interfejs API (włącz ustawienia OAuth) zaznacz pole wyboru Włącz ustawienia OAuth.
  7. 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ą.
  8. Zaznacz pole wyboru Użyj podpisów cyfrowych.
  9. W sekcji Używanie podpisów cyfrowych kliknij Wybierz plik, aby znaleźć i przesłać wygenerowany wcześniej plik salesforce.crt.
  10. 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)
  11. Kliknij Zapisz. Jeśli wystąpią błędy, konieczne może być ponowne wygenerowanie i przesłanie pliku salesforce.crt.
  12. Na stronie aplikacji kliknij Zarządzaj.
  13. Na stronie Menedżera aplikacji dla utworzonej właśnie aplikacji kliknij Edytuj zasady.
  14. W sekcji Zasady OAuth kliknij menu Zezwalani użytkownicy, a następnie Zatwierdzeni przez administratora użytkownicy mają wstępną autoryzację.
  15. Kliknij Zapisz.
  16. Na stronie aplikacji w sekcji Profile kliknij Zarządzaj profilami.
  17. 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.

  18. 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.