Zum Inhalt springen

Salesforce Funktionen im Jitterbit Integration Studio

Salesforce-Funktionen bieten Anmelde- und Sitzungsinformationen sowie Nachschlagevorgänge für Salesforce Instanzen.

GetSalesforceTimestamp

Erklärung

string GetSalesforceTimestamp(string url, string sessionId[, string timeZoneId])

Syntax

GetSalesforceTimestamp(<url>, <sessionId>[, <timeZoneId>])

Erforderliche Parameter

  • url: Die beim Aufruf von Salesforce zu verwendende URL aus dem Aufruf SalesforceLogin- sessionId: Die Salesforce Sitzungs-ID aus dem Anruf SalesforceLogin

Optionale Parameter

  • timeZoneId: Eine zu verwendende Zeitzonen-ID, wie unter Zeitzonencodes beschrieben. Der Standardwert ist die Zeitzone des Salesforce Endpoint, der durch die Salesforce Sitzungs-ID identifiziert wird.

Beschreibung

Ruft die aktuelle Systemzeit von Salesforce ab.

Der Zeitstempel wird im Format zurückgegeben yyyy-mm-dd HH:MM:SS, wobei standardmäßig die Zeitzoneneinstellung Ihres Salesforce Endpunkts verwendet wird. Sie müssen sich bei Salesforce mit dem SalesforceLogin Funktion, bevor Sie diese Funktion verwenden. Die Funktion gibt einen Nullwert zurück, wenn der Aufruf fehlschlägt. Verwenden Sie die GetLastErrorFunktion, um in diesem Fall die Fehlermeldung abzurufen.

Mit dem optionalen dritten Argument können Sie die zu verwendende Zeitzone festlegen. Wenn keine Zeitzone angegeben ist, wird standardmäßig die Zeitzone Ihres Salesforce Endpoint verwendet. Das Zeitzonenargument muss eine Zeitzone sein, die von Javas TimeZone-Klasse erkannt wird.

In einem häufigen Szenario SalesforceLogin Funktion wird zuerst aufgerufen. Die URL und die Sitzungs-ID sind dann in diesen globalen Variablen verfügbar:

  • $Salesforce.ServerUrl- $Salesforce.SessionId

Alternativ zu dieser Funktion finden Sie auch die LoginToSalesforceAndGetTimestamp Funktion.

Beispiele

// Start by logging into Salesforce
if(!SalesforceLogin("..."), RaiseError(GetLastError()));
timestamp = GetSalesforceTimestamp($Salesforce.ServerUrl,
    $Salesforce.SessionId);
// Check for any errors before proceeding further
if(IsNull(timestamp), RaiseError(GetLastError()));

// Retrieving the timestamp in UTC:
timestamp = GetSalesforceTimestamp($Salesforce.ServerUrl,
    $Salesforce.SessionId, "UTC");

// Retrieving the timestamp in Pacific Standard Time:
timestamp = GetSalesforceTimestamp($Salesforce.ServerUrl,
    $Salesforce.SessionId, "PST");

LoginToSalesforceAndGetTimeStamp

Erklärung

string LoginToSalesforceAndGetTimestamp(string salesforceOrg[, string timeZoneId])

Syntax

LoginToSalesforceAndGetTimestamp(<salesforceOrg>[, <timeZoneId>])

Erforderliche Parameter

  • salesforceOrg: Ein String-Referenzpfad zu einer Salesforce Verbindung im aktuellen Projekt

Optionale Parameter

  • timeZoneId: Eine zu verwendende Zeitzonen-ID, wie unter Zeitzonencodes beschrieben. Der Standardwert ist die Zeitzone des Salesforce Endpoint.

Beschreibung

Meldet sich über einen Salesforce Endpoint bei Salesforce an und ruft die aktuelle Systemzeit von Salesforce ab.

Der in diesem Funktionsaufruf verwendete Salesforce Endpoint muss im aktuellen Projekt als Salesforce Verbindung definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.

Der Login-Aufruf erfolgt mit den Anmeldeinformationen im angegebenen Salesforce Endpoint. Der Zeitstempel wird im Format zurückgegeben yyyy-mm-dd HH:MM:SS, wobei standardmäßig die Zeitzoneneinstellung Ihres Salesforce Endpunkts verwendet wird. Die Funktion gibt einen Nullwert zurück, wenn der Aufruf fehlschlägt. Verwenden Sie die GetLastError Funktion, um in diesem Fall die Fehlermeldung abzurufen.

Mit dem optionalen Argument können Sie die zu verwendende Zeitzone festlegen. Wenn keine Zeitzone angegeben ist, wird standardmäßig die Zeitzone Ihres Salesforce Endpoint verwendet. Das Zeitzonenargument muss eine Zeitzone sein, die von Javas TimeZone-Klasse erkannt wird.

Sobald diese Funktion aufgerufen wurde, sind die Salesforce URL und die Sitzungs-ID in diesen globalen Variablen verfügbar:

  • $Salesforce.ServerUrl- $Salesforce.SessionId

Alternativ zu dieser Funktion finden Sie auch die GetSalesforceTimestamp Funktion.

Beispiele

// Logs in to Salesforce and retrieves the timestamp
timestamp = LoginToSalesforceAndGetTimestamp("<TAG>endpoint:salesforce/Salesforce</TAG>");

// Check for any errors before proceeding further
if(IsNull(timestamp), RaiseError(GetLastError()));

// Retrieving the timestamp in UTC:
timestamp = LoginToSalesforceAndGetTimestamp("<TAG>endpoint:salesforce/Salesforce</TAG>", "UTC");

// Retrieving the timestamp in Pacific Standard Time:
timestamp = LoginToSalesforceAndGetTimestamp("<TAG>endpoint:salesforce/Salesforce</TAG>", "PST");

SalesforceLogin

Erklärung

bool SalesforceLogin(string salesforceOrg)

Syntax

SalesforceLogin(<salesforceOrg>)

Erforderliche Parameter

  • salesforceOrg: Ein String-Referenzpfad zu einer Salesforce Verbindung im aktuellen Projekt

Beschreibung

Meldet sich unter Verwendung des angegebenen Salesforce Endpoint bei Salesforce an.

Der in diesem Funktionsaufruf verwendete Salesforce Endpoint muss im aktuellen Projekt als Salesforce Verbindung definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.

Nach einem erfolgreichen Login sind diese globalen Variablen gesetzt und können in nachfolgenden Scripts oder Mappings verwendet werden:

  • $Salesforce.SessionID: Die Salesforce Sitzungs-ID
  • $Salesforce.ServerURL: Die URL, die in nachfolgenden Aufrufen von Salesforce in derselben Sitzung verwendet werden soll
  • $Salesforce.UserID: Die ID des Salesforce Benutzers

Die Funktion gibt true zurück, wenn die Anmeldung erfolgreich war, und false, wenn die Anmeldung fehlgeschlagen ist. Verwenden Sie die GetLastError Funktion zum Abrufen der Fehlermeldung in diesem Fall.

Beispiele

// Logs in to Salesforce
result = SalesforceLogin("<TAG>endpoint:salesforce/Salesforce</TAG>");

// Check for any errors before proceeding further
if(!result, RaiseError(GetLastError()));

SetSalesforceSession

Erklärung

void SetSalesforceSession(string salesforceOrg, string sessionId, string serverURL)

Syntax

SetSalesforceSession(<salesforceOrg>, <sessionId>, <serverURL>)

Erforderliche Parameter

  • salesforceOrg: Ein String-Referenzpfad zu einer Salesforce Verbindung im aktuellen Projekt
  • sessionID: Eine Salesforce Sitzungs-ID
  • serverURL: Eine Salesforce-Server-URL

Beschreibung

Legt Salesforce-Sitzungsinformationen für den angegebenen Salesforce Endpoint fest. Verwenden Sie diese Funktion, wenn Sie über eine vorhandene Salesforce Sitzungs-ID und Server-URL verfügen. Durch Aufrufen dieser Funktion wird die automatische Salesforce-Anmeldung deaktiviert und stattdessen werden die bereitgestellten Sitzungsinformationen verwendet.

Der in diesem Funktionsaufruf verwendete Salesforce Endpoint muss im aktuellen Projekt als Salesforce Verbindung definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.

Nach einem erfolgreichen Funktionsaufruf sind diese globalen Variablen gesetzt und können in nachfolgenden Scripts oder Mappings verwendet werden:

  • $Salesforce.SessionID: Die Salesforce Sitzungs-ID.
  • $Salesforce.ServerURL: Die URL, die in nachfolgenden Aufrufen von Salesforce in derselben Sitzung verwendet werden soll.

Diese Funktion validiert die Eingabe nicht. Sie schlägt nur fehl, wenn entweder die Sitzungs-ID oder die Server-URL leer sind oder der referenzierte Salesforce Endpoint nicht existiert. Wenn entweder die Sitzungs-ID oder die Server-URL ungültig ist, schlagen nachfolgende Salesforce Vorgänge fehl.

Verwenden Sie die Eval Funktion zum Auffangen von Fehlern, Aufruf der GetLastError Funktion zum Abrufen der Fehlermeldung.

Warnung

Es ist ein Bekanntes Problem, dass die SetSalesforceSession Funktion funktioniert nicht richtig und sollte nicht verwendet werden. Bei Verwendung kann das Script einen Fehler erzeugen, muss es aber nicht. Auch wenn das Script keinen Fehler erzeugt, funktioniert die Funktion nicht richtig. Da die Funktion nicht funktioniert, wird die integrierte Sitzungsverwaltung des Salesforce Connectors verwendet.

Beispiele

// Sets the Salesforce session information
sfOrg = "<TAG>endpoint:salesforce/Salesforce</TAG>";
sfSessionID = "00D5...SE";
sfURL = "https://example.my.salesforce.com/services/Soap/u/39.0/...";
// Logs in to Salesforce
Eval(SetSalesforceSession(sfOrg, sfSessionID, sfURL),
    RaiseError("Failed to set Salesforce session: " + GetLastError()));

SfCacheLookup

Erklärung

string SfCacheLookup(string salesforceOrg, string soql)

Syntax

SfCacheLookup(<salesforceOrg>, <soql>)

Erforderliche Parameter

  • salesforceOrg: **Ein String-Referenzpfad zu einer Salesforce-Verbindung im aktuellen Projekt
  • soql: Eine in Salesforce Object Query Language (SOQL) geschriebene Abfrage

Beschreibung

Meldet sich bei Salesforce an (falls erforderlich) und ruft das Ergebnis der Abfrage von Salesforce ab. Es wird nur der Wert aus dem ersten Feld des ersten Datensatzes zurückgegeben.

Der in diesem Funktionsaufruf verwendete Salesforce Endpoint muss im aktuellen Projekt als Salesforce Verbindung definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.

Werte werden zwischengespeichert, sodass nachfolgende Aufrufe mit genau denselben Parametern (Salesforce Endpoint und SOQL) keinen Aufruf von Salesforce auslösen. Salesforce wird nur beim ersten Mal aufgerufen.

Die Funktion gibt zurück null Wenn die Anmeldung fehlschlägt, die Abfrage keine Datensätze zurückgibt oder die API fehlschlägt. Verwenden Sie die GetLastError Funktion zum Abrufen der Fehlermeldung in diesem Fall.

Beispiele

// Logs in to Salesforce and retrieves the first result of a query
// If the query is cached, it uses the cached value
myId = SFCacheLookup("<TAG>endpoint:salesforce/Salesforce</TAG>",
    "SELECT Id FROM Account WHERE Name='My Account'");

// Checks for any errors before proceeding
if(IsNull(myId), RaiseError(GetLastError()));

SfLookup

Erklärung

string SfLookup(string salesforceOrg, string soql)

Syntax

SfLookup(<salesforceOrg>, <soql>)

Erforderliche Parameter

  • salesforceOrg:Ein String-Referenzpfad zu einer Salesforce-Verbindung im aktuellen Projekt**
  • soql: Eine in Salesforce Object Query Language (SOQL) geschriebene Abfrage

Beschreibung

Meldet sich bei Salesforce an (falls erforderlich) und ruft das Ergebnis der Abfrage von Salesforce ab. Es wird nur der Wert aus dem ersten Feld des ersten Datensatzes zurückgegeben.

Der in diesem Funktionsaufruf verwendete Salesforce Endpoint muss im aktuellen Projekt als Salesforce Verbindung definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.

Die Funktion gibt zurück null Wenn die Anmeldung fehlschlägt, die Abfrage keine Datensätze zurückgibt oder die API fehlschlägt. Verwenden Sie die GetLastError Funktion zum Abrufen der Fehlermeldung in diesem Fall.

Siehe auch die SFLookupAll Und SFLookupAllToFile Funktionen.

Beispiele

// Logs in to Salesforce and retrieves the first result of a query
myId = SFLookup("<TAG>endpoint:salesforce/Salesforce</TAG>",
    "SELECT Id FROM Account WHERE Name='My Account'");

// Checks for any errors before proceeding
if(IsNull(myId), RaiseError(GetLastError()));

SfLookupAll

Erklärung

array_2D SfLookupAll(string salesforceOrg, string soql)

Syntax

SfLookupAll(<salesforceOrg>, <soql>)

Erforderliche Parameter

  • salesforceOrg:Ein String-Referenzpfad zu einer Salesforce-Verbindung im aktuellen Projekt**
  • soql: Eine in Salesforce Object Query Language (SOQL) geschriebene Abfrage

Beschreibung

Meldet sich bei Salesforce an (falls erforderlich) und ruft das Ergebnis der Abfrage von Salesforce ab. Das zurückgegebene Array ist zweidimensional; ein Array von Datensätzen, wobei jeder Datensatz ein Array benannter Felder ist.

Der in diesem Funktionsaufruf verwendete Salesforce Endpoint muss im aktuellen Projekt als Salesforce Verbindung definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.

Die Funktion gibt zurück null Wenn die Anmeldung fehlschlägt, die Abfrage keine Datensätze zurückgibt oder die API fehlschlägt. Verwenden Sie die GetLastError Funktion, um in diesem Fall die Fehlermeldung abzurufen.

Bei der Verwendung einer Abfrage gibt es Einschränkungen:

  • Es können nur unmittelbare Verwandtschaftsverhältnisse abgerufen werden. Die Abfrage kann keine Enkelbeziehungen enthalten.
  • Für jeden Abfrage kann jedes untergeordnete Element nicht mehrere Datensätze haben.
  • In der Abfrage sollten die Felder unter demselben untergeordneten Element gruppiert werden.

Siehe auch die SFLookup Und SFLookupAllToFile Funktionen.

Beispiele

Example 1
// Logs in to Salesforce and retrieves the results of a query
records = SFLookupAll("<TAG>endpoint:salesforce/Salesforce</TAG>",
    "SELECT Id,Name FROM Account");
firstId = records[0][0];
firstAccountName = records[0]["Name"];
Example 2
// Logs in to Salesforce and retrieves the results of a query
soql = "SELECT Id,Name,CreatedBy.ContactId,
    CreatedBy.FirstName,CreatedBy.LastName FROM Account";
rs = SfLookupAll("<TAG>endpoint:salesforce/Salesforce</TAG>", soql);
firstId = rs[0][0];
firstAccountName = rs[0]["Name"];
lastName = rs[0][„Erstellt von.Nachname“];
// or using an index:
last_name = rs[0][5];

SfLookupAllToFile

Erklärung

int SfLookupAllToFile(string salesforceOrg, string soql, string targetId)

Syntax

SfLookupAllToFile(<salesforceOrg>, <soql>, <targetId>)

Erforderliche Parameter

  • salesforceOrg: Ein String-Referenzpfad zu einer Salesforce Verbindung im aktuellen Projekt
  • soql: Eine in Salesforce Object Query Language (SOQL) geschriebene Abfrage
  • targetID: Eine String-Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist

Beschreibung

Meldet sich bei Salesforce an (falls erforderlich) und schreibt die Ergebnisse der Abfrage aus Salesforce in eine CSV-Datei. Die Funktion gibt die Anzahl der abgerufenen Datensätze zurück.

Der Anmeldeaufruf erfolgt mit den Anmeldeinformationen im angegebenen Salesforce Endpoint. Der in diesem Funktionsaufruf verwendete Salesforce Endpoint muss im aktuellen Projekt als Salesforce Verbindung definiert sein.

Das in diesem Funktionsaufruf verwendete Ziel muss als Aktivität definiert sein, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher.

Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.

Die Funktion gibt zurück null Wenn die Anmeldung fehlschlägt, die Abfrage keine Datensätze zurückgibt oder die API fehlschlägt. Verwenden Sie die GetLastError Funktion zum Abrufen der Fehlermeldung in diesem Fall.

Siehe auch die SFLookup Und SFLookupAll Funktionen.

Beispiele

Example 1
// Logs in to Salesforce,
// retrieves the results of a query,
// and writes the results to a target
nrec = SFLookupAllToFile("<TAG>endpoint:salesforce/Salesforce</TAG>",
    "SELECT Id,Name FROM Account",
    "<TAG>activity:/...</TAG>");
Example 2
// Logs in to Salesforce,
// retrieves the results of a query
// specified in a local variable,
// and writes the results to a target
soql = "SELECT Id,Name,CreatedBy.ContactId,
    CreatedBy.FirstName,CreatedBy.LastName FROM Account";
nrec = SfLookupAllToFile("<TAG>endpoint:salesforce/Salesforce</TAG>",
    soql, "<TAG>activity:/...</TAG>");