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 vonSalesforceLogin
sessionId
: Die Salesforce-Sitzungs-ID, aus dem Aufruf vonSalesforceLogin
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 ProjektsessionID
: Eine Salesforce-Sitzungs-IDserverURL
: 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
// 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"];
// 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 Projektsoql
: Eine Abfrage, die in Salesforce Object Query Language (SOQL) geschrieben isttargetID
: 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
// 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>");
// 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>");