Funciones de Salesforce en Jitterbit Integration Studio
Las funciones de Salesforce proporcionan información de inicio de sesión y de sesión, así como búsquedas de instancias de Salesforce.
GetSalesforceTimestamp
Declaración
string GetSalesforceTimestamp(string url, string sessionId[, string timeZoneId])
Sintaxis
GetSalesforceTimestamp(<url>, <sessionId>[, <timeZoneId>])
Parámetros necesarios
url
: La URL que se utilizará al llamar a Salesforce, desde la llamadaSalesforceLogin
-sessionId
: El ID de la sesión de Salesforce, desde la llamadaSalesforceLogin
Parámetros opcionales
timeZoneId
: Un ID de huso horario para utilizar, como se describe en Códigos de zona horaria. El valor predeterminado es la huso horario del extremo de Salesforce identificado por el ID de sesión de Salesforce.
Descripción
Recupera la hora actual del sistema de Salesforce.
La marca de tiempo se devuelve en el formato yyyy-mm-dd HH:MM:SS
, utilizando la configuración de huso horario de su punto final de Salesforce de forma predeterminada. Debe haber iniciado sesión en Salesforce utilizando SalesforceLogin
función antes de usar esta función. La función devuelve un valor nulo si la llamada falla. Utilice la función GetLastError
función para recuperar el mensaje de error en ese caso.
El tercer argumento opcional se puede utilizar para establecer la huso horario que se utilizará. La huso horario de su extremo de Salesforce se utiliza de forma predeterminada si no se proporciona una huso horario. El argumento de huso horario debe ser una huso horario reconocida por la clase TimeZone de Java.
En un escenario común, el SalesforceLogin
Se llama primero a la función. La URL y el ID de sesión están disponibles en estas variables globales:
$Salesforce.ServerUrl
-$Salesforce.SessionId
Como alternativa a esta función, consulte también la LoginToSalesforceAndGetTimestamp
función.
Ejemplos
// 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
Declaración
string LoginToSalesforceAndGetTimestamp(string salesforceOrg[, string timeZoneId])
Sintaxis
LoginToSalesforceAndGetTimestamp(<salesforceOrg>[, <timeZoneId>])
Parámetros necesarios
salesforceOrg
: Una ruta de referencia de cadena a una conexión de Salesforce en el proyecto actual
Parámetros opcionales
timeZoneId
: Un ID de huso horario para utilizar, como se describe en Códigos de zona horaria. El valor predeterminado es la huso horario del extremo de Salesforce.
Descripción
Inicia sesión en Salesforce mediante un extremo de Salesforce y recupera la hora actual del sistema de Salesforce.
El extremo de Salesforce utilizado en esta llamada de función debe definirse como una conexión de Salesforce en el proyecto actual. Para obtener más información, consulte las instrucciones sobre cómo insertar extremos en Extremos sección en Jitterbit Script.
La llamada de inicio de sesión se realiza utilizando las credenciales en el extremo de Salesforce especificado. La marca de tiempo se devuelve en el formato yyyy-mm-dd HH:MM:SS
, utilizando la configuración de huso horario de su punto final de Salesforce de forma predeterminada. La función devuelve un valor nulo si la llamada falla. Utilice el GetLastError
función para recuperar el mensaje de error en ese caso.
El argumento opcional se puede utilizar para establecer la huso horario que se utilizará. La huso horario de su extremo de Salesforce se utiliza de forma predeterminada si no se proporciona una huso horario. El argumento de huso horario debe ser una huso horario reconocida por la clase TimeZone de Java.
Una vez que se llama a esta función, la URL de Salesforce y la ID de sesión están disponibles en estas variables globales:
$Salesforce.ServerUrl
-$Salesforce.SessionId
Como alternativa a esta función, consulte también la GetSalesforceTimestamp
función.
Ejemplos
// 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
Declaración
bool SalesforceLogin(string salesforceOrg)
Sintaxis
SalesforceLogin(<salesforceOrg>)
Parámetros necesarios
salesforceOrg
: Una ruta de referencia de cadena a una conexión de Salesforce en el proyecto actual
Descripción
Inicia sesión en Salesforce mediante el extremo de Salesforce especificado.
El extremo de Salesforce utilizado en esta llamada de función debe definirse como una conexión de Salesforce en el proyecto actual. Para obtener más información, consulte las instrucciones sobre cómo insertar extremos en Extremos sección en Jitterbit Script.
Después de un inicio de sesión exitoso, estas variables globales se habrán configurado y podrán usarse en secuencias de comandos o asignaciones posteriores:
$Salesforce.SessionID
:El ID de sesión de Salesforce$Salesforce.ServerURL
:La URL que se utilizará en llamadas posteriores a Salesforce en la misma sesión$Salesforce.UserID
:El ID del usuario de Salesforce
La función devuelve verdadero si el inicio de sesión fue exitoso y falso si el inicio de sesión falló. Utilice el GetLastError
Función para recuperar el mensaje de error en ese caso.
Ejemplos
// Logs in to Salesforce
result = SalesforceLogin("<TAG>endpoint:salesforce/Salesforce</TAG>");
// Check for any errors before proceeding further
if(!result, RaiseError(GetLastError()));
SetSalesforceSession
Declaración
void SetSalesforceSession(string salesforceOrg, string sessionId, string serverURL)
Sintaxis
SetSalesforceSession(<salesforceOrg>, <sessionId>, <serverURL>)
Parámetros necesarios
salesforceOrg
: Una ruta de referencia de cadena a una conexión de Salesforce en el proyecto actualsessionID
: Un ID de sesión de SalesforceserverURL
: Una URL del servidor de Salesforce
Descripción
Establece la información de sesión de Salesforce para el extremo de Salesforce especificado. Utilice esta función si tiene una ID de sesión de Salesforce y una URL de servidor existentes. Al llamar a esta función, se deshabilitará el inicio de sesión automático de Salesforce y, en su lugar, se utilizará la información de sesión proporcionada.
El extremo de Salesforce utilizado en esta llamada de función debe definirse como una conexión de Salesforce en el proyecto actual. Para obtener más información, consulte las instrucciones sobre cómo insertar extremos en Extremos sección en Jitterbit Script.
Después de una llamada de función exitosa, estas variables globales se habrán establecido y podrán usarse en secuencias de comandos o asignaciones posteriores:
$Salesforce.SessionID
:El ID de la sesión de Salesforce.$Salesforce.ServerURL
:La URL que se utilizará en llamadas posteriores a Salesforce en la misma sesión.
Esta función no valida la entrada; solo falla si el ID de sesión o la URL del servidor están vacíos o si el extremo de Salesforce al que se hace referencia no existe. Si el ID de sesión o la URL del servidor no son válidos, las operaciones posteriores de Salesforce fallarán.
Utilice el Eval
función para capturar errores, llamando a la GetLastError
Función para recuperar el mensaje de error.
Advertencia
Es un problema conocido que el SetSalesforceSession
La función no funciona correctamente y no se debe utilizar. Si se utiliza, el secuencia de comandos puede generar o no un error. Incluso si el secuencia de comandos no genera un error, la función no funcionará correctamente. Como la función no funciona, se utilizará el manejo de sesiones integrado del conector de Salesforce.
Ejemplos
// 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
Declaración
string SfCacheLookup(string salesforceOrg, string soql)
Sintaxis
SfCacheLookup(<salesforceOrg>, <soql>)
Parámetros necesarios
salesforceOrg
: Una ruta de referencia de cadena a una conexión de Salesforce en el proyecto actual**soql
: Una consultar escrita en lenguaje de consulta de objetos de Salesforce (SOQL)
Descripción
Inicia sesión en Salesforce (si es necesario) y recupera el resultado de la consultar desde Salesforce. Solo se devuelve el valor del primer campo del primer registro.
El extremo de Salesforce utilizado en esta llamada de función debe definirse como una conexión de Salesforce en el proyecto actual. Para obtener más información, consulte las instrucciones sobre cómo insertar extremos en Extremos sección en Jitterbit Script.
Los valores se almacenan en caché para que las llamadas posteriores con los mismos parámetros exactos ( extremo de Salesforce y SOQL) no activen una llamada a Salesforce. Salesforce se llama solo la primera vez. La caché es válida durante la cadena de operación en la que se llama.
La función retorna null
Si el inicio de sesión falla, la consultar no devuelve ningún registro o la API falla. Utilice el GetLastError
Función para recuperar el mensaje de error en ese caso.
Ejemplos
// 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
Declaración
string SfLookup(string salesforceOrg, string soql)
Sintaxis
SfLookup(<salesforceOrg>, <soql>)
Parámetros necesarios
salesforceOrg
: Una ruta de referencia de cadena a una conexión de Salesforce en el proyecto actual**soql
: Una consultar escrita en lenguaje de consulta de objetos de Salesforce (SOQL)
Descripción
Inicia sesión en Salesforce (si es necesario) y recupera el resultado de la consultar desde Salesforce. Solo se devuelve el valor del primer campo del primer registro.
El extremo de Salesforce utilizado en esta llamada de función debe definirse como una conexión de Salesforce en el proyecto actual. Para obtener más información, consulte las instrucciones sobre cómo insertar extremos en Extremos sección en Jitterbit Script.
La función devuelve null
Si el inicio de sesión falla, la consultar no devuelve ningún registro o la API falla. Utilice el GetLastError
función para recuperar el mensaje de error en ese caso.
Véase también la SFLookupAll
y SFLookupAllToFile
funciones.
Ejemplos
// 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
Declaración
array_2D SfLookupAll(string salesforceOrg, string soql)
Sintaxis
SfLookupAll(<salesforceOrg>, <soql>)
Parámetros necesarios
salesforceOrg
: Una ruta de referencia de cadena a una conexión de Salesforce en el proyecto actual**soql
: Una consultar escrita en lenguaje de consulta de objetos de Salesforce (SOQL)
Descripción
Inicia sesión en Salesforce (si es necesario) y recupera el resultado de la consultar de Salesforce. La matriz devuelta es bidimensional; una matriz de registros, donde cada registro es una matriz de campos con nombre.
El extremo de Salesforce utilizado en esta llamada de función debe definirse como una conexión de Salesforce en el proyecto actual. Para obtener más información, consulte las instrucciones sobre cómo insertar extremos en Extremos sección en Jitterbit Script.
La función devuelve null
Si el inicio de sesión falla, la consultar no devuelve ningún registro o la API falla. Utilice el GetLastError
función para recuperar el mensaje de error en ese caso.
Existen limitaciones si se utiliza una consultar de relación:
- Solo se puede recuperar la relación inmediata. La consultar no puede incluir una relación de nietos.
- Para cada registro de consultar, cada hijo no puede tener varios registros.
- En la declaración de consultar, los campos bajo el mismo hijo deben agruparse.
Véase también el SFLookup
y SFLookupAllToFile
funciones.
Ejemplos
// 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]["nombre"];
// 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]["nombre"];
lastName = rs[0]["Creado por.Apellido"];
// or using an index:
last_name = rs[0][5];
SfLookupAllToFile
Declaración
int SfLookupAllToFile(string salesforceOrg, string soql, string targetId)
Sintaxis
SfLookupAllToFile(<salesforceOrg>, <soql>, <targetId>)
Parámetros necesarios
salesforceOrg
: Una ruta de referencia de cadena a una conexión de Salesforce en el proyecto actualsoql
: Una consultar escrita en lenguaje de consulta de objetos de Salesforce (SOQL)targetID
: Una actividad de cadena asociada con un extremo de tipo archivo en el proyecto actual
Descripción
Inicia sesión en Salesforce (si es necesario) y escribe los resultados de la consultar de Salesforce en un archivo CSV. La función devuelve la cantidad de registros recuperados.
La llamada de inicio de sesión se realiza utilizando las credenciales en el extremo de Salesforce especificado. El extremo de Salesforce utilizado en esta llamada de función debe estar definido como una conexión de Salesforce en el proyecto actual.
El objetivo utilizado en esta llamada de función debe definirse como una actividad asociada con un extremo de tipo archivo en el proyecto actual. Estas incluyen actividades configuradas de almacenamiento temporal, almacenamiento local, FTP y recursos compartidos de archivos.
Para obtener más información, consulte las instrucciones sobre cómo insertar extremos en Extremos sección en Jitterbit Script.
La función devuelve null
Si el inicio de sesión falla, la consultar no devuelve ningún registro o la API falla. Utilice el GetLastError
función para recuperar el mensaje de error en ese caso.
Véase también la SFLookup
y SFLookupAll
funciones.
Ejemplos
// 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>");