Zum Inhalt springen

Salesforce-Funktionen im Jitterbit Integration Studio

Salesforce-Funktionen bieten Anmelde- und Sitzungsinformationen sowie Abfragen für Salesforce-Instanzen.

GetSalesforceTimestamp

Deklaration

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

Syntax

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

Erforderliche Parameter

  • url: Die URL, die beim Aufruf von Salesforce verwendet wird, aus dem Aufruf von SalesforceLogin
  • sessionId: Die Salesforce-Sitzungs-ID, aus dem Aufruf von SalesforceLogin

Optionale Parameter

  • timeZoneId: Eine Zeitzonen-ID, die verwendet werden soll, wie unter Zeitzonencodes beschrieben. Standardmäßig wird die Zeitzone des Salesforce-Endpunkts verwendet, die durch die Salesforce-Sitzungs-ID identifiziert wird.

Beschreibung

Ruft die aktuelle Systemzeit von Salesforce ab.

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

Das optionale dritte Argument kann verwendet werden, um die zu verwendende Zeitzone festzulegen. Die Zeitzone Ihres Salesforce-Endpunkts wird standardmäßig verwendet, wenn keine Zeitzone angegeben wird. Das Zeitzonenargument muss eine von Java erkannte Zeitzone sein, die in der TimeZone-Klasse beschrieben ist.

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

  • $Salesforce.ServerUrl
  • $Salesforce.SessionId

Als Alternative zu dieser Funktion siehe auch die Funktion LoginToSalesforceAndGetTimestamp.

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

Deklaration

string LoginToSalesforceAndGetTimestamp(string salesforceOrg[, string timeZoneId])

Syntax

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

Erforderliche Parameter

  • salesforceOrg: Ein String-Verweis auf eine Salesforce-Verbindung im aktuellen Projekt

Optionale Parameter

  • timeZoneId: Eine Zeitzonen-ID, die verwendet werden soll, wie unter Zeitzonencodes beschrieben. Standardmäßig wird die Zeitzone des Salesforce-Endpunkts verwendet.

Beschreibung

Meldet sich bei Salesforce an, indem ein Salesforce-Endpunkt verwendet wird, und ruft die aktuelle Systemzeit von Salesforce ab.

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

Der Anruf zur Anmeldung erfolgt mit den Anmeldeinformationen des angegebenen Salesforce-Endpunkts. Der Zeitstempel wird im Format yyyy-mm-dd HH:MM:SS zurückgegeben, 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 Funktion GetLastError, um in diesem Fall die Fehlermeldung abzurufen.

Das optionale Argument kann verwendet werden, um die zu verwendende Zeitzone festzulegen. Die Zeitzone Ihres Salesforce-Endpunkts wird standardmäßig verwendet, wenn keine Zeitzone angegeben ist. Das Zeitzonenargument muss eine von der Java-Klasse TimeZone anerkannte Zeitzone sein.

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

  • $Salesforce.ServerUrl
  • $Salesforce.SessionId

Als Alternative zu dieser Funktion siehe 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

Deklaration

bool SalesforceLogin(string salesforceOrg)

Syntax

SalesforceLogin(<salesforceOrg>)

Erforderliche Parameter

  • salesforceOrg: Ein String-Verweis auf einen Salesforce-Verbindungspfad im aktuellen Projekt

Beschreibung

Meldet sich bei Salesforce an, indem der angegebene Salesforce-Endpunkt verwendet wird.

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

Nach einer erfolgreichen Anmeldung werden diese globalen Variablen gesetzt und können in nachfolgenden Skripten oder Zuordnungen verwendet werden:

  • $Salesforce.SessionID: Die Salesforce-Sitzungs-ID
  • $Salesforce.ServerURL: Die URL, die in nachfolgenden Aufrufen an 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 Funktion GetLastError, um in diesem Fall die Fehlermeldung abzurufen.

Hinweis

Endpunkte, die mit dieser Funktion erstellt wurden, sind in Berichterstattung über die Endpunktnutzung enthalten und zählen zu Ihrer Lizenz.

Beispiele

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

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

SetSalesforceSession

Declaration

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

Syntax

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

Required parameters

  • salesforceOrg: Ein String-Verweis auf eine Salesforce-Verbindung im aktuellen Projekt
  • sessionID: Eine Salesforce-Sitzungs-ID
  • serverURL: Eine Salesforce-Server-URL

Description

Setzt die Salesforce-Sitzungsinformationen für den angegebenen Salesforce-Endpunkt. Verwenden Sie diese Funktion, wenn Sie eine vorhandene Salesforce-Sitzungs-ID und Server-URL haben. Der Aufruf dieser Funktion deaktiviert die automatische Salesforce-Anmeldung und verwendet stattdessen die bereitgestellten Sitzungsinformationen.

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

Nach einem erfolgreichen Funktionsaufruf werden diese globalen Variablen gesetzt und können in nachfolgenden Skripten oder Zuordnungen verwendet werden:

  • $Salesforce.SessionID: Die Salesforce-Sitzungs-ID.
  • $Salesforce.ServerURL: Die URL, die in nachfolgenden Aufrufen an 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-Endpunkt nicht existiert. Wenn entweder die Sitzungs-ID oder die Server-URL ungültig sind, schlagen nachfolgende Salesforce-Operationen fehl.

Verwenden Sie die Eval-Funktion, um Fehler abzufangen, und rufen Sie die GetLastError-Funktion auf, um die Fehlermeldung abzurufen.

Warnung

Es ist ein bekanntes Problem, dass die Funktion SetSalesforceSession nicht korrekt funktioniert und nicht verwendet werden sollte. Wenn sie verwendet wird, kann das Skript einen Fehler generieren oder auch nicht. Selbst wenn das Skript keinen Fehler generiert, wird die Funktion nicht korrekt funktionieren. 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

Deklaration

string SfCacheLookup(string salesforceOrg, string soql)

Syntax

SfCacheLookup(<salesforceOrg>, <soql>)

Erforderliche Parameter

  • salesforceOrg: Ein String-Verweis auf einen Salesforce-Verbindungspfad im aktuellen Projekt**
  • soql: Eine Abfrage, die in Salesforce Object Query Language (SOQL) geschrieben ist

Beschreibung

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

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

Werte werden zwischengespeichert, sodass nachfolgende Aufrufe mit denselben genauen Parametern (Salesforce-Endpunkt und SOQL) keinen Aufruf an Salesforce auslösen. Salesforce wird nur beim ersten Mal aufgerufen. Der Cache ist für die Dauer der Operationenkette, in der er aufgerufen wird, gültig.

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

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

Deklaration

string SfLookup(string salesforceOrg, string soql)

Syntax

SfLookup(<salesforceOrg>, <soql>)

Erforderliche Parameter

  • salesforceOrg: Ein String-Verweis auf eine Salesforce-Verbindung im aktuellen Projekt**
  • soql: Eine Abfrage, die in Salesforce Object Query Language (SOQL) geschrieben ist

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-Endpunkt muss als Salesforce-Verbindung im aktuellen Projekt definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpunkten im Abschnitt Endpunkte in Jitterbit Script.

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

Siehe auch die Funktionen SFLookupAll und SFLookupAllToFile.

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

Deklaration

array_2D SfLookupAll(string salesforceOrg, string soql)

Syntax

SfLookupAll(<salesforceOrg>, <soql>)

Erforderliche Parameter

  • salesforceOrg: Ein String-Verweis auf eine Salesforce-Verbindung im aktuellen Projekt**
  • soql: Eine Abfrage, die in Salesforce Object Query Language (SOQL) geschrieben ist

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 von benannten Feldern ist.

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

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

Es gibt Einschränkungen, wenn eine Beziehungsabfrage verwendet wird:

  • Es kann nur eine unmittelbare Beziehung abgerufen werden. Die Abfrage kann keine Enkelbeziehung enthalten.
  • Für jeden Abfrage-Datensatz darf jedes Kind keine mehreren Datensätze haben.
  • In der Abfrageanweisung sollten die Felder unter demselben Kind zusammengefasst werden.

Siehe auch die Funktionen SFLookup und SFLookupAllToFile.

Beispiele

Beispiel 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"];
Beispiel 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]["CreatedBy.LastName"];
// or using an index:
last_name = rs[0][5];

SfLookupAllToFile

Deklaration

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

Syntax

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

Erforderliche Parameter

  • salesforceOrg: Ein String-Verweis auf einen Salesforce-Verbindungspfad im aktuellen Projekt
  • soql: Eine Abfrage, die in Salesforce Object Query Language (SOQL) geschrieben ist
  • targetID: Eine String-Aktivität, die mit einem Dateityp-Endpunkt im aktuellen Projekt verbunden ist

Beschreibung

Meldet sich bei Salesforce an (falls erforderlich) und schreibt die Ergebnisse der Abfrage von 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-Endpunkt. Der in diesem Funktionsaufruf verwendete Salesforce-Endpunkt muss als Salesforce-Verbindung im aktuellen Projekt definiert sein.

Das Ziel, das in diesem Funktionsaufruf verwendet wird, muss als Aktivität definiert sein, die mit einem Dateityp-Endpunkt im aktuellen Projekt verbunden ist. Dazu gehören konfigurierte File Share-, FTP-, HTTP-, Local Storage- und Temporary Storage-Aktivitäten.

Für weitere Informationen siehe die Anweisungen zum Einfügen von Endpunkten im Abschnitt Endpunkte in Jitterbit Script.

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

Siehe auch die Funktionen SFLookup und SFLookupAll.

Beispiele

Beispiel 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>");
Beispiel 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>");