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 AufrufSalesforceLogin
-sessionId
: Die Salesforce Sitzungs-ID aus dem AnrufSalesforceLogin
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 GetLastError
Funktion, 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 ProjektsessionID
: Eine Salesforce Sitzungs-IDserverURL
: 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 Projektsoql
: 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
// 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][„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 Projektsoql
: Eine in Salesforce Object Query Language (SOQL) geschriebene AbfragetargetID
: 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
// 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>");